基于Android的驾照理论考试模拟软件的设计与实现_第1页
基于Android的驾照理论考试模拟软件的设计与实现_第2页
基于Android的驾照理论考试模拟软件的设计与实现_第3页
基于Android的驾照理论考试模拟软件的设计与实现_第4页
基于Android的驾照理论考试模拟软件的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、北京化工大学北方学院毕业设计(论文)诚信申明本人申明:我所呈交的本科毕业设计(论文)是本人在导师指导下对四年专业知识而进行的研究工作及全面的总结。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中创新处不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京化工大学北方学院或其它教育机构的学位或证书而已经使用过的材料。与我一同完成毕业设计(论文)的同学对本课题所做的任何贡献均已在文中做了明确的说明并表示了谢意。若有不实之处,本人承担一切相关责任。本人签名: 年 月 日基于Android的驾照理论考试模拟软件的设计与实现张林计算机科学与技术 计科1202班 学号120210047指

2、导教师 刘淑艳讲师摘 要随着智能手机的使用和普及,人们获取与保存信息的方式已经发生了巨大的改变。智能手机正在逐步融入我们的生活,并影响和改变着我们的生活。随着当前五花八门的手机进入人们的日常生活中,使得人们对数据的管理和应用更加简洁和方便,极大程度的提高了人们的工作效率。本论文首先对基于Android的驾校一点通软件进行了需求分析,从系统开发环境、系统目标、设计流程、功能设计等几个方面进行系统的总体设计,使用Java语言设计了基于Android的驾校一点通软件,主要实现了登录注册、顺序练习、章节练习、随机练习、错题记录本、模拟考试、考试要点、法律法规、必过秘籍、收藏夹、功能菜单列表等模块,实现

3、了软件的应有功能。通过对软件各个模块和软件总体进行测试,经过测试后表明该软件界面清晰、操作方便、功能齐全,有良好的实用性,而且还具有很大部分的潜在用户和良好的应用前景。关键词:智能手机 Android 驾校一点通 JAVA32北京化工大学北方学院毕业设计(论文)Android-based Software DesignAnd Implementation Driving TestAbstractWith the popularity of mobile phone use, and preservation of people to obtain information the way has

4、 been a dramatic shift. Smartphones are gradually integrated into our lives, and to influence and change our lives. Now that the use of a variety of smart phones, so that people become more simple, more convenient, greatly improving the efficiency of data management aspects in all fields, applicatio

5、ns and services.This paper first Driving Made Easy system Android-based requirements analysis, system design from several aspects of the overall system development environment, system objectives, design process, functional design, the use of the Java language was designed based on Android Driving Ma

6、de Easy system, the main achievement of the registration, the order of exercises, chapter exercises, random practice, wrong title records, exams, test points, laws and regulations, will be too Cheats, favorites, function menu list, it can perform a Driving think alike Features. Through the function

7、of the system test, the test results show that the system is user-friendly, functional, has a high value, has a huge potential user groups and broader application prospects.Key words: smartphone Android driving Made Easy JAVA目 录前 言1第1章 课题研究背景与价值2第1.1节 选题的意义与价值2第1.2节 研究综述3第1.3节 课题的研究意义与目的4第1.4节 研究范围与

8、内容4第1.5节 研究视角与方法5第2章 驾照理论考试模拟软件的概况7第2.1节 驾照理论考试模拟软件介绍7第2.2节 什么是Android7第2.3节 Android的优势8第2.4节 Android的不足8第2.5节 Android带来的影响9第2.6节 JAVA介绍9第3章 系统分析11第3.1节 系统可行性分析11第3.2节 功能需求11第3.3节 开发运行环境需求12第3.4节 性能需求13第3.5节 其它需求13第4章 系统总体设计14第4.1节 概述14第4.2节 设计原则14第4.3节 Android应用程序结构剖析15第4.4节 系统功能结构图18第4.5节 系统流程图设计1

9、9第5章 系统的实现20第5.1节 软件界面设计20第5.2节 主界面和登录注册实现界面20第5.3节 功能菜单列表模块实现界面21第5.4节 练习模块实现界面23第5.5节 模拟考试模块实现界面24第6章 系统的测试26第6.1节 测试方案设计26第6.2节 测试用例构建27结 论28参考文献30致 谢32前 言随着现代社会和经济的发展,汽车已经渐渐步入寻常百姓的生活中,当你坐在飞驰的汽车上时,你的生命已经被机动车驾驶员牢牢握在手中。一个不合格的驾驶员必然威胁到人们的生命,由此可以看出,做一个合格的驾驶员将多么的重要。作为一个现代人,驾驶机动车技术已经是一门必不可缺的技术了。因此考驾照成了许

