2 系统所需技术框架的研究
2.1 系统技术栈的说明和介绍
该系统通过JAVA技术平台进行研发和创新,采用的是MVC模式。其中使用Spring、SpringBoot等开源框架进行后端开发,使用Vue框架构建前端,使用MySQL数据库存储数据,使用Tomcat作为服务器。下文将详细介绍使用的技术。
2.1.1 Spring
Spring是一种十分有用的开源框架,其主要优点包括:
- 简化开发。通过容器的控制,能够大大减少程序之间的耦合。
- 测试程序方便。在进行测试时,我们可以用与容器无关的方式完成测试工作。
- 支持AOP编程。Spring中支持的aop面向切面编程能够让我们的编程变得更加方便。
- 声明式事务支持。Spring能够让我们用声明式的方式对事务进行管理和声明,提高了开发效率。
- 方便集成各种优秀框架,Spring提供了对各种优秀框架的直接支持。
2.1.2 SpringBoot
如果过去使用Spring MVC + Spring + Mybatis框架进行开发,则需要构建和集成三个主要框架,Web.xml配置,Spring配置,Mybatis配置,有了它们的集成就可以很好地工作。而 Spring引导框架彻底改变了该开发过程,由于xml的配置过程的复杂性,所以采用了许多默认配置。提供了一个starter POM来进行简化配置。根据Maven项目中pom.xml文件的XML配置项,Spring会自动根据XML的配置整合Spring框架,还有SpringMVC等其他技术框架.
2.1.3 SpringMVC
Spring MVC是在Spring之上的一种轻量级Web框架。在日常开发中,由于使用了MVC架构模式的思想来解耦Web层并管理应用程序所需的生命周期,能够让我们的开发更加地方便。SpringMVC提供了一个用于视图管理的主开关DispatcherServlet,以及请求处理映射器(Handler Mapping),处理适配器(Handler Adapter)和视图解析器(View Resolver)。动作处理器Controller接口(包括ModelAndView和处理请求响应对象请求和响应),配置灵活,文件上传支持,简单的数据转换以及其他强大的功能。
SpringMVC结构图如图2.2所示,客户端通过URL发送请求,核心控制器收到请求后,通过请求查询传递给处理器映射器,处理器映射器找到处理的应用程序返回给核心控制器,然后核心控制器找到需要进行处理的处理器适配器并调用接口,最后将结果返回给核心控制器,最后将获取的结果传递给视图解析器解析,最后发送给客户端。
2.1.4 Vue
Vue是构建构建用户界面的框架。Vue很轻巧,也有许多独立的功能或库,所以,当我们继续具体开发的时候,我们可以根据我们的具体情况来选用一些不同的功能或库,Vue具有双向数据绑定的优势,满足不良邮件过滤系统的开发需求。
2.1.5 MySQL数据库
该系统将MySQL作为数据库,MySQL是一个高效率、高并发、国内热门的关系型数据库之一。MySQL内有三大重要组成部分,第一层是连接授权服务,第二层是数据查询服务,第三层是保存数据的引擎层。
2.1.6 Tomcat
Tomcat 服务器是一个便捷的开源Web服务器,连接器Connector和容器Container是Tomcat的核心。Tomcat经常被用在中小企业开发以及并发量小的开发中,并且是开发和调试Servlet、JSP 程序的首选。基于此,不良邮件过滤系统使用Tomcat作为服务器。
2.2系统开发环境需要
本系统在Windows环境下开发,使用IDEA开发工具,使用HeidiSQL作为数据库前端可视化软件。
2.3本章小结
该文详细阐述了不良邮件过滤系统的技术栈、相关理论知识,介绍了Spring、SpringBoot等开源框架、MySql 数据库以及Tomcat 服务器。
3 系统需求分析
3.1 系统需求分析概述
目前,不良邮件过滤系统已基本实现邮件服务商的内联,一些功能也在不断地完善,用户在邮件系统中发送,对方也就会同步收到用户发送的邮件。同时,信息系统中数据的及时性和准确性在邮件事务中至关重要。
3.2 系统功能需求的分析
微信点餐系统的功能性需求主要包含系统用户模块、收件箱模块、发件箱模块、垃圾箱模块、回收站模块、邮箱拦截配置六大模块,是基于浏览器运行的web管理后端,其中各个模块详细说明如下:
3.2.1 系统用户模块
系统用户模块包含了系统登陆用户的档案维护。我们需要建立一个档案来维护可以登陆这个系统的用户,包括用户的名称、手机号、邮箱、密码、权限等数据。
3.2.2 收件箱模块
收件箱模块包含了系统用户正常收到的所有邮件,用户可以在此模块中查询自己收到的电子邮件。
3.2.3 发件箱模块
发件箱模块包含了电子邮件的发送界面,还包括了系统用户历史发送的邮件档案,和未发出的草稿邮件信息。
3.2.4 垃圾箱模块
垃圾箱模块包含了系统用户收到的垃圾信息。这些邮件是被用户设置的过滤规则所过滤的邮件档案,用户可以在垃圾箱模块中查询它们。
3.2.5 回收站模块
系统用户可以主动删除收到的邮件,用户操作删除后,邮件会自动进入到回收站作为缓冲区。用户如果在可以在回收站再次删除文件,即彻底删除邮件信息。
3.2.6 邮箱过滤设置模块
系统用户可以自定义配置适合自己的过滤规则,如设置黑名单防止骚扰,设置白名单避免误伤,设置关键词以便更精确的过滤邮件。
3.3 系统非功能需求的分析
3.3.1 可靠性
保证系统的稳定可靠,使用系统的过程中发生错误的几率尽可能地较小,并且要防止进行更新升级造成系统地不稳定。
3.3.2 易用性
使用系统的前台人员尤其是系统用户、系统管理员的操作人员,关于计算机知识的掌握程度参差不齐。对系统操作方式的设计一定要易于学习和接受并应充分考虑到操作人员在操作过程中每个细节可能出现的误操作在开发过程中对这些误操作加以预防或提示。
3.3.3 维护性
系统每天至少保持23小时的可用时间,能够对日常的使用的数据进行统计分析,以便于后期维护。
3.4 系统可行性分析
不良邮件过滤系统开发的可行性的评估,主要是从三个方面进行的,分别是对现有系统的分析、对邮件过滤技术的可行性分析和邮件在当今社会的因素三个方面进行分析。
3.4.1 对现有系统的分析
不良邮件过滤系统的设计与实现具有重要意义:用户发送邮件更加方便快捷,只需注册账号进行登录,便可以在自己的电脑上进行发送邮件操作,可以根据需要修改自己的个人信息,用户也可以随时根据需要进行发送邮件,发送过程方便快捷;针对这一问题,不良邮件过滤系统有利于减少用户在发邮件的操作时间,减轻发送邮件等待时间的占比,在一定程度上提高了用户的邮件发送效率。
3.4.2 技术的可行性分析
该系统分析了设计初期各种技术体系结构的优缺点,并最终采用了广泛而高安全性J2EE技术。J2EE技术的重点是系统的外部可拓展性以及开发早期的标准化部署。因此,J2EE技术可以完全支持不良邮件过滤系统的研究和开发。面向对象的思想将以上所说作为研究对象,来研究、分析、探索这些事物之间的关系。一般情况下,问题域里的所有内容都可以一个一个地转换为软件系统中的对象。面向对象技术使系统更易于开发人员理解和使用,这使系统的用户可以了解研发的原理和过程。MySQL是关系数据库,并且MySQL体积小,速度快,并且是开源代码,因此它拥有广泛的应用。综上,选择不良邮件过滤系统的开发技术可行,不存在工程难题。
3.4.3 社会因素的分析
目前,中国的电子邮件水平正在稳步提升中, “六服务”正在深入推进, “7+1”信息新攻坚战正在政府组织下有力发展。
计算机和网络技术在递减自邮件领域的应用,能够有效的解决用户发邮件难、垃圾邮件多等问题,可以节省时间、合理分配资源等,所以不良邮件过滤系统是具有重要意义的。“一本账”,深刻地深化了电子邮件的改革,让用户在地健脑上享受到高质量,高效率的邮件服务。最近,我国在电子邮件上不断推陈出新。
3.5 需求分析小结
本章主要分析了开发此系统的可行性,分别从现有系统、相关技术方面以及社会因素方面对开发不良邮件过滤系统进行分析,现有系统的不完善,运用技术方面的可行,社会不断地发展,说明了开发此系统的必要性。
4 系统整体结构设计
4.1 系统设计的基本思想
MVC模式是软件领域常用的编程思想,在软件开发中,View(视图)、控制器(Controller)、模型(Model)是MVC的三层架构,最终实现灵活流动性的程序设计。这种MVC体系结构能让我们的程序更加容易拓展,能够更加直观体现出系统结构。
4.2 系统总体架构设计
不良邮件过滤系统的设计中,架构的设计是尤其关键。我们将设计的系统的模块进行了功能的划分,具体的划分结构示意图如4-1所示。
4.3 系统的网络拓扑结构的部署
不良邮件过滤系统的架构用的是企业级别的信息化结构平台。部署广域网用于实现顾客下单,可以实现系统用户的登陆,系统管理人员对于账号的审核和修改以及其他一些相关功能的操作。部署局域网和服务器能够加强相关人员的信息安全。图4-2是本系统的网络结构示意图。
4.4 系统详细设计
4.4.1 系统用户模块的功能设计
系统用户模块负责维护登陆用户的档案,即谁可以登入这个系统。系统用户需要包含用户的基本信息,如邮箱账号、邮箱密码、发信人性别、发信人姓名、邮箱号、身份证号、家庭地址等。系统用户模块包含了对系统用户的增加、清理、更新、查询、导入和导出功能,如图4-3所示。
4.4.2 收件箱模块的功能设计
收件箱管理模块管理了系统用户收到的正常邮件档案。用户收到邮件后会先经过用户配置的过滤规则,若没被过滤掉,则进入收件人的收件箱。系统用户可以在这个模块中查询。收件箱模块中的数据需要包括邮件标题、发件人ID、发件人姓名、收件人ID、收件人姓名、邮件内容、邮件附件、发送状态和过滤原因字段。该模块需要实现邮件的接收、删除、邮件查看、附件预览和下载功能,如图4-4所示。
4.4.3 发件箱模块的功能设计
发件箱管理模块管理了系统用户历史发出的邮件,和用户未发出的草稿邮件。用户可以在这个模块中编辑邮件、上传邮件附件、预览邮件附件、发送邮件。邮件的字段需要包括邮件标题、发件人ID、发件人姓名、收件人ID、收件人姓名、邮件内容、邮件附件、发送状态和过滤原因字段,其中发件人ID和发件人姓名为自动填充项,如图4-5所示。
4.4.4 垃圾箱模块的功能设计
垃圾箱管理了系统用户收到的非法邮件。当用户收到的邮件被用户自定义的过滤规则所过滤时,会自动把邮件放入用户的垃圾箱。用户可以进入垃圾箱模块查询这些被过滤的邮件。邮件的字段需要包括邮件标题、发件人ID、发件人姓名、收件人ID、收件人姓名、邮件内容、邮件附件、发送状态和过滤原因。垃圾箱模块需要包括查询垃圾邮件、删除垃圾邮件、预览邮件附件、下载邮件附件,如图4-6所示。
4.4.5 回收站模块的功能设计
回收站管理了系统用户主动删除的邮件。当用户将收件箱或垃圾箱的邮件主动进行删除操作后,邮件会自动进入回收站。用户可以进入回收站模块查询这些被删除的邮件。邮件的字段需要包括邮件标题、发件人ID、发件人姓名、收件人ID、收件人姓名、邮件内容、邮件附件、发送状态和过滤原因。回收站模块需要包括查询被删除的邮件、预览邮件附件、下载邮件附件,如图4-7所示。
4.4.6 邮件过滤规则模块的功能设计
邮件过滤规则管理模块包括了用户配置的黑名单、白名单和过滤关键词。用户可以根据自己的需求进行配置,黑名单、白名单、过滤关键词在各个账户之间独立,只对当前账户生效。该模块需要包括黑名单、白名单的增加、清理、更新、查询功能,如图4-8所示。
4.5 数据库分析与设计
不良邮件过滤系统的数据库是具有邮件信息相关的数据库,其中的相关信息具有很强的专业性。对数据库的设计与创建不仅是为了存储数据,更是为了通过数据来反映业务流程。
4.5.1 系统概念层结构设计
通过需求功能分析以及各个模块的设计,最后将每个模块都进行数据库的设计,并且通过E-R图来进行展示。
系统用户模块是对登入邮件系统的账号进行记录并管理,其中用户的信息包括了账号的姓名、性别、手机号、生日、身份证号、邮箱、注册日期、备注等,其中工号是系统用户的确定性因素。如图4-9所示。
发件箱、收件箱、垃圾箱、回收站模块分别是对邮件进行记录并管理,其中邮件的信息包括了邮件的邮件ID、发件人ID、发件人姓名、收件人ID、收件人姓名、邮件标题、邮件内容、附件、备注等,其中邮件ID是邮件的确定性因素。如图4-10所示。
黑名单表,用于存储系统用户的黑名单数据,包括的拉黑的规则名称、邮箱地址、生效用户ID和备注信息。
白名单表,用于存储系统用户的白名单数据,包括的拉白的规则名称、邮箱地址、生效用户ID和备注信息。
关键词表,用于存储系统用户的配置的过滤关键词,包括的关键词、生效用户ID这两个字段。