本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx

上传人:b****3 文档编号:10386660 上传时间:2023-05-25 格式:DOCX 页数:29 大小:124.77KB
下载 相关 举报
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第1页
第1页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第2页
第2页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第3页
第3页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第4页
第4页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第5页
第5页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第6页
第6页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第7页
第7页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第8页
第8页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第9页
第9页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第10页
第10页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第11页
第11页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第12页
第12页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第13页
第13页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第14页
第14页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第15页
第15页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第16页
第16页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第17页
第17页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第18页
第18页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第19页
第19页 / 共29页
本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx

《本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx(29页珍藏版)》请在冰点文库上搜索。

本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现.docx

本科毕业设计论文概要设计基于qt的邮箱收发系统的设计与实现

 

基于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.1UI_Control模块.....................................................................................................................5

2.1.2ClientSocket模块........................................................................................................................5

2.1.3ServerSocket模块.......................................................................................................................6

2.1.4DataBase模块.............................................................................................................................6

2.2模块结构.................................................................................................................................................7

2.2.1UI_Control模块.....................................................................................................................7

2.2.2ClientSocket模块.......................................................................................................................8

2.2.3ServerSocket模块......................................................................................................................9

2.2.4DataBase模块...........................................................................................................................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

Ver0.1.0

2模块概述

本项目是用比较常见的B/S架构来设计的,分为客户端和服务器两大模块。

其中客户端又分为界面交互模块和客户端通信模块,服务器模块分为服务器通信模块和数据库模块。

界面交互模块负责界面的显示以及与用户的交互;客户端通信模块负责将用户操作产生的消息传送至服务器上以及接收服务器传来的消息;服务器通信模块负责接收客户端传送的消息并且根据消息类型进行相应的处理,再将处理的结果传送给对应的客户端。

数据库模块负责存储和提供系统中生成的信息,并对这些信息进行管理。

2.1模块功能定义

2.1.1UI_Control模块

序号

功能点

功能点详细内容

1

登录界面

用户通过登录界面通过输入用户名和密码登录邮箱

2

注册界面

新用户注册新的邮箱账号

3

邮箱主界面

显示邮箱的主要信息,包括收件箱、发件箱、垃圾箱等

4

编写邮件界面

用户编写新的邮件

5

查看邮件界面

查看完整的邮件信息

6

添加附件

在邮件中添加文档、图片、声音、视频等

7

管理邮件

用户对自己邮箱内的邮件进行增删查改等操作

8

邮件搜索

可以查找用户需要查看的邮件

9

最近联系人

显示最近来往的邮箱号,方便发送邮件

10

名片设置

用户设置自己的信息以便好友了解

11

字体设置

设置字体的颜色和大小

12

添加表情

编写邮件内容可以插入动态的表情

13

界面换肤

更改界面的主题和背景色

2.1.2ClientSocket模块

序号

功能点

功能点详细内容

1

登录邮箱

输入账号和密码登录邮箱,登录的信息将发送至服务器并接受返回结果。

2

注册邮箱

建注册的信息发送至服务器并等待服务器返回的结果

3

收取邮件

接收服务器返回的已读和未读邮件标题等相关信息

4

发送邮件

将邮件内容和收件人地址等信息发送至服务器并接收返回结果

5

查看邮件

将帐号和邮件ID等信息发送至服务器并接收返回的邮件内容等信息

6

名片设置

将名片中修改的内容项发送至服务器并接收返回的结果

7

邮件搜索

将帐号和搜索关键字等信息发送至服务器并接收返回的搜索结果内容

8

删除邮件

将要删除或彻底删除的帐号和邮件ID等信息发送至服务器并接收返回的结果,彻底删除的不会进垃圾箱。

9

恢复邮件

将垃圾箱中未彻底删除的邮件恢复的信息发送至服务器并接收返回的结果

2.1.3ServerSocket模块

序号

功能点

功能点详细内容

1

接收信息

接收客户端的请求,比如登录、注册、收取邮件、删除邮件等

2

发送信息

对客户端发送来的消息进行相应的处理并返回结果给客户端

2.1.4Database模块

序号

功能点

功能点详细内容

1

登录检测

用户登录时检测用户的账号和密码是否正确

2

用户状态变换

用户登录或退出时,更换数据库表中用户的当前状态

3

增加用户

将新注册的用户信息加入数据库表

4

发送邮件

将邮件的所有相关信息存储到数据库表中

5

转发邮件

若数据库中邮件被取出,并已经发送,做标记

