基于SMTP和POP3的邮件系统,创新点较多,课设得分很高

这是2022年春季-软件工程19级计算机网络课程设计内容,下方的文档是本项目的需求文档。
本项目的所有代码(安卓端+Web端+服务端)已经完全开源在gitee上,在本文的末尾各位童鞋可以自取
其目的是为了造福湖大后人,发扬一下互联网精神!!!

项目编号:

文档版本: 第3版

分册名称: 第1册/共1册

邮件系统

需求说明书

3.0版

指导老师:刘琴

开发小组:麓南匪帮

湖南大学信息科学与工程学院软件工程19级1班2组

总页数36正文31附录3生效日期:2022年6月3日
编制:陈文康、卢永昌、吴贞逸、木热阿地力·买买提江审核:批准:

文档信息

文档名称邮件系统需求说明书
描述该文档简要介绍了项目背景,定义了邮件系统的用户需求,主要包括功能需求、性能需求以及其他非功能性需求,本文档是后续分模块详细设计、编码、测试和维护的基础文档。
负责人陈文康、卢永昌、吴贞逸
状态3.0版本

文档变更历史

时间版本号修改人章节描述
2022-5-27V1.0吴贞逸全部初版完成
2021-10-25V1.1
2021-10-31V2.0
2021-12-15V3.0

审核结果

审核人审核时间意见签名档备注
开发团队通过陈文康、卢永昌、吴贞逸、木热阿地力·买买提江需求说明书V3.0

1.引言

1.1 编写目的

本文档用于使用户与开发者对于该项目的开发形成明确的认识并达成一致的目的,明确邮件系统项目的具体需求,包括对功能的确定和对实用性的要求,使其成为后续开发及测试的主要依据。

1.2 背景

项目选择的背景依托计算机网络课程教学中对SMTP与POP3协议的讲述内容。旨在开发一款基于Android的邮件系统软件。

该邮件系统的参与者包括:发件人、收件人、UP主、管理员。根据该邮件系统的参与者,将其划分为以下模块:SMTP模块、POP3模块、用户模块、发布者模块、管理员模块。

1.3 问题分析

在当前市面现有的邮件系统软件中往往会存在以下问题: 1. 难以快速组建一个内部专用的通讯网络。各个邮箱用户之间相对独立,缺乏组织性。

  1. 定制专用邮箱的软件不支持再使用其他邮箱登录。用户使用时需要频繁切换。

    针对以上问题,我们期望设计一款轻量、简单的邮件系统软件。既能提供内部邮箱群的组建,又不影响生活常用邮箱的使用。

**
**

2.任务概述

2.1 项目架构

邮件系统的总体项目架构如下图所示:

在这里插入图片描述

图2-1 总体业务流程图

2.2 项目概述

根据项目目标以及对系统的总体分析,将网页端系统划分为:平台数据管理、服务器管理、日志管理、用户管理、UP主管理模块;将安卓端系统划分为:用户注册、用户登录、个人中心、邮件提示、星标邮件、黑名单、草稿箱、全部账户管理、已发送/已删除邮件、通讯录、邮件附件、UP主模块。合同管理系统模块结构图如下:

在这里插入图片描述

图2-2 邮件系统网页端模块结构图

在这里插入图片描述在这里插入图片描述

图2-3 邮件系统安卓端模块结构图

3.网页端功能性需求分析

3.1登录/注销

在这里插入图片描述

基本流程:

输入唯一的管理员账号和密码进入管理系统。点击右上角“注销登录”可以注销登录。

分支流程:

  1. 管理员登录信息为空时,系统会弹出要求输入的弹窗;
  2. 管理员登录账号与密码不匹配时,系统会弹出要求重新输入的弹窗;
  3. 管理员成功登录后,进入管理系统,点击“注销登录”,系统弹出注销确认弹窗,管理员点击“取消”后,会停留在原界面

数据需要:

1.管理员账户

2.管理员密码

3.2平台数据分析

基本流程:

管理员进入管理平台,点击侧边栏中的平台数据栏。页面展示近14天用户量变化的折线统计图。

数据需要:

1.用户数量

2.对应日期

3.3服务器管理

在这里插入图片描述

基本流程:

管理员进入管理平台,点击侧边栏中服务器管理栏。可通过设置某协议服务器的端口号及启用或禁用实现服务器管理功能。

分支流程:

  1. 点击“修改端口”后,系统弹出修改端口弹窗。当输入无效端口号时,会提示“修改失败”
  2. 点击服务启用禁用开关,系统弹出确认弹窗,管理员点击“取消”后,返回原界面

数据需要:

  1. 服务器当前端口号
  2. 服务器当前状态(启用/禁用)

3.4用户管理

在这里插入图片描述

基本流程:

管理员进入管理平台,点击侧边栏中的用户管理栏。可通过上方搜索框对用户进行模糊搜索,在下方设置每页信息条数和进行页面跳转。对于每条用户信息,展示用户名、用户类型和操作。其中操作可以选择启用/禁用该用户,或者删除用户。(管理员用户无法禁用或删除)

分支流程:

  1. 当输入用户名关键词后,点击查询未检索到用户信息,会显示“暂无数据”
  2. 点击用户启用禁用开关,系统弹出确认弹窗,管理员点击“取消”后,返回原界面
  3. 点击“删除用户”按钮,系统弹出确认弹窗,管理员点击“取消”后,返回原界面

数据需要:

1.用户名

2.用户启用/禁用状态

3.用户信息序号和总条数

4.当前页码数和总页码数

3.5日志管理

在这里插入图片描述

基本流程:

管理员进入管理平台,点击侧边栏中的日志管理栏。点击需要查看的类型的日志文件夹可以查看其中的日志列表。点击上方的日志类型标签可以返回上一级日志类型文件夹的表单。

分支流程:

  1. 当点击日志文件时会弹出窗口显示日志内容并提供下载按钮。
  2. 较长的日志文件不允许弹出浏览窗口,只提供下载。

数据需要:

1.日志类型文件夹名

2.日志类型描述

3.日志名

4.日志创建日期

3.6 UP主管理

3.6.1申请管理

在这里插入图片描述

基本流程:

管理员进入管理平台,点击侧边栏中的UP主管理栏,点击上方的“申请管理”标签。可通过搜索框对申请的用户邮箱进行模糊搜索,在下方可以设置每页的申请信息条数和进行页面跳转。对于每条申请信息,可以点击审核按钮进行申请审核。

分支流程:

  1. 当点击审核后,弹出审核窗口。可选择是否通过审核,并回复审核意见。点击“确认” 按钮后完成审核。
  2. 完成审核后返回原页面,并删除之前审核过的申请信息。
  3. 在审核窗口,点击“取消”按钮或右上角的“×”返回原页面。

数据需要:

1.申请信息序号和总信息条数

2.申请发起的用户名

3.申请时间

4.当前页码数和总页码数

3.6.2资格管理

在这里插入图片描述

基本流程:

管理员进入管理平台,点击侧边栏中的UP主管理栏,点击上方的“UP主管理”标签。可通过搜索框对已成为UP主的用户邮箱进行模糊搜索,在下方可以设置每页的申请信息条数和进行页面跳转。对于每条UP主信息,可以点击“取消UP主资格”按钮修改其资格。

分支流程:

1.取消UP主资格会弹出确认窗口,点击“确认”按钮取消该UP主资格。

2.在确认窗口点击“取消”按钮或右上角的“×”返回原页面。

数据需要:

1.UP主信息序号和总信息条数

2.UP主邮箱用户名

3.UP主申请时间

4.UP主申请通过时间

5.当前页码数和总页码数

4.APP端功能性需求分析

4.1账号管理

4.1.1登录/注册

在这里插入图片描述

基本流程:

用户打开App后,进入登录界面,依据提示输入邮箱账号和密码,成功登录后进入邮箱主界面。

第一次使用的用户,点击新用户注册,设置邮箱账号和密码,填写手机号码发送验证码。验证码通过后成功注册账号。

分支流程:

  1. 用户可以点击其他邮箱以此登录其他邮箱的账号。用户需要手动填写服务器地址及端口 号,然后通过账号和授权码进行第三方登录。

数据需求:

  1. 当前用户的账号
  2. 当前用户的密码

4.1.2添加账户

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击左上角展开侧边栏。点击“添加”进行用账户的添加。重复用户登录的流程即可完成添加。也可以通过侧边栏的“设置”标签,进入账号管理页面进行添加。

分支流程:

  1. 用户可以点击其他邮箱以此登录其他邮箱的账号。用户需要手动填写服务器地址及端号,然后通过账号和授权码进行第三方登录。

数据需求:

  1. 当前用户的账号
  2. 当前用户的密码

4.1.3切换账户

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击左上角展开侧边栏。通过点击其他账号的标签来进行快速切换。也可以通过侧边栏的“设置”标签,进入账号管理页面进行切换。

数据需求:

  1. 当前已登录的账号头像
  2. 当前已登录的账号名

4.1.4删除用户

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击右上角进入个人中心界面。点击“删除用户”按钮删除当前账号,并移除其在本应用的所有本地存储。

分支流程:

  1. 用户点击删除用户时弹出确认框,点击“确认删除”后,若已经没有登录的账号,返回登录界面,否则返回账号列表中第一个账号的主界面。
  2. 用户点击删除用户时弹出确认框,点击“取消”后,返回原页面。

数据需求:

  1. 当前已登录的账号名
  2. 当前已登录的账号头像

4.2账号功能

4.2.1个人信息管理

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击右上角进入个人中心界面。点击头像可选择拍照或者从本地相册选择新头像。点击“本地备注标签”可修改本地备注。点击“修改密码”标签可修改密码。

分支流程:

  1. 点击“修改头像”后进入设备图片管理器。选择所需图片点击“完成”后完成头像修改。
  2. 点击“修改备注”和“修改密码”会弹出确认框,点击“取消”返回个人中心界面,点击“确定”保存修改。

数据需求:

  1. 当前用户头像
  2. 当前用户的账号名
  3. 当前用户的本地备注

4.2.2 UP主申请

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击右上角进入个人中心界面。点击“成为UP主”标签可提交UP申请。

分支流程:

  1. 点击“成为UP主”标签后进入申请界面,点击“申请成为UP主”可以提交申请,提交成功后点击“确定”返回个人中心界面。
  2. 成功申请UP主后个人中心界面将不再有UP主申请模块。
  3. 若申请失败,系统会发送邮件告知审核结果及审核意见。

数据需求:

  1. 当前用户头像
  2. 当前用户的账号名
  3. 当前用户的本地备注
  4. 当前用户是否为UP主

4.2.3黑名单

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击右上角进入个人中心界面。点击“黑名单”标签进入黑名单列表。点击右上角的“+”可添加黑名单,拉黑指定邮箱用户或特定IP。

分支流程:

  1. 点击右上角的“+”后,弹出添加黑名单用户窗口中。窗口中下拉菜单可以选择拉黑邮箱地址或IP地址。在输入框中输入对应地址后,点击“确定”按钮完成拉黑。

数据需求:

  1. 当前用户头像
  2. 当前用户的账号名
  3. 当前用户的本地备注
  4. 当前用户的黑名单列表

4.2.4账号关联

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击左上角展开侧边栏。点击“通讯录”标签可以添加某账号为联系人。点击“订阅”标签可进入UP主列表,并可以进行关注订阅。

分支流程:

  1. 点击“通讯录”标签后进入通讯录列表界面,点击右上角可以新建联系人。填写联系人姓名、邮箱地址,点击“添加联系人”后完成添加。
  2. 进入通讯录后,可点击某联系人,选择写邮件或者删除该联系人。
  3. 进入UP主列表后可点击“关注”按钮完成订阅。可以点击“取关”按钮并在弹出窗口点击“确定”完成取关。

数据需求:

  1. 当前用户用户通讯录信息
  2. 当前系统中UP列表信息
  3. 当前用户已关注UP主信息

4.3邮件箱管理

4.3.1收件箱

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“收件箱”标签进入收件箱,收件箱标签后显示未读邮件数和总邮件数。收件箱用发件人、主题、内容预览、接收时间来区分不同邮件,并且标注未读的邮件。点击邮件可进入该邮件的详情界面。在详情界面可以在底部菜单选择:回复邮件、删除邮件、更多操作。

分支流程:

  1. 左滑邮件可以快捷将邮件标为未读或删除邮件。
  2. 邮件详情界面中,点击“详情”可以查看完整的发件人、收件人、时间信息。点击“隐藏”可隐藏以上信息。
  3. 更多操作包括设为未读和设为星标邮件。

数据需求:

  1. 当前收件箱中未读邮件数
  2. 当前收件箱中总邮件数
  3. 邮件发件人
  4. 邮件收件人
  5. 邮件主题
  6. 邮件内容
  7. 邮件接收时间

