1、本科毕业论文(20 届)移动终端(iPhone)应用软件优集品的设计与开发所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要伴随着 3G 网络的发展,手机越来越普及并且成为最便捷的联接网络的终端。消费者也越来越注重对各个平台的手机软件的体验。而且开发者也越来越注重手机客户端的市场和推广。对于如此便捷的环境,也应运产生了一批优秀的跨各种平台的交互软件。苹果 iOS 是由苹果公司开发的移动操作系统。苹果公司最早于 2007 年 1 月 9 日的Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV
2、 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,它也是以Darwin 为基础的,因此同样属于 类 Unix 的商业操作系统。原本这个系统名为 iPhone OS,因为 iPad,iPhone, iPod Touch 都使用 iPhone OS,所以 2010WWDC 大会上宣布改名为 iOS(IOS 为美国 Cisco 公司网络设备操作系统注册商标,苹果改名已获得 Cisco 公司授权) 。iOS 具有简单易用的界面、令人惊叹的功能,以及超强的稳定性,已经成为iPhone、iPad 和 iPod touch 的强大基础。尽管其他竞争对手一直努力地追赶, iOS 内置的众多技术和功
3、能让 Apple 设备始终保持着遥遥领先的地位。为了方便好友之间的交互,为了方便好友之间互赠礼物,为了锻炼自身能力,我针对于优集品网,开发了一款 iPhone 的交互客户端-优集品。优集品(UGift)是一款交互软件,是为了方便朋友,同学,家人等各种社会关系的人群互相赠送礼物。该系统采用C/S 架构。系统基于 iOS 系统开发,采用 java 做服务器后台,并且可以方便的扩展开发android 客户端。在网络发展成熟的今天,灵活实时的保证了数据的统一。采用 java 技术设计和实现服务器,用 iOS 实现客户端,保证软件良好运行。我主要实现 iPhone 客户端,数据我写在了一些 json 文
4、件里,是一些简单的测试数据,一些功能需要服务器端的配合才能实现,还有一些功能只能在真机上实现,模拟器上无法实现。这里我简要介绍了 java 三大框架开发(struts+spring+hibernate)的技术特点和数据库技术,随后简要的概述 iOS 的开发要点,在后台数据管理方面用到 jsp 技术。并且构建了一个 C/S 模式的交互购物系统,并对该系统进行了需求分析,总体设计,详细设计,编码与测试。并为后台数据管理做了一个简单的分析。关键词:优集品;交互;iOS;iPhoneAbstractWith the development of 3G networks, mobile phones b
5、ecome more and more popular and the most convenient connection network terminal. Consumers are also increasingly focused on the experience of each platform mobile software. And developers are increasingly focusing on mobile client marketing and promotion. For such a convenient environment , should a
6、lso produce a number of outstanding transported across a variety of platforms for interactive software .Apple iOS is Apples mobile operating system developed . Apple first announced at Macworld Conference January 9, 2007 on the system , originally designed for use in the iPhone , the iPod touch, iPa
7、d and Apple TV , etc. then gradually applied to . iOS and Apples Mac OS X operating system , it is also based in Darwin , and therefore belong to the same class of commercial Unix operating system . This system was originally called iPhone OS, because the iPad, iPhone, iPod Touch use the iPhone OS,
8、it announced on 2010WWDC Assembly renamed iOS (IOS Ciscos networking equipment for the U.S. registered trademark operating system , Apple has been renamed Cisco authorized ) .iOS has a simple -to-use interface , amazing features, and superior stability , has become a strong foundation for iPhone, iP
9、ad and iPod touch . While other competitors have been trying to catch up , iOS built numerous technical and functional equipment allows Apple has maintained a lead position.In order to facilitate the interaction between friends , in order to facilitate the exchange of gifts between friends , in orde
10、r to exercise their ability to set me against the superior product on the network , has developed an iPhone client interaction - excellent set of products . UGS products (UGift) is an interactive software , is to facilitate a friend , people of various social relations classmates, family members and
11、 other give each other gifts. The system uses C / S architecture.System is based on iOS system development , using java server do the background and can be easily extended to develop android client. Developed in the network today, to ensure a unified and flexible real-time data .Technical design and
12、 implementation using java server using iOS achieve client software to ensure a good run . My main achievement of the iPhone client , the data I wrote some json file, are some simple test data , some of the features needed to achieve with the server , there are some features can only be achieved on
13、a real machine , can not be achieved on the simulator. Here, I briefly introduced the three frameworks java development (struts spring hibernate) technical features and database technology , development points followed by a brief overview of iOS , jsp technology used in the background data managemen
14、t. And build a C / S mode interactive shopping system , and the system requirements analysis , design, detailed design, coding and testing. And do a simple analysis of background data management.Keywords : UGift; interaction ; iOS; iPhone目 录1 绪论 .11.1 选题背景 .11.2 发展现状 .11.3 论文研究内容 .22 技术简介 .32.1 C/S
15、架构简介 .32.2 JSP 技术简介 .32.3 MVC 框架简介 .42.4 Struts+Spring+Hibernate 框架简介 .42.5 数据库技术简介 .42.6 android 技术简介 .52.7 IOS 技术简介 .53 系统设计 .63.1 需求分析 .63.1.1 功能需求 .63.1.2 性能需求 .63.1.3 开发环境 .63.1.4 运行环境 .73.2 业务流程设计 .73.2.1 客户端业务流程设计 .73.2.2 后台业务流程设计 .73.3 系统结构设计 .83.3.1 页面结构设计 .83.3.2 代码结构设计 .83.4 服务器设计 .103.4.
16、1 服务器端工具 .103.4.2 软件包和 JAVA 源代码文件 .103.4.3 服务器的整体架构 .103.4.4 服务器对外交互分析 .113.5 客户端设计 .123.5.1 页面布局处理 .123.5.2 客户端源码结构 .123.6 后台设计 .133.6.1 JSP 文件结构 .133.6.2 JSTL .134 系统实现 .154.1 系统工作过程 .154.2 引导页面和帮助页面展示 .164.3 首页展示 .164.3 收送礼物页面展示 .17总 结 .20参考文献 .21致 谢 .2211 绪论1.1 选题背景在互联网高度发展的今天,虽然有不少的购物网站,但购物软件却很
17、少,尤其是手机客户端上的购物软件,赠送礼物的就更少了,像 qq 等类的赠送礼物都是些虚拟礼物。为了方便大家购物,赠送好友礼物,尤其是过节、过生日等的时候赠送礼物,我设计开发了本系统。只要有网络,大家就可以随时随地,给你想要赠送礼物的人赠送礼物,既可以亲近关系,又可以表达祝福。随着社会的发展,生活环境的改善,生活水平的提高,现在越来越多的人拥有了手机,甚至小学生、初中生都有了手机,iPhone 手机也不在少数,并且这款软件也可以在android 手机上开发,所以手机移动端软件的市场将会越来越大,而且手机购物将是一个趋向。1.2 发展现状在最近几年里,移动通信和互联网成为当今世界发展最快、市场潜力
18、最大、前景最诱人的两大业务。它们的增长速度都是任何预测家未曾预料到的。迄今,全球移动用户已超过 15 亿,互联网用户也已逾 7 亿。中国移动通信用户总数超过 3.6 亿,互联网用户总数则超过 1 亿。这一历史上从来没有过的高速增长现象反映了随着时代与技术的进步,人类对移动性和信息的需求急剧上升。越来越多的人希望在移动的过程中高速地接入互联网,获取急需的信息,完成想做的事情。所以,出现的移动与互联网相结合的趋势是历史的必然。移动互联网正逐渐渗透到人们生活、工作的各个领域,短信、铃图下载、移动音乐、手机游戏、视频应用、手机支付、位置服务等丰富多彩的移动互联网应用迅猛发展,正在深刻改变信息时代的社会
19、生活,移动互联网经过几年的曲折前行,终于迎来了新的发展高潮。移动互联网的浪潮正在席卷到社会的方方面面,新闻阅读、视频节目、电商购物、公交出行等热门应用都出现在移动终端上,在苹果和安卓商店的下载已达到数百亿次,而移动用户规模更是超过了 PC 用户。这让企业级用户意识到移动应用的必要性,纷纷开始规划和摸索进入移动互联网,客观上加快了企业级移动应用市场的发展。移动互联网拥有广阔的前景,对互联网企业来说,可谓是一块巨大的蛋糕,谁都想抢先进入这个市场,赢得先机大咬一口。因此,可以预见,对移动互联网行业市场与用户的争夺将越演越烈,而这些潜在的用户拥有着与以往不同的特点,也使得互联网企业的下一步战略将面临更
20、多的挑战。尤其在移动支付和移动电子商务将会是未来发展的一大方向。移动支付蕴藏巨大商机:支付手段的电子化和移动化是不可避免的必然趋势,移动支付业务发展预示着移动行业与金融行业融合的深入。移动电子商务的春天即将到来:移动电子商务可以为用户随时随地提供所需的服务、应用、信息和娱乐,利用手机终端方便便捷地选择及购买商品和服务。2多种支付方式,使用方便。移动支付平台不仅支持各种银行卡通过网上进行支付,而且还支持手机、电话等多种终端操作,符合网上消费者最求个性化、多样化的需求。所以购物软件所占有的市场将会越来越大,尤其手机移动终端的购物软件将会得到更大的发展。1.3 论文研究内容iOS 具有简单易用的界面
21、、令人惊叹的功能,以及超强的稳定性,已经成为iPhone、iPad 和 iPod touch 的强大基础。尽管其他竞争对手一直努力地追赶, iOS 内置的众多技术和功能让 Apple 设备始终保持着遥遥领先的地位。为了方便好友之间的交互,为了方便好友之间互赠礼物,为了锻炼自身能力,我针对于优集品网,开发了一款 iPhone 的交互客户端-优集品。优集品(UGift)是一款交互软件,是为了方便朋友,同学,家人等各种社会关系的人群互相赠送礼物。该系统采用C/S 架构。系统基于 iOS 系统开发,采用 java 做服务器后台,并且可以方便的扩展开发android 客户端。在网络发展成熟的今天,灵活实
22、时的保证了数据的统一。采用 java 技术设计和实现服务器,用 iOS 实现客户端,保证软件良好运行。我主要实现 iPhone 客户端,数据我写在了一些 json 文件里,是一些简单的测试数据,一些功能需要服务器端的配合才能实现,还有一些功能只能在真机上实现,模拟器上无法实现。这里我简要介绍了 java 三大框架开发(struts+spring+hibernate)的技术特点和数据库技术,随后简要的概述 iOS 的开发要点,在后台数据管理方面用到 jsp 技术。并且构建了一个 C/S 模式的交互购物系统,并对该系统进行了需求分析,总体设计,详细设计,编码与测试。并为后台数据管理做了一个简单的分
23、析。32 技术简介2.1 C/S 架构简介客户端和服务器架构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S 结构的优点是能充分发挥客
24、户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:(1)应用服务器运行数据负荷较轻。最简单的 C/S 体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较
25、轻。(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小” ,麻烦的事情都交给了服务器和网络。在 C/S 体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。2.2 JSP 技术简介JSP(
26、Java Server Pages)是一种基于内置 Java 代码的、用于创建动态内容的脚本语言,它天然地具备 Java 技术的跨平台特性,从而在广泛的基于网络的应用中迅速得到应用,成为当前软件领域最热门的技术之一。JSP 技术设计多种软件技术和标准,诸如Java、HTML、数据库等,并且广泛应用于动态网站的建设中。2.3 MVC 框架简介M(Model,模型) 、V(view,视图) 、C(controller,控制器) 。是 Xer ox PARC 在八4十年代为编程语言 Smalltalk-80 发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐位 Oracle 旗下 Sun 公司
27、 Java EE 平台的设计模式,并且受到越来越多的使用ColdFusion 和 PHP 开发者的欢迎。MVC 设计模式把程序的输入、处理和输出分开,使各个部件处理自己的任务。使程序有较高的重用性和适用性,并且有着较低的生命周期成本,有利于软件工程化管理并具备较高的可维护性。2.4 Struts+Spring+Hibernate 框架简介Struts 只是一个 MVC 框架( Framework),用于快速开发 Java Web 应用。Struts 实现的重点在 C(Controller),包括 ActionServlet/RequestProcessor 和我们定制的 Action,也为V(
28、View)提供了一系列定制标签( Custom Tag) 。但 Struts 几乎没有涉及 M(Model),所以Struts 可以采用 JAVA 实现的任何形式的商业逻辑。Spring 是一个轻型容器(light-weight container),其核心是 Bean 工厂(Bean Factory),用以构造我们所需要的 M(Model)。在此基础之上,Spring 提供了 AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对 Bean 工厂的扩展 ApplicationContext 更加方便我们实
29、现 J2EE 的应用;DAO/ORM 的实现方便我们进行数据库的开发;Web MVC 和 Spring Web 提供了 Java Web 应用的框架或与其他流行的 Web 框架进行集成。就是说可将两者一起使用,达到将两者自身的特点进行互补。Hibernate 是一个免费的开源 Java 包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通 Java 对象一样,同时不必考虑如何把它们从神秘的数据库表中取出( 或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。2.5 数据库技术简介数据库技术是现代信息科学与技术的
30、重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和结局了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余,实现数据共享、保障数据安全以及高效得检索和处理数据。SQL:Structured Query Language(结构化查询语言) ,是一种数据库查询和程序设计语言,可以用于存储数据,查询、更新管理关系数据库系统。嵌入到 Java 代码中实现对数据库的操作。2.6 android 技术简介Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备。Android 构建在 Linux 内核上,利用 linux 完
31、成其内存管理、进程管理、网络和其他操作5系统服务工作 。linux 内核层上面的一层中包含了 Android 的本机库。这些共享库都是用C 或 C+语言编译的,并且针对电话使用的特定硬件架构进行了编译,并已由手机制造商预先安装到手机中。2.7 IOS 技术简介IOS 用的开发语言是 Object-C 开发工具是 X-Code 操作系统是 MacObject-C: 本来是没有垃圾回收机制的语言, 也就是要让程序员来控制申请和释放内存的。 但是苹果做了很多的工作。 现在有个叫做 ARC 的技术 能够让程序员写的程序几乎不用去管理内存了。 跟 JAVA , C Sharp 那些一样了。 所以如果只是做一般的 APP