10、多人的必经之路,尤其在这个信息技术飞速发展的时期,随着网络技术的发展,计算机在各部门的应用中就更加普遍。为了让参加驾驶员培训的学员能够顺利的完成驾照理论考试,所以才借此开发驾照理论考试模拟软件。该软件可以供学员对驾校的各种理论题进行训练,并且还可以模拟驾照科目一的理论考试,能够较为准确的反映学员的理论知识掌握程度。同时该软件可以查出其答错的题目以及未涉及的题目,做到查漏补缺的作用,能在平时的训练中帮助学员掌握驾驶基础知识,发挥巨大的作用,为真正的驾照理论考试铺平一条平坦大道。第1章 课题研究背景与价值第1.1节 选题的意义与价值1.1.1 理论意义与价值当前阶段全国各地的驾驶技术培训行业进入了

11、高密度、高成本、高竞争的喷薄发展阶段。由于开办驾驶员培训学校变得容易,各个城市新开驾驶员培训学校直线上升,许多小驾校遍地开发,形成了疯抢生源的现状。现阶段驾驶培训行业面临着3大问题:(1)报名人数急剧减少、同行竞争日趋激烈;(2)政府主管部门的行业监管更加严格的规定;(3)科目二与科目三考试难度增大,使整个驾驶员培行业合格率下降。在当前环境的影响下,驾驶员培训学校为了适应市场需求,应该快速反应,才能更好地生存与发展,需要改变经营、管理、服务的理念,通过行之有效的信息化手段对学员驾驶培训的业务流程和驾校日常运营中涉及到的学员、教练、财务、车辆等进行精准和详细的系统化管理,以实现对信息的掌控和最短

12、时间做出出最适应于驾驶员培训学校发展的管理决策,并且极大程度提高驾驶员培训学校日常工作效率以及对学员的服务、培训资源的利用率和自身运营收益,同时降低运营成本,为驾驶员培训学校的规模化与品牌化发展提供良好基础。1.1.2 实践意义与价值在目前的情况和事实,在Android市场正在以迅猛的方式,慢慢地扩展了它的产品,以满足不同人群的需求,而不仅仅是做一些低端智能1000元左右的手机,智能机器能够满足一般人群的日常生活,包括娱乐的需求,会产生一些比较昂贵,但高品质的高端智能手机,适合商务人士使用。智能机现在越来越多的被大家所接受,相较于其他品牌的普通机器,人们喜欢买一种便宜的,性能优异的智能机,其原

13、因是因为他们能满足一般人谁使用手机的需求,性能特点各方面也让用户感到这是一个非常良好的感觉和行动,而不是作为高端机的价格昂贵。很多人喜欢用手机玩系统,看视频等,功能有点硬件和软件的手机需要增加的需求,比如在屏幕上流畅,速度快,兼容性好等优点,对这些人来说,也有很多高端智能手机采用Android,这款手机完全可以满足人们的日常需求。现在应用的安卓系统将更加努力来改善,有许多伟大的应用程序或经验,如汽车导航,功能电视,VOD视频点播系统,甚至是平板电脑。现在Android的发展速度超出了所有人的想象,为安卓开发的软件也非常乐观,这是一个值得发展壮大的领域,安卓也将是一个主流系统,供市民使用。第1.

14、2节 研究综述1.2.1 国内研究随着当前国内社会和经济的快速发展,百姓的生活水平得到了不断的提高,家用汽车也在国内得到逐渐的普及,特别在城市中体现更明显。因此越来越多的人开始参加驾驶员培训,并且带动了驾驶员技术培训行业规模的不断扩大。虽然规模得以扩大,但是随之而来的就是由于人员增多带来的管理问题,交管部门也规范了对驾驶员培训行业的管理,但是仍然存在以下问题:(1)驾驶员培训机构减少学员理论课时、上车学时等,不能严格遵守交管部门做出的规定;(2)学员在各个科目的考试过程中出现替考、作弊等现象;(3)学员档案仍然采用纸质档案形式保存,使得查询信息困难,并且纸质档案容易丢失,不易恢复。同时,随着社

15、会和经济的发展,现代信息技术也得到了很好的发展,并且运用于各行各业。相较于传统的办公方式人们急切需要一种高效的办公方式用来代替传统的方式,以适应社会的发展。1.2.2 国外研究在欧美等发达国家,人们拥有驾照的比例要占到总人口的80%左右,而国内百姓拥有驾照比例要远远小于这一比例。随着经济和社会的不断发展,百姓拥有越来越多的私家车,使驾校培训市场存在着巨大的潜力,而这必然导致驾校培训市场竞争更为激烈。如何在竞争中脱颖而出?这需要驾校加强自身的管理,使之更加规范化和信息化。当前市场已经存在设想或者正在进行的信息化产品,以满足驾校信息化管理的需要,如网上报名系统,基于指纹识别和人脸识别的计时培训、收

16、费系统等等。在线考试作为当前兴起的一种考试形式,在发达国家已经得到了良好的发展。例如在美国,一些著名的考试就采用了网上考试的形式,包括Microsoft公司的MCSE(微软系统工程师认证考试)GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等等,并在全球范围应用1。第1.3节 课题的研究意义与目的1.3.1 理论意义本软件是面向广大人民群众的由驾驶员培训学校和交管部门提供的学员信息、业务办理、考试流程等数据制作的驾校一点通软件。本软件紧密结合驾驶员培训学校的运作流程,从学员报名参加培训开始到学员拿到驾照整个流程都有完善的管理和记录功能. 本软件在整个系统的研发、测试、修

