IOS平台进销存软件设计说明_第1页
IOS平台进销存软件设计说明_第2页
IOS平台进销存软件设计说明_第3页
IOS平台进销存软件设计说明_第4页
IOS平台进销存软件设计说明_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IOS平台进销存软件设计说明目录TOC o 1-3 h u HYPERLINK l _RefHeading_Toc18932 摘要2 HYPERLINK l _RefHeading_Toc61 Abstract4 HYPERLINK l _RefHeading_Toc2803 1 引言5 HYPERLINK l _RefHeading_Toc28815 2 ios系统的简介与发展6 HYPERLINK l _RefHeading_Toc17201 2.1简介6 HYPERLINK l _RefHeading_Toc17109 2.2发展6 HYPERLINK l _RefHeading_Toc

2、6016 3开发环境与实现技术7 HYPERLINK l _RefHeading_Toc12332 3.1 开发环境7 HYPERLINK l _RefHeading_Toc11722 3.1.1 IPhone以与IPhone OS7 HYPERLINK l _RefHeading_Toc31481 3.1.2 Xcode与Interface Builder8 HYPERLINK l _RefHeading_Toc10883 3.1.3 Core Data10 HYPERLINK l _RefHeading_Toc23314 3.2 实现技术11 HYPERLINK l _RefHeading

3、_Toc16016 3.2.1 Objective C介绍11 HYPERLINK l _RefHeading_Toc23690 3.2.2 Web Services相关12 HYPERLINK l _RefHeading_Toc29039 4软件需求分析13 HYPERLINK l _RefHeading_Toc19894 4.1 业务流程分析13 HYPERLINK l _RefHeading_Toc29100 4.2 特性需求分析13 HYPERLINK l _RefHeading_Toc32343 4.3 数据流分析14 HYPERLINK l _RefHeading_Toc17890

4、 4.4 功能需求分析14 HYPERLINK l _RefHeading_Toc24845 5软件设计15 HYPERLINK l _RefHeading_Toc19160 5.1 软件总体结构设计15 HYPERLINK l _RefHeading_Toc27014 5.2 软件各大模块设计16 HYPERLINK l _RefHeading_Toc3965 5.2.1进货模块设计16 HYPERLINK l _RefHeading_Toc5382 5.2.2销售模块设计16 HYPERLINK l _RefHeading_Toc26063 5.2.3收支查询模块设计16 HYPERLIN

5、K l _RefHeading_Toc14390 5.2.4资金管理模块设计16 HYPERLINK l _RefHeading_Toc30706 5.2.5库存管理模块设计17 HYPERLINK l _RefHeading_Toc17497 6 软件实现18 HYPERLINK l _RefHeading_Toc27393 6.1 进货功能的实现19 HYPERLINK l _RefHeading_Toc1890 6.2 销售功能的实现21 HYPERLINK l _RefHeading_Toc9566 6.3 收支查询功能的实现23 HYPERLINK l _RefHeading_Toc

6、17791 6.4 资金管理功能的实现24 HYPERLINK l _RefHeading_Toc15500 6.5 库存管理功能的实现25 HYPERLINK l _RefHeading_Toc16392 6.6 用户管理功能的实现26 HYPERLINK l _RefHeading_Toc28378 7总结28 HYPERLINK l _RefHeading_Toc7425 致29 HYPERLINK l _RefHeading_Toc28520 参 考 文 献30摘要随着手机的普及,现实生活中人们经常提到苹果手机,看到苹果手机的广告,也有很多人拥有苹果手机,那么谁知道苹果手机呢?为什么这

7、么受欢迎,它有强大的功能吗?能不能在苹果手机上设计一个app?研究了基于IPhone的进销存软件的设计与实现。简单介绍IPhone手机的背景,介绍IPhone手机软件的开发环境、开发语言和运行环境。阐述了选择IPhone作为开发平台的原因。分析基于IPhone的PSS软件的市场需求和开发可行性,然后分析销售管理软件的需求,设计销售管理软件。探索PSS软件开发方法和技巧。本系统基于Mac OS客户端开发平台,在IPhone手机平台下运行Xcode。使用Object-C作为客户端开发语言。并使用Coredata作为数据管理的工具。阐述了PSS软件的用途和设计思想,完成了功能模块的实现。关键词:IP

8、honePSS软件;Xcodeobject-C;mac 操作系统1导言世界在发展,社会在进步。信息时代,人们对手机有了更好的理解和应用。随着科技的发展,智能手机已经成为当今手机市场的主流产品,现在大部分人都在使用智能手机。智能手机的发展势不可挡。现在常用的智能手机系统有:苹果ios智能系统、安卓智能系统、塞班智能系统、软智能手机系统、黑莓智能系统等等。毫无疑问,手机的智能化是手机的一场革命。随着互联网的发展和3G网络的成熟,3G智能手机已经成为最重要的终端载体,吸引着越来越多的消费者上网、收发电子信息、看电影、玩游戏、视频通话等。智能手机让人们的生活越来越便利,这也使得智能手机成为消费者追捧的

