张依16 河北金融学院信息管理与工程系课程设计报告.doc
上传人:qw****27 上传时间:2024-09-10 格式:DOC 页数:26 大小:1.7MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

张依16 河北金融学院信息管理与工程系课程设计报告.doc

张依16河北金融学院信息管理与工程系课程设计报告.doc

预览

免费试读已结束,剩余 16 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

.河北金融学院信息管理与工程系课程设计报告题目:局域网聊天工具学生姓名:张依学号:20111811016系别班级:信息管理与工程系11级计算机科学与技术本科班专业(方向):计算机科学与技术指导者教师:姜志旺完成时间:2013年5月16日河北金融学院信息管理与工程系课程设计目录1.任务与要求………………………………………………………………………31.1设计任务………………………………………………………………………31.2具体要求………………………………………………………………………32.系统总体设计……………………………………………………………………42.1设计目标及完成功能…………………………………………………………42.2系统结构设计…………………………………………………………………43.系统详细设………………………………………………………………………63.1窗口设计………………………………………………………………………73.2接收消息模块…………………………………………………………………163.3用户信息………………………………………………………………………184.测试………………………………………………………………………………205.课程设计与总结…………………………………………………………………256.参考文献…………………………………………………………………………251任务与要求1.1设计任务本课程设计是利用可视化编程库QT进行一个可视化的网络通信程序设计,主要采用QUdpSocket、QTcpSocket、QTcpServer等类。1.2具体要求1.2.1系统的需求分析能够发送消息到不同的用户程序。用户程序能够接收来自不同用户程序的消息,并能识别出是哪个用户。通过协议可以找到局域网里面的用户。根据具体情况进行发挥,努力完善网络通讯程序。1.2.2完成系统设计找出系统的对象,抽象完成分析类图的创建,根据情况画出顺序图,协作图,状态图,部署图,组件图,活动图。针对具体的思想语言要求写出具体的实现类图,类的属性和服务,标出类之间的关系。1.2.3编码完成需要编码完成的模块。1.2.4测试编写合适的测试用例完成系统的测试工作并分析结果2系统总体设计2.1系统设计目标及完成功能本项目的设计目标为一个高性能的,易于使用的,面向校园内部通信需求的局域网即时通信软件。它应具有如下特征:1、具有高性能,可同时处理多个连接请求。2、对硬件要求低,适应范围广,运行稳定。3、具有一定的容错性能。当用户登入聊天室时,用户输入的内容直接发送到其他有登入此聊天室的用户,用户与用户直接通信不需要经过服务器。最终的软件产品应具有如下功能:能够随时改变自己的昵称。能够自动更新其他用户的名单及在线人数。随时获取系统的当前时间。能够向其他用户传输文件。能够保存或者删除聊天记录。能够改变聊天的字体。能够多人聊天。只限于局域网内聊天。美观的操作界面。(10)主界面显示聊天信息,在线用户信息。2.2系统结构设计=1\*GB3①进入用户界面软件构架处理新用户加入显示用户信息显示新用户信息发送文件进入聊天室退出=2\*GB3②用户操作系统显示用户离开删除用户信息显示新用户信息用户处理处理用户离开处理新用户加入接受文件保存聊天记录文件处理聊天记录发送文件删除聊天记录发送信息接受信息发送信息=3\*GB3③聊天室活动图处理用户离开处理新用户加入处理文字消息处理下划线颜色加粗接受消息发送消息3系统详细设计3.1窗口设计私聊窗口设计群聊窗口设计3.1.1聊天室窗口设计聊天室窗口分为三个模块,模块一:发送消息;模块二:接收消息;模块三:接收在线用户的信息如(用户名、主机名、IP地址)。1、模块一也可以称为用户发言区。专门用来处理用户所输入的发言等,可以对发言的字体大小,字体和颜色,粗体,下划线进行更改以及保存聊天记录、清屏等功能。用户发言后直接点击发送按钮,此时就会调用发送函数sendMessage(),将messageTextEdit组件中的内容发送出去。通过QByteArray型局部变量datagram中构建待发送的数据包,然后通过QUdpSocket类的writeDatagram(constQByteArray&datagram,constQHostAddress&host,quint16port);函数将数据包发出。值得注意的是,这