概要设计-基于QT的邮箱收发系统的设计与实现_第1页
概要设计-基于QT的邮箱收发系统的设计与实现_第2页
概要设计-基于QT的邮箱收发系统的设计与实现_第3页
概要设计-基于QT的邮箱收发系统的设计与实现_第4页
概要设计-基于QT的邮箱收发系统的设计与实现_第5页
已阅读5页,还剩21页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于QT的邮箱收发系统的设计与实现概要设计总页数 26 正文 23 附录 0 生效日期 2013-12-23编制 批准南昌航空大学东软班 概要设计修 改 履 历修改编号 日期 修改人 版本号 修改内容1 VER0.1.0 初撰南昌航空大学东软班 概要设计目 录1 文档概述 .41.1 文档目的和范围 .41.2 术语/缩略语 .41.3 参考文档 .42 模块概述 .42.1 模块功能定义.52.1.1 UI_Control 模块 .52.1.2 ClientSocket 模块.52.1.3 ServerSocket 模块.62.1.4 DataBase 模块.62.2 模块结构.72.2.1 UI_Control 模块 .72.2.2 ClientSocket 模块.82.2.3 ServerSocket 模块.92.2.4 DataBase 模块.102.3 模块动作时序.113 接口说明.123.1 数据结构定义.123.2 函数.123.2.1 模块间接口函数.123.2.2 模块内接口函数.19南昌航空大学东软班 概要设计1 文档概述1.1 文档目的和范围该文档主要完成的是对整个项目模块的划分和模块间接口的设计,为项目开发人员的详细设计提供依据。1.2 术语 /缩略语序号 术语/缩略语 说明1 Socket 通常也称作套接字,用于描述 IP 地址和端口,是一个通信链的句柄。2 UI_Control 界面交互模块3 ClientSocket 客户端模块4 ServerSocket 服务器模块5 Database 数据库模块,存储相关数据1.3 参考文档序号 文档名 作者 时间 版本1 基于 QT 的邮箱收发系统需求分析报告书 吴奎 2013-12-16 Ver 0.1.02 模块概述本项目是用比较常见的 B/S 架构来设计的,分为客户端和服务器两大模块。其中客户端又分为界面交互模块和客户端通信模块,服务器模块分为服务器通信模块和数据库模块。界面交互模块负责界面的显示以及与用户的交互;客户端通信模块负责将用户操作产生的消息传送至服务器上以及接收服务器传来的消息;服务器通信模块负责接收客户端传送的消息并且根据消息类型进行相应的处理,再将处理的结果传送给对应的客户端。数据库模块负责存储和提供系统中生成的信息,并对这些信息进行管理。 南昌航空大学东软班 概要设计2.1 模块功能定义2.1.1 UI_Control 模块序号 功能点 功能点详细内容1 登录界面 用户通过登录界面通过输入用户名和密码登录邮箱2 注册界面 新用户注册新的邮箱账号3 邮箱主界面 显示邮箱的主要信息,包括收件箱、发件箱、垃圾箱等4 编写邮件界面 用户编写新的邮件5 查看邮件界面 查看完整的邮件信息6 添加附件 在邮件中添加文档、图片、声音、视频等7 管理邮件 用户对自己邮箱内的邮件进行增删查改等操作8 邮件搜索 可以查找用户需要查看的邮件9 最近联系人 显示最近来往的邮箱号,方便发送邮件10 名片设置 用户设置自己的信息以便好友了解11 字体设置 设置字体的颜色和大小12 添加表情 编写邮件内容可以插入动态的表情13 界面换肤 更改界面的主题和背景色2.1.2 ClientSocket 模块序号 功能点 功能点详细内容1登录邮箱输入账号和密码登录邮箱,登录的信息将发送至服务器并接受返回结果。2 注册邮箱 建注册的信息发送至服务器并等待服务器返回的结果3 收取邮件 接收服务器返回的已读和未读邮件标题等相关信息4 发送邮件 将邮件内容和收件人地址等信息发送至服务器并接收返回结果5 查看邮件将帐号和邮件 ID 等信息发送至服务器并接收返回的邮件内容等信息6 名片设置 将名片中修改的内容项发送至服务器并接收返回的结果7 邮件搜索 将帐号和搜索关键字等信息发送至服务器并接收返回的搜索结南昌航空大学东软班 概要设计果内容8 删除邮件将要删除或彻底删除的帐号和邮件 ID 等信息发送至服务器并接收返回的结果,彻底删除的不会进垃圾箱。9 恢复邮件将垃圾箱中未彻底删除的邮件恢复的信息发送至服务器并接收返回的结果2.1.3 ServerSocket 模块序号 功能点 功能点详细内容1 接收信息 接收客户端的请求,比如登录、注册、收取邮件、删除邮件等2 发送信息 对客户端发送来的消息进行相应的处理并返回结果给客户端2.1.4 Database 模块序号 功能点 功能点详细内容1 登录检测 用户登录时检测用户的账号和密码是否正确2 用户状态变换 用户登录或退出时,更换数据库表中用户的当前状态3 增加用户 将新注册的用户信息加入数据库表4 发送邮件 将邮件的所有相关信息存储到数据库表中5 转发邮件 若数据库中邮件被取出,并已经发送,做标记6 删除邮件 删除没有用的邮件,节约存储空间7 更改用户 IP 和端口 当用户登陆时存储用户 ip 和端口,用于与服务器通信8 保存附件 当有附件时,建立文件夹存储附件并记录其与邮件 id 的关联南昌航空大学东软班 概要设计2.2 模块结构2.2.1 UI_Control 模块模块名称 模块类型 概要说明MessagePack 内部模块 对发送的消息进行打包MessageUnpack内部模块 对接收到的消息进行解包ReceiveMsg 内部模块 接收服务器信息ThreadProcess 内部模块 线程处理接收到的信息南昌航空大学东软班 概要设计2.2.2 ClientSocket 模块模块名称 模块类型 概要说明ClientSend 接口 客户端通信发送函数ClientReceive 接口 客户端通信接收函数ClientInit 内部模块 Socket 初始化SetSender_Msg内部模块 设置发送方 IP 和端口SetReceiver_Msg内部模块 设置接收方 IP 和端口南昌航空大学东软班 概要设计2.2.3 ServerSocket 模块模块名称 模块类型 概要说明ServerSend 内部模块 服务器端通信发送函数ServerReceive 内部模块 服务器端通信接收函数ServerInit 内部模块 Socket 初始化ThreadProcess 内部模块 服务器端处理函数GetServerIp 内部模块 获取服务器 IP南昌航空大学东软班 概要设计2.2.4 DataBase 模块模块名称 模块类型 概要说明AddMailInfo 接口 增加邮件信息AddUserInfo 接口 增加用户信息DeleteMailInfo 接口 删除邮件信息setUserOnline 接口 设置用户状态CheckUserPwd 接口 检查用户密码DataBaseInit 接口 初始化数据库ModifyUserInfo 接口 修改用户信息SetMailFlag 接口 修改邮件标志南昌航空大学东软班 概要设计2.3 模块动作时序U I _ C o n t r o lC l i e n t S o c k e tS e r v e r S o c k e t D a t a B a s e用户登录登录返回C l i e n t S e n d ( )S e r v e r S e n d ( )C h e c k U s e r P w d ( )S e t U s e r O n l i n e ( )用户注册注册结果C l i e n t S e n d ( )S e r v e r S e n d ( )A d d U s e r I n f o ( )I s R e n u m ( )发送邮件收取邮件C l i e n t R e c e i v e ( )C l i e n t S e n d ( )C l i e n t S e n d ( )S e r v e r S e n d ( )A d d M a i l I n f o ( )T h r e a d P r o c e s s ( )G e t M a i l L i s t ( )设置名片C l i e n t S e n d ( )删除邮件M o d i f y U s e r I n f o ( )C l i e n t S e n d ( )D e l e t e M a i l I n f o ( )南昌航空大学东软班 概要设计3 接口说明3.1 数据结构定义#define INT8U quint8#define INT16U quint16#define INT64U quint64#define STRING QString#define SUCC 1#define ERR 0#define SYS_ON 11#define SYS_OFF 12#define SYS_LOGIN_SUCC 13#define SYS_LOGIN_ERR 14#define SYS_REGISTER_SUCC 15#define SYS_REGISTER_ERR 16#define SYS_REQUEST 17#define USR_LOGIN 31#define USR_REGISTER 32#define USR_GETMAIL 33#define USR_NOTREAD_MAIL 34#define USR_RECEIVE_MAIL 35#define USR_SENDED_MAIL 36#define USR_DELETED_MAIL 373.2 函数3.2.1 模块间接口函数3.2.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 发送失败详细说明客户端发送信息函数,给用户界面交互时使用使用注意事项无3.2.1.2 ClientReceive函数名 ClientReceive 文件名 ./ClientSocket.cpp功能概要 客户端信息接收函数记述形式 INT8U ClientSoclet:ClientReceive(QByteArray *datagram)参数类型 变量名 I/O 说明QByteArray datagram - 存储接收到的数据类型 INT8U 说明SUCC 接收成功返回值值ERR 接收失败南昌航空大学东软班 概要设计详细说明接收函数给客户端界面交互调用,接收的数据再被处理使用注意事项无3.2.1.3 AddMailInfo函数名 AddMailInfo文件名 ./DataBase.cpp功能概要 增加邮件信息记述形式 bool DataBase:AddMailInfo(Mail mail)参数类型 变量名 I/O 说明Mail mail - 传入 Mail 类对象类型 bool 说明true 正常结束返回值值false 异常结束详细说明当服务器收到发送邮件标志时处理函数调用该函数使用注意事项传入参数的类型3.2.1.4 AddUserInfo函数名 AddUserInfo文件名 ./DataBase.cpp功能概要 增加用户信息记述形式 bool DataBase:AddUserInfo(User user)参数类型 变量名 I/O 说明User user - 传入用户信息类对象南昌航空大学东软班 概要设计类型 bool 说明true 正常结束返回值值false 异常结束详细说明当服务器收到新用户注册标志时处理函数调用该函数使用注意事项传入参数的类型3.2.1.5 DeleteMailInfo函数名 DeleteMailInfo文件名 ./DataBase.cpp功能概要 删除邮件信息记述形式 bool DataBase:DeleteMailInfo(INT16U mailId)参数类型 变量名 I/O 说明INT16U mailId - 邮件标志类型 bool 说明true 正常结束返回值值fasle 异常结束详细说明服务器处理删除邮件时调用该函数使用注意事项无3.2.1.6 SetUserOnline函数名 SetUserOnline南昌航空大学东软班 概要设计文件名 ./DataBase.cpp功能概要 更改用户在线状态记述形式 bool DataBase:SetUserOnline(STRING userName,INT8U userStatus)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号INT8U userStatus - 传入状态值类型 bool 说明true 正常结束返回值值false 异常结束详细说明当收到用户登陆成功信息时调用该函数使用注意事项无3.2.1.7 CheckUserPwd函数名 CheckUserPwd文件名 ./ DataBase.cpp功能概要 验证用户帐号和密码记述形式 bool DataBase: CheckUserPwd (STRING userName,STRING password)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号南昌航空大学东软班 概要设计STRING password - 传入用户邮箱密码类型 bool 说明true 正常结束返回值值false 异常结束详细说明用户登陆时服务器进行验证使用注意事项无3.2.1.8 DataBaseInit函数名 DataBaseInit文件名 ./ DataBase.cpp功能概要 数据库初始化记述形式 bool DataBase: DataBaseInit ()参数类型 变量名 I/O 说明- - - -类型 bool 说明true 正常结束返回值值false 异常结束详细说明服务器启动开始调用该函数使用注意事项无3.2.1.9 ModifyUserInfo函数名 ModifyUserInfo南昌航空大学东软班 概要设计文件名 ./ DataBase.cpp功能概要 修改用户信息记述形式 bool DataBase: ModifyUserInfo (STRING username,User newUser)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号User newUser - 传入用户信息对象类型 bool 说明true 正常结束返回值值false 异常结束详细说明用户更改名片操作时数据库模块调用该函数处理使用注意事项无3.2.1.10 SetMailFlag函数名 SetMailFlag文件名 ./ DataBase.cpp功能概要 更改邮件标志记述形式 bool DataBase:SetMailFlag (STRING userName,INT8U mailStatus)参数类型 变量名 I/O 说明STRING userName - 传入用户邮箱帐号INT8U mailStatus - 传入邮件标志南昌航空大学东软班 概要设计类型 bool 说明true 正常结束返回值值false 异常结束详细说明邮件已转发送至用户邮箱,更改邮件标志使用注意事项无3.2.2 模块内接口函数3.2.2.1 MessagePack函数名 MessagePack文件名 ./Message.cpp功能概要 打包要发送的消息记述形式 INT8U Message:MessagePack(QByteArray *datagram)参数类型 变量名 I/O 说明QByteArray * datagram I 打包后存储的数据数组指针类型 INT8U 说明SUCC 正常结束返回值值ERR 异常结束详细说明将要传送的数据全部打包在一起发送使用注意事项无南昌航空大学东软班 概要设计3.2.2.2 MessageUnpack函数名 MessageUnpack文件名 ./Message.cpp功能概要 解包要接收到的消息记述形式 INT8U Message:MessageUnpack(QByteArray *datagram)参数类型 变量名 I/O 说明QByteArray * datagram I 传入需要解包的数据数组指针类型 INT8U 说明SUCC 正常结束返回值值ERR 异常结束详细说明从包中解出需要的单个数据域使用注意事项无3.2.2.3 ClientThreadProcess函数名 run文件名 ./ThreadProcess.cpp功能概要 客户端接收处理函数记述形式 void ThreadProcess:run()参数类型 变量名 I/O 说明- - -类型 void 说明返回值值 - -详细说明客户端接收处理函数,注意与服务器端的区分南昌航空大学东软班 概要设计使用注意事项无3.2.2.4 ReceiveMsg函数名 ReceiveMsg文件名 ./xmailmainwidget.cpp功能概要 客户端接收信息记述形式 void xmailMainWidget:ReceiveMsg()参数类型 变量名 I/O 说明- - -类型 void 说明返回值值 - -详细说明客户端接收的信息使用注意事项无3.2.2.5 ClientInit函数名 ClientInit文件名 ./ClientSocket.cpp功能概要 客户端 socket 初始化记述形式 INT8U ClientSocket:ClientInit()参数类型 变量名 I/O 说明- - -类型 INT8U 说明返回值值 SUCC 正常结束南昌航空大学东软班 概要设计ERR 异常结束详细说明用套接字通信前对套接字进行初始化使用注意事项无3.2.2.6 SetSender_Msg函数名 SetSender_Msg文件名 ./ClientSocket.cpp功能概要 套接字发送方 IP 和端口设置记述形式 INT8U ClientSocket:SetSender_Msg(STRING senderIP,INT16U senderPort)参数类型 变量名 I/O 说明STRING senderIP 发送方 IPINT16U senderPort 发送方端口类型 INT8U 说明SUCC 正常结束返回值值ERR 异常结束详细说明无使用注意事项无南昌航空大学东软班 概要设计3.2.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 正常结束返回值值ERR 异常结束详细说明无使用注意事项无3.2.2.8 GetServerIP函数名 GetServerIP文件名 ./ServerSocket.cpp功能概要 获取服务器 IP记述形式 STRING ServerSocket: GetServerIP()参数类型 变量名 I/O 说明- - -南昌航空大学东软班 概要设计类型 STRING 说明返回值值 serverip 服务器 IP 地址详细说明服务器端口已固定,自动获取服务器所在主机的 IP 地址使用注意事项无3.2.2.9 ServerInit函数名 Ser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论