网络聊天室详细设计说明书 - 深圳信息职业技术学院


Java游戏开发课程
开发部 文档编号 版本 A1 密级 普通 项目名称 网络聊天室 项目来源 内部需求




网络聊天室详细设计说明书

编 写: 日 期: / / 检 查: 日 期: / / 审 核: 日 期: / / 批 准: 日 期: / /





深圳信息职业技术学院Java游戏开发课程组
版权所有

目 录
目 录 1
1 引言 2
1.1 编写目的 2
1.2 背景 2
1.3 参考资料 2
2 程序系统的结构 2
3 客户端模块设计说明 2
3.1 程序描述 2
3.2 功能 2
3.3 设计方法 3
3.3.1 登录聊天室服务器 3
3.3.2 接收服务器应答消息,并进行处理 3
3.3.3 向聊天室服务器发送聊天内容转发请求 3
3.3.4 离开聊天室 4
3.4 流程逻辑 4
4 服务器模块设计说明 5
4.1 程序描述 5
4.2 功能 5
4.3 设计方法 5
4.3.1 启动服务器的聊天服务 5
4.3.2 接收并处理客户端请求 5
4.3.3 处理用户离开情况 6
4.3.4 将管理员指定用户从聊天室中踢开 6
4.4 流程逻辑 7

1 引言
1.1 编写目的
本文档是为了初步明细项目功能模块,便于下一步代码实现。
预期读者:参加网络聊天室开发的学生
1.2 背景
1. 项目名称:网络聊天室
2. 提出者:Java游戏开发课程组
1.3 参考资料
1.耿祥义 张跃平编.《Java 2实训教程》.北京:清华大学出版社,2001.10
2.邵丽萍 邵光亚等编著.《Java语言程序设计》.北京:清华大学出版社,2004.8
3.网络聊天室系统需求说明书
4.网络聊天室概要设计说明书
2 程序系统的结构

图2-1系统模块结构图

3 客户端模块设计说明
3.1 程序描述
客户端模块为用户提供聊天室操作界面,用户通过客户端可以发送消息给全部或指定的其他用户,可以看到聊天内容,可以看到聊天室内有哪些用户在线。
3.2 功能
输入:用户操作
处理:
① 登录聊天室服务器;
② 根据聊天要求构造请求消息,并向服务器发送;
③ 解析服务器的应答消息,并进行相应处理。
输出:提示消息、聊天内容和聊天对象
3.3 设计方法
3.3.1 登录聊天室服务器
输入:无
① 等待用户输入用户昵称和性别;
② 判断输入合法性;
③ 通过Socket连接向服务器发送请求消息,格式为:"PEOPLE"+用户昵称+"[性别]"。
④ 等待服务器应答。
输出:登录请求消息
3.3.2 接收服务器应答消息,并进行处理
输入:应答消息
处理:
① 获取服务器应答消息;
② 解析应答消息;
③ 根据应答消息类型进行处理,应答消息类型分为:
"PEOPLE"+用户昵称+"[性别]":

登陆请求通过,用户登陆;
"MSG"+用户昵称+"[性别]"+"说:":聊天室其他客户的聊天消息;
"QUIT"+https://www.360docs.net/doc/d62780530.html,:退出聊天室;
"悄悄地对:"+消息:私密聊天;
"newlist"+用户昵称+"[性别]":刷新聊天者列表
输出:无
3.3.3 向聊天室服务器发送聊天内容转发请求
输入:聊天内容
处理:
① 检查发送消息内容是否为空;
② 向聊天室服务器发送广播请求,格式为:"MSG"+用户昵称+"[性别]"+"说:"+消息
③ 如果用户选择私聊,根据用户选择的聊天对象向服务器发送私聊请求,进入私聊对话框,格式为:"悄悄地对"+私聊对象+"说"+消息+"(我是"+用户昵称+")"。
输出:聊天内容转发请求
3.3.4 离开聊天室
输入:离开请求
处理:向服务器发送离开请求,格式为:"QUIT"
输出:无
3.4 流程逻辑

图3-1 客户端处理流程图



4 服务器模块设计说明
4.1 程序描述
接收并处理客户端的登录请求,并根据客户端的聊天请求向指定客户端转发聊天内容,同时提供聊天室用户管理和服务管理功能,该模块无界面。
4.2 功能
输入:客户端请求消息
处理:
① 启动服务器服务;
② 等待接收客户端请求;
③ 根据客户端请求类型,做不同处理;
④ 将处理结果发送给客户端。
输出:发给客户端的应答消息
4.3 设计方法
4.3.1 启动服务器的聊天服务
输入:无
处理:
① 设置服务器服务的Socket端口号;
② 启动服务器服务进程;
输出:无
4.3.2 接收并处理客户端请求
输入:无
处理:
① 获取客户端发送的请求消息;
② 解析请求消息;
③ 根据请求消息类型做不同的应答处理。
请求消息类型分为:
"PEOPLE"+用户昵称+"[性别]":新用户登陆请求;
"MSG"+用户昵称+"[性别]"+"说:":转发聊天室聊天消息;
"QUIT"+https://www.360docs.net/doc/d62780530.html,:退出聊天室;
"悄悄地对"+私聊对象+"说"+消息+"(我是"+用户昵称+")":向私密聊天对象转发聊天消息;
"newlist":刷新聊天者列表
输出:无
4.3.3 处理用户离开情况
输入:无
处理:
① 在用户列表中删除离开用户;
② 重新构造在线用户名单;
③ 向所有在线用户广播用户离开指令和在线用户名单。
输出:无
4.3.4 将管理员指定用户从聊天室中踢开
输入:无
处理:
① 判断用户聊天消息是否健康合法;
② 如果不合法,向其他聊天者发送该用户被强制退出的消息。
输出:向其他聊天者发送该用户被强制退出的消息。
4.4 流程逻辑

图4-2 服务器处理流程图




??

??

??

??

深圳信息职业技术学院 Java游戏开发课程实训




网络聊天室详细设计 内部使用 总7页 第1页




相关文档
最新文档