收藏 分享(赏)

模仿QQ聊天程序.doc

上传人:hyngb9260 文档编号:7110198 上传时间:2019-05-06 格式:DOC 页数:20 大小:1.52MB
下载 相关 举报
模仿QQ聊天程序.doc_第1页
第1页 / 共20页
模仿QQ聊天程序.doc_第2页
第2页 / 共20页
模仿QQ聊天程序.doc_第3页
第3页 / 共20页
模仿QQ聊天程序.doc_第4页
第4页 / 共20页
模仿QQ聊天程序.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、软件项目实训报告书学院_ 计算机科学与技术_专业_ _ 软件工程_ _组长_杜巍巍(第 7组)_1成员信息:课题名称 局域网聊天系统专业 计算机科学与技术学院软件工程系姓名 学号 班级 任务杜巍巍 1108010126 软工 1101 班 代码整合(编码调试)程伟 1108010128 软工 1101 班 服务器端开发刘洪全 1108010131 软工 1101 班 客户端开发王少瑞 1108010124 软工 1101 班 界面设计和文档整合小组成员目 录1 项目介绍1.1 项目背景及意义 31.2 项目内容及目标 31.3 关键技术 32 需求分析2.1 功能需求 42.2 界面需求 52

2、.3 性能需求 53 总体设计3.1 系统总体设计 53.2 功能模块设计 623.3 开发环境 74 详细设计与实现4.1 服务器端与客户端通信流程图 .84.2 E-R 图 .94.3 甘特图 104.4 各主要模块流程图 105 实现与结果 5.1 服务器登陆界面 .135.2 清理用户 .145.3 聊天室界面 .155.4 群聊功能实现 .165.5 私聊功能实现 .175.6 文件传输功能实现 .185.7 文件传输取消功能实现 .185.8 窗口抖动功能实现 .196 测试与调试 6.1 测试环境配置 .196.2 功能性测试 .196.3 容错性测试 .206.4 易用性测试

3、.206.5 文档测试 .207 总结 31项目简介1.1 项目背景及意义近年来,随着全球信息化不断发展,网络也在快速发展,各企事业单位处于能高效快速安全的处理企业各种事物的目的,越来越多的企业在其内部使用局域网工作,在局域网的帮助下,企业得以简化信息流程,提高信息交换速度,从而得以提高工作效率。而局域网聊天工具应运而生,所谓局域网聊天工具,是在局域网内部使用,用户之间用来交流的一个工具,一般都具有文本聊天和文件传输功能及聊天记录报讯等功能。局域网聊天工具因其使用简单,系统资源消耗少,安全性高等优点,成为各企事业单位等的局域网内广泛应用的软件之一。本次项目主要是设计一个基于 WINDOWS 平

4、台的局域网即时聊天工具,具体是采用 C/S 模式实现用户之间的通信,并阐述本软件的相关功能,特点及使用方法,并会在之后详细介绍所使用的相关技术,及各个模块的功能和实现方法等。1.2 项目内容及目标本次局域网聊天程序采用了 Socket 网络编程思想和多线程技术。该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户登录、文字聊天,私聊和群聊,文件传输等功能。该软件采用多线程技术支持多用户操作,并采用相关技术进行了优化,加快了文字和文件的传递速度。该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员

5、工使用类似 QQ 等软件泄露内部信息,但是该软件只实现了文本聊天及文件传输基本功能,还有很多不足之处需要改进。1.3 关键技术选定 WINDOWS 平台开发网络通信程序,可以选择 WINDOWS 的 SOCKETS 编程接口,Windows Sockets 是一套开放的、支持多种协议的 Windows 下的网络编程接口。现在的 Winsock 已经基本上实现了与协议无关,你可以使用 Winsock来调用多种协议的功能,但较常使用的是 TCP/IP 协议。Windows sockets 无疑4是我们进行网络编程的利器。所有的 Windows Sockets 实现都局域网聊天软件支持流套接口和数据

