1、目 录 1 1 前言前言 2 2 2 需求分析 2 2 2.1 功能分析 2.2 方案分析 3 3 概要设计概要设计 2 2 3.1 数据结构 . 3 3.2 逻辑结构与物理结构 . 3 3.3 功能模块划分 . 5 3.4 抽象数据类定义 7 4 4 详细设计详细设计 7 7 4.1 数据类型定义 . 7 4.2 主要模块内部设计 . 8 4.2.1 模块 1 设计 8 4.2.2 模块 2 设计 9 4.2.3 模块 3 设计 . 10 5 5 实现与调试分析实现与调试分析 1111 5.1 实现环境 11 5.2 语言选择 11 5.3 调试分析 11 6 6 测试分析测试分析 1212
2、 6.1 测试用例 12 6.2 测试结果 13 6.3 性能分析 15 7 7 用户手册用户手册 1515 总总 结结 1616 参考文献参考文献 1616 1 1 前言前言 1.1 即时消息系统的研究现状 即时消息系统1(Instant Messenger,IM)是一种在后 PC 时代兴起的,以 Internet 网络为 基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的 网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、 实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用, 又使得人们习惯与周围的
3、人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨 越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲, 即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 1.2 本工程的主要内容 本工程主要是设计完成一基于 P2P 的聊天系统,本系统主要包括客户端和服务器端两部 分,实现类似于 QQ 的功能。包括用户注册、在线朋友的获取、点对点的聊天等功能。而本项 目类容主要是使用 VC+实现其中的点对点聊天功能。 2 2 需求分析需求分析 此次开发的网络聊天工具可作为个人的交流工具使用。本聊天需包含如下基本功能: 2.1 功能分析 客户
4、端: (1) 发送消息; (2) 接收消息; (3) 消息记录; 服务端: (1)对客户端发来的消息处理并发送给另一客户端; (2)将消息类容计入数据库; (3)对客户请求作出应答并处理。 2.2 方案分析 本项目仅供点对点聊天模块进行方案分析。 本系统实现用户点对点聊天,通过一客户端向服务器发送消息,服务器接受消息后将消 息信息(消息内容和消息时间)记录到数据库,然后将其发送给另一用户,实现聊天功能, 并可以向服务器发送请求查询消息记录。 3 概要设计概要设计 聊天主要包括两方面内容:服务器端和客户端。 1 2.2.1 服务器端功能主要包括:建立连接、接收用户数据、操作数据库。 (1)建立连
5、接:系统启动时建立一个连接,不断侦听是否有客户端连接或许 断开。 (2)监听客户请求:服务器端是一个信息的枢纽,所有客户端的信息都要传 到服务器端,再由服务器根据要求分发出去,客户端在向服务器发送各 种请求。 (3)数据库操作:当客户机向服务器发送请求时,服务器需要通过数据库管 理软件对数据库的数据进行增、删和查询。 (4)发送系统消息:在客户端管理界面上,可以输入消息,并发送给所有的 在线用户。 2.2.2 客户端主要功能:发送消息,接收消息,查询消息记录。 (1)客户端在与好友端建立通信连接后,便可以与好友进行聊天,聊天时发 送的是文本信息,好友端在接收到聊天消息后,会提示收到消息,并由
6、好友端自主打开消息接收界面。 (2)所有的聊天消息都会被保存起来,可以查看与每个好友的聊天记录。聊 天记录包括内容和时间。 3.1 数据结构数据结构 此系统数据库中储存信息采用字符指针储存,将用户的信息用字符的形式进行处 理并储存。 3.2 逻辑结构与物理结构逻辑结构与物理结构 (1)逻辑结构: 用户向服务器发送请求,服务器获取对方 IP,若获取成功,用户向其发送消息, 服务器将其处理并将其记录,然后将消息发给另一用户。其 ER 图如下所示: 2 将 E-R 图转化为关系模型,建立关系模型为: 消息(内容,时间) ; 记录信息(内容,储存信息) ; 服务器(服务器 IP) ; (2)物理结构)物理结构: 在关系数据库中,确定数据库的物理结构主要指确定数据库的储存位置和储 存结构,包括确定关系索引、日志、备份等数据的储存分配和储存结构,并确定 系统配置等。 建立好的数据库物理结构可以提高系统执行速率,使得在数据库上运行的各 种事务响应时间小、 储存空间利用率高、 事务吞吐率大。 还要充分了解