6

删除邮件

删除没有用的邮件,节约存储空间

7

更改用户IP和端口

当用户登陆时存储用户ip和端口,用于与服务器通信

8

保存附件

当有附件时,建立文件夹存储附件并记录其与邮件id的关联

 

2.2模块结构

2.2.1UI_Control模块

模块名称

模块类型

概要说明

MessagePack

内部模块

对发送的消息进行打包

MessageUnpack

内部模块

对接收到的消息进行解包

ReceiveMsg

内部模块

接收服务器信息

ThreadProcess

内部模块

线程处理接收到的信息

2.2.2ClientSocket模块

模块名称

模块类型

概要说明

ClientSend

接口

客户端通信发送函数

ClientReceive

接口

客户端通信接收函数

ClientInit

内部模块

Socket初始化

SetSender_Msg

内部模块

设置发送方IP和端口

SetReceiver_Msg

内部模块

设置接收方IP和端口

2.2.3ServerSocket模块

模块名称

模块类型

概要说明

ServerSend

内部模块

服务器端通信发送函数

ServerReceive

内部模块

服务器端通信接收函数

ServerInit

内部模块

Socket初始化

ThreadProcess

内部模块

服务器端处理函数

GetServerIp

内部模块

获取服务器IP

2.2.4DataBase模块

模块名称

模块类型

概要说明

AddMailInfo

接口

增加邮件信息

AddUserInfo

接口

增加用户信息

DeleteMailInfo

接口

删除邮件信息

setUserOnline

接口

设置用户状态

CheckUserPwd

接口

检查用户密码

DataBaseInit

接口

初始化数据库

ModifyUserInfo

接口

修改用户信息

SetMailFlag

接口

修改邮件标志

2.3模块动作时序

3接口说明

3.1数据结构定义

#defineINT8Uquint8

#defineINT16Uquint16

#defineINT64Uquint64

#defineSTRINGQString

#defineSUCC1

#defineERR0

#defineSYS_ON11

#defineSYS_OFF12

#defineSYS_LOGIN_SUCC13

#defineSYS_LOGIN_ERR14

#defineSYS_REGISTER_SUCC15

#defineSYS_REGISTER_ERR16

#defineSYS_REQUEST17

#defineUSR_LOGIN31

#defineUSR_REGISTER32

#defineUSR_GETMAIL33

#defineUSR_NOTREAD_MAIL34

#defineUSR_RECEIVE_MAIL35

#defineUSR_SENDED_MAIL36

#defineUSR_DELETED_MAIL37

3.2函数

3.2.1模块间接口函数

3.2.1.1ClientSend

函数名

ClientSend

文件名

../ClientSocket.cpp

功能概要

客户端发送信息

记述形式

INT8UClientSocket:

:

ClientSend(

QByteArray*datagram,

STRINGReceiverIP,

INT16UReceiverPort

参数

类型

变量名

I/O

说明

QByteArray

datagram

-

传入的数据数组指针

STRING

ReceiverIP

-

传入的服务器IP

INT16U

ReceiverPort

-

传入的服务器端口

返回值

类型

INT8U

说明

SUCC

发送成功

ERR

发送失败

详细说明

客户端发送信息函数,给用户界面交互时使用

使用注意事项

3.2.1.2ClientReceive

函数名

ClientReceive

文件名

../ClientSocket.cpp

功能概要

客户端信息接收函数

记述形式

INT8UClientSoclet:

:

ClientReceive(QByteArray*datagram)

参数

类型

变量名

I/O

说明

QByteArray

datagram

-

存储接收到的数据

返回值

类型

INT8U

说明

SUCC

接收成功

ERR

接收失败

详细说明

接收函数给客户端界面交互调用,接收的数据再被处理

使用注意事项

3.2.1.3AddMailInfo

函数名

AddMailInfo

文件名

../DataBase.cpp

功能概要

增加邮件信息

记述形式

boolDataBase:

:

AddMailInfo(Mailmail)

参数

类型

变量名

I/O

说明

Mail

mail

-

传入Mail类对象

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

当服务器收到发送邮件标志时处理函数调用该函数

使用注意事项

传入参数的类型

3.2.1.4AddUserInfo

函数名

AddUserInfo

文件名

../DataBase.cpp

功能概要

增加用户信息

记述形式

boolDataBase:

:

AddUserInfo(Useruser)

参数

类型

变量名

I/O

说明

User

user

-

传入用户信息类对象

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

当服务器收到新用户注册标志时处理函数调用该函数

使用注意事项

传入参数的类型

3.2.1.5DeleteMailInfo

函数名

DeleteMailInfo

文件名

../DataBase.cpp

功能概要

删除邮件信息

记述形式

boolDataBase:

:

DeleteMailInfo(INT16UmailId)

参数

类型

变量名

I/O

说明

INT16U

mailId

-

邮件标志

返回值

类型

bool

说明

true

正常结束

fasle

异常结束

详细说明

服务器处理删除邮件时调用该函数

使用注意事项

3.2.1.6SetUserOnline

函数名

SetUserOnline

文件名

../DataBase.cpp

功能概要

更改用户在线状态

记述形式

boolDataBase:

:

SetUserOnline(

STRINGuserName,

INT8UuserStatus

参数

类型

变量名

I/O

说明

STRING

userName

-

传入用户邮箱帐号

INT8U

userStatus

-

传入状态值

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

当收到用户登陆成功信息时调用该函数

使用注意事项

3.2.1.7CheckUserPwd

函数名

CheckUserPwd

文件名

../DataBase.cpp

功能概要

验证用户帐号和密码

记述形式

boolDataBase:

:

CheckUserPwd(

STRINGuserName,

STRINGpassword

参数

类型

变量名

I/O

说明

STRING

userName

-

传入用户邮箱帐号

STRING

password

-

传入用户邮箱密码

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

用户登陆时服务器进行验证

使用注意事项

3.2.1.8DataBaseInit

函数名

DataBaseInit

文件名

../DataBase.cpp

功能概要

数据库初始化

记述形式

boolDataBase:

:

DataBaseInit()

参数

类型

变量名

I/O

说明

-

-

-

-

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

服务器启动开始调用该函数

使用注意事项

3.2.1.9ModifyUserInfo

函数名

ModifyUserInfo

文件名

../DataBase.cpp

功能概要

修改用户信息

记述形式

boolDataBase:

:

ModifyUserInfo(

STRINGusername,

UsernewUser

参数

类型

变量名

I/O

说明

STRING

userName

-

传入用户邮箱帐号

User

newUser

-

传入用户信息对象

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

用户更改名片操作时数据库模块调用该函数处理

使用注意事项

3.2.1.10SetMailFlag

函数名

SetMailFlag

文件名

../DataBase.cpp

功能概要

更改邮件标志

记述形式

boolDataBase:

:

SetMailFlag(

STRINGuserName,

INT8UmailStatus

参数

类型

变量名

I/O

说明

STRING

userName

-

传入用户邮箱帐号

INT8U

mailStatus

-

传入邮件标志

返回值

类型

bool

说明

true

正常结束

false

异常结束

详细说明

邮件已转发送至用户邮箱,更改邮件标志

使用注意事项

3.2.2模块内接口函数

3.2.2.1MessagePack

函数名

MessagePack

文件名

../Message.cpp

功能概要

打包要发送的消息

记述形式

INT8UMessage:

:

MessagePack(QByteArray*datagram)

参数

类型

变量名

I/O

说明

QByteArray*

datagram

I

打包后存储的数据数组指针

返回值

类型

INT8U

说明

SUCC

正常结束

ERR

异常结束

详细说明

将要传送的数据全部打包在一起发送

使用注意事项

3.2.2.2MessageUnpack

函数名

MessageUnpack

文件名

../Message.cpp

功能概要

解包要接收到的消息

记述形式

INT8UMessage:

:

MessageUnpack(QByteArray*datagram)

参数

类型

变量名

I/O

说明

QByteArray*

datagram

I

传入需要解包的数据数组指针

返回值

类型

INT8U

说明

SUCC

正常结束

ERR

异常结束

详细说明

从包中解出需要的单个数据域

使用注意事项

3.2.2.3ClientThreadProcess

函数名

run

文件名

.../ThreadProcess.cpp

功能概要

客户端接收处理函数

记述形式

voidThreadProcess:

:

run()

参数

类型

变量名

I/O

说明

-

-

-

返回值

类型

void

说明

-

-

详细说明

客户端接收处理函数,注意与服务器端的区分

使用注意事项

3.2.2.4ReceiveMsg

函数名

ReceiveMsg

文件名

.../xmailmainwidget.cpp

功能概要

客户端接收信息

记述形式

voidxmailMainWidget:

:

ReceiveMsg()

参数

类型

变量名

I/O

说明

-

-

-

返回值

类型

void

说明

-

-

详细说明

客户端接收的信息

使用注意事项

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2