本科毕业论文Android手机通讯录设计与实现.doc_第1页
本科毕业论文Android手机通讯录设计与实现.doc_第2页
本科毕业论文Android手机通讯录设计与实现.doc_第3页
本科毕业论文Android手机通讯录设计与实现.doc_第4页
本科毕业论文Android手机通讯录设计与实现.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

重庆三峡学院毕业设计(论文)论文题目:Android 手机通讯录设计与实现专 业:计算机科学与技术年 级:2011级学 号:201106024132作 者:符梅指导老师:朱丙丽(讲师)完成时间:2015年05月说 明选择何种方式与他人取得联系,在如今这个信息高速发展的社会,人与人之间的联系越来越密切,通讯方式多种多样的社会,是人们必须考虑的问题。从Android智能手机面世到现在,出现了很多第三方提供的手机通讯录,但这些通讯录大同小异,要么功能太过单一,要么功能太过繁杂,实用性不好。对此,我们希望设计出一款实用性强、功能丰富,比第三方公司提供的通讯录软件方便、实用且功能丰富的Android手机内置通讯录。免去用户安装第三方软件的麻烦,节省空间,这样用户就可以安装更多其他软件了。 我们设计的基于Android的手机通讯录,实现了普通手机通讯录所拥有的功能,这些基本功能包括对联系人的添加,修改,删除等。在实现这些基本功能的基础上添加了一些其他功能,如收发短信、语音通话记录等功能。我们的通讯录界面更友好、功能更人性化。通过设计本次通讯录,更深入地学习了Android的知识、项目开发知识,熟悉Android的软件开发流程,拓展就业能力,为以后的工作打下良好的基础。序号学号姓名专业、班级任务分配1201106024145郑海深计算机科学与技术1班组长,协助符梅进行用户需求分析;主要使用Android的View框架编写软件,有的框架也用其他组件编写;使用LinearLayout、RelativeLayout等实现布局框架。使用Java语言实现各个功能2201106024132符梅计算机科学与技术1班负责用户需求分析,测试时用的是黑盒测试的方法,进行界面设计,并协助郑海深完成相关功能的设计与实现目 录摘要:IAbstract: II1 引言11.1 研究背景11.2 研究现状11.3 主要工作21.4 本文结构22 Android技术22.1 Android系统开发简介22.1.1 Android简介32.1.2 应用程序32.1.3 Java开发方面42.1.4 JNI技术42.2 Android应用的构成和工作机制42.2.1 Activity42.2.2 Intent & Broadcast Receiver52.2.3 Service52.2.4 Content Provider52.2.5 SQLite数据库63 Android手机通讯录概述63.1 总体设计63.2 系统功能设计83.2.1 联系人的基本功能83.2.2 通话记录功能93.2.3 短信通信记录功能93.2.4 个人中心设置94 通讯录需求分析104.1 Android手机通讯录用户需求分析104.1.1 用户需求分析104.1.2 软件需求说明书115 Android手机通讯录系统测试135.1 软件测试135.1.1 软件测试的基本概念145.1.2 软件测试的方法165.2 Android手机通讯录功能测试175.2.1 添加联系人功能测试175.2.2 删除联系人功能测试175.2.3 发短信功能测试185.2.4 收短信功能测试185.2.5 打电话功能测试185.2.6 创建分组功能测试205.3 测试总结206 Android手机通讯录评估216.1 Android手机通讯录设计总结216.2 未来展望217 结束语22结论22致谢22参考文献23Android 手机通讯录设计与实现摘要: 随着社会的前进,近年,通讯方式越来越多。Android智能添加更多内容应用提供了良好的平台。我们这次设计的这个系统是基于谷歌公司推出了一个开源手机操作系统Android,编程语言用的是Java ,利用 Eclipse SDK + ADT作为系统的开发环境,通过平台的系统架构设计和实现应用程序的功能研究中,设计出一款通讯录。本系统包括增加联系人,删除联系人,修改联系人信息,播打电话,收发信息,收发发邮件等基本功能,完成了一般用户希望通过手机通讯录完成的事情。然后自己新加了语音通话记录、短信通信记录等附加的功能,解除了第三方的通话记录、通信记录软件的麻烦。我们根据标准的软件开发过程来设计本通讯录,第一步进行需求分析,第二步根据需求分析确定通讯录功能,第三步确定通讯录的整体结构,第四步编写程序代码,调试、运行、优化程序,最后进行系统测试。本软件还使用Android提供的各种组件对界面进行设计,使用了两个外在的gson-1.5.jar和pinyin4j- 2.5.0.jar包来完善通讯录的设计。能够更加友好地支持使用者的进一步体验。关键字: Android开发 Android;智能手机 手机通讯录;Design and Implementation of Mobile Phone Contacts on Android Abstract: With the development of the society,recent years,the way of contacting with each other is becoming more and more varied. wireless bandwidth and transmission speed has been greatly improve at the same time, for the application of intelligent mobile terminal to add more content rich function provides a good platform.This APP is based on the Google company launched a Linux platform based on open source mobile operating system, Android, use Java language to realize the system function, using ADT Eclipse SDK + as a development environment, through the platform of the system architecture design and the realization of the function of application study, designed a mobile address book.This system including add, delete, modify, make a phone call, send messages, the basic function such as E-mail, meet the needs of the user to the address book.Added voice calls, text messages and new communication record additional functionality, such as lifting the third-party call records, communication software of trouble.The design of address book follows the standard development process, demand analysis first, then determine the address book function, design architecture of the system, and then write the program code, debugging process, run the program, and optimize the program.The software using Android also provide various components to design of interface, USES two external gson - 1.5. The jar and pinyin4j - 2.5.0. Jars, help it to complete the corresponding functions.Is able to support the user experience.Key words: Android development;Android.Smart phones;Mobile address bookI2015届计算机科学与技术专业毕业论文1 引言1.1 研究背景Android智能手机具有四大特点:1.相对于苹果手机而言,比较便宜,大多数用户都可以拥有。2有不用连接网线就可以接入到互联网的能力,即随时随地都可以连接网络,只要有接入热点(Access Point)。3具有PDA功能,用户可对个人信息进行管理,运用多媒体,安排日程,安排、分配任务,连接到网络浏览网页等。4更加人性,用户可以需要扩展手机的功能,比如使用从其他地方得到的手机应用。调查显示,功能手机即将慢慢淡出人们的生活,智能手机有着全面普及全世界的趋势,而对智能手机的使用,Android占有市场上的最大份额。现在我们生活在很多信息快速传递的时代,手机变成了从座机以后的用得最多的通讯工具。在这样的环境下,每天背着一大摞要联系的人的资料到处奔波,显然是不显示的,这时就需要一种能够存储、管理这些信息的软件。1.2 研究现状当今社会人们的快节奏生活,要求人们在较短时间内完成较多事情,而对智能手机作有更高的要求,因为手机市场发展迅速,使得手机操作系统,是不同的。应用Android系统的成本比较低,并且资源比较丰富,Android系统具有良好的用户体验,并且开放源代码。Android手机操作系统除了低成本和良好的用户体验,因为开源开发平台,考虑到终端制造商和许多开发人员更大的灵活性,开发工作者程序移植发展、更方便,不需要考虑制造商内容审计、终端厂商等问题可以按需定制深度本地化应用系统开发环境、第三方应用程序开发人员,用户选择可用资源进一步丰富软件的功能。目同时,各应用商之间的移植改造成本相对较低,为Android的进一步发展提供了可能。用户的需求日益增加,越来越多的人从事基于Anddroid平台的开发工作,促进了Android平台的应用发展。而从市场的角度考虑,Android能开发出界面友好的应用软件,和别的系统比起来更便宜。对于安卓手机,我们并陌生,近几年,智能手机基本取代以前的功能手机,而这些智能手机中,使用安卓系统的智能手机占绝大部分,并且有继续占据大部分手机市场。为此,安卓智能手机还有很大的发展。因此Android人才在短期内将供应不足。预测未来,如各种移动应用程序和手机游戏内容日益增长的需求,也将鼓励大中小型移动应用程序开发人员加强开发Android应用程序,Android人才前景也看起来不错。随着信息时代的到来,各种智能手机的飞速发展和越来越快的通讯技术,智能手机称已为日常生活、工作不可或缺的工具。使用手机与他人保持联系,肯定要有这些人的联系信息,所以就必需一种能存储联系人信息的软件,所以手机通讯录也是人们日常生活工作中离不开的一款软件。通讯录记录利用数据库存储用户与联系人的通话情况,用户不用自己通过大脑记联系人的信息,并且不受各种其他条件的限制,方便、简单、快捷地管理亲朋好友的联系方式,摆脱了传统记事本带来的苦恼。此外,本通讯录不与微博、QQ等社交网站一样,手机通讯安装在手机上只有手机的主人可以使用,不属于任何一家特定公司或者服务。在没有用户认可的前提下,没有任何一家大公司可以建立起巨大的网络。综上所述,开发一款具有很多功能的手机通讯录很有必要。在实现普通通讯录的常用功能的基础上,还综合了手机上的一些软件,比如:信息通信记录、通话记录。1.3 主要工作本次系统设计按照照标准系统开发流程,主要工作有:需求分析、本次系统设计的主要框架编写用到了Android开发的View,Android中的其他组件运用于其他框架的编写。并使用Java语言进行程序编写。通讯录的主界面包括了4个菜单menu键,还有一些EditView,它们有不同的工作。当输入号码和联系人姓名等一些必要的信息后,我们会使用到界面上左上角的一个button键,这个键的作用是用来保存所有对联系人信息编辑的内容,点击这个键就能完成联系人的保存。改变联系人信息时,涉及联系人的头像,姓名,公司、职位、电话号码,电子邮件,家庭地址等,用户可根据编辑这些信息。其中Tel、E-mail,Address使用了3个ListView。已存储的联系人都显示到主界面的ListView里面。在点击联系人的名字或头像,即能修改其内容;如:查看详细内容,拨打电话,发送短信,移除等。主界面有四个menu键:即拨号、联系人、信息、设置。又可以对其进行相应的操作。1.4 本文结构本文的内容包含了当前Android手机通讯录的使用现状,也就是我们在什么样的社会环境下设计的这个通讯录;当前基于Android平台的开发现状,即本次设计的支持;然后是对本次设计的开发进行概括描述,详细的介绍了软件的架构,以及Android手机通讯录的设计实现,用Java的JAR包对XNL文件进行分析;详细介绍了该软件的性能优化;接着是对系统的需求分析;紧接着是对本系统的测试分析;再接着对本次毕业设计进行总结并提出展望,最后是论文的结束,包括结论和致谢,最后是本次毕业设计和论文用到的参考文献。2 Android技术2.1 Android系统开发简介2.1.1 Android简介Android主要分为四部分,最底层以Linux内核层(Linux Kernel)工作为基础,并由C语言开发,其核心系统服务如安全性、进程管理、网路协议、内存管理以及驱动模型都依靠Linux内核。第二层是函数库以及运行环境(Libraries Android Runtime)。第三层是应用程序框架层(Application Frmework), 提供了大量的API供开发者使用,包含了各种组件。最上层是应用程序层(Applications),能够直接与用户进行交互,比如通话程序。Android系统架构如图2-1所示:图2-1 Android系统架构图Android是一个免费的开发平台,平台上的应用在各种Android 手机上,用来提供更好的用户体验。2.1.2 应用程序 基于Android平台开发的应用程序,界面友好,用起来方便,灵活性强。目前市面上大多数手机应用软件都采用2.1.3 Java开发方面Java比较容易学习,面向对象,技术成熟,应用广泛。2.1.4 JNI技术native层是用C和C+写的。java要使用native层的功能,Android系统为java与native提供了JNI来实现.在JNI其实也是写在native中的。在Android Java调用C/C+函数, 甚至C/C+也可以使用可创建java对象来访问java中变量和函数。NDK是很多工具的总称,主要用来帮助开发人员快速开发C/C+动态库,并且可以自动生成OS和Android应用程序所需打包成的APK。这一系列的工具帮助开发人员更好的使用各种保存语言,这归功于伟大的NDK技术,开发人员只需修改C/C+文件(指出哪些文件需要编译,编译功能请求等等),就可以创建出OS(镜像文件)。对于应用开发的Android程序来说。也可以自己封装C、C+功能,再使用java来调用实现想要的功能,实现该功能的接口技术就是NDK。就是在Android中java可以调用C/C+函数,。2.2 Android应用的构成和工作机制对于一个Android应用程序来说,是由Activity、Intent & Broadcast Receiver、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。应用程序被调用的时候,会在文件AndroidManifest.xml中进行添加,当然,很多的服务都是自动生成的。比如我们的Server、Activity等组件都需要配置。在我们使用的打电话功能也是需要在这里添加权限。2.2.1 ActivityActivity是Android中的四大组件之一,系统通过Activity来与用户进行交互的。从图2-2可以看出,Activity有三个关键的循环:当前活动程序Activity:是Android中四大组件之一,用户通过Activity与系统进行交互。Activity具有生命周期,即运行、暂停、停止等几个状态,状态间的转换可通过调用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop ()、onDestory()等方法来实现。要开启新的activity,可以调用startActivity(Intent),或调用startSubActivity(Intent, int),后者通常和onActivityResult(int,int, String,Bundle)一起使用,以从一个activity获取某结果并返回给打开它的activity。(1) 活动的整个生命期:从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。(2) 活动的可见生命期:从调用onStart()开始,到onStop()被调用为止。onStart()和onStop()方法可以多次调用。(3) 活动的后台生命期:调用onResume()开始,onPause()被调用为止,一个Activity可以在resumed状态和paused状态之间相互切换。图2-2 Activity的生命周期图2.2.2 Intent & Broadcast ReceiverIntent是消息传递媒介。Android用了Intent来实现的切换工作。它分为显式Intent和隐式Intent,隐式Intent,指定了component属性的Intent,就能满足此Intent的组件。而显式Intent,需要指定component属性的Intent。Broadcast Receiver是就广播接收者。应用使用ContextBroadcast Intent()将它们Broadcast Receiver广播给其它的应用。2.2.3 ServiceService是后台服务,不会与用户直接交互。当前活动程序可以使用Context. StartService()开启一项后台服务,还可以通过Context. bindService()与后台服务通信。2.2.4 Content ProviderContent Provider用于进程数据存储与共享,为应用进程提供共享数据的访问方法,如: Query(Uri,String ,String,String ,String,String,String)(数据信息的查询) ,insert (Uri,Content values) (在Content provider中添加新数据) , update(Uri, Content values, String,String )(更新Content provider中的数据), delete(Uri, String,String )(删除数据) , Gettype (Uri)(获取数据类型)。2.2.5 SQLite数据库目前,行业内有有多种数据可供我们选择使用,比如DB2、SQL/DSforVSE 、Oracle、Sybase、Informix、SOL Server mySQL等,都是常用的一些数据库。如此多的数据库,到底选择合作数据库来管理我们通讯录的数据呢?为此,我们查阅了大量的资料,最后结合我们设计的通讯录,我们决定选择SQLite来管理我们的数据。据资料,SQLite数据库占的资源非常少,特别适合嵌入式设备,这太符合我们将要设计的基于Android平台下开发的手机通讯了,简直就是量身定做,不用再纠结,肯定选择此数据做为我们通讯录的数据库了。SQLite与一些大型的数据库相比,体积小,占用资源少,可以直接运行在应用程序的进程。并且SQLite数据库支持NULL,INTEGER,REAL,TEXT,BLOB这5种数据类型,在Android程序设计中,我们可以直接通过有关的API来调用,从而实现数据库的各种功能。3 Android手机通讯录概述3.1 总体设计一个好的系统设计步骤来确定项目可以按时完成根据设计师的目的,是否在规定的时间内按照设计师的要求高质量完成必要的功能。按照设计标准过程的步骤、调试、测试和优化,使程序更健壮性和可用性。通过后的开发流程如图4-1所示。图4-1开发流程图根据手机通讯录需求分析,根据标准开发流程来开发软件功能。系统的功能图如4-2所示:设置信息联系人拨号打电话通话记录打电话发送信息信息记录发信息添加联系人删除联系人查看联系人信息设置Client图4-2 系统功能图打开通讯录客户端,在通讯录界面,默认界面显示拨号界面,在拨号界面,我们可以输入电话号码拨打电话,也可通过通话记录,快速找到最近联系人直接拨号,还可切换到联系人界面找到想要的人的信息,然后拨号。在联系人界面可以看到联系人列表,点击联系人界面上右上角的添加联系人图标,将弹出联系人信息编辑界面,在该界面完成联系人信息的编辑后,可点击完成按钮保存联系人。点击已保存的联系人对该联系人进行拨号、发送信息、阅读详细信息、移动分组、移出群组、移除等操作。在信息界面,可看到信息列表,我们可以在这里收发短信,阅读短信,查看已收短信。系统的运行流程图如4-3所示。图4-3 系统运行流程图3.2 系统功能设计查阅相关资料得知,使用手机的人中的大多数人都会使用手机通讯录,不论是智能手机还是非智能手机。随着手机功能的不断丰富,手机通讯录也得到完善,越来越多的人使用手机通讯录。智能手机通的通讯录不与传统的电话薄一样仅保存联系人的电话号码,响应时代要求的手机通讯录必须能够存储更多联系人的信息,对联系人的操作应该不仅限于拨打电话,还应该具有更多其他、且具有个性的功能。我们本次设计的目的就是要设计一款功能丰富、使用快捷方便,适合大众消费者使用的手机通讯录,其功能主要包括以下几方面内容。3.2.1 联系人的基本功能用户在Android手机通讯录的主界面中,可以看到四个menu建,我们首先介绍联系人menu键。我们打开手机通讯,进入手机主界面,点击联系人menu按钮,可查看所有已经存储的联系人,如联系人信息有所变化,我们可以点击该联系人,弹出很多可供选择的操作,根据需要选择相应的功能点击。新增联系人时在联系人界面中,点击右上角的新增联系人按钮,弹出对联系人信息编辑的界面,编辑新增联系人信息,有Name、Tel、pic、address、Email等内容,用户可根据自己需要完成相应内容的编辑,点击左上角的完成即可保存联系人。删除联系人时,在联系人界面点击要删除的联系人,会出现一个选项列表,选择删除,在出现的的对话框中点击确定即可删除联系人。3.2.2 通话记录功能用户在Android手机通讯录的主界面中,就有四个menu可以进行用户选择,系统直接默认的是拨号键,进去就是通话记录界面,然后用户可以在这上面可以进行打电话。可以手动拨号,和可以选择在通话记录中查找并拨打。让用户减少了择联进入手机自带通话记录的时间。3.2.3 短信通信记录功能用户在Android手机通讯录的主界面中,就有四个menu可以进行用户选择,首先点击信息menu键,进入手机信息界面。进去就是通信记录界面,然后用户可以在这上面可以查看信息。可以手动填写号码发送信息,和可以选择在通信记录中查找并回发,也可以在联系人界面去找自己要发送信息的联系人。让用户减少了进入手机自带的SMS的时间。3.2.4 个人中心设置在这里可以根据自己的喜爱进行一下设置。可以设置通讯录皮肤,还有个人信息等。以下内容由本人独立完成4 通讯录需求分析4.1 Android手机通讯录用户需求分析需求分析就是与用户交流,了解用户想要软件具有什么样的功能,即用户可以用软件干些什么。需求分析必须了解用户想要的功能,归纳出准确的用户要求。在对系统开始设计是,需讨论研究系统在当前技术支持的条件,能够设计出来相应的功能。做完以上工作后,就可根据前面得出的结论,就可以得到一个模型,然后根据分析模型编写软件需求规格说明书。4.1.1 用户需求分析我们的主要用户为一般人,我们通过大量的数据分析显示,现场调查研究发现,当今社会智能手机的用途绝不仅限于打电话,发短信的单一功能。当今社会是信息无处不在,错综复杂,人们急需一种简单,方便快捷的工具来收集、存储、管理信息。当今社会,哪里有网络,哪里就有新闻是一个高度信息化的时代,越来越多的人在工作中通过电子邮件的方式进行交流。(1) 界面需求本次设计的通讯录,要求集电话薄、短信、拨号、邮件等功能于一体,界面应当为这些功能的实现提供相应的菜单按钮,并且用户要求在发送邮件时可以像发短信一样地简便操作快速编写邮件,随时随地收发邮件。(2) 安全性需求网络为人们生活、工作、学习等带来无限便利的同时,也有不安全的事情可能会发生。危险的事情也是有的,如网络病毒、黑客入侵等都会给用户信息的安全带来隐患。因此,在设计通讯录,要设计出安全性高的软件。(3) 保密性需求前面提到,我们所处的时代是一个信息大爆炸的时代,人们经常在讨论谁谁的QQ密码被盗,银行卡的密码被他人知道了,钱被取走了等等各类信息泄露的事层出不穷(4) 处理时间需求快速处理用户的操作请求,如果要很长一段时间来处理的话,要提示用户,不能长时间软件自己在那默默的反应,而用户看不到界面变化告知用户该软件正在运行。(5) 可靠性需求满足快速处理用户的操作的前提是要满足数据的可靠性,用户每执行一次操作都期望得到可靠的结果。(6) 无缝性无缝问题是一种常见的应用后台进程(例如service或broadcast receiver),对某些事件反应和弹出对话框,它似乎毫发无损,尤其是当在模拟器上来构建和测试系统时。然而,当应用程序运行在实际设备上,后台线程就会显示对话框,提示用户可能是没有得到焦点的应用程序的用户。系统似乎将后台活动的应用程序的显示对话框,或焦点覆盖了当前的程序正显示的界面,并显示一个与用户应用无关的话框。使用通知,用消息图标来通知用户某一事件发生,而不是得到关注和中断用户。设置信息联系人拨号打电话通话记录打电话发送信息信息记录发信息添加联系人删除联系人查看联系人信息设置Client图4-1 功能界面示意4.1.2 软件需求说明书软件需求说明书是软件设计的依据,有效地连接了计划阶段和开发阶段。通过它表达各种对期望计算机解决的问题的理解。因此,往往因为软件需求说明书的一个微小错误导致的系统错误需付出巨大的代价纠正。(1) 引言本次设计的Android手机通讯录集短信,电话,邮件等多功能于一体,使通讯录的功能更多样化,操作更方便,使用更快捷,使通讯的功能更完善,丰富。为用户手机免去安装多个应用软件的苦恼,使用时同时打开多个软件的麻烦,这样手机也可以允行得更快了,为用户留下更多安装其他应用软件的空间。通过新手教程,用户可以很快掌握本软件的使用方法。1)编写目的本需求说明书的编写目的在于研究Android手机通讯录软件的开发途径和使用方法。本说明书的预期读者是参加项目的所有工作人员。2)项目范围项目名称:Android手机通讯录设计与实现项目开发者:郑海深、符梅项目用户:Android智能手机使用者本软件集拨号、短信、邮件功能于一体,便于用户对联系人的资料进行管理和使用。图4-2各模块关系图(2) 任务概述1)产品概述1 软件开发意图:针对当下智能手机的迅速发展,人们对智能手机的广泛用途,避免用户安装多种应用软件的苦恼,为用户安装其他应用软件节省空间。2 软件的应用目标:使用本软件,用户可将联系信息非常集中地管理,非常有序,且存储方便。使用联系人信息时,方便快捷。减少用户应用软件的安装个数,使用时减少用户应用软件的启动个数,速度快。3 软件的作用范围:本软件适用于普通使用者。4 该软件的开发背景:当下无线网络的迅速发展,智能手机的广泛用途,其便于携带,为用户提供随时随地通讯,各种应用功能不断完善,对速度的高要求,一款规范管理联系人信息,多用途的通讯录是时代的要求。2)用户特点对功能要求比较齐全,联系人信息比较多,经常处理邮件。3)条件与约束1 项目开发人员比较少,时间比较紧迫,开发人员开发经验不足。2 项目开发周期不超过5个月。3 主要负责人2名,开发小组成员2名。(4) 需求规定1)对功能的规定1 外部功能:该软件具有添加联系人、删除联系人、修改联系人信息、收发短信、收发邮件等功能。2 内部功能:该软件集数据库、组件、编码于一体,完成按钮响应,菜单显示、数据存储等功能。2)对性能的规定1 精度要求:根据使用需要,在信息保存、拨号,特别是收发短信和收发邮件时,要支持各种精度的需求。2 时间特性要求:系统在作出反应的时间、更新处理等方面要满足要求。如拨号、收发短信、收发邮件都需要软件及时响应,马上进行处理。3 灵活性要求:可以根据用户的需求,如操作习惯,对软件常用功能的使用,以及数据结构的改变,软件可以支持适当调整,以满足用户的不同需求。(4) 运行环境规定1)手机Android版本需4.2.3及以上版本2)开发环境:Java JDK需在1.6版本以上,Eclipse,Android SDK ,ADT3)接口1 软件接口:Android 4.2.3及以上版本。2 用户接口:用户安装软件后,进入主界面点击相应菜单按钮,完成相应操作,达到想要的效果。5 Android手机通讯录系统测试5.1 软件测试进行软件开发时,一般会经历好几个时段,而每个时段的负责人都不一样不同,因而在各个时段都可能产生错误,部分错误是没有办法不犯的,有的是不可避免的,部分错误因为工作人员个人因素,还有每个阶段负责人都是不同,这同样会给开发工作带来一些问题。因此,在开发过程中要对各个阶段的工作进行检测,发现问题,及时解决。软件测试的目的就在软件大量投入使用之前,由专门的工作人员来检查软件,看软件是否达到预期的设计效果,发现其中存在的问题,使软件在投入使用前能更加完善,稳定。软件测试在软件生存周期中的各个阶段。一般情况下,程序员完成每个模块的设计后会对模块进行测试(单元测试),程序员自己完成对模块的测试工作,这两项工作在同一个阶段完成,可由同一个人完成。接下来的还应该综合测试,综合测试不在模块测试这一阶段,这个阶段对软件的测试,不能由编写者本人进行,通常会有专门的软件测试人员来测试该阶段的软件系统。开发与测试的关系如图5-1所示。需求分析总体设计详细设计编码单元测试集成测试系统测试验收测试图5-1 开发与测试的关系图5.1.1 软件测试的基本概念(1) 软件测试的目的软件开发项目经历了计划、需求分析、设计和编码以后,得到了很多成果,但是这些阶段性成果有没有实现用户要求的功能,实现了多少用户要求的功能,是参与软件开发工作所以人一致关心的事情。因为,大量的人力、物力投入了开发工作,又经历了阶段复审,人们迫切希望拿到合格的成果。所以,软件测试就应运而生(2) 软件测试的对象软件测试是对开发过程中的每个阶段进行测试,发现各个阶段发生的错误。因为,软件开发工作分为很多个阶段,每个阶段都可能产生错误,在每个阶段产生的错误,在每个阶段的审查工作中不一定都能发现,软件开发的各个阶段总是有着非常紧密的联系,每一个阶段的错误都会对其后的阶段造成影响。或许下一阶段本身并没有产生错误,在本阶段测试发现的错误是上一阶段产生的,这就要求测试员回到前面阶段进行在测试,直至找到错误源头。所以测试源程序的测试时发现的问题可能并不是是因为程序编码阶段的错误造成的,很可能是前面阶段的错误遗留下来的问题。目前人们还没有办法把握这些环节,保证这些环节中不发生任何差错。软件开发过程中软件开发者对用户需求的理解和表达、对软件的设计和表达、对软件功能的实现以及软件开发出来后运行过程中,各个阶段中产生的问题都可以用软件测试测试出来。(3) 软件测试的基本原则1)完全测试是不可能的。考虑一个实例:Windows系统下的计算器软件,要想对该软件进行完全测试,不仅需要大量的输入,而且输出结果和执行路径也相当所,另外,软件说明书的主观性也决定不可能完成这项工作。2)软件测时存在有风险活动,上面提到,在软件生命存在周期的整个过程中,每个阶段都可能产生或多或少,或大或小的问题。理论上,软件测试时要测试出被测软件的所有缺陷。但实际情况是,我们不可能对所有的情况进行完全测试的,所有,对于那些未测试到的情况,对软件来说就是有风险的。这就需要测试员进行测试评估,将需要测试的内容缩减到可控范围内,同时还要对这些问题存在的风险进行判断,确定出不用测试的和必须测试的。3)软件测试不能对隐藏的软件缺陷和故障进行显示。软件测试时发现的问题,软件测试员要将其报告,若测试时为测试出软件缺陷,软件测试员不能报告软件不存在缺陷。4)软件测试中存在的群集现象。软件缺陷可能成群出现,也就是说发现一个缺陷,附近就有可能有一群缺陷。5)杀虫剂现象。像病毒对药物会形成免疫了一样,软件也会对软件测试产生免疫力。所以在软件测试时不能采用单一的方法进行测试,因为从软件开发开始到测试阶段时,已经经历了很多阶段,在各个阶段都可能产生了错误,就像用一种药物治疗病人一样,无法检测出软件所存在的问题。所以我们就要用到多种测试方法进行多次测试。6)并非所有的软件缺陷都要修复。软件测试所发现的问题肯定是各种各样的多种多样的,就像体检是,医生会发现被体检者的身体存在的问题,但医生并不会一发现问题就给被体检的人进行手术,而是根据问题对身体影响的程度做出不一样的治疗方案。类似地,测试员并不会再测试发现问题后就对被测试提出大刀阔斧的修改方案,而是根据所发现的问题对软件的正常运行,功能使用的影响程度做出相应的修改方案。7)软件测试必须有预期结果。在进行软件测试之前,测试员要明白正常情况下,该功能是怎样的,用户在使用软件想要体验的是怎样一种效果,或想要达到一种什么目的。8)测试在开发的各个阶段都存在。谁也不能保证自己在完成工作时不出现差错,而开发程序要经历多个阶段,每个阶段的工作人员还不是同一个人,并且每个阶段也有很多人参与完成,所以这样出现错误的概率就更大了,所以我们不得不在每个阶段都进行测试。9)程序员测试自己编写的程序。从情感上讲,对自己表示否定,找自己的茬,不是一件容易的事,如果要程序员测试自己编写的程序,就是自己找自己的茬。要一个人来否定自己千辛万苦设计出来的成果是多么残忍的一件事情。测试软件需要客观的结论,而每个人对自己的评价往往是很难做到客观的。如果程序员自己测试自己设计的软件系统,其测试思路与其设计思路势必大同小异,所以不能达到测试效果。(4) 软件测试的基本步骤软件测试过程按测试的先后次序可划分为单元测试、集成测试、确认测试、系统测试和验收测试,其过程如图5-2所示。1)单元测试单元测试就是对被测程序的很多小块进行测试,测试的是模块。所以该测试方法又称为模块测试2)集成测试集成测试可以形象地理解为将一些零散的“零部件”,按一定标准组装成一个整体的“物件”,然后对整个“物件”进行测试。其中的零部件指的是模块,物件指的是模块组装后的系统。3)确认测试确认测试时对需求分析阶段得出的软件的功能和性能需求进行确认。4)系统测试系统测试是把系统测试功能与用户需求的功能相比较,找出被测软件软件的功能与用户需求的功能的不同之处,从而验证软件系统的功能和性能等。5)验收测试验收测试与前面讨论的各种测试不同的是它要求用户参与到测试工作中,测试时,不仅用户需要参加,软件开发者也要参与进来。验收测试后基本上不再进行其他测试。单元测试单元测试单元测试集成测试确认测试系统测试验收测试被测模块 设计信息 软件需求 系统其他元素 用户参与已集成已确认可交付 被测模块 的软件的软件的软件被测模块 图5-2 软件测试流程图5.静态方法与动态测试1)静态方法静态方法是测试试不运行被测程序,而是使用计算机对被测程序的特性进行分析。因此,静态方法常被称为静态分析,静态分析不是一种具体的分析方法,它是一些测试被测程序特性的方法的总称。有的人会误将静态分析看成是编译程序,实际上,两者有很大差别。编译系统只能分析程序中存在的一部分错误,而静态分析是对整个到测试为止的所有阶段进行测试,可以发现更多问题。常用的静态测试方法有这几种:桌前检查、代码会审、步行检查。2)动态测试动态测试时,要把被测试的程序在平台上运行,看被测程序在运行过程有什么问题。测试时需测试人员输入事先确定好的数据,然后观察被测程序的运行情况并记录,对被测程序的最终输出进行记录,测试人员就根据这些记录来判断程序是否存在问题。动态测试方法与静态分析方法的不同:动态测试时被测试程序必须是运行的,测试人员根据分析需要事先准备特定的输入数据,观察测试过程中被测程序的运行情况并记录,然后根据所记录的数据进行分析,得出结论。5.1.2 软件测试的方法当今社会,软件技术发展迅速,项目类型呈现多样化,为适应各类项目的测试,达到高质量的测试效果,目前软件测试行业中已出现各类软件测试方法。其中每类测试方法均有其各自的优势,每种测试方法的均有自己的侧重点。在选择测试方法是,为达到更好的测试效果,需根据自己测试项目类型,测试条件,具体想要的预期效果,选择合适的测试方法,不可盲目选择。以下主要介绍常用的白盒测试和黑盒测试两种方法。(1) 白盒测试白盒测试把被测程序看成是一个盖子打开的盒子,测试时测试员要知道程序的内部逻辑结构,还要晓得程序执行时的处理过程和路径,不需要测试程序的功能。所以又把白盒测试称为结构测试、逻辑驱动测试、基于程序的测试或者逻辑覆盖测试。(2) 黑盒测试黑盒测试就是把被测软件拿过来试用,对软件的每一个功能都要使用,并且还要进行观察和记录。使用软件时,输入的数据,对软件进行的各项操作都是经过严格考虑设计出来的,不可以任意输入数据和随便进行操作。常用的黑盒测试方法有以下几种:1)等价划分法知道软件测试规则的人都知道,我们不肯对要测试的软件进行完全测试,但是不对软件进行完全测试的话,有可能软件中存在的问题不能被发现,软件就投入使用,在使用过程中出现问题,造成不可估量的损失,这是我们不想看到的。所以我们就希望有一种方法可以不对软件的所有情况都进行测试,但对每一个类型的都进行测试,这就出现了等价划分法。2)边界值分析边界值分析就是取那些数值范围的最两边的值来设计测试用例进行测试。5.2 Android手机通讯录功能测试结合所学知识与我们本次设计的实际情况,我们选择的黑盒测试法对我们的通讯录进行测试。基本功能测试用例如表5-1所示:5.2.1 添加联系人功能测试通讯录的功能界面中,有拨号、联系人、信息、设置等菜单按钮,在选择修改功能后,在联系人界面,显示的是已保存的联系人信息列表,选择界面右上角的添加联系人图标,就会出现可以输入联系人信息的界面,在相应位置输入想要编辑的内容后,点击完成即添加联系人成功。该功能的测试结果如图5-3所示:5.2.2 删除联系人功能测试删除联系人功能测试的测试结果如图5-4所示:表5-1 Android手机通讯录功能测试用例测试用例编号功能操作步骤预期结果实际结果1添加联系人打开通讯录,在联系人界面中点击添加联系人的图标按钮,在编辑界面编辑联系人的信息添加成功添加成功2删除联系人打开通讯录,点击“联系人”菜单按钮,选择需要删除的联系人,在弹出的菜单中选择“删除”,然后在弹出的菜单中点击“确定”按钮删除联系人删除联系人3发短信打开通讯录,点击“短信”菜单按钮,点击写短信图标按钮,输入收短信的联系人的号码,然后输入想要发送的内容,输完后点击发送图标按钮即可成功发送短信成功发送短信4收短信收到短信通知,点击短信通知,点击想要阅读的短信阅读短信成功阅读短信成功5打电话打开通讯录,默认情况,主界面显示的便是拨号界面,可输入号码拨打电话,也可通过点击联系人拨打电话拨通电话拨通电话6创建分组在联系人菜单界面中,点击右

温馨提示

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

评论

0/150

提交评论