17、改过程中,严格遵守国家和地方法律法规,通过总结多家驾驶员培训学校的运作和管理经验进行修改。希望本软件能够对每一个参加驾驶员技术培训的人给予最大的帮助,也希望能对驾驶员培训学校的管理改革起到良积极的作用。1.3.2 实践意义让管理、记录流程更为清晰,能够管理学员从参加培训到领取驾驶证的全过程;能够对教学培训工作,如分车、排课、考核等项目进行管理;可以轻松的查询学员的学习情况和考核情况、学校的教学培训情况和收费情况等;也可以轻松的获得各类报表;使用方便,容易掌握。第1.4节 研究范围与内容1.4.1 研究范围随着当前计算机技术和网络技术的高度发展和应用,计算机网络已经融入到了人们的日常生活中。计算

18、机网络时代的已经来临,各行各业都开始应用计算机技术来对各种数据进行运算和存储,进行烦琐的数据统计、信息处理等工作。而网络是解决远距离造成的信息交流不畅的管理瓶颈问题的最佳方式。在驾驶员培训学校的日常中,有许多工作量不大但很繁琐的操作,如查询学员理论知识的学习时间、学员上车练习时间、学员上路练习时间等。但是,随着交管部门已经使用计算机进行理论考试和越来越多的人参加驾驶员培训以及学员具有参差不齐的文化素质,学校的日常工作量和难度就大大增加了。考驾照成了许多人的必经之路,随着我国经济和社会的不断发展,私家车的不断增加,车辆已经逐步进入了每一个家庭,而驾照理论考试模拟软件的设计不仅对于驾驶员培训学校的

19、自身发展发挥着重大的作用,而且在每个学车的人在驾驶员培训学校顺利学车领驾照的过程中发挥着不可替作用。驾照理论考试模拟软件正是在这种环境之下制作完成的。1.4.2 研究内容本研究课题需要设计的基于Android的驾校一点通软件。本人通过需求分析和设计出了驾校一点通软件,主要的一些工作有:(1)在使用相关软件的过程中了解本软件功能和特点,开始撰写相关的需求分析;(2)根据系统具体的需要,分析和设计的功能框架结构;(3)根据需求分析和总体设计,设计出结构图;(4)根据对应模块编写相关的开发技术文档;(5)编写总体的代码;(6)对软件进行单元测试。第1.5节 研究视角与方法1.5.1 研究视角(1)驾

20、校一点通软件的实现最终将为广大参加驾驶员技术培训的人和驾驶员培训学校带来很大的便利,能在极大程度上帮助参加驾驶员培训的人通过培训和改善驾驶员校培训学校的驾驶培训信息管理状况,从而促进合格驾驶员的增多和驾校向更好更快的方向发展;(2)驾校一点通软件的开发将会大大提高本人对软件开发技术的理解和提高,而且经过对各种Android技术了解、运用和研究,大大提高了我对Android程序开发的能力,为我以后的Android软件开发提供很大帮助;(3)基于Android的驾校一点通软件在结合项目管理理论和软件工程方法下的快速高质量开发实践可以为其它基于Android的软件开发提供了一定的参考。1.5.2 研

21、究方法通过学习和使用同类软件,了解驾驶员培训学校运作流程和交管部门的管理,结合移动设备下的操作特点,获取软件的需求,并将其用数据流图方式描述出来。使用Java开发软件Eclipse,通过搭建Eclipse + Android SDK的开发环境,在Android系统下进行开发调试。搜集和比较Java开发相关技术文献,进行软件的概要和详细设计。本软件遵循C/S设计架构原则下开发。第2章 驾照理论考试模拟软件的概况第2.1节 驾照理论考试模拟软件介绍驾照理论考试模拟软件是一款基于Android系统的软件,主要作用是对参加科目一考试的学员进行题目进行训练和强化,还可以进行科目一的模拟考试,让学员能够顺

22、利通过科目一考试。软件还对其他科目进行了一定的讲解,对学员其他科目的学习和考试也有一定的效果。在功能上主要实现了科目一的考题的各种练习和模拟考试,还有对其他科目考试规则和要点的讲解。主要功能有:章节练习、顺序练习、随机练习、模拟考试、收藏夹、错题本、考试要点等。软件在最大程度帮助参加驾驶员培训的学员通过科目一的考试,并对后续考试也有一定帮助。第2.2节 什么是AndroidAndroid是一堆perisian ,便于控制特定的设备,它包括一个操作系统,中间层和Android基本应用程序。在Android SDK的beta版本提供Java语言采用了Android应用开发工具和API的必然推进An