9、对象。2005年,苹果开发了代号为“紫色2”的iPhone。2007年11月,iPhone被时代杂志评选为“2007年最佳发明”。2008年6月9日,苹果公司在2008年全球开发者大会上发布了新一代iPhoneiPhone 3G和iPhone 2.0固件。有8GB容量(黑色)和16G容量(黑白)两种选择。2008年7月11日,全球22个国家和地区率先销售iPhone 3G。从这款手机开始,iPhone系列开始支持WCDMA标准(3GPP)。2009年6月8日,苹果在2009年全球开发者大会上公布了新一代iPhone 3GS,将于6月19日发布。2010年6月7日,苹果在2010年全球开发者大会

10、上公布了新一代iPhone 4。有16GB和32GB两种容量,有黑白两色可选。6月24日,黑色iPhone 4率先在美国、法国、德国、英国和日本上市,随后扩展至全球。然而,白色iPhone 4由于技术问题而推迟发售,但于4月28日在全球多个国家发售。2011年1月11日,威瑞森和苹果召开发布会,发布首款基于CDMA(3GPP2)标准的iPhone 4,并于2011年2月在美国发布。此手机不兼容GSM和WCDMA标准。2011年10月4日,苹果公司在美国加州库比蒂诺的总部举行了“让我们来谈谈iPhone”,并发布了iPhone 4S。2012年9月13日,苹果在美国旧金山芳草地艺术中心正式发布新

11、一代iPhone5。作为高端智能系统,苹果ios系统截至2013年3月已经占据了全球智能手机18%的市场份额,据科纳仕公司数据显示,并且还在逐渐增加。2 iOS系统的介绍和发展2.1简介苹果iOS是苹果公司开发的手持设备操作系统。苹果在2007年1月9日的Macworld大会上首次公布了这一系统。最初是为iPhone设计的,后来应用于iPod touch、iPad、Apple TV等苹果产品。IOS和苹果的Mac OS X操作系统一样,都是基于达尔文的,所以也是一个类似Unix的商业操作系统。最初,这个系统被称为iPhone OS,直到2010年6月7日的WWDC发布会宣布更名为iOS。iPh

12、one和iPad提供的用户体验令人难忘。它非常直观,即使是初学者也可以不用用户手册就能使用。这样的技术真的很少见。一个2.2发展iOS于2007年1月9日在苹果Macworld展会上首次公布,随后在同年6月发布了第一个版本的IOS操作系统。最初的名字是“iPhone运行OS X”。起初,由于没有人知道“iPhone跑OS X”的潜在价值和发展前景,没有软件公司或开发者为“iPhone跑OS X”开发或提供软件支持。因此,时任苹果公司首席执行官的史蒂夫乔布斯(Steve Jobs)说服各大软件公司与开发人员一起构建低成本的WEB APP,以便他们可以像iPhone的本地化程序一样测试“iPhon

13、e运行OS X”平台2。2007年10月17日,苹果发布了首个本地化的IPhone应用程序开发工具包(SDK),计划在2月份发给每一位开发者。2008年3月6日,苹果发布了首个beta开发包,并将“iPhone运行OS X”更名为“iPhone OS”。2008年9月,苹果将iPod touch系统改为“iPhone OS”。2010年2月27日,苹果发布iPad,同样搭载“iPhone OS”。这一年,苹果重新设计了“iPhone OS”的系统架构和自己的程序。2010年6月,苹果将“iPhone OS”更名为“iOS”,同时获得了思科iOS的名称授权。2010年第四季度,苹果iOS占全球智

14、能手机操作系统市场份额的26%。2011年10月4日,苹果宣布iOS应用数量已经超过50万。2012年2月,应用总数达到552247款,其中游戏应用95324款,占比17.26%。图书以60604本位居第二,占比10.97%;娱乐排第三,共56998,占比10.32%。3开发环境和实现技术3.1开发环境3.1.1使用IPhone OS的IPhone苹果公司首席执行官史蒂夫乔布斯在2007年1月9日举行的Macworld上发布了IPhone,并于2007年6月29日在美国上市。创新的移动和可触摸的宽屏iPod将与突破性的互联网连接,具有桌面电子、网络浏览、搜索和地图功能。 HYPERLINK .

