资源描述
《课 程 设 计 报 告》
课程名称:软件工程
2016—2017 学年度第一学期
题 目: 手机通讯录
系 别: 信息工程学院
专 业: 计算机科学与技术
专业班级: 14 计本(2)班
指导教师: 卜华龙
软件工程课程设计
编者
张威 洪浩 禄鑫 田泉 崔洋洋
目录
业务调研报告 2
一.目标组织结构 2
二.目标系统分析 3
三.表单资料整理 5
四.目标流程设计 6
五.可信性分析 11
六.结论意见 11
需求分析报告 12
一.引言 12
二.概述 14
三.功能需求分析 15
四.系统领域类图 19
五.非功能需求分析 21
六.数据字典 24
概要设计报告 26
一.总体设计 26
二.数据库表结构 27
三.输入/输出设计 28
四.处理过程设计 30
五.系统用例与类的对应关系 39
数据库设计报告 48
一.引言 48
二.数据库命名规范 49
三.数据库实体关系设计 50
四.数据库逻辑设计 52
五.数据库物理设计 55
六.数据库基本表设计 58
七.索引设计 59
八.视图设计 59
九.授权设计 60
十.触发器设计 60
十一.存储过程设计 60
详细设计报告 61
一.引言 61
二.程序系统结构 62
三.类设计说明 63
业务调研报告
一.目标组织结构
1.系统概述
1.1功能目标设计
手机通讯录管理系统
主菜单
修改功能
增加功能
查看功能
删除功能
图 1.1 系统功能图
伴随知识经济的发展和现代信息技术的不断改进,人们的生活节奏越来越快,而对信 息的要求越来越高,快捷方便已经成为信息的一个重要指标。本系统采用 C/S 体系结构, 后台使用了 Access 数据库,只需使用账号登录该系统,就可以根据需要进行相应的操作。 管理员可以对个人信息进行添加、删除、修改等操作,避免了很多不必要的麻烦;其他用 户可以对人物信息进行查询,并可以在系统里直接联系该用户,为用户提供了很大的方便。
1.2功能需求与程序的关系
表 1.1 功能分配关系
增加
查找
修改
删除
用户
√
√
√
√
二.目标系统分析
通过对通讯录信息管理系统进行了解分析后,确定了本系统将要实现的系统主要功能
l 在系统设置模块中实现对用户基本信息的设置和保存、以及对该系统的一些设置。
l 在联系人信息模块中实现系统存储用户输入的联系人信息的浏览、增加、修改、删除。
l 在信息查询模块中实现系统对联系人信息的综合查询。
l 在联系人信息模块中实现系统存储用户输入的联系人信息的浏览、增加、修改、删除。
l 在联系人信息模块中实现系统存储用户输入的联系人信息的浏览、增加、修改、删除。
2.1 用户接口
2.2 外部接口
2.3 内部接口
表 2.2 内部接口
接口
传递信息
维护用户资料
添加用户信息
通讯簿基本信息(编号,姓名,性别,手机,住址 电话,办公电话,家庭住址,电子邮箱,个人简历)
维护用户资料
删除用户信息
通讯簿基本信息(编号,姓名,性别,手机,住址 电话,办公电话,家庭住址,电子邮箱,个人简历)
维护用户资料
修改用户信息
通讯簿基本信息(编号,姓名,性别,手机,住址 电话,办公电话,家庭住址,电子邮箱,个人简历)
维护用户资料
查询用户资料
通讯簿基本信息(编号,姓名,性别,手机,住址 电话,办公电话,家庭住址,电子邮箱,个人简历)
维护系统资料
删除系统资料
系统信息(用户编号,密码)
维护系统资料
增加系统资料
系统信息(用户编号,密码)
维护系统资料
修改系统资料
系统信息(用户编号,密码)
维护系统资料
查询系统资料
系统信息(用户编号,密码)
三.表单资料整理
3.1 运行模块组合
施加不同的外界运行控制时所引起的各种不同的运行模块组合如下表所示:
3.2 运行控制
表 3.2运行控制
四.目标流程设计
4.1 业务流程图
用户进入手机通讯管理软件后,会看到联系人列表界面。联系人列表界面主菜单中包括:添加、搜索、删除、菜单、退出;其中菜单又包括:显示所有联系人、删除所有联系人、备份信息到SD卡、还原数据到通讯录、个人空间、退出。点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找到相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信,,长按某分联系人,可以选中该联系人,点击删除,会删除已经标记的联系人。点击菜单,可进入菜单界面:点击所有联系人,可以显示所有人信息、点击删除所有联系人,可以删除所有人信息、点击备份信息到SD卡,可以将数据库数据备份到SD卡、点击还原数据到通讯录,可以从SD卡上备份的数据还原到数据库、点击个人空间,输入密码并进入个人操作界面、点击退出,退出到主界面。该软件的业务流程如图4-1所示:
用户
手机通讯管理软件
添加联系人
编辑联系人
删除联系人
联系人列表
联系人
搜索联系人
菜单
呼叫联系人
发送短信
退出通讯录
显示所有联系人
删除所有联系人
备份还原
个人空间
退出菜单
图4-1 系统业务流程图
4.2系统功能实现
从前面需求分析可以看出,系统功能简单,从使用和操作的功能上分,有两种用户: 用户(已经登记注册);游客(未登记注册)。为便于整个系统组织管理,把各个相对独立 的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成 独立的目标(功能)模块(single Executable),各功能模块最后被集成到一个称为虚拟桌面 的控制台模块中。相应地将系统结构分为若干各子模块。对应于每一个模块,几乎都有查 询、修改、查看详细资料这几个功能。整个操作流程就是由这几种基本功能实现的。在这 里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列区别于 其它子模块的功能实现。
(1) 用户登录模块设计: 用户登录模块主要根据用户登录的信息,与数据库中信息成功匹配后,获得其相应的操作权限。
开始
输入编号、密码
判断是否合法用户及身份(说明一)
用户
图 4.2 登录模块流程图
(2)系统信息模块设计 系统设置模块主要实现对用户基本信息的设置和保存、以及对该系统的一些设置。
图 4.3 系统信息模块流程图
(3)用户信息模块设计 用户信息模块主要实现对用户信息的添加、修改、删除等操作。
图 4.4 用户信息模块流程
五.可行性分析
5.1 技术可行性
本系统是一个典型的数据库应用程序。现有的数据库应用程序开发技术已非常成熟, 利用现有技术完全可以实现预定的功能。系统采用 VB6.0 开发工具,该工具功能强大,扩 展性强,适合任何的编程工作,这些技术完全胜任开发任务;并且利用该工具能使操作人 员可在短时间能完全掌握系统维护工作。系统运用了 SQL 作为后台数据库,而 SQL 是一个 非常优秀的小型数据库管理软件,方便使用,性能稳定。于是,采用 VB6.0+SQL 技术完全 能够实现本系统的开发。
5.2 社会可行性
由于使用该系统管理,可以在很大程度上解决用户在信息沟通方面的问题, 是完全有利的行为。我们研发小组会很好的行使合同上的权力和履行合同上的义务,并且 该系统已经申请了专利版权,对侵权行为均会予以追究。
该系统对工作制度并无要求,随时操作随时处理,而对于工作人员的素质,只要具有 使用该系统权限的用户和管理者都可以使用,并不需任何计算机方面的专业知识即可上手 操作。根据上述分析,该系统完全符合日常管理的要求。
六.结论意见
综合技术可行性、社会可行性等各个方面因素的考虑,对手机通讯录管理系统进行 了可行性研究,可知,开发该手机通讯管理系统是完全可行的。
需求分析报告
一.引言
1.1编写目的
本需求分析报告对做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。
1.2项目背景
随着科学技术的发展及人们生活水平的提高,手机已成为人们使用最为频繁的工具之一,其主要作用是为了让人们更为方便相互联系。每个手机都具有一个或者多个通讯录。一个好的通讯录能够提供方便,快捷的操作来帮助人们提高工作效率,节省时间。
本手机通讯录具有常用的添加联系人、编辑联系人、删除联系人、查找联系人等功能,还具有打电话、发信息、显示所有、删除所有、号码备份、SD卡备份等功能。它方便了用户对众多号码和个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。因此手机通讯录系统是十分完善且人性化的。
1.3 预期读者和阅读建议
需求分析报告作为非常重要的技术文档,在项目中具有非常重要的地位读者包括用户、系统分析员、测试人员和需求管理员等。其中用户关注产品的功能需求是否满足其需要,系统分析员是需求分析报告编写的主要人员,起着决定性作用。测试人员主要关注需求的可测试性,需求管理员依据需求分析报告编制需求管理计划等。
1.4 产品范围
本手机通讯录具有常用的添加联系人、编辑联系人、删除联系人、查找联系人等功能,还具有打电话、发信息、显示所有、删除所有、号码备份、SD卡备份等功能。
1.5 参考文献
[1]《软件工程》作者:张海潘出版社:人民邮电出版社
[2]《软件是这样炼成的》作者:王朔韬 出版社:清华大学出版社
[3]《SQL Server数据库开发》 张智毅等编 电子工业出版社
[4] 陈禹,方美琪.软件开发工具[M].经济科学出版社,2002
[5] 印旻.Android语言与面向对象程序设计[M].北京:清华大学出版社,2000
二.概述
2.1 开发意图
为了让人们更为方便相互联系。每个手机都具有一个或者多个通讯录。一个好的通讯录能够提供方便,快捷的操作来帮助人们提高工作效率,节省时间。
2.2名词定义
实体:客观世界中存在的且可互相区别的事物。
联系:客观事物中的彼此之间的关系。
属性:实体或者联系所具有的性质。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
2.3目标
实现手机通讯录管理系统的基本功能。
系统主要功能:联系人添加、联系人查看、联系人编辑、联系人删除、联系人查找、呼叫、发送短信、数据备份与还原、个人空间等。
2.4运行环境
(1) 以Windows98 以上/ME/2000/XP作为通讯簿信息管理系统的后台操作系统。
(2) 前台开发程序为Microsoft Visual Basic 6.0。
(3) 后台数据库为SQL Server 2000。
(4) 主要硬件设备:PC机一台。
三.功能需求分析
“永远不要以为,自己的需求就是用户的需求”,秉承着这个原则,按照用户的各种需求,我总结出了用户对手机通讯录的大体需求,制定出了手机通讯录的各种功能来满足广大用户的需求。
3.1基本功能
该手机通讯录软件有以下等功能:
(1)增加联系人功能:当我们进入该设计的操作界面时,点击menu键,底部会出来添加功能,点击了添加,我们可以录入联系人的头像、头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息。
(2)删除联系人功能:选出某个联系人的名字时,可以对此人的相应数据进行删除,并自动调整后续条。
(3)修改联系人功能:选出某个联系人的名字时,可以对此人的相应数据进行修改,并且保存该联系人的新信息。
(4)查询功能:要求通过输入联系人的姓名或者电话号码来查询到该联系人的详细信息。
(5)拨号及发信息功能:当该设计显示出所有联系人的姓名时,我们可以选中某个联系人,点击menu键与该联系人进行通话或者发信息。
(6)菜单功能:点击menu,在该设计的底部会出现菜单,包括显示所有、删除所有、号码备份功能。
(7) 用户通过个人中心可以设置自己的详细信息,这样方便其他人了解自己,也可以将具有相同名字的联系人合并。
3.2系统功能结构图
3.3系统用例分析
3.3.1通话记录功能用例图
通话记录功能模块,包括了联系人详细信息查看,清空通话记录,在选择一个条目后,可以对其进行拨打电话,发送短信功能的操作,也可以进行删除
3.3.2联系人功能模块用例图
联系人功能模块包括了查看联系人详细信息,编辑联系人信息,新建联系人,对选中的联系人,可以对其进行删除、拨打电话、发送短信的操作。用户还可以进行联系人搜索,这样方便用户快速找到想找的联系人信息。
3.3.3个人详细信息子模块用例图
该模块的功能就是用户设置自己的个人基本信息。
3.3.4联系人导入导出的用例图。
该模块的功能就是联系人的导入与导出.
四.系统领域类图
下面是设计的领域类图
用户User类
主要用于暂存页面获得的信息,然后再存入数据库中。
DBhelper类
主要完成数据库的表的创建和数据的添加删除以及备份的功能,以下是各个具体的函数和变量。
MyDBHleper类:
继承于SQLiteOpenHelper,主要有俩个函数,onCreate()和onUpgrade()
UserDetail(Activity)
函数基本同AddNew(Activity),增加了修改按钮的点击事件和删除按钮的点击事件。
五.非功能需求分析
5.1物理需求
手机通讯录系统软件运行的具体配置要求是:
(1.)内部业务服务器2台,实现冗机备份处理和内部业务的负载平衡。性能指标要求是:主频2G以上,内存4G以上或者更高档专业服务器,硬盘1TG以上。
(2.)Web应用服务器2台,实现冗机备份处理和内部业务的负载平衡。性能指标要求是:主频2G以上,内存4G以上或者更高档专业服务器,硬盘1TG以上。
(3.)数据库服务器,建议内部和外部业务共用服务器的模式,共计规划3台服务器,其中2台服务器用来完成负载平衡和数据库同步镜像,另外1台服务器作为备份服务器完成数据备份和恢复。
5.2实施需求
应用服务器运行平台操作系统使用Windows Server 2003,应用服务器Http服务器和应用程序服务器使用Oracle Weblogic ,应用服务平台使用 Oracle Weblogic,性能监视软件使用 IBM Tivoli。
数据库使用IBM DB2 V9.7
Case工具包括:软件架构工具使用IBM Rational Rose 作为建模和分析工作。使用Powerdesigner 作为数据建模工具。文档编写及制图工具采用Microsoft Viso 2007。测试工具采用Quick Test Professional、LoadRunner。
5.3性能需求分析
一个软件的功能强大,使用的用户就多。但是,光功能强大还不足够,还需有软件的性能完善。本设计不仅仅考虑了用户需要的功能需求,还尽可能的去满足广大用户使用该软件的感觉。下面我来介绍下本项目的优越性能。
第一,用户界面要清晰简单,用户看着也爽快。设计里面要操作简单明了, 方便用户操作使用,总之就是要让用户操作起来简单,看起来舒服。
第二,反应的速度要快,软件能够迅速处理用户的操作请求,如果软件不能对用户的操作快速响应,就应该出现一个提示,提示用户软件正在运行,正在处理用户的请求。
5.4可靠性需求
应用服务器故障:应用程序故障最严重状态为系统彻底奔溃,但是,为了保障系统运行的可靠,必须实施系统的冗机集群。防止因为地域因素导致的系统奔溃,比如说:发生停电、地震等强烈自然灾害造成系统的瘫痪,为了保证的可靠性,可以在另一地点建立备用服务器,提高系统的灾难性可靠性保障能力。对于同一物理位置应用服务器,采取负载均衡集群方式实现系统的高度可靠性。应用服务器整体实现零故障率。
数据库故障:作为投核保系统的灵魂,数据库的可靠性高于一切。
数据库采取分公司和总公司同步的方式进行。在分公司内部建立一个SAN网络环境,提高可靠性。同时,总公司内部建立一个SAN网络环境,并且总公司网络SAN与分公司SAN连接组成一个跨地区的广域SAN网。保证数据库总体零故障率。
5.5数据库需求分析
数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。数据库就是存放数据的仓库,数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。
5.6软件项目管理需求
高质量的软件开发必须需要科学的管理方加上严格的项目管理规范才能实现。
为了保证系统高质量完成,通过与客户沟通,在其质量管理过程中,将要遵循以下几个管理过程域来管理项目,其中包括:需求管理 、软件项目规划 、软件质量保证、软件配置管理、组织流程定义、培训计划。
5.7 总结
非功能需求分析不像功能需求分析那样直观和容易理解,但是非功能需求确实非常重要,因为非功能需求是影响软性能和可用性等方面的关键。
六.数据字典
6.1数据项
数据项名
含义
数据类型
长度
数据项之间的关系
用户名
用户的唯一标识
char
10
通讯录登录管理
密码
对应用户的标识
Char
10
对应用户名
编号
联系人唯一的标识
Char
50
对应用户名
姓名
联系人姓名
Char
50
编号——姓名
备注
联系人备注
Char
50
编号——备注
出生日期
联系人出生日期
Char
50
编号——出生日期
手机号码
联系人手机号码
Char
10
编号——电话号码
email
联系人emai
Char
50
编号——email
办公室号码
联系人办公号码
Char
10
编号——办公室号码
家庭号码
联系人家庭号码
Char
10
编号——家庭号码
职务职称
联系人职务职称
Char
50
编号——职务职称
6.2 数据结构
数据结构名
含义说明
组成
用户表
用户的登录信息
用户名+密码
联系人表
联系人各项详细信息
编号+姓名++备注+手机号码+email+办公号码+家庭号码+职务职称
6.3 数据流
数据流名
说明
数据流来源
数据流去向
组成
登录
用于登录系统
登录数据流
通讯录
用户名,密码
联系人信息
用于查询、修改、增加、删除联系人信息
联系人数据流
联系人模块
编号,姓名,备注,手机号码,email,办公号码,家庭号码,职务职称
6.4处理过程
处理过程名
说明
输入数据流
输出数据流
处理
登陆界面
用户登录界面
输入用户名密码
进入联系人界面
登陆成功,进入系统
联系人信息界面
查询、插入、修改、增加联系人时的界面
编号,姓名,备注,手机号码,email,办公号码,家庭号码,职务职称
进入联系人界面
查看联系人详细信息
概要设计报告
一.总体设计
Android手机通讯管理软件主要功能模块包括:联系人添加、联系人查看、联系人编辑、联系人删除、联系人查找、呼叫、发送短信、数据备份与还原、个人空间等,如图1-1所示:
图1-1 总体设计图
二.数据库表结构
2.1 实体
根据需求分析的数据流图,对其进行自底向上的分析。抽象出设计视图,集成局部视图,得到全局的概念结构。
本数据库的实体为:
联系人信息(头像 ,姓名,手机号码,办公室号码,家庭电话,职务职称,单位名称,地址,邮编,Email,其他联系方式,备注)
2.2 系统E-R图
根据E-R的设计过程,根据初始数据流图设计初始的E-R图,而后将各分E-R图集成,消除冲突、消除冗余,得到最初的E-R图,对其进行分析和根据规范化理论进行规范化,集成视图,最后形成基本的E-R图。其过程如图所示:
联系人实体E-R图
图2-1 联系人信息实体E-R图
2.3 数据库表设计
根据上述联系人实体E-R图,设计出数据库的表,如表2-2所示,
表2-2 user表的设计
字段名
数据类型
是否为空
约束条件
备注
_id
int
非空
主键
自动增量
name
Text
非空
mobilephone
Text
可以为空
officephone
Text
familyphone
Text
address
Text
othercontact
Text
email
Text
position
Text
company
Text
zipcode
Text
remark
Text
imageid
int
privacy
int
隐私用户1
普通用户0
三.输入/输出设计
在这个系统中,通过对系统的分析,可以识别出参与者:用户。对于用户而言,通讯录上按钮、菜单、输入框是用户向系统输入的操作请求的输入设备,GUI与是用于向用户输出信息的输出设备。
图3-1 通讯录的参与者
事件是来自人操作的重要的消息,表3-2给出了通讯录系统中可能发生的所有事件。
表3-2 系统响应及其执行结果
事 件
系统响应
执行结果
1
从手机屏幕点击软件系统
调用函数入口,启动系统,进入该软件
进入该软件,显示联系人列表
2
点击"Menu",选择添加联系人
调用添加函数
进入添加界面
3
点击其中一个联系人
调用查看/修改某个联系人函数
进入联系人详细界面
4
在联系人详细界面点击"Menu",可对联系人进行发送短信
调用系统发送短信函数
进入发送短信界面
5
在联系人详细界面点击"Menu",可对联系人进行拨打电话
调用系统拨打电话函数
进入呼叫联系人界面
6
在联系人详细界面点击"Menu",可对联系人进行修改
调用修改函数
修改联系人信息
7
在联系人详细界面点击"Menu",可对联系人进行删除
调用删除函数
调用删除函数
8
在联系人列表界面点击"Menu",选择查找
调用查找联系人函数
显示用户查找结果
9
在联系人列表界面点击"Menu",选择退出
调用退出函数
退出通讯录软件
10
在联系人列表界面点击"Menu",选择菜单
调用菜单函数
先是菜单界面
11
在菜单界面选择显示所有人信息
调用显示函数
显示所有人信息
12
在菜单界面选择删除所有人信息
调用删除函数
删除所有人信息
13
在菜单界面选择备份所有人信息
调用备份函数
备份信息到SD卡
14
在菜单界面选择还原所有人信息
调用还原函数
进入还原界面,还原信息到数据库
15
在菜单界面选择个人空间
调用私人空间类
进入私人界面
其中的输入包括:用户选择的上述按钮、菜单,还包括输入框的内容,包括:联系人头像、联系人姓名、手机号、家庭电话、单位电话、单位名、职位、住址、邮编、备注等信息。
其中输出包括:根据用户的选择输出的相应内容,如:联系人列表显示信息、联系人详细信息等。
四.处理过程设计
4.1 业务流程图
用户进入手机通讯管理软件后,会看到联系人列表界面。联系人列表界面主菜单中包括:添加、搜索、删除、菜单、退出;其中菜单又包括:显示所有联系人、删除所有联系人、备份信息到SD卡、还原数据到通讯录、个人空间、退出。点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找到相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信,,长按某分联系人,可以选中该联系人,点击删除,会删除已经标记的联系人。点击菜单,可进入菜单界面:点击所有联系人,可以显示所有人信息、点击删除所有联系人,可以删除所有人信息、点击备份信息到SD卡,可以将数据库数据备份到SD卡、点击还原数据到通讯录,可以从SD卡上备份的数据还原到数据库、点击个人空间,输入密码并进入个人操作界面、点击退出,退出到主界面。该软件的业务流程如图4-1所示:
用户
手机通讯管理软件
添加联系人
编辑联系人
删除联系人
联系人列表
联系人
搜索联系人
菜单
呼叫联系人
发送短信
退出通讯录
显示所有联系人
删除所有联系人
备份还原
个人空间
退出菜单
图4-1 系统业务流程图
4.2 系统Activity设计
根据Android的Activity设计原则,设计出整个系统的界面,如图4-2所示:
图4-2 系统Activity设计图
4.3 功能处理设计
1. 浏览联系人
[1] 用例名称:浏览联系人
[2] 用例描述:浏览联系人列表
[3] 角色:手机用户
[4] 前置条件:通讯录中已有联系人
[5] 后置条件:显示出所有联系人
[6] 基本路径
A. 打开通讯录
B. 系统查询数据库
C. 显示出联系人列表
2. 查看联系人
[1] 用例名称:查看联系人
[2] 用例描述:查看联系人信息
[3] 角色:手机用户
[4] 前置条件:通讯录中已有联系人
[5] 后置条件:给出联系人信息
[6] 基本路径
A.查看联系人信息
B.给出相关信息
3. 编辑联系人
[1] 用例名称:编辑联系人
[2] 用例描述:编辑联系人信息
[3] 角色:手机用户
[4] 前置条件:通讯录中已有联系人
[5] 后置条件:修改联系人信息
[6] 基本路径
A.输入要修改的新信息
B.修改联系人信息
4. 删除联系人
[1] 用例名称:删除联系人
[2] 用例描述:删除联系人
[3] 角色:手机用户
[4] 前置条件:通讯录中已有联系人
[5] 后置条件:删除联系人
[6] 基本路径
A.选中联系人,选择删除操做
B.询问是否确定删除操作
C.删除联系人
上述三种业务操作的流程图
开始
联系人列表
单击某个联系人
查看/修改/删除
跳转到联系人信息Activity
结束
联系人数据库
图4-3 查看/修改/删除流程图
5. 查询联系人
[1] 用例名称:查询联系人
[2] 用例描述:查询联系人信息
[3] 角色:手机用户
[4] 前置条件:通讯录中已有联系人
[5] 后置条件:给出联系人信息
[6] 基本路径
A.输入查找的数据
B.查询列表根据数据动态现实出信息
点击Menu菜单,选择查找联系人跳转SearchContactActivity,在查找联系人界面中,TextView被监听,根据TextView输入的数据,进行查询后在List中显示。
开始
联系人列表
按查询按钮
跳转到查看联系人Activity
结束
输入查询条件
显示信息
修改/删除操作
打电话、发短信
联系人数据库
图4-4 查询联系人流程图
6. 菜单操作
[1] 用例名称:菜单操作
[2] 用例描述:选择菜单功能
[3] 角色:手机用户
[4] 前置条件:单击菜单按钮
[5] 后置条件:进入菜单界面
[6] 基本路径
A.单击菜单按钮
B.选择菜单的功能
开始
联系人列表
按查询按钮
跳转到菜单Activity
结束
查看所有
联系人数据库
删除所有
备份还原
个人空间
退出菜单
SD卡数据
图4-5 菜单操作流程图
4.4 系统界面设计
本系统一共有11个页面文件,主要的界面如下:
Main.xml文件,如图4-6所示,显示已经存储的联系人数据数据:
图4-6 系统主界面
AddNew.xml文件,如图4-7所示,显示添加联系人的选项,完成联系人的添加:
Main-menu_grid.xml 显示弹出的主菜单的对话
图4-7 添加联系人界面
图4-8 主菜单界面
五.系统用例与类的对应关系
5.1 数据类设计
用户User类
如图5-1所示,主要用于暂存页面获得的信息,然后再存入数据库中。
图5-1 User类
DBhelper类
如图5-2所示,主要完成数据库的表的创建和数据的添加删除以及备份的功能,以下是各个具体的函数和变量。
图5-2 DBhelper类
insert(User)函数实现:
完成数据的插入,并根据插入是否成功,返回一个长整型的值
getAllUser(boolean)的实现:
完成数据的显示,使用SQLiteDatabase.query() 方法,利用cursor对象,一一取出字段的值,放入一个hasp表中,最后存入数组列表中,返回给数组列表。
modify(User )函数的实现:
使用user类中的字段,更新数据库
delete(int)函数的实现:
根据数据的id进行单个数据的删除
deleteAll(int )函数的实现:
删除所有数据
getTotalCount() 函数的实现:
使用cursor对象getint()方法得到数据的个数
getUsers(String boolean) 函数的实现:
完成数据的查找,使用SQL语句中的模糊查找,然后放入数组列表,进行返回。
deleteMarked(ArrayList<Integer>)函数的实现:
删除被标记多个数据的数据,
backupData(boolean)函数的实现:
新建一个字符串,把当前所有数据的值写成一个insert 语句存入字符串中,以便备份的时候能够插入到数据库中
saveDataToFile(string,boolean)函数的实现:把插入字符串写到zpcontacData下的文件中
restoreData(string)函数的实现:载入备份文件,读出插入字符串,写到数据库中,完成备份
findFile(string)函数的实现:判断文件是否存在,能否备份
MyDBHleper类:
继承于SQLiteOpenHelper,主要有俩个函数,onCreate()和onUpgrade()
onCreate()函数主要用于数据库中表的创建。
onUpgrade()函数主要用于数据库的版本不对应,重新创建表。
5.2 Main(Activity)设计
如图5-3所示,显示了 Main(Activity)涉及的变量以及调用和重写的函数:
图5-3 Main(Activity)
onCreate(Bundle) 为主函数,创建ListView对象,将数据与adapter集合起来,显示给用户看,然后响应ListView的点击事件,跳转用户详细信息页面。
onActivityResult()函数的实现:
此函数主要是判断是从那些页面跳转到主页面,并刷新主页面onKeyDown(int KeyEvent)的函数实现:
响应点击Menu按钮时的事件,用于设置底部菜单是否可见
loadBottomMenu() 函数的实现:
主菜单的点击事件的响应,实现各种功能模块
getMenuAdapter(string[]) 函数的实现:
将图片和文字设置在一个集合中,组成一个菜单
5.3 AddNew(Activity)设计
如图5-4所示,AddNew(Activity)用到的变量以及函数
图5-4 AddNew(Activity)
onCreate()函数的实现:
实现头像的选择,数据的填写。
loadImage() 函数实现:
使用gallery控件和imageswith实现头像的加载和选择
ImageAdapter类的实现
自定义头像适配器
initImageChooseDialog()函数实现:
完成图像的选择对话框
5.4 UserDetail(Activity)设计
函数基本同AddNew(Activity),增加了修改按钮的点击事件和删除按钮的点击事件。
增加的函数有:
loadUserData():
获得控件,为控件赋值
setEditTextAble():
把页面中的控件可修改
setColorToBlack()
设置显示的字体颜色为黑色
setColorToWhite()
设置显示的字体颜色为白色
setEditTextDisable()
把设置控件不可修改
private void modify() {
数据更新函数
delete()
数据删除函数
onCreateOptionsMenu(Menu)的实现:
通讯菜单的实现,完成联系人的打电话,发短信,发邮件功能
5.5 MainPrivacy(Activity)设计
如图5-5所示,MainPrivacy(Activity)涉及到的变量以及函数
图5-5 MainPrivacy(Activity)类图
用到的函数:
onCreate();
onActivityResult()
展开阅读全文