基于C/S结构的JAVA聊天室系统
需求分析说明书
[V1.0(版本号)]
拟 制 人______________________ 审 核 人______________________ 批 准 人______________________
[二零零六年四月十二日]
需求说明书
1.引言
1.1编写的目的
JAVA以网络编程的优势著称于世,本系统就是一个基于C/S结构的聊天室系统,其目的就是帮助在线客户创造一个交流的平台,以友好,迅速的用户界面为载体,从而实现多人聊天和单人聊天功能,该说明书仅供项目研发小组领导及项目设计开发小组成员参阅。
.
1.2背景
a.待开发的系统的名称定义为:基于C/S结构的JAVA聊天室系统;
b.本项目的任务提出者为该项目的项目经理、开发者为该项目的项目小组成员、用户为所有在线客户;
c.该系统同腾讯QQ无任何相互来往关系。
1.3定义
与系统有关的术语及解释:
TCP/IP:传输控制协议/网间协议
HTTP:超文本传输协议
Socket-based communication:基于Socket的通信方式 Stream Socket:流Socket Datagram Socket:数据包Socket TCP:传输控制协议 UDP:数据包协议
1.4参考资料
《软件工程导论》 张海藩 编著 清华大学出版社; 《数据库原理及技术》 刘方鑫 编著 电子工业出报社; 《TCP/IP协议族》 Behrouz A.Forouzan,Sophia Chung Fegan著 清华大学出版社; 《JAVA编程案例精解》 孙印杰 刘斌 孙玉强 编著 电子工业出报社; 《JAVA从入门到精通》 (美)vanhelsuwe等著 电子工业出报社,1997; 《JAVA编程与实例》 (美)lalani,jamsa著 电子工业出报社,1997;
2.任务概述
2.1目标
本软件旨在为所有在线客户提供一个更方便,更快捷,更友好相互交流的空间,通过应用此系统,用户可以切身体会到该系统的易用,实用,以及操作起来简捷方便。因为本系统是面对所有在线客户,所以只要注册,登录就可使用,无须其他任何设置。再次声明本系统与腾讯QQ及任何聊天室系统无任何相互来往关系。
2.2用户的特点
使用本系统的用户非常之广泛,该系统简单,易学,适合任何具备阅读能力的用户。 本系统操作人员,维护人员皆具备大学本科学历且精通JAVA技术,部分人员具备JAVA工程师级别认证。
预计本系统使用频度为中等偏高。
2.3假定和约束
考虑到该软件系统的大众化,因而应注意软件的可移植性,同时因本软件的代码公开,客户不可以在线发送信用卡帐号及密码,否则后果自负,所以因注意安全性防范工作。
3.需求规定
3.1对功能的规定
3.1.1首先,该聊天系统采用C/S架构,由服务器和客户端组成。
.聊天室服务器必须具备以下功能:
(1)启动服务,建立侦听并验证,接受客户端连接。 (2)接收,分析,转发聊天信息。
(3)向客户端发送系统信息。
(4)关闭服务,并向客户端发送服务器关闭信息。
为实现以上4个聊天服务器功能,需要建立以下4个类:
(1)用户信息链表类:该类提供一个链表数据结构及对一组链表的操作函数,用于保存登录用户信息;它提供了链表的添加,删除,查找等基本功能。
(2)服务器主框架类:主框架类不仅提供了服务器的人机交互界面,而且在其中实现了服务器的启动和关闭以及服务器系统消息的发送功能。
(3)服务器侦听线程类:该类的父类是Thread类,它负责侦听客户端的连接,并实现验证及响应用户登录功能。
(4)服务器接收线程类:接收线程类的父类是Thread类,它负责接收客户端的信息,并且对信息类型作出判断和相应的响应。比如,当它收到客户端下线信息,就会调用响应的函数,响应用户下线请求。
.聊天室客户端必须具备以下功能:
(1)连接服务器,发送用户登录请求。 (2)向服务器发送聊天信息。 (3)接收服务器转发的聊天信息。 (4)接收服务器发送的系统信息。 (5)响应服务器关闭通知信息。
为实现以上5个功能,需要建立以下两个类:
(1)客户端主框架类:客户端主框架类除了完成与用户的交互作用外,它还实现了用户的登录与下线功能,以及聊天信息的发送功能。
(2)客户端接收线程类:接收线程类的父类为Thread类,在该类中实现了信息接收的功能。该线程一经启动,就一直处于接收信息的状态,直到用户下线或服务器关闭。其中响应服务器关闭的功能也是在接收线程类中实现的。
.该系统稳定性强,容量庞大,支持的终端数量较多,并行用户响应较快。 3.1.2系统E-R图
分层图2
3.2 对性能的规定
3.2.1精度
该系统输入、输出数据精度的要求为:
所有用户用户名必须为字母,数字和下划线组成。
密码必须是ACCESS所支持的格式,可以是文本也可以是数字。 所有发送消息类型可以是任何文本及数字或者图片。
3.2.2时间特性要求
该系统的时间特性要求为:
由于系统容量较大,并行用户较多,所以对系统响应速度提出了更高的要求,本系统的响应时间最多为6秒。
3.2.3灵活性
该系统的灵活性的要求为:
当系统繁忙时,会发送“系统繁忙”的信息,这样用户可以暂停发送信息,从而缓解系统压力,该系统对这些变化的适应能力较强。
3.3输入输出要求
本系统中涉及到的用户数据信息如下:
用户名:字母,数字和下划线组成(6-20位) 性别:男/女
密码:文本也可以是数字(6-40位) 邮编:数字(6-15位)
Email: 字母,数字和下划线组成(6-40位) 地址:汉字,字母或数字(6-40位)
3.4数据管理能力要求(针对软件系统)
本系统要管理的数据报表有两张: 1. 管理员表
2. 用户表
管理员报表增长速度不会很快,管理不必太频繁。
用户表的增长速度是非常快的,所以要经常加以管理及更新,以免发生数据冗余等造成系统性能降低。
3.5故障处理要求
使用本系统正常情况下不会出错。若运行时遇到不可恢复的系统错误时,也应保证数据库的完整性;遇到系统阻塞,可以重启系统;遇到硬件如硬盘故障时,要留有备份文件;遇到逻辑故障时系统会自动提醒,如非法字符输入等。
3.6其他专门要求
保密性:要求提供用户身份验证,只允许通过身份验证的用户使用该系统;对于服务器,也只有验证通过的管理员可登录。
可靠性;该系统应具有良好的稳定性。
易用性:该软件系统界面应符合目前最流行的界面规范,简单,易用。
可移植性:本系统是用JAVA编写,先天就具有良好的移植性,可在不同的操作系统间运行。
3.7 运行环境的规定
3.7.1设备
3.7.1.1 cpu型号及内存容量
P2或更高,或笔记本电脑。 内存容量:3MB以上。 磁盘空间:5MB以上。 3.7.2 输入/输出设备的型号及数量
.数据采集时,采用键盘和鼠标直接输入 .所需各项设备数量均为1,型号不限。
3.8支持软件
.中文/英文 windows 98/2000/xp
.该系统采用JDBC-ODBC桥接驱动-ACCESS数据库
3.9控制
该系统信息来源键盘与鼠标
基于C/S结构的JAVA聊天室系统
需求分析说明书
[V1.0(版本号)]
拟 制 人______________________ 审 核 人______________________ 批 准 人______________________
[二零零六年四月十二日]
需求说明书
1.引言
1.1编写的目的
JAVA以网络编程的优势著称于世,本系统就是一个基于C/S结构的聊天室系统,其目的就是帮助在线客户创造一个交流的平台,以友好,迅速的用户界面为载体,从而实现多人聊天和单人聊天功能,该说明书仅供项目研发小组领导及项目设计开发小组成员参阅。
.
1.2背景
a.待开发的系统的名称定义为:基于C/S结构的JAVA聊天室系统;
b.本项目的任务提出者为该项目的项目经理、开发者为该项目的项目小组成员、用户为所有在线客户;
c.该系统同腾讯QQ无任何相互来往关系。
1.3定义
与系统有关的术语及解释:
TCP/IP:传输控制协议/网间协议
HTTP:超文本传输协议
Socket-based communication:基于Socket的通信方式 Stream Socket:流Socket Datagram Socket:数据包Socket TCP:传输控制协议 UDP:数据包协议
1.4参考资料
《软件工程导论》 张海藩 编著 清华大学出版社; 《数据库原理及技术》 刘方鑫 编著 电子工业出报社; 《TCP/IP协议族》 Behrouz A.Forouzan,Sophia Chung Fegan著 清华大学出版社; 《JAVA编程案例精解》 孙印杰 刘斌 孙玉强 编著 电子工业出报社; 《JAVA从入门到精通》 (美)vanhelsuwe等著 电子工业出报社,1997; 《JAVA编程与实例》 (美)lalani,jamsa著 电子工业出报社,1997;
2.任务概述
2.1目标
本软件旨在为所有在线客户提供一个更方便,更快捷,更友好相互交流的空间,通过应用此系统,用户可以切身体会到该系统的易用,实用,以及操作起来简捷方便。因为本系统是面对所有在线客户,所以只要注册,登录就可使用,无须其他任何设置。再次声明本系统与腾讯QQ及任何聊天室系统无任何相互来往关系。
2.2用户的特点
使用本系统的用户非常之广泛,该系统简单,易学,适合任何具备阅读能力的用户。 本系统操作人员,维护人员皆具备大学本科学历且精通JAVA技术,部分人员具备JAVA工程师级别认证。
预计本系统使用频度为中等偏高。
2.3假定和约束
考虑到该软件系统的大众化,因而应注意软件的可移植性,同时因本软件的代码公开,客户不可以在线发送信用卡帐号及密码,否则后果自负,所以因注意安全性防范工作。
3.需求规定
3.1对功能的规定
3.1.1首先,该聊天系统采用C/S架构,由服务器和客户端组成。
.聊天室服务器必须具备以下功能:
(1)启动服务,建立侦听并验证,接受客户端连接。 (2)接收,分析,转发聊天信息。
(3)向客户端发送系统信息。
(4)关闭服务,并向客户端发送服务器关闭信息。
为实现以上4个聊天服务器功能,需要建立以下4个类:
(1)用户信息链表类:该类提供一个链表数据结构及对一组链表的操作函数,用于保存登录用户信息;它提供了链表的添加,删除,查找等基本功能。
(2)服务器主框架类:主框架类不仅提供了服务器的人机交互界面,而且在其中实现了服务器的启动和关闭以及服务器系统消息的发送功能。
(3)服务器侦听线程类:该类的父类是Thread类,它负责侦听客户端的连接,并实现验证及响应用户登录功能。
(4)服务器接收线程类:接收线程类的父类是Thread类,它负责接收客户端的信息,并且对信息类型作出判断和相应的响应。比如,当它收到客户端下线信息,就会调用响应的函数,响应用户下线请求。
.聊天室客户端必须具备以下功能:
(1)连接服务器,发送用户登录请求。 (2)向服务器发送聊天信息。 (3)接收服务器转发的聊天信息。 (4)接收服务器发送的系统信息。 (5)响应服务器关闭通知信息。
为实现以上5个功能,需要建立以下两个类:
(1)客户端主框架类:客户端主框架类除了完成与用户的交互作用外,它还实现了用户的登录与下线功能,以及聊天信息的发送功能。
(2)客户端接收线程类:接收线程类的父类为Thread类,在该类中实现了信息接收的功能。该线程一经启动,就一直处于接收信息的状态,直到用户下线或服务器关闭。其中响应服务器关闭的功能也是在接收线程类中实现的。
.该系统稳定性强,容量庞大,支持的终端数量较多,并行用户响应较快。 3.1.2系统E-R图
分层图2
3.2 对性能的规定
3.2.1精度
该系统输入、输出数据精度的要求为:
所有用户用户名必须为字母,数字和下划线组成。
密码必须是ACCESS所支持的格式,可以是文本也可以是数字。 所有发送消息类型可以是任何文本及数字或者图片。
3.2.2时间特性要求
该系统的时间特性要求为:
由于系统容量较大,并行用户较多,所以对系统响应速度提出了更高的要求,本系统的响应时间最多为6秒。
3.2.3灵活性
该系统的灵活性的要求为:
当系统繁忙时,会发送“系统繁忙”的信息,这样用户可以暂停发送信息,从而缓解系统压力,该系统对这些变化的适应能力较强。
3.3输入输出要求
本系统中涉及到的用户数据信息如下:
用户名:字母,数字和下划线组成(6-20位) 性别:男/女
密码:文本也可以是数字(6-40位) 邮编:数字(6-15位)
Email: 字母,数字和下划线组成(6-40位) 地址:汉字,字母或数字(6-40位)
3.4数据管理能力要求(针对软件系统)
本系统要管理的数据报表有两张: 1. 管理员表
2. 用户表
管理员报表增长速度不会很快,管理不必太频繁。
用户表的增长速度是非常快的,所以要经常加以管理及更新,以免发生数据冗余等造成系统性能降低。
3.5故障处理要求
使用本系统正常情况下不会出错。若运行时遇到不可恢复的系统错误时,也应保证数据库的完整性;遇到系统阻塞,可以重启系统;遇到硬件如硬盘故障时,要留有备份文件;遇到逻辑故障时系统会自动提醒,如非法字符输入等。
3.6其他专门要求
保密性:要求提供用户身份验证,只允许通过身份验证的用户使用该系统;对于服务器,也只有验证通过的管理员可登录。
可靠性;该系统应具有良好的稳定性。
易用性:该软件系统界面应符合目前最流行的界面规范,简单,易用。
可移植性:本系统是用JAVA编写,先天就具有良好的移植性,可在不同的操作系统间运行。
3.7 运行环境的规定
3.7.1设备
3.7.1.1 cpu型号及内存容量
P2或更高,或笔记本电脑。 内存容量:3MB以上。 磁盘空间:5MB以上。 3.7.2 输入/输出设备的型号及数量
.数据采集时,采用键盘和鼠标直接输入 .所需各项设备数量均为1,型号不限。
3.8支持软件
.中文/英文 windows 98/2000/xp
.该系统采用JDBC-ODBC桥接驱动-ACCESS数据库
3.9控制
该系统信息来源键盘与鼠标