




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于QT的邮箱收发系统的设计与实现详细设计南昌航空大学东软班 详细设计报告 版本:0.1.0总页数 33 正文 29 附录 0 生效日期 2013-12-30编制 批准南昌航空大学东软班 详细设计报告 版本:0.1.0修 改 履 历修改编号 日期 修改人 版本号 修改内容1 0.1.0 初始做成2 0.1.1 流程图重新截屏南昌航空大学东软班 详细设计报告 版本:0.1.0目 录1 文档概述 .51.1 文档目的和范围 .51.2 术语/缩略语 .51.3 参考文档 .52 处理 .62.1 模块功能实现 .62.1.1 模块间接口函数.62.1.2 模块内部函数.18南昌航空大学东软班 详细设计报告 版本:0.1.01 文档概述1.1 文档目的和范围此文档是对基于 QT 的邮箱收发系统的设计与实现的详细设计描述,主要是描述了本模块与其它模块的接口函数和内部接口函数以及内部函数的定义、流程图和构成图的记述。1.2 术语 /缩略语序号 术语/缩略语 说明1 QT 图形界面设计2 SOCKET 实现信息的发送与接收3 DataBase 数据库,是按照数据结构来组织、存储和管理数据的仓库1.3 参考文档序号 文档名 作者 时间 版本1 详细设计模板 IA 事业部 2007-11-9 0002 详细设计方法 IA 事业部 2007-11-9 0003 函数说明指南 IA 事业部 2007-6-4 1104 流程图指南 IA 事业部 2007-6-4 1105 需求分析报告书 吴奎 2013-12-19 0106 概要设计 吴奎 2013-12-26 010南昌航空大学东软班 详细设计报告 版本:0.1.02 处理2.1 模块功能实现2.1.1 模块间接口函数2.1.1.1 ClientSend【函数式样】函数名 ClientSend文件名 ./ClientSocket.cpp功能概要 客户端信息发送记述形式 INT8U ClientSocket:ClientSend(QByteArray *datagram, STRING ReceiverIP,INT16U ReceiverPort)参数类型 变量名 I/O 说明QByteArray datagram - 传入的数据数组指针STRING ReceiverIP - 传入的服务器 IPINT16U ReceiverPort - 传入的服务器端口类型 INT8U 说明SUCC 发送成功返回值值ERR 发送失败详细说明客户端发送函数给客户端界面交互调用使用注意事项无南昌航空大学东软班 详细设计报告 版本:0.1.0【函数处理流程】开始结束发送数据w r i t e D a t a g r a m ( )结果返回 - 1 , 则发送失败2.1.1.2 ClientReceive【函数式样】函数名 ClientReceive 文件名 ./ClientSocket.cpp功能概要 客户端信息接收函数记述形式 INT8U ClientSoclet:ClientReceive(QByteArray *datagram)参数类型 变量名 I/O 说明QByteArray datagram - 存储接收到的数据类型 INT8U 说明SUCC 接收成功返回值值ERR 接收失败详细说明接收函数给客户端界面交互调用,接收的数据再被处理使用注意事项无南昌航空大学东软班 详细设计报告 版本:0.1.0【函数处理流程】开始结束循环等待w h i l e ()获取数据大小p e n d i n g D a t a g r am S i z e ( )设置存储大小r e s i z e ( )接收数据r e a d D a t a g r a m ( )判断是否有等待接收的数据获取发送过来的数据的大小设置要接收的数据的大小按照数据大小接收数据2.1.1.3 AddMailInfo【函数式样】函数名 AddMailInfo文件名 ./DataBase.cpp功能概要 增加邮件信息记述形式 bool DataBase:AddMailInfo(Mail mail)参数类型 变量名 I/O 说明Mail mail - 传入 Mail 类对象返回值 类型 bool 说明南昌航空大学东软班 详细设计报告 版本:0.1.0true 正常结束值false 异常结束详细说明当服务器收到发送邮件标志时处理函数调用该函数使用注意事项传入参数的类型【函数处理流程】开始结束插入语句I n s e r t i n t o拼接插入语句值a p p e n d ( )执行 e x e c ( )将插入语句放入s t r i n g 中 , 插入邮件列表拼接邮件信息的各项值 , 并放在s t r i n g 中同时执行 s t r i n g 中拼接的插入语句2.1.1.4 AddUserInfo【函数式样】函数名 AddUserInfo文件名 ./DataBase.cpp功能概要 增加用户信息记述形式 bool DataBase:AddUserInfo(User user)南昌航空大学东软班 详细设计报告 版本:0.1.0参数类型 变量名 I/O 说明User user - 传入用户信息类对象类型 bool 说明true 正常结束返回值值false 异常结束详细说明当服务器收到新用户注册标志时处理函数调用该函数使用注意事项传入参数的类型【函数处理流程】开始结束插入语句I n s e r t i n t o拼接插入语句值a p p e n d ( )执行 e x e c ( )将插入语句放入s t r i n g 中 , 插入邮件列表拼接邮件信息的各项值 , 并放在s t r i n g 中同时执行 s t r i n g 中拼接的插入语句2.1.1.5 DeleteMailInfo【函数式样】南昌航空大学东软班 详细设计报告 版本:0.1.0函数名 DeleteMailInfo文件名 ./DataBase.cpp功能概要 删除邮件信息记述形式 bool DataBase:DeleteMailInfo(INT16U mailId)参数类型 变量名 I/O 说明INT16U mailId - 邮件标志类型 bool 说明true 正常结束返回值值fasle 异常结束详细说明服务器处理删除邮件时调用该函数使用注意事项无【函数处理流程】开始结束删除语句D e l e t e f r o m拼接删除语句值a p p e n d ( )执行 e x e c ( )将删除语句放入s t r i n g 中 , 删除邮件列表中对应的邮件信息拼接邮件信息的邮件 I D , 并放在s t r i n g 中执行 s t r i n g 中所拼接的删除语句南昌航空大学东软班 详细设计报告 版本:0.1.02.1.1.6 SetUserOnline【函数式样】函数名 SetUserOnline文件名 ./DataBase.cpp功能概要 更改用户在线状态记述形式 bool DataBase:SetUserOnline(STRING userName,INT8U userStatus)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号INT8U userStatus - 传入状态值类型 bool 说明true 正常结束返回值值false 异常结束详细说明当收到用户登陆成功信息时调用该函数使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0开始结束更新语句U p d a t e * * s e t拼接更新语句值a p p e n d ( )执行 e x e c ( )将更新语句放入s t r i n g 中 , 更新用户列表中的用户状态拼接邮件信息的邮件 I D 和状态值 , 并放在 s t r i n g 中执行 s t r i n g 中所拼接的更新语句2.1.1.7 CheckUserPwd【函数式样】函数名 CheckUserPwd文件名 ./ DataBase.cpp功能概要 验证用户帐号和密码记述形式 bool DataBase: CheckUserPwd (STRING userName,STRING password)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号STRING password - 传入用户邮箱密码返回值 类型 bool 说明南昌航空大学东软班 详细设计报告 版本:0.1.0true 正常结束值false 异常结束详细说明用户登陆时服务器进行验证使用注意事项无【函数处理流程】开始结束查找语句S e l e c t p s w f r o m拼接查找语句值a p p e n d ( )执行 e x e c ( )密码是否匹配I f ( )将查找语句放入 s t r i n g中 , 查找用户信息表中的用户密码拼接用户信息的用户名并放在 s t r i n g 中执行 s t r i n g 中所拼接的查找语句查找用户密码将输入的密码与存入的密码进行比较2.1.1.8 DataBaseInit【函数式样】函数名 DataBaseInit南昌航空大学东软班 详细设计报告 版本:0.1.0文件名 ./ DataBase.cpp功能概要 数据库初始化记述形式 bool DataBase: DataBaseInit ()参数类型 变量名 I/O 说明- - - -类型 bool 说明true 正常结束返回值值false 异常结束详细说明服务器启动开始调用该函数,启动数据库使用注意事项无【函数处理流程】开始结束建表语句C r e a t e t a b l e执行语句 e x e c ( )将建表语句放入 s t r i n g中 , 建立用户信息表和邮件信息表执行建表语句2.1.1.9 ModifyUserInfo【函数式样】南昌航空大学东软班 详细设计报告 版本:0.1.0函数名 ModifyUserInfo文件名 ./ DataBase.cpp功能概要 修改用户信息记述形式 bool DataBase: ModifyUserInfo (STRING username,User newUser)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号User newUser - 传入用户信息对象类型 bool 说明true 正常结束返回值值false 异常结束详细说明用户更改名片操作时数据库模块调用该函数处理使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0开始结束更新语句U p d a t e * * s e t拼接更新语句值a p p e n d ( )执行 e x e c ( )将更新语句放入 s t r i n g中 , 更新用户信息表中的用户信息拼接用户信息表中的信息放在 s t r i n g中执行 s t r i n g 中所拼接的更新语句2.1.1.10 SetMailFlag【函数式样】函数名 SetMailFlag文件名 ./ DataBase.cpp功能概要 更改邮件标志记述形式 bool DataBase:SetMailFlag (STRING userName,INT8U mailStatus)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号INT8U mailStatus - 传入邮件标志南昌航空大学东软班 详细设计报告 版本:0.1.0类型 bool 说明true 正常结束返回值值false 异常结束详细说明邮件已转发送至用户邮箱,更改邮件标志使用注意事项无【函数处理流程】开始结束更新语句U p d a t e * * s e t拼接更新语句值a p p e n d ( )执行 e x e c ( )将更新语句放入 s t r i n g中 , 更新邮件信息表中的邮件标志拼接邮件信息表中的邮件标志和邮件 i d 并放在 s t r i n g 中执行 s t r i n g 中所拼接的更新语句2.1.2 模块内部函数2.1.2.1 MessagePack【函数式样】南昌航空大学东软班 详细设计报告 版本:0.1.0函数名 MessagePack文件名 ./Message.cpp功能概要 打包要发送的消息记述形式 INT8U Message:MessagePack(QByteArray *datagram)参数类型 变量名 I/O 说明QByteArray * datagram I 打包后存储的数据数组指针类型 INT8U 说明SUCC 正常结束返回值值ERR 异常结束详细说明将要传送的数据全部打包在一起发送使用注意事项无【函数处理流程】开始结束可写数据流Q D a t a S t r e a m i n ( )写入数据i n 将数据流设定为可读出 , 并传入已存放数据的数组将数据从数组中读出2.1.2.3 ClientThreadProcess【函数式样】函数名 run文件名 ./ThreadProcess.cpp功能概要 客户端接收处理函数记述形式 void ThreadProcess:run()参数类型 变量名 I/O 说明- - - -类型 void 说明- -返回值值- -详细说明客户端接收处理函数,注意与服务器端的区分使用注意事项无南昌航空大学东软班 详细设计报告 版本:0.1.0【函数处理流程】开始结束可写数据流Q D a t a S t r e a m o u t ( )读出数据o u t 将数据流设定为可读出 , 并传入已存放数据的数组从数组中读出消息标志判断消息标志s w i t c h ( )对不同的消息作出不同的处理2.1.2.4 ReceiveMsg【函数式样】函数名 ReceiveMsg文件名 ./xmailmainwidget.cpp功能概要 客户端接收信息记述形式 void xmailMainWidget:ReceiveMsg()参数类型 变量名 I/O 说明- - - -类型 void 说明- -返回值值- -南昌航空大学东软班 详细设计报告 版本:0.1.0详细说明客户端接收消息使用注意事项无【函数处理流程】开始结束获取数据C l i e n t R e c e i v e ( )创建线程处理N e w T h r e a d P r o c e s s获取客户端 s o c k e t 接收到的数据创建线程对象处理接收到的数据2.1.2.5 ClientInit【函数式样】函数名 ClientInit文件名 ./ClientSocket.cpp功能概要 客户端 socket 初始化记述形式 INT8U ClientSocket:ClientInit()参数类型 变量名 I/O 说明- - - -类型 INT8U 说明返回值值 SUCC 成功结束南昌航空大学东软班 详细设计报告 版本:0.1.0ERR 失败结束详细说明用套接字通信前对套接字进行初始化使用注意事项无【函数处理流程】开始结束获取 I PG e t L o c a l I P ( )获取端口G e t P o r t ( )创建 s o c k e tn e w Q U d p S o c k e t ( )绑定端口b i n d ( )查询服务器S e a r c h S e r v e r ( )获取 s o c k e t 需要的端口 , 若获取失败 , 则重新分配一个端口客户端创建 s o c k e t绑定失败则重新分配端口获取服务器 I P获取本地 I P , 若获取失败 , 则返回失败参数2.1.2.6 SetSender_Msg【函数式样】函数名 SetSender_Msg南昌航空大学东软班 详细设计报告 版本:0.1.0文件名 ./ClientSocket.cpp功能概要 套接字发送方 IP 和端口设置记述形式 INT8U ClientSocket:SetSender_Msg(STRING senderIP,INT16U senderPort)参数类型 变量名 I/O 说明STRING senderIP 发送方 IPINT16U senderPort 发送方端口类型 INT8U 说明SUCC 正常结束返回值值ERR 异常结束详细说明配置 IP 和端口设置使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0开始结束获取 I PG e t L o c a l I P ( )获取端口G e t P o r t ( )赋值s e n d e r I P ( )s e n d e r P o r t ( )获取 s o c k e t 需要的端口 , 若获取失败 , 则重新分配一个端口本地客户端的初始化获取本地 I P , 若获取失败 , 则返回失败参数2.1.2.7 SetReceiver_Msg【函数式样】函数名 SetReceiver_Msg文件名 ./ClientSocket.cpp功能概要 套接字发送方 IP 和端口设置记述形式 INT8U ClientSocket: SetReceiver_Msg (STRING receiverIP,INT16U receiverPort)参数类型 变量名 I/O 说明STRING receiverIP 接收方 IPINT16U receiverPort 接收方端口类型 INT8U 说明返回值值 SUCC 正常结束南昌航空大学东软班 详细设计报告 版本:0.1.0ERR 异常结束详细说明无使用注意事项无【函数处理流程】开始结束赋值r e c e i v e r I P ( )r e c e i v e r P o r t ( )本地客户端服务器的初始化2.1.2.8 GetServerIP【函数式样】函数名 GetServerIP文件名 ./ServerSocket.cpp功能概要 获取服务器 IP记述形式 STRING ServerSocket: GetServerIP()参数类型 变量名 I/O 说明- - - -类型 STRING 说明serverip 服务器 IP 地址返回值值南昌航空大学东软班 详细设计报告 版本:0.1.0详细说明服务器端口已固定,自动获取服务器所在主机的 IP 地址使用注意事项无【函数处理流程】开始结束获取 I PG e t L o c a l I P ( )I P 初始化S e r v e r I P ( )服务器 I P 赋初值获取本地所在服务器的I P , 若获取失败 , 则返回失败参数2.1.2.9 ServerInit【函数式样】函数名 ServerInit文件名 ./ ServerSocket.cpp功能概要 服务器端 socket 初始化记述形式 void ServerSocket: ServerInit ()参数类型 变量名 I/O 说明- - - -类型 void 说明返回值值 - -南昌航空大学东软班 详细设计报告 版本:0.1.0- -详细说明服务器端初始化使用注意事项无【函数处理流程】开始结束获取 I PG e t L o c a l I P ( )获取端口G e t P o r t ( )创建 s o c k e tn e w Q U d p S o c k e t ( )绑定端口b i n d ( )服务器初始化端口创建服务器套接字s o c k e tS o c k e t 绑定端口获取服务器 I P , 若获取失败 , 则返回失败参数2.1.2.10 ServerSend【函数式样】函数名 ServerSend文件名 ./ ServerSocket.cpp功能概要 客户端发送信息南昌航空大学东软班 详细设计报告 版本:0.1.0记述形式 INT8UServerSocket:ServerSend(QByteArray*datagram,STRING ReceiverIP,INT16U ReceiverPort)参数类型 变量名 I/O 说明QByteArray * datagram 传入需发送的数据数组指针STRING ReceiverIP 接收数据的客户的 IPINT16U ReceiverPort 接收数据的客户的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医药学概论试题及答案
- 随州市重点中学2024-2025学年数学高二第二学期期末达标检测模拟试题含解析
- 企业财务数据安全保密及员工行为规范合同
- 全球化市场拓展与外贸企业知识产权保护合同
- 车辆赠与合同范本及赠与条件约定
- 采石场土地及矿产资源开采权移交合同
- 餐饮业人力资源招聘与配置顾问合同
- 精细化管理餐饮业厨师岗位劳动合同
- 团工委工作计划-团委团支部工作计划
- 学生批量请假管理制度
- 高空作业搬运无人机行业深度调研及发展项目商业计划书
- 中国广电山东网络有限公司市县公司招聘笔试题库2025
- 2024年浙江省遂昌县事业单位公开招聘教师岗考试题带答案分析
- 2024年江苏省武进市事业单位公开招聘医疗卫生岗考前冲刺模拟带答案
- 2025届陕西省高三新高考全真模拟政治试题(原卷版+解析版)
- 南京2025年南京市市场监督管理局所属事业单位招聘编外笔试历年参考题库附带答案详解
- 2025贵州中考:政治必考知识点
- 心率变异性与情绪状态的相关性-洞察阐释
- 2025-2030中国再生纤维行业市场发展现状及竞争策略与投资前景研究报告
- 2025届湖北省示范中学高考冲刺押题(最后一卷)英语试卷含答案
- 2025年初中语文名著阅读《林海雪原》知识点总结及练习
评论
0/150
提交评论