4.3.2星标邮件

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“星标邮件”标签进入星标邮件箱,星标邮件箱标签后显示星标邮件总数。星标邮件箱中邮件显示样式与收件箱相同,但都会用星星进行标注。

分支流程:

  1. 左滑邮件可以快捷将邮件标为未读或删除邮件。
  2. 邮件详情界面中,点击“详情”可以查看完整的发件人、收件人、时间信息。点击“隐藏”可隐藏以上信息。
  3. 更多操作包括设为未读和取消星标邮件。

数据需求:

  1. 当前星标邮件箱中总邮件数
  2. 邮件发件人
  3. 邮件收件人
  4. 邮件主题
  5. 邮件内容
  6. 邮件接收时间

4.3.3草稿箱

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“草稿箱”标签进入草稿箱,草稿箱标签后显示草稿邮件数。草稿箱中的邮件由发件人、时间标识。点击邮件进入邮件详情。在底部菜单可以选择继续编辑邮件和删除该草稿邮件。

分支流程:

  1. 左滑邮件可以快捷将邮件标为未读或删除邮件。
  2. 邮件详情界面中,点击“详情”可以查看完整的发件人、收件人、上次编辑时间信息。 点击“隐藏”可隐藏以上信息。

数据需求:

  1. 当前草稿箱中总草稿邮件数
  2. 邮件发件人
  3. 邮件收件人
  4. 邮件存入草稿箱时间

4.3.4已发送邮件

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“已发送”标签进入已发送邮件箱,已发送邮件箱标签后显示已发送邮件数。已发送邮件箱中的邮件由发件人、时间标识。点击邮件进入邮件详情。在底部菜单可以选择:删除邮件、更多操作。

分支流程:

  1. 左滑邮件可以快捷将邮件标为未读或删除邮件。
  2. 邮件详情界面中,点击“详情”可以查看完整的发件人、收件人、发送时间信息。点击“隐藏”可隐藏以上信息。
  3. 更多操作包括设为未读和设为星标邮件。

数据需求:

  1. 当前已发送邮件箱中总邮件数
  2. 邮件发件人
  3. 邮件收件人
  4. 邮件发送时间

4.3.5已删除邮件

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“已删除”标签进入已删除邮件箱,已删除邮件箱标签后显示已删除邮件数。已发送邮件箱中的邮件由发件人、主题、内容预览、接收时间标识。点击邮件进入邮件详情。在底部菜单可以选择:彻底删除邮件、更多操作。

分支流程:

  1. 左滑邮件可以快捷将邮件标为未读或彻底删除邮件。
  2. 邮件详情界面中,点击“详情”可以查看完整的发件人、收件人、发送时间信息。点击“隐藏”可隐藏以上信息。
  3. 更多操作包括设为未读和设为星标邮件。

数据需求:

  1. 当前已删除邮件箱中总邮件数
  2. 邮件发件人
  3. 邮件收件人
  4. 邮件主题
  5. 邮件内容
  6. 邮件接收时间

4.4邮件发送

4.4.1写邮件

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击右下角“笔”按钮进入邮件编辑界面。底部工具栏提供修改文本样式的功能。可以添加图片或附件至邮件。

分支流程:

  1. 输入收件人后,若点击“取消”则弹出离开写邮件提示窗口。点击“取消”返回写邮件界面。点击“保存邮件”将当前编辑内容保存至草稿箱。点击“离开”放弃此次编辑。
  2. 点击添加图片或附件按钮进入设备文件管理器,选择需要的图片或附件,点击“完成”完添加。
  3. 若用户为UP主,则能选择以UP主身份发送邮件。所有订阅了该用户的用户都会收到此邮件。

数据需求:

  1. 当前用户的账号名。
  2. 当前用户是否为UP主

4.4.2回复邮件

在这里插入图片描述

基本流程:

用户进入邮箱主界面后,点击“收件箱”或“星标邮件”,其中的邮件可以在邮件详情的底部菜单选择回复邮件。回复邮件编辑界面功能与写邮件界面功能统一,收件人、发件人、主题、原始邮件信息由系统自动填写。

分支流程:

  1. 回复邮件编辑界面点击“取消”则弹出离开写邮件提示窗口。点击“取消”返回回复邮件编辑界面。点击“保存邮件”将当前编辑内容保存至草稿箱。点击“离开”放弃此次编辑。

