MyQQ局域网聊天系统项目设计报告
姓 名:刘道琴
指导老师:李绘卓
专业班级:软件0901
学 号:20091843
电子邮件:1109936416@qq.com
实验地点:东六E—415
第一章 项目概述
1.1 目的
依照腾讯公司聊天工具QQ的设计,实现局域网网络通信的基本功能,以便在不联网的情况下用户也可以进行通信。
1.2 项目背景
随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、电话相比, 聊天服务更具有实时性和有效性。各种实时性聊天软件也给我们的即时通信带来了众多方便。比如说大家熟悉的腾讯QQ,微软的MSN,移动的飞信等,都是做得非常成功的实时聊天工具。网络聊天成为现代人们生活必不可缺的一部分,它增强了人与人之间的沟通,当下的腾讯QQ为我国的大众平台,为让用户无需连网就可以进行通信,开发一款优秀的局域网聊天软件是非常有意义的。
1.3 项目的范围和目标
1.3.1 范围描述
本项目采用软件工程的方法,综合运用程序设计技术、网络技术,以Visual C++ 6.0作为系统前台应用程序开发工具,主要研究了在TCP/IP协议下的局域网聊天室。
此局域网聊天室采用客户端/服务器(C/S)模式和TCP连接。它有两个模块组成:服务器和客户端。服务器模块主要用来维护网络上所有用户的信息,如用户名、账号等;聊天客户端模块主要包括用户登录、发送信息、接收信息等。整个工程采用结构化的方式进行编译,逐步完善系统功能。
系统采用CSocket实现连网功能。CSocket是MFC在CAsyncSocket基础上派生的一个同步阻塞Socket的封装类。而Socket是Windows中得到广泛应用的、开放的、支持多协议的网络编程接口。同时该系统还采用了多线程编程和数据库的支持,从而大大提高了系统的性能和稳定性。
1.3.2
主要功能
1) 支持本地用户根据账号和密码实现登录; 2) 状态可分为:在线、隐身和离线;
3) 支持好友列表,并能正确的自动更新,能显示在线好友;
4) 能实现查找、添加和删除好友,能查看自己和好友的资料,能实现移动好友; 5) 能实现主界面的隐藏操作,显示输入消息窗口,能及时显示输入的消息,能显示接
收到的好友发来的消息,可以发送和接收文件;
6) 能实现注册新账号,能对自己的信息进行维护、修改、更新;
1.3.3 系统流程图
1.3.4 技术约束
由于初次学习数据库和网络编程,以前又缺乏开发经验,所以在系统实现的时间控制上不能很好的把握。
第二章 风险评估
2.1 风险识别
1) 作为先决条件的任务不能按时完成;
2) 需求不明确,在开发过程中不断地变化;
3) 项目开发过程中出现的错误,需要比预期更多的测试、设计和实现工作; 4) 缺乏对软件开发策略各标准的遵循,经验不足; 5) 技术的不确定性;
2.2 风险应对策略
1) 依据项目过程进展情况,对重要风险进行过程跟踪,对其他风险进行定期跟踪,
在不同的过程进展情况下,跟踪不同的风险项目; 2) 定期检查项目进展,审核工作成果;
第三章 关键问题
3.1 技术因素
1) 数据库 掌握数据库设计技术,掌握对数据库的基本操作,能较准确的描述并
实现用户的需求,掌握数据库编程技术,从而实现本系统的数据库模块; 2) 网络编程 理解Socket网络通信编程的基本思想,掌握Socket网络编程技术,
能够使用Socket进行网络编程,深入学习多进程多线程的并发处理,最终完成C/S模式的实现;
3.2 非技术因素
1) 时间的合理分配; 第四章
软件配置
4.1 开发平台
硬件资源:微型计算机
软件资源:VC++ 6.0 Access2003
4.2 开发工具
Visual c++语言
第五章 附件
5.1 参考资料
《Visual C++开发典型模块大全》 刘锐宁 宋坤 编著
因篇幅问题不能全部显示,请点此查看更多更全内容