




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要2Abstract4矚慫润厲钐瘗睞枥庑赖。1 引言5聞創沟燴鐺險爱氇谴净。2 ios系统的简介与发展6残骛楼諍锩瀨濟溆塹籟。2.1简介6酽锕极額閉镇桧猪訣锥。2.2发展6彈贸摄尔霁毙攬砖卤庑。3开发环境与实现技术7謀荞抟箧飆鐸怼类蒋薔。3.1 开发环境7厦礴恳蹒骈時盡继價骚。3.1.1 IPhone以及IPhone OS7茕桢广鳓鯡选块网羈泪。3.1.2 Xcode与Interface Builder8鹅娅尽損鹌惨歷茏鴛賴。3.1.3 Core Data10籟丛妈羥为贍偾蛏练淨。3.2 实现技术11預頌圣鉉儐歲龈讶骅籴。3.2.1 Objective C介绍11渗釤呛俨匀谔鱉调硯錦。3.2.2 Web Services相关12铙誅卧泻噦圣骋贶頂廡。4软件需求分析13擁締凤袜备訊顎轮烂蔷。4.1 业务流程分析13贓熱俣阃歲匱阊邺镓騷。4.2 特性需求分析13坛摶乡囂忏蒌鍥铃氈淚。4.3 数据流分析14蜡變黲癟報伥铉锚鈰赘。4.4 功能需求分析14買鲷鴯譖昙膚遙闫撷凄。5软件设计15綾镝鯛駕櫬鹕踪韦辚糴。5.1 软件总体结构设计15驅踬髏彦浃绥譎饴憂锦。5.2 软件各大模块设计16猫虿驢绘燈鮒诛髅貺庑。5.2.1进货模块设计16锹籁饗迳琐筆襖鸥娅薔。5.2.2销售模块设计16構氽頑黉碩饨荠龈话骛。5.2.3收支查询模块设计16輒峄陽檉簖疖網儂號泶。5.2.4资金管理模块设计16尧侧閆繭絳闕绚勵蜆贅。5.2.5库存管理模块设计17识饒鎂錕缢灩筧嚌俨淒。6 软件实现18凍鈹鋨劳臘锴痫婦胫籴。6.1 进货功能的实现19恥諤銪灭萦欢煬鞏鹜錦。6.2 销售功能的实现21鯊腎鑰诎褳鉀沩懼統庫。6.3 收支查询功能的实现23硕癘鄴颃诌攆檸攜驤蔹。6.4 资金管理功能的实现24阌擻輳嬪諫迁择楨秘騖。6.5 库存管理功能的实现25氬嚕躑竄贸恳彈瀘颔澩。6.6 用户管理功能的实现26釷鹆資贏車贖孙滅獅赘。7总结28怂阐譜鯪迳導嘯畫長凉。致谢29谚辞調担鈧谄动禪泻類。参 考 文 献30嘰觐詿缧铴嗫偽純铪锩。摘要随着手机的普及,在生活中人们经常提到苹果手机,看到苹果手机的广告,也有很多人拿着苹果手机,那么谁知道苹果手机为什么这么受迎呢,它有什么强大的功能呢,我们能不能在苹果手机上设计一个软件呢?熒绐譏钲鏌觶鷹緇機库。本文基于IOS平台进销存的设计与实现进行了研究。简单介绍了IPhone手机背景以及IPhone手机软件开发环境、开发语言和运行环境,阐述了选择IPhone作为开发平台的原因,分析了基于IOS平台的进销存软件的市场需求以及开发的可行性,然后对进销存软件进行需求分析和系统设计,探讨了进销存软件的开发方法和实现技术。鶼渍螻偉阅劍鲰腎邏蘞。本软件客户端开发基于Mac OS下的Xcode平台,运行于IPhone手机平台,使用Object-C作为客户端的开发语言,Coredata作为数据管理工具。本文详细阐述了经销存软件开发的目的、设计思想,完成了对该系统各功能模块的实现。纣忧蔣氳頑莶驅藥悯骛。关键词:IPhone;进销存软件;Xcode;Object-C;Mac OSAbstractWith the popularity of cell phone, in real life people often mention apple mobile phone, see apple mobile advertising, also have a lot of people with a apple mobile phone, so who knows apple mobile phone? Why so popular, it has the function of the powerful? Can we design a app on an apple mobile phone?颖刍莖蛺饽亿顿裊赔泷。Design and implementation of PSS(Purchase,sales and store) software based on the IPhone was studied in the paper.Introduce background of IPhone mobile phones simplely,introduce development environment ,development language and the operation environment of IPhone mobile phone software. Expounds the resaon why choose IPhone as development platform. Analysis the market requirement and development feasibility of PSS software based on the IPhone,then analysis demand of sales management software and design sales management software. Explore the PSS software development methods and techniques. 濫驂膽閉驟羥闈詔寢賻。This system based on the Mac OS client development platform, operation Xcode under the IPhone in mobile platform. Use Object-C as a client development of language. And use Coredata as a tool for data management. The paper expounds purpose and design thought of PSS software, complete the implementation of the functional modules.銚銻縵哜鳗鸿锓謎諏涼。Keywords: IPhone; PSS Software; Xcode; Object-C; Mac OS挤貼綬电麥结鈺贖哓类。1 引言 世界在发展,社会在进步,在信息化时代的今天,人们对于手机有了进一步的了解与应用。随着科技的发展,智能手机已经成为了今天手机市场的主流产品,现在大部分的人都在用智能手机。智能手机的发展势不可挡。赔荊紳谘侖驟辽輩袜錈。现在常用的智能手机系统有:苹果ios智能系统、安卓智能系统、塞班智能系统、软智能手机系统、黑莓智能系统等等。塤礙籟馐决穩賽釙冊庫。 毫无疑问,手机的智能化是手机的一场革命。互联网应用的发展和3G网络的成熟,3G智能手机成为最重要的终端载体,吸引了越来越多消费者利用智能手机网上冲浪、收发电子邮件、看电影、打游戏、视频对话等。智能手机让人们的生活变得越来越便捷,这就使得智能手机成为了消费者追捧的对象。裊樣祕廬廂颤谚鍘羋蔺。 2005年,苹果公司以“Purple 2”为代号开发iPhone。 2007年11月,iPhone获时代杂志选为“2007年度最佳发明”。 2008年6月9日,苹果于全球开发者大会2008(Worldwide Developer Conference 2008)上发表新一代的iPhone iPhone 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上发表新一代的iPhone 4,有16GB以及32GB两种容量,并有黑白两色可以选择。6月24日,黑色iPhone 4 在美国、法国、德国、英国、日*本五个国家率先上市,随后扩展至全球。而白色iPhone 4 由于工艺问题迟迟未能上市,但至4/28已经开始贩售于全球多国。骁顾燁鶚巯瀆蕪領鲡赙。2011年1月11日,Verizon联合苹果举行发布会,发表了第一款基于CDMA(3GPP2)标准的iPhone 4,2011年2月在美国发售。该款手机不兼容GSM与WCDMA标准。瑣钋濺暧惲锟缟馭篩凉。2011年10月4日,苹果公司在美国加州古柏迪诺的总部举办“Lets talk iPhone”,发表iPhone 4S。鎦诗涇艳损楼紲鯗餳類。 2012年9月13日,苹果公司在美国旧金山芳草地艺术中心正式发布新一代产品iPhone5。 苹果ios系统作为高端机的智能系统截止至2013年3月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的18%,并在逐渐的增加。栉缏歐锄棗鈕种鵑瑶锬。2 ios系统的简介与发展2.1简介 苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。iPhone和iPad提供的用户体验令人难忘,它非常直观,即使是新手,在没有用户手册的情况下也能够使用,这样的技术实在罕见。1辔烨棟剛殓攬瑤丽阄应。2.2发展iOS最早于2007年1月9日的苹果Macworld展览会上公布,随后于同年的6月发布的第一版iOS操作系统,当初的名称为“iPhone runs OS X”。峴扬斕滾澗辐滠兴渙藺。最初,由于没有人了解“iPhone runs OS X”的潜在价值和发展前景,导致没有一家软件公司、没有一个软件开发者给“iPhone runs OS X”开发软件或者提供软件支持。于是,苹果公司时任CEO斯蒂夫.乔布斯说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(WEB APP)来使得它们能像iPhone的本地化程序一样来测试“iPhone runs OS X”平台2。2007年10月17日,苹果公司发布了第一个本地化IPhone应用程序开发包(SDK),并且计划在2月发送到每个开发者以及开发商手中。 詩叁撻訥烬忧毀厉鋨骜。2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为”iPhone OS“。2008年9月,苹果公司将iPod touch的系统也换成了”iPhone OS“。2010年2月27日,苹果公司发布iPad,iPad同样搭载了”iPhone OS”。这年,苹果公司重新设计了“iPhone OS”的系统结构和自带程序。2010年6月,苹果公司将“iPhone OS”改名为“iOS”,同时还获得了思科iOS的名称授权。 则鯤愜韋瘓賈晖园栋泷。2010年第四季度,苹果公司的iOS占据了全球智能手机操作系统26%的市场份额。 2011年10月4日,苹果公司宣布iOS平台的应用程序已经突破50万个。2012年2月,应用总量达到552,247个,其中游戏应用最多,达到95,324个,比重为17.26%;书籍类以60,604个排在第二,比重为10.97%;娱乐应用排在第三,总量为56,998个,比重为10.32%。胀鏝彈奥秘孫戶孪钇賻。3开发环境与实现技术3.1 开发环境3.1.1 IPhone以及IPhone OSIPhone由苹果公司(Apple, Inc.)首席执行官史蒂夫乔布斯在2007年1月9日举行的Macworld宣布推出,2007年6月29日在美国上市,将创新的移动电话、可触摸宽 屏iPod以及具有桌面级电子邮件、网页浏览、搜索和地图功能的突破性因特网通信设备这三种产品完美地 融为一体。IPhone引入了基于大型多触点显示屏和领先性新软件的全新用户界面,让用 户用手指即可控制IPhone。IPhone还开创了移动设备软件尖端功能的新纪元,重新定义了移动电话的功能。鳃躋峽祷紉诵帮废掃減。IPhone OS由两部分组成:操作系统和能在 IPhone和iPod touch设备上运行原生程序的技术3。由于IPhone是为移动终端而开发,所以要解决的用户需求就与Mac OS X有些不同,尽管在底层的实现上IPhone与Mac OS X共享了一些底层技术。如果你是一名Mac开发人员,你可以在IPhone OS发现很多熟悉的技术,同时也会注意到IPhone OS的独有之处,比如多触点接口(Multi-Touch interface)和加速器(accelerometer)4 。IPhone手机中有很多新鲜的技术是需要我们学习的,比如多触点技术以及控制感应器的技术。如图2.1为IPhone和iPod Touch。稟虛嬪赈维哜妝扩踴粜。图2.1 IPhone和iPod Touch在SDK发布之前,第三方的程序是不能在IPhone上运行的。随着SDK的发布,IPhone的爱好者便可以开发 在 IPhone上运行的应用程序了。IPhone SDK包含了所需的资料和工具,使用这些工具可以开发、测试、运行、调试和调优程序以适合IPhone OS5。XcodeIDE已经更新到支持IPhone OS的开发。除了提供代码的基本编辑、编译和调试环境,当在IPhone或者iPod touch设备上调试你的程序, Xcode还提供了运行点(launching point)功能。不知道这是怎样一个功能,估计就是在实际设备上设置断点,并可以看到运行的log信息。同时,Xcode还可以在IPhone模拟器中 运行程序,模拟器就是指在Macintosh电脑上模拟基本的IPhone OS环境的平台6。模拟器对于学习IPhone的编 程流程和语言是相当方便的。陽簍埡鲑罷規呜旧岿錟。苹果公司证实 IPhone 会执行(除去不需要元件的)最佳化 OS X操作系统,并占用 8GB 或 16GB flash 内存中的 700MB 空间,可以执行内建及未来由苹果提供的应用程式。苹果并未说明麦金塔和IPhone两者的操作系统(OS X)间的实质差异,惟 IPhone 使用的处理器是 ARM,与桌上型麦金塔使用的 x86 或 PowerPC 处理器不同,所以两者使用的 OS X 版本也不相容7。第三方应用程式目前仅能透过 Safari 在控制环境中执行,完整应用程式目前仅能来自苹果。苹果公司对于更新IPhone操作系统倾向提供一种更为流畅、类似于 Windows Update, Mac OS X 和 iPod 的更新方式,和其他移动电话比较起来有更吸引顾客的优势。沩氣嘮戇苌鑿鑿槠谔應。3.1.2 Xcode与Interface Builder在IPhone手机软件的开发过程中主要使用这两个程序:Xcode 和 Interface Builder。而在这些IDE内部,gcc 作为编译器来编译代码,gdb来调试8。钡嵐縣緱虜荣产涛團蔺。Xcode是Apple自己开发的,只运行在Mac OS X平台下的IDE。如果你想真正了解Mac OS X平台上的开发,就应该了解它。当然,Mac OS X实现了POSIX,固然也支持传统的UNIX编程环境;Eclipse等Java开发工具也有Mac OS X版。不过这些,你在Linux或者Windows平台也能体验到。Xcode也并不神秘,Apple并没有自己特有的编译器(尽管Mac上的Gcc是经 苹果修改过的版本),创建项目的时候,Xcode还是会生成并执行一条条的Gcc和ld的命令。所以如果你有足够的UNIX经验(并且知道到哪里找需要用 的Framework),完全可以在命令行编译一个完整的Cocoa应用程序。 懨俠劑鈍触乐鹇烬觶騮。其实Xcode提供了很多功能,使你无论在创建项目、设计、修改代码还是编译等各个环节都能收益,恐怕你很 难找到一个不使用它的理由。事实上,自从Mac OS 10.4引入了Universal Binary的概念以后,Xcode几乎成为了大多数Mac开发者的唯一选择9。Xcode是免费的,只要你有一台Mac,随机带的安装盘里就 有Xcode,升级是免费的(不过如果使用的是Mac OS 10.5以前版本的OS,你将不能运行Xcode 3.0或以上的版本)。 謾饱兗争詣繚鮐癞别瀘。不管你用 C、C+、 Objective-C 或 Java 编写程序,在 AppleScript 里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。呙铉們欤谦鸪饺竞荡赚。Xcode 2.0 的虚拟模型和设计功能让你可以更轻松的开发和维护应用程序。只需选择应用程序中想要编写的部分,然后模型和设计系统将自动创建分类图表,不仅可以显示编码,还可以让你进行浏览。Mac OS X Core Data API 帮你的应用程序创建数据结构。更棒的是,它还自动提供撤消、重做和保存功能,无需编写任何编码10。莹谐龌蕲賞组靄绉嚴减。Xcode 整合的 Apple Reference Library 为所有的苹果电脑公司开发者文件提供一个单独的搜索和显示界面,这些文件包括来自苹果电脑公司网站的在线文件,以及存放在你电脑上的文件。新的参考资料库 甚至可以帮你将定期更新资料下载到你的电脑,保持文件的最新状态。Xcode 将帮你快速找到最新的答案。麸肃鹏镟轿騍镣缚縟糶。Xcode 2.0 的核心部分是苹果电脑公司下一代业界标准的 gcc 编译器 gcc 4.0。新的编译器利用许多先进的最优化技术帮你从现存编码中获得更多性能。从超级计算世界借鉴来的自动向量化(Auto-vectorization) 技术可以帮助你释放每台 PowerPC G4 和 G5 系统中速度引擎的能量,而不需要编写向量化编码。其他的最优化工具则支持反馈定向的最优化,以及隐藏模块分析。納畴鳗吶鄖禎銣腻鰲锬。借助 Mac OS X Tiger 中的新64位支持,Xcode 将赋予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序使用64位内存定址。这非常适合数据集中的应用程序,其通过访问内存中的数据运行速度更快, 远胜于磁盘访问。Xcode 将为你提供工具来建立并调试适合 PowerPC G5 和 Mac OS X Tiger 的64位应用程序,还可以让你创建包含32位和64位执行能力的 Fat Binaries。風撵鲔貓铁频钙蓟纠庙。众所周知, 在构建中引进多重处理器可以提高速度,Xcode 能帮你实现这个明显的结论。利用支持 Rendezvous 的分布式构建功能,可以轻易地把编译工作量分散到闲置的电脑上来寄放构建,或者更好是在单独的电脑上开发一个专门的 Xserve 构建寄放区,快速处理那些耗时的任务。灭嗳骇諗鋅猎輛觏馊藹。苹果电脑公司的 Mac OS X 综合开发环境 Xcode 为各种类型的 Mac OS X 软件项目提供项目编辑、搜索和浏览,文件编辑, 项目构建和调试设备等功能。铹鸝饷飾镡閌赀诨癱骝。Xcode 可用来辅助开发应用程序、工具、架构、数据库、嵌入包、核心扩展和设备驱动程序。Xcode 支持开发人员使用 C、 C+、Objective C、 AppleScript 和 Java。攙閿频嵘陣澇諗谴隴泸。Xcode 能够和 Mac OS X 里众多其它的工具协作,例如综合用户界面结构应用程序;编译器如 gcc、 javac 和 jikes;还有调试工具如 gdb。趕輾雏纨颗锊讨跃满賺。另外,你可以用 AppleScript Studio 组增加一个 Aqua 界面到系统和应用程序脚本、命令行工具、以及网络应用程序中。以上三者无论如何都能在任何平台组合成最强大的脚本环境。夹覡闾辁駁档驀迁锬減。调试全屏幕应用程序(比如游戏)具有很大的挑战性。将调试窗口放在什么位置呢?有了 Xcode 2.0 的绘图远程调试,所有强大的 Xcode 调试功能(例如数据格式程序、Fix、Continue)都可以在远程机器上用来调试应用程序。利用与远程调试阶段的加密连接,Xcode 可以保证你的数据安全。视絀镘鸸鲚鐘脑钧欖粝。2007年10月17日,史提夫贾伯斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工 具包于2008年3月6日发布,并允许开发人员开发IPhone和iPod touch的应用程序,并对其进行测试,名为“ IPhone手机模拟器” 。然而,只有在付出了IPhone手机开发计划的费用后,应用程序才能发布。自从Xcode 3.1 发布以后, Xcode就成为了IPhone软件开发工具包的开发环境11。偽澀锟攢鴛擋緬铹鈞錠。Interface Builder是一个GUI构建工具,通过它你可以创建窗口布局并且把各个 组件添加到窗口中,Interface Builder使程序员能方便的创建各种对象并编辑它们的属性,这些对象多数是用户界面元件,比如按钮和文本输入框,但是也可以是你自定义的对象。緦徑铫膾龋轿级镗挢廟。为了生成GUI,Interface Builder并不是必需的,实际上Mac OS X下所有的用户界面元素都可以使用代码直接生成;但Interface Builder能够使开发者简单快捷的开发出符合Mac OS X human-interface guidelines的GUI。通常你只需要通过简单的拖拽(drag-n-drop)操作来构建GUI就可以了。 騅憑钶銘侥张礫阵轸蔼。Interface Builder使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序。在需要的时候,Nib文件可 以被快速地载入内存。 疠骐錾农剎貯狱颢幗騮。3.1.3 Core DataCore Data是Mac OS X中CocoaAPI的一部分,首次在Mac OS X 10.4Tiger与iOS3.0系统中出现。它允许按照实体-属性-值模型组织数据,并以XML,二进制文件或SQLite数据文件的格式将其串行化。Core Data允许用户使用代表实体和实体间关系的高层对象来操作数据。它也可以管理串行化的数据,提供对象生存期管理与object graph管理,包括存储。Core Data直接与SQLite交互,避免开发者使用原本的SQL语句。就像Cocoa绑定在模型-视图-控制器设计中做了很多控制器的工作一样,Core Data做了很多数据模型的工作。它的主要任务是负责数据更改的管理,串行化到磁盘,最小化内存占用,以及查询数据。镞锊过润启婭澗骆讕瀘。Core Data使用包括实体和实体间关系,以及查找符合某些条件的实体的请求等内容的高层数据模型描述数据。开发者可以在纯对象层上查找与管理这些数据,二不必担心存储和查找的实现细节。Interface Builder中的控制器对象可以直接获取与管理实体,若与Cocoa绑定结合,则可以在不写自定义代码的情况下让用户界面显示、修改与管理数据模型中的大部分内容12。榿贰轲誊壟该槛鲻垲赛。Core Data可以将数据存储为XML,二进制文件或SQLite文件。在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式。每种方法都有其优缺点,例如XML的可读性,SQLite的节约空间等。Core Data的这一方面类似于原始的Enterprise Objects Framework(EOF)系统,但EOF中开发者可以使用相对简洁的查询方式,而在Core Data中,只能使用一个语法类似SQL子集的查询语言,称为Predicate。邁茑赚陉宾呗擷鹪讼凑。Core Data是标准化的,可以自由的读写Xcode数据模型文件(通常是.xcdatamodel文件)。与EOF不同,Core Data目前没有设计多用户或多线程访问模式。模型迁移通常也需要代码,若其它开发者依赖于某个数据模型,则该数据模型的设计者可能在模型发生改变时需要与新数据模型一起提供版本转换代码。嵝硖贪塒廩袞悯倉華糲。3.2 实现技术3.2.1 Objective C介绍Objective-C 2.0是Mac OS X系统和iPhone平台下的标准程序设计语言。主要是因为Mac OS X 技术源自NextStep的OpenStep操作系统, 因为OPENSTEP的软件架构(framework) 都是用Objetive-C 写成,所以MacOS X上的开发最佳语言自然也就是Objective-C 了13。该栎谖碼戆沖巋鳧薩锭。Object-C是由 Brad Cox在80年代初在第一个纯面向对象语言Smalltalk基础上 写成。后来他创立了StepStone公司从事Objective-C的推广。年,Steve Jobs的NextStep采用Objective-C作为开发语言,1992年GNU gcc编译器中包含了对Objective-C的支持(gnu-objc runtime), Dennis Glating 写了第一个run-time。Richard Stallman 第二个,最近的是Kresten Krab Thorup在丹麦读大学时写的, 他后来到NextStep工作。劇妆诨貰攖苹埘呂仑庙。目前, Objective-C 是Mac OS X的首要开发语言,也是GNUstep 在Linux 和其它平台上的开发语言。Objective-C是ANSI C的超集,扩展了C 语言使它具备面向对象设计的能力,如类,消息和继承。Objective-C 程序中可以利用现有的C语言代码,使其利用现有的软件架构。这也是为甚莫Objective-C 过去多年间能够成为一种流行的用户界面开发语言而且至今没有消亡,因为一方面用它可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。臠龍讹驄桠业變墊罗蘄。Objective-C 和C+的比较(1)单一继承:Objective-C不支持多重继承,(同Java和Smalltalk),而C+语言支持多重继承。(2)动态:Objective-C是动态定型(dynamicaly typed)所以它的类库比C+要容易操作。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类14。鰻順褛悦漚縫冁屜鸭骞。C+ 跟从面向对象编程里的Simula 67(一种早期OO语言)学派,而Objecive-C属于Smalltalk学派。穑釓虚绺滟鳗絲懷紓泺。在C+里,对象的静态类型决定你是否可以发送消息给它,而对Objecive-C来说,由动态类型来决定。Simula 67学派更安全,因为大部分错误可以在编译时查出。 而Smalltalk学派更灵活,比如一些Smalltalk 看来无误的程序拿到Simualr 67那里就无法通过。隶誆荧鉴獫纲鴣攣駘賽。3.2.2 Web Services相关Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。浹繢腻叢着駕骠構砀湊。它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块 化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式 (Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务15。鈀燭罚櫝箋礱颼畢韫粝。4软件需求分析4.1 业务流程分析在软件需求分析中,当要对如见的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关业务流程的资料组织在一起作进一步的流程分析。业务流程分析可以帮助我们更好地了解此项业务的具体处理过程,发现和处理进销存软件工作中的错误和疏漏,修改和改进进销存软件中不合理的部分,优化业务处理流程。惬執缉蘿绅颀阳灣熗鍵。通过对进销存软件的需求分析,确定了进销存软件各个模块的业务流。整个软件各个模块的业务流如图4-1所示。贞廈给鏌綞牵鎮獵鎦龐。图4-1 系统业务流图4.2 特性需求分析本软件基于IOS系统,客户端运行在IPhone手机上,开发必须基于Mac OS下的Xcode开发环境。嚌鲭级厨胀鑲铟礦毁蕲。4.3 数据流分析用户进入系统,进入功能列表界面,可使用的功能模块有进货模块,销售模块,收支查询模块,资金管理模块,库存管理模块,用户管理模块,选择具体功能模块进入。进入各个模块后,从数据库里取出对应的数据显示在界面上,编辑数据时再将新的数据写入数据库里的对应数据里。薊镔竖牍熒浹醬籬铃騫。4.4 功能需求分析在这个过程中销售员需要掌握货物的销售,库存状况,资金的动态以及产品详细信息等等。进销存软件的系统需求如下:(1)进货:管理进货相关信息。(2)销售:管理销售相关信息。(3)收支查询:管理收支。(4)资金管理:管理资金流向。(5)库存管理:管理库存信息。(6)用户管理:管理用户信息。5软件设计软件设计是软件开发过程中重要阶段。在这一阶段中,要根据前一阶段软件分析的结果,在已经获得的需求分析基础上,进行系统设计。软件设计包括两个方面,首先是总体结构的设计,其次是具体物理模型的设计。软件设计的主要目的就是为下一阶段的系统实现(如编程、调试、试运行等)制定蓝图。软件设计阶段主要任务就是在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾划出新系统的详细设计方案。齡践砚语蜗铸转絹攤濼。本阶段的主要任务是设计进销存软件的程序结构,并确定程序组成模块,以及各模块之间的关系。5.1 软件总体结构设计客户通过IPhone手机上的客户端进入软件,可以选择相应的六大功能,选择具体功能进入以后,从数据库提取对应数据显示在其界面上,用户可查询到所需资料,也可对其进行相应的操作,编辑数据后会把新的数据保存到数据库里。用户单击Home键退出系统。如图5.1绅薮疮颧訝标販繯轅赛。图5.1 系统主要功能图进货模块:进货以及查询进货记录。销售模块:销售以及查询销售记录。收支查询模块:查询收入和支出的详细情况。资金管理模块:查询资金流动方向。库存管理模块:查询产品的库存以及产品相信信息。用户管理模块:查询用户信息及其修改。5.2 软件各大模块设计本系统如图所示,主要实现以下一些功能,如图5.2:图5.2 系统功能模块图5.2.1进货模块设计当用户进入进货功能模块以后,如果是新商品,可以添加新商品,如果商品存在,可以直接选择进货,或者手动输入商品的名称进货。同时,还可以查询所有商品的进货记录。饪箩狞屬诺釙诬苧径凛。5.2.2销售模块设计当用户进入销售功能模块以后,可以直接选择库存里的商品,然后输入数量销售,或者手动输入商品的名称销售。同时,还可以查询所有库存商品的销售记录。烴毙潜籬賢擔視蠶贲粵。5.2.3收支查询模块设计当用户进入收支查询功能模块以后,可以看到当天的收入与支出,并且可以查询其详情,收入与支出分别来自何处。另外,也可以点击查询日期选择用户想知道的日期来查询当天的具体情况。鋝岂涛軌跃轮莳講嫗键。5.2.4资金管理模块设计当用户进入资金管理功能模块以后,可以看到目前的资金总数。当资金不够时,可以往里投入资金,当资金充裕时,也可以提取资金。另外也可以查询投入或者提取的详情。撷伪氢鱧轍幂聹諛詼庞。5.2.5库存管理模块设计当用户进入库存管理功能模块以后,是一个列表,列表会列出当前的库存,下面会写出商品进价,售价,数量等信息。也可以点击编辑按钮来修改商品的属性。踪飯梦掺钓貞绫賁发蘄。5.2.6用户管理模块设计 当用户进入库存管理功能模块以后,可以看到当前账户信息,也可以对其信息进行修改。另外可以退出当前账号。6 软件实现在实际的系统开发中存在多种开发方法,如结构化方法、原型化方法、面向对象方法等等。结构化方法也可称为面向功能的软件开发方法或面向数据流的软件开发方法,首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后用结构化编程(SP)进行程序设计。婭鑠机职銦夾簣軒蚀骞。原型化方法一般由以下四个阶段组成:(1)确定用户需求,(2)开发原始模型,(3)征求用户对原始模型的改进意见,(4)修改原型。原型化方法比较适用于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不复杂时采用该方法是比较好的。譽諶掺铒锭试监鄺儕泻。面向对象方法是当前计算机业界中最流行的方法,包括面向对象分析(00A),面向对象设计(OOD)、面向对象编程(OOP)。这是一种以对象建模为基础,自底向上和自顶向下相接合的方法。面向对象技术在需求分析、可靠性和可维护性这三个软件开发的关键环节和质量指标上有了实质性的突破,基本解决了这些方面存在的严重问题。采用面向对象的语言编写程序,更接近于现实世界,并符合人类的思维习惯,从而使应用程序具有更高的可读性、易维护性以及可扩充性。俦聹执償閏号燴鈿膽賾。 客户打开IPhone手机中的客户端软件后,进入客户端软件的主界面,即登录界面如图6.1。 图6.1 用户登录界面 当登录成功以后即进入主界面,上方显示当前总资金。中间有六个按钮,即六大功能模块,如图6.2。图6.2 主界面6.1 进货功能的实现用户点击主界面的进货按钮后进入进货界面,如果进货的商品不存在,可以选择添加新商品如图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.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 用户管理功能的实现用户点击主界面的用户管理按钮后进入用户管理界面如图6.17,会显示当前账户,点击修改密码按钮即可修改密码如图6.18。逊输吴贝义鲽國鳩犹騸。图6.17 用户管理图6.18 修改密码7总结本软件采用了面向对象的开发方法, X-code作为开发工具,使用MVC构件模式,开发过程中用到了Object-C语言,CoreData作为数据库. 幘觇匮骇儺红卤齡镰瀉。本软件采用了较新的开发平台与开发语言,利用单利模式构架出九宫格模式的框架,软件简单易用,但软件也有一些不足之处,由于本人还未得到苹果开发者账号,不能进行真机调试,只能在模拟器上运行,致使扫描的功能未能完善,是一大遗憾,在以后申请到苹果账号后一定要将其完善改善,并将其上传至苹果商店。誦终决懷区馱倆侧澩赜。该软件也迎合了当下手机智能化、网络化的趋势,为将智能手机的开发提供了一个新的设计思路。随着3G技术、云计算等技术的进一步完善,基于智能手机开发具有广阔的开发前景。医涤侣綃噲睞齒办銩凛。致谢参 考 文 献1 Carlo Chung. Objective-C编程之道. 北京:人民邮电出版社,2011年11月舻当为遙头韪鳍哕晕糞。2 Kochan,S.G. Objective-C2.0程序设计. 北京:机械工业出版社,2009年9月鸪凑鸛齏嶇烛罵奖选锯。3 Gary Bennett. Objective-C初学者指南. 北京:人民有点出版社,2012年10月筧驪鴨栌怀鏇颐嵘悅废。4 Dava Mark. iPhone开发基础教程. 北京:人民邮电出版社,2009年4月5 Jone Ray. iPhone开发入门经典. 北京:人民邮电出版社,2011年11月6 Adam Preble. 苹果开发之Cocoa编程. 北京:机械工业出版社,2012年8月7 Dan Pilone. 深入浅出iPhone开发. 南京:东南大学出版社,2010年6月8 金福生. iOS应用程序开发方法与实践. 北京:人民有点出版社,2012年7月9 Dava Mark. iOS 5基础教程. 北京:人民邮电出版社,2012年9月10 Beklin. iPhone&iPad高级编程. 北京:清华大学出版社,2012年1月 11 杨宏焱. 企业级iOS应用开发实战. 北京:机械工业出版社,2013年2月12 Jone Ray. iOS应用开发入门经典. 北京:人民邮电出版社,2012年7月13 Graham Lee. 测试驱动的iOS开发. 北京:机械工业出版社,2012年11月14 Makzan. HTML5游戏开发实战. 北京:机械工业出版社,2012年7月15 Harrington,J. iOS4实战:iphone与ipad应用开发. 北京:人民邮电出版社,2012年4月韋鋯鯖荣擬滄閡悬贖蘊。附录:implementation UIViewController (UIViewControllerRedirectExtensions)涛貶騸锬晋铩锩揿宪骟。-(void) redirectModule:(NSString*)m AcModule sharedModule setModule:m; UIViewController* viewController; if (m isEqualToString:main) viewController=MainViewController alloc initWithNibName:MainViewController bundle:nil;钿蘇饌華檻杩鐵样说泻。 else NSString* storyboardName=m stringByAppendingString:Storyboard;戧礱風熗浇鄖适泞嚀贗。 UIStoryboard* sb=UIStoryboard storyboardWithName:storyboardName bundle:nil;購櫛頁詩燦戶踐澜襯鳳。 viewController=sb instantiateInitialViewController;嗫奐闃頜瑷踯谫瓒兽粪。 UIApplication sharedApplication delegate window setRoo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 29730-2025冷热水用分集水器
- GB/T 13790-2025搪瓷用冷轧低碳钢板及钢带
- 2025年残联会计准则实施能力模拟题
- 2025年科协会计考试模拟题及重点难点解析
- 2025年家政服务技能实操高级考核题集
- 2025年本科院校审计处面试模拟题及答案集
- 2025年充电桩运维工笔试模拟考试题
- 2025年安全员模拟测试题及答案练习册
- 2025年汽车美容技师技能认证考试试题及答案解析
- 2025年金融风控专家资格考试试题及答案解析
- 国际商务课件全套教程
- 22.3 实际问题与二次函数 课件 2024-2025学年人教版数学九年级上册
- 文言合集(1):120个文言实词小故事(教师版+学生版)
- 教科版(2024)小学科学一年级上册(全册)教案及反思(含目录)
- 【课件】2025届高三生物一轮复习备考策略研讨
- 中级会计师《经济法》历年真题及答案
- 新疆城市绿地养护管理标准
- 高职院校高水平现代物流管理专业群建设方案(现代物流管理专业群)
- 汉语言文学毕业设计开题报告范文
- 爱自己爱生命主题班会课件
- 国家职业技术技能标准 6-25-02-06 半导体分立器件和集成电路装调工 人社厅发20199号
评论
0/150
提交评论