23、droid平台。特点(1)使用原始和替换应用程序框架支持的组件;(2)Dalvik的方便传输设备优化的虚拟机;(3)基于开源的WebKit enjin 3 ,采空区bersepadu;(4)我的SQL是用于存储结构化数据;(5)多媒体支持,包括定期的音频,视频和静态图像格式(如MPEG4,H.264 , MP3,AAC , AMR , JPG,PNG , GIF );(6)电话技术, GSM ( perkakasan而定);(7)Bluetooth蓝牙, EDGE ,3G ,和WiFi ( perkakasan而定);(8)摄像头,GPS ,指南针,和督促(督促) ( perkakasan而定

24、)。Persekitaran丰富的开发,包括设备模拟器,调试工具,内存和分析宪章persekitaran成就和Eclipse插件开发bersepadu第2.3节 Android的优势(1)源代码是完全开放的,易于pemaju实现更清楚地了解详细,容易提高技术pemaju阶段,帮助唤醒;(2)使用内存的限制,电池和优化的Dalvik虚拟机的CPU,Android运行速度比想象的2迅速;(3)运营商(中国移动)的支持,雷电袭击的产业链。 (4)良好的盈利模式(3/7开),各方对产业链:企业家,炼油厂,配药免费perisian是一个很好的好处。过渡考核标准,而不是终端容易perisian perka

25、kasan,刺激许多建设者perisian精神;(5)Android的源代码,以遵循lesen perisian的Apache V2,而不是通常lesen GPL v2的3,有利于商业的发展;(6)能很好的支持Linux社区。第2.4节 Android的不足由于Java作为应用程序开发语言,传统的现有的第三方应用仍然有限,但由于Android是一个完全开源的移动计算平台,相信第三方应用程序迅速丰富起来。谷歌官方提供Java核心包(J2SE5,J2SE6)的Java的有限子集尚未致力于与Java的任何细节的遵守4,可能导致进一步的分裂Java阵营;(1)以改善现有的应用程序现在所做的是不够的,开

26、发者需要做大量的工作的5;(2)非常快的更新操作系统版本,该接口是不一致的,也有在用户体验感的差异;(3)基于QEMU工具来开发调试仿真器是不是很丰富,不仅支持电话,短信,等等,都是缓慢的;(4)他们没有的Push Mail和Office(DataViz公司,Quickoffice的计划近期推出)功能,关键是为普通消费者用户,企业用户的支持仍然薄弱6。第2.5节 Android带来的影响之后推出的Android可能会影响行业,包括移动通信行业的软件开发,手机行业,消费者是国家的核心。2.5.1 对消费者的影响加大高端手机的选项。(1)Android的考虑,在早期的设计与现有的业务,他们必须改变

27、,从过去的主要变化,从计算机使用手机作为指导整合7。新生的应用,如:谷歌地图和衍生应用,Gmail时,GTalk的,等等;(2)GPS卫星导航,手机摄像头,MP3,蓝牙等给予支持Android的分类主要选择;(3)Android平台是唯一一个免费的,但一些本地库将需要一定的费用,但大部分都是使用费;可以使用的Android的Java程序开发,但由于它是一个虚拟机(虚拟机)的Dalvik的Java字节码转换成自己的格式,避免了需要支付LIN的Java授权费有关8。2.5.2 对手机制造商的影响Android是计算机软件平台的移动开源,建立了一个谷歌为首的行业巨头,有很多的产业联盟,实现高效开发,

28、降低成本。因为它是开源产品,非主导的制造商,你能避免的领先制造商在上述核心技术的空间,打造一个更具竞争力和差异化的产品9。2.5.3 对运营商的影响(1)丰富且完善的数据服务,造成通信数据的大幅度增多;(2)增加智能手机的来源,降低了手机行业的整体价格。第2.6节 JAVA介绍Java是一种高级编程语言,其基本结构非常类似于C+,但它相比C+更加简单10。它结合了C+的一些功能和其他语言的优点,又避免了它们的缺点。 Java语言是体系结构中立的,因为它使用的第一个聚合成中间代码(字节码),然后加载奇偶校验,然后解释给其他的机器代码来执行,只要由Java虚拟机的支持,可以运行各种Java程序的1

29、1;Java语言定义,在Java平台的Java程序将被合并成字节码格式,然后就可以实现运行Java平台的任何系统。Java语言是多线程的,多线程指的是一个应用程序中有多个线程并发执行的技术,当前计算机行业中大量使用多线程技术,多线程技术是计算机技术发展过程中必不可少的。系统为什么不选择C或C+语言和Java的主要原因,选择Android的应用层是通用的中级Java字节码,它不需要各种硬件模型的每个厂家封装的等效版本12。为了避免游戏版本,诺基亚,联想版的情况下moto的版本。一次编写,到处运行。其次,在竞争中Java和.NET平台是应用程序本身最适合的一个平台,有一个庞大的开发基地,节省大量的