点击添加图片或附件按钮进入设备文件管理器,选择需要的图片或附件,点击“完成”完添加。

数据需求:

  1. 邮件发件人
  2. 邮件收件人
  3. 邮件主题
  4. 邮件内容
  5. 邮件接收时间

5.非功能性需求分析

5.1 界面需求

人机界面友好,系统采用菜单/按钮驱动的图形用户界面,图标简洁易懂,形象直观、使用方便。

5.2 系统性能

5.2.1安全性

系统提供唯一的用户/用户组管理界面,能记录用户/用户组属性,能够对应层次结构(如上下级)功能,应用系统的安全不能妨害其它与之共享信息资源的系统的安全。数据访问日志能记录对数据库进行的所有操作,包括增加、删除、修改和查询的SQL语句,是否写数据访问日志可以通过系统配置文件来配置。

5.2.2可靠性

系统在设计过程中,充分考虑系统容错处理,能够对操作人员的误操作进行提示。系统具有自检功能,能监视系统各功能模块的运行情况,随时发现系统自身的问题。

5.2.3系统的响应时间

当合同数据规模较大时,为保证(尤其是数据查询时的)用户体验,需控制各功能响应时间在5s以下,或通过加载动画、弹窗提示等方式及时响应用户操作。

5.3可维护性,可拓展性

本系统的应用平台设计需符合JAVAEE开发规范,具有良好的可维护性和可扩展性。

6 开发平台及环境

6.1 操作系统

本项目开发操作系统环境为 Windows10,Windows11、Android10。

6.2 集成开发环境

本项目选择的IDE开发环境是IntelliJ IDEA、Visual Studio Code。

6.3 数据库环境

本项目选择的数据库开发环境是MySQL。

6.4 Web服务器环境

本项目选择的服务器环境是Tomcat9。

6.5 代码版本控制环境

本项目选择gitee实现代码版本控制。

6.6 技术选型

前端采用Android Studio,后端采用SpringBoot+Netty。

7 附录:功能清单

序号名称描述
1.登录邮箱用户通过账号密码登录邮箱
2.新用户注册新用户通过填写账号,密码,手机号码,验证码进行注册
3.其他邮箱登录填写其他邮箱的服务器和端口号,输入账号授权码登录其他邮箱
4.修改个人信息用户可以在个人中心查看并修改用户头像和本地备注
5.修改密码用户可以在个人中心修改密码
6.添加账户一个用户可以拥有多个邮箱账户并实时切换
7.添加通讯录用户可以添加其他邮箱用户为联系人并备注姓名
8.写邮件用户可以发送邮件给指定收件人。邮件内容可以包含图片、附件,字体样式可以调节
9.收件箱显示未读邮件数和总邮件数,并可以预览发件人、主题、内容缩略、时间戳信息
10.新邮件提醒收件箱有未读邮件时发送通知消息
11.删除邮件用户可以删除邮件记录,包括收到的邮件、已发送的邮件、已设为星标的邮件、草稿箱的邮件
12.回复邮件用户可以在邮件详情界面进行邮件回复
13.设为未读邮件用户可以将邮件设为未读邮件
14.设为星标邮件用户可以将邮件设为星标邮件,后续可以在星标邮件栏中查看
15.星标邮件箱显示所有星标邮件,显示样式与收件箱相同
16.草稿箱保存已经确定收件人但未发出的邮件
17.已发送邮件箱显示所有已发送邮件,显示样式与收件箱相同
18.已删除邮件箱显示所有已删除邮件,显示样式与收件箱相同。在此邮件删除邮件后,邮件会彻底删除
19.黑名单用户可以将指定邮箱地址或IP地址添加进黑名单
20.成为UP主用户可以申请成为UP主
21.订阅用户可以关注已有的UP主
22.意见反馈用户可以提交反馈意见
23.设置用户可以对现有账户进行管理并进入账户的个人中心页面
24.删除用户用户可以删除指定账户,退出登录并清除所有本地记录
25.全部账户邮箱查看可以查看该用户下所有账户的收件箱和星标邮件箱

服务端:smtp-mail
安卓端:smtp-mail-app
Web管理员端:smtp-mail-admin

Logo

惟楚有才,于斯为盛。欢迎来到长沙!!! 茶颜悦色、臭豆腐、CSDN和你一个都不能少~

更多推荐