15、/%20%20%20%20:/tele.it168%20%20%20%20/ t _blank 通信设备三大产品完美融合。IPhone引入了基于大型多点触控显示屏和领先优势的新技术。 HYPERLINK ./%20%20%20%20:/software.it168%20%20%20%20/ t _blank 软件新的用户界面允许用户用手指控制IPhone。IPhone还开创了移动设备软件前沿功能的新时代,重新定义了移动的功能。IPhone OS由两部分组成: HYPERLINK ./%20%20%20%20:/product.it168%20%20%20%20/list/b/0501_1.sh

16、tml t _blank 操作系统以及在IPhone和iPod touch设备上运行原生程序的技术。由于IPhone是为移动终端开发的,用户需要解决的问题与Mac OS X有些不同,尽管IPhone和Mac OS X在底层实现上共享一些底层技术。如果你是一名Mac开发者,你可以在IPhone OS中找到许多熟悉的技术,你也会注意到IPhone OS的独特功能,例如多点触摸界面和加速度计)4。IPhone中有很多新技术是我们需要学习的,比如多点触控技术,传感器控制技术。图2.1显示了IPhone和iPod Touch。图2.1 IPhone和iPod Touch在SDK发布之前,第三方程序无法在

17、IPhone上运行。随着SDK的发布,IPhone爱好者可以开发在IPhone上运行的应用程序。IPhone SDK包含所需的材料和工具,可用于开发、测试、运行、调试和调整IPhone OS5的程序。XcodeIDE已更新,支持IPhone OS的开发。Xcode除了提供代码的基本编辑、编译和调试环境,还提供了在IPhone或iPod touch设备上调试您的程序时的启动点功能。我不知道这是什么功能。我猜是在实际设备上设置断点,看运行日志信息。同时,Xcode还可以在IPhone模拟器中运行程序,IPhone模拟器是指在Macintosh电脑上模拟基本IPhone OS环境的平台6。模拟器学习

18、IPhone的编程流程和语言还是挺方便的。苹果证实,IPhone将执行优化的OS X操作系统(不包括不必要的组件),并占用8GB或16GB闪存。 HYPERLINK ./%20%20%20%20:/product.it168%20%20%20%20/list/b/0205_1.shtml t _blank 存700MB的空间,可以运行苹果未来构建和提供的应用。苹果并没有说明Macintosh和IPhone的操作系统(OS X)的实质性区别,但IPhone使用的处理器是ARM,与台式Macintosh使用的x86或PowerPC处理器不同,因此两者使用的OS X版本互不兼容。目前第三方应用只能通

19、过Safari在受控环境下运行,完整应用只能来自苹果。苹果倾向于提供更流畅的方式来更新IPhone操作系统,类似于Windows Update、Mac OS X和iPod,这比其他移动设备对客户更有吸引力。Xcode和界面构建器这两个程序主要用于IPhone软件的开发:Xcode和Interface Builder。在这些IDE部门中,gcc作为编译器编译代码,gdb用于调试8。Xcode是苹果自己开发的IDE,只能在Mac OS X平台上运行。如果你真的想了解Mac OS X平台上的开发,你应该了解一下。Mac OS X当然实现了POSIX,虽然它也支持传统的UNIX编程环境;Java开发工

20、具如Eclipse也有Mac OS X版本。但是,您也可以在Linux或Windows平台上体验这些。Xcode并不神秘。苹果没有自己的编译器(虽然Mac上的Gcc是苹果修改的版本)。创建项目时,Xcode仍然会生成并执行一系列Gcc和ld命令。因此,如果您有足够的UNIX经验(并且知道在哪里可以找到所需的框架),您可以在命令行上编译一个完整的Cocoa应用程序。其实Xcode提供了很多功能,让你在项目创建、设计、代码修改、编译等各个方面都能受益。你恐怕很难找到不用的理由。事实上,自从Mac OS 10.4引入通用二进制的概念后,Xcode几乎成了大多数Mac开发者的唯一选择。Xcode是免费

21、的。只要你有Mac,Xcode就包含在自带的安装盘里,升级是免费的(但是如果你用的是Mac OS 10.5之前的OS,就无法运行Xcode 3.0以上)。无论您使用C、C+、Objective-C还是 HYPERLINK ./%20%20%20%20:/tech.ddvip%20%20%20%20/program/java/index.html t _blank Java写一个程序,用AppleScript写一个脚本,或者尝试从另一个奇妙的工具中调用代码。你会发现Xcode编译速度极快。每一个操作都快捷简单。Xcode 2.0的虚拟模型和设计功能让您更容易开发和维护应用程序。只需选择应用程序中

22、你想写的部分,然后模型和设计系统会自动创建一个分类图表,不仅可以显示代码,还可以让你浏览。Mac OS X核心数据API帮助您的应用程序创建数据结构。更棒的是,它还自动提供撤销、重做和保存功能,无需编写任何代码10。Xcode的集成Apple Reference Library为所有Apple Computer开发者文件提供单一搜索和显示界面,包括Apple Computer的在线文件和储存在您电脑上的文件。新的参考数据库甚至可以帮助您将定期更新的信息下载到您的计算机上,以使您的文件保持最新。Xcode会帮你快速找到最新答案。Xcode 2.0的核心是苹果电脑的下一代行业标准gcc编译器gcc

23、 4.0。新的编译器使用许多高级优化技术来帮助您从现有代码中获得更高的性能。从超级计算世界借来的自动矢量化技术可以帮助您释放每个PowerPC G4和G5系统中速度引擎的能量,而无需编写矢量化代码。其他优化工具支持面向反馈的优化,用于带有隐藏模块的分析。借助Mac OS X Tiger中新的64位支持,Xcode将让您能够创建使用64位内存寻址的应用程序,如计算和渲染引擎。这非常适合数据集内的应用,通过访问内存中的数据运行速度更快,远胜于磁盘访问。Xcode将为您提供构建和调试适用于PowerPC G5和Mac OS X Tiger的64位应用程序的工具,还允许您创建具有32位和64位执行功能

24、的胖二进制文件。众所周知,在构建中引入多个处理器可以提高速度,Xcode可以帮助你实现这个显而易见的结论。使用支持Rendezvous的分布式构建功能,您可以轻松地将编译工作负载分配给空闲的电脑来托管构建,或者更好的是,在单独的电脑上开发专用的Xserve构建托管区域来快速处理那些耗时的任务。苹果电脑公司Mac OS X的集成开发环境Xcode是Mac OS X的一个变种 HYPERLINK ./%20%20%20%20:/down.ddvip%20%20%20%20/ t _blank 软件提供项目编辑、搜索浏览、文件编辑、项目建设、设备调试等功能。Xcode可以用来辅助开发应用程序、工具、

25、架构、数据库、嵌入式包、核心扩展和设备驱动程序。Xcode支持开发者使用C,C+,Objective C,AppleScript,Java。Xcode可以和Mac OS X中的很多其他工具合作,比如集成用户界面结构应用;gcc、javac、jikes等编译器;还有gdb等调试工具。此外,您可以使用AppleScript Studio群组将Aqua界面添加到系统和应用程序脚本、命令行工具和网络应用程序。在任何情况下,以上三者都可以组合成任何平台上最强大的脚本环境。调试全屏应用程序(比如游戏)非常具有挑战性。调试窗口应该放在哪里?有了Xcode 2.0绘图远程调试,所有强大的Xcode调试功能(如

26、数据格式程序、Fix、Continue)都可以用来调试远程机器上的应用程序。Xcode可以通过使用与远程调试阶段的加密连接来确保数据的安全性。2007年10月17日,史蒂夫乔布斯在苹果网站上发布的一封公开信中宣布了该软件开发工具包。它将于2008年2月提供给第三方开发者。该软件开发工具包于2008年3月6日发布,允许开发者为IPhone和iPod touch开发和测试应用程序,被称为“IPhone模拟器”。然而,该应用程序只有在支付IPhone开发计划的费用后才能发布。自从Xcode 3.1发布以来,Xcode已经成为IPhone软件开发工具包的开发环境11。Interface Builder

27、是一个GUI构建工具,通过它您可以创建一个窗口布局并向窗口添加各种组件。Interface Builder使程序员能够轻松地创建各种对象并编辑它们的属性。这些对象中的大多数是用户界面元素,例如按钮和文本输入框,但它们也可以是您自己的自定义对象。为了生成GUI,界面生成器不是必需的。事实上,Mac OS X下的所有用户界面元素都可以直接由代码生成;然而,界面生成器使开发人员能够简单快速地开发符合Mac OS X人机界面指南的GUI。通常,您只需要通过简单的拖放操作来构建GUI。Interface Builder使用Nib文件存储GUI资源,对Cocoa和Carbon程序都适用。需要时,可以快速加

28、载和存储Nib文件。核心数据核心数据是 HYPERLINK ./%20%20%20%20://wiki/Mac_OS_X Mac OS X中间 HYPERLINK ./%20%20%20%20://wiki/Cocoa Cocoa HYPERLINK ./%20%20%20%20://wiki/API API的一部分,第一次在 HYPERLINK ./%20%20%20%20://wiki/Mac_OS_X_v10.4 麦克OS X 10.4老虎和 HYPERLINK