6、报套接口。应用程序调用 Windows Sockets 的 API 实现相互之间的通讯。Windows Sockets 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图 2-1 所示应用程序 1 应用程序 2网络编程界面,例如 Windows Sockets网络通讯协议服务界面,例如 TCP/IP操作系统,例如 Windows物理通讯介质2需求分析为了开发出符合要求的网络聊天程序,首先必须知道使用者的需求。对需求的深入理解是开发工作获得成功的前提条件,它对目标项目提出完整、准确、清晰、具体的要求。2.1 功能需求局域网聊天系统使该系统的用户能够通过客户端登入到该

7、系统,然后直接通过系统实现用户之间的交互。首先,需启动服务器,进行服务器的配置,进行正确的服务器配置和连接并测试成功后,开启服务器。接下来,在客户端,该系统的用户能够通过登陆界面进入,然后直接与系统交互,进行文字传送和文件传输。本系统支持的活动列表如下:51) 用户登陆系统;2) 显示在线用户;3) 用户之间交互,进行文字传送;4) 用户之间交互,进行文件传输;5) 用户可对聊天信息进行保存;6) 文件传输过程中可取消文件传输;2.2 界面需求设计该系统的界面时主要本着用户易于操作的原则,另外,尽量使界面看起来比较美观。2.3 性能需求首先,服务器需要同时连接很多个用户,并能提供给这些连接用户

8、所需要的任务处理请求,这就要求服务器能同时处理多个 socket 连接。服务器模型一般分为循环服务器和并发服务器,循环服务器一次只能处理一个连接,也就是说同一时间只能由一个用户连接到服务器进行消息处理,这种情况是不被允许的。因此我们将采用多线程方式的并发服务器来设计服务器端,这样将能从很大程度上提高服务器的运行效率。其次,客户端只需要连接到服务器便可以进行任务的处理工作,因此客户端的主要性能要求为图形界面运行的稳定性和对出错信息的及时反映。当一个窗体出现问题时能够及时的处理,让主程序不受影响。再者,所有的应用程序在运行过程中都会出现出错的情况,这种错误可能来自于程序本身,也可能是用户操作的失误

9、所造成的。当有错误发生时,我们应该有一个很好的机制来保障错误能够及时地被排除。当应用程序出现了错误的时候我们就需要程序能提供给我们出错的信息,这样用户就能够很快的找出具体的出错原因,以便寻找合理的途径去解决它。3总体设计3.1 系统总体设计:本次局域网聊天程序采用了 Socket 网络编程思想和多线程技术。该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。服务器端6模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户登录、文字聊天,私聊和群聊,文件传输等功能。局域网聊天系统服务器端 客户端启动服务器监控登录用户清理用户退出服务器用户登录文本聊天聊天记录保存文件传输

10、及取消退出单个对象群聊局域网聊天系统功能层次图3.2 功能模块设计:服务器端:1. 能够正确的启动服务器。2. 监听指定端口,等待用户的连接。3. 显示新连接用户并向新进入好友发出名单。74. 接受客户端消息,正确处理消息并能发送到客户端。5. 及时反映出在线人数。6. 用户断开连接时,服务器能够正确的断开连接,并通知其他用户。7. 当服务器关闭时,应通知用户。客户端:1. 用户能够正确连接服务器,进入系统中。2. 能显示当前用户在线情况。3. 能够向群体或个人发送消息。4. 能够接收用户发送来的消息。5. 能够对聊天记录进行保存。6. 能够向用户传送文件。7. 能够正确断开与服务器的连接。3

11、.3 开发环境操作系统:Windows7,windows XP开发平台:VC+ 6.0开发语言:C+84详细设计4.1 服务器端与客户端通信流程图4.2 E-R 图:服务器消息处理在线用户列表监听状态控制用户管理9客户端用户登录聊天记录保存文件传输在线用户列表消息收发4.3 甘特图:104.4 各主要模块流程图:4.4.1 用户登陆模块详细设计用户通过服务器管理,提供用户登录功能,只要是在同一局域网内,用户只需要正确输入服务器 IP 地址,再起一个自己昵称(昵称不可重复) ,就可以进入聊天系统中进行相关信息交流。服务器可以查看用户的登录退出情况。流程图如图 4.4.1 所示:开始输入 I P

