




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科学生毕业论文论文题目:基于安卓平台的手机助手的设计与实现学 院:计算机科学技术学院年 级:2009级专 业:计算机科学与技术姓 名:王力欢学 号:20091337指导教师:赵鹏 2013 年 5 月 7 日摘要近年来随着智能手机的普及,以及安卓平台在移动开发领域市场的占有率的提高,开发出有实际用途的应用变得越来越重要。为了方便安卓手机用户获得所需要的信息和完成手机的个性化设置,设计了基于安卓平台的手机助手系统,通过手机助手可以使用集成在该系统中的每个功能模块,为手机用户提供高效、方便的服务。本文首先根据手机助手系统的实际需求,分析该助手应具有的功能,其次对系统已实现的功能模块进行了详细介绍,接着对该手机助手的布局设计和功能进行展示,最后总结了开发基于安卓平台应用程序所得到的经验和心得。本系统是基于安卓平台的,使用java编程语言,界面使用xml语言开发,涉及到数据库开发的功能模块使用安卓平台的内嵌数据库sqlite为开发平台。该手机助手实现了旅游攻略查询、天气预报查询、任务管理器、日程安排管理和短信语音播报等功能,充分考虑了手机用户对信息获取和手机操作的需求,使用户通过简单的操作得到想要的信息。关键词安卓平台;手机助手;移动开发;android sdkabstract in recent years, with the popularity of smart phones, and the increasing share of android platform in the field of mobile development, developing useful applications is becoming more and more important. for the convenience of the android mobile phone users to access to the information they need and complete their personalized settings, i designed a mobile assistant which is based on the android platform, by using this system, mobile users could get efficient and concenient service. from this design, firstly, analyzing the functions that this assistant should contains, according to the actual needs of the mobile assistant system. secondly, it made a detailed description to functional modules that the system has been implemented, and then it displays the layout and functions of the mobile assistant. finally, it summarizes the experience that i got from the applications development based on android platform. this system is based on the android platform, using java as the main developing language, the development of the interfaces are achieved by xml. the functional modules which need database were developed by using sqlite as the development platform. this moblie assistant achieves a tourism strategy, weather forecast, a simple task management, schedule management, and sms voice broadcast. considering the mobile phone users needs, this system allowing users get information through simple operation. key wordsandroid platform; mobile phone assistant; mobile development; android sdkii目录摘要iabstractii第一章 前言11.1本文研究的背景与意义11.1.1研究背景11.1.2 研究意义11.2国内外研究现状21.3本文所做工作3第二章 相关知识及技术介绍42.1安卓平台介绍42.2开发工具及开发环境简介52.2.1开发工具的介绍52.2.2开发环境的介绍62.3主要技术介绍62.3.1安卓平台架构62.3.2安卓应用程序的解析72.3.3安卓的基本组件82.3.4 xml简介92.4数据库介绍92.4.1 sqlite简介92.4.2 sqlite数据库操作10第三章 系统的需求分析113.1可行性分析113.1.1经济可行性113.1.2技术可行性113.1.3社会可行性123.2功能需求123.2.1系统的主要功能123.2.2系统的用例图133.2.3系统的数据流图133.3非功能需求143.3.1 易用性需求153.3.2 运行环境约束15第四章 系统的概要设计164.1系统的总体结构设计164.2数据库的设计184.2.1 数据库设计原则184.2.2 概念模型设计184.2.3 数据库表的设计20第五章 系统的详细设计及测试235.1系统的流程结构235.1.1系统的主界面235.1.2 系统流程结构的设计245.2主要功能模块245.2.1旅游攻略查询模块245.2.2天气预报查询模块255.2.3任务管理器模块275.2.4日程安排管理模块285.2.5短信语音播报模块295.3系统的测试305.3.1软件测试的方法305.3.2本系统的测试30结论32参考文献33致谢34基于安卓平台的手机助手的设计与实现第一章 前言1.1本文研究的背景与意义1.1.1研究背景安卓是基于linux平台的开源移动平台,该平台由操作系统、中间件、用户界面和应用软件等组成。自从安卓操作系统问世以来,手机软件的开发边脱去了神秘的面纱,开发者可以按照自己的设想进行手机应用软件的开发。在丰富的手机应用市场中用户可以依据自己的需求来使用相关功能的应用,而且这些应用已经渐渐涉及到人们的衣食住行等各个方面,可以说安卓的应用市场成为了一个展现开发者创意,服务于手机用户生活的平台。作为应用于移动设备上的开源平台,安卓具有许多优点:应用程序运行速度快;开发限制少,平台开放;程序多任务性能优秀,切换迅速等。当然也存在如系统细节不完善,电源管理不好,界面不太好等缺点,但这并没有阻碍其成为时下最流行的开发平台,而且相信凭借谷歌公司以及与开放手机联盟的通力合作,安卓平台会变得越来越好1 w.frank ableson.unlocking android m.manning publications,2010: 225-238.。得益于安卓系统其自身的开源性,许多移动设备制造商设计出基于安卓原生系统的新系统,用来更好地适应自己的硬件特性,给用户带来更好地使用体验。在当今的移动开发领域,相较于其他的开发平台,安卓平台的市场占有率正变得越来越高,使用安卓手机的用户变得越来越多,所以开发基于该平台的,应用于日常生活中的软件是很有必要的,而将不同功能集成到一个应用中的手机助手,可以很方便的提供给用户想要的信息,使移动平台用户拥有一个快捷的日常信息、常用功能的获取平台。1.1.2 研究意义随着智能手机的普及,人们对手机的需求不仅仅是通信、上网而已,而是希望手机能够为自己提供更多的服务以满足自己的个性化需求。作为手机助手的设计与实现便是将不同的应用程序及功能模块整合到一个应用软件中,用户只需打开一个应用就能够快速的使用全部的功能,不需要在原有的不同应用之间不断切换,这样不仅浪费时间,而且也是对手机有限的硬件资源的一种浪费,手机助手能很好地解决这方面的问题。此手机助手实现了包括五个功能模块的集成。旅游攻略查询,使用户依据城市选择相关的攻略文章,得到相关的旅游信息,为自己的旅游出行做参考;天气预报查询,为用户提供准确的天气信息,提供着装建议和注意事项等;简单的任务管理器,方便用户访问手机上正在运行的程序,在这里用户可以结束不需开启的应用以释放手机内存空间;日程安排管理,使用户可以管理自己的计划和待办事项;短信语音播报,能够将短信内容用语音的形式播报出来,当不方便查看手机时,此功能将提供极大的方便。在如今的安卓应用市场上,具有很好实用性的应用越来越多,这些应用也更好地服务于人们的生活,一些个性化的有着鲜明特点的应用也受到很多手机用户的追捧,可以说在丰富的手机应用市场中,总会找到实用且不失趣味性的应用,为安卓手机用户开发好用的应用软件很好的迎合了市场需求,而且这些应用也确实为手机用户的生活带来便利2 nor shahniza kamal bashah,natalia kryvinska,do van thanh et al.novel service discoverytechniques for open mobile environments and their business applicationsc./exploring services science.2012:186-200.。1.2国内外研究现状在安卓开发方面,谷歌公司于2007年11月宣布成立开放式手机联盟,并发布了安卓操作系统的第一个beta版软件开发包,到2012年11月发布了最新的版本android4.2。目前,移动电话和便携式手持设备正在经历一场变革,引发这场变革的因素有很多,一方面日益强大的便携式设备已经能够处理几年前人们还无法想象的任务,另一方面用户对这类设备的要求也越来越高。围绕手机设备形成的软件和应用程序开发市场已经超越了较大型计算平台的市场,且相对于大型设备而言,为像手机这样的便携设备交付应用程序更加简单和高效3佘志龙.google android sdk开发范例大全m.北京:人民邮电出版社,2010:8-14.。新一代手机已经提供了硬件加速、无线连接、数据访问计划、gps、硬件的扩展和连接、触摸屏等功能。开发人员正在编写不同的操作系统和应用程序以充分利用这些功能。这次变革预示着更加开放的趋势。这种开放性体现在多个方面:设备功能强大且可被广泛利用,应用程序可由大家开发并方便地投入市场,以及设备制造商,网络运营商和软件提供商之间的相互协作。在应用程序的开发和销售上,安卓为开发者扫清障碍。就像windows平台和mac os平台具有桌面软件和服务器软件销售市场一样,google也为安卓创建一个移动应用软件的销售平台,为软件开发者提供一个通过编写软件获利的机会4张利国.android移动开发案例详解m.北京:人民邮电出版社,2010:1-4.。目前国内的安卓开发市场已颇具规模,这其中不仅有之前从事传统软件开发的企业涉足移动开发领域,还有移动开发人员以开发出的应用进行创业,还有手机制造商和网络运营商开发自己的安卓系统,同时也在积极部署相应的软件商店。软件商店是利润的主要来源,而优秀的应用程序是构成软件商店的基本要素,这就为国内的移动开发者提供了非常好的机遇。相信随着国内市场的规范化,基于安卓平台的开发会吸引越来越多的开发者投入其中,同时也会使手机用户感受到移动互联网时代给人们生活带来的改变5 bing, han.analysis and research of system security based on androidc./2012 fifth internationalconference on intelligent computation technology and automation.2012:581-584.。1.3本文所做工作本文分为五个章节,第一章为前言,主要介绍了基于安卓平台的手机助手设计与实现的研究背景、研究意义、国内外发展状况以及论文结构几部分,让读者能够初步了解本系统的设计意义和本课题的结构。第二章是对手机助手开发所用到的基于安卓平台的相关知识与技术的介绍,使读者能够了解安卓开发的一些基本知识和开发流程。第三章主要介绍系统的需求分析,对系统做出整体的分析,明确系统需要实现的功能。第四章为系统的概要设计,这里将完成系统的总体设计和数据库设计,将系统中需要的数据和数据表做出分析,将现实生活中的逻辑数据转化为数据库里的物理数据,为系统的后台管理提供数据支持并为系统的实现做好准备。第五章为系统的实现及测试部分,让读者清楚本系统每个模块的设计流程,熟悉对系统运行的操作,在每个模块实现的基础上进行测试,减少系统运行出错的几率。第二章 相关知识及技术介绍2.1安卓平台介绍安卓是一个开放的手机操作系统平台,为移动设备提供了一个包含操作系统、中间件及应用程序的软件叠层架构。虽然其底层操作系统的组件是用c或c+编写的,但android的用户应用程序则是使用java编写的。android sdk为开发人员使用java语言编写android平台下的应用程序提供了必要的工具和api。android也是一家公司的名称,后来被google公司收购,于是就有了今天的android6吴亚峰,苏亚光.android应用案例开发大全m.北京:人民邮电出版社,2012:61-64.。尽管android得到google公司的扶持,但其自身具有的特性才是吸引大批开发者投入其中的重要原因,其主要特性如下:(1) 应用程序框架:可以方便地重用和替换手机组件。(2) dalvik虚拟机:专为移动设备优化的虚拟机。(3) 内部集成浏览器:基于开源的webkit引擎。(4) 优化的图形系统:其中自定义了2d图形库,3d图形库基于opengles1.0,可选硬件加速。(5) sqlite:集成了轻量级数据库管理系统。(6) 多媒体支持:支持常见的音频和视频,以及各种图片格式。(7) gsm技术、蓝牙、edge、3g和wifi:需要硬件支持。(8) 摄像头、gps、罗盘、加速度计:需要硬件支持。(9) 完备的开发环境:包括设备模拟器、调试工具、内存和性能分析工具,以及用于eclipse开发环境的插件。目前市场上的手机操作系统除了android,还有许多其他的系统,与其他系统相比android具有如下的优点:(1) 真正开放:android平台提供了从底层操作系统到上层的程序界面的所有软件,使用这个平台无须缴纳任何授权许可费用,同时不同的厂商还可以根据自身需求修改和扩展android平台。(2) 应用程序相互平等:在android平台下,除了应用程序运行的载体虚拟机之外,其内置的应用程序和使用sdk创建的应用程序之间没有任何区别,也就是说其他的软件是完全平等的。例如可以自己开发收发e-mail的应用程序来替换系统提供的相应软件。(3) 应用程序之间沟通无界限:在android平台下开发应用程序,可以方便地实现应用程序之间的数据共享,只需要经过简单的声明或操作授权,应用程序就可以访问或调用其他应用程序的功能,或者将自己的部分数据和功能提供给其他应用程序使用7李杨,冯刚.基于android的多媒体应用开发与研究j.计算机与现代化,2011(4):149-152.。2.2开发工具及开发环境简介2.2.1开发工具的介绍开发基于android平台的应用程序需要以下工具:(1) jdk:jdk的全称是java se development kit,即java标准版开发包,是sun公司提供的一套用于开发java应用程序的开发包,它提供了编译、运行java程序所需要的各种工具和资源,包括java编译器、java运行时环境,以及常用的java类库等。(2) android sdk:sdk的全称是software development kit,即软件开发工具包。被软件开发者用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此android sdk指的既是android专属的软件开发工具包。(3) eclipse:eclipse是一个开放源代码的、基于java的可扩展开发平台。它是一个框架和一组服务,通过插件组件构建开发环境。eclipse是著名的跨平台的自由集成开发环境,最初主要用来进行java语言的开发,但也可以通过插件使其作为其他计算机语言的开发工具。为eclipse安装特定的插件便可以用它来进行android应用程序的开发。(4) adt插件:adt的全称为android developer tool,即安卓开发者工具。adt是在eclipse环境下进行android开发所必须的插件,为android开发提供开发工具的升级或者变更。(5) avd:全称为android virtual device,即安卓虚拟设备。在使用android sdk开发应用程序需要进行测试时,android系统为开发人员提供了可以在电脑上直接测试应用程序的虚拟设备,也可叫做模拟器,使用avd可以方便地对应用程序进行测试8王克宏.java技术及其应用m.北京:高等教育出版社,2007:131-157.。2.2.2开发环境的介绍本论文的设计部分是在windows 7操作系统上进行的,所完成的软件是基于android 2.2平台,jdk版本为1.6,eclipse的版本为3.6结合android系统自带的sqlite3数据库进行开发。2.3主要技术介绍2.3.1安卓平台架构如图2-1所示,android平台下层结构的核心为嵌入式linux2.6操作系统,中间是google为android开发的libraries(函数库)及android runtime(核心库、dalvik虚拟机),上层为application framework(应用程序框架),最上层为applications(应用程序)。图2-1 安卓平台架构android平台架构中的各模块介绍如下:(1) 应用程序层:android会同一系列核心应用程序包一起发布。该应用程序包包括email客户端、sms短消息、日历、联系人管理程序等。所有应用程序都是使用java语言编写。(2) 应用框架:通过提供一个开放的开发平台,开发人员可以自由地使用设备的硬件、访问位置信息、设置闹钟等。同时,也可以像核心应用程序那样使用框架的api来实现自己的功能。(3) 类库:android包含一个可供不同组件调用的c/c+库,这些功能模块通过应用程序框架暴露给开发者。(4) android运行时:android平台下,每个应用程序都在自己的进程中运行,而且系统为其分配了专有的dalvik虚拟机,dalvik虚拟机执行.dex格式的文件。与java虚拟机是基于栈的不同,dalvik虚拟机是基于寄存器的,它并不直接执行编译后的java类文件,而是通过内置的dx工具将其转换为.dex格式后再执行。(5) linux kernel:android平台使用linux2.6版本来构建诸如安全性、内存管理、进程管理、网络协议栈等系统服务,linux核心在硬件层和软件层之间建立了一个抽象层,使其硬件细节对开发人员透明化9姚昱旻,刘卫国.android的架构与应用开发研究j.计算机系统应用,2008(11):110-112.。2.3.2安卓应用程序的解析了解android应用程序的目录结构,可以为程序构建做好准备,安卓项目中的主要目录及文件介绍如下:(1)src目录:存放的是该项目的源代码,在开发过程中,大多数是对该目录下的源代码文件进行编写。(2)gen目录:该目录下的r.java文件是由adt自动生成的,项目中用到的界面、字符串、图片等资源都会在这个文件中创建其唯一的id,当使用这些资源时,会通过该类得到对应的引用。(3)assets目录:这里存放项目相关的资源文件。(4)res目录:存放应用中经常是用的资源文件,包括图片、声音、布局文件及参数描述文件。与assets目录不同的是res目录中的资源会在r.java文件中生成资源id而assets目录中的资源则不会。(5)androidmanifest.xml文件:应用程序的系统控制文件,让外界知道该应用程序包含哪些组件、哪些资源以及何时运行该程序等。在androidmanifest.xml文件中需要为应用程序指定相应的权限,权限举例如下:(1)android.permission.read_sms:读取短信的权限。(2)android.permission.internet:访问网络的权限。(3)android.permission.contacts:读取用户的联系人数据的权限。(4)android.permission.wallpaper:应用程序设置壁纸的权限。2.3.3安卓的基本组件(1)activity:是android中最常用的组件,是应用程序的表示层,相当于一个屏幕,图2-2是activity的生命周期,主要包含三个状态:运行态、暂停态、停止。图2-2 activity的生命周期(2)service:服务与桌面系统或者服务器中的后台程序有些类似。有两种启动方式分别为startservice方式和bindservice方式。(3)broadcastreceiver:广播接收器用于处理系统级别的事件消息,可能是来自系统,也可能来自系统中正在运行的其他应用程序。(4)contentprovider:内容提供器,用于向其他活动或服务提供数据服务。使用标准的uri接口为其他应用程序提供数据服务,数据的请求者不需知道服务的提供者是谁10 rick rogers.android application developmentm.oreilly media,2010: 6-10.。2.3.4 xml简介 android中的界面布局文件,常量资源文件和系统配置文件都是用xml写的,所以了解xml也很有必要。xml(extensible markup language可扩展的标记语言)并不 是真正的语言,而是创建符合xml准则的语言的标准。xml是自描述语言,它被设计用来传输和存储数据。xml的基本准则如下:(1) 所有的xml元素都必须要有一个结束标记;(2) xml标记是大小写敏感的,这点与html不一样;(3) 所有属性必须使用引号;(4) 所有的xml元素必须合理包含;(5) 使用xml,空白部分不会被解析器自动删除。2.4数据库介绍2.4.1 sqlite简介sqlite是安卓平台的内置关系型数据库,它是轻量级的数据库解决方案。sqlite支持多数的sql标准,在一些场合下其性能要优于mysql等数据库引擎。与其他基于客户端和服务器的数据库引擎不同,sqlite是一种嵌入到应用程序内部的数据库,包括表在内的所有数据都存放在单个文件中,这些特性都使得它非常适合与移动平台下的数据处理11张恒喜,史争军.基于sqlite的android数据库编程j.电脑编程技巧与维护,2011,(21):30-31.doi:10.3969/j.issn.1006-4052.2011.21.010.。2.4.2 sqlite数据库操作为方便对数据库进行操作,创建一个继承自sqliteopenhelper类的子类,子类需要实现两个方法oncreate(sqlitedatabase db)和onupgrade(sqlitedatabase db,int oldversion,int new version),通过调用sqliteopenhelper对象的getwritabledatabase方法或getreadabledatabase方法得到一个sqlitedatabase类的对象,再由此对象调用其静态方法来创建或打开数据库,主要方法如下:(1)opendatabase(string path,sqlitedatabase.cursorfactory factory,int flags),打开指定路径的数据库文件(2)openorcreatedatabase(string path,sqlitedatabase.cursorfactory factory),当指定路径不存在这个数据库,则创建数据库。(3)create(sqlitedatabase.cursorfactory factory),创建一个内存数据库,内存数据库主要应用于对数据的处理速率较高的场合。除了使用sqlitedatabase类的静态方法,还可以调用context对象的openorcreatedatabase方法来创建或打开一个数据库。context对象还包括了其他对数据库操作的方法,如databaselist方法获得应用程序文件夹下所有数据库文件的名称数组;deletedatabase方法删除指定文件名的数据库文件12吴亚峰,索依娜.android核心技术与实例详解m.北京:电子工业出版社,2012:19-41.。第三章 系统的需求分析随着移动互联网时代的到来和智能手机的普及,人们的生活越来越离不开手机,通过手机可以与他人通信交流,浏览网页,获取最新的信息,还可以到应用市场去淘自己喜欢的应用。在日趋蓬勃的手机应用市场中,有很多具有实用功能的应用,但这些应用大多都是独立的,而手机助手可以将不同的功用集成到一个项目中,用户只需打开一个应用便可以使用其提供的丰富的功能,查询想要的信息,管理自己的日常事务和手机资源等。3.1可行性分析可行性分析是对系统的全面的、概要性的分析。它的任务是确定项目开发的必要性和可行性。其主要目标是:进一步明确系统的目标、规模和功能,对系统的开发背景、必要性和意义进行调查分析,并且提出系统的逻辑模型和各种可能的方案,为系统开发项目的决策提供科学依据。该阶段通过对系统总目标的初步调研与分析,提出可行性方案并进行论证。这里主要从经济可行性、技术可行性和社会可行性进行分析13张兆印,邓琨.软件工程教程m.东北林业大学出版社,2010:165-170.。3.1.1经济可行性经济可行性主要分析收益预期值是否大于项目的开发成本,在开发期间是否有足够的现金流量对项目进行投资。经济效益的评价是决策项目是否成立的重要依据。除了研究开发与维护新系统所需的费用是否能够可靠提供外,主要是研究新系统将带来的经济效益是否超过其开发与维护所需的费用,从成本和效益两个方面论证项目是否可行。经济可行性是进行开发成本的估算及可能取得的效益的评估,确定待开发系统是否值得投资开发。对于设计并实现具有相对完整功能的手机助手应用程序,主要的工作是对安卓手机开发平台及其平台特性的学习,而安卓系统是开源的,所以从这方面来说,该系统的开发过程不需要经济上的投入,故而在经济上是可行的。3.1.2技术可行性随着安卓平台的开发技术的日趋完善,开发一个基于该平台的手机助手类的软件是可行的。安卓有很好的事件处理机制,实现界面的跳转也很容易,当需要使用数据库作为数据处理的工具时,可以使用其平台内嵌的sqlite完成,操作上比较简单,具有其他数据库的大多数功能,同时又具有小巧、灵便的鲜明特点,是移动开发中很好的选择。在获取天气信息时,通过城市码访问中央气象台提供的应用程序接口,得到的数据是json型的,使用java提供的方法将json数据解析便可得到需要的数据,再将数据整理,显示在用户界面上。本系统既可以运行在安卓模拟器上,也可以应用在真实的手机环境中,安装过程简单、方便,为系统的高性能提供了保证,并有利于以后的扩展和修改,保证了系统的高效性和灵活性。由于安卓实现了很好的兼容性,使得本软件可以在大多数的安卓手机上运行,对系统的调试也有安卓提供的专门的调试工具,所以说开发该系统在技术上是可行的。3.1.3社会可行性社会分析是主要对项目对社会的影响进行分析。智能手机越来越普及,最近智能手机的出货量更是第一次超过了功能手机。智能手机中,使用安卓系统或基于安卓系统的手机又占很大一部分,所以开发基于安卓平台的手机应用的市场还是很大的。用户通过手机希望获取自己感兴趣的信息,一款集成多种功能的手机助手应用可以为用户提供很好的服务,软件本身具有安装简易,操作方便、快捷等特点。因此,本系统具有一个发展迅速、用户数量增长快的市场,而且系统具有一定的实用性。3.2功能需求3.2.1系统的主要功能手机助手的具体功能描述如下:(1) 旅游攻略查询:用户通过查找城市,获得该城市的文章列表,再从列表中选择想要读的文章。(2) 天气预报查询:用户通过点击目标城市,有系统访问网络,获取天气信息,将结果显示在用户界面上。(3) 任务管理器:用户可以查看现在手机上运行的进程,获取进程的详细信息,完成进程间的切换,还可以结束进程。(4) 日程安排管理:用户可以对日程进行增、删、改、查操作,还可以删除过期的日程,以及对日程的类别进行维护。(5) 短信语音播报:用户可以对播放时的状态进行设置,当有短信进来时,会将短信的内容以语音的形式播报出来。3.2.2系统的用例图用例图能够展示出参与者与用例以及它们之间的关系,用于描述系统功能的动态视图。用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,本系统的用例图如下图所示。图3-1 系统用例图3.2.3系统的数据流图手机用户打开本软件首先进入功能模块选择界面,在这里用户可以选择要进行的操作和想要得到的信息,系统获取信息后,对应的功能模块会查看相应的数据库,将查询到的数据信息返回,并显示在结果界面上。系统的部分数据流图如下。图3-2 系统数据流图3.3非功能需求非功能需求是指用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,以下从两方面分析系统的非功能需求。3.3.1 易用性需求用户通过界面来操作软件,系统的易用性需求集中体现在用户界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。用户界面的设计旨在为系统和用户之间提供友好的互动,使用户拥有好的使用体验,这在传统的软件设计中是非常重要的,而在移动软件开发上,还需通过界面为用户提供正确的引导,使其完成对系统的操作。本软件用户界面的设计参考时下流行的软件风格进行设计,并在此基础上,加入了对用户具有引导性的按键设计,使得用户在第一次使用本系统时,就能顺利完成操作,而不需要其他的辅导和学习。本系统在界面设计上具有:风格简约,突出功能与重点;界面友好,美观大方,简洁明快;带有简单的错误处理等特点。3.3.2 运行环境约束运行环境约束是指用户对软件系统运行环境的要求。不同的开发平台拥有不同的系统,相同平台下的系统版本也有区别,所以对于每一个应用软件,都有一个适合它运行的系统,对运行环境约束的考虑也是软件非功能需求中的一个重要环节。本软件是基于安卓平台设计和实现的,目标系统是安卓2.2,运行环境可以是在模拟器中,也可以在真实的安卓手机上运行。对于模拟器既可以在eclipse环境下创建,也可以在命令行下创建。第四章 系统的概要设计本系统采用模块化的设计方法,将系统按功能分成几个模块,在模块的基础上进行细化,采用模块化的管理方式使软件结构更清晰,也使软件的管理更有序。正确的处理模块之间和模块内部的联系以及和持久层的联系,通过对模块的设计和功能的完善,来实现整个系统的功能。4.1系统的总体结构设计根据系统的功能需求,得到功能模块列表。表4-1 功能模块列表编号名称简述1旅游功率查询1.1选择省市将直辖市与省份视为一级1.2选择城市选省份下的城市若之前选择直辖市则跳过此流程1.3选择文章选择对应城市下的感兴趣的攻略文章2天气预报查询2.1选择城市选择想要查询的城市2.2访问网络访问中央气象台的api2.3显示天气信息将得到的天气信息显示在结果界面上3任务管理器3.1进程切换切换到选择的进程3.2结束进程结束选择的进程3.3进程详细信息查看选择的进程的详细信息4日程安排管理4.1日程类别管理添加或删除日程的类别4.2日程信息管理对日程信息的增删改查操作4.3清空日程信息清空过时的信息5短信语音播报5.1编辑白名单通过通讯录或直接添加号码编辑信任名单5.2设置播报内容选择是否播报短信发送人的名字5.3设置播报时延选择收到短信后多久进行播报5.4播报短信息将收到的信息进行语音播报本系统主要包括以下五个模块:1旅游攻略查询由用户点击屏幕上的省市列表,选择省份或直辖市,若选择的是省份则转入该省份下的城市列表,再选择城市,若之前选择的是直辖市则没有此过程。选好城市后,则进入该城市下的旅游文章列表,通过文章的标题选择想要查看的攻略文章。2 天气预报查询由用户选择想要了解天气情况的城市,点击城市则用得到的城市码去访问中央气象台的api,再将访问得到的数据解析,最后显示到结果页面上,可以显示当天及明后两天的天气情况。3任务管理器进入该模块,用户可以查看此时手机中运行的应用,选择某个应用后,可以查看此应用的详细信息,还可以切换到这个应用程序,当然还可以结束这个进程。4日程安排管理在这个模块中,用户可以管理日程类型,对其进行增加和删除操作,还可以进行日程信息的管理。日程信息由类别和备忘内容组成,用户可以编辑日程信息,对日程信息的操作包括增加、删除、修改和查询。5短信语音播报用户需要首先编辑自己的信任列表,将可以播报的短信发送人的信息通过通讯录或直接编辑号码添加到自己的白名单中。对播报进行设置,可以设置是否播报发送人的名字,和播报的时延,即收到短信后隔多长时间进行短信的播报。系统功能模块图如下:图4-1 系统功能模块图4.2数据库的设计4.2.1 数据库设计原则1一致性原则:保证数据库一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。2.完整性原则:数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。3.安全性原则:安全性原则一方面是指系统运行安全,防止一些网络不法分子通过网络,局域网等途径通过入侵电脑进行破坏性活动。安全性原则另一方面指系统信息安全,保证系统信息安全,必须防止黑客对数据库入侵等活动。4.2.2 概念模型设计数据库概念模型实际上是现实世界到机器世界的一个中间层次。数据库概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。建立数据概念模型,就是从数据的观点出发,观察系统中数据的采集、传输、处理、存储、输出等,经过分析、总结之后建立起来的一个逻辑模型,它主要是用于描述系统中数据的各种状态。这个模型不关心具体的实现方式和细节,而是主要关心数据在系统中的各个处理阶段的状态。概念模型的表达方法很多,其中er模型在数据库设计领域得到了广泛的认同,它使用实体-联系图(entity-relation diagram)来建立数据模型,形成一个独立于机器,独立于dbms的er图模型。 通常将它简称为er图,er图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型14李建中,王珊.数据库系统原理(第二版)m.电子工业出版社,2004:70-123.。e-r 模型包括实体、联系、属性等三个基本成分。实体是客观世界中存在的且可互相区分的事物。联系是客观世界中的事物彼此之间的联系。属性是实体或联系所具有的性质。在e-r图中实体用矩形代表,联系用菱形代表同时它具有一对一,一对多,多对多三类,属性用椭圆形来代表。e-r图描述了从用户角度看到的数据,它反应了用户的现实环境,且与在软件系统中的实现方法无关。旅游攻略查询模块e-r图:图4-2 旅游攻略模块e-r图天气预报模块e-r图:图4-3 天气预报模块e-r图日程安排管理模块e-r图:图4-4 日程管理模块e-r图4.2.3 数据库表的设计由于本系统模块功能之间的独立性,不同模块用到不同的数据库。由手机助手系统的功能需求入手进行详细分析,基于概念模型的设计,确定本系统所需要的数据库及数据库中的表的设计。 图4-5 数据库schdb图4-6 数据库weather图4-7 数据库province1. 为旅游攻略查询设计的数据库名为province,包括三张表:表4-2 省份信息表表名provinceinfo列名数据类型(精度范围)说明空/非空约束条件idinteger(2)省份编号非空主键nametext(8)省份名称空typetext(2)省份类型空表4-3 城市信息表表名cityinfo列名数据类型(精度范围)说明空/非空约束条件cityidinteger(2)城市编号非空主键citynametext(8)城市名称空pidinteger(2)所属省编号空表4-4 文章信息表表名contentinfo列名数据类型(精度范围)说明空/非空约束条件contentidinteger(2)文章编号非空主键contentnotext(8)文章代码空contenttitletext(50)文章标题空cityidinteger(2)城市编号空2. 为天气预报查询设计数据库名为weather,包括两张表:表4-5 省份信息表表名provinces列名数据类型(精度范围)说明空/非空约束条件idinteger(2)省份编号非空主键nametext(8)省份名称空表4-6 城市信息表表名citys列名数据类型(精度范围)说明空/非空约束条件idinteger(2)城市编号非空主键province_idinteger(2)城市名称空nametext(8)城市名称空city_num text(8)城市编码空3. 为日程安排管理设计数据库名为schdb,包括两张表:表4-7 日程类别表表名type列名数据类型(精度范围)说明空/非空约束条件tnointeger(8)类别编号非空主键tnametext(20)类别名称空表4-8 日程信息表表名schedule列名数据类型(精度范围)说明空/非空约束条件sninteger(2)日程信息编号非空主键date1char(10)该日程的日期空time1char(5)该日程的时间空date2char(10)闹钟提醒日期空time2char(5)闹钟提醒时间空titlevarchar2(40)日程的主题空notevarchar2(120)备注内容空typevarchar2(20)日程类型空timesetboolean(true/false)是否设置时间空alarmsetboolean(true/false)是否设置闹钟空第五章 系统的详细设计及测试完成手机助手系统的总体设计之后,进一步的工作是确定整个系统的流程以及各功能模块的具体实现方法,以实现一个完整的移动端应用程序。由前阶段的设计,可以得出对目标系统的准确的描述,从而在编码阶段只需考虑具体的实现方案和具体技术的应用。在本章会首先介绍系统的总体流程结构的设计,从手机用户打开应用开始,到对功能模块的选择,再对具体的功能模块的设计和实现进行描述和展示,最后会对系统进行测试。5.1系统的流程结构由于本系统属于移动应用程序,所以并不包含登录模块,用户在手机上触碰到相应的应用图标便可以打开此应用,进入到系统中。安卓应用程序的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司知识培训策划方案
- 公司科技活动方案
- 公司烹饪活动方案
- 公司晨练活动策划方案
- 公司结对活动方案
- 公司电竞比赛活动方案
- 公司点餐活动策划方案
- 公司整风活动方案
- 公司竞争类游戏策划方案
- 公司组织去海边策划方案
- 2024年财政部会计法律法规答题活动题目及答案一
- 《中药调剂技术》课件-中药调剂的概念、起源与发展
- 《数据中心节能方法》课件
- 2024年变电设备检修工(高级)技能鉴定理论考试题库-上(选择题)
- 循环系统疾病智慧树知到答案2024年哈尔滨医科大学附属第一医院
- 2024-2030年中国激光水平仪行业市场发展趋势与前景展望战略分析报告
- 部编本小学语文六年级下册毕业总复习教案
- JB∕T 11864-2014 长期堵转力矩电动机式电缆卷筒
- 小儿氨酚黄那敏颗粒的药动学研究
- 生态环境行政处罚自由裁量基准
- 长沙市开福区2024届六年级下学期小升初数学试卷含解析
评论
0/150
提交评论