30、再教育重新学习的成本。JAVA实现数据交换停止使用的I / O(输入/输出,输入和输出)流,该流是指在所谓的能够输出的任何数据源或数据对象是能够接收数据的数据源对象13。用于操作Java流对象内置的Java IO包,其包含一系列的文件和目录来运行读取文件并写入类14的操作的属性。DOM(文档对象模型,所述文档对象模型)可以是一种语言的与平台无关的方式来访问和修改文档的内容和结构。加工XML文档或HTML文档的一种常见的方法。您可以使用的设计是基于对象管理组织和DOM在任何编程语言的规则。在工作状态下,对于任何一类的Java反射,了解所有的属性和这个类的方法;为别的,你可以以任何方式调用;的方式

31、来动态地捕捉动态调用对象的信息,并调用函数反映了Java语言的机制。 Java反射机制主要提供以下功能:识别属于任何一类在运行时的对象;在运行时,任何类对象的构造;统治阶级的成员变量和在运行时的方法;使用任何运行对象时程序;生成动态代理。第3章 系统分析第3.1节 系统可行性分析3.1.1 技术可行性(1)Java为开发人员提供了许多方便快捷的服务,如开发平台稳点的性能、简便的管理、优秀的升级性等。整个Java系统帮用户做了大部分重复的、繁琐的的工作。且关于这方面的书籍、资料比较齐全;(2)基于安卓模式的管理系统已发展日趋成熟;(3)众所周知,Java是面向对象的开发语言,程序开发员可以在Ec

32、lipse平台上面方便的使用一些已知的解决方案。综上所述:软件的开发技术具有可行性,且开发人员掌握了一定的开发技术,因此开发此软件具有技术可行性。3.1.2 操作可行性本软件采用基于安卓客户端,使用安卓系统手机安装本软件就能够进行访问和操作,且界面简单易操作,用户只要能够使用安卓智能手机,都能对本软件进行访问和操作。本软件具有界面清晰、操作简便、易于管理、交互性好的特点。操作简单,面向人群广,因此本软件的开发具有可行性。3.1.3 经济可行性软件是基于Android的软件,采用Eclipse平台,所以软件在开发环境上需求不高,不需要大量财力和人力。软件开发具有经济可行性。第3.2节 功能需求需

33、求分析指的是开发人员对用户所提出的问题和要求进行详细的分析。着眼于需求评估是完成调查,收集和研究,并可能受到影响的数据管理和安全信息的需求的过程。一般使用者都不具备相关的计算机方面的知识,并且可以确定计算机是否可以为自己做什么,不能做什么,所以无法准确的去表达自己的问题和需求。但是他们是最终的使用者,他们的需求才是最终的需求,而且技术人员缺少用户的专业方面的知识,不是很容易理解到用户的真正需求,有时候可能还会误解到用户的需求。所以开发人员需要使用一些得到的方法来确保可以与用户不断的交流,这样才可以确定用户最终的需求是什么。通过适时的与用户不断深入地进行交流,了解软件功能上的缺陷并加以完善,最终

34、达到用户所期望的软件。需要研究是从用户角度分析和细化的信息,在功能和性能上有要求。这是软件开发工作的第一步,也是必不可少的一步。主要作用是理解用户需求,以确定软件功能的工作。因此在目标软件提出完整具体的要求,并以书面形式唤醒。这个Android驾校一点通软件要求在Android系统的手机上可以运行,主要实现了登录、注册、章节练习、顺序练习、随机练习、错题记录本、模拟考试、考试要点、法律法规、必过秘籍、收藏夹等功能。总体分布如图3.1所示:图3.1 总体功能需求图第3.3节 开发运行环境需求硬件环境:PC机软件环境:操作系统:Windows 98/me/2000/xp.必须软件如下:(1)JAV

35、A JDK SE 1.6 jdk-6u13-windows-i586-p.exe;(2)Eclipse 3.4.2 eclipse-java-ganymede-SR2-win32.zip或以上版本;(3)ADT-0.9.0 ADT-0.9.0.zip或以上版本。第3.4节 性能需求 (1)安全性:该基于Android的驾校一点通系统作为一款面对广大用户的软件,信息的安全还是有很大的必要的,在设计过程中,其安全性主要体现在系统安全性、数据安全性这几个方面。主要考虑软件操作稳定性、运行平台稳定性、数据库服务器权限设置等。(2)可靠性:该基于Android的驾校一点通软件的可靠性主要体现在软件运行可

36、靠性、数据处理可靠性等方面。在开发的时候使用成熟的开发模式,尽量减少系统运行时可能出现的问题。第3.5节 其它需求 软件项目的质量达到用户要求是一个软件的基本要求,同时软件还得从以下各个方面进行分析。如表3.1:表3.1 软件质量需求分析质量属性详细要求正确性切实履行好职责需要,高质量的完成每个模块的具体要求。健壮性具有高容错性和恢复能力。可靠性每1000个小时的时间超过3次的失败率。性能、效率软件更新周期的输出应该是相同的系统信息更新周期。在网络状况良好时,在最短时间内响应用户的需求。易用性很容易理解:建立一个统一软件开发过程简单的语言文件,之前和之后的语句是清晰和易于理解。安全性从意外或故

