




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目实训报告书软件项目实训报告书 学院 计算机科学与技术 专业 软件工程 组长 杜巍巍 第 7 组 1 成员信息成员信息 课题名称局域网聊天系统 专业计算机科学与技术学院软件工程系 姓名学号班级任务 杜巍巍 1108010126 软工 1101 班代码整合 编码调试 程伟 1108010128 软工 1101 班服务器端开发 刘洪全 1108010131 软工 1101 班客户端开发 王少瑞 1108010124 软工 1101 班界面设计和文档整合 小 组 成 员 目目 录录 1 1 项目介绍项目介绍 1 1 项目背景及意义 3 1 2 项目内容及目标 3 1 3 关键技术 3 2 2 需求分析需求分析 2 1 功能需求 4 2 2 界面需求 5 2 3 性能需求 5 3 3 总体设计总体设计 3 1 系统总体设计 5 3 2 功能模块设计 6 2 3 3 开发环境 7 4 4 详细设计与实现详细设计与实现 4 1 服务器端与客户端通信流程图 8 4 2 E R 图 9 4 3 甘特图 10 4 4 各主要模块流程图 10 5 5 实现与结果实现与结果 5 1 服务器登陆界面 13 5 2 清理用户 14 5 3 聊天室界面 15 5 4 群聊功能实现 16 5 5 私聊功能实现 17 5 6 文件传输功能实现 18 5 7 文件传输取消功能实现 18 5 8 窗口抖动功能实现 19 6 6 测试与调试测试与调试 6 1 测试环境配置 19 6 2 功能性测试 19 6 3 容错性测试 20 6 4 易用性测试 20 6 5 文档测试 20 7 7 总结总结 3 1 1 项目简介 项目简介 1 1 项目背景及意义 近年来 随着全球信息化不断发展 网络也在快速发展 各企事业单位处 于能高效快速安全的处理企业各种事物的目的 越来越多的企业在其内部使用 局域网工作 在局域网的帮助下 企业得以简化信息流程 提高信息交换速度 从而得以提高工作效率 而局域网聊天工具应运而生 所谓局域网聊天工具 是在局域网内部使用 用户之间用来交流的一个工具 一般都具有文本聊天和 文件传输功能及聊天记录报讯等功能 局域网聊天工具因其使用简单 系统资 源消耗少 安全性高等优点 成为各企事业单位等的局域网内广泛应用的软件 之一 本次项目主要是设计一个基于 WINDOWS 平台的局域网即时聊天工具 具体 是采用 C S 模式实现用户之间的通信 并阐述本软件的相关功能 特点及使用 方法 并会在之后详细介绍所使用的相关技术 及各个模块的功能和实现方法 等 1 2 项目内容及目标 本次局域网聊天程序采用了 Socket 网络编程思想和多线程技术 该聊天软 件包括服务器端和客户端两个模块 客户端通过服务器端进行通信 服务器端 模块主要实现了服务器的配置和数据的传递 客户端模块主要实现了用户登录 文字聊天 私聊和群聊 文件传输等功能 该软件采用多线程技术支持多用户 操作 并采用相关技术进行了优化 加快了文字和文件的传递速度 该软件能够帮助企业在局域网内搭建起自己的聊天系统 避免企业内部员 工使用类似 QQ 等软件泄露内部信息 但是该软件只实现了文本聊天及文件传输 基本功能 还有很多不足之处需要改进 1 3 关键技术 选定 WINDOWS 平台开发网络通信程序 可以选择 WINDOWS 的 SOCKETS 编程 接口 Windows Sockets 是一套开放的 支持多种协议的 Windows 下的网络编 程接口 现在的 Winsock 已经基本上实现了与协议无关 你可以使用 Winsock 来调用多种协议的功能 但较常使用的是 TCP IP 协议 Windows sockets 无疑 4 是我们进行网络编程的利器 所有的 Windows Sockets 实现都局域网聊天软件 支持流套接口和数据报套接口 应用程序调用 Windows Sockets 的 API 实现相 互之间的通讯 Windows Sockets 又利用下层的网络通讯协议功能和操作系统 调用实现实际的通讯工作 它们之间的关系如图 2 1 所示 应用程序 1应用程序 2 网络编程界面 例如 Windows Sockets 网络通讯协议服务界面 例如 TCP IP 操作系统 例如 Windows 物理通讯介质 2 需求分析 需求分析 为了开发出符合要求的网络聊天程序 首先必须知道使用者的需求 对需 求的深入理解是开发工作获得成功的前提条件 它对目标项目提出完整 准确 清晰 具体的要求 2 1 功能需求 局域网聊天系统使该系统的用户能够通过客户端登入到该系统 然后直接 通过系统实现用户之间的交互 首先 需启动服务器 进行服务器的配置 进 行正确的服务器配置和连接并测试成功后 开启服务器 接下来 在客户端 该系统的用户能够通过登陆界面进入 然后直接与系统交互 进行文字传送和 文件传输 本系统支持的活动列表如下 5 1 用户登陆系统 2 显示在线用户 3 用户之间交互 进行文字传送 4 用户之间交互 进行文件传输 5 用户可对聊天信息进行保存 6 文件传输过程中可取消文件传输 2 2 界面需求 设计该系统的界面时主要本着用户易于操作的原则 另外 尽量使界面看 起来比较美观 2 3 性能需求 首先 服务器需要同时连接很多个用户 并能提供给这些连接用户所需要 的任务处理请求 这就要求服务器能同时处理多个 socket 连接 服务器模型一 般分为循环服务器和并发服务器 循环服务器一次只能处理一个连接 也就是 说同一时间只能由一个用户连接到服务器进行消息处理 这种情况是不被允许 的 因此我们将采用多线程方式的并发服务器来设计服务器端 这样将能从很 大程度上提高服务器的运行效率 其次 客户端只需要连接到服务器便可以进行任务的处理工作 因此客户 端的主要性能要求为图形界面运行的稳定性和对出错信息的及时反映 当一个 窗体出现问题时能够及时的处理 让主程序不受影响 再者 所有的应用程序在运行过程中都会出现出错的情况 这种错误可能 来自于程序本身 也可能是用户操作的失误所造成的 当有错误发生时 我们 应该有一个很好的机制来保障错误能够及时地被排除 当应用程序出现了错误 的时候我们就需要程序能提供给我们出错的信息 这样用户就能够很快的找出 具体的出错原因 以便寻找合理的途径去解决它 3 总体设计 总体设计 3 1 系统总体设计 本次局域网聊天程序采用了 Socket 网络编程思想和多线程技术 该聊天软 件包括服务器端和客户端两个模块 客户端通过服务器端进行通信 服务器端 6 模块主要实现了服务器的配置和数据的传递 客户端模块主要实现了用户登录 文字聊天 私聊和群聊 文件传输等功能 局域网聊天系统 服务器端客户端 启动 服务 器 监控 登录 用户 清理 用户 退出 服务 器 用户 登录 文本 聊天 聊天 记录 保存 文件 传输 及取 消 退出 单个 对象 群聊 局域网聊天系统功能层次图 3 2 功能模块设计 服务器端 1 能够正确的启动服务器 2 监听指定端口 等待用户的连接 3 显示新连接用户并向新进入好友发出名单 7 4 接受客户端消息 正确处理消息并能发送到客户端 5 及时反映出在线人数 6 用户断开连接时 服务器能够正确的断开连接 并通知其他用户 7 当服务器关闭时 应通知用户 客户端 1 用户能够正确连接服务器 进入系统中 2 能显示当前用户在线情况 3 能够向群体或个人发送消息 4 能够接收用户发送来的消息 5 能够对聊天记录进行保存 6 能够向用户传送文件 7 能够正确断开与服务器的连接 3 3 开发环境 操作系统 Windows7 windows XP 开发平台 VC 6 0 开发语言 C 8 4 详细设计 详细设计 4 1 服务器端与客户端通信流程图 4 2 E R 图 服务器 消息处理 在线用户 列表 监听状态 控制 用户管理 9 客户端 用户登录 聊天记录 保存 文件传输 在线用户 列表 消息收发 4 3 甘特图 10 4 4 各主要模块流程图 4 4 1 用户登陆模块详细设计 用户通过服务器管理 提供用户登录功能 只要是在同一局域网内 用户 只需要正确输入服务器 IP 地址 再起一个自己昵称 昵称不可重复 就可以 进入聊天系统中进行相关信息交流 服务器可以查看用户的登录退出情况 流 程图如图 4 4 1 所示 开始 输入IP地址 输入用户名 IP是否正确 用户名是否重复 登陆成功 结束 是 否 否 是 4 4 1 用户登录模块流程图 4 4 2 消息传送模块 客户端 详细设计 局域网聊天系统最基本的功能就是进行消息的传送 具体表现为当一个用 户需要向另一个用户发送消息的时候 只需要在在线列表中选择该用户 然后 在消息发送框中输入要发送的信息点击发送按钮通过服务器的中转转发到接收 端的客户端并显示在聊天对话框中 流程图如 4 4 2 所示 11 开始 创建子套接字 与服务器连接 与目标用户建立连接 发送消息 聊天窗口是否启动 等待目标客户端接收消 息 结束 发送启动窗口 指令 启动窗口 否 是 是 输入文 字消息 接受是否完成 关闭子套接字 是 否 4 4 2 消息传送模块 客户端 流程图 4 4 3 数据消息传送模块 服务器端 详细设计 用户之间通过数据消息传送模块建立连接后 才能进行下一步的消息传送 文件传输 窗口抖动等功能 流程图如 4 4 3 所示 12 开始 创建线程接受连接请求 向目标发送连接请求 是否同意连接 回复连接请求 结束 是 连接成功 否 4 4 3 数据消息传送模块 服务器 流程图 4 4 4 文件传输模块详细设计 登录成功后用户可能因为某种原因需要进行文件传输 显然文件传输需 要点对点的并且使用 TCP 连接才能保证文件传输的可靠性 一方面用户 A 点击 文件传输按钮并选择发送文件及接受用户 此时该用户其实已经建立了一个监 听套接字 而另一方用户 B 则接受到了文件传输的请求 其可以选择接受或者 拒绝 流程图如 4 4 4 所示 13 开始 创建套接字 与服务器连接 与目标用户建立连接 发送文件 添加欲传输文件 目标用户是否接收文件 关闭套接字 结束 设置文件存取 位置 接收文件 是 否 接受是否完成是 否 4 4 4 文件传输模块流程图 5 实现与结果 实现与结果 服务器端登陆界面 14 清理用户 聊天室界面 15 群聊功能实现 16 私聊功能实现 文件发送功能 17 文件传输取消功能 18 窗口抖动功能实现 6 测试与调试 测试与调试 本局域网聊天系统采用黑盒测试法 6 1 测试环境配置 用两台或两台以上的机器通过交换机等构成一个局域网 进行正确的网络 配置 每台机器上都安装 Windows 操作系统 已经本局域网聊天程序的正确拷 贝 6 2 功能性测试 其中一台在 A 机器上启动服务器端软件 开启监听服务 当 A 和 B 机器 启动了客户端软件后 向服务器进行登录操作 服务器验证了用户登录之后 向局域网发送客户端好友在线情况 A 客户端收到服务器发来的信息之后 更 新自己的用户列表 选中用户表中的目标 即可进行发消息对话 若 B 当前为 空闲状态 则双方建立连接 开始进行聊天通信 可以进行信息的输入和发送 19 同时 双方均可进行正确的的接收和回复 6 3 容错性测试 容错性测试 容错性测试是检查软件在异常条件下的行为 容错性好的软 件能确保系统不发生无法预料的事故 经检查 当用户输入无效操作时 系统总能检测到无效的操作 对用户进行相 应的信息反馈 并合理做出内部处理 当系统本身发生错误时 比如网络初始 化失败 绑定套接字失败 数据失败等 都会进行相应的正确处理和提示 6 4 易用性测试 易用性测试没有一个量化的指标 主观性较强 一般认为 如果一个系统 可以让用户不查阅手册即可正确使用所有功能 那么这个系统就具有良好的易 用性 本聊天程序工具使用过程中提示信息详细 界面友好 操作简单 用户 能够很快学会使用 所以具有较好的易用性 6 5 文档测试 本系统开发过程中 需求分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45995-2025优质服务用户体验评估模型与方法
- 跨文化交际技术赋能-洞察及研究
- 2025年公需课在线测试题及答案
- 2025年高压操作电工试题及答案
- 2025年高级会计师《高级会计实务》案例分析试题及答案解析
- 四调语文试题及答案
- 粮食烘干塔管理办法
- 贷款提前还款管理办法
- 个人目标考核管理办法
- 专职兼职人员管理办法
- 商业地产策划案例(购物中心)
- 银行押运人员管理制度
- 北师大版四年级数学下册第五单元 认识方程标准检测卷(含答案)
- 2025年中国三氯乙烯市场调查研究报告
- 信息系统授权制度
- 小学四年级上册劳动课教案设计
- 工程施工进度督促函
- 保护眼睛防近视课件
- 酒吧装修合同要求
- 2025年机械校招笔试试题及答案
- 机关食堂2025年多元化饮食选择方案
评论
0/150
提交评论