聊天系统
项目概要设计说明书
目录
一、引言 (3)
1.1编写目的 (3)
1.2背景 (3)
1.3参考资料 (4)
二、需求分析 (4)
2.1、系统名称 (5)
2.2、任务概述 (5)
2.3、系统功能 (5)
2.4、系统功能详述 (6)
三、总体设计 (7)
3.1、系统的名称和目标 (7)
3.2、系统总体结构图 (7)
3.3、数据库设计 (7)
3.4、运行环境 (8)
3.5、软件总体架构设计 (8)
四、项目开发进度 (9)
五、出错处理及安全保密设计 (10)
六、维护设计 (10)
一、引言
1.1编写目的
为了进一步明确软件需求、安排项目规划与进度、组织软件开发功能的细化,在考虑了几种可能的解决方案,并与程序员进行了较为深入地探讨和分析之后,提出了这份需求设计说明书。
此需求设计说明书对《聊天室》网站的解决方案、数据描述、功能需求、性能需求运行需求等方面作了全面的概括性的说明,为该网站的概要设计奠定了基础。
可行性分析:可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
伴随着信息的高速化发展,网页逐渐融入人们的生活,快速及时的信息浏览,五彩缤纷的网上信息,使网络与人们的信息息息相关,当今网页已经成为一种新兴的交流资源,也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。
Web聊天工具已经渐渐兴起,如今我们已经可以看到的有人人网,facebook,QQ也开始转向了网页(web QQ),所以开发基于B/S的工具更能适应当今网络信息的发展!
1.2背景
a. 待开发的软件系统的名称:
中文名称:聊天系统
英文缩写:CS
英文全称:Chatting System
b 本项目的任务提出者、开发者、用户:
项目的提出者:1314组
项目开发者:刘凤英、郭娟、任欢、刘文婷、钱林、杨锐、王善
用户:聊天人员
1.3 参考资料
《jsp应用开发详解》
《avaScript语言精粹》
《JSP大学使用教程》郝玉龙,北方交大出版
《Java程序设计》朱喜福,人民邮电出版
《JSP课程设计案例精编》季民,中国水利水电出版
《Java网络编程》冯博,清华大学出版
《JSP程序设计实用教程》朱战立,人民邮电出版
《Java开放源码编程》[美]Joe Walnes,电子工业出版
《Java程序设计基础》(美)Gary,Bronson,北京大学出版
二、需求分析
这是一个比较简单的类似web QQ的聊天室,可以在局域网内用任意一台机器做服务器,不用联网就可以实现互动聊天,私聊、群聊、留言都可以。
使用该聊天室,可以注册不同的所需的用户信息,如用户头像、个性说明等,凭用户名和密码即可登录系统。
聊天界面的栏目有在线用户列表、离线用户列表、当前用户突出显示、所有用户信息查看、修改用户信息等。
用户可在聊天界面随意选择聊天对象,实现群聊和私聊,发送内容可以是文本、表情图片,字体颜色、大小可任意更改。
点击界面低端按钮可进入用户留言窗口,可实现群留言或对指定的某个人留言。
本聊天室所实现的主要功能如下:
1.新用户注册;
2.注册时,用户信息自动保存到数据库表当中;
3.登陆界面输入用户名和密码进入聊天室;
4.聊天界面用户可以查看、修改个人信息;
5.当前用户突出显示头像;
6.在聊天室用户可随意群聊、私聊;
7.实时更新在线用户和离线用户列表;
8.安全退出聊天室。
9.用户可以在留言窗口给全体用户或特定的某个用户留言;
10.显示在线用户、离线用户、管理员登陆进行用户管理(包括用户信息修改、踢除用户);
2.1、系统名称
聊天室系统
2.2、任务概述
使用JSP和JavaBean及数据库技术相结合,编写一个聊天室系统.这个系统提供多个用户及时并发通信的平台.未注册用户可以注册成系统会员,已注册用户可以通过登录进入聊天室系统.在系统中用户可以选择公聊或者私聊,并可以发送表情、查看他人信息、修改个人信息等。
2.3、系统功能
本程序的主要模块有四个:用户注册模块,管理员管理模块,聊天模块和收发信息模块。
用户注册模块实现的是,注册一个用户以便登陆到系统,管理员管理模块实现对在用户的添加新用户,修改密码、删除用户等。
聊天控制模块是本程序的核心,具体实现基于JSP的即时聊天功能。
2.4、系统功能详述
在注册登录模块中,系统会自动判断当前用户是否已经登录,如果登录,则会返回一个“用户重复登录”的提示界面。
如果是新用户,,则直接登录系统,并把用户加入到在线用户列表中。
注册和登录是系统必不可少的一部分,因为通过学生注册,学生才可以进行在系统中进行聊天,发送信息等,当学生登录的时候,可以修改密码,修改个人信息以及查看他人信息、发送信息等。
管理员也通过登录进入到管理员界面,可以进到系统中进行聊天,发送信息对系统进行管理,对不良学生的发言可以进行阻止并踢出聊天室。
详细功能设计如图:
图1系统功能图
用户功能详述:用户如果已经注册过,则可以直接登录,若没有注册,则可以在登陆界面点击注册新用户进行免费注册。
进入聊天室主界面后,用户可以选择:公聊、私聊、查看和修改个人信息、查看他人信息等,用户还可以查看自己的聊天记录,好友给自己的留言,并给好友留言。
如果用户想退出聊天室,直接点击注销登陆即可。
管理员功能详述:管理员可以直接进入系统后台,查看所有聊天记录和所有用户信息,此外,管理员还可以修改用户信息,并添加新的用户。
如果管理员想删除某个用户,则可以选择删除用户功能。
三、总体设计
3.1、系统的名称和目标
名称:基于JPS在线聊天室的开发
目标:利用JSP技术结合其他网络技术开发一个具备网络聊天功能的JSP聊天室,包括注册,登录验证,聊天和各种信息的管理,及其他附加功能。
3.2、系统总体结构图
本系统分为四个部分,主要包括聊天模块,用户登入模块,用户注册模块,管理模块。
有添加、删除用户,修改用户信息和管理员登入等模块。
系统的总体结构如下图所示:
图2 总体结构图
3.3、数据库设计
由于本案例采用的是SQL Server 2005数据库,就需要按照SQL Server 2005的数据类型和规范把上节的逻辑设计反映成为物理设计就是创建物理表的过程,需要确定每列的数据类型、长度和约束。
另外每个字段是否可以为空,长度有没限制等均需要和具体需求对照确定。
约定数据库名字叫“Test”,具体表设计见下表:
图3 用户信息表:
3.4、运行环境
装有windows操作系统的计算机。
开发工具:
JBuilder2006;
配备SQL Server 2005数据库;
3.5、软件总体架构设计
在软件组织中,系统架构无疑是最重要的环节之一,一般认为,一个设计如果必须要求高手云集才能生产出符合质量要求的产品,并不一
定是好的架构。
架构设计有一个很重要的目标就是能够使用总体上能力
一般的队伍,通过组织和设计的力量完成复杂并且难度较大的任务。
另
一方面,由于客户方的需求变更必然会导致设计的调整而造成开发成本
倍增,同样由于系统维护难度较大导致投入再次增加,从投资回报的角
度来说,是任何人都不愿意看到的,所以必须研究系统架构,以便能够
设计出适应系统变更、维护与升级,同时要尽可能的节约成本的架构来。
在软件体系架构设计中,分层式结构是最常见,流行三层开发架构(3-tier application)的居多,也是最重要的一种结构。
微软推荐的分层式结
构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成
为领域层)、表示层。
区分层次的目的即为了“高内聚,低耦合”的思想。
图4 系统架构图四、项目开发进度
图5 聊天室开发进度表
五、出错处理及安全保密设计
本软件应充分考虑各种系统错误,避免造成数据不一致。
努力提高系统鲁棒性,避免因用户的疏忽对系统造成损坏。
可考虑实现数据备份及密码功能。
六、维护设计
作为一个产品,《聊天室》软件必须按照规范的步骤进行开发,并充分考虑软件可维护性,同时必须按时认真完成相应文档资料,以利于未来版本升级即移植等二次开发。