37、意接入阻止软件,使用,修改,破坏或披露该软件将能够专注于存储在数据库服务器的总部数据的特性。 可扩展性二次开发时能够对软件功能进行删除的添加,能对软件安全性进行提升兼容性简单的冲突与其他软件。可移植性该系统可以很容易地转移到其他运行环境。第4章 系统总体设计第4.1节 概述系统功能设计是在系统开发的总体任务和系统开发设计思想的基础上完成的,本系统的主要任务是实现驾校一点通系统在手机上的登录注册、顺序练习、章节练习、随机练习、错题记录本、模拟考试、考试要点、法律法规、必过秘籍、收藏夹、功能菜单列表等模块,并根据用户的需求不断增强系统的功能,提高驾校一点通的实用性,完成一个让用户感到方便的驾校一点

38、通系统。第4.2节 设计原则本系统开发过程中遵循了如下的一些原则: (1)拥有较高的工作效率需要达到运行效率的以下3个指标: 在处理能力上的指标,其是指在一定时间内系统能处理的事务有多少;在运行时间上的指标,其是指在软件从开始到完成其中某项任务时需要花费的时间;在响应时间上的指标,其是指在用户向系统发出请求到其返回响应结果所需要的时间。(2)拥有较高的可靠性需要从设计的角度来完成系统可靠度的提高,而且还要提高系统的纠错容错等一系列能力,与此同时还需要设计系统的故障恢复能力15。(3)拥有较好的交互性和操作性在进行设计的时候,应该以用户的需求为基本,系统的界面尽量的简单、生动和友好。在对程序进行

39、系统设计的时候,图形界面设计要显示美观和清晰,数据的输入输出设计要具有良好的操作性,而且为其提供人机交互的功能,使用户能够更加轻松方便的使用本软件。提供输入法的切换,减少用户的输入工作量。 第4.3节 Android应用程序结构剖析Android的一个主要特点是,一个应用程序可以利用其他应用程序的功能(假设这些应用程序允许的话)。例如,如果你的应用程序需要显示图库,可以借用Android自带图库用以显示图片。可以调用其他的程序的功能,而不需要自己再开发。Android拥有四个基本的组件,合理运用这四个组件能够使你的程序质量得到很好的保障。当然,有的程序有一个组件,有的拥有两个组件,可以看出并不

40、是所有的程序都需要以上四个组件,所以你的应用程序可以由一个或几个组件来构成。四大组件都需要在AndroidManifest.xml文件中注册,然后才能得到应用,在注册的时候可以根据自身需求对组件进行特性和要求进行声明16。(1)活动(Activities) 一个活动表示一个可以被肉眼所见的用户界面。例如,一个活动可能表示一个用户用于设置选择的菜单界面,或者可能显示音乐播放界面。一个拨号盘应用程序可能有一个活动,显示按键和已按数字;第二个活动,接收用户输入;其他活动,调用Android拨打电话功能。活动的生命周期如图4.1所示。一个简单的应用程序可能只包含一个基本活动,或者是像拨号盘等应用程序一

41、样,它可能会包含几个活动。这些活动分别是什么,以及有多少,取决于应用程序的设计及需求。根据一般情况来说,当某个应用程序被启动的时候,会被标记为最优先级的活动,应该展示给用户。图4.1 Android的生命周期每一个活动默认都是一个填满整个屏幕的窗口,但是它也可以以小屏幕或者悬浮窗的形式来显示窗口,这个根据程序员代码决定。一个活动还可以使用额外窗口。比如左右侧滑的菜单,或者是当一个用户选择屏幕上一个特定的点时,会跳出一个窗口来显示给用户重要的信息。活动的视图(view)层次结构如下图4.2所示:图4.2 View的层次结构(2)服务(Services)与Activity相反,Service是没有

42、可见的用户界面,但是Service的特点是能够长时间在后台运行的,一般不会被结束。比如说一个服务可能要从网络获取数据但是是用户做可以去做其他一些事情,或者它也可能播放音乐,也或者是计算函数并会提供一个结果给需要的活动(activities)。所有的服务都继承自Service基类。所有服务类都要在AndroidManifest.xml中进行声明,否则service不能使用17。服务必须可以通过Context.startService()或者Context.bindService()启动因为service是有两个不同的生命周期的。一个很经典的例子是音乐播放器播放一首歌曲文件。该音乐播放器程序将可能

43、有一个或者是多个活动(activities),可以允许用户开始播放和选择下一曲上一曲等。然而,音乐播放器本身短时间内不会被系统处理掉,因为用户是希望音乐不间断播放的。当用户离开音乐播放器而去做其他事情的时候,为了保持音乐能够继续播放,音乐播放器活动可以通过启动一个服务在后台的运行,继续播放音乐,甚至是屏幕不在显示音乐播放器界面的时候。(3)广播接收者(Broadcast receivers) 广播接收者是一个仅接受广播公告并作出相应的反应的组件。许多广播都出自于系统代码,例如用户改变了语言偏好、已采取图片、提示电池电量低、时区的改变等18。应用程序也可以发起广播,例如音乐播放器进度条的更新。任

