




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目 基于移动网络的手机商城系统设计与实现专业学位类别工 程 硕 士201192230427 学号作 者 姓 名指 导 教 师 柴玉柱顾小丰 高级工程师 分类号密级注 1UDC学 位 论 文基于移动网络的手机商城系统设计与实现(题名和副题名)柴玉柱(作者姓名)指导教师顾小丰 电子科技大学孙 征高级工程师成 都高 工 太原市重工股份有限公司太 原(姓名、职称、单位名称)申请学位级别 硕士工程领域名称专业学位类别工程硕士软 件 工 程提交论文日期 2014.3.25 论文答辩日期2014.5.23 学位授予单位和日期 电子科技大学2014 年 6 月 25 日答辩委员会主席评阅人注 1:注明国际十进分类法 UDC的类号。 THE DESIGN AND IMPLEMENTATION OFMOBILE PHONE MALL BASED ON MOBILENETWORKA Master Thesis Submitted toUniversity of Electronic Science and Technology of ChinaMajor:Author:Advisor:Master of Engineering Chai Yuzhu Gu Xiaofeng School : School of Information and Software Engineering 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名:日期:年月日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)作者签名:导师签名:日期:年月日 摘要摘要近些年来我国网络基础设施不断完善、信息技术不断发展,计算机网络已经实现了全民普及。随着第三方支付工具的不断发展和完善,网络购物日益成为网民日常网络生活的一项重要内容。目前国内的主流电商京东、淘宝、凡客等等都推出了自己的手机购物应用程序,这显示出各大电商对手机端网购群体的激烈争夺。国内的手机市场中智能手机占据了半壁江山,这其中安卓智能手机的市场份额更是达到了 68%,因此选择在安卓智能手机平台上开发一个手机购物应用程序是很有意义的。实现了该手机购物程序客户端部分的界面开发,以及客户端和服务器之间的接口设计。整个手机商城系统基于 C/S架构,由客户端和服务器两个部分构成。客户端负责向用户呈现各类信息、向服务器端发送请求,服务器端接受处理请求并将处理结果返回值客户端。客户端由一个安卓应用程序构成,该应用程序基于Eclipse(集成 ADT插件)和 Android SDK开发,该应用程序应该实现商品信息的展示、用户信息的管理、用户订单信息的管理、购物车功能、收货地址的管理等一系列功能;服务器端基于 SSH架构实现了业务逻辑和具体数据的分离。开发过程中的难点主要集中在业务逻辑的处理和数据持久化的实现。业务逻辑依赖前期的需求分析得到解决,数据的持久化借助 Hibernate技术得以实现。关键词:智能手机,电子商务,移动购物,C/S架构,安卓I ABSTRACTABSTRACTThe network infrastructure of China has been improved in recent years. With theinformation technology developing, the coverage of computer network has becameuniversal. Because of the continuous development of the third-party payment tools, thenetwork shopping is increasingly become an important thing to the online Internet usersin their daily life. The current domestic E- business, such as Jingdong, Taobao, Vancl,and so on has launched their mobile phone shopping application, it shows that thecompetition for mobile terminal online groups has became more and more intense. Indomestic mobile smartphone market Android occupied half, which reached 68% shareof the market. So choose the Android platform to develop a mobile shoppingapplication is very meaningful. The application can realize the commodity informationdisplay, user information management, customer order information management,shopping cart functionality, receiving address management and a series of functions.I carried out the development of the program interface on client part, whichrealize the interface design between client and server. The whole mobile phone mallsystem based on C/S architecture, consists of client and server. Client is responsible forsending requests to the server, the server accepts the request, processes the request andreturns the results to the client. Client consists of an Android application, the applicationis based on Eclipse with the Android SDK development; the server is based on SSHarchitecture which implements the separation of business logic and the specific data.The difficulty in the development are mainly concentrated on the treatment of businesslogic and data persistence. Business logic relies on the early resolved demand analysis,and data persistence is solved by using Hibernate technology.Keywords: Smartphone, E-Business, Mobile Shopping, C/S, AndroidII 目录目录第一章绪论 . 11.1研究背景. 11.2国内发展现状及趋势. 11.3相关工作. 31.4论文结构安排. 4第二章关键技术介绍 . 62.1开发语言 JAVA . 62.2系统架构. 72.3安卓开发技术简介. 82.3.1 Android体系结构. 82.3.2 Android应用的基本组件. 82.3.3 Android应用工程源码结构. 102.4 QUARTZ作业调度框架 .112.4.1 Quartz存储作业方式 .112.4.2 Quartz触发器 . 122.4.3 Quartz调度器 . 122.4.4 Quartz在本系统中的应用 . 132.5 SSH架构简介. 132.5.1 SSH框架模型. 132.5.2数据访问对象技术(DAO) . 132.6本章小结. 14第三章系统需求分析 . 153.1系统基本流程简介. 153.2业务模块需求分析. 153.2.1注册登录模块需求分析 . 153.2.2商品信息展示模块需求分析 . 173.2.3促销快报模块需求分析 . 173.2.4购物车模块需求分析 . 183.2.5订单模块需求分析 . 18III 目录3.3本章小结. 19第四章系统设计 . 204.1客户端和服务器之间的通信设计. 214.1.1连接方式的设计 . 214.1.2客户端服务器之间的数据处理 . 214.2业务逻辑设计. 224.2.1登录注册模块业务逻辑 . 224.2.2商品信息模块业务逻辑 . 234.2.3促销商品信息模块业务逻辑 . 244.2.4订单模块业务逻辑 . 254.2.5购物车模块业务逻辑 . 274.2.6地址管理模块业务逻辑 . 274.2.7收藏夹管理模块业务逻辑 . 284.2.8订单管理模块业务逻辑 . 284.3系统数据持久层设计. 294.3.1基础数据模型设计 . 304.3.2登录注册模型持久化设计 . 314.3.3商品信息模型持久化设计 . 314.3.4促销商品信息模型持久化设计 . 334.3.5购物车模型持久化设计 . 344.3.6订单模型持久化设计 . 354.3.7地址管理模型持久化设计 . 364.3.8收藏夹模型持久化设计 . 374.4本章小结. 37第五章系统实现 . 385.1客户端和服务器之间的通信. 385.1.1通信连接的建立 . 385.1.2通信数据的处理 . 395.2系统功能模块的实现. 395.2.1用户登录注册功能的实现 . 405.2.2商品信息展示功能的实现 . 435.2.3促销商品信息展示功能的实现 . 455.2.4购物车功能的实现 . 47IV 目录5.2.5结算模块功能的实现 . 495.2.6订单模块功能的实现 . 525.2.7收藏夹模块功能的实现 . 535.2.8其他模块功能的实现 . 555.3系统持久层的实现. 575.4软件测试. 575.4.1性能测试 . 575.4.2兼容性测试 . 585.4.3平台适配性 . 595.5本章小结. 59第六章总结与展望 . 60致谢 . 61参考文献 . 62V 第一章绪论第一章绪论在本章中主要介绍了现阶段手机网上商城的一些特点、手机商城国内外的发展现状,以及论文的主体内容和论文的结构框架。1.1研究背景近些年来随着我国网络基础设施的不断完善、信息技术不断发展,计算机网络已经在全国范围内实现了全民普及。伴随着第三方支付工具的不断发展和完善,网络购物日益成为网民日常网络生活的一项重要内容。2012年 7月 12日,中国互联网信息中心(CNNIC)在北京发布了第 30次中国互联网发展状况统计报告,该报告显示,截止 2012年 6月底,我国的网民数量已经跃居 5.4亿,增长速度进一步放缓,这其中手机网民的数量达到 3.88亿,手机终端已经实现了对 PC(台式机)的超越,成为排名第一的网络访问终端。随着第三代移动通信技术( 3G)的广泛普及,移动终端的数据传输率会大大提高,摆脱 2G时代手机访问网络的高延迟问题,再结合手机购物方便、快捷,不受时间地点约束的特点,我们有理由相信,手机购物会继网络购物之后成了公众购物的最佳选择1。目前主流的智能手机平台有微软的 Windows Phone平台,苹果的 IOS平台,以及 Google的安卓平台。而之前红极一时的诺基亚 Symbian(塞班),黑莓的Blackberry OS已经因为落伍而逐渐被市场所淘汰。在所有这些智能手机操作系统中谷歌的安卓平台,借助开源的策略迅速占领智能手机市场的半壁江山。根据业界权威部门的统计,2012年底在中国智能手机市场上,Android手机操作系统创纪录的占据了 68%的市场份额,所以作者选了安卓手机系统作为的软件开发平台,这样会有更好的受众面2。1.2国内发展现状及趋势随着手机上网用户数量的激增,手机无线上网速度的大大提升,手机无线上网费用的逐渐下调,智能手机、平板电脑的大量普及,移动电子商务发展势头越加迅猛。国内目前的电商主要由淘宝、京东、凡客、当当等电商企业。因为相比 PC平台上的购物体验,手机平台具有显著的便携性。用户可以摆脱时间空间的限制,在任何时间任何地点享受购物的乐趣,随时随地快捷地获取个人所需的信息、服务、应用,满足用户的消费安全需求。随着电商之间竞争的白热化,为了争夺更1 电子科技大学硕士学位论文多的用户、提高自身的影响力,各大电商除了自己的门户网站之外,也都开发了相应的手机端购物软件,以方便用户访问自家商城。随着电商之间在 PC平台上竞争的白热化,手机终端上的竞争也会越来越激烈3。未来基于移动网络的移动电子商务发展的关键点就是二维码技术的发展完善和 O2O模式的推广应用。随着 2G、3G甚至 4G技术的发展完善,用户从技术的角度看可以永远保持在线,因此二维码技术成为了线上活动和线下活动融合的一个关键点和入口。二维码技术是 O2O模式能够进一步向前发展的关键所在4,5。O2O模式的英文全拼是 Online to Offline,是一种将线上商务活动和线下商务活动融合在一起的一种技术,用户可以在互联网上完成商品的挑选、服务的筛选和线上付款,之后可以在线下根据交易码进行消费兑换 6,7。典型的一种应用就是团购。O2O模式的示意图如图 1-1所示:图 1-1 O2O模式的示意图国外的电子商务也正处于急速发展的阶段,并伴随着电子支付方式的新需求。随着科学技术的不断发展,线上针对实体零售店的支付工具也出现了很多个性化的改进,并且在支付业务上产生了很多非银行的支付服务商,日渐成为银行业支付业务的竞争对手,甚至部分第三方的支付服务供应商也开始逐步、有限度的进入金融服务领域,国内的余额宝也属于类似的情况8,9。目前,欧美国家的电子商务应用领域和交易规模都远远领先于其他国家,许多巨型企业都利用互联网技术扩展自己的经营业务。在全球所有的电子交易额中,单单美国一家就占据了 50%的份额,并且诞生了亚马逊、谷歌等明星企业。在电子商务的发展史中,移动电子商务的发展呈现加速趋势,预计到 2015年,移动电2 第一章绪论子商务份额会占据总体电子商务 20%的份额10。1.3相关工作手机网上商城的实现分为客户端和服务端两部分。服务端的实现借助 GitHub中的开源项目“Red Shopping”来实现,作者主要负责客户端应用程序的开发和实现。通过学习研究 Android应用程序的开发流程,Android系统的体系架构和特点,数据库的设计实现,客户端和服务器之间的 Socket通信,javaEE中的 SSH框架,加深了自己对程序开发的理解,提高了自己的程序开发能力。一个界面友好,功能合理的手机商城购物程序,可以为电商吸引更多的客户,提高自己的知名度。在一定程度上,一个友好绚丽使用体验良好的界面可以决定一个软件的生命周期。本文接下来将从五个方面描述手机商城购物程序的开发过程:1)需求分析这是程序开发的首要任务,清晰的分析理解问题是解决问题的前提条件,通过需求分析搞清楚程序要实现的功能,实现的难点,理清各种功能模块之间的调用关系。在需求分析阶段,通过使用 Rational Rose(一种面向对象的统一建模语言的可视化建模工具)来画出客户端应用程序所涉及的主要用例图、活动图、以及类图,在这之后选择 Java语言来自动生成代码,这样可以大大提供程序的开发效率,节约时间成本。2)客户端的设计实现在之前需求分析结果的基础之上,依据需求分析文档中的要求,逐步实现客户端的各项功能。重点实现的内容包括:客户端程序的界面设计和实现、商品图片的异步加载方式、一些较大数据的压缩和解压缩、客户端和服务端之间的通信借口设计。需要说明的是,在客户端开发的过程用使用了代码版本管理工具 Git,Git是一种开放源代码的分布式版本控制工具,能够高效的管理软件项目的开发进程。3)与服务端的通信通过分析研究,首先定义一种服务器和客户端口可以接受的通信格式。其次,根据客户端的具体需求,定义一个能够跟服务器高效地进行数据交换的接口。根据之前需求分析的结果,从中抽象出各个实体所对应的类,为之后的数据库设计打好基础。最后将定义在需求文档中的业务逻辑接口合理实现。在设计客户端和服务器之间通信方式的过程中,作者使用基于JSON的数据交换格式,该数据格式采用完全独立于具体程序语言的本文3 电子科技大学硕士学位论文格式,采用 C系语言的定义风格,易于程序员的编写阅读,非常适用于通信压力较轻的应用场合。4)系统的测试和优化在客户端应用程序的开发基本结束之后,要针对需求分析报告中的各项功能做一些测试,以保证各项功能都可以正确的实现。因为该客户端程序需要通过无线网络跟服务器端进行交互,所以对通信的实时性有较高的要求。因此在分析出性能瓶颈的结点之后,采取一些措施进行优化。提高系统的响应速度,改进人机交互的体验。1.4论文结构安排根据软件的实际开发过程,将本论文划分为六大章节。第一章绪论在绪论部分,主要介绍了研究课题的背景,相关课题在国内的研究发展现状,研究实现过程中所要解决的一些重要问题和使用到的一些重要技术,以及研究过程的简略描述。第二章关键技术介绍在第二章中主要介绍了客户端应用程序开发过程需要使用的一些关键技术和应用到的技术架构。客户端和服务器两中程序的开发都要用到 java语言,其中客户端程序是基于 Android平台的应用程序开发,具体的开发环境为 Eclipse(集成了 ADT插件),服务端使用流行的 SSH技术在 MyEclipse环境下进行开发。整个手机购物系统采用了经典的 C/S架构,通过将任务合理的分配到客户端和服务器端,降低了整个系统的通信开销。第三章系统需求分析该购物系统的业务逻辑一共分为七部分,用户登陆模块、用户注册模块、商品展示模块、促销商品展示模块、购物车模块、订单模块、其他功能模块。良好的系统需求分析能够为之后的项目开发打下良好基础。第四章系统详细设计论文在第四章详细介绍系统的整体架构、客户端服务器之间的通信设计、业务设计、持久层设计,一共四部分。从全局的角度划分,系统主要分为两部分:客户端和服务器。客户端指的是 Android系统平台上的应用程序。服务器主要是指由J2EE服务器、Web服务器和数据库构成的服务端。第五章系统的实现在之前完成的系统需求分析和系统详细设计的基础上,具体实现客户端和服4 第一章绪论务器之间的通信以及系统各个功能模块。其中客户端和服务器之间通信方式的设计尤为重要,因为这关系到系统的稳定性和用户的使用体验,之后根据业务流程分析结果和数据持久化结果实现具体的模块。第六章总结与展望总结了全文的主要内容。5 电子科技大学硕士学位论文第二章关键技术介绍2.1开发语言 JAVAJava的诞生要归功于 Sun公司的“Green”项目,该项目是为了开发一种用于管理控制电子消费产品的分布式系统。开发人员最初计划使用 C+开发,但是因为C+的复杂性和安全性问题,开发者最后放弃使用 C+,选择在 C+的基础之上开发一门新的语言 Oak(java的前身)。Oak于 1995年 1月更名为“java”11Java是一种面向对象的高级语言,它最大的特点就是平台无关性,这使得 java特别适合网络环境内的应用程序开发。目前Java有三种技术分支,它们分别是JAVASE,JAVA EE,JAVA ME。JAVA SE是 Java Platform Standard Edition的英文缩写,汉语意思是 Java平台标准版,适用于开发标准的桌面程序、以及各种基础的类库。JAVA EE是 Sun公司推出的企业级应用程序开发平台,能够让开发人员短时间内开发出健壮、跨平台和易扩展的服务器端应用程序。JAVA ME是 Sun公司推出的一种针对嵌入式电子消费产品的应用程序开发版本。JAVA SE是 Java EE和 JavaME的基础12。Java的语法特征跟 C+语言非常类似,因此有 C语言基础或者 C+基础的程序员可以非常快速的上手 Java。但是与 C+相比,Java还是有自己的鲜明特点:(1)实现了自动管理内存。Java语言本身提供了 GC(垃圾回收)机制,垃圾回收器可以自动的管理应用程序所在的内存空间,程序员不必再为申请内存和释放内存劳心费神,彻底远离了可怕的内存泄露问题。(2)取消了“指针”这一概念,以“引用”代替,使开发人员摆脱了复杂的内存访问和内存管理问题,从而使 java语言开发出来的程序更加安全健壮。(3)取消了“多重继承”,只支持单一继承,增加了接口概念和匿名内部类,间接地实现了“多重继承”机制的功能,避免了多重继承带来的复杂性,例如菱形继承问题、虚函数问题和访问权限冲突问题等等。Java语言是一种解释型语言,跟 C、C+这种类型的语言相比,java的执行效率很低。因为 Java程序的执行必须依赖于 Java解释器,而 java解释器的存在使 java真正实现了“一次编写,处处运行”的目标,为了达到这个目标而牺牲一部分效率还是非常值得的19。另外,Java语言具有特别强大的、易于联网的特点,因此 Java特别适合开发分布式的程序。在所有的计算机高级语言中,使用 Java语言编写Socket程序是最简单的。6 第二章关键技术介绍2.2系统架构选择一个合理的系统架构能够很大程度上决定一个项目的开发成败。在电子商城类项目的开发历史中存在 C/S和 B/S两种架构。在上个世纪九十年待,C/S是一种主流的架构。但是随着 Web应用的快速发展,C/S架构已经渐渐地被 B/S架构所取代12,19。在 B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件 13。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由 Web Server完成。实际上 B/S体系结构是把二层 C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由 Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了 Web服务器14。这种三层体系结构如图 2-1所示。Browse浏览器Web服务器数据库图 2-1 B/S三层架构示意图C/S架构主要包括“客服端”“中间件”“服务端”三大部分。用户可以通过客户端应用程序向服务器发送各种请求,并接受从服务器返回的数据信息。服务器会接受来自客户端的信息并作出相应,同时负责管理系统的各种后台数据和信息,比如数据库信息。服务器要面对的一个难点就是当多可用户同时请求同一种资源时,应该如何相应这些请求 15。中间件是客户端程序和服务端程序沟通的桥梁,主要负责数据结构的定义和数据传输 16。由于安卓平台的应用开发非常的便捷高效,借住一个自主的 APP应用程序,可以更加高效合理的展示商品信息,提高用户的手机购物体验,因此选择 C/S架构作为手机网上商城的系统架构。C/S架构的示意图如图 2-2所示。客户端中间件服务器端图 2-2 C/S架构示意图7 电子科技大学硕士学位论文2.3安卓开发技术简介Android系统基于 Linux内核,但并不是标准的 linux内核。为了让 Android系统更加适用于移动终端设备, google对 Linux的内核进行了各种优化和加强。Android平台采用了一种“软件叠层”的方式构建,它由分别是应用程序层、框架层、函数库层、运行时库、内核五层构成 17,18互独立,底层的改变不会影响上层。这种构架方式的好处就是各层之间相2.3.1 Android体系结构Android体系结构从上到下一共分为 5层,分别是应用程序层、框架层、函数库层、运行时库、内核。应用程序层主要包含系统的核心应用程序,比如浏览器、电话薄、日历计算器等等;框架层为应用程序层提供了所需要的 API,这些 API都包含在 Google提供的 Android SDK中;函数库由大量的 C/C+库构成,这些库函数一般不会直接被应用程序调用,而是被框架层的 API调用,而 JAVA和 C/C+之间的跨语言调用借助于 JNI技术;运行时库包括核心库和 Dalvik虚拟机,核心库封装了 JAVA语言的全部功能,Dalvik虚拟机负责安卓应用程序的运行。内核层主要负责内存管理、进程管理、网络协议栈和驱动模型的实现,位于整个架构的最底层20,21,22。Android的体系结构图如图 2-3所示。2.3.2 Android应用的基本组件Android应用程序通常是由一个或者多个基本组件构成的。Android应用程序的基本组件包括: Activity(活动)、Service(服务)、BroadcastReceiver(广播)、ContentProvider(内容提供者)23。其中最常用也是最常用到的组件就是 Activity(活动),下面简要的介绍一下这四种组件。Activity(活动)Activity是 Android系统中负责跟用户进行交互的组件,它为 Android系统提供了可视化的用户界面。如果一个安卓应用程序包含多个用户界面,那么这个安卓应用必将包含多个 Activit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 笔墨纸砚试题及答案
- 包装运输试题及答案
- 产品推广流程
- 2025年春节节前安全培训
- 冷轧酸洗工艺流程
- 二甲医院等级评审前培训
- ICU病人腹泻护理查房
- 小学音乐《爱我中华》课程
- 布艺销售培训
- 智齿拔除病例分析与微创拔牙技术应用
- 职业教育法考试题库附完整答案【历年真题】
- 2023-2024学年人教版数学八年级下册 期末达标测试卷(四)
- 2024年河南能源集团有限公司招聘笔试冲刺题(带答案解析)
- 500字作文标准稿纸A4打印模板-直接打印
- 高中数学《函数的概念及其表示》大单元专题教学设计
- 第09讲醛酮(教师版)-高二化学讲义(人教2019选择性必修3)
- 巡回医疗工作总结
- 高血压 糖尿病 健康宣教
- 国开电大软件工程形考作业3参考答案
- 食堂检查燃气安全培训记录
- 湖南省长郡中学、雅礼中学等四校2024届高一数学第二学期期末调研试题含解析
评论
0/150
提交评论