五 、详细设计说明书
引言
1.1编写目的
编写该文档目的:供该小组相关人员编程,测试或者维护与决策用。
此说明书文档的读者对象是:对相关项目技术和总体方案作出决策的小组相关人员。
对本《概要设计》进行评审和确认的有老师和技术人员;
参加编码阶段工作的全体小组人员;
参加系统测试的全体小组成员;
参加试运行的全体小组成员;
1.2背景
通讯录是我们日常生活中经常用到的抽象通讯管理工具,用其自身齐全的功能给人们带来通讯的方便。在本次的课程设计中我们小组选择用java设计了这个工具。本工具实现了通讯录的添加、修改、删除及查询功能。供有筛选功能,即程序能够按照输入的条件进行筛选。列出满足条件的人员名单和显示全部信息。可添加新记录,修改当前记录,删除当前记录。设计界面美观、实用。
a. 项目名称:通讯薄管理系统
b.任务提出者:对通讯薄的需求者
c.目开发者:OnceTry小组的全体成员。
d.. 用户:何有需要甬到讯薄的人,不管是日常生活还是商业的用途都能成为本软件的用户包括个人及企事业
项目与其他软件、系统的关系:本项目采用瀑布模型,采用Microsoft公司的SQL SERVER 2000 数据库。
系统将由两部分组成:前台用户界面以及后台程序和数据库系统。
1.3定义
[专门术语]:
SQL SERVER 2000: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键(码):数据库表中的关键域。值互不相同。
外部主键:数据库表中与其它表主键关联的域。
1.4参考资料
以下列出在概要设计过程中所使用到的有关资料:
《java2实用教程》
《数据库设计说明书》
《数据库基础》
2.系统的结构
2.1模块设计说明
在此将逐个地给出各个层次中的每个模块的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。模块描述如下:
2.2.1: 添加模块:
用户可以根据自己的需要将联系人的信息加入到自己的通讯录中,联系人的信息包括:姓名、性别、电话号码、家庭住址、QQ 号码、电子邮件等基本信息。
名 称 | 添加 | 标识 | ADD | 子系统名称 | 无 | 系统 名称 | 无 | |
接 口 说 明 | 输入 | 姓名(Name)、性别(Sex)、家庭电话(FaPh)、手机号码(Phone)、单位电话(OffPh)、家庭住址(AD)、QQ 号码(QQ)、电子邮件(EM)。 | ||||||
输出 | 姓名(Name)、性别(Sex)、家庭电话(FaPh)、手机号码(Phone)、单位电话(OffPh)、家庭住址(AD)、QQ 号码(QQ)、电子邮件(EM)。 | |||||||
功 能 说 明 | 用户可以根据自己的需要将联系人的信息加入到自己的通讯录中。 | |||||||
运行环 境说明 | Windows 98 / Me / 2000 / XP / | |||||||
调用关 系说明 | 调用模块 | 各个符合PASCAL命名规范的类的方法 | ||||||
被调用模块 |
| |||||||
2.2.2: 查询模块:
在此用户可以根据联系人信息中的某一信息(人名、性别或分组)查找相应的联系人。并将全部的信息输出。
名 称 | 查询 | 标识 | SELECT | 子系统名称 | 无 | 系统 名称 | 无 | |
接 口 说 明 | 输入 | 姓名(Name)、性别(Sex)、分组(Grouping) | ||||||
输出 | 姓名(Name)、性别(Sex)、家庭电话(FaPh)、手机号码(Phone)、单位电话(OffPh)、家庭住址(AD)、QQ 号码(QQ)、电子邮件(EM)。 | |||||||
功 能 说 明 | 在此用户可以根据联系人信息中的某一信息(人名、性别或分组)查找相应的联系人,并将个人信息全部输出。 | |||||||
运行环 境说明 | Windows 98 / Me / 2000 / XP / | |||||||
调用关 系说明 | 调用模块 | 各个符合PASCAL命名规范的类的方法 | ||||||
被调用模块 |
| |||||||
2.2.3:修改模块:
在此当用户需要对通讯录中联系人的信息作修改的时候,可以根据自己的需要为通讯录为修改操作设置相应的密码。如果设置了密码,用户修改通讯录信息时系统将要求输入密码并进行验证,若密码正确则可以修改信息,不仅可以修改联系人的个人信息而且还可以将联系人从不同的分组间进行移动;若密码不正确则系统不允许用户做修改操作。如果不设置密码,不仅用户本人可以修改信息,而且其他任何使用该通讯录的人都可以修改该通讯录的信息,不管是否经过用户的允许。用户还可以随时修改已设的密码,防止密码外泄带来的不必要的麻烦。
名 称 | 修改 | 标识 | UPDATE | 子系统名称 | 无 | 系统 名称 | 无 | |||
接 口 说 明 | 输入 |
| ||||||||
输出 | 姓名(Name)、性别(Sex)、家庭电话(FaPh)、手机号码(Phone)、单位电话(OffPh)、家庭住址(AD)、QQ 号码(QQ)、电子邮件(EM)。 | |||||||||
功 能 说 明 | 可以根据需要对联系人信息设置密码,当要对个人信息进行修改时,需要输入密码,进行验证。这样可以防止非用户本人修改信息。 | |||||||||
运行环 境说明 | Windows 98 / Me / 2000 / XP / | |||||||||
调用关 系说明 | 调用模块 | 各个符合PASCAL命名规范的类的方法 | ||||||||
被调用模块 |
| |||||||||
2.2.4:备份模块:
用户可以随时的将认为重要的信息(也可以是全部的通讯录信息)进行备份,以便在通讯录信息受损时可以及时的恢复其丢失的信息。
2.2.5:删除模块:
用户可以根据自己的需要为删除操作设置相应的密码或不设置密码,当删除操作发生时,如果设置了密码则需要输入密码验证,若密码正确才可以进行删除操作,否则不允许进行该删除操作。如果没有设置密码则可以随意的进行删除操作,不仅用户本人可以进行该操作,其他的任何使用该通讯录的人都可以进行该操作。建议用户为次操作设置密码,防止未经本人的允许对通讯录进行删除操作,确保信息的完整性。
名 称 | 删除 | 标识 | DELETE | 子系统名称 | 无 | 系统 名称 | 无 | |||
接 口 说 明 | 输入 |
| ||||||||
输出 | 姓名(Name)、性别(Sex)、家庭电话(FaPh)、手机号码(Phone)、单位电话(OffPh)、家庭住址(AD)、QQ 号码(QQ)、电子邮件(EM)。 | |||||||||
功 能 说 明 | 可以根据需要对联系人信息设置密码,当要对个人信息进行删除时,需要输入密码,进行验证。这样可以防止非用户本人删除信息,确保用户联系人个人信息的完整性。 | |||||||||
运行环 境说明 | Windows 98 / Me / 2000 / XP / | |||||||||
调用关 系说明 | 调用模块 | 各个符合PASCAL命名规范的类的方法 | ||||||||
被调用模块 |
| |||||||||
2.2.6帮助文档模块:
对首次使用本系统的用户提供一些必要的解释说明和一些简单的操作指南,解决用户使用中遇到的问题,给出相应的答案或提示。
3.数据库:
3.1表:
概述:
表tbPersonalmasg用于记录用户联系人的基本信息,包括:姓名、性别、电话号码、家庭住址、QQ 号码、电子邮件等。
表tbPersonalmasg如下:
字段名 | 字段代码 | 类型 | 允许 为空 | 码 键 | 默认值 | 其他属性 | 备注 |
姓名 | Name | nvarchar(50) | N | 主码 |
|
|
|
性别 | Sex | int | N |
|
|
| 此字段只能取值“男”或“女” |
家庭电话 | FaPh | nvarchar(50) | Y |
|
|
|
|
手机号码 | Phone | nvarchar(50) | Y |
|
|
|
|
工作单位电话 | OffPh | nvarchar(50) | Y |
|
|
|
|
家庭地址 | AD | nvarchar(50) | Y |
|
|
|
|
E-mail地址 | EM | nvarchar(50) | Y |
|
|
|
|
QQ号码 | | int | Y |
|
|
|
|
与用户的关系 | Relation | nvarchar(50) | N |
|
|
|
|
主键
表tbPersonalmasg的主键是姓名(Name)字段,类型为Char(10),不允许为空。
外键
无
约束
性别(Sex)的值可以是“男”或“女”;
与用户的关系(Relation)的值可以是用户自定义的亲戚、朋友、网友等等的社会关系。
表User:
用户(User) | 密码(Password) | 权限(Popedom) |
用户本人(即管理员) | (根据需要设置密码) | 所有权限 |
普通用户 | NULL | 只读和查询 |
主键
无
外键
无
约束
密码(Password)可以根据用户本人的需要来设置,是加密或是“NULL”。
加密的相应操作必须进行验证。
系统日志:
记录数据库进行的每一步操作,防止误操作或意外错误造成不可逆的损失
表名:SystemLog
字段名 | 字段代码 | 类型 | 允许 为空 | 码 键 | 默认值 | 其他属性 |
索引 | ID | Int | N | 主码 |
| auto_increment |
操作时间 | CreateDate | Datatime | N |
|
|
|
操作类型 | OperateSummary | Nvarchar(50) | Y |
|
|
|
操作描述 | Description | Nvarchar(256) | Y |
|
|
|
备注 | Memo | Nvarchar(256) | Y |
|
|
|
4.流程逻辑图
5.接口
5.1 用户接口
5.1.1用户界面
在用户界面部分,根据需求分析的结果,为方便使用者查询、修改、添加分组、删除等操作。在界面设计上,需做到简单明了,易于操作,并且要注意到界面的布局,突出地显示各种重要信息以及错误提示。外观上也要做到合理化,考虑到使用者的实际需求。在设计语言上,已决定使用JAVA以及相关设计语言进行编程。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。
5.1.2软件接口
用户界面使用已封装的逻辑中间层通过JDBC调用SQL SERVER 2000 数据库接口以及编写好的存储过程,进行数据库的所有访问。
5.2内部接口
内部接口方面,各模块之间采用方法调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
6.测试阶段
6.1测试目标
l 此系统应实现《通讯簿管理系统需求说明书》的所描述的全部功能。
l 确保系统满足系统所要求的性能
l 确保系统在所要求的软硬平台上正常运行
l 强度测试下应用程序能够处理所要求的负载
6.2测试资源
6.2.1测试依据
该管理系统设计过程中所涉及的各种文档。
6.2.2测试工具
本次测试主要采用手工测试,采用错误登记表ERRTEST。
6.2.3测试环境
系统采用单机体系结构
软件环境: Windows 2000 SQLServer(2000)版本
硬件环境: 计算机硬件:内存 512M; CPU (Pentium2.0GHz)及以上,硬盘 80G及以上
注: 系统测试阶段,将降低测试机器的硬件配置努力达到实际基层的最低配置,以使本软件适应基层的要求.
6.3测试策略
6.3.1功能测试
l 功能测试:主要对提交的功能模块是否具有《需求分析说明书》所具有的全部功能的测试和验证,是否达到《开发计划说明书》所描述的功能要求;
l 界面测试:主要对提交的功能模块验证是否与开发提交的界面详细设计文档一致,界面上是否存在易用性的问题,代码中是否有对数据有效性的验证,界面上的对象(例如窗口、菜单等)是否存在缺陷等测试。
6.3.2系统测试
l 数据流测试: 主要按照系统测试数据流测试所定义的流程进行测试,保证 数据在模块间传递的准确性,主角状态的确定性;将并发测试作为一个重点;
l 信息安全性测试:主要是在修改和删除模块中的密码测试。
7.尚未解决的问题:
l 使用JDBC进行数据库连接问题。
l 界面的代码实现问题。
l 各部分性能及代码的优化问题。
(未完待续)