1、 客户培训确认表项目管理体系文件概要设计说明书编 撰 人:审 核 人:批 准 人:批准日期:2013-3-12保密级别:机密文档版本:0.0.1 第 2 页 共 19 页 版本历史日期版本说明作者2013-3-120.0.1创建文档何涛 概要设计说明书目录1.引言11.1.编写目的11.2.背景11.3.术语11.4.参考资料12.总体设计22.1.系统体系结构22.2.系统组成结构22.3.运行环境22.3.1.运行环境网络结构说明32.3.2.运行环境说明细则42.3.3.支持软件52.4.系统的关键技术53.构件设计53.1.构件153.1.1.功能模块153.1.2.功能模块2(示例)
2、53.1.3.功能模块n63.2.构件之间的关系64.接口设计64.1.外部接口64.1.1.接口164.1.2.接口264.2.内部接口64.2.1.接口174.2.2.接口285.运行设计85.1.运行模块组合85.2.运行控制95.3.运行时间96.系统出错处理96.1.出错信息96.2.补救措施106.3.系统维护设计101. 引言1.1. 编写目的本文用于介绍我开发小组(川大威武)所开发的企业局域网即时通讯软件的设计内容,预期目的,完成情况以及具体所使用的方法和工具技巧。适用于给专业软件开发成员进行审核和共享的文本。1.2. 背景a企业局域网即时通讯软件。b提出者:刘廷勋开发者:刘廷
3、勋,王继鹏,肖陈,潘思奇,史洪洋,杨超,何涛,罗毅。c应用范围:大中型使用软件进行办公的企业1.3. 参考资料MFC,C+,VC+深入详解(孙鑫),C语言深度剖析,LinuxC编程一站式学习,C+语言参考手册,C函数大全,全中文-MFC类库详解。2. 总体设计2.1. 系统体系结构显示显示聊天室信息发出请求传输信息调取操作执行执行响应判断检查比对服务器客户端登陆界面成员信息管理员操作数据库聊天窗口2.2. 系统功能结构企业即时通讯软件客户端数据库服务器好友添加隐身功能多端连接。数据操作.自动加载自动刷新.2.3. 运行环境Windows32位,VC6.0,OBDC数据库2.4. 系统的关键技术
4、多线程交互技术3. 构件设计3.1. 构件列表构件列表序号构件分类构件名称依赖关系说明复用情况1服务器端数据库系统使用access数据库,依赖服务器程序的运行唯一2服务器端服务器程序一直运行唯一3客户端客户端程序依赖服务器程序的运行可以多个运行3.2. 构件集成说明集成顺序:先集成服务器程序,再集成数据库系统,最后集成客户端程序。集成策略:采用自底向上的策略。集成就绪准则:程序代码完成,每个部分调试没有运行时错误。集成结束准则:所有功能都基本完成,存在的集成过程错误和BUG都已经改正,则结束。3.3. 客户端构件本程序的客户端构建,完成客户端功能的实现,为用户的程序使用界面。3.3.1. 功能
5、模块列表模块列表构件名称模块编号模块名称对应需求功能编号所对应需求功能实现优先级客户端-服务器-数据库C_Login登录C_Login登录高C_MSGMA信息管理C_MSGMA个人信息管理低C_CHATRM聊天室C_CHATRM聊天室中C_CHAT私聊C_CHAT私聊中C_FRDMA好友管理C_FRDMA好友管理低C_EXIT退出C_EXIT退出高3.3.2. 功能模块【模块编号】C_LOGIN【功能描述】实现客户端登录服务器,打开主界面【前置条件】已经在服务器有个人登录信息【操作者】最终用户【与本模块相关的代码表和表】名称中文注释类型作用代码表表类Clogin登录类封装登录信息 【界面】【输
6、入】用户名,例如:张三,zhangsan 。(中英文字符,长度小于20)密码:例如:*(中英文字符,长度小于20)【处理流程及说明】说明:登录前客户不能进行任何服务,登录后进入主界面。【算法】字符串比较,相等则登录。【输出】进入主界面。【模块编号】C_MSGMA【功能描述】分为以下功能子模块:1. 个人信息查看。2. 个人信息修改。3. 好友信息查看。【前置条件】登录成功;查看的好友存在。【操作者】最终用户。【与本模块相关的代码表和表】名称中文注释类型作用代码表表类CUserInfo用户信息类封装用户个人信息 【界面】【输入】昵称:例如,张三。(中英文字符串,长度小于20)ID:例如,1043
7、11.(中英文字符串,长度小于20)性别:例如,男。(中文字符男或者女)Ip:,例如,102.0.0.1(IP类型的字符)部门:例如,财政科(中文字符,长度小于20)职位:例如,财政科长(中文字符,长度小于20)个性签名:,例如,我为代码狂(中英文字符串,长度小于100)年龄:例如,20(岁)(整型数)生日:例如,2011-3-22(CTime型)身份证号:例如,3409*2222(十八位字符)真实姓名:例如,张伟(中英文字符串,小于20)【处理流程及说明】客户端服务器数据库修改信息上传信息说明:客户端修改个人信息,发送到服务器,服务器把信息上传到服务器存储。【算法】字符串覆盖。【输出】输出到
8、数据库中存储。【模块编号】C_CHATRM【功能描述】实现以下功能子模块:1. 创建聊天室。2. 发送接受消息。3. 提交踢人请求。4. 查看聊天记录。5. 查看好友列表。6. 接受进入聊天室。7. 关闭聊天室。【前置条件】登录成功,创建聊天室请求被接受。【操作者】最终用户。【与本模块相关的代码表和表】名称中文注释类型作用代码表表类ChatRoom聊天室类封装聊天室操作【界面】【输入】发送的消息:例如,你好!(字符串,长度小于200)。【处理流程及说明】客户端1服务器数据库发送消息msg上传消息客户端2转发消息msg转发消息msg说明:客户端1发送一个msg信息,服务器把消息msg上传到数据库
9、存储,然后将消息转发到所有聊天室成员。【算法】字符串覆盖。【输出】输出到其他客户端页面显示。【模块编号】C_CHAT【功能描述】该功能有以下子模块:1. 收发信息。2. 关闭私聊窗口。3. 查看聊天记录。【前置条件】登录成功,并且有好友ID。【操作者】最终用户。【与本模块相关的代码表和表】名称中文注释类型作用代码表表类Chat私聊类封装私聊操作【界面】【输入】发送信息:例如,你好!(字符串,长度小于200)【处理流程及说明】客户端1服务器数据库发送消息msg1上传消息msg1客户端2转发消息msg1转发消息msg2上传消息msg2发送消息msg2说明:客户端1发送消息msg1,服务器受到后上传
10、到数据库,然后转发消息到客户端2;客户端2受到msg1,发送msg2到服务器,服务器受到上传到数据库,然后转发消息到客户端1.【算法】字符串存储。【输出】输出到对方客户端显示。【模块编号】C_FRDMA【功能描述】该功能模块包含以下子模块:1. 查看好友信息。2. 增加好友。3. 删除好友。【前置条件】登录成功,增加好友申请成功。【操作者】最终用户。【与本模块相关的代码表和表】名称中文注释类型作用代码表表类CFriends好友类封装好友信息【界面】【输入】好友ID【处理流程及说明】本地客户端服务器数据库好友客户端申请添加好友数据库搜索确认添加成功添加信息说明:本地客户端提交好友搜索要求,服务器
11、受到请求后,从数据库搜索,如果数据库没有该用户,发送申请失败!如果好友存在,转发请求,如果好友确认,服务器发送成功添加的消息给本地客户端。【算法】无。【输出】成功添加,或者添加失败。【模块编号】C_EXIT【功能描述】离开客户端。【前置条件】当前在线。【操作者】最终用户。【与本模块相关的代码表和表】名称中文注释类型作用代码表表类C_EXIT离开类封装离线信息【界面】无【输入】离开按钮。【处理流程及说明】无。【算法】无。【输出】离开当前界面。4. 接口设计构件接口列表构件名称接口编号接口名称接口类型说明客户端CLogin_Loginvoid CLogin:OnButtonLogin()内部登录接
12、口CUserInfo_Okvoid CUserInfo:OnButtonOk()内部用户信息接口CModifyPass_Okvoid CModifyPass:OnButtonMOk()内部修改密码接口CChatRoom_Sendvoid CChatRoom:OnButtonSend()内部发送聊天室信息接口CChatRoom_Recvvoid CChatRoom:OnButtonRecv()内部接受聊天室信息接口CChatRoom_Sendvoid CChat:OnButtonSend()内部发送私聊信息接口CChat_Recvvoid CChat:OnButtonRecv()内部接受私聊信息
13、接口SLogin_Loginvoid SLogin:OnButtonLogin()内部服务器登录接口5. 部署设计客户端1客户端2客户端3服务器数据库局域网聊天室:IP:172.18.23.xxxIp:127.18.23.20Ip:127.18.23.4Ip:127.18.23.19Ip:127.18.23.7数据存、取数 据 收 发说明:局域网内,一台机器最为服务器,其他机器作为客户机;服务器负责数据的存取;客户端与服务器之间进行数据的收发,以此实现局域网的聊天功能。6. 系统出错处理错误分类子项及其编码错误名称错误代码备注数据库错误连接错误连接超时100001001重新连接连接断开100001002重新连接数据库本身错误代码数据库本身错误代码100002+数据库错误代码检查代码,修改数据库TCP连接错误连接错误连接超时101001001afxMessageBox()返回错误信息,并从新连接连接断开101001002afxMessageBox()返回错误信息,并从新连接其它TCP连接错误(socket自身错误代码)101002+ socket错误代码调试代码,修改代码配置信息错误未配置输入参数102001输入参数未配置输出参数102002输出参数 第 16 页 共 19 页