2024年2月7日发(作者:)
毕业论文(设计)
题 目 基于Android通讯录管理系统设计与实现
学生姓名
学 号
学 院
专 业
指导教师
联系QQ 1912881988
本人严重声明:
1、持以“求实、创新”的科学精神从事研究工作。
2、本文是我个人在导师指导下进行的研究工作和取得的研究成果。
3、本文除引文外,所有实验、数据和有关材料均是真实的。
4、本文除引文和致谢内容外,没有抄袭其他人或其他机构发表或撰写过的研究成果。
作者签名:__________
日 期:__________
目 录
1 绪论 ..................................................... 1
1.1 手机通讯录管理系统的开发背景 ........................................... 1
1.2 手机通讯录管理系统的研究目的和意义 ..................................... 1
1.3 系统主要实现内容及实现方式 ............................................. 1
1.3.1系统主要实现功能 ................................................. 1
1.3.2 Android系统的开发平台 ........................................... 2
1.4 系统开发所需的技术支持 ................................................. 2
1.4.1 Java开发语言 .................................................... 2
1.4.2 Android简介 ...................................................... 3
2 手机通讯录管理系统分析 ................................... 3
2.1技术可行性分析 ......................................................... 3
2.2 经济可行性分析......................................................... 4
2.3 需求可行性 ............................................................ 4
3 系统概要设计 ............................................. 4
3.1 总体功能设计........................................................... 4
3.2 系统流程设计........................................................... 5
3.2.1 业务流程图 ....................................................... 5
3.3 系统数据库简介与设计 ................................................... 6
3.3.1 SQLite数据库简介 ................................................ 6
3.3.2 系统数据库设计 ................................................... 6
4 系统详细设计 ............................................. 7
4.1 联系人模块 ............................................................ 7
4.1.1 联系人操作模块 ................................................... 7
4.1.2 联系人查找模块 ................................................... 9
4.2 信息模块 ............................................................. 10
4.2.1 信息显示模块 .................................................... 10
4.2.2 信息编辑模块 ................................................... 10
4.3 个人中心模块.......................................................... 12
5 系统测试与调试 .......................................... 13
5.1 测试的概念 ........................................................... 13
5.2测试的目的 ............................................................ 13
5.3 测试的原则 ........................................................... 13
5.4程序测试 .............................................................. 14
5.5 测试的主要内容........................................................ 14
5.6 测试用例 ............................................................. 14
5.7 系统测试结果.......................................................... 15
5.7.1 编辑联系人功能测试 .............................................. 15
5.7.2 查找联系人功能 .................................................. 16
5.7.3 删除联系人测试 .................................................. 16
5.7.4 短信息发送测试 .................................................. 17
5.7.5 短信息删除测试 .................................................. 17
5.7.6 备份功能测试 .................................................... 17
5.8 测试总结 ............................................................. 18
6 总结 .................................................... 18
参考文献: ................................................. 19
致谢 ...................................................... 20
基于Android通讯录管理系统设计与实现
摘要:随着科学技术的不断进步与发展,移动便携式设备,如手机,平板电脑等产品越来越普及,其中大部分产品的操作系统采用的Android操作系统,并且自Alphabet收购安卓系统后,安卓的市场份额急剧扩大并且还在进一步增加。得益于安卓份额的急剧扩大,众多开发者投身安卓开发,使得安卓软件的数量得到了一个爆发式增长。在移动设备终端中,手机通讯录作为一项基础服务,其体验至关重要。随着用户需求的不断提高,其体验也变得越来越丰富。该软件的开发基于Eclipse平台和SQLite数据库。本项目开发出一个人际界面友好,功能完备的手机通讯录管理系统,方便用户的使用。
关键词:Android; SQLite;通讯录
Design and implementation of the management system based
on Android
Abstract: 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
mobile softwares are grown rapidly. In the mobile phone terminal, mail list is an essential basic
function and its quality affects the user's 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. 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 list
1 绪论
1.1 手机通讯录管理系统的开发背景
当代社会,随着移动通信的不断发展,第三代,第四代,甚至第五代移动通信技术得到快速发展,移动终端也随之得到的越来越快速的普及。现阶段。IOS和Android移动操作系统几乎完全垄断了移动终端的操作系统的市场份额。同时,因为Android天然开放的特性,其几乎占据了全球超过六成的移动市场份额。
Android作为一款迅猛发展的移动操作系统,其包含操作系统, 中间件和一整套相应的应用。Android基于Java语言进行开发,其运行在Dalvik虚拟机上。同时,由于Dalvik虚拟机的不断优化,Java程序的运行效率得到了极大程度的提高。Android系统的底层技术基于Linux开发而来,并且为了使Android得到更加高效的运行效率,Google对Linux底层进行了深度的优化。同时,Android对操作系统的调度,内存管理,进程管理机制都提供了优秀的解决方案。
Android是一款的开放的移动操作系统。任何厂家和个人都能得到Android系统的源代码,并且可以按照自己的意愿进行修改。这带来了用户可定制化体验的极大提升。同时,Android对浏览器,图形图像系统,多媒体等都有着极大的兼容性。电信运营商也可以设计出符合自身电信网络特点的Android终端产品。这些特性,又进一步的提高了安卓产品的市场占有率。
1.2 手机通讯录管理系统的研究目的和意义
随着科技的发展,手机等移动终端的普及速度不断加快,同时,随着手机的功能的不断发展,手机已经不是简单的一款移动设备,其更多的成为了人与互联网进行联系的载体。为了满足人们对于手机的不断提高的要求,手机上的软件也开始变得越来越功能强大。同时,由于Alphabet的不断制定的规范,Android的软件生态也变得越来越丰富。
作为手机上一款必不可少的软件,手机通讯录正变得越来越重要,用户几乎离不开它,并且,根据调查显示,用户几乎每天都会与手机通讯录打交道。根据最新的一项调查显示,平均每个用户每天使用通讯录的次数达到了七八次,随着时代的不断发展,手机通讯录由最开始的打电话,发短信的功能,开始不断衍生出越来越丰富的其余功能。现在,手机通讯录已经不仅仅简单的是一个软件,其已经发展为集合了个人多重信息的一个功能载体,并不断朝着个人名片的方向不断发展。正是由于手机通讯录不断增强的个性化功能,其也受到了了越来越多的人的喜爱。
1.3 系统主要实现内容及实现方式
1.3.1系统主要实现功能
通过学习Android和Java开发,在熟悉安卓开发流程的基础上,设计出一款符合要求的手机通讯录软件。这款手机通讯录实现目的功能有:1、用户友好的界面,实现手机通讯录的基本功能,如增加,删除,查找,修改联系人。2、实现用户对短信息的相关操作。3、为满足越来越多的对安全性的需求,设计了相应的通讯录备份模块。
1
1.3.2 Android系统的开发平台
Android系统基于Java语言开发而来。Java比较理想的编程语言是Eclipse,因此,本通讯录管理系统的开发基于Eclipse平台。Eclipse平台是一个完整的Java开发环境,同时,程序员可在通过安装相关的Android SDK集成在Eclipse平台中,实现用Eclipse开发安卓程序。
本通讯录系统即是基于Eclipse开发平台编写完成而成的。
1.4 系统开发所需的技术支持
1.4.1 Java开发语言
Java是SUN公司开发的全新软件开发语言。Java编程方式继承了很多C++的精髓,是一种彻底的完全的面向对象的编程语言。Java在继承C++优秀的编程特性的时候,舍弃了很多C++中比较复杂的操作。例如,在C++中,指针作为一个极其重要的操作,几乎被广泛使用,但是在Java中,Java完全摒弃了指针操作。Java增加了内存回收的机制,因此程序员在进行编程时,就不需要考虑代码的回收问题,而只需要专注于实现功能本身。因为Java的这些特性,Java在全世界范围内受到了越来越广泛的使用。
Java的特点:
1.平台无关性
Java的平台无关性指的是Java的运行与平台本身的选择无关,也即,Java的平台无关性。正是基于Java的优秀的平台无关性,全世界的Java代码可以实现代码共享。Java的数据类型与机器无关。为了解决Java与二进制文件中编译的问题,Sun公司开发出虚拟机技术,Java语言开发了功能强大的虚拟机技术,虚拟机技术是一种介于硬件和操作系统间的解释机制,Java的平台无关性重要的就是基于虚拟机技术[1]。
2.安全性
Java的编程思想借鉴了C++的编程思想精髓,同时对C++编程语言中一些复杂的操作,如指针操作等,Java进行了舍弃,避免了由于此操作不当引起的程序严重问题。在Java程序运行时,内存的使用分配由系统自动完成,程序员由此避免了在使用指针时可能遭遇到的各种问题。同时,由于不使用指针,Java程序具有更好的安全性[1]。
3.面向对象
Java的一个重要的特点就是完全面向对象,其主要表现为面向对象的三个基本特征,继承,封装和多台。在Java程序中,类是最小的单位,多个类构成了完整的Java程序。Java完全支持使用对象,类,继承,封装等来进行程序设计。实际上,这些特性是所有面向对象编程语言的共同特点。在面向对象编程的过程中,程序员可以从客观世界中存在的事物出发,构建软件体系[1]。
4.分布式
TCP/IP中文即网络通讯协议,由基于网络层的IP协议和基于传输层的TCP协议组成。TCP/IP协议是一种可靠的协议,利用这层协议,可以确保消息的发送的安全性。在消息传递过程中,每发送一个消息,会返回一个响应消息,发送方收到这个响应消息后,确定接收方已经成功接收到消息,才继续发送下一个消息。若接收方消息接收失败的话,发送方会启动错误 2
纠正机制。通过TCP/IP协议,可以确保数据传输的安全性 [2]。
5.健壮性
Java是一种优秀的跨平台编程语言,具有一次编译,随处运行的特点。Java程序在windows下编译完成后,可以在其余平台无缝运营。同时在Java编程的过程,Java提供了诸如类型检查,内存监控来检测编程中可能存在的错误。Java程序员不需要考虑内存回收的问题,一切由Java得内存管理机制自动完成,大大简化了Java程序的编程。由此,Java程序的生命周期由于这些具有积极意义的方式的引用而得到了极大的延长。Java通过一整套的检测机制,大大增强了Java程序的健壮性 [2]。
6.解释型
C和C++语言是一种接近底层的编程语言,需要根据特定的编译器进行编译,甚至需要根据GPU的特性进行编译,需要程序员具有良好的编程水平。在Java程序中,Java编译器先将其编译为字节码,也就是class文件,然后将字节码交由Java虚拟机运行,所以,很多情况下,Java被人称为一种半编译,半编译的语言[2]。
7.动态
Java的组成部分是类,Java类分为两类,一类是由程序员自己编写实现的,另一种则是由Java类库直接导入的。在程序加载时,动态加载类库,由此使得Java可以在分部环境中实现动态的维护程序以及分类 [2]。
1.4.2 Android简介
Android是现在最流行的移动设备操作系统,由Google公司推向市场。现金,基于Android的移动设备的市场份额,占据了全世界七成以上的份额,可以说,没有安卓的世界,是无法想象的。谷歌公司对安卓的市场推广也是不遗余力,组建了开放手机联盟(OHA),同时,谷歌公司也提供了一系列有利于安卓开发的措施,发布了Android Studio平台,同时制定了一整套完整的安卓开发规范。据统计,现阶段,全世界搭载安卓平台的设备已经达到了惊人的15亿太,并且这个数据还在不断增长 [3]。
2 手机通讯录管理系统分析
2.1技术可行性分析
Android是一种基于Linux底层开放式移动操作系统,由谷歌公司在2005年收购获得,为推广安卓操作系统,谷歌公司联合电信运行商,手机终端厂商,芯片厂商,组成了开放手机联盟,其中,谷歌公司处于主导地位。联盟内的成员可以免费获得安卓的源代码,并且根据自己的需要进行修改,满足个性化的需求。同时,安卓的开发语言是Java,全世界内存在数量巨大的Java开发人员。谷歌为了提高安卓的活跃度,提供了完整的安卓开发文档,程序员只要遵循谷歌的官方文档可以很方便快捷的开发出自己的安卓应用 [3]。
为了方便程序员进行软件开发,在Eclipse集成开发环境中,谷歌提供了Android开发必备的相关插件,同时,谷歌还开发发布了专业的安卓编程平台,Android Studio,但是目前还不是非常普及。由此,程序员只需要利用集成安卓开发套件的Eclipse,即能进行Android开发。本软件的开发就是采用的Eclipse平台进行开发[3]。
3
2.2 经济可行性分析
由于互联网的免费性,本软件的开发资料可以通过互联网免费获得。为了解用户的基本的软件需求,可以通过发放问卷调查的形式进行需求分析。软件开发完成后的测试工作可以通过一台安卓设备或者Eclipse开发环境中的安卓虚拟机完成。因此,该毕业设计的开发经济需求低廉,具有充分的经济可行性 [3]。
2.3 需求可行性
Android现在在全世界移动设备的市场份额处于垄断地位,同时,手机通讯录作为最基础,也是最必不可少的软件,起品质对用户体验存在至关重要的作用 [3]。
3 系统概要设计
3.1 总体功能设计
本安卓手机通讯录基于用户普遍的需求开发而来,实现用户对手机内联系人管理的最基本的需求。其基本功能包括手机联系人的增加,手机联系人的修改,删除,手机联系人的查早=找。同时,为了满足用户恭喜那个花的需求,实现了书记来新人头像的更换,备份功能。同时,一款优秀的手机通讯录软件还应该具有短信的功能,本手机通讯录实现了该功能。同时,为了使数据安全得到保证,该手机通讯录还实现了数据的备份功能。
手机通讯录的功能结构图如图3-1所示。
图3-1 功能结构图
4
3.2 系统流程设计
3.2.1 业务流程图
当用户在安卓手机上安卓了本手机通讯录软件后,软件会读取手机中原本存在的联系人,然后按照汉语拼音的首字母顺序显示。软件底栏包括四个选项,分别是拨号,联系人,信息,个人中心。点击拨号后,可以实现输入号码后呼出的功能,同时,拨号界面记录了你最近的联系消息人。联系人界面的功能是显示全部所有的联系人的详细信息,联系人的头像被点击后,可以实现拨打电话,发送发短信,以及其余的相关的和对联系人进行的相关操作。信息界面显示手机内存在的短消息记录。在现代社会,信息安全变得越来越重要,为了实现对信息的保护,本手机通讯录软件,实现了对信息的备份功能,若用户不小心删除某个信息后,可以很方便的实现一键恢复功能。其中,手机通讯录业务流程图如图3-2。
图3-2 手机通讯录业务流程图
5
3.3 系统数据库简介与设计
3.3.1 SQLite数据库简介
SQLite是符合ACID规范的一种轻型数据库系统,它包含在一个相对小的C库当中。SQLite数据库就是为移动便携式设备而生,并且随着移动设备的爆发式增长,SQLite数据库也得到了非常快速的普及和发展。轻量化是SQLite数据库的一大特点,一般情况下,SQLite数据库只要几百K的内存占用,就可以实现系统数据的功能。现阶段,主流的操作都可以实现对SQLite数据库的完美支持,同时能够跟很多程序语言相结合,比如 C#、PHP、Java等。另外,相比其余的数据库系统,如Mysql,SQLite等,由于SQLite的轻量化特性,对内存资源占用里比较低,所以SQLite数据库相比较其余数据库能够提供更快的运行速度[4]。
本手机通讯录管理软件就是基于Eclipse平台用Java语言进行开发的。同时,由于SQLite数据库是非可视化操作,所以,软件中对数据库的操作完全是通过执行Java代码实现的,在这个过程中没有使用其余的辅助工具。
3.3.2 系统数据库设计
为了设计出符合用户使用的通讯录系统,本系统需要设计出相关且合适的数据库表。本系统包含的数据表包括联系人表tbl_contact,电子邮件表tbl_email,组类别表tbl_group,图片表tbl_im,电话表tbl_tel,短信表以及tb_msg等。其中,联系人表中所包含的属性有ID,NAME,NAMEPINYIN,NICKNAME,ADDRESS,COMPANY,BIRTHDAY,NOTE,IMAGE,GROUPID.联系人表tbl_contact结构如表3-3所示。
表3-3 tbl_contact表
属性
ID
NAME
NAMEPINYIN
NICKNAME
ADDRESS
COMPANY
BIRTHDAY
NOTE
IMAGE
GROUPID
数据类型
Integer
String[]
String[]
String[]
String[]
String[]
String[]
String[]
Integer
Integer
说明
自动增加的主键
联系人姓名
联系人姓名拼音
联系人昵称
联系人地址
联系人公司
联系人生日
备注
图片标号
组号
电子邮件表tbl_email结构如图3-4所示
表3-4 tbl_email表
属性
EMAILID
ID
EMAILNAME
数据类型
Integer
Integer
String[]
说明
自动增加的主键
电子邮件标识
电子邮件名
6
EMAILACCOUNT
String[]
电子邮件账户
其余表结构类似于表3-3,表3-4,在此不一一举例。
4 系统详细设计
4.1 联系人模块
4.1.1 联系人操作模块
当安装本手机通讯录后,系统默认的界面是联系人显示界面。在这个界面中,ListView控件是核心控件,其能将手机中原本已经存在的手机联系人的信息显示出来,并且按照汉语拼音首字母的顺序显示出来,若手机中还没有存储联系人,就显示空,否则将联系人信息和头像显示在ListView的adapter容器中。列表的每一行,依次显示联系人的头像,联系人姓名和联系人联系方式。其中,联系人的显示顺序是按照汉语拼音的顺序进行排序显示的。单击联系人头像,可以进入编辑联系人信息界面。当用户长时间按住联系人手机号码时可以选择对联系人进行增删改查的操作。拨打电话,发送短信的快捷方式,也可以通过单击联系人头像进行快速操作,提高了用户的操作的便捷性。联系人浏览界面如图4-1所示:
图4-1 联系人浏览界面
用户在此界面进行进行单击时,会进入到联系人详细信息编辑状态,可以对联系人的各项信息进行编辑,增加或者删除。如图4-2和4-3所示
7
图4-2 联系人编辑
图4-3 联系人编辑
在此界面下,当用户长时间触摸联系人某个人联系方式的某一项时,系统会弹出菜单选项。在菜单中,包括增加联系人,删除联系人,修改联系人的三个选项。当用户选择删除联系人时,为了防止用户的误操作,系统设置了对用户删除的确认选项只有当用户选择确认删除后,系统才会将联系人的信息彻底删除,否则不会。当用户选择修改联系人时,会显示修改联系人的相关信息,新增一个联系人同理。如图4-4所示。
8
图4-4 联系人操作
现代社会,随着时代观念的不断发展,人们对个性化的要求越来越强烈。为了体现本安卓手机通讯录管理软件的的一些特色功能,本手机通讯录软件开发了一些特色的功能。对联系人的头像显示来说,为了实现差异化,可以通过更改点击头像图片区域实现联系人头像设置的个性化功能。设置联系人头像本软件提供了三种方式,分别为通过拍摄一张照片设置为用户的头像。第二种方式是,在代码中预置了一些系统图片,当用户选择从系统图片中设置用户头像时,系统会显示出系统中的图片供用户选择。第三种方式就是用户可以选择手机文件中的图片进行设置。其中,当用户选择通过拍照时,手机通讯录管理软件会像系统申请拍照的权限,若手机通讯录申请到这个权限后,其会启动相机,进行拍照。这三种设置联系人头像的方式,使得手机通信录管理软件不是那么单调,提高了用户的使用积极性,同时,也使得软件的可玩性得到了一定程度的提高。
图4-5 图像选择
4.1.2 联系人查找模块
对联系人进行查找是手机通讯录管理软件的一大重要功能,其可以使得用户快速的查找到符合要求的联系人。在模块中,使用SQL语句的模糊查询,可以查找符合要求的联系人,只需要在搜索框内输入所需要查找联系人的汉语音首字母,即可以查找到相关所有联系人呢。联 9
系人的相关信息将在ListView控件中显示出来。
如图4-6所示
图4-6 联系人查找
4.2 信息模块
4.2.1 信息显示模块
当用户想要获取到手机内存在的联系人信息时,可以通过点击主菜单栏的信息按钮,实现用户短信息的呈现。该界面的核心控件是ListView控件。在该界面下,手机数据库中的短信息内容,将会再次界面进行显示,若数据库中短信息内容是空,则显示的为空。每条短信息会提供一个信息预览,并显示联系人的头像和联系号码。其中。短信息的排序是按照时间排序,越新的信息,其显示的位置会越靠前。如图4-7所示
图4-7 短信息显示
4.2.2 信息编辑模块
在短信息显示界面,如果进行长时间点击,会弹出相关选项界面。可以选择对这个联系人进行拨打电话或者删除其短信息内容,当用户点击拨打电话时,手机通讯录会调用系统服务,进行拨打电话。若用户选择删除选项,则软件会删除相关联系人的短信息内容。如图4-8所示。
10
图4-8 短信息操作
在短信息显示界面,点击短信息联系人头像时,若此号码已经存在于联系人列表中,会弹出打电话,发送短信息给此联系人,发送邮件给此联系人或者对联系人信息进行编辑如图4-9所示。
图4-9 短信息操作
当短信息中显示的联系人的号码不在数据不在数据库中时,用户可以通过点击短信息界面显示的头像选择添加联系人,用户可以选择确认或者取消。若用户选择确认按钮,系统会进入联系人编辑界面,用户可以编辑联系人信息并存入数据库。如图4-10所示。
图4-10 联系人添加图
在短信息显示界面,点击右上角的ImageButton,系统会进入新建信息界面。此界面的核心控件是GridView,系统会读取数据库中的联系人姓名填充到此控件中,其中排序方式是按照行列形式呈现。用户可以通过点击所需发送短信息的一个或者多个联系人将他们填充到TextView控件中。用户在短信息编辑的TextView空间中编辑好信息后,可以发送信息给一个联系人或者同时发送信息给几个人。如图4-11所示。
11
图4-11 短信息发送
当短信息发送完成后,通过在系统代码中添加添加标记来区分本条短信息是否已经被阅读过。其中read为1时表示该信息已经被阅读过,若read=0,则说明此短信息未被阅读。同时,考虑到用户的使用方便性,在短信息显示内容界面内,设置了拨号的ImageButton,通过此图标,当用户需要直接联系短信息来联系人时,用户可以直接进行点击此ImageButton,然后调用系统自带的拨号服务直接呼叫联系人,从而极大的方便了用户的使用。
4.3 个人中心模块
随着社会和科技的不断发展,个人信息的安全和保护也越来越受到人们的重视,用户已经不仅仅满足于一款普通的手机通讯录软件。一款好的手机通讯录软件,除了满足用户对于打电话或者发送短信的基本必备功能外,安全性也是一个很重要的方面。为了满足用户的要求,本手机通讯录管理软件实现了一个个人中心的功能。通过这个功能,用户可以实现联系人,短信息的一键备份和恢复功能。安装本手机通讯录管理软件后,本软件提供了两种导入手机中已经存在的手机联系人的方式,分别是从SIM卡导入和通过系统联系人导入,免去了用户从手机一个一个录入联系人的不便。个人中心模块如图4-12所示:
图4-12 个人中心
12
该界面的核心空间是GridView控件,在此空间中,通过适配器adapter将所需显示的图片和文字信息填充到GridView。其中主要功能有联系人的备份和恢复,短信息的备份和恢复,以及从SIM卡导入联系人和系统联系人导入。
为了提高用户的使用体验,防止用户因为某些原因误删除联系人而不可恢复的情况,本手机通讯录管理软件设计了联系人的备份和恢复模块,从而保护用户的相关数据内容,以及确保用户手机联系人的可恢复性。当用户点击联系人备份时,本手机通讯录软件可以实现联系人的相关数据内容备份到本地。当用户因为不小心而删除联系人时,可以通过联系人恢复菜单恢复联系人信息,保证了用户使用的安全性。
在信息备份模块中,本手机通讯录软件会读取数据库中的所有短信息内容,并将短信息内容备份到手机本地,当用户因为不小心而删除某个联系人的短信息时,则可以在已经备份联系人短信息的前提下,通过信息恢复模块,可以实现短信息的恢复操作,从而进一步保证了用户的数据安全,提升了用户的使用体验。
当用户安装本手机通讯录管理软件后,在个人中心模块内,本软件设置了导入SIM卡联系人选项以及导入系统联系人模块,通过这两个模块,可以自动读取到手机中原本存在的联系人,避免了用户手动一个一个输入系统已经存在联系人的不便,方便了用户的使用。
5 系统测试与调试
5.1 测试的概念
广义上讲,测试是在软件生存周期内对软件进行的相关检查,评审和确认活动。如:设计评审、系统测试。
狭义上讲,测试是对软件的产品品质进行检测和评价,并且通过测试,发现软件产品中可能存在的问题。它能在检测软件中可能存在的各种问题时,同时可以给予软件维护人员必要的反馈。
5.2测试的目的
在软件程序的正式发布运行前,为了确保软件程序的正确性,稳定性以及可靠性,必须要进行软件测试。具体来说,软件程序的测试,就是在软件程序正式发布运行前,对软件程序的需求分析,开发文档,软件代码的复查。通过软件程序的测试,以期可以发现软件程序中可能存在的相关的问题,并且交由程序开发人员进行进一步的修改。
测试的目的就是在软件正式投入生产性运行之前,尽可能发现软件中存在的错误以及不稳定的地方。软件开发过程中可能存在错误,这在现如今的软件开发过程中几乎是不可避免的。只有通过软件的测试,编程人员才可能在编程的每个阶段发现软件的可能存在的错误,并且使相关的维护人员对软件的错误进行相关的修改和反馈。
5.3 测试的原则
在测试中,我们应遵循Good-enough原则。Goood-enough原则是一种衡量投入/产出比的原则:过分的测试一方面可以达到测试强度需求,从而使测试结果更加可靠,发现软件开发过[5][5] 13
程中的错误,使编程人员可以修改错误,但是从另外一个角度来讲,过分的测试又是一种浪费,它消耗了太多的资源,有时得不偿失。不充分的测试节省了系统资源,但是由于测试的不充分可能会使测试结果不可靠。但是在实际测试过程中,大部分时候,我们很难对过分的测试或者不充分的测试实现百分之一百正确的鉴定。目前普遍采用的方法是,制定一个测试结果的最低目标要求,并且具体问题具体分析。
5.4程序测试
在程序的开发过程中,开发人员难免会遇到各种各样的困难或者由于开发过程的不规范而造成软件的各种问题与错误,如程序语法的错误,程序设计的错误等等。软件程序的开发是一个系统性的工程。在软件程序的开发过程在,每开发完一个功能模块,都应该及时进行程序的测试,以发现和解决开发过程中出现的各种问题。开发完一个功能,需要及时测试,待测试完成后,方才可以进行下一个阶段的开发。
5.5 测试的主要内容
测试的主要内容包括,代码审查、单元测试、集成测试、确认测试以及系统测试。一般情况下,在编码工作完成以后,且完成编码的审查工作后,即可以进行相关的单元测试
。测试用例的设计应与复审工作相结合,根据设计信息需要选取适当测试数据,通过合适的测试用例的设计,在测试过程中,会发现更多软件程序设计中可能存在的各种问题。
一般情况下测试活动大致分成一下四个部分:单元测试,集成测试,系统测试,验收测试[7]。
[6][5] 1.单元测试
单元测试是代码一级的测试,主要由相关开发人员进行。单元测试是对软件模块进行测试。单元测试以详细设计描述为依据。在单元测试中,应对软件程序中所有重要的模块进行测试,以便发现模块内部可能存在的各种错误。单元测试中各个模块多并行进行百合测试。
2.集成测试
对软件程序中各个模块间的组合进行测试即为集成测试,集成测试理想的目标是将程序软件的所有模块进行组合成功,使程序各个模块之间不存在模块匹配的问题。
3.系统测试
系统测试是由若干个无关不同的测试组成的,经过系统测试后,软件系统应该实现充分运行的目的,并且验证系统的各个模块间能否实现正确的工作。另外,系统测试应测试软件是否已经达到设计要求[8]。
4验收测试
由专业人员进行测试,以验收程序软件是否达到了预定的要求[8]。
5.6 测试用例
系统测试就是利用测试工具依据标准测试方案和流程对产品性能和功能进行测试,根据需要编写不同的测试工具,设计和维护测试系统,并根据测试的结果,维护人员可以对此过程中发现的问题进行相关的改进。根据功能和性能测试需求制定以下测试用例,测试用例表如表5-1所示
[8][7] 14
表5-1 测试用例
测试用例
添加联系人
测试概述
测试用户能否将新联系人存入SQLite数据库内
测试步骤
点击系统功能预期结果
正确实现联系SQLite数据库
实际结果
正确实现联系人添加到SQLite数据库
键添加联系人 人添加到删除联系人 测试用户能否将联系人从SQLite数据在联系人列表界面长按某个联系人实现删在联系人个人信息界面进行个人联系信息的编辑操作
在短信息界面进行短信息的编辑和发送
在短信息界面进行短信息的删除
在个人中心模块内进行联系人的备份和恢复
在个人中心模块内进行短信息的备份和恢复
正确将联系人从SQLite数据库内删除
能够编辑联系人个人信息,并且能添加到数据库中
能够正确实现发送短信息功能
能够正确实现删除短信息的功能
能够正确实现联系人的备份和恢复
能够正确实现短信息的备份和恢复
正确将联系人从SQLite数据库内删除
正确实现编辑联系人个人信息,并且能添加到数据库中
正确实现发送短信息功能
库中进行删除 除
编辑联系人 测试用户能否对联系人的个人信息进行编辑
发送短信息 测试用户能否利用本软件正确实现发送短信息功能
删除短信息 测试用户能否通过本软件实现短信息的删除
备份和还原联系人
测试本软件能否实现手机联系人的备份和恢复
备份和恢复短信息
测试本软件能否实现手机短信息的备份和恢复
5.7 系统测试结果
5.7.1 编辑联系人功能测试
在联系人界面点击联系人进入到联系人各项信息编辑界面,在此界面下,联系人的各项信息可以被进行修改。当用户对联系人信息修改完成后,点击屏幕下方的保存按钮,就触发了监听事件,从而软件对数据库内的联系人信息进行了相应的修改后再存入到数据库内,然后返回到联系人显示界面。在联系人详细信息显示界面,可以查看到联系人的包括手机号码,地址,邮件等的详细联系信息,并且可以进行相关的操作。测试结果如图5-2所示
正确实现联系人的备份和恢复
正确实现短信息的备份和恢复
正确实现短信息的删除功能
15
图5-2 添加联系人
其中,用户可以通过点击添加更过更多属性按钮,来对联系人的详细联系信息进行更加进一步的编辑。
5.7.2 查找联系人功能
查找联系人界面如图5-3所示,在联系人显示列表中,通过在联系人搜索框内输入所要查询的联系人姓名的汉语拼音首字母,系统会从数据库中查找到所有符合条件的联系人并显示出来,如果未查找到相关联系人,则无显示。
图5-3 查找联系人
5.7.3 删除联系人测试
在联系人显示界面,若长时间点击联系人,手机通讯录管理系统会弹出对话框,此对话框包括三个选项,分别是删除联系人,编辑联系人以及新建联系人。当用户选择删除联系人时,系统会让用户进行确认此操作,只有用户确认后,系统才会从数据库中删除此联系人。如图5-4所示。
16
图5-4 删除联系人
5.7.4 短信息发送测试
在短信息显示界面,我们可以通过编辑按钮进行短信的编辑与发送。由于模拟器本身的局限性,为了测试短信息模块的开发成功与否,该模块的测试在一台安卓手机上进行了测。经过测试,软件的信息模块开发成功。
5.7.5 短信息删除测试
在短信息显示界面,当用户长时间点击某一条短信息时,手机通讯录管理系统会弹出对话框,供用户选择具体操作。用户可以通过选择删除,手机通讯录管理软件会从数据库内,删除本条信息并且返回短信息显示界面。如图5-5所示。
图5-5 删除短信息
5.7.6 备份功能测试
为了保护用户数据的安全,开发了个人中心模块,在个人中心模块内,拥有联系人备份,联系人恢复,短信息备份,短信息恢复,导入联系人等模块。当用户选择数据备份后,手机通讯录管理软件会将用户数据,进行备份到本机。在今后的使用中,如果用户因为某些误操作而 17
删除某些内容后,通过联系人恢复和短信息恢复,可以恢复之前的数据。界面如图5-6所示
图5-6 备份
5.8 测试总结
经过多次对本手机通讯录管理软件进行的测试后我们发现,本软件可以正确的实现对联系人进行的相关的增删改查工作。并且系统也正确实现了对短信息的相关编辑以及删除操作。本手机通讯录管理软件,基本实现了其应该具备的相关功能,并且在运行的过程中,手机通讯录管理系统运行稳定,未出现严重的崩溃状况,因此,系统运行状态基本良好,基本达到了预定目标。当然,在整个软件的开发测试过程中,还存在的各种不足,远远未达到完美的状态,在工作构思等方面,还存在某些不足。与此同时,该手机通讯录管理系统还可以进一步进行扩展以实现更多功能,从而为用户带来更好的体验。
6 总结
在开发系统的过程中,学习Android的困难比想象的要大很多,为了在较短的时间掌握Android的开发,并且在限定的时间内完成本手机通讯录程序的开发,需要投入大量的精力去学习。在软件开发过程中,我从书店,图书馆,互联网上查询借阅了大量的相关数据和资料,通过书本上的案例,不断进行学习,力求在最短的时间掌握安卓开发的相关知识。本软件也即研究开发一款手机通讯录软件。
在开发Android平台通讯录的过程中,我投入了大量精力去开发和解决出现的各种问题。在开发过程中,由于个人能力的所限以及知识水平的局限性,开发过程中我碰到了很多问题,而且程序开发的过程和结果也不是非常完美。为了解决这些问题,我通过咨询同学或者通过互联网查找相关资料,学习解决问题的相关方式。
这次毕业设计的课题对我而言是一个巨大的挑战,以前未系统研究过安卓的我,经过不断的学习努力,解决了软件开发过程中的各种问题,最终完成了软件的开发,完成了软件开发。通过这次综合的软件开发的过程,使我学习到了很多,对我以后的学习生活有着积极的促进作用。
18
参考文献:
[1] 刘浩.Java从入门到精通[M].北京:人民邮电出版社,2010,:10-234.
[2] 皮德常.Java简明教程[M].3版.北京:清华大学出版社,2013:5-237.
[3] 李刚.疯狂Android讲义[M].北京:电子工业出版社,2011:2-198.
[4] 武玉坤.基于Android移动学习平台的设计[J].计算机光盘软件与应用,2013,21(1):56-58.
[5]GONG pment and Research of Mobile Termination Application Based on Android[J]. Computer And Modernization. 2008.8,21(1):56-58
[6]
Enck,W., Ongtang,M.,McDaniel,P. Understanding Android Security[J]. Security & Privacy, IEEE.2009,7(1),P50-57
[7]ology and themes of human-robot interaction: A growing research field[J]. Apress:International Journal of Advanced Robotic Systems, 2007: 103-108
[8] Hai Research of Android Web Services[J].The Technology of Computer Science,2011:56-57.
19
致谢
本论文是在老师的悉心指导下完成的,从论文最初的题目选择到实现过程中材料的搜集以及论文的不断修改,李老师给予了我的论文设计以巨大的帮助和指导,同时,李老师对安卓前景的描绘引起了我对安卓的巨大好奇,使我下定下定决心探索安卓世界。另外,李老师身上严谨治学的学术品质对我产生了深远影响。谨在此向李老师表示崇高的敬意。
同时,我也要对评审组的老师们表示由衷感谢,感谢你们抽出时间对我的论文进行审阅,并对我的论文提出指导性建议。
20
本文发布于:2024-02-07 11:46:07,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727756764690.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |