1314组详细设计说明书.docx
《1314组详细设计说明书.docx》由会员分享,可在线阅读,更多相关《1314组详细设计说明书.docx(27页珍藏版)》请在冰豆网上搜索。
1314组详细设计说明书
聊天系统
项目详细设计说明书
文件状态:
[]草稿
[]正式发布
[√]正在修改
文件标识:
聊天系统
当前版本:
1.0
作者:
刘凤英、任欢
完成日期:
2011-7-21
目录
1引言2
1.1编写目的2
1.2背景3
1.3定义3
1.4参考资料4
2程序系统的结构4
2.1系统总体框架4
2.2需求规定5
2.3运行环境6
3系统设计说明6
3.1程序描述6
3.2功能7
3.3性能10
4数据库设计10
5界面设计11
5.1注册功能12
5.2登录功能14
5.3进入聊天室15
5.4查看个人信息18
5.5修改个人信息19
5.6输入留言信息21
5.7查看留言信息21
5.8显示用户列表22
1引言
1.1编写目的
需求分析阶段、概要设计阶段已经完成,项目团队对项目的范围有了明确的目标,对项目的业务流程有了比较深入的了解和研究,并且已经抽象出比较形式化的逻辑模型。
详细设计阶段要在概要设计的基础上,更深刻的理解系统和业务流程,更着重于实现人员视角的模型的简历。
编写此文档的目的是为了对项目的整体架构、各个子功能模块、为满足功能要求和性能要求做全面详细的部署和设计,以便能为系统实现员工提供一个明确的、可用的实现依据和理论基础。
并为项目最后的验收和测试工作提供依据。
此文档的目的还在于与分析人员以及客户的沟通,以进一步确定开发人员对项目的理解是否切实的符合客户真正的需求。
该文档的与其读者是系统实现人员、系统测试人员,用户等。
1.2背景
a.待开发的软件系统的名称:
中文名称:
聊天系统
英文缩写:
CS
英文全称:
ChattingSystem
b本项目的任务提出者、开发者、用户:
项目的提出者:
1314组
项目开发者:
刘凤英、郭娟、任欢、刘文婷、钱林、杨锐、王善
用户:
聊天人员
1.3定义
术语
定义
BUG级别定义
致命性
数据被破坏、数据丢失、系统崩溃、系统无法运行
严重性
处理结果不正确、流程不对、性能不能满足要求
一般性
操作不方便、界面布局不合理,难以理解
建议性
界面重构、描述更改、流程改进
优先级别定义
一级
功能未实现、数据丢失、和需求规格说明书不一致
二级
不兼容、系统报非友好错误信息、内存泄露,导致系统变慢
三级
UI和原型不一致、长时间事务处理时,无提示、功能未完全实现,但不影响系统运行
四级
偶然性或可避免、但不影响基本功能实现
五级
对功能没有影响,产品属性可使用
用户角色定义
普通用户
使用系统进行聊天、查看、修改个人信息、添加留言信息等
根管理员
此系统的最高管理权限,具有查看、删除普通用户的权限。
1.4参考资料
1)用户需求文档。
2)初步设计文档。
2程序系统的结构
2.1系统总体框架
2.2需求规定
图一普通用户用例图
主要输入项:
a.聊天
b.修改个人信息
c.查看个人信息
d.安全退出
e.用户留言
主要输出项:
a.显示聊天输出界面、输入界面、用户在线列表
b.显示原有信息并课修改
c.显示个人信息
d.关闭聊天窗体,并退出程序
e.给以给好友留言并查看好友给自己的留言
图二管理员用例图
主要输入项:
a.查看信息
b.删除用户
c.查看日志
主要输出项:
a.输出所有用户信息
b.踢人
c.查看聊天记录
2.3运行环境
◆Java开发工具:
JBuilder2006
◆后台Web服务器:
JBuilder2006中自带的Tomcat
◆.数据库:
SQLserver2005
◆客户端操作系统:
WindowsXP
◆支持软件:
IE浏览器或其他兼容的浏览器
◆编程软件和开发工具:
JBuilder2006
3系统设计说明
3.1程序描述
本程序的目的方便用户进行及时的交流沟通,为网友提供了实时对话的渠道,是网络上极为流行的一种服务。
网友之间互相以文字交谈,在形式上类似笔友的性质,却大大节省了书信往返的时间。
3.2功能
本程序实现如下功能:
普通用户注册、用户登录、个人信息的增加、删除、修改、用户留言、用户聊天(公聊和私聊),具体用例如下:
【用例1:
用户注册】
●描述:
用户在进入聊天系统之前,如果没有注册要注册,供登录时验证用户是否非法用户
●参与者:
普通用户
●用例图:
如下
图三用户注册用例图
【用例2:
用户登录】
●描述:
用户在进入聊天系统之前,必须进行登录。
●参与者:
普通用户和管理员
●用例图:
如下
图四用户登录用例图
【用例3:
聊天】
●描述:
用户登录成功后,进入主界面,可选择聊天功能进行聊天,聊天时可以设置字体大小,颜色,字体格式,显示用户列表,发送表情等。
●参与者:
普通用户
●用例图:
如下
图五用户聊天用例图
【用例4:
查询】
●描述:
普通用户可根据用户名,查看好友的个人信息。
管理员点击查询可直接查看所有用户个人信息
●参与者:
普通用户和管理员
●用例图:
如下
图六个人信息查询用例图
【用例5:
个人信息修改】
●描述:
普通用户登录以后,可以进行修改自己的个人信息
●参与者:
普通用户
●用例图:
如下
图七个人信息修改用例图
【用例5:
用户留言】
●描述:
普通用户登录以后,可以进行修改自己的个人信息
●参与者:
普通用户
●用例图:
如下
图八用户留言用例图
【用例7:
删除】
●描述:
管理员可以踢人,及进行删除普通用户,使之被迫下线,且用户再无法再进入
●参与者:
管理员
●用例图:
如下
图九管理员删除用户用例图
3.3性能
本系统的性能要求有:
1)对精度的要求:
用户填写的信息必须准确无误,符合要求,在信息提交时都有相应的表单验证,若有不符合要求的则无法提交。
2)对灵活性的要求:
用户信息查询时候既可以按条件查找,也可以无条件查找(即查看所有的信息。
3)对时间特性的要求:
程序能够在多人并发使用的时候较快地运行,对用户的请求进行快速响应,把用户所填信息存入数据库的响应时间不超过5秒。
4数据库设计
由于本案例采用的是SQLServer2005数据库,就需要按照SQLServer2005的数据类型和规范把上节的逻辑设计反映成为物理设计就是创建物理表的过程,需要确定每列的数据类型、长度和约束。
另外每个字段是否可以为空,长度有没限制等均需要和具体需求对照确定。
约定数据库名字叫“Test”,具体表设计见下表:
表4-1用户信息表(userInfo)
序号
字段名
说明
数据类型
备注
1
userName
用户姓名
Varchar(50)
主键
2
passWord
密码
Varchar(20)
3
sex
性别
Varchar(20)
4
age
年龄
Varchar(20)
5
face
头像
Varchar(20)
表4-2Manager(管理员表)
序号
字段名
说明
数据类型
备注
1
Name
管理员用户名
Varchar(20)
2
password
密码
Varchar(20)
5界面设计
●界面设计标准
由于软件界面在整个软件生命周期内的重要作用,所以必须根据社会工程学、国家标准等相关规范,确定软件界面时要遵循一下原则:
❑布局合理,界面清洁。
❑配色合理,图像和显示效果要统一。
❑整个软件界面风格应该保持一致。
❑减少用户的操作负担,界面尽可能少的使用鼠标。
❑所有界面文字清晰明了,不易产生歧义。
●软件界面功能定义
界面
功能
相关数据
注册界面
提供注册功能,方便用户正常使
该系统。
用户名、密码、性别、年龄输入框,选择头像的按钮、注册按钮、重置按钮。
登录界面
提供登录系统的功能,用户输入用户名和密码,点击登录。
登录成功跳入主界面,否则返回到登录界面。
登录名输入框、密码输入框、登录按钮、重置按钮。
主界面
为用户提供各种功能。
功能包括:
在线聊天、查看个人信息、修改个人信息、留言、安全退出。
在线好友列表界面
显示在线好友。
所有在线用户。
查询个人信息界面
用户可以通过用户名查看个人信息。
用户名输入框,查询按钮。
修改个人信息界面
用户可以修改自己的信息。
用户名单选框,密码输入框、用户年龄输入框,用户性别输入框,用户头像,确定按钮,重置按钮。
留言界面
可以给好友留言。
留言内容输入框,确定按钮,取消按钮。
管理员登录界面
管理员输入用户名、密码登录系统。
用户名输入框、密码输入框。
查询所有用户界面
管理员可以查询所有用户的信息。
查询超链接。
删除非法用户界面
管理员可以将非法聊天的用户删除。
下拉列表(在线聊天的用户),删除按钮。
●软件界面设计及实现
5.1注册功能
任何需要使用该聊天系统的的用户,均可以免费注册成为该系统的用户,享用该系统提供的个性化服务。
该功能实现步骤:
1.打开该系统的首页
2.点击“免费注册”,正确填写表单,还可选择头像,确认信息无误后点击“注册”提交。
3.注册成功
注册的核心代码:
<%
request.setCharacterEncoding("GBK");
StringuserName=request.getParameter("userName");
Stringpassword=request.getParameter("password");
Stringsex=request.getParameter("gender");
Stringage=request.getParameter("age");
Stringfaces=request.getParameter("usrface");
DBConnectiondb=newDBConnection();
Stringsqlx="select*fromuserInfowhereuserName='"+userName+"'";
booleanb=db.executeQuery(sqlx);
db.closeAll();
if(!
b){
DBConnectiondb1=newDBConnection();
Stringsql="insertintouserInfo(userName,passWord,sex,age,face)"+
"values('"+userName+"','"+password+"','"+sex+"','"+age+"','"+faces+"')";
inti=db1.executeUpdate(sql);
db1.closeAll();
if(i>0){
response.sendRedirect("Welcome.jsp");
}else
{
response.sendRedirect("registererr.jsp");
}
}else{response.sendRedirect("register.jsp?
got=A");}
%>
5.2登录功能
注册成功后,用就可以通过用户名和密码登录该系统,享受该系统提供的服务。
该功能实现步骤:
1.在系统首页,输入用户名和密码
实现用户登录验证的程序为login2.jsp,核心代码如下:
<%
if((String)session.getAttribute("userName")!
=null){
response.sendRedirect("Frame.jsp");
}
Stringerr=request.getParameter("err");
if(err!
=null){
if(err.equals("A")){%>
您已经登录!
!
!
<%
}
elseif(err.equals("B")){
out.print("用户名和密码不匹配!
!
!
");
}
}
%>
2.点击登录,进入系统核心功能界面
5.3进入聊天室
在系统核心功能界面,点击“进入聊天室”,系统显示聊天模块
该功能实现步骤:
1.界面如下:
系统的主界面是一个框架页面Frame.jsp,定义如下:
//www.w3.org/1999/xhtml">
<%request.setCharacterEncoding("gbk");%>聊天室----<%=session.getAttribute("userName")%>