29、 ./%20%20%20%20://wiki/IOS iOS3.0出现在系统中。它允许跟随 HYPERLINK ./%20%20%20%20://w/index.php%3Ftitle=实体-属性-值模型&action=edit&redlink=1 实体-属性-值模型数据的组织,以及 HYPERLINK ./%20%20%20%20://wiki/XML XML, HYPERLINK ./%20%20%20%20://wiki/二进制文件 二进制文件或者 HYPERL

30、INK ./%20%20%20%20://wiki/SQLite SQLite数据的格式将 HYPERLINK ./%20%20%20%20://wiki/序列化 串行化。Core允许用户使用代表实体和实体间关系的高级对象来操作数据。它还可以管理序列化数据并提供 HYPERLINK ./%20%20%20%20://w/index.php%3Ftitle=对象生存期&action=edit&redlink=1 对象生存期用.管理 HYPERLINK ./%20%20%20%20:/zh.wikipe

31、/w/index.php%3Ftitle=Object_graph&action=edit&redlink=1 目标图管理,包括存储。核心数据直接关系到 HYPERLINK ./%20%20%20%20://wiki/SQLite SQLite互动,以防止开发者使用原来的 HYPERLINK ./%20%20%20%20://wiki/SQL SQL声明。正如 HYPERLINK ./%20%20%20%20://w/index.php%3Ftitle=Cocoa绑定&action=e

32、dit&redlink=1 Cocoa绑定在 HYPERLINK ./%20%20%20%20://wiki/模型-视图-控制器 模型-视图-控制器和设计中的很多控制器一样,Core Data做了大量的数据建模工作。它的主要任务是管理数据更改,将它们序列化到磁盘,最小化内存占用,以及查询数据。Core使用包含实体和实体间关系的高层数据模型,用与请求相同的内容描述数据,找到满足一定条件的实体。开发者可以在纯对象层面上搜索和管理这些数据,不用担心存储和搜索的实现细节。 HYPERLINK ./%20%20%20%20://wiki/I

33、nterface_Builder 界面生成器中的控制器对象可以直接获取和管理实体。如果与Cocoa绑定结合使用,用户界面可以显示、修改和管理数据模型中的大部分内容,而无需编写自定义代码。Core可以将数据核心化为XML、二进制文件或SQLite文件。在 HYPERLINK ./%20%20%20%20://wiki/Mac_OS_X_v10.5 麦克OS X 10.5豹式在和更高版本中,开发人员还可以通过继承NSPersistentStore类来创建自定义存储格式。每种方法都有其优缺点,比如XML的可读性和SQLite的空间节省。核心数据的这一方面与原始数据相似

34、 HYPERLINK ./%20%20%20%20://w/index.php%3Ftitle=Enterprise_Objects_Framework&action=edit&redlink=1 企业对象框架(EOF)系统,但EOF中的开发者可以使用相对简洁的查询方法,而在核心数据中,只能使用一种语法类似于SQL子集的查询语言,称为 HYPERLINK ./%20%20%20%20://w/index.php%3Ftitle=Predicate&action=edit&redlink=1 Predicate。核心数据是标准化的,

35、可以读写Xcode数据模型文件(通常。xcdatamodel文件)。与EOF不同,Core Data目前没有设计多用户或多线程的访问模式。模型迁移通常需要代码。如果其他开发人员依赖于某个数据模型,那么当模型发生变化时,数据模型的设计者可能需要为新的数据模型提供版本转换代码。3.2实施技术目标C的介绍目标-C 2.0是Mac OS X和iPhone的标准编程语言。主要原因是MacOS X技术源于NextStep的OPENSTEP操作系统。因为OpenStep的软件框架是用Objective-C写的,所以在Mac OS X上开发最好的语言自然是Objective-CObject-C是Brad Co

36、x在20世纪80年代初在第一个纯面向对象语言Smalltalk的基础上编写的。后来他创办了StepStone公司推广Objective-C,1988年,乔布斯的NextStep采用Objective-C作为开发语言。1992年,GNU gcc编译器包含了对Objective-C (gnu-objc运行时)的支持,Dennis Glating编写了第一个运行时。理查德斯托尔曼的第二部,也是最近的一部,是克里斯滕克拉布托鲁普在丹麦读大学时写的,他后来在NextStep工作。目前,Objective-C是Mac OS X的首要开发语言,也是GNUstep在Linux等平台上的开发语言。Objecti

37、ve-C是ANSI C的超集,对C语言进行了扩展,使其具备了类、消息、继承等面向对象设计的能力。目标-C程序可以利用现有的C语言代码,利用现有的软件架构。这也是为什么Objective-C成为流行多年的用户界面开发语言,至今仍未消亡的原因,因为它一方面可以实现底层系统编程,另一方面可以用动态架构支持开发。Objective-C和C+的比较(1)单一继承:Objective-C不支持多重继承(与Java和Smalltalk相同),而C+语言支持多重继承。(2)动态性:Objective-C是动态类型的,所以它的类库比C+更容易操作。Objective-C可以在运行时根据字符串名称访问方法和类,并

