




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计论文题目 基于Andriod系统的华盟 快递应用开发 学生姓名 学 号 20115094 专业班级 信息管理与信息系统11-2班 指导教师 院系名称 2015 年 6 月 10 日目录摘要1Abstract21绪论31.1 论文的研究目的及研究背景31.2 国内外研究现状31.2.1 Android系统发展现状31.2.2 快递行业信息化现状41.3 论文的研究思路41.4 论文的结构安排52 相关技术62.1 Android平台简介62.1.1 Activity62.1.2 Service92.1.3 Content Provider102.1.4 Broadcast Receiver112.2 JSON113 系统需求分析123.1 可行性分析123.2 功能需求分析133.2.1 登录功能143.2.2 寄出快件153.2.3 查询快件163.2.4 查询汇率173.2.5 查询信息183.2.6 账号管理193.2.7 地址簿管理203.3非功能需求分析213.3.1 应用的安全性213.3.2 应用的版本控制213.3.3 应用的易用性214 系统设计234.1 系统结构设计234.1.1 主页234.1.2 我的华盟244.2 类和对象设计244.3 界面及流程设计244.3.1 引导界面流程254.3.2 寄件流程264.4 数据库设计265 系统的实现与测试295.1 系统的实现295.1.1开发环境配置295.1.2 版本控制315.1.3 主页315.1.4 登录325.1.5 估价335.1.6 邮寄345.1.7 支付345.1.8 支付成功355.1.9 查询365.1.10 寄出件查询375.1.11 汇率查询375.1.12 禁忌品385.1.13 打印向导395.1.14 华盟简介395.1.15 修改密码405.2 系统的测试405.2.1 系统的功能性测试405.2.2 非功能性测试436 结束语44致谢45参考文献46基于Andriod的华盟快递系统应用开发摘要:随着智能手机的普及,手机的作用早已不再仅仅局限在打电话、发短息等,越来越多的用户使用手机来获得日常的生活服务,因此能否提供更多的高质量的移动端业务成为公司持续性发展的关键。在此趋势下,华盟快递在完成Web网站的同时,积极投入基于安卓和苹果等移动客户端平台服务的开发。本文介绍了基于Android的华盟快递销售管理客户端软件的开发过程。其开发过程基于Eclipse集成环境中利用Java语言实现。该客户端是建立在华盟Web网站提供的Web API接口之上,并以实现客户利用安卓移动客户端随时随地享受华盟服务为目标。在连网的状态下,用户可以在界面美观、操作友好的Android设备的屏幕上使用该软件享受相关快递服务,包括查价、下单、快递支付、查询快递当前状态、管理华盟个人信息、打印订单PDF文件、汇率查询、禁忌品查询等。全文共分为绪论、相关技术、需求分析、系统设计、系统实现和测试以及总结与展望六章,详细地阐述了该系统开发的全部过程。关键词:Android;华盟快递;面向对象的分析与设计The Development of WM-Express System Based on Android ApplicationAbstract:With the extensive application of intelligent mobile devices, the role of mobile phone in no more limited to making a call or sending a message. Since more and more daily services are provided to users through mobile phone, the key for persistent development of a company lies in their ability to offer more high-quality mobile services. Under this trend, WM-Express is actively investigating the mobile services based on Andriod and Apple environment, along with completing web site service. This paper details the development process of Andriod based WM-Express mobile client platform services, which is implemented with JAVA programming language in the Eclipse integrated environment. This client-side exploits the Web API interface offered by WM-Express web site. It promises that the customers could enjoy the service of WM-Express using Andriod device at any time they prefer. When in the state of networking, customers may employ a collection of services from WM-Express with elegant interface and friendly operation, including checking the price, placing an order, delivery payment, queering the current state of express, managing personal information, printing PDF material of orders, queering the exchanging rate or taboo things etc. The paper is organized in six sections, i.e. introduction, related technology, demand analysis, system design, implementation, testing process and summarization and outlook, covering the whole procedure of the development.Keywords: Android; WM-Express; Object-oriented ayalysis and design1 绪论1.1 论文的研究目的及研究背景网上购物的快速发展迎来了快递发展的春天,具有网络性、及时性、服务性等特点,能为客户提供差异、优质快递服务的快递行业发展非常迅速,逐步成为社会经济中积极的元素1。同时随着智能手机的普及,移动端也业务量所占的比例也是越来越多,因此移动互联网时代下能否利用优质的移动终端服务来吸引更多的潜在用户成为快递公司持续健康发展的关键所在,华盟快递公司在完善web网站服务的同时也积极部署移动客户端软件的开发。本客户端软件以实现用户在连网的Android移动终端上随时随地享受华盟的快递服务为目标,用户可以根据自己的包裹尺寸重量等信息查询华盟提供的各种快递服务价格并从中选择一种最适合自己的快递服务然后填写相关收件、发件信息进行支付即可完成下单,同时用户也可在该软件上管理自己的个人信息比如修改密码、查询账户余额、查看历史订单等。1.2 国内外研究现状1.2.1 Android系统发展现状2005年8月,Google收购了一家名为Android的公司,2007年11月5日,Google宣布与其它33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、软硬件供货商、手机芯片供货商、电信运营商联合组成开放手机联盟,发布了Android手机平台2。Android系统平台目前最大的竞争优势就是它向手机硬件运营商和手机厂家提供了一个免费的开放运行平台,供这些厂家基于此平台开发满足智能手机用户需求的新型应用软件。Google将Android免费发布,源码公开,而且还采用Apache许可证,这就给厂商提供了一个降低成本的好机会,各家企业就可以在Android的基础之上加入自己的特色,而不用承担任何侵权的风险。Android良好的设计,让厂商可以在各种各样的电子产品上进行移植,最大限度地帮助他们降低了成本3。在Android推出之前,智能手机系统最主要由Symbian,RIM,,iPhone OS,Windows Mobile这四家把持,这四家均是不开放源码的。Google的Android手机操作系统,自问世以来就得到了个人和企业的追捧,最主要就是一个性能优异的的无偿开源的手机系统支撑平台,它不仅为智能手机用户提供功能丰富的各类系统组件,还建立了性能优异的手机电源、程序进程等各类软件资源管理机制。所以,它在短时间内就获得了巨大的成功,已经成长为智能手机使用最广的软件支撑平台。在中国国内,因Android系统平台免费无偿使用,无论在海尔、TCL、中兴、联想等企业内部,还是在政府部门的政策制定上,都对Android系统平台的推广给予了很大的支持。比如,在中国首届海峡两岸Android平台产业与技术合作发展论坛上,主管通信领域的工信部就明确表示,接下来几年将以制定合力的技术、产业和业务相关的政策,进一步强化对Android系统平台在大陆推广的政策产业引导和技术标准规范,从而为Android平台的在信息产业领域的全面推广创造公平合理的政策支持和市场监管。这一举措对未来Android技术平台软件在国内的迅猛发展将起到积极的作用。1.2.2 快递行业信息化现状受益于国家转变发展方式和之调整结构的政策驱动之,之之特别是受网络购物快速发展之之的拉动,之近年来我国快递业进入快速发展时期之。之之据前瞻产业研究院发布的之之2014-2018年中国快递企业市场竞争分析及企业竞争策略研究报告数据显示:2005-2013之之之年,之之我国快递行业业务之总量之之保持逐年增长的趋势之之,且增长速度之之呈上升趋势,年复合增长率达到之34.34%之。2013年之,之之之我国快递行业之之业务总量为之之91.87之亿件,同比增长之之61.58%4。然而,快递行业的信息化之之程度并不高。虽然快递企业对之之信息化的需求之之非常强烈,但由于快递业本之之身在国内的起步之之较晚之,之成熟的行业信之之息产品更是少之之之又少,之信息的不完整之之、之不准确之之、之不及时之之已成为企业发展之之的重要瓶颈5。1.3 论文的研究思路在系统分析阶段,我对华盟快递的网站的功能进行了划分,选出一些必要的且适合移植到手机端的功能。根据手机端所具有的特殊性质,我对整个系统进行之之了需求分析,确定了系统的功能模块,包括用户登录、寄出寄件、查询快件、查询汇率、查询华盟信息、查询订单信息、账户管理、地址簿管理等。在系统设计阶段,使用面向对象的设计方法,采用功能强大的UML建模工具对该系统进行了全面的设计。在系统实现阶段,采用较为熟悉的之之Eclipse之之开发工具进行开发。由于目前Android基本覆盖4.x版本,而针对大众版本进行开发是获得尽可能多的用户所必须的,所以,目标版本适配4.0以上。在系统测试阶段,首先对系统的每一个功能进行了测设和完善。其次,对系统的业务逻辑、页面的跳转进行了测试和修正。最后,之之美化了界面,之之使系统更加人性化,提升系统的交互性。1.4 论文的结构安排全文共分为六个章节。第一章为绪论部分,主要说明研究的目的、背景和国内外研究现状,最后给出本文的研究思路。第二章介绍了华盟快递系统开发所用的相关技术,主要是Android平台的相关内容,文章重点对Android的四大组件即Activity、之之BroadcastReceiver、之之Service和之之ContentProvider进行了介绍,包括它们的生命周期和使用方法等,在该章的最后对Json数据格式进行了简单的阐述。第三章重点进行系统的需求分析。需求分析包括两个部分,之之即功能性需求分析之之和非功能性需求分析,重点是功能性需求分析,主要包括寄出快件模块、寄件查询模块、寄出件查询模块、用户信息管理模块等。第四章主要进行了华盟快递系统的设计,即使用何种技术手段来实现相关功能,这个也是本文重点讨论的内容。主要包括模块结构设计、页面设计、数据库设计,模块结构设计主要是对功能模块进行了设计,例如寄出快件模块、用户信息管理模块等。第五章主要介绍华盟快递系统的实现和测试,主要内容包括主要功能的实现,另外包含了对系统功能的测试,包括功能性测试和之之非功能性测试之之,通过测试发现,系统具有较强的稳定性,基本满足了设计的各种功能。第六章是系统的总结和展望,主要是对整个系统开发过程的总结以及对系统所存在的问题进行展望。2 相关技术2.1 Android平台简介Android英文原义是指“机器人”,是Google旗下的一款开源操作系统。Android诞生于2003年,由Andy Rubin及其团队打造,其内核采用了Linux 2.6版本,吸收了Linux在进程调度、内存管理、驱动模型、网络堆栈和安全控制等方面的优势。2005年,Android团队被Google公司收购,并在两年后由Google公司正式推出。Android在推出时打的就是“开源”的口号,开源意味着手机厂商可以获取Android系统的源代码,并能够对其进行修改、自定义,因此Android受到了众多手机厂商的青睐。从08年第一款Android手机G1到现在,Android已经在10亿台设备上激活,全世界移动设备的80%运行的是Android系统,Android当之无愧的成为全球市场占有率最大的智能手机操作系统。图2.1 Android历史轨迹Android平台由操作系统、中间件、用户界面和应用软件共同组成6。其开源特性吸引了众多移动开发者的加入,在其官方商店Google Play中,已有超过百万款的软件供用户下载使用。而且随着html5和css3的快速发展,原有的web2.0技术也在移动端大放异彩,Android平台将会吸引越来越多的开发者进入。2.1.1 ActivityActivity是Android应用中负责与用户交互的组件-类似于Swing中的JFrame控件7。Activity是一个之之window的容器,它里面可以放很多view,像windows的窗口一样。一个Activity就是一个之之Android界面,它拥有不同的状态,每打开一个界面,就会有一个之之Activity被压入栈中之之,但是只有栈顶的Activity是活动的之之。通常情况下,我们都之不会直接去使用之Activity类,而是自定义之一个类来继承之Activity,通过重写onCreate(Bundle)方法来实现自己的逻辑。(1)Activity生命周期一个Activity大致有四个状态,活动状态(running)、暂停状态(paused)、暂停状态(Stopped)和销毁状态(Destroyed),Activity的状态改变过程如图2.2所示。图2.2 Activity生命周期(2)Activity栈Activity之的状态总是和之Activity在栈中的位置息息相关。栈顶的Activity是我们目前可以看到的活动界面,当打开新的界面时之,新的之Activity将会压栈置于栈之顶处于活动状态,而之前的之Activity因为失去焦点成为暂停或者停止状态。如图2.3所示:图2.3 Activity栈(3)Activity的启动模式Activity有四种启动模式,分别为之Standard,之SingleTop,之SingleTask,SingleInstance8。Standard之模式,是之Activity的默认启动模式之。在这种模式下启动的之Activity可之以被多次实例化之,即在同一个任务中可以存在多个之Activity的实例。SingleTop之模式之,如果一个以之SingleTop模式启动的之SingleTop的实例已经存在之于任务桟的桟顶之,那么再启动这个之Activity时之,不会创建新的实例之,而是重用位于之栈顶的那个实例。SingleTask之模式,如果栈中存在要激活的之Activity的实例之,就重用该实例之,并且将之Activity栈中位于该之Activity上的所有之Activity销毁掉,使该之Activity位于栈顶。SingleInstance之模式,总是在新的任务中开启之,并且这个新的任务中有且只有之这一个实例之,也就是说被该实例启动的其他之Activity会自动运行于另之一个任务中之。当再次启动该之Activity的实例时之,会重用已存在的任务和实例之。2.1.2 ServiceService是之Android四大组件之一9,中文意思是“服务”,同时,它与windows中的服务有些许类似,都是在后台运行执行一些耗时工作。在Android中,之Service和之Activity最为相近,之Activity可见,而之Service不可见,它在后台去处理一些不宜在前台展示的东西,比如下载文件、播放音乐等等。Service需在AndroidManifest文件中进行配置,标签为,Service的启动、停止和控制都是通过其它应用程序组件来实现的,包括Activity、Broadcast Receiver和其它Service。一般情况下,运行着的之Service优先级比较高,但是如果前台之Activity资源不够,那么之系统会终止当前之Service释放资源供前台运行之,所以如果有需要,需在配置文件中进行配置以便资源充足时重启Service。总体来说,Service有以下几个特点:Service不可见,之Service在后台执行,通常都会处理一些很耗时的操作,Service的启动、停止和控制需要其它组件来实现。Service之的生命周期与之Activity不同,随着启动Service的方式的不同,之Service的生命周期不同,如果应用程序通过之startService()来启动之Service,那么生命周期将会如图2.4左侧所示,而如果应用程序通过bindService()方法来启动Service,之Service的生命周期如图之之2.4右侧所示。图2.4 Service生命周期通过实现这些方法,你可以控制这两种生命周期。一种是之Service的整个生命周期是从之onCreate()开始到之onDestroy()结束。与之Activity类似,之之Service在之onCreate()方法中完成之它的初始化过程并在onDestroy()之方法中对资源进行释放。另一种是Service的活动生命周期从onStartCommand()或者onBind()方法调用开始,每个方法操纵的都是由startService()或者bindService()传递的Intent对象。如果服务之已经启动,那么它的活动生命周期会随着整个生命周期结束而结束,如果之Service被绑定了,那么它的活动生命周期随着之onUnbind()方法的返回而结束10。2.1.3 Content ProviderContent Provider是一个访问结构化数据集的组件,它将数据进行封装并提供之了定义数据安全性的机制。之Content Provider之是一个连接不同进程应用调用数据的之标准接口。如果你想访问之Content Provider中的数据之,你需要使用之Content Resolver对象作为客户端来与之Provider进行交互11。实质上,Content Resolver对象与一个实现了Content Provider类的实例进行交互,这个实例会接收resolver的请求并执行,最后把结果返回给客户端。如果你的应用并不准备与其它应用共享数据,那么你不必开发自己的之Provider。Android本身提供了很多Content Provider来管理他的数据,比如音频、视频、图片以及联系人信息等,它们都位于Avider包下12。除去一些特别的限制,任何Android应用都可以使用系统提供的这些provider。如图2.5所示,其它的应用程序通过之Content Resolver对象与之Content Provider进行交互之,通过provider对数据文件、XML或者SQLite进行数据访问。图2.5 Content Provider逻辑图2.1.4 Broadcast ReceiverBroadcast Receiver可以让你的应用使用它来对外面感兴趣的事件(比如手机启动、短信接收等)作出回应的一个组件。与Service一样,Broadcast Receiver也没有用户界面,但是它通常都要启动一个Activity或者Notification等来响应它所收到的信息。常见的短信应用、黑名单拦截器等都是使用Broadcast Receiver来完成的。Android中的广播机制设计非常出色,它大大简化了开发者的任务负担,在应用开发过程中,我们只需要对我们关心的事件进行监听即可,比如开机启动事件、电量改变事件等。Android中的Broadcast Receiver一般有两种:普通广播和有序广播,普通广播完全是异步的,凡是有接收者对这个事件进行了监听,它们都将收到此广播,而有序广播则比较特殊,它每次只发送到优先级较高的接收者那里,然后由高优先级的再广播给低优先级的,同时,高优先级的接收者在收到广播后可以中断广播13。Broadcast Receiver的生命周期非常简单,它只有在执行它的onReceive()方法时才处于活动状态,当onReceive()方法返回后,它即为失活状态,因此为了保证用户交互过程的流畅,一些费时的操作要放在线程里。2.2 JSONJSON全称是JavaScript Object Notation,它是一种较为简单的数据交换格式,非常便于机器解析,它基于ECMA第三版标准。JSON是轻量级的,近年来发展迅速,大有取代XML的趋势,同时它是独立于语言的,目前很多编程语言都提供了对JSON进行解析的组件包。所以基于这些特性,JSON成为目前比较理想的数据交换语言。JSON的数据格式及其简单,即key-value集合,在JavaScript中可以理解为是字面量对象,而在Java中即为映射Map。3 系统需求分析3.1 可行性分析Android目前是世界上市场占有率最高的智能终端操作系统,它广泛应用在手机、智能电视、车载系统等现代化设备中,而且随着信息化的发展,越来越多的公司开始在移动客户端发力,客户端App的出现大大节省了用户的时间,使得他们能够随时随地的使用相应的服务以及查阅所需要的信息,因此,从公司发展和用户方面来说,基于Android平台的华盟快递应用是完全可行的。Android作为一个开源系统,其学习难度相对较低,它的应用层采用了较为简单的Java语言,开发起来相对简单一些。Android拥有四大组件,即Activity、Service、Content Provider和Broadcast Receiver,使用较多的Activity和Service的生命周期也十分简单,同时Android的堆栈相对容易,任何一个拥有Java开发经验的人都能够快速上手。因此从技术角度而言,基于Android系统的华盟快递应用开发难度相对简单。本应用由中国科学技术大学某实验室承接,属于校企合作项目中的一部分。前期经过了较为充分的调研与论证,项目研发本身对设备要求较低,即开发所需硬件花费较少,而在后期投入实际生产环境后,其依托A公司现有的服务器即可,无需二次购买,因此总体花费都在可控制范围内,所以,经济上并无较大负担,此系统开发方案完全可行。作为华盟公司推进信息化战略,方便与用户进行交互沟通的一部分,华盟快递网站是其核心且最为用户所关心的信息集中地。其移动客户端应用的出现可以使公司立体化地面向用户,因此也受到了公司的大力支持,我们可以预见,在不久的将来用户的手机中将充满各种生活化应用,而华盟公司的应用也将作为其中的一份子使我们的生活更加便利。所以,从管理角度上来说,基于Android平台的华盟快递应用是非常可行并且受管理层重视的。综上所述,无论是从经济、技术、社会还是管理的角度上来看,基于Android平台的华盟快递应用都完全符合企业的发展需要,都能大大提高企业的信息化程度,方便人们的生活,因此,本系统符合要求可以开发。3.2 功能需求分析随着移动互联时代的到来,用户对手机应用产品的需求变得更加多样。移动互联网产品相对于传统互联网产品,更加高效、快捷和更具体验感。通过对用户进行调查和研究,现将华盟快递应用存在的需求总结为以下几个方面:(1)用户寄出快件该项需求是用户最为关心的一项需求。让用户在手机客户端可以体验到如同网页版一样的服务,可以在手机客户端上填写包裹信息、查询邮寄价格、选择邮寄方式、填写邮寄信息,使用户随时随地寄出快件。(2)手机支付手机支付即移动支付,即时的为所购买的服务支付费用。要想使用户使用这一应用,必须提供支付功能。如果手机端无法完成支付,用户使用该应用就不能达到便利的效果,因此需要为用户提供多种支付方式。考虑到用户人群大多数为华人,除了华盟本地账户支付外,还需增加支付宝支付功能。(3)打印运单英国的快递与中国的快递略有不同,在英国寄出快件时需要用户打印运单,因此该应用需要自动生成运单并且提供运单打印功能。通过前期的调研,谷歌云打印技术是一个不错的选择。(4)追踪快件当用户寄出或收到快件时,希望可以随时随地的查询到快件所在的位置和状态,因此需要为用户提供查询快件的功能。(5)管理个人信息该应用也需要提供一般性功能,可以方便用户在该应用上修改账户信息。综上所述,可将该应用的功能模块划分如图3.1所示。图3.1 华盟快递移动客户端功能模块从用户的角度进行需求分析,可以得出华盟快递应用的用例图,如图3.2所示。图3.2 华盟快递移动客户端用例图3.2.1 登录用户使用该应用的核心功能之前需要登陆账号,当用户点击登录按钮后,系统会对用户的账号和密码进行验证,若与后台数据库一致则登录成功,否则登录失败。如用户为新用户,也为新用户提供注册功能。登陆用例的完整描述如表3.1所示。表3.1 登陆用例用例名称登陆参与者华盟用户目标登陆华盟快递移动应用范围华盟快递移动应用前置条件打开华盟快递移动应用,进入登陆界面触发事件用户希望登陆到华盟快递移动应用主事件流(1)用户输入账号和密码。(2)应用识别账号,并验证其有效性。(3)应用识别密码,并验证其正确性。备用事件流2a:账号不存在2b:网络异常3a:密码不正确3b:网络异常发生频率100次/天3.2.2 寄出快件用户登录成功后,填写所要邮寄的包裹信息后便可进行估价操作,用户可以得到各种邮寄方式的价格,选择服务方式及价格后便可填写寄件人信息和收件人信息。付款成功后,便生成相应运单的PDF,可以让用户查看和打印。寄出快件用例的完整描述如表3.2所示。表3.2 寄出快件用例用例名称寄出快件参与者华盟用户目标使用华盟快递移动应用寄出快件范围华盟快递移动应用前置条件用户登录华盟快递移动应用触发事件用户希望使用华盟快递移动应用寄出快件主事件流(1)用户填写邮寄物品的重量、长度、宽度、高度。(2)应用将物品的重量、长度、宽度、高度发送到服务器,请求价格。(3)应用接收各个服务方式及其价格,并显示给用户。(4)用户选择服务方式及价格。(5)用户选择邮寄时间,填写收件人地址、寄件人地址。(6)用户支付费用。(7)应用发送订单请求。(8)应用接受订单号并生成运单。(9)用户查看和打印运单。备用事件流1a:重量超过30KG1b:长度、宽度、高度超过100CM2a:网络异常5a:邮寄时间非工作日5b:邮寄时间不在下一周5c:收(寄)件人地址不正确6a:用户余额不足7a:网络异常8a:文件打开异常发生频率50次/天3.2.3 查询快件当用户有寄出或收到的快件时,可以在华盟快递移动客户端上通过订单号查询快件的位置和状态,实现用户对快件的实时追踪。查询快件用例的完整描述如表3.3所示。表3.3 查询快件用例用例名称查询快件参与者应用使用者目标使用华盟快递移动应用查询快件范围华盟快递移动应用前置条件无触发事件用户希望使用华盟快递移动应用查询快件主事件流(1)用户输入运单号。备用事件流1a:网络异常1b:运单号不存在发生频率100次/天3.2.4 查询汇率由于华盟快递使用的默认货币为英镑,而面向的主要人群是华人,因此华盟快递移动客户端为用户提供货币查询的功能,方便用户及时查询英镑兑换人民币的汇率。查询汇率用例的完整描述如表3.4所示。表3.4 查询汇率用例用例名称查询汇率参与者应用使用者目标使用华盟快递移动应用查询汇率范围华盟快递移动应用前置条件无触发事件用户希望使用华盟快递移动应用查询汇率主事件流(1)用户选择第一种货币。(2)用户选择第二种货币。(3)用户输入第一种货币的金额。(4)应用将第一种货币和第二种货币以及第一种货币的金额发送给服务器。(5)应用接收第二种货币的金额,并显示到界面。备用事件流4a:网络异常发生频率100次/天3.2.5 查询信息通过华盟快递移动客户端,用户可以查看华盟快递公司的相关信息以及华盟快递最近推出的活动。谷歌云打印这项技术虽然在2010年已经被提出,但仍然没有走进大众的视线,因此该应用中需要对谷歌云打印的使用进行介绍。该应用还需要向用户提供邮寄时的禁忌品信息,提高用户邮寄的效率。当用户寄出快件后,该应用可以查看寄出快递的历史信息以及邮寄运单等信息。查询汇率用例的完整描述如表3.5所示。表3.5 查询信息用例用例名称查询信息参与者华盟用户目标使用华盟快递移动应用查询信息范围华盟快递移动应用前置条件用户登录华盟快递移动应用触发事件用户希望使用华盟快递移动应用查询信息主事件流(1)用户选择要查看的信息。(2)用户点击查看按钮。备用事件流无发生频率200次/天3.2.6 账号管理华盟快递移动客户端可以供用户查看自己的账号信息,并可以进行修改。例如:修改密码等。账号管理用例的完整描述如表3.6所示。表3.6 账号管理用例用例名称账号管理参与者华盟用户目标使用华盟快递移动应用管理账号范围华盟快递移动应用前置条件用户登录华盟快递移动应用触发事件用户希望使用华盟快递移动应用管理账号主事件流(1)用户点击用户名。(2)应用进入账号管理界面。(3)用户选择修改密码。(4)应用进入修改密码界面。(5)用户输入当前密码、新密码、确认新密码。(6)应用检验输入信息是否正确。(7)应用将原密码和新密码提交到服务器(8)应用接收服务返回的是否成功的信息,并显示给用户。备用事件流6a:当前密码为空6b:新密码为空6c:确认新密码为空6d:新密码与确认新密码不一致6e:当前密码不正确7a:网络异常发生频率100次/天3.2.7 地址簿管理对于用户来说,寄出快件时很重要的信息便是寄件人地址信息和收件人地址信息。华盟快递移动客户端可以向用户提供默认的收件人地址和寄件人地址,并且可以增加、修改和删除。账号管理用例的完整描述如表3.7所示。表3.7 地址簿管理用例用例名称地址簿管理参与者华盟用户目标使用华盟快递移动应用管理地址簿范围华盟快递移动应用前置条件用户登录华盟快递移动应用触发事件用户希望使用华盟快递移动应用管理地址簿主事件流(1)用户点击地址簿。(2)应用进入地址簿管理界面。备用事件流无发生频率100次/天3.3 非功能需求分析3.3.1 应用的安全性在客户端与服务器端进行通信的过程中,涉及到很多私密信息的传递,包括用户的账号、密码、用户账户余额等,因此必须确保这些信息的安全性。如果这些信息在传递途中被非法分子截获,用户就可能面临着个人信息泄露的问题、公司面临经济损失的风险。所以我们在设计系统时,对于敏感信息必须采用一定的加密策略,从而增大不法者破解的难度。在信息传递的过程中,不能采用没有加密措施的HTTP,而要采用更为安全的HTTPS。3.3.2 应用的版本控制由于开发经验尚浅,应用可能存在许多未测试出漏洞,以及华盟快递的服务也可能随着时间发生一些改变,因此必须对该应用进行版本控制。当发现应用存在漏洞或者公司的业务发生改变后,通过版本控制,使用户升级到最新版本。3.3.3 应用的易用性应用的易用性和用户对应用的体验感受直接影响到应用的推广甚至决定应用的命运。因此,我们需要从用户的角度去考虑界面的设计以及相应功能的实现。一个易用的手机应用应包括以下几点:(1)导航功能:使用户快速找到所需要的服务。(2)记忆功能:将用户输入的信息进行保存,当用户需要再次输入信息时以下拉列表的形式将历史信息提供给用户。(3)纠错功能:当用户的输入信息不符合要求时,应友善地将错误信息提示给用户。(4)界面美观:在用户使用应用前,看到的是应用的外观、是公司的形象。因此,应用需要一个美观的界面,需要合适的色彩搭配。4 系统设计4.1 系统结构设计华盟快递移动客户端采用底部导航的方式将应用的主要功能与用户信息管理相分离,使应用的结构简单明了。华盟快递移动客户端的系统结构如图4.1所示。图4.1 华盟快递应用结构图4.1.1 主页应用的主页即应用的主要功能,包括华盟服务、查询快件、寄件、寄出查询、打印向导和华盟工具。在华盟服务里主要向用户介绍华盟快递公司的主要情况及提供的服务。在查询快递里用户可以通过快件单号追踪快件。在寄件里用户通过估价、选择服务等一系列操作可以完成在线寄件。在寄出件查询中用户可以查看到自己曾经寄出的快件信息。打印向导向用户展示了谷歌云打印的操作流程,帮助用户使用手机打印运单。华盟工具向用户提供了较为关心的汇率查询功能和邮寄时的禁忌品信息。4.1.2 我的华盟我的华盟,顾名思义是指用户的华盟账户信息。在我的华盟板块中,用户可以登录、注册和修改密码,还可以对邮寄时的默认地址进行管理。4.2 类和对象设计华盟快递移动客户端的类,主要包括界面类和基础类。界面类大多数都是继承于基类Activity,如图4.2所示。界面类响应用户的输入、滑动、点击等操作,是显示给用户的一个个窗体。图4.2 华盟快递应用界面类图基础类其实是一些单元类,会被界面类调用实现相应的功能。Utils单元类封装一些基本操作,例如:判断是否为空、计算对象的长度等。ToPinYin类可以实现将输入的汉字转换为中文拼音。NetWork类判断手机当前的网络状态,在应用访问网络前提醒用户连接网络。WebAPI类封装应用请求服务器时的常用操作,将复杂的HTTP请求封装起来以免出错,其中网络通讯所采用的数据格式为JSON。DBManager封装SQLite数据库的常用操作,使对表的增删改查操作变得简单。4.3 界面及流程设计Android的界面设计主要有两种方法,第一种是通过代码对界面进行布局,当页面根据不同场景动态变化时,多采用这种方法。第二种方法就是以XML文件的形式,该方法多应用与较为固定的界面,具有编写即可见的效果,因此在多数的界面设计采用第二种方法。当界面需要动态变化时,结合两种方法的优点,搭配使用便可得到想要的效果。Android界面布局方式有多种,包括LinearLayout(线性布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)、FrameLayout(帧布局)和TableLayout(表格布局)等。Android自带了很多控件,比如Button(按钮)、ListView(列表控件)、EditView(输入框)等,它们的存在简化了开发者开发的难度,开发者可以根据已有的控件进行二次开发从而得到适合自己应用的控件。当用户编写好布局文件后,在Activity中的onCreate()方法中使用setContentView()即可加载相对应的文件。4.3.1 引导界面流程在进入应用时,应用会联网判断当前版本是否为最新版本,如果不是最新版本则需要进行版本升级。当应用是最新版本,判断是否第一次进入应用,如果是第一次进入应用则跳转到向导界面然后再进入主页面,否则直接主页面。具体流程如图4.3所示。图4.3 向导时序图4.3.2 寄件流程当用户需要进行寄件操作时,应用首先会判断用户是否登录。如果用户已经登录则跳入估价界面,否则跳入登陆界面,当用户登陆后会直接跳入估价界面。进行估价后便可以看到各个服务的价格,这时需要用户进行选择。选择好服务后填写收件人信息和寄件人信息便进入支付界面。当支付完成后,应用会生成运单供用户查看和打印,具体流程如图4.4所示。图4.4 寄件时序图4.4 数据库设计严格按照第三范式设计以下数据库:用户登录表包括以下数据项:用户名、用户密码、是否在线表4.1 用户登录表字段名字段类型字段长度是否关键字说明username字符型15T用户名password字符型15用户密码online字符型3是否在线物品信息表包括以下数据项:物品ID、数量、长度、宽度、高度、价值、描述、包裹号。如表4.2所示。表4.2 物品信息表字段名字段类型字段长度是否关键字说明id整型8T物品IDquantity整型2数量length浮点型8长度width浮点型8宽度height浮点型8高度value浮点型8价值description字符型50描述packageID整型8包裹号收件人信息表包括以下数据项:收件人ID、收件人姓名、收件人公司、收件人地址、收件人地址2、收件人地址3、收件人城市、收件人国家、收件人邮编、收件人电话、收件人邮箱。如表4.3所示。表4.3 收件人信息表字段名字段类型字段长度是否关键字说明recipientID整型8T收件人IDrecipientName字符型20收件人姓名recipientBusName字符型20收件人公司recipientAddress字符型20收件人地址recipientAddress2字符型20收件人地址2recipientAddress3字符型20收件人地址3recipientCity字符型20收件人城市recipientCountry字符型20收件人国家recipientPostalCode字符型10收件人邮编recipientCellphone字符型20收件人电话recipientEmail字符型20收件人邮箱寄件人信息表包括以下数据项:寄件人ID、寄件人姓名、寄件人公司、寄件人地址、寄件人地址2、寄件人地址3、寄件人城市、寄件人国家、寄件人邮编、寄件人电话、寄件人邮箱。如表4.4所示。表4.4 寄件人信息表字段名字段类型字段长度是否关键字说明senderID整型8T寄件人IDsenderName字符型20寄件人姓名senderBusName字符型20寄件人公司senderAddress字符型20寄件人地址senderAddress2字符型20寄件人地址2senderAddress3字符型20寄件人地址3senderCity字符型20寄件人城市se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市照明电力安装与改造合同
- 2025版汽车租赁合同范本(含环保)
- 2025版生猪养殖环境监测与保护合同
- 2025年文化旅游区招商引资合作协议范本
- 2025版水渠工程劳务派遣合同示范文本
- 2025年绿色装修贷款服务合同样本
- 2025年度能源行业财务顾问合同-成本分析与优化
- 2025年度高端全屋定制家具设计施工合同范本
- 2025茶楼承包合同范本:含茶楼环保设施建设协议
- 2025版禽类产品电商平台合作合同
- 2025时事政治考试题库(含答案)
- 小学学期末质量分析会
- 医院护工礼仪培训
- 农村处理矛盾纠纷课件
- 2025年汽车驾驶员(技师)考试试题附答案
- 矿山基金管理办法
- 数控加工程序管理办法
- 肥料登记证授权合同范本
- 工业厂房租赁管理办法
- 辽宁动物检疫管理办法
- 肺癌免疫治疗病例分享
评论
0/150
提交评论