《毕业设计(论文)基于Android通讯录管理系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Android通讯录管理系统设计与实现.doc(26页珍藏版)》请在三一办公上搜索。
1、 毕业论文(设计) 题 目 基于Android通讯录管理系统设计与实现 学生姓名 学 号 学 院 专 业 指导教师 本人严重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本文除引文外,所有实验、数据和有关材料均是真实的。4、 本文除引文和致谢内容外,没有抄袭其他人或其他机构发表或撰写过的研究成果。 作者签名:_ 日 期:_目 录1 绪论11.1 手机通讯录管理系统的开发背景11.2 手机通讯录管理系统的研究目的和意义11.3 系统主要实现内容及实现方式21.3.1系统主要实现功能21.3.2 Android系统的开发平
2、台21.4 系统开发所需的技术支持21.4.1 Java开发语言21.4.2 Android简介32 手机通讯录管理系统分析32.1技术可行性分析32.2 经济可行性分析42.3 需求可行性43 系统概要设计43.1 总体功能设计43.2 系统流程设计53.2.1 业务流程图53.3 系统数据库简介与设计63.3.1 SQLite数据库简介63.3.2 系统数据库设计64 系统详细设计74.1 联系人模块74.1.1 联系人操作模块74.1.2 联系人查找模块94.2 信息模块104.2.1 信息显示模块104.2.2 信息编辑模块104.3 个人中心模块125 系统测试与调试135.1 测试
3、的概念135.2测试的目的135.3 测试的原则135.4程序测试145.5 测试的主要内容145.6 测试用例145.7 系统测试结果155.7.1 编辑联系人功能测试155.7.2 查找联系人功能165.7.3 删除联系人测试165.7.4 短信息发送测试175.7.5 短信息删除测试175.7.6 备份功能测试175.8 测试总结186 总结18参考文献:19致谢20基于Android通讯录管理系统设计与实现摘要:自Android公司被谷歌收购后,谷歌投入了大量精力开发和推广Android.现Android已经占据了手机操作系统80%的份额,并且还在进一步增加。伴随着安卓系统市场占有率份
4、额的不断增长,安卓应用软件也出现了爆发式的增长。在移动设备终端中,特别是日益繁荣的手机终端中,大量用户使用最多的软件是手机通讯录,其用户体验至关重要。随着社会的进步,手机通讯录的功能已经不仅仅局限于打电话等基本内容,其功能也在不断完善,实现了更多丰富多彩的内容。该软件的开发基于Eclipse平台和SQLite数据库。本软件对手机中联系人进行相关管理操作,从而方便用户使用。在详细设计本手机通讯录的过程中,对功能模块进行了详细描述并画出了相关流程图。关键词:Android; SQLite;通讯录Design and implementation of the management system b
5、ased on AndroidAbstract: Since Google has bought up the Android company in 2005,Google has invested considerable effort to Android field, it makes Android system become more and more popular and the market share of Android is still increasing. With the development of Android system, the Android mobi
6、le softwares are grown rapidly. In the mobile phone terminal, mail list is an essential basic function and its quality affects the users experience. The management system is designed for users to use their mail list easily and comfortably. This system is based on Java programming language and SQLite
7、. Through the management system, users can use the mail list conveniently. While in the detailed design of the system, some functions and some flow charts were described in detail Key words: Android; SQLite; mail list1 绪论1.1 手机通讯录管理系统的开发背景随着时代和技术的不断发展,网络通信技术快速普及,移动终端数量越来越大,同时,移动终端越来越发展成为互联网服务的载体。因此,
8、移动终端的软件会有很大的发展空间,Google联合摩托罗拉,三星,宏达电等厂家于2007年组成了开放手机联盟(OHA),并且推出了全新的移动操作系统Android OSAndroid是全新的一代移动操作系统平台,它由操作系统,中间件和一整套相应的完善的应用组成。Android开发了全新的Dalvik虚拟机技术,通过虚拟机技术,Java程序可以运行在Android平台上,同时,通过Dalvik虚拟机技术的运用,Java程序的运行效率得到大幅度的优化。Android系统的底层技术基于Linux操作系统开发,并且进一步优化了Linux内核,使其可以运行在移动操作系统平台。同时,一款操作系统基本必须的
9、相应的内存管理机制,进程管理机制和设备驱动服务等Android都提供了优秀的解决方案。Android是一款的开放的移动操作系统。这意味着任何厂家都可以拿到Android系统的源代码并且按照自己的意愿进行相应的修改和改进,这带来了用户体验的极大提升。另外,因为Android系统是一个开源开放的操作系统,所以其对图形系统,浏览器和多媒体等的支持非常强大。Android的开放性使得任何公司都可以得到其源代码并根据自己的要求和需要进行相应的修改,同时,电信运营商也可以对Android进行个性化的定制,使其满足自身公司的发展需要和提高用户的使用体验。同时,安卓的源代码开放性特点,使得安卓技术不断得到迅猛
10、发展,市场占有率不断上升。1.2 手机通讯录管理系统的研究目的和意义 随着运营商移动通信网络的不断发展,手机等移动设备的功能越来越丰富。手机已经不仅仅是一款简单的移动设备,其进一步发展成为连接人与互联网的载体。因此,为了满足这种越来越丰富多样的需求,手机设备上的软件也在不断迅猛的发展。与此同时,在谷歌公司不遗余力的大力推广下,安卓的生态软件也日趋完善。手机通讯录是手机上的一款基础必备的软件,用户几乎离不开它。同时,用户每天都在和手机通讯录打交道。几乎每个用户每天都在和通讯录服务打交道,根据最新的一项调查显示,平均每个用户每天使用通讯录的次数达到了七八次,随着技术的进一步发展,手机通讯录的内容和
11、含义也在进一步不断发展,已满足用户日益多样化的需求。现在,手机通讯录也不仅仅局限于最初的打电话,发短信等基础功能,手机通讯录对于现代人的意义,变得越来越个性化和现代化。同时,手机通讯录已经不是功能机时代简单的一款软件,其已经发展成为一款集合了个人多样化信息的一个载体,存储着丰富的信息,朝着个人名片的方向不断快速发展。现如今,智能手机的通讯录已经不再是单一功能的电话簿,在电话薄的基础上,现代智能手机通讯录大大丰富了其功能和形式,也受到越来越多人的喜爱。1.3 系统主要实现内容及实现方式 1.3.1系统主要实现功能通过对Android技术的相关研究,在了解及熟悉安卓的编码以及工作机制的基础上,设计
12、开发出一款符合要求的通讯录。这款手机通讯录实现目的功能有:1、具有良好的用户使用界面,并且能够实现用户对联系人增删改查的所有必备操作。2、实现用户对短信息的相关操作。3、为满足用户日益强烈的数据安全保护要求,设计相关的安全模块并实现其功能。1.3.2 Android系统的开发平台Android操作系统平台是基于Java语言开发而来,因此,本手机通讯录软件的开发平台选择Eclipse,在Eclipse平台安装相应的安卓开发套件,程序员可以方便快捷的将Android开发环境搭建起来。从而可以安装使用Android虚拟机,在该开发环境下,程序员可以方便快捷的开发出所需的相应软件。本通讯录系统即是基于
13、Eclipse开发平台编写完成而成的。1.4 系统开发所需的技术支持1.4.1 Java开发语言Java是SUN公司开发的全新软件开发语言。Java的编程思想很多继承了C+的思想精髓,但是Java舍弃了很多C+中复杂的操作,进一步简化了编程方式。Java语言是一个完全的面向对象的语言,它继承了C+的一些特性,如面向对象等,但是Java语言舍弃了C+语言的一些复杂易产生错误的操作,如指针操作。同时,Java编程语言增加了垃圾回收机制。因此,Java程序员在编写代码时,不需要考虑复杂的指针操作以及内存的释放等问题,一切由系统自动完成,因此,在全世界范围内,Java受到了越来越多的程序员的喜爱。Ja
14、va的特点:1. 平台无关性Java的运行与所运行平台的本身的特性无关,也即,Java程序可以在不同的平台上实现运行,这就是Java语言极其优秀的平台无关的特性。全世界内编写的Java程序都可以实现代码共享,这就是依赖于Java的平台无关性。Java的数据类型与机器无关。为了实现Java对二进制文件的相关解释执行,Java语言开发了功能强大的虚拟机技术,虚拟机技术是一种介于硬件和操作系统间的解释机制1。2. 安全性Java的编程思想借鉴了C+的编程思想精髓,同时对C+编程语言中一些复杂的操作,如指针操作等,Java进行了舍弃,避免了由于此操作不当引起的程序严重问题。在Java程序运行时,内存的
15、使用分配由系统自动完成,程序员由此避免了在使用指针时可能遭遇到的各种问题。同时,由于不使用指针,Java程序具有更好的安全性1。3. 面向对象 Java是一种完全的面向对象的编程语言,它将程序中的数据进行封装,由此,Java程序的可维护性得到了极大的提高。Java编程语言为方便程序员进行编程,提供了很多必备的基本类库,若要使用这些基本类,只需通过继承就可以轻松实现。在Java中,类的继承摒弃了C+语言中的复杂的多继承,转而变为单一继承,程序员因此不必去考虑类的多重继承,极大方便了Java程序员的编程工作1。4. 分布式TCP/IP是可扩展的安全的网络通信协议,可确保数据安全可靠的进行传递。Ja
16、va的网络通信机制即依据的是这一平台。Java库函数可以通过遵守实现HTTP或者FTP协议从而实现信息间的传递和接收。正是由于Java的这层特性,编程人员利用Java可以快速便捷的使用网络上的相关文档2。5. 健壮性在程序运行和编译时,Java平台可以同步查验程序运行中的错误。Java程序员在程序开发过程的早期阶段,通过类型检查,程序员可以发现程序中的早期错误。Java本身的内存管理机制又减少了由程序员引起的内存分配回收问题。由此,Java程序的生命周期由于这些具有积极意义的方式的引用而得到了极大的延长。另外,Java还通过其余的一整套机制,实现了整个程序的健壮性2。6. 解释型由于C和C+语
17、言更接近底层,所以,在实现对C和C+程序进行编译时,往往程序员需要根据计算机的CPU进行特定编译优化,从而生成相关的机器代码,由此,C语言程序或者C+程序与计算机的CPU存在特定关系。不同于C和C+对程序的编译方式,Java将程序编译成一种”中间代码”,称为字节码,其很接近于机器码,可以运行在Java的虚拟机上2。7. 动态类是一切Java程序的基本组成但愿,Java类分为两类,一类是由程序员自己编写实现的,另一种则是由Java类库直接导入的。在程序运行时,类可以实现动态的装载,由此使得Java可以在分部环境中实现动态的维护程序以及分类,从而实现Java程序优秀的动态性2。1.4.2 Andr
18、oid简介Android操作系统是采用Linux开放源代码内核而开发出的一款全新移动操作系统,由谷歌公司于推向市场,主要应用于诸如手机和平板电脑等移动设备领域。Android开发基于Java语言,程序员只要了解和熟悉Java语言就能很容易进行Android开发。同时,谷歌公司为了在世界范围内推广安卓操作系统,同时吸引更多开发者进入到安卓的开发中,为此,其制定了非常详细的安卓开发文档3。2 手机通讯录管理系统分析2.1技术可行性分析Android是基于Linux开发的全新一代移动操作系统,由谷歌以及开放手机联盟进行推广,其中谷歌在其中居于主导地位。谷歌公司为了在全世界推广Android的普及和发
19、展,制定了一整套完整的Android应用程序开发规范和帮助文档,便于程序员的开发工作。同时,Android采用Java作为其开发语言,而Java开发语言在全世界拥有数量庞大的开发者群,这间接增加了安卓开发者数量3。为了方便程序员进行软件开发,在Eclipse集成开发环境中,谷歌提供了Android开发必备的相关插件,程序员只需将插件安装到Eclipse中,即能进行Android开发。本软件的开发就是采用的Eclipse平台进行开发3。2.2 经济可行性分析在本软件的开发过程中,相关资料的获得均可通过图书馆和互联网获得。同时,基于用户最基本需求的调查也可以通过发放问卷形式获取。软件开发完成后的测
20、试工作可以通过一台安卓设备或者Eclipse开发环境中的安卓虚拟机完成。因此,该软件的开发成本来说相对较低,从经济角度来说,开发该软件可行3。2.3 需求可行性Android系统现在占据了超过80%的份额,同时,通讯录作为最基础也最重要的手机必备软件,其品质的好坏对普通用户的体验有着至关重要的影响3。3 系统概要设计3.1 总体功能设计本Android手机通讯录管理系统的基本功能包括用户对联系人,短信息的基本必备的相关操作,以及实现了一些个性化的诸如头像更换,备份的功能。同时,一款通讯录软件还具有发送短信的功能。另外,本款软件为了保护用户的数据安全,另外实现了数据的备份和恢复的一些功能。手机通
21、讯录的功能结构图如图3-1所示。图3-1 功能结构图3.2 系统流程设计3.2.1 业务流程图用户在Android手机上安装了通讯录管理软件后,界面底栏会出现拨号,联系人,信息,个人中心四个选项。点击拨号,输入号码后可以进行通话,同时,拨号界面可以显示近期拨号和通话记录。联系人界面,可以显示全部联系人,点击联系人头像,可以进行打电话,发短信以及其余联系方式等相关功能。信息界面可以对手机短信等进行相关的操作。为了保护用户的数据安全,在进行软件开发时,我设计了相关的个人中心界面,用户可以通过个人中心里提供的诸如通讯录备份,短信备份等,保护用户的信息安全。其中,手机通讯录业务流程图如图3-2。图3-
22、2 手机通讯录业务流程图3.3 系统数据库简介与设计3.3.1 SQLite数据库简介SQLite是符合ACID规范的一种轻型数据库系统,它包含在一个相对小的C库当中。SQLite数据库的设计目标就是嵌入式设备系统,目前,SQLite数据库因为移动设备的迅猛发展而得到了越来越广泛的使用。SQLite数据库系统对系统资源的要求非常低,一般情况下,几百K的内存占用就可以达到SQLite对系统资源的占用要求。SQLite数据库对现今主流的操作系统都能实现完美的支持,同时能够跟很多程序语言相结合,比如 C#、PHP、Java等。另外,相比其余的数据库系统,如Mysql,SQLite能够提供更快的运行速
23、度4。本手机通讯录管理软件就是基于Eclipse平台用Java语言进行开发的。同时,由于SQLite数据库是非可视化操作,所以,软件中对数据库的操作完全是通过执行Java代码实现的,在这个过程中没有使用其余的辅助工具。3.3.2 系统数据库设计本系统为了实现手机通讯录相关操作,需要设计出相关的数据库表,且表的设计应当适当优化,没有错综复杂的关系,同时,每个数据库表之间应该是相互独立的,不存在约束关系,因此,数据库应该满足独立性。本系统包含的数据表包括联系人表tbl_contact,电子邮件表tbl_email,组类别表tbl_group,图片表tbl_im,电话表tbl_tel,短信表以及tb
24、_msg等。其中,联系人表中所包含的属性有ID,NAME,NAMEPINYIN,NICKNAME,ADDRESS,COMPANY,BIRTHDAY,NOTE,IMAGE,GROUPID.联系人表tbl_contact结构如表3-3所示。表3-3 tbl_contact表属性数据类型说明IDInteger自动增加的主键NAMEString联系人姓名NAMEPINYINString联系人姓名拼音NICKNAMEString联系人昵称ADDRESSString联系人地址COMPANYString联系人公司BIRTHDAYString联系人生日NOTEString备注IMAGEInteger图片标号G
25、ROUPIDInteger组号电子邮件表tbl_email结构如图3-4所示表3-4 tbl_email表属性数据类型说明EMAILIDInteger自动增加的主键IDInteger电子邮件标识EMAILNAMEString电子邮件名EMAILACCOUNTString电子邮件账户 其余表结构类似于表3-3,表3-4,在此不一一举例。4 系统详细设计4.1 联系人模块4.1.1 联系人操作模块点击进入手机通讯录管理程序后,系统默认显示的界面是手机联系人界面。该列表的核心内容是ListView控件,在此界面下,本手机通讯录管理软件能将手机数据库中已经存在的联系人导入并且在界面上显示出来,若无联系
26、人,则显示空,并且能够将手机联系人的号码和姓名填充到ListView的adapter容器中。列表的每一行显示的是联系人的头像,姓名和手机号码。其中,联系人的显示顺序是按照汉语拼音的顺序进行排序显示的。对联系人手机号码进行单机,可以进入编辑联系人信息界面。对联系人手机号码进行长时间点击,可以选择删除联系人,编辑联系人,新建联系人操作。对联系人头像进行点击,可以进行拨打电话,发送短信或者发送电子邮件操作。联系人浏览界面如图4-1所示:图4-1 联系人浏览界面 用户在此界面进行进行单击时,会进入到联系人详细信息编辑状态,可以对联系人的各项信息进行编辑,增加或者删除。如图4-2和4-3所示 图4-2
27、联系人编辑图4-3 联系人编辑当用户长时间点击某一联系人联系方式界面时,会弹出长按菜单选项,其中包括删除联系人,编辑联系人,新建联系人三个选项。用户选择删除联系人时,会弹出确认框以让用户确认是否删除,当用户选择编辑联系人时,可以对当前的联系人的信息进行增加修改等操作,当用户点击新建联系人时,可以增加一个新的联系人。如图4-4所示。图4-4 联系人操作现代社会,随着时代观念的不断发展,人们对个性化的要求越来越强烈。为了适应现代消费者对于个性化的不断需求,本手机通讯录管理软件开发了一些个性化的功能,如联系人头像更换模块。在该模块中,除了满足一般的联系人编辑模块时,为了实现个性化功能,用户可以实现自
28、定义联系人头像。本手机通信录管理软件,提供了三种三种更换头像的方式,分别是拍照,系统图片,从文件选择。用户可以选择合适的方式得到自己喜欢的图片,从而设置为联系人头像,如图4-5所示。图4-5 图像选择当用户选择拍照选项时,本手机通讯录管理软件会申请系统拍照权限,用户可以通过拍照获得自己想要的图片,从而设置为联系人头像。当用户选择从系统图片进行选择时,本手机通讯录管理软件会提供系统中已经预先存在的图片让用户选择。若用户选择从文件选择时,软件会进入手机存储路径中,用户可以选择手机存储中的图片,设置为联系人头像。4.1.2 联系人查找模块在此模块中,使用SQL语句的模糊查询,可以查找符合要求的联系人
29、,只需要在搜索框内输入所需要查找联系人的汉语音首字母,即可以查找到相关所有联系人呢。联系人的相关信息将在ListView控件中显示出来。如图4-6所示图4-6 联系人查找4.2 信息模块4.2.1 信息显示模块当用户点击信息按钮时,系统会进入短信息界面。该界面的核心控件是ListView控件。在该界面下,手机数据库中存在的所有短信息会在此界面进行显示,若数据库中不存在短信息,则显示空。列表的每一行显示的是联系人的头像,手机号码或者所备注的名字,以及此联系人的短信息提示。短信息的排序是按照时间顺序进行排序的,最新的短信息会显示在列表的靠前的位置。如图4-7所示图4-7 短信息显示4.2.2 信息
30、编辑模块在短信息显示界面,如果进行长时间点击,会弹出相关选项界面。可以选择对这个联系人进行拨打电话或者删除其短信息内容,当用户点击拨打电话时,手机通讯录会调用系统服务,进行拨打电话。若用户选择删除选项,则软件会删除相关联系人的短信息内容。如图4-8所示。 图4-8 短信息操作在短信息显示界面,点击短信息联系人头像时,若此号码已经存在于联系人列表中,会弹出打电话,发送短信息给此联系人,发送邮件给此联系人或者对联系人信息进行编辑如图4-9所示。图4-9 短信息操作若此联系人不在数据库中,当在短信息界面点击联系人头像时,系统会弹出添加此人到手机联系人,用户可以选择确认或者取消。若用户选择确认按钮,系
31、统会进入联系人编辑界面,用户可以编辑联系人信息并存入数据库。如图4-10所示。图4-10 联系人添加图在短信息显示界面,点击右上角的ImageButton,系统会进入新建信息界面。此界面的核心控件是GridView,系统会读取数据库中的联系人姓名填充到此控件中,其中排序方式是按照行列形式呈现。用户可以通过点击所需发送短信息的一个或者多个联系人将他们填充到TextView控件中。用户在短信息编辑的TextView空间中编辑好信息后,可以发送信息给一个联系人或者同时发送信息给几个人。如图4-11所示。图4-11 短信息发送当短信息发送完成后,通过在系统代码中添加添加标记来区分本条短信息是否已经被阅
32、读过。其中read为1时表示该信息已经被阅读过,若read=0,则说明此短信息未被阅读。同时,考虑到用户的使用方便性,在短信息显示内容界面内,设置了拨号的ImageButton,通过此图标,当用户需要直接联系短信息来联系人时,用户可以直接进行点击此ImageButton,然后调用系统自带的拨号服务直接呼叫联系人,从而极大的方便了用户的使用。4.3 个人中心模块随着社会和科技的不断发展,个人信息的安全和保护也越来越受到人们的重视,用户已经不仅仅满足于一款普通的手机通讯录软件。一款好的手机通讯录软件,除了满足用户对于打电话或者发送短信的基本必备功能外,安全性也是一个很重要的方面。为了满足用户的要求
33、,本手机通讯录管理软件实现了一个个人中心的功能。通过这个功能,用户可以实现联系人,短信息的一键备份和恢复功能。安装本手机通讯录管理软件后,本软件提供了两种导入手机中已经存在的手机联系人的方式,分别是从SIM卡导入和通过系统联系人导入,免去了用户从手机一个一个录入联系人的不便。个人中心模块如图4-12所示:图4-12 个人中心 该界面的核心空间是GridView控件,在此空间中,通过适配器adapter将所需显示的图片和文字信息填充到GridView。其中主要功能有联系人的备份和恢复,短信息的备份和恢复,以及从SIM卡导入联系人和系统联系人导入。为了提高用户的使用体验,防止用户因为某些原因误删除
34、联系人而不可恢复的情况,本手机通讯录管理软件设计了联系人的备份和恢复模块,从而保护用户的相关数据内容,以及确保用户手机联系人的可恢复性。当用户点击联系人备份时,本手机通讯录软件可以实现联系人的相关数据内容备份到本地。当用户因为不小心而删除联系人时,可以通过联系人恢复菜单恢复联系人信息,保证了用户使用的安全性。在信息备份模块中,本手机通讯录软件会读取数据库中的所有短信息内容,并将短信息内容备份到手机本地,当用户因为不小心而删除某个联系人的短信息时,则可以在已经备份联系人短信息的前提下,通过信息恢复模块,可以实现短信息的恢复操作,从而进一步保证了用户的数据安全,提升了用户的使用体验。当用户安装本手
35、机通讯录管理软件后,在个人中心模块内,本软件设置了导入SIM卡联系人选项以及导入系统联系人模块,通过这两个模块,可以自动读取到手机中原本存在的联系人,避免了用户手动一个一个输入系统已经存在联系人的不便,方便了用户的使用。5 系统测试与调试5.1 测试的概念广义上讲,测试是在软件生存周期内对软件进行的相关检查,评审和确认活动。如:设计评审、系统测试。狭义上讲,测试是对软件的产品品质进行检测和评价,并且通过测试,发现软件产品中可能存在的问题。它能在检测软件中可能存在的各种问题时,同时可以给予软件维护人员必要的反馈。5.2测试的目的在软件程序的正式发布运行前,为了确保软件程序的正确性,稳定性以及可靠
36、性,必须要进行软件测试。具体来说,软件程序的测试,就是在软件程序正式发布运行前,对软件程序的需求分析,开发文档,软件代码的复查。通过软件程序的测试,以期可以发现软件程序中可能存在的相关的问题,并且交由程序开发人员进行进一步的修改5。测试的目的就是在软件正式投入生产性运行之前,尽可能发现软件中存在的错误以及不稳定的地方。软件开发过程中可能存在错误,这在现如今的软件开发过程中几乎是不可避免的。只有通过软件的测试,编程人员才可能在编程的每个阶段发现软件的可能存在的错误,并且使相关的维护人员对软件的错误进行相关的修改和反馈5。5.3 测试的原则在测试中,我们应遵循Good-enough原则。Goood
37、-enough原则是一种衡量投入/产出比的原则:过分的测试一方面可以达到测试强度需求,从而使测试结果更加可靠,发现软件开发过程中的错误,使编程人员可以修改错误,但是从另外一个角度来讲,过分的测试又是一种浪费,它消耗了太多的资源,有时得不偿失。不充分的测试节省了系统资源,但是由于测试的不充分可能会使测试结果不可靠。但是在实际测试过程中,大部分时候,我们很难对过分的测试或者不充分的测试实现百分之一百正确的鉴定。目前普遍采用的方法是,制定一个测试结果的最低目标要求,并且具体问题具体分析5。5.4程序测试 在程序的开发过程中,开发人员难免会遇到各种各样的困难或者由于开发过程的不规范而造成软件的各种问题
38、与错误,如程序语法的错误,程序设计的错误等等。软件程序的开发是一个系统性的工程。在软件程序的开发过程在,每开发完一个功能模块,都应该及时进行程序的测试,以发现和解决开发过程中出现的各种问题。开发完一个功能,需要及时测试,待测试完成后,方才可以进行下一个阶段的开发6。5.5 测试的主要内容测试的主要内容包括,代码审查、单元测试、集成测试、确认测试以及系统测试。一般情况下,在编码工作完成以后,且完成编码的审查工作后,即可以进行相关的单元测试。测试用例的设计应与复审工作相结合,根据设计信息需要选取适当测试数据,通过合适的测试用例的设计,在测试过程中,会发现更多软件程序设计中可能存在的各种问题。一般情
39、况下测试活动大致分成一下四个部分:单元测试,集成测试,系统测试,验收测试7。 1.单元测试单元测试是代码一级的测试,主要由相关开发人员进行。单元测试是对软件模块进行测试。单元测试以详细设计描述为依据。在单元测试中,应对软件程序中所有重要的模块进行测试,以便发现模块内部可能存在的各种错误。单元测试中各个模块多并行进行百合测试7。2. 集成测试对软件程序中各个模块间的组合进行测试即为集成测试,集成测试理想的目标是将程序软件的所有模块进行组合成功,使程序各个模块之间不存在模块匹配的问题8。3. 系统测试系统测试是由若干个无关不同的测试组成的,经过系统测试后,软件系统应该实现充分运行的目的,并且验证系
40、统的各个模块间能否实现正确的工作。另外,系统测试应测试软件是否已经达到设计要求8。4验收测试由专业人员进行测试,以验收程序软件是否达到了预定的要求8。5.6 测试用例系统测试就是利用测试工具依据标准测试方案和流程对产品性能和功能进行测试,根据需要编写不同的测试工具,设计和维护测试系统,并根据测试的结果,维护人员可以对此过程中发现的问题进行相关的改进。根据功能和性能测试需求制定以下测试用例,测试用例表如表5-1所示表5-1 测试用例测试用例测试概述测试步骤预期结果实际结果添加联系人测试用户能否将新联系人存入SQLite数据库内点击系统功能键添加联系人正确实现联系人添加到SQLite数据库正确实现
41、联系人添加到SQLite数据库删除联系人测试用户能否将联系人从SQLite数据库中进行删除在联系人列表界面长按某个联系人实现删除正确将联系人从SQLite数据库内删除正确将联系人从SQLite数据库内删除编辑联系人测试用户能否对联系人的个人信息进行编辑在联系人个人信息界面进行个人联系信息的编辑操作能够编辑联系人个人信息,并且能添加到数据库中正确实现编辑联系人个人信息,并且能添加到数据库中发送短信息测试用户能否利用本软件正确实现发送短信息功能在短信息界面进行短信息的编辑和发送能够正确实现发送短信息功能正确实现发送短信息功能删除短信息测试用户能否通过本软件实现短信息的删除在短信息界面进行短信息的删
42、除能够正确实现删除短信息的功能正确实现短信息的删除功能备份和还原联系人测试本软件能否实现手机联系人的备份和恢复在个人中心模块内进行联系人的备份和恢复能够正确实现联系人的备份和恢复正确实现联系人的备份和恢复备份和恢复短信息测试本软件能否实现手机短信息的备份和恢复在个人中心模块内进行短信息的备份和恢复能够正确实现短信息的备份和恢复正确实现短信息的备份和恢复5.7 系统测试结果5.7.1 编辑联系人功能测试在联系人界面点击联系人进入到联系人各项信息编辑界面,在此界面下,联系人的各项信息可以被进行修改。当用户对联系人信息修改完成后,点击屏幕下方的保存按钮,就触发了监听事件,从而软件对数据库内的联系人信
43、息进行了相应的修改后再存入到数据库内,然后返回到联系人显示界面。在联系人详细信息显示界面,可以查看到联系人的包括手机号码,地址,邮件等的详细联系信息,并且可以进行相关的操作。测试结果如图5-2所示图5-2 添加联系人其中,用户可以通过点击添加更过更多属性按钮,来对联系人的详细联系信息进行更加进一步的编辑。5.7.2 查找联系人功能查找联系人界面如图5-3所示,在联系人显示列表中,通过在联系人搜索框内输入所要查询的联系人姓名的汉语拼音首字母,系统会从数据库中查找到所有符合条件的联系人并显示出来,如果未查找到相关联系人,则无显示。图5-3 查找联系人5.7.3 删除联系人测试在联系人显示界面,若长
44、时间点击联系人,手机通讯录管理系统会弹出对话框,此对话框包括三个选项,分别是删除联系人,编辑联系人以及新建联系人。当用户选择删除联系人时,系统会让用户进行确认此操作,只有用户确认后,系统才会从数据库中删除此联系人。如图5-4所示。图5-4 删除联系人5.7.4 短信息发送测试在短信息显示界面,我们可以通过编辑按钮进行短信的编辑与发送。由于模拟器本身的局限性,为了测试短信息模块的开发成功与否,该模块的测试在一台安卓手机上进行了测。经过测试,软件的信息模块开发成功。5.7.5 短信息删除测试在短信息显示界面,当用户长时间点击某一条短信息时,手机通讯录管理系统会弹出对话框,供用户选择具体操作。用户可
45、以通过选择删除,手机通讯录管理软件会从数据库内,删除本条信息并且返回短信息显示界面。如图5-5所示。图5-5 删除短信息5.7.6 备份功能测试为了保护用户数据的安全,开发了个人中心模块,在个人中心模块内,拥有联系人备份,联系人恢复,短信息备份,短信息恢复,导入联系人等模块。当用户选择数据备份后,手机通讯录管理软件会将用户数据,进行备份到本机。在今后的使用中,如果用户因为某些误操作而删除某些内容后,通过联系人恢复和短信息恢复,可以恢复之前的数据。界面如图5-6所示图5-6 备份5.8 测试总结经过多次对本手机通讯录管理软件进行的测试后我们发现,本软件可以正确的实现对联系人进行的相关的增删改查工
46、作。并且系统也正确实现了对短信息的相关编辑以及删除操作。本手机通讯录管理软件,基本实现了其应该具备的相关功能,并且在运行的过程中,手机通讯录管理系统运行稳定,未出现严重的崩溃状况,因此,系统运行状态基本良好,基本达到了预定目标。当然,在整个软件的开发测试过程中,还存在的各种不足,远远未达到完美的状态,在工作构思等方面,还存在某些不足。与此同时,该手机通讯录管理系统还可以进一步进行扩展以实现更多功能,从而为用户带来更好的体验。6 总结 在开发系统的过程中,学习Android的困难比想象的要大很多,为了在较短的时间掌握Android的开发,并且在限定的时间内完成本手机通讯录程序的开发,需要投入大量的精力去学习。在软件开发过程中,我从书店,图书馆,互联网上查询借阅了大量