38、且可以动态连接和添加类14。C+在面向对象编程方面沿袭了Simula 67(早期OO语言)学派,而Objecive-C则属于Smalltalk学派。在C+中,一个对象的静态类型决定了你是否可以向它发送消息,而对于Objecive-C,则是由动态类型决定的。Simula 67 school更安全,因为大多数错误都可以在编译时检测出来。Smalltalk学校比较灵活,比如有些Smalltalk看似正确的程序到了Simualr 67就通不过了。3.2.2网络服务相关Web服务是由企业发布的在线应用服务,以满足其特定的业务需求。其他公司或应用软件可以通过互联网访问和使用这项在线服务。它是构建应用程序的

39、通用模型,可以在任何支持网络通信的操作系统中实现。它是web应用的一个新分支,是一个自包含、自描述、模块化的应用,可以通过web发布、定位和调用。Web服务是一个应用程序组件,它在逻辑上为其他应用程序提供数据和服务。每个应用程序通过网络协议和一些指定的标准数据格式(、XML、Soap)访问Web服务,并通过Web服务部门的执行得到所需的结果。Web服务可以执行从简单请求到复杂业务处理的任何功能。一旦被部署,其他Web服务应用可以发现并调用其部署的服务15。4软件需求分析4.1业务流程分析在软件需求分析中,当我们想要分析表面的组织结构和功能时,我们需要将系统调查中的业务流程信息组织在一起,以便从

40、实际业务流程的角度进行进一步的流程分析。业务流程分析可以帮助我们更好地了解这项业务的具体流程,发现和处理进销存软件中的错误和遗漏,修改和完善进销存软件中不合理的部分,优化业务流程。通过对进销存软件的需求分析,确定了进销存软件各模块的业务流程。整个软件各模块的业务流程如图4-1所示。图4-1系统业务流程图4.2特性需求分析这个软件基于IOS系统,客户端运行在IPhone上,开发必须基于Mac OS下的Xcode开发环境。4.3数据流分析用户进入系统,进入功能列表界面。可用的功能模块包括采购模块、销售模块、收支查询模块、资金管理模块、库存管理模块和用户管理模块。选择要进入的具体功能模块。进入每个模

41、块后,从数据库中取出相应的数据,显示在界面上。编辑数据时,将新数据写入数据库中相应的数据。4.4功能需求分析在这个过程中,业务员需要掌握商品的销售情况、库存状况、资金动态、产品明细等等。开票软件的系统要求如下:(1)采购:管理采购相关信息。(2)销售:管理销售相关信息。(3)收支查询:管理收支。(4)资金管理:管理资金流向。(5)库存管理:管理库存信息。(6)用户管理:管理用户信息。5软件设计软件设计是软件开发中的一个重要阶段。在这一阶段,要根据前一阶段软件分析的结果,在已经获得的需求分析的基础上进行系统设计。软件设计包括两个方面,第一是总体结构的设计,第二是具体物理模型的设计。软件设计的主要

42、目的是为下一阶段的系统实施(如编程、调试、试运行等)制定蓝图。).软件设计阶段的主要任务是权衡各种技术和实现方式的优缺点,精心设计和合理利用各种资源,最终拟定出新系统的详细设计方案。这一阶段的主要任务是设计进销存软件的程序结构,确定程序组件以及它们之间的关系。5.1软件总体结构设计客户可以通过IPhone上的客户端访问该软件,他们可以选择相应的六个功能。在选择了特定的功能后,他们可以从数据库中提取相应的数据并显示在他们的界面上。用户可以查询所需的信息,或者对其进行相应的操作。编辑数据后,新数据将保存在数据库中。用户点击主页按钮退出系统。图5.1图5.1系统主要功能图采购模块:采购和查询采购记录

43、。销售模块:销售和查询销售记录。收支模块:查询收支明细。资金管理模块:查询资金流向。库存管理模块:查询产品的库存,以信任产品信息。用户管理模块:查询用户信息并进行修改。5.2软件模块设计如图所示,该系统主要实现以下功能,如图5.2所示:图5.2系统功能模块图5.2.1采购模块设计当用户进入购买功能模块,如果是新品,可以添加新品。如果产品存在,可以直接选择购买,或者手动输入要购买的产品名称。同时还可以查询所有商品的购买记录。5.2.2销售模块的设计当用户进入销售功能模块时,可以直接在库存中选择商品,然后输入待售数量,或者手工输入待售商品名称。同时,还可以查询所有库存商品的销售记录。5.2.3收支

