Q系统详细设计报告解析.docx
- 文档编号:25089680
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:98
- 大小:2.24MB
Q系统详细设计报告解析.docx
《Q系统详细设计报告解析.docx》由会员分享,可在线阅读,更多相关《Q系统详细设计报告解析.docx(98页珍藏版)》请在冰豆网上搜索。
Q系统详细设计报告解析
1
详细设计说明书
1、 引言:
1、1 编写目的:
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设
计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之
间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对
在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以
把这个描述直接翻译成用具体的 程序语言书写的程序。
主要的工作有:
根据在
《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计
说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、
逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、
接口等等)
在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力
作到让用户易懂易学。
《测试报告》和《维护报告》也将参考本说明书,
检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可
靠、便于维护的机票预定系统交到用户手中。
1、2 项目背景:
在本即时聊天工具项目的前一阶段,也就是需求分析阶段,已经将系统用户
对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对不同用户所提
出的不同功能,实现的各种效果做了调研工作,并在需求规格说明书中得到详尽得
叙述及阐明。
本 飞 Q 即时聊天系统项目主要由两部分形成:
1、客户端;
2、数据库服务器端;
1
2
1、3 文中特殊的定义和缩写:
1.3.1 定义
SQL SERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
1.3.2 缩写
系统:
若未特别指出,统指本机票预定系统。
SQL:
Structured Query Language(结构化查询语言)。
ATM:
Asynchronous Transfer Mode (异步传输模式)。
1、4 参考资料:
1. 以下列出在概要设计过程中所使用到的有关资料:
2. 需求规格说明书飞 Q 软件开发小组
3.概要设计说明书
飞 Q 软件开发小组
4. 用户操作手册(初稿)飞 Q 软件开发小组
5. 软件工程及其应用周苏、王文等天津科学技术出版社
6. 软件工程张海藩清华大学出版社
7. Computer NetworkA.S.TanenbaunPrentice Hall
8.网络上的资料
文档所采用的标准是参照《软件工程导论》沈美明著 的“计算机软件开
发文档编写指南”。
2
3
2.总体设计:
2、1 需求概要:
应广大用户的要求,要求做一个性能更高更人性化的即使聊天工具,我飞 Q
软件设计小组努力为大家写一个更好的即时聊天工具。
飞 Q2012 聊天系统的总目标是:
在计算机网络,数据库和先进的开发平台上,
利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易
维护的、具有良好人机交互界面的飞 Q2012 聊天系统,实现添加好友,删除好友,
相互聊天系统,为人们聊天提供准确、精细、迅速的信息。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用 Client/Server
结构,将飞 Q2012 聊天系统划分为两个子系统:
客户端子系统,服务器端子系统。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机
的界面要单明了,易于操作,服务器程序利于维护。
2、2 软件结构:
各模块之间的关系已由概要设计给出
下面介绍详细的设计
1 登陆模块
3
4
登录
找回密码
进入找回密码
界面
输入错误
输入飞Q帐
号和密码
输入格式是否正确
正确
点击登录
申请帐号
进入申请界面
密码正确?
密码正确
进入飞Q聊天
主界面
结束
密码错误
登录失败
2 申请模块
4
5
开始
输入基本
信息
N
点击新用户注
册
信息是否完整
Y
显示已申请的
QQ帐号,密码
点击登录
进入QQ登
陆界面
结束
3 安全模块
5
6
开始
点击安全概述点击修改密码点击常见欺骗点击修改密保
常见欺诈
立即完成是否设置密保
Y
N
是否设置密保
Y
N
判断安全状况
输入验证密保
设置密保
输入原密保问题 输入密保问题
隐患危险
N
N
修
改
密
码
修
改
密
保
密保是否正确
Y
密保问题是否正确
Y
提交
提交
提交
输入新密保
提交
良好
结束
6
7
4 聊天模块
聊天窗口1聊天窗口2
窗口1
窗口2
发送
发送
信息转换站
窗口2
窗口1
信息转换站
服务器端:
1、申请模块
7
8
启动线程
将可申请帐号预读
到内存中
等待用户申请
。
。
。
返回继续监听
客户端
用户请求
返回申请到的QQ启动线程
调用子
线程
次数过多
人的基本信息档案
此ip是否申请次数过多
取出一个可申请的
结束
c
2、登录模块
8
9
启动线程
将密码预读到内存
中
等待用户申请
客户端
用户请求
。
。
。
返回继续监听
该帐号另一客户端
返回申请到的QQ启动线程
重复
则发送
调用子
线程
终止命令
密码错误
判断是否是重复登录
不重复
判断密码是否正确
给其他好友发送登
录信息、读取系统
消息
读取系统消息
所以在线好友
返回申请到的QQ
返回用户的好友列
表
结束
读取好友列表
数据库
3、添加好友模块
9
启动接收添加好友
同意与否信息线程
等待用户
。
。
。
10
返回继续监听
客户端
发送同意与否信息
不同意
启动子线程
调用子
线程
读取同意与否信息
同意否?
同意写入数据库
数据库
客户端
同意信息
子线程结束
10
启动接收添加好友
请求线程
等待用户申请
。
。
。
11
返回继续监听
客户端
用户请求
不允许任何人加入
需要验证
启动子线程
调用子
线程
判断要添加的用户的添加权限 允许任何人加入
数据库
结束
11
启动接收添加好友
验证线程
等待用户申请
。
。
。
12
返回继续监听
客户端
用户请求
启动子线程
调用子
线程
读取验证信息
判断要添加的用户是否在线不在线
数据库
发送同意与否
在线
子线程结束
要添加的用户
同意的同时数据库相应添加
4、删除好友模块
12
启动删除好友请求
线程
等待用户请求
。
。
。
13
返回继续监听
客户端
用户请求
删除成功
启动子线程
调用子
线程
读取要删除的人
在双方数据库中删除对方 数据库
发送刷新界面命令
另一客户端
结束
5 修改好友昵称模块
13
启动修改好友昵称
请求线程
等待用户请求
。
。
。
14
返回继续监听
客户端
用户请求
启动子线程
调用子
线程
读取要修改的人
在数据库中修改数据 数据库
结束
6、查找用户模块
14
15
启动查找用户请求
线程
等待用户请求
。
。
。
返回继续监听
客户端
返回结果列表
用户请求
启动子线程
调用子
线程
读取要删除的人
判断是精确查找还是按条件
按条件
精确
构造SQL语句 构造SQL语句
数据库
构造搜索结果列表返回结果
结束
7、安全模块
7.1、设置密保模块
15
16
启动监听用户设置
密保请求线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
返回成功信息
启动子线程
调用子
线程
读取此用户的信
息,及密保设置信
息
构造SQL语句
写入数据库
数据库
写入数据库完成后
结束
7.2、判断是否设置密保模块
16
17
启动监听用户请求
线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
没有设置密保
启动子线程
调用子
线程
判断是否设置密保
读取密保问题
返回密保问题信息
数据库
得到该用户密保问
题
结束
7.3、判断密保答案是否正确模块
17
18
启动接收用户密保
答案线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
启动子线程
错误
调用子
线程
获得密保答案
判断密保答案是否正确
读取密保问题及答案
返回数据
数据库
返回正确信息
子线程结束
7.4、修改密保模块
18
19
启动接收用户密保
答案线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
启动子线程
错误
调用子
线程
获得密保答案
判断密保答案是否正确
读取密保问题及答案
返回数据
数据库
返回正确信息
子线程结束
7.5、修改密码模块
19
20
启动接收用户重设
密码线程
等待用户请求
。
。
。
返回继续监听
客户端
返回成功信息
用户请求
调用子
线程
启动子线程
读取密码信息
重设密码 在数据库中重写此用户密码
数据库
子线程结束
7.6、找回密码
20
启动监听用户请求
线程
等待用户请求
。
。
。
21
返回继续监听
客户端
用户请求
没有设置密保
启动子线程
调用子
线程
读取密保问题
判断是否设置密保
旧密码不正确
判断旧密码是否正确
返回重设成功信息
数据库
重设密码
写入数据库
子线程结束
8、移动好友模块
21
22
启动移动好友昵称
请求线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
启动子线程
调用子
线程
读取基本信息
在数据库中修改数据 数据库
结束
9、组操作模块
22
23
启动组操作请求线
程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
启动子线程
调用子
线程
读取基本信息
判断是对组的什么
操作
赠加组删除组修改组的名称
生成SQL语句
结束
在数据库中修改数据 数据库
10、发送系统消息模块
23
服务器线程产生的不通的发送消息要求
用户1用户2
用户3用户4
。
。
。
11、更新个人信息模块
启动修改个人信息
请求线程
等待用户请求
24
开始
判断是发哪种类型
的系统消息
给相应的用户发送
相应的系统消息
结束
。
。
。
返回继续监听
客户端
用户请求
启动子线程
调用子
线程
读取信息
生成SQL语句
结束
在数据库中修改数据 数据库
12、请求 ipPort 模块
24
25
启动修改个人信息
请求线程
等待用户请求
。
。
。
返回继续监听
客户端
用户请求
返回此人ip和chatport
返回不在线信息
13 、心跳模块
13.1、用户心跳接收处理模块
启动子线程
调用子
线程
读取信息
读取ip和port
判断ipport是否为空
结束
读取另一用户ip和port
Hashmap
25
26
启动修改个人信息
请求线程
等待用户请求
。
。
。
返回继续监听
客户端
返回此人ip和chatport
返回不在线信息
用户请求
启动子线程
调用子
线程
读取信息
读取ip和port
判断ipport是否为空
结束
读取另一用户ip和port
Hashmap
13.2、服务器定时检测超时模块
26
27
启动循环检测用户
是否在线的线程
得到hashmap中的
一个用户
是否超时?
否
得到hashmap中的
下一个用户
是 推拉检测模块
13.3、服务器推拉检测在线模块
27
28
启动循环检测用户
是否在线的线程
客户端
是否在线
我在线
向用户询问
是否在限定时
间得到用户客
户端响应
是
更新记录接收用户
心跳时刻的
hashmap
从记录接收用户状
态的hashmap删除
此用户
否
从记录接收用户在
线信息的hashmap
删除此用户
在数据库中相应修改
从记录接收用户心
跳时刻的hashmap
删除此用户
数据库
此线程结束
14、添加可利用飞 Q 号
28
29
开始
否
读取数据库中可申
请的帐号数
判断数量是否过少
是
添加一些可利用的
帐号
添加到内存中的可
申请帐号arraylist中
Sleep 一小时
否
3、程序描述:
客户端总模块:
29
30
1 登陆模块
1 登录过程
对在飞 Q 登录信息界面中输入的各项信息进行初步检验。
若发现错误,输入数据全
部清空,以让用户重新输入一次。
若未发现错误,转入主界面。
其中的错误种类有:
1.输入数据不匹配
帐号数据库没有该帐号
密码与对应账号的密码不匹配
2 输入数据不能为空
if (账号为空)
{
请输入账号再登陆
}
else if (账号长度小于6或对于20)
{
请输入正确的账号,账号可以位数字或Email地址。
}
else if (密码为空)
{
请输入密码后再登陆
}
else
{
通知服务器 账号为:
xxx 密码为:
xxx的请求登陆
}
2 申请过程
对之前没有申请飞 Q 的用户,不能登录飞 Q,而必须点击申请,成为飞 Q 大家庭
的一员。
点击之后转入申请界面
3寻找忘记密码过程
对之前申请飞 Q 的用户,如果忘记密码,请不要担心,点击界面上的“忘记密
码”,
点击之后转入寻找密码界面
30
31
2 申请模块
对在飞 Q 申请信息界面中输入的各项信息进行账号申请。
若发现错误,输入数据全
部清空,以让用户重新输入一次。
若未发现错误,转入账号申请成功界面。
if (昵称为空)
{
请输入昵称
}
else if (密码格式错误(小于6或大于20))
{
密码必须6-20个字符!
密码框清空,重新输入
}
else if (两次密码输入不匹配)
{
两次密码输入不一致
密码框清空,重新输入
}
else
{
获取注册信息
点击新用户注册,向服务器传输注册信息
}
31
32
3 增删改查模块
3.1 查找好友模块
对在飞 Q 查找好友界面中选择查找类型(精确查找或条件查找),输入各项查找信
息进行好友查找。
若发现错误,输入数据全部清空,以让用户重新输入一次。
若未
发现错误,转入查找结果界面。
在查找结果界面中选择要添加的好友,双击,查看
该好友的详细资料,点击添加,转入好友信息验证界面。
在好友信息界面,输入验
证信息,完成好友的添加。
Search 类
if (查找联系人)
{
if (精确查找)
{
if (查询条件为空)
{
请至少填一个查询条件
}
else
{
获取查找信息
点击查找把查找信息传递给服务器
}
}
else if (条件查找)
{
获取查找信息
点击查找把查找信息传递给服务器
}
Search_rasult 类
if(点击添加好友)
{
if(添加好友选择的是自己)
32
33
{
对不起,自己不能加自己为好友!
重新选择
}
else
{
把选择的好友发送给服务器
}
}
else if(关闭)
{
放弃添加为好友
}
Addfriends 类
if (确定添加为好友)
{
把选择的好友信息发送给服务器
}
else if (取消)
{
放弃添加为好友
}
3.2 删除好友模块
找到你要删除的对象所在的用户组,展开,找到该用户,右击,点击好友删除,然
后刷新好友列表;
3.3.3 修改个人资料模块
点击自己头像,转入个人资料界面,更新你所需要的信息选项;确定更新点击确定,
如果不想更新,点击取消即可;
更改头像:
点击更换头像,即可转入更换头像界面,界面中陈列了各种头像,点击
你想要的头像,即可显示该头像的不同样式,一供你参考。
思考之后确实想更换,
点击确定,立刻刷新所有界面,确保头像更换。
如果不想更换,点击取消即可。
3.4 好友移动模块
33
34
找到你要移动的对象所在的用户组,展开,找到该用户,右击,点击移动,在弹出
框中选择移动的组对象,向服务器发送相应的数据,然后刷新好友列表;
3.5 组操作模块
<1> 修改
找到你要修改的用户组,右击点击重命名,向服务器发送该账号的修改组信息,
刷新好友列表,即可看见修改成果.
<2> 删除
找到你要删除用户组,展开,右击,点击删除分组,向服务器发送该账号的删除组
信息,然后刷新好友列表;
如果,要删除的是默认分组“我的好友”,系统不提供删除权限。
<3> 添加
在好友列表中右击,点击添加分组,输入分组名,点击确定,向服务器发送该账号
的组信息,不想添加,点击取消。
4 安全模块
对在飞 Q 安全界面中,分为“安全概述”,“常见欺诈”,“修改密码”,“修改
密保”;
<1> 安全概述
安全概述 概述了你当前飞 Q 的安全状况
if (设置密保并且密码等级为良好以上)
{
安全状况良好请继续保持良好的习惯
可立即完成设置密码
}
else if (设置密保并且密码等级为中等以下)
{
安全状况存在隐患请定期修改密码
立即完成设置密码
}
else
{
安全状况危险请立刻设置密保问题
立即完成设置密保
}
<2> 常见欺诈
常见的集中欺诈方式:
钓鱼网址,视频欺诈,中奖欺诈,冒充好友欺诈;
34
35
<3> 修改密码
修改密码之前请确保设置密保;
如果没有设置密保问题,请先设置密保问题,以确保该账户的安全性。
如果设置了
密保问题,请先输入原密保问题,核对用户身份。
密保正确才可以修改,如果错误,
对不起,不能修改密码。
if(三个密保问题有空)
{
对不起,密保问题回答不能为空!
没填写的须不完整
}
else
{
向服务器获取对应密保问题的答案
If(回答错误)
{
提示:
对不起,密保问题回答不能正确
全部清空,重新输入
}
else
{
修改密码
输入旧密码
if (输入的旧密码正确)
{
if (新密码为空)
{
提示:
密码不能为空
}
else if (两次密码输入不一致)
{
提示:
两次密码输入不一致
}
else if (两次密码输入一致并且不空)
{
向服务器发送该账号的新密码
}
}
else
35
36
{
提示:
密码有误,请重新输入
}
}
}
<4> 修改密保
如果没有设置密保问题,设置密保问题。
如果设置了密保问题,请先输入原密保问题,核对用户身份。
密保正确才可以修改,
如果错误,对不起,不能修改密保。
if(没有设置密保)
{
选择密保问题回答
If(选择的密保问题重复)
{
提示:
选择的密保问题重复
重新选择密保问题
}
Elseif(修改密保时验证密保问题为空)
{
提示:
修改密保时验证密保问题为空
}
Else
{
服务器发送该账号的新密保问题和新密保问题对应的答案
}
}
else
{
已经设置设置密保
向服务器获取对应密保问题的答案
输入密保问题答案(用户)
If(回答错误)
{
提示:
对不起,密保问题回答不能正确
全部清空,重新输入
}
else
{
修改密保
选择密保问题回答
36
37
If(选择的密保问题重复)
{
提示:
选择的密保问题重复
重新选择密保问题
}
Elseif(修改密保时验证密保问题为空)
{
提示:
修改密保时验证密保问题为空
}
Else
{
服务器发送该账号的新密保问题和新密保问题对应的答案
}
}
}
5 聊天模块
所有的聊天窗口的即时聊天信息 只要点击发送,聊天信息会发送到服务器中
信息中转站中;在信息中转站中判断该发送的对象,再由服务器发送给对。
服务器模块:
1、申请模块
将用户发送过来的申请信息写入临时变量对象中并存入数据库中
在数据库中建立如下信息
在 main 数据库的各表中插入申请的号码
在 users 数据库中建立该帐号的档案,包括好友列表、添加好友验证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 详细 设计 报告 解析