12、地址输入用户名I P 是否正确用户名是否重复登陆成功结束是否否是4.4.1 用户登录模块流程图4.4.2 消息传送模块(客户端)详细设计局域网聊天系统最基本的功能就是进行消息的传送,具体表现为当一个用户需要向另一个用户发送消息的时候,只需要在在线列表中选择该用户,然后在消息发送框中输入要发送的信息点击发送按钮通过服务器的中转转发到接收端的客户端并显示在聊天对话框中,流程图如 4.4.2 所示:11开始创建子套接字与服务器连接与目标用户建立连接发送消息聊天窗口是否启动等待目标客户端接收消息结束发送启动窗口指令启动窗口否是是输入文字消息接受是否完成关闭子套接字是否4.4.2 消息传送模块(客户端)

13、流程图4.4.3 数据消息传送模块(服务器端)详细设计用户之间通过数据消息传送模块建立连接后,才能进行下一步的消息传送,文件传输,窗口抖动等功能。流程图如 4.4.3 所示:12开始创建线程接受连接请求向目标发送连接请求是否同意连接回复连接请求结束是连接成功否4.4.3 数据消息传送模块(服务器)流程图4.4.4 文件传输模块详细设计登录成功后用户可能因为某种原因需要进行文件传输,显然文件传输需要点对点的并且使用 TCP 连接才能保证文件传输的可靠性。一方面用户 A 点击文件传输按钮并选择发送文件及接受用户,此时该用户其实已经建立了一个监听套接字,而另一方用户 B 则接受到了文件传输的请求,其

14、可以选择接受或者拒绝。流程图如 4.4.4 所示:13开始创建套接字与服务器连接与目标用户建立连接发送文件添加欲传输文件目标用户是否接收文件关闭套接字结束设置文件存取位置接收文件是否接受是否完成是否4.4.4 文件传输模块流程图5实现与结果服务器端登陆界面:14清理用户:聊天室界面:15群聊功能实现:16私聊功能实现:文件发送功能:17文件传输取消功能:18窗口抖动功能实现:6测试与调试本局域网聊天系统采用黑盒测试法6.1 测试环境配置用两台或两台以上的机器通过交换机等构成一个局域网,进行正确的网络配置,每台机器上都安装 Windows 操作系统,已经本局域网聊天程序的正确拷贝6.2 功能性测

15、试其中一台在 A 机器上启动服务器端软件,开启监听服务。当 A 和 B 机器启动了客户端软件后,向服务器进行登录操作,服务器验证了用户登录之后,向局域网发送客户端好友在线情况,A 客户端收到服务器发来的信息之后,更新自己的用户列表,选中用户表中的目标,即可进行发消息对话,若 B 当前为空闲状态,则双方建立连接,开始进行聊天通信,可以进行信息的输入和发送。19同时,双方均可进行正确的的接收和回复。6.3 容错性测试容错性测试:容错性测试是检查软件在异常条件下的行为,容错性好的软件能确保系统不发生无法预料的事故。经检查,当用户输入无效操作时,系统总能检测到无效的操作,对用户进行相应的信息反馈,并合

16、理做出内部处理,当系统本身发生错误时,比如网络初始化失败,绑定套接字失败,数据失败等,都会进行相应的正确处理和提示。6.4 易用性测试易用性测试没有一个量化的指标,主观性较强,一般认为,如果一个系统可以让用户不查阅手册即可正确使用所有功能,那么这个系统就具有良好的易用性。本聊天程序工具使用过程中提示信息详细,界面友好,操作简单,用户能够很快学会使用。所以具有较好的易用性。6.5 文档测试本系统开发过程中,需求分析,报告总结,用户使用说明等,在文档方面比较完整。7总结通过为期两周的项目实训,让我和我的团队深刻的认识了团队精神的重要性。从项目的开始到结束每个人不仅要忙于自己模块任务的实现,也要时刻关注整个项目的进展状况,通过好多次的一起探讨商量和有问题大家一起解决。在整个项目中大家都对 VC 的网络编程有了更深刻的认识和掌握。通过不断地去图书馆和网上查阅资料,请教同学才使得好多问题得意解决。虽然我们的局域网聊天系统目前不是很完善,还有许多问题没有解决。但是通过这次项目实训获益匪浅。我们下来会继续完善该系统。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报