毕业设计(论文)-基于Android的手机团购应用的设计与实现.doc_第1页
毕业设计(论文)-基于Android的手机团购应用的设计与实现.doc_第2页
毕业设计(论文)-基于Android的手机团购应用的设计与实现.doc_第3页
毕业设计(论文)-基于Android的手机团购应用的设计与实现.doc_第4页
毕业设计(论文)-基于Android的手机团购应用的设计与实现.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

武汉工程大学邮电与信息工程学院武汉工程大学邮电与信息工程学院毕业设计(论文)毕业设计(论文)基于基于Android的手机团购应用的设计与实现的手机团购应用的设计与实现TheDesignandImplementationofMobileGroupBuyApplicationsBasedOnAndroid学生姓名学号专业班级指导教师2015年年4月月武汉工程大学邮电与信息工程学院毕业设计(论文)作者声明作者声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。特此声明。作者专业:作者学号:作者签名:_年_月_日武汉工程大学邮电与信息工程学院毕业设计(论文)摘摘要要近些年来我国网络基础设施不断完善、信息技术不断发展,计算机网络已经基本实现了全民普及。而且随着第三方支付工具如支付宝、财付通等的不断发展和完善,网络团购日益成为网民日常网络生活的一项重要内容。目前国内的主流团购网站美团、百度糯米、大众点评等等都推出了自己的手机团购应用程序,这显示各大团购网站对手机端团购群体的争夺越来越激烈。Android是一种以Linux为基础的开放源码操作系统,主要用于便携设备,由Google公司在2007年11月5日正式公布。虽然AppleiOS、微软WindowsPhone和黑莓都占有一定的市场,但截至目前,Android仍保持智能手机市场强劲主导地位,出货量持续增长。在中国市场,Android份额更是接近84%,因此选择在安卓智能手机平台上开发一个手机团购应用是很有意义的。本系统设计并实现了一款手机团购应用,整个系统基于CS架构,由客户端和服务器端两个部分构成。客户端负责向用户呈现各类信息、向服务器端发送请求,服务器端接收请求并将处理结果返回给客户端。客户端由一个Android应用程序构成,该应用程序基于Eclipse(集成ADT插件)和AndroidSDK开发,实现了商品信息的展示、用户信息的管理、用户订单信息的管理、购物车功能、收货地址管理等一系列功能;服务器端基于SSH架构实现了业务逻辑和具体数据的分离。开发过程中的难点主要集中在业务逻辑的处理和数据持久化的实现。业务逻辑依赖前期的需求分析得到解决,数据的持久化借助SQLite技术得以实现。关键词:关键词:安卓;团购;CS;Eclipse武汉工程大学邮电与信息工程学院毕业设计(论文)AbstractThenetworkinfrastructureofChinahasbeenimprovedinrecentyears.Withtheinationtechnologydevelopingthecoverageofcomputernetworkhasbecameuniversal.Becauseofthecontinuousdevelopmentofthethird-partypaymenttoolsthenetworkGroupBuyisincreasinglybecomeanimportantthingtotheonlineInternetusersintheirdailylife.ThecurrentdomesticGroupBuyWebsitessuchasMeituanBaiduNuomiDazhongdianpinandsoonhaslaunchedtheirmobilephoneGroupBuyapplicationitshowsthatthecompetitionobileterminalonlinegroupshasbecamemoreandmoreintense.AndroidisaLinux-basedopensourceoperatingsystemmainlyforportabledevicesItisannouncedbyGoogleinNovember52007.AlthoughApplesiOSMicrosoftsWindowsPhoneandBlackBerryarealsooccupyacertainmarketButsofarAndroidsmartphonemarketstillremainsstrongdominanceshipmentscontinuedtogrow.IntheChinesemarketAndroidsystemreachednearly84%shareofthemarketSochoosetheAndroidplattodevelopamobileGroupBuyapplicationisverymeaningful.TheSystemcarriedoutthedevelopmentoftheprograminterfaceonclientpartwhichrealizetheinterfacedesignbetweenclientandserver.ThewholemobilephoneGroupBuysystembasedonCSarchitectureconsistsofclientandserver.Clientisresponsibleforsendingrequeststotheservertheserveracceptstherequestprocessestherequestandreturnstheresultstotheclient.ClientconsistsofanAndroidapplicationtheapplicationisbasedonEclipsewiththeAndroidSDKdevelopmenttheserverisbasedonSSHarchitecturewhichimplementstheseparationofbusinesslogicandthespecificdata.Thedifficultyinthedevelopmentaremainlyconcentratedonthetreatmentofbusinesslogicanddatapersistence.BusinesslogicreliesontheearlyresolveddemandanalysisanddatapersistenceissolvedbyusingHibernatetechnology.KeyWords:AndroidGroupBuyCSEclipse武汉工程大学邮电与信息工程学院毕业设计(论文)目目录录第1章绪论.11.1研究背景.11.2国内发展现状及趋势.11.3相关工作.21.4论文结构安排.2第2章关键技术介绍.42.1开发语言Java.42.2系统架构.52.3Android平台简介.62.3.1Android体系结构.62.3.2Android基本组件.72.3.3Android应用工程源码结构.92.4SSH框架简介.102.5Quartz调度框架.112.5.1Quartz存储方式.122.5.2Quartz触发器.122.5.3Quartz调度器.122.5.4Quartz在本系统中的应用.122.6本章小结.13第3章系统分析.143.1系统结构分析.143.2业务模块分析.153.2.1注册登录模块分析.153.2.2商品信息展示模块分析.163.2.3购物车模块分析.163.2.4订单模块分析.17武汉工程大学邮电与信息工程学院毕业设计(论文)3.3本章小结.18第4章系统设计.194.1客户端和服务器之间的通信设计.204.1.1连接方式的设计.204.1.2客户端服务器之间的数据处理.204.2业务逻辑设计.214.2.1登录注册模块业务逻辑.214.2.2商品信息模块业务逻辑.234.2.3订单模块业务逻辑.244.2.4购物车模块业务逻辑.264.2.5地址管理模块业务逻辑.264.2.6收藏夹管理模块业务逻辑.264.3数据库设计.274.4本章小结.29第5章系统实现.305.1客户端和服务器之间的通信.305.1.1通信连接的建立.305.1.2通信数据的处理.315.2系统功能模块的实现.325.2.1用户登录注册功能的实现.325.2.2商品信息展示功能的实现.355.2.3购物车功能的实现.365.2.4结算模块功能的实现.385.2.5收藏夹模块功能的实现.395.3本章小结.40第6章总结.41参考文献.42致谢.43武汉工程大学邮电与信息工程学院毕业设计(论文)1第第1章章绪论绪论本章主要介绍了网络团购的现状及其未来的发展趋势、智能手机操作系统的现状和它们各自所占的市场份额,以及论文的主体内容和论文的结构框架。1.1研究背景研究背景近些年来随着我国网络基础设施的不断完善、信息技术不断发展,计算机网络已经在全国范围内基本实现了全民普及。伴随着第三方支付工具的不断发展和完善,网络购物日益成为网民日常网络生活的一项重要内容。而网络团购作为网上购物的一种组成方式,具备了网络购物的所有优点,如方便、快捷、不受地域限制等,最重要的是网络团购可以享受比普通网购更低的价格,而价格优势又成为其受广大网民欢迎的最主要的核心优势,不断增长的移动互联网终端使得手机团购必然会成为继网站购物后又一种比较流行的购物方式。手机团购具有操作方便、简单的特点,而且经过多年的发展,第三代移动通信(3G)技术得到了广泛的接受和第四代移动通信技术(4G)的兴起,为移动终端用户带来了更快的数据传输速率这就更加推动了手机团购必然会成为又一种流行的购物方式。1.2国内发展现状及趋势国内发展现状及趋势据易观智库最新发布的中国移动互联网数据盘点预测专题研究报告2015数据显示,在2014年,中国移动互联网市场规模迎来增速高峰值,增长率达到183.8%,总量达13437.7亿元人民币。在用户移动化行为习惯逐渐养成的前提下,2014年移动互联网整体市场表现突出,其中,移动购物是增长的主要驱动力。虽然中国移动互联网用户规模增速有所放缓,但用户数达到7.3亿人,与2013年相比增长11.8%,继续保持着超越PC端用户量的态势1。目前针对智能手机的操作系统,主要有Apple公司的IOS、Google公司的Android、微软公司的WindowsPhone和加拿大ResearchInMotion(简称RIM)公司的Blackberry系武汉工程大学邮电与信息工程学院毕业设计(论文)2统。其中,Google公司的Android系统因其开放性而受到全世界人民的喜爱,占据着智能手机市场的主导地位,Android系统智能手机出货量持续增长,占总份额的近84%,并且其占有率仍处于上升趋势。1.3相关工作相关工作一个界面友好,功能合理的手机团购应用,可以吸引更多网购客户,提高自己的知名度。在一定程度上,一个友好绚丽、使用体验良好的界面可以决定一个应用的生命周期。本文接下来将从三个方面描述手机团购应用的开发过程:(1)需求分析这是程序开发的首要任务,清晰地分析和理解问题是解决问题的前提条件,通过需求分析弄清楚程序要实现的功能,实现的难点,理清各种功能模块之间的调用关系。做好这些工作之后就可以大大提供程序的开发效率,节约时间成本。(2)客户端的设计和实现在之前需求分析结果的基础之上,依据需求分析文档中的要求,逐步实现客户端的各项功能。重点实现的内容包括:客户端程序的界面设计和实现、商品图片的异步加载方式、一些较大数据的压缩和解压缩、客户端和服务器端之间的通信接口设计。(3)与服务器端的通信通过分析研究,首先定义一种服务器端和客户端都可以接受的通信格式。其次,根据客户端的具体需求,定义一个能够跟服务器高效地进行数据交换的接口。根据之前需求分析的结果,从中抽象出各个实体所对应的类,为之后的数据库设计打好基础。最后将定义在需求文档中的业务逻辑接口合理实现。在设计客户端和服务器端之间通信方式的过程中,作者使用基于JSON的数据交换格式,该数据格式采用完全独立于具体程序语言的本文格式,采用C系语言的定义风格,易于程序员的编写阅读,非常适用于通信压力较轻的应用场合。武汉工程大学邮电与信息工程学院毕业设计(论文)31.4论文结构安排论文结构安排根据软件的实际开发过程,将本论文划分为六大章节。第一章为绪论,主要介绍了研究课题的背景,相关课题在国内的研究发展现状,研究实现过程中所要解决的一些重要问题和使用到的一些重要技术,以及研究过程的简略描述。第二章为关键技术介绍,主要介绍了客户端应用程序开发过程需要使用的一些关键技术和应用到的技术架构。第三章为系统需求分析,该购物系统的业务逻辑一共分为六部分,用户登录模块、用户注册模块、商品展示模块、购物车模块、订单模块、其他功能模块。良好的系统需求分析能够为之后的项目开发打下良好基础。第四章为系统详细设计,包括系统的整体架构、客户端和服务器端之间的通信设计、业务设计,一共三个部分。第五章为系统实现,在之前完成的系统需求分析和系统详细设计的基础上,具体实现客户端和服务器端之间的通信以及系统各个功能模块。第六章为总结,总结了全文的主要内容。武汉工程大学邮电与信息工程学院毕业设计(论文)4第第2章章关键技术介绍关键技术介绍2.1开发语言开发语言JavaJava的诞生要归功于Sun公司的“Green”项目,该项目是为了开发一种用于管理控制电子消费产品的分布式系统。开发人员最初计划使用C+开发,但是因为C+的复杂性和安全性问题,开发者最后放弃使用C+,选择在C+的基础之上开发一门新的语言Oak(java的前身)。Oak于1995年1月更名为“java”。Java是一种面向对象的高级语言,它最大的特点就是平台无关性,这使得Java特别适合网络环境内的应用程序开发。目前Java有三种技术分支,它们分别是JavaSE,JavaEE,JavaME。JavaSE是JavaPlatStandardEdition的英文缩写,汉语意思是Java平台标准版,适用于开发标准的桌面程序、以及各种基础的类库。JavaEE是Sun公司推出的企业级应用程序开发平台,能够让开发人员短时间内开发出健壮、跨平台和易扩展的服务器端应用程序。JavaME是Sun公司推出的一种针对嵌入式电子消费产品的应用程序开发版本。JavaSE是JavaEE和JavaME的基础2。Java的语法特征跟C+语言非常类似,因此有C语言基础或者C+基础的程序员可以非常快速的上手Java。但是与C+相比,Java还是有自己的鲜明特点:(1)实现了自动管理内存。Java语言本身提供了GC(垃圾回收)机制,垃圾回收器可以自动的管理应用程序所在的内存空间,程序员不必再为申请内存和释放内存劳心费神,彻底远离了可怕的内存泄露问题。(2)取消了“指针”这一概念,以“引用”代替,使开发人员摆脱了复杂的内存访问和内存管理问题,从而使java语言开发出来的程序更加安全健壮。(3)取消了“多重继承”,只支持单一继承,增加了接口概念和匿名内部类,间接地实现了“多重继承”机制的功能,避免了多重继承带来的复杂性。Java语言是一种解释型语言,跟C、C+这种类型的语言相比,java的执行效率很低。因为Java程序的执行必须依赖于Java解释器,而java解释器的存在使java真正实现了“一次编写,处处运行”的目标,为了达到这个目标而牺牲一武汉工程大学邮电与信息工程学院毕业设计(论文)5部分效率还是非常值得的。另外,Java语言具有特别强大的、易于联网的特点,因此Java特别适合开发分布式的程序。在所有的计算机高级语言中,使用Java语言编写Socket程序是最简单的3。2.2系统架构系统架构选择一个合理的系统架构能够很大程度上决定一个项目的开发成败。在互联网团购类项目的开发历史中存在CS和BS两种架构。在BS体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。BS结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。实际上BS体系结构是把二层CS结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样能减轻客户机的压力。这种三层体系结构如图2.1所示。图图2.1BS三层架构示意图三层架构示意图CS架构主要包括“客户端”、“中间件”、“服务端”三大部分。用户可以通过客户端应用程序向服务器发送各种请求,并接收从服务器返回的数据信息。服务器会接收来自客户端的信息并作出响应,同时负责管理系统的各种后台数据和信息,比如数据库信息。服务器要面对的一个难点就是当多个用户同时请求同一种资源时,应该如何响应这些请求。中间件是客户端程序和服务端程序沟通的桥梁,主要负责数据结构的定义和数据传输。由于Android平台的应用开发非常的便捷高效,借助一个自主的APP应用程序,可以更加高效合理的展示团购商品信息,提高用户的手机团购体验,因此选择CS架构作为本手机团购应用的系统架Browse浏览器Web服务器数据库武汉工程大学邮电与信息工程学院毕业设计(论文)6构。CS架构的示意图如图2.2所示。图图2.2CS架构示意图架构示意图2.3Android平台简介平台简介Android系统基于Linux内核,但并不是标准的linux内核。为了让Android系统更加适用于移动终端设备,google对Linux的内核进行了各种优化和加强。Android平台采用了一种“软件叠层”的方式构建,它由分别是应用程序层、框架层、函数库层、运行时库、内核五层构成。这种构架方式的好处就是各层之间相互独立,底层的改变不会影响上层。2.3.1Android体系结构体系结构Android体系结构从上到下一共分为5层,分别是应用程序层、应用程序框架层、函数库层、运行时库层、内核层。应用程序层主要包含系统的核心应用程序,比如浏览器、电话薄、日历计算器等等;应用程序框架层为应用程序层提供了所需要的API,这些API都包含在Google提供的AndroidSDK中;函数库层由大量的CC+库构成,这些库函数一般不会直接被应用程序调用,而是被应用程序框架层的API调用,而Java和CC+之间的跨语言调用借助于JNI技术;运行时库层包括核心库和Dalvik虚拟机,核心库封装了Java语言的全部功能,Dalvik虚拟机负责安卓应用程序的运行。内核层主要负责内存管理、进程管理、网络协议栈和驱动模型的实现,位于整个架构的最底层4。Android的体系结构图如图2.3所示。客户端中间件服务器端武汉工程大学邮电与信息工程学院毕业设计(论文)7图图2.3Android系统架构图系统架构图2.3.2Android基本组件基本组件Android应用程序通常是由一个或者多个基本组件构成的。Android应用程序的基本组件包括:Activity(活动)、Service(服务)、BroadcastReceiver(广播)、ApplicationFramework(应用软件架构)(应用软件架构)ViewSystemWindowsManagerActivityManagerContentProviders软件组件电话管理资源管理位置管理提示管理AndroidRuntimeAndroidLibrariesDalvik虚拟机器Library(函数库)(函数库)SurfaceManagerMediaFrameworkSQLiteOpenGLFreeTypeWebKitSGLOpenSSLLibcLinuxKernel硬件驱动电源管理Wi-Fi网络内存管理相机驱动Application(应用程序)(应用程序)文件管理浏览器照相程序通讯录电话武汉工程大学邮电与信息工程学院毕业设计(论文)8ContentProvider(内容提供者)5。其中最常用也是最常用到的组件就是Activity(活动),下面简要的介绍一下这四种组件。(1)Activity(活动)Activity是Android系统中负责跟用户进行交互的组件,它为Android系统提供了可视化的用户界面。如果一个安卓应用程序包含多个用户界面,那么这个安卓应用必将包含多个Activity。多个Activity将组成一个Activity栈,栈顶对象就是当前处在活动状态的Activity。随着不同应用的交替运行,每个Activity都可能从活动状态转入非活动状态,也可能从非活动状态转入活动状态。Activity具有四种状态:活动状态、暂停状态、停止状态、销毁状态。当Activity处于前台,用户可见并可获得焦点的时候,Activity就处在活动状态;当其他Activity位于前台,该Activity依然可见但无法获得焦点,该Activity处在暂停状态;当Activity不可见,失去焦点时,该Activity处在停止状态;当Activity所在的Dalvik进程结束时,Activity处在销毁状态。这四种状态的切换过程如图2.4所示。图图2.4Activity生命周期生命周期StartingRunningStoppedPausedDestroyedd(1)onCreat()(2)onStart()(3)onRestoreInstanceState()(4)onResume()(1)onSaveInstanceState()(2)onPause()(3)onResume()(2)onCreat()(1)onRestart()(1)onSaveInstanceState()(2)onStop()onResume()onDestroy()or(可选)武汉工程大学邮电与信息工程学院毕业设计(论文)9(2)Service(服务)Android系统架构中,Service和Activity具有相同的地位。Service和Activity的区别就是Service处在后台运行没有图形界面。Service运行起来以后也会具有自己的生命周期。当需要在后台运行服务或者监控其他组件的状态变化的时候,就需要借助Service组件了。Service跟Activity类似,也具有自己的生命周期,分别为:创建(onCreate)、开始(OnStart)、运行(ServiceRunning)、停止(OnStop)、销毁(OnDestroy)。(3)BroadcastReceiver(广播)顾名思义,BroadcastReceiver代表的就是广播消息接收器,该组件本质上是一种全局的监听器,可以监听的系统全部的广播。从代码的实现角度来看,它非常类似于事件编程中的监听器。与普通的事件监听器不同的是,BroadcastReceiver监听的事件源是Android系统中的组件,普通事件监听器监听的事程序中的对象,利用这点我们可以非常方便的实现系统中不同组件之间的通信。需要注意的是对广播的滥用会加重系统的功耗负载。(4)ContentProvider(内容提供者)Android系统中每个应用程序都运行在各自的Dalvik虚拟机中,也就是说应用程序之间是相互独立的。但是在很多情况下,应用程序之间也是需要实时地交换数据的,例如打电话的程序就要调用联系人应用中的电话号码。ContentProvider就是Android系统为跨应用进程之间的数据交换设定的一种标准。通常ContentProvider和ContentResolver是配套使用的,一个应用程序使用ContentProvider暴露自己的数据,使用ContentResolver访问别的应用程序的数据。2.3.3Android应用工程源码结构应用工程源码结构目前,Android应用程序的主流开发平台是Eclipse。通过在Eclipse中安装ADT插件,用户可以非常方便的生成Android工程、管理虚拟机镜像(AVD),调试Android应用程序、打包Android应用程序等等。在Eclipse环境下,一个典型的Android工程包括以下几个目录和文件:武汉工程大学邮电与信息工程学院毕业设计(论文)10(1)Src该目录下存放的是Android应用的源文件,都是用java语言编写成的。(2)Gen该目录下存放的系统自动生成的文件。其中最核心的文件就是R.java。R.java文件是由appt工具根据应用的资源文件自动生成的,换句话说R.java就是Android应用中的资源字典。需要注意的是,R.java不可以删除,即使被删除了系统也会自动生成。(3)AndroidX.X该目录下存放的是AndroidSDK。这是Android应用的程序开发包,其中提供了Android系统开放的所有API。根据用户设定的不同,该目录下SDK的版本号也不尽相同。(4)Bin该目录下存放生成的目标文件,比如java二进制文件、资源打包文件、Dalvik虚拟机的可执行文件(.dex后缀)。(5)Libs该目录存放用户导入的第三方jar包。(6)ResRes目录下存放了Android应用的所有资源,包括图片资源、颜色资源、字符串资源、尺寸资源等等。按照Android的规定,不同的资源都会放在不同的目录中,比如字符串资源就放在resvaluestring.xml中。(7)AndroidManifest.xmlAndroidManifest.xml文件是每个Android工程必备的,这是一个安卓应用的全局描述文件。AndroidManifest.xml文件中制定了应用的名称、图标、包含的组件、应用程序兼容的最低版本、以及要获得的权限。2.4SSH框架简介框架简介SSH框架在Web应用开发中是一种非常受欢迎的架构,它主要由“struts”、“spring”、“hibernate”构成,能够帮助开发人员在短时间内开发出结构健壮、重武汉工程大学邮电与信息工程学院毕业设计(论文)11用性强、方便后期维护的Web应用。从功能的角度我们可以将SSH分成三层:表示层、业务逻辑层、和数据持久层6。SSH框架中,“spring”负责整个系统的底层架构,它主要负责MVC模型结构分离,控制业务调用流程;“hibernate”框架实现了对JDBC的轻量级封装,提供了对持久层的支持;“struts”负责总体的管理。采用SSH框架后,彻底实现了业务逻辑层和持久层的分离,无论前端怎样变化,都不会对模型造成影响,数据库结构的改变也不会影响到前端。SSH框架模型如图2.5所示:图图2.5SSH架构结构图架构结构图2.5Quartz调度框架调度框架Quartz是一种由Java写成的开源系统框架。应用该项技术我们可以为一项作业创建简单或复杂的调度,提高开发效率。在系统的开发过程中,我们可能需要周期性地执行一些任务,或者定时执行某些任务,这时我们就需要借助Quartz技术了。控制层Struts2StrutsXMLActionJSPFreeMaker等业务逻辑层控制层SpringIoc容器AOP支付Spring声明式事物业务逻辑组件HibernateSessionFactoryHibernate数据源连接池HibernateORMHibernate查询Hibernate其他服务自动装配DAO组件DataTransferObjectDomainModelObject武汉工程大学邮电与信息工程学院毕业设计(论文)122.5.1Quartz存储方式存储方式Quartz主要支持两种存储方式:(1)JDBC类型的存储。JDBC指的是Java数据库连接,它是一种专门负责连接并操作数据库的标准。使用该方式是需要安装特定的JDBC驱动程序和后台数据库。(2)RAMJobStore机制。这是一种性能极好、易于使用配置的调度机制,从字面意思我们就可以看出,它将调度信息保存在内存中。但缺点就是当机器重新启动的时候所有的调度信息都会丢失。2.5.2Quartz触发器触发器Quartz框架中定义了触发器机制和触发器类型,在该触发器机制下作业和对作业的调度是可以分离的,而作业被调度的时间点是由触发器决定的。常用的触发器有以下两种类型:(1)CronTrigger。该触发器是为复杂的任务调度设计的。如果我们要在某月的一号和十五号执行某个任务,我们就应该选用这种触发器。(2)SimpleTrigger。从字面意思我们就可以知道这是一种用于简单任务调度的触发器。如果我们需要一个任务在一个固定的时间点执行的话就选用这种触发器,它非常类似与Java语言中的Timer(定时器)。2.5.3Quartz调度器调度器调度器是Quartz框架的核心,它借助于Quartz框架中的一些重要组件管理Quartz运行时的环境。Quartz的架构是一种基于多线程的架构,在该框架启动的时候,它会初始化一系列的worker线程,这些线程主要被调度器调用来执行预设好的任务。这就是Quartz能够并行执行多个任务的基本原理。2.5.4Quartz在本系统中的应用在本系统中的应用在系统的正常运行中,随时会面临库存的更新事件,比如有新的商品上架了武汉工程大学邮电与信息工程学院毕业设计(论文)13或者旧的商品下市了,因此优秀的调度机制是非常重要的。Quartz框架恰好为我们提供了良好的调度接口,可以显著提高程序的开发效率。2.6本章小结本章小结本章介绍了Java语言的特点、团购系统使用的架构、轻量高效的SSH框架和Android系统相关的内容。为接下来的系统需求分析和程序开发奠定基础。武汉工程大学邮电与信息工程学院毕业设计(论文)14第第3章章系统分析系统分析随着手机上网用户数量的激增、智能手机平板电脑的普及、无线上网速度的提升、上网资费的下降,借助手机进行网上购物成为一种必然的趋势。而网络团购作为一种新型的网购模式,由于具有较高的品牌知名度、占有较大的市场份额、服务体系完善、售后好、产品质量稳定等特点,而且相比于传统电商而言,其价格也低于产品市场最低零售价,能降低消费者成本,并且产品的质量也有很好的保证。因此,网络团购模式也越来越受到人们的青睐。目前,国内的各大团购网站(美团、百度糯米、大众点评等)均针对自己网站的特点,推出了对应的手机团购软件。在这样一个大的背景下,作者也尝试在安卓平台上实现这种类型的手机团购应用。该团购系统的业务逻辑一共分为六部分,用户登录模块、用户注册模块、商品展示模块、购物车模块、订单模块、其他功能模块。3.1系统结构分析系统结构分析整个系统可以分为客户端和服务器端,客户端可以实现用户的注册和登录,可以进行商品搜索,商品浏览,商品购买,订单管理,购物车管理,收藏夹管理等功能。服务器端可以实现会员管理,团购商品增加、删除、查找、修改和订单管理等功能。具体系统结构如图3.1所示。图图3.1系统结构图系统结构图客户端服务端注册登录商品搜索商品浏览商品购买订单管理购物车收藏夹会员管理商品增加商品删除商品查找商品修改商品管理团购系统武汉工程大学邮电与信息工程学院毕业设计(论文)153.2业务模块分析业务模块分析在该小节中将结合客户端角度的系统用例图描述六个重要模块的具体功能。这六个功能模块分别是:用户登录模块、用户注册模块、商品展示模块、购物车模块、订单模块、其他功能模块。在本节接下来的部分中将详细介绍这六个功能模块的需求分析信息。手机团购应用程序系统用例图见图3.2所示。图图3.2系统用例图系统用例图3.2.1注册登录模块分析注册登录模块分析注册模块。该模块规定了账号的格式、密码的格式和长度。账号格式为一个已经注册的有效邮箱地址,如果用户输入的邮箱地址格式错误,系统要弹出错误提示信息。密码由数字、英文字母构成,长度为8-16位,在用户进行注册的时候,应该让用户输入两次密码,并确保两次输入的密码一致,用户注册账号成功后会自动登录并跳到系统首页。登录模块。用户填写的账号、密码信息在通过服务器端的验证后才可以成功登录,系统能够弹出用户账号或者密码错误的提示信息。用户登录成功后会进入用户登录用户注册商品浏览浏览商品收藏商品加入购物车个人中心提交订单订单管理收藏夹管理地址管理用户武汉工程大学邮电与信息工程学院毕业设计(论文)16系统首页,登录失败后还停留在在登录界面用户可以点击取消按钮跳到系统首页。3.2.2商品信息展示模块分析商品信息展示模块分析商品信息模块主要由四部分构成,分别是:商品分类、商品简略信息展示、商品详细信息展示、商品列表项展示。商品分类。商品分类包括一级分类和二级分类。一级分类包括美食、娱乐、生活、酒店旅游、网购和其他。二级分类在一级分类的基础上对商品进行了更细致的展示。商品列表。根据用户选择的不同排序方式,商品将按照对应的方式显示。这四种排序方式分别是:默认排序、按价格排序、按折扣排序、按发布时间排序。默认排序实际上就是按照销量来排序,价格排序就是按照商品价格的高低来排序;折扣排序就是按照一件商品的折扣程度进行排序;发布时间排序就是按照商品发布的时间先后来进行排序

温馨提示

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

评论

0/150

提交评论