44、查询模块的设计用户进入收支查询功能模块,可以看到当天的收支情况,并可以查询其明细,收支来自哪里。此外,还可以点击查询日期选择想要了解的日期来查询当天的具体情况。5.2.4资金管理模块设计当用户进入资金管理功能模块时,可以看到当前的资金总额。钱不够的时候可以往里面放钱,钱够了也可以取出来。此外,还可以查询投资或提取的详细情况。5.2.5库存管理模块设计当用户进入库存管理功能模块时,它是一个列表。清单会列出当前的库存,下面会写商品的进价、卖价、数量等信息。您也可以点击编辑按钮来修改商品的属性。5.2.6用户管理模块设计当用户进入库存管理功能模块时,可以看到当前账户信息并修改其信息。此外,您可以退出

45、当前帐户。6软件实施在实际的系统开发中有很多开发方法,比如结构化方法、原型方法、面向对象方法等等。结构化方法也可称为面向功能的软件开发方法或面向数据流的软件开发方法。首先用结构化分析(SA)进行软件需求分析,然后用结构化设计(SD)进行总体设计,最后用结构化编程(SP)进行程序设计。原型法一般由以下四个阶段组成:(1)确定用户需求,(2)开发原模型,(3)征求用户对原模型的改进意见,(4)修改原型。原型法更适合用户需求不明确、业务理论不确定、需求变化频繁的情况。当系统规模不是很大或很复杂时,最好采用这种方法。面向对象方法是计算机行业最流行的方法,包括面向对象分析(00A)、面向对象设计(OOD

46、)和面向对象编程(OOP)。该方法基于对象建模,结合了自底向上和自顶向下的方法。面向对象技术在需求分析、可靠性和可维护性这些软件开发的关键环节和质量指标上取得了实质性的突破,基本解决了这些方面存在的严重问题。用面向对象的语言编写程序更贴近现实世界,符合人类的思维习惯,从而使应用程序更具可读性、可维护性和可扩展性。客户在IPhone中打开客户端软件后,进入客户端软件的主界面,即如图6.1所示的登录界面。图6.1用户登录界面成功登录后,您将进入主界面,当前资金总额将显示在顶部。中间有六个按钮,即六个功能模块,如图6.2所示。图6.2主界面6.1购买功能的实现点击主界面中的购买按钮后,用户进入购买界

47、面。如果购买的商品不存在,可以选择添加新的商品,如图6.3所示。如果商品存在,可以如图6.4所示直接选择。点击一个产品后,可以进入如图6.5所示的另一个界面。输入数量,点击确定购买,也可以查询记录,如图6.6所示。图6.3添加新商品图6.4选择进货图6.5进货图6.6采购记录6.2销售功能的实现用户点击主界面中的销售按钮,进入销售界面,如图6.7所示。点击一个产品后,他进入另一个界面,如图6.8所示。输入数量,点击确定出售。此外,他还可以查询记录,如图6.9所示。图6.7选择待售商品图6.8销售商品图6.9销售记录6.3收支查询功能的实现用户点击主界面中的收支查询按钮,进入收支查询界面,如图6

48、.10所示。点击收入或支出后面的明细,查询其详细信息输入6.11,点击中间的选择日期按钮,弹出选择框,选择要查询的日期,如图6.12所示。图6.10收入和支出查询图6.11收入明细图6.12选择日期6.4资金管理功能的实现点击主界面中的资金管理按钮,进入资金管理界面,如图6.13所示。点击右上方的明细按钮,查询投资和提取明细,如图6.14所示。图6.13资金管理图6.14投资详情6.5库存管理功能的实现点击主界面中的库存管理按钮,进入如图6.15所示的库存管理界面,在列表中可以看到当前的库存。点击商品,进入编辑商品属性,如图6.16所示。图6.15库存列表图6.16修改商品属性6.6用户管理功

49、能的实现用户点击主界面中的用户管理按钮,进入用户管理界面,如图6.17所示,显示当前账户。单击更改密码按钮更改密码,如图6.18所示。图6.17用户管理图6.18更改密码7摘要该软件采用面向对象的开发方法,以X-code为开发工具,MVC组件模式,Object-C语言,CoreData为数据库。这款软件采用了较新的开发平台和开发语言,用简单的盈利模式构建了九宫格模式的框架。该软件简单易用,但也有一些缺点。因为还没有拿到苹果开发者账号,无法调试真机,只能在模拟器上运行,导致扫描功能不完善。很大的遗憾,以后申请苹果账号后一定要改进上传到Apple Store。该软件也迎合了当前手机智能化、网络化的