44、何应用程序都可以拥有任意数量的广播接收者,用来对它特定的、重要的公告进行反应。所有的广播接受者都继承自BroadcastReceiver基类。广播接收者不需要显示给用户,但是它会启动活动去响应接收到的通知。通知可以通过闪烁的背光、振动设备、播放声音等等获得用户的注意。典型的是手机闹钟播放铃声,直到用户关闭或者暂停闹铃。(4)内容提供者(Content providers)内容提供者是Android应用程序四大组件之一,主要是将自身应用程序的数据内容提供给别的应用程序。当某一程序需要使用另一程序的数据内容时,需要实现的主要方法如下:(1)query(Uri, String, String, St

45、ring, String)  返回数据给调用者 (2)insert(Uri, ContentValues) 插入数据(3)update(Uri, ContentValues, String, String) 更新数据(4)delete(Uri, String, String)删除数据 (5)getType(Uri) 返回MIME类型数据 更多的关于ContentResolver信息,请查看相关文档。第4.4节 系统功能结构图系统的设计和划分是系统的核心研究问题,以确定整体结构和功能模块。该系统的结构化设计的思想,是自顶向下的方式将系统分成若干个子系统,以及反过来的子系统分成模块,其被

46、划分成子模块,层划分各计算机可执行模块可迄今用作一个单独的程序。从开始整个驾校一点通系统,根据目标系统成一系列子系统,每个这两个子系统相互的,并且每个具有一个独立的功能,该系统的目标的。然后根据关系和函数中的每个子系统,再检测最小挂上分解子系统。在功能上更普遍的子系统,更抽象,更基本的子系统的工作更轻松,更卓越,更具体。对于每一个模块的系统,你应该尽量做到高类聚低耦合。本基于Android的驾校一点通系统主要实现了登录注册、顺序练习、章节练习、随机练习、错题记录本、模拟考试、考试要点、法律法规、必过秘籍、收藏夹、功能菜单列表等模块。图4.3展示了系统模块图:图4.3 系统功能模块图第4.5节

47、系统流程图设计系统流程设计图如图4.4所示:图4.4 系统流程图第5章 系统的实现第5.1节 软件界面设计由于本软件应用于安卓手机平台上,而部分手机终端的屏幕较小,所以放置有限的功能键,而一般情况下,隐藏了菜单栏,通过触发手机上的menu按钮来激活菜单。菜单是最常见的、使用频率高的用户界面元素19。用户在软件的菜单(菜单意见)中,对于常用的功能,一般是直接从屏幕底部谈粗菜单项。在一般情况下,选项菜单显示在两行,并且三个项目的菜单上的每一行,该菜单项将具有图与文本,也可以被确定图标菜单。如果超过6,从第6项开始会被隐藏,一个多选择在第6项的出现,点击更多菜单选项出现在第一6的外侧,并且所述菜单选

48、项所谓扩展菜单。第5.2节 主界面和登录注册实现界面用户想要使用本驾校一点通软件,首先需要进行登录或者以游客身份登录,登录之后进入主界面。登录时需要输入用户名、密码等信息,点击登录按钮实现登录功能,若没有账号,则首先需要点击注册按钮进行注册。登录界面下有两个输入框和两个按钮,当用户名和密码框内容符合时,点击登录按钮才会跳入下一个界面。单击注册按钮直接跳转到注册界面。登录界面如图5.1所示。注册界面下包含三个输入框和一个提交注册按钮,当任何一个输入框为空白时,提交按钮显示灰色,步允许提交。只有在三个输入框都有内容且输入密码和再次输入密码框的内容一致时,提交按钮才能够被选取。注册界面图如图5.2所

49、示。软件主界面包含软件的主要功能(练习、模拟考试、收藏夹等),主界面图如图5.3所示。 图5.1 登录实现界面 图5.2 注册实现界面 第5.3节 功能菜单列表模块实现界面功能菜单列表模块主要让用户使用科目一、科目二、科目三、科目四、登录注册、朋友圈、退出等功能。功能菜单列表模块界面效果图如图5.4所示。科目二(小路考),对使用者进行科目二考试流程、基本操作和注意事项进行文字讲解,如图5.5所示。科目三(大路考),对用户进行科目三考试流程、基本操作和注意事项进行文字讲解,如图5.6所示。 图5.3 主界面图 图5.4 功能菜单列表模块界面图 图5.5 科目二(大路考)界面 图5.6 科目三(大

50、路考)界面第5.4节 练习模块实现界面展示章节、顺序、随机练习模块和考试模块界面。章节练习界中,用户可以对掌握较差的一类考题进行强化学习。选择好类型后进入练习界面后开始练习,面图如图5.7所示: 图5.7 章节练习模块界面顺序练习界面图时对题库的考题进行从头到尾的顺序进行联系,此联系模式下可以对考题进行收藏,选定选项后还可以点击查看键查看当前题目的正确选项。界面如图5.8所示:图5.8 章节练习界面第5.5节 模拟考试模块实现界面模拟考试模块主要实现用户模拟科目一的考试,界面显示上一题、下一题、考试时间、题库随机抽取的考试题和提交按钮。点击交卷按钮后会弹出提示信息提醒用户是否确定交卷。模拟考试

