欢迎来到天天文库
浏览记录
ID:37665115
大小:420.99 KB
页数:16页
时间:2019-05-28
《详细功能分析报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.一、软件简介本软件主要完成简单的多客户端实时通信,基于TCP协议的局域网聊天软件。首先启动服务器,服务器启动后等待客户端的请求,同时显示出离线用户列表。客户端通过输入账号和密码进行登录,如果登录成功,则进入聊天界面,同时显示当前在线好友列表和离线好友列表,如果登录失败,则提示用户账号或者密码错误。当多个客户端进入聊天室后,客户之间可以进行群聊,用户同时可以选择与当前在线的某一好友进行私聊。二、需求分析2.1、任务概述随着信息化时代的快速发展,互联网的应用越来越广泛,同时实时聊天通信技术变得日益重要,不论在学
2、校、家庭或者是公司,局域网聊天已经离不开我们的日常生活。本软件所设计的局域网聊天系统能够实现局域网的聊天、群聊、私聊等功能。2.2、需求规定该软件可以完成多客户端的通信,服务器端包括:服务器启动,离线用户列表和在线用户列表,同时还要完成客户端登录信息的验证,当有用户登录成功时,服务器端实时刷新在先用户列表。客户端包括:用户登录,当用户登录成功后,进入聊天界面,用户之间可以进行群聊和私聊。2.3、对性能的规定2.3.1、时间特性要求所有发送操作的响应的时间一般不超过1秒,大量的信息发送后,应该在5秒内显示,如果
3、未发送失败,会提示出相关的错误信息。当存在离线用户上线时,用户在线列表更新时间在3秒内响应。2.3.2、运行环境规定该软件只能在windows环境平台下运行,内存在256M以上,硬盘1G空余空间。..三、总体设计3.1、软件总体功能结构图图(3.1)软件总体功能结构图如图(3.1)所示为该软件总体功能结构图,其中主要包括两大部分:服务器端和客户端。其中服务器端主要包括:连接数据库、用户列表更新、客户端信息处理。客户端包括:客户端登录、在线用户列表、离线用户列表、用户群聊、用户私聊。3.2、软件工作流程图图(3
4、.2)软件工作流程图如图(3.2)所示,为整个软件工作的流程图,首先开启服务器,服务器等待客户端的请求连接,然后客户端发送连接请求(发送账号和密码),然后等待..服务器的回应,服务器收到连接请求后,验证客户信息,如果信息验证成功,则连接建立成功,好友之间通过服务器端向客户端发送好友信息。3.3、服务器总体设计服务器端主要功能:(1)数据库设计:设计数据库,用户存储客户信息,例如用户的账号、密码、昵称等。(2)客户端请求信息处理:主要用来处理用户登录验证,如果验证成功,则给客户端回复登录成功信息。(3)客户端信
5、息转发:主要完成客户之间通信时,首先客户发送信息给服务器,服务器端然后在转发给其他的客户。(4)用户列表更新:主要用来处理当有新客户端登录成功后,对现在用户列表和离线用户列表进行更新。3.4、客户端总体设计客户端主要功能:(1)客户端登录:主要完成客户端的登录,客户端输入用户名和密码,然后进行登录,如果登录成功,则跳转到聊天模块,如果登录失败,则提醒用户名或者密码错误。(2)连接服务器:通过当前输入的账号和密码,连接服务器开启的端口号。(3)实时通信模块:主要完成在线用户之间进行群聊和私聊。(4)用户列表更新
6、:主要显示当前在线好友列表和离线好友列表。..四、详细设计4.1、软件详细的功能流程图图(4.1)软件详细功能流程图4.2、数据库设计该系统采用的是微软的Access数据库,用来存放用户信息,数据字典如下表所示:..表(一)用户信息字段名称备注账号昵称StrName密码strPass真实姓名strRealName性别strSex本系统将数据库操作封装为一个类,方便开发人员的操作,相关的函数介绍如下所示:打开数据库函数:voidOpenDataBase();关闭数据库函数:voidCloseDataBase()
7、;打开记录集:_RecordsetPtr&OpenRecordset(CStringsql);关闭记录集:voidCloseRecordset();4.3、程序中定义的核心数据结构1、定义消息头的数据结构typedefstructtagHeader{chartype;intlen;}Header,*pHeader;以上结构体主要包含两个部分内容,type为char型字符,用来存储用户发送的是什么类型的消息,type定义的取值如下所示:#defineLOGIN_IO1//用户登录消息#defineSEND_ME
8、SSAGE3//用户发送消息#definePRIVATE_MESSAGE4//用户私聊消息#definePASS_SUCCESS5//用户密码验证成功消息#definePASS_FAILED6//用户密码验证失败消息#defineSERVER_STOP7//服务器停止消息#defineASK_NUM8//应答消息..#defineASKNUM_FAILED9//应答失败消息#definePRIVAT
此文档下载收益归作者所有