50、趋势,为智能手机的发展提供了新的设计思路。随着3G技术、云计算等技术的进一步完善,基于智能手机的开发具有广阔的发展前景。派遣考证1卡洛钟。Objective-C编程。:人民邮电,2011年11月2 Kochan,S.G. Objective-C2.0编程。:机械工业,2009年9月3加里贝内特。目标C初学者指南。:人有点,2012年10月4达沃马克。iPhone开发基础教程。:人民邮电,2009年4月琼斯雷。iPhone开发经典介绍。:人民邮电,2011年11月6亚当普雷布尔。苹果开发的可可编程。:机械工业,2012年8月7丹皮隆。iPhone开发简单来说。:东南大学,2010年6月八斤傅生。

51、iOS应用程序开发方法与实践。:人有一点,2012年7月9达瓦马克。iOS 5基础教程。:人民邮电,2012年9月0beklin。iPhone和iPad的高级编程。:清华大学,2012年1月1鸿雁。企业级iOS的实际应用开发。:机械工业,2013年2月1琼斯雷。iOS应用程序开发经典介绍。:人民邮电,2012年7月13格雷厄姆李。测试驱动的iOS开发。:机械工业,2012年11月4makzan.html5实用游戏开发。:机械工业,2012年7月1Harrington,J. iOS 4实战:iphone和ipad应用开发。:人民邮电,2012年4月附录:实现UIViewController(ui

52、viewcontrollerdirectextensions)-(void)redirect module:(ns string *)mAcModulesharedModulesetModule:m;uiview controller * view controller;if (m isEqualToString:main)view controller =MainViewControllerallocinitWithNibName: mainview controller bundle:nil;否则ns string * storyboardName =m stringByAppending

53、String: story board ;UIStoryboard * sb =UIStoryboardstoryboardWithName:storyboardName bundle:nil;view controller =sb instantiateInitialViewController;UIApplicationsharedApplicationdelegatewindowsetRootViewController:view controller;-(无效)重定向返回self redirect module:AcModulesharedModuleprevious module;+

54、 (AcModule *)sharedModule如果(!共享模块)shared module =superallowithzone:NULLinit;returnsharedModule+(id)allocWithZone:(ns zone *)zonereturnselfsharedModule;- (id)初始化if (sharedModule) returnsharedModuleself =superinit;如果(自己)returnself- (id)保留returnself-(无效)释放- (NSUInteger)保留帐户returnNSUIntegerMax-(void)set

55、Module:(NSString*)模块previousModulerelease;模块保留;previousModule = currentModulecurrentModule =模块;-(NSString*)前一个模块returnpreviousModule-(NSString*)当前模块returncurrentModule- (void)viewDidLoadsuperviewDidLoad;/从nib加载视图后,进行任何附加设置。ui image * title image =UIImageimageNamed: title . png ;self . mainbarsetback

56、groundimage:title image for barmetrics:UIBarMetricsDefault;app delegate * delegate =(app delegate *)UIApplicationsharedApplicationdelegate;self . managedObjectContext =delegate managedObjectContext;-(void) viewWillAppear:(BOOL)动画NSFetchRequest * request =nsfetchhrequestallocinit;NSEntityDescription

57、* entity =NSEntityDescription entityforname: Money in managedObjectContext:managedObjectContext;请求setEntity:entity;/对结果进行排序NSSortDescriptor * sortDescriptor =NSSortDescriptorallocinitWithKey: creation date ascending:NO;NSArray * sort descriptor =NSArrayallocinitWithObjects:sort descriptor,nil;reques

58、t set sort descriptor:sort descriptor;/执行请求NSError *错误;NSMutableArray * mutable fetchresults =managedObjectContextexecuteFetchRequest:请求错误:& errormutable copy;if (mutableFetchResults = nil) NSLog(获取结果% 时出错,错误描述);selfsetArrMoney:mutableFetchResults;float addMoney = 0,plus money = 0;for(int I = arr mo

59、ney . count-1;I = 0;我-)self . money =arrMoneyobjectAtIndex:I;add money+=self . money . incomefloatvalue;plus money+=self . money . payfloatvalue;label almoney . text =NSStringstringWithFormat: % . 2f ,self . money . allmoneyfloatvalue;label pay . text =NSStringstringWithFormat: % . 2f ,plus money;la

60、be learning . text =NSStringstringWithFormat: % . 2f ,addMoney;- (void)viewDidLoadsuperviewDidLoad;app delegate * delegate =(app delegate *)UIApplicationsharedApplicationdelegate;self . managedObjectContext =delegate managedObjectContext;self . navigation item . rightbarbuttonitem = self . editbutto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论