收藏 分销(赏)

概要设计基于qt的邮箱收发系统的设计与实现.doc

上传人:快乐****生活 文档编号:2467439 上传时间:2024-05-30 格式:DOC 页数:28 大小:516.50KB 下载积分:10 金币
下载 相关 举报
概要设计基于qt的邮箱收发系统的设计与实现.doc_第1页
第1页 / 共28页
概要设计基于qt的邮箱收发系统的设计与实现.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
基于QT的邮箱收发系统的 设计与实现 概要设计 总页数 26 正文 23 附录 0 生效日期 2013-12-23 编制 批准 南昌航空大学东软班 概要设计 修 改 履 历 修改编号 日期 修改人 版本号 修改内容 1 VER0.1.0 初撰 目 录 1 文档概述 4 1.1 文档目的和范围 4 1.2 术语/缩略语 4 1.3 参考文档 4 2 模块概述 4 2.1 模块功能定义.........................................................................................................................................5 2.1.1 UI_Control模块 .....................................................................................................................5 2.1.2 ClientSocket模块........................................................................................................................5 2.1.3 ServerSocket模块.......................................................................................................................6 2.1.4 DataBase模块.............................................................................................................................6 2.2 模块结构.................................................................................................................................................7 2.2.1 UI_Control模块 .....................................................................................................................7 2.2.2 ClientSocket模块.......................................................................................................................8 2.2.3 ServerSocket模块......................................................................................................................9 2.2.4 DataBase模块...........................................................................................................................10 2.3 模块动作时序.......................................................................................................................................11 3 接口说明...........................................................................................................................................................12 3.1 数据结构定义.......................................................................................................................................12 3.2 函数.......................................................................................................................................................12 3.2.1 模块间接口函数.......................................................................................................................12 3.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.0 2 模块概述 本项目是用比较常见的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 模块动作时序 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 37 3.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 - 传入的服务器IP INT16U 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 发送方IP INT16U 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 接收方IP INT16U 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 函数名 ServerInit 文件名 .../ ServerSocket.cpp 功能概要 服务器端socket初始化 记述形式 void ServerSocket:: ServerInit () 参数 类型 变量名 I/O 说明 - - - 返回值 类型 void 说明 值 - - 详细说明 无 使用注意事项 无 3.2.2.10 ServerSend 函数名 ServerSend 文件名 .../ ServerSocket.cpp 功能概要 客户端发送信息 记述形式 INT8U ServerSocket::ServerSend( QByteArray *datagram, STRING ReceiverIP, INT16U ReceiverPort ) 参数 类型 变量名 I/O 说明 QByteArray * datagram 传入需发送的数据数组指针 STRING ReceiverIP 接收数据的客户的IP INT16U ReceiverPort 接收数据的客户的端口 返回值 类型 INT8U 说明 值 SUCC 正常结束 ERR 异常结束 详细说明 这里的IP和端口均是要接收该数据的用户 使用注意事项 无 3.2.2.11 ServerReceive 函数名 ServerReceive 文件名 .../ ServerSocket.cpp 功能概要 服务器接收信息 记述形式 INT8U ServerSocket::ServerReceive(QByteArray *datagram) 参数 类型 变量名 I/O 说明 QByteArray * datagram 传入需发送的数据数组指针 返回值 类型 INT8U 说明 值 SUCC 正常结束 ERR 异常结束 详细说明 服务器不断接收客户端发送过来的数据 使用注意事项 无 3.2.2.12 ServerThreadProcess 函数名 run 文件名 .../ThreadProcess.cpp 功能概要 服务器端接收处理函数 记述形式 void ThreadProcess::run() 参数 类型 变量名 I/O 说明 - - - 返回值 类型 void 说明 值 - - 详细说明 用线程处理不断接收到的信息,但注意与客户端的处理函数区分 使用注意事项 无 目 录 第1章 总 论 3 1.1. 项目背景与概况 3 1.2. 主要技术经济指标 7 1.3. 问题与建议 8 第2章 项目投资环境与市场研究 9 2.1. 投资环境分析 9 2.2. 区域房地产市场分析 11 2.3. 销售预测 15 2.4. 营销策略 19 第3章 建设规模与项目开发条件 21 3.1. 建设规模 21 3.2. 项目概况现状 21 3.3. 项目建设条件 22 第4章 建筑方案 26 4.1. 设计依据 26 4.2. 项目设计主题和开发理念 26 4.3. 项目总体规划方案 27 4.4. 建筑设计 28 4.5. 结构设计 29 4.6. 给排水设计 30 第5章 节能节水措施 32 5.1. 设计依据 32 5.2. 建筑部分节能设计 32 第6章 环境影响评价 33 6.1. 编制依据 33 6.2. 环境现状 33 6.3. 项目建设对环境的影响 34 6.4. 环境保护措施 34 第7章 劳动卫生与消防 35 7.1. 指导思想 35 7.2. 职业安全卫生健康对策与措施 35 7.3. 消防设计 36 第8章 组织机构与人力资源配置 38 8.1. 组织机构 38 8.2. 人力资源配置 38 第9章 项目实施进度 39 9.1. 项目开发期 39 9.2. 项目实施进度安排 39 9.3. 项目实施过程控制措施 39 第10章 项目招投标 41 10.1. 工程项目招标投标概述 41 10.2. 工程项目招标投标因素分析 42 10.3. 招标依据 44 10.4. 招标范围 44 10.5. 招标方式 44 第11章 投资估算与资金筹措 45 11.1. 投资估算 45 11.2. 资金筹措 45 第12章 财务评价 47 12.1. 项目评估依据 47 12.2. 财务评价基础数据的选择 47 12.3. 财务评价 47 12.4. 不确定性分析 48 第13章 社会评价 49 13.1. 项目对社会的影响分析 49 13.2. 风险分析 50 13.3. 社会评价结论 51 第14章 研究结论与建议 52 14.1. 可行性研究结论 52 14.2. 建议 52
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服