JAVA需求分析報告.doc
文本预览下载声明
基于C/S结构的JAVA聊天室系统
需求分析说明书
[V1.0(版本号)]
拟 制 人______________________
审 核 人______________________
批 准 人______________________
[二零零六年四月十二日]
需求说明书
1.引言
1.1编写的目的
JAVA以网络编程的优势著称于世,本系统就是一个基于C/S结构的聊天室系统,其目的就是帮助在线客户创造一个交流的平台,以友好,迅速的用户界面为载体,从而实现多人聊天和单人聊天功能,该说明书仅供项目研发小组领导及项目设计开发小组成员参阅。
.
1.2背景
待开发的系统的名称定义为:基于C/S结构的JAVA聊天室系统;
本项目的任务提出者为该项目的项目经理、开发者为该项目的项目小组成员、用户为所有在线客户;
该系统同腾讯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类,在该类中实现了信息接收的功能。该线程一经启动,就一直处于接收信息的状态,直到用户下线或服务器关闭。其
显示全部