文档编号 Java软件项目开发 课程 项目名称 项目来源
版本 A1 密级 普通 网络聊天室 内部需求 网络聊天室详细设计说明书
编 写: 检 查: 审 核: 批 准:
日 期: 日 期: 日 期: 日 期:
/ / / / / / / /
北京信息职业技术学院 计算机工程 系 0822212 班 第 5 开发小组
北京信息职业技术学院
Java软件项目开发课程
目 录
目 录 ................................................................................................................................................... 1 1
引言 ............................................................................................................................................ 2 1.1 1.2 1.3 2 3
编写目的 ............................................................................................................................ 2 背景 ................................................................................................................................... 2 参考资料 ............................................................................................................................ 2
程序系统的结构 .......................................................................................................................... 2 客户端模块设计说明 .................................................................................................................. 2 3.1 3.2 3.3
程序描述 ............................................................................................................................ 2 功能 ................................................................................................................................... 2 设计方法 ............................................................................................................................ 3 登录聊天室服务器 ......................................................................................................... 3 接收服务器应答消息,并进行处理 ................................................................................ 3 向聊天室服务器发送聊天内容转发请求 ........................................................................ 3 离开聊天室 .................................................................................................................... 4
3.3.1 3.3.2 3.3.3 3.3.4 3.4 4
流程逻辑 ............................................................................................................................ 4
服务器模块设计说明 .................................................................................................................. 5 4.1 4.2 4.3
程序描述 ............................................................................................................................ 5 功能 ................................................................................................................................... 5 设计方法 ............................................................................................................................ 5 启动服务器的聊天服务 .................................................................................................. 5 接收并处理客户端请求 .................................................................................................. 5 处理用户离开情况 ......................................................................................................... 6 将管理员指定用户从聊天室中踢开 ................................................................................ 6
4.3.1 4.3.2 4.3.3 4.3.4 4.4
流程逻辑 ............................................................................................................................ 7
网络聊天室详细设计 内部使用
总7页 第1页
北京信息职业技术学院
Java软件项目开发课程
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 功能
输入:用户操作 处理:
网络聊天室详细设计 内部使用
总7页 第2页
北京信息职业技术学院
① 登录聊天室服务器;
Java软件项目开发课程
② 根据聊天要求构造请求消息,并向服务器发送; ③ 解析服务器的应答消息,并进行相应处理。 输出:提示消息、聊天内容和聊天对象
3.3 设计方法
登录聊天室服务器
3.3.1 输入:无
① 等待用户输入用户昵称和性别; ② 判断输入合法性;
③ 通过Socket连接向服务器发送请求消息,格式为:”PEOPLE”+用户昵称+“[性别]”。 ④ 等待服务器应答。 输出:登录请求消息 3.3.2
接收服务器应答消息,并进行处理
输入:应答消息 处理:
① 获取服务器应答消息; ② 解析应答消息;
③ 根据应答消息类型进行处理,应答消息类型分为: ”PEOPLE”+用户昵称+“[性别]”:登陆请求通过,用户登陆; “MSG”+用户昵称+“[性别]”+”说:”:聊天室其他客户的聊天消息; “QUIT”+this.name:退出聊天室; “悄悄地对:”+消息:私密聊天;
“newlist”+用户昵称+“[性别]”:刷新聊天者列表 输出:无 3.3.3
向聊天室服务器发送聊天内容转发请求
输入:聊天内容 处理:
网络聊天室详细设计
内部使用
总7页 第3页
北京信息职业技术学院
① 检查发送消息内容是否为空;
Java软件项目开发课程
② 向聊天室服务器发送广播请求,格式为:“MSG”+用户昵称+“[性别]”+”说:”+消息 ③ 如果用户选择私聊,根据用户选择的聊天对象向服务器发送私聊请求,进入私聊对话框,格式为:”悄悄地对”+私聊对象+”说”+消息+”(我是”+用户昵称+”)”。
输出:聊天内容转发请求 3.3.4
离开聊天室
输入:离开请求
处理:向服务器发送离开请求,格式为:”QUIT” 输出:无
3.4 流程逻辑
图3-1 客户端处理流程图
网络聊天室详细设计 内部使用
总7页 第4页
北京信息职业技术学院
Java软件项目开发课程
4 服务器模块设计说明
程序描述
4.1
接收并处理客户端的登录请求,并根据客户端的聊天请求向指定客户端转发聊天内容,同时提供聊天室用户管理和服务管理功能,该模块无界面。
4.2 功能
输入:客户端请求消息 处理:
① 启动服务器服务; ② 等待接收客户端请求;
③ 根据客户端请求类型,做不同处理; ④ 将处理结果发送给客户端。 输出:发给客户端的应答消息
4.3 设计方法
启动服务器的聊天服务
4.3.1
输入:无 处理:
① 设置服务器服务的Socket端口号; ② 启动服务器服务进程; 输出:无 4.3.2
接收并处理客户端请求
输入:无 处理:
① 获取客户端发送的请求消息; ② 解析请求消息;
③ 根据请求消息类型做不同的应答处理。 请求消息类型分为:
”PEOPLE”+用户昵称+“[性别]”:新用户登陆请求;
网络聊天室详细设计
内部使用
总7页 第5页
北京信息职业技术学院
Java软件项目开发课程
“MSG”+用户昵称+“[性别]”+”说:”:转发聊天室聊天消息; “QUIT”+this.name:退出聊天室; ”悄悄地对”+私聊对象+”说”+消息+”(我是”+用户昵称+”)”:向私密聊天对象转发聊天消息; “newlist”:刷新聊天者列表 输出:无 4.3.3 处理用户离开情况
输入:无
处理:
① 在用户列表中删除离开用户; ② 重新构造在线用户名单;
③ 向所有在线用户广播用户离开指令和在线用户名单。 输出:无 4.3.4
将管理员指定用户从聊天室中踢开
输入:无 处理:
① 判断用户聊天消息是否健康合法;
② 如果不合法,向其他聊天者发送该用户被强制退出的消息。 输出:向其他聊天者发送该用户被强制退出的消息。
网络聊天室详细设计 内部使用
总7页 第6页
北京信息职业技术学院
Java软件项目开发课程
4.4 流程逻辑
图4-2 服务器处理流程图
枯藤老树昏鸦,小桥流水人家,古道西风瘦马。夕阳西下,断肠人在天涯。
网络聊天室详细设计 内部使用
总7页 第7页
因篇幅问题不能全部显示,请点此查看更多更全内容