51、界面和提交试卷提示界面如图5.9所示。提交分数类型有两个类型可选择,用户可以根据自己的需要进行选择;考试得分界面主要显示用户的本次考试得分和对错误考题的展示,并告知正确答案。提交分数类型、考试得分界面如图5.10所示。图5.9 模拟考试界面、提交试卷提示界面图5.10 提交分数类型、考试得分界面第6章 系统的测试第6.1节 测试方案设计6.1.1 测试策略为了方便用户使用“基于Android的驾校一点通软件”,以及尽可能少的使 “基于Android的驾校一点通软件”的测试错误的发生。该测试系统的主要范围,以测试在以下三个方面:(1)对于“基于Android的驾校一点通软件”代码,分别进行单元测

52、试,集成测试,系统测试,验收测试的结果;(2)列在测试对象可以被测试或不可接受的测试的特性和功能;(3)用于分析和文档的测试需求,该日期的书面文件不必影响的设计,开发和执行的测试。6.1.2 测试安排对该系统的总体质量进行了测试,系统的功能和性能完全可以实现,必须做到以下几点:(1)为每个系统的功能测试,单元测试,集成测试;(2)系统测试,集成测试,系统测试的各个模块的整合后;(3)所有测试用例已经实现;(4)通过执行所有的自动化测试脚本;(5)所有重要的等级问题是与测试和验证完成;(6)测试的每个部分是验证完成的水平;(7)重要特点不是问题;(8)回归测试。6.1.3 测试资源对测试资源的说

53、明如下:(1)开发人员要按时完成开发工作,应避免应用环境受到的限制,如网络带宽;可维护性、可移植的限制;(2)确定测试项目对外部因素存在的依赖。第6.2节 测试用例构建6.2.1 测试用例编写约定以下是对基于Android的驾校一点通软件的各个功能方面等的测试,表6.1就体现了整个系统阶段的测试。 表6.1 测试阶段技术说明表测试阶段技术是否采用说明审评测试是文档软件产品的功能和设计文档的测试,在需求和设计阶段进行20编写测试用例是在测试用例的准备阶段产品代码 单元测试是由开发商进行 功能测试是由开发商进行 集成测试是集成系统来检测模块的要求,业务流程和数据处理是否满足条件,业务流处理的系统,

54、如果没有严格的逻辑和错误21 系统测试是包括性能、压力和回归测试 验收测试是通过建设,项目实施单位工作人员操作 安装测试是该测试仪测试系统的安装6.2.2 测试分析由于开发经验不足,总是出现一些低级错误,比如考虑不全面导致的系统缺陷,写出的代码功能与设想不一致,代码不规范使接口与接口之间出现问题,功能与客户的要求不符合等,这样导致产品不能过关,无法交付。所以产品在上线前必须反复测试,经过反复测试,修改,再测试,再修改,产品才能够不断完善。在整个系统测试中,根据需求文档和设计文档,一点一点的对系统功能进行检测并写好测试用例,极大程度的避免了残片缺陷,因为产品出现缺陷不仅影响功能,还可以导致收集的

55、数据不准确,最终使得产品质量的降低。只有经过不断的测试和修改,才能使得产品质量得到提升,这样产品的质量才有保证22。 结 论在这次毕业设计中遇到的最困难的方面就是在平时课上没有学好的关于软件编程方面的知识,在刚开始进行毕业设计的时候感觉十分困难,根本不知道该从何处下手,但不变的坚持,设计的最终还是被完成。无论多么的困难,只要能够坚持下来,善于去找到好的材料来研究,在研究中充分利用资源,没有困难是不会被成功解决的。在软件开发之前,我们明确知道解该软件的使用者需要一个什么样的软件,以此作为基础为软件的功能准确定位,然后对所需实现的功能进行详细分析和总结,根据使用者的实际要求进行初步的方案设计。软件的开发不仅要实现使用者需要的几基本功能,而且还要考虑软件的界面简洁、功能流程和可扩展性等等,及时将对软件进行调试并对调试结果分析,保证软件的正常运行,也要考虑软件功能是否完善。经过一步一步的调整和完善,直到软件的功能和稳定性的完善。在设计该软件的过程中,我掌握了很多Android的编程知识,并对这种技术进行了学习。设计开发的过程也是一个再学习的过程,在遇到困难的时候我尽量通过自己想办法解决,极大程度的提高了我的自学能力;在

温馨提示

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

评论

0/150

提交评论