基于Struts2的电子邮件设计与实现_第1页
基于Struts2的电子邮件设计与实现_第2页
基于Struts2的电子邮件设计与实现_第3页
基于Struts2的电子邮件设计与实现_第4页
基于Struts2的电子邮件设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、学学 士士 学学 位位 论论 文文 THESIS OF BACHELOR (2011 2012 年)年) 基于基于 Struts2 的的电子邮件设计与实现电子邮件设计与实现 -邮件收发邮件收发、邮件管理、邮件管理 DesignDesign andand ImplementationImplementation ofof thethe E-mailE-mail SystemSystem onon S Struts2truts2 - Send and receive mail, email management 指指 导导 老老 师师 : XXX 姓姓 名名 : XX 学学 号号 : XX 学学

2、院院 : 软件学院软件学院 专专 业业 : 软件工程软件工程 完完 成成 时时 间间 : 2012 年年 4 月月 摘要摘要 随着互联网快速、广泛的普及应用,电子邮件越来越受到人们的欢迎,其最大的 特点是,人们可以在任何地方时间收、发信件,解决了时空的限制,大大提高了工作 效率,为办公自动化,商业活动提供了很大便利。各类企业、学校、甚至于个人之间 的业务交流越加依托于网络通讯,电子邮件系统也越发成为企业、学校的主流级应用。 电子邮件为人们提供快速,安全,完善,经济的服务,相对于传统的信件效率大大的 提高。通过本系统用户可以随时进行收发邮件,还可以回复转发并对邮件进行全文模 糊搜索,以便用户更迅

3、速的查找所需邮件。 本小组通过分析现有的电子邮件系统,致力于打造一个轻量级的电子邮件系统。 系统以 Java EE 作为开发平台,运用 MVC 模式开发思想,采用 Struts2 框架技术实现。 系统具有收发邮件、邮件管理、通讯录、搜索等功能,初步完成电子邮件系统的要求。 本文以电子邮件系统为背景,详细地阐述了基于 UML 的面向对象的系统分析与建 模过程及详细设计过程,对电子邮件系统收发邮件、邮件管理等功能也进行了较为详 细的阐述。 关键词关键词: Struts;MVC;UML;邮件收发;邮件管理 Abstract With the wide application of Internet,

4、 e-mail becomes more and more popular among people. People can send and receive e-mails anywhere at any time, increasing their efficiency and making Office Automation and commercial activities more convenient. The communication between enterprises, schools, even people depends more on network commun

5、ication. As a result, e-mail becomes the main application in enterprises and schools. Compared with traditional mail service, e-mail provides fast, safe and cheap service to people. Using our system, users can send and receive e-mails at any time as well as replying and resending. Whats more, it pro

6、vides fuzzy retrieval of the whole passage, making it easier for users to find the mail they need. Having analyzed the existing e-mail system and aiming at providing a lightweight system, we choose J2EE as the develop platform and use MVC pattern and Stucts2 framework to implement it. The system pro

7、vides functions such as mail sending, mail receiving, mail management, address book and searching. We have accomplished the basic task of the system. E-mail as the background, the article describe the object oriented system analysis based on UML, modeling process as well as detailed design in detail

8、. Besides, the implementation of mail sending, mail receiving and mail management are described detailedly. Key words: Struts; MVC; UML; send and receive mails; e-mail management. 目目 录录 第 1 章 引言.1 1.1 电子邮件介绍.1 1.2 开发背景.2 1.3 开发环境.2 1.4 本人主要工作.3 1.5 本文组织.3 第 2 章 系统相关技术概述.4 2.1 MVC 模式.4 2.2 Struts2 框架

9、结构及工作原理.5 2.3 JSP 技术.6 2.4 MySQL 数据库.7 2.5 SMTP 协议 .8 2.6 POP3 协议简介.9 第 3 章 系统需求分析.10 3.1 系统目标.10 3.2 系统的功能需求分析概述.10 3.2.1 收件箱.10 3.3 系统用例图分析.11 3.3.1 收件箱用例分析.11 3.3.2 收件箱包含的基本用例.12 3.3.3 写信用例分析.13 3.3.4 搜索邮件用例.14 第 4 章 系统设计.16 4.1 系统的架构设计.16 4.2 系统数据库设计.16 4.2.1 数据库概念设计.16 4.2.2 系统 E-R 图的设计.19 4.2.

10、3 数据库逻辑结构的设计.19 4.3 系统类图的设计.22 4.3.1 收件箱类图的设计.22 4.3.2 发件箱类图的设计.23 4.3.3 草稿箱类图的设计.23 4.3.4 通讯录类图的设计.24 4.4 系统开发相关规范.25 4.4.1 开发工具.25 4.4.2 编码规范.25 第 5 章 系统实现.27 5.1 系统登录和首页.27 5.1.1 系统登录.27 5.1.2 写信.28 5.2 收件箱功能实现.30 5.2.1 收取邮件.30 5.2.2 回复邮件.31 5.2.3 转发邮件.32 5.3 搜索邮件实现.32 第 6 章 系统关键技术应用.34 6.1 邮件的批量

11、删除功能的实现.34 6.2 分页功能的实现.34 第 7 章 总结.36 参考文献.37 致 谢.38 第第 1 章章 引言引言 1.11.1 电子邮件介绍电子邮件介绍 电子邮件【10】(简称 E-mai1)又称电子信箱、电子邮政,它是种用电子手 段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这 种非交互式的通信,加速了信息的交流及数据传送,它是个简易、快速的方法。 通过连接全世界的 Internet,实现各类信号的传送、接收、存贮等处理,将邮件送 到世界的各个角落。到目前为止,可以说电子邮件是 Internet 资源使用最多的一 种服务,E-mai1 不只局限于信件的传

12、递,还可用来传递文件、声音及图形、图像 等不同类型的信息。 电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。 这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方 式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现 在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收 者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着 将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件, 信箱实际上是由文件管理系统支持的个实体。因为电子邮件是通过邮件服务 器(mai1 server)来传递档的。通常

13、 mail server 是执行多任务操作系统 UNIX 的计 算机,它提供 24 小时的电子邮件服务,用户只要向 mail server 管理人员申请 个信箱账号,就可使用这项快速的邮件服务。 电子邮件的工作原理: 1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简 称 SMTP)这一系统软件来完成的,它是 Internet 下的一种电子邮件通信协议。 2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统” ,它实际上是一 个计算机系统。系统的硬件是一个高性能

14、、大容量的计算机。硬盘作为信箱的 存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱” ,每位用户都 有属于自己的个电子信箱。并确定个用户名和登录密码。存储空间包含存 放所收信件、编辑信件以及信件存盘三部分空间,用户登录系统就进入了自己的 信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件 实现。 3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后将 需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与 另个邮件系统进行传递和交换。收方在登录邮箱之后,就可以提取新邮件。 1.21.2 开发背景开发背景 随着 Internet 的迅速

15、普及,Email 已成为了人与人沟通的主要手段,越来越 成为生活中不可缺少的一部分。中国互联网络信息中心(CCNIC)2002 年 7 月 发布的“中国互联网络发展状况统计报告”显示,截止到 2002 年 6 月 30 日, 我国上网用户人数达 4580 万人,与去年同期相比增长了 72.8%,对大多数用户 来说,电子邮箱是他们最经常用的网络服务之一,中国网名人均拥有 1.6 个 Email 账号。除了利用互联网络发送电子邮件外,随着通讯技术的快速发展, 用手机发送电子邮件也正在迅速的变成现实,每天收发 Email 已经成为我们许 多人生活中不可缺少的一部分。 电子邮件除了在个人的生活中扮演着

16、重要的角色外,在企业中也扮演着一 个不可缺少的角色。在企业的发展过程中,人与人之间的交流,特别是同一个 项目组之间的交流显得越来越重要,而电子邮件在企业中的采用则能使企业员 工通过电子邮件来联系工作,可以节约大量的电话、传真、邮寄等费用,可以 大大的提高工作效率。 当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来 越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机,知 识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,我们开发 了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。 1.31.3 开发环境开发环境 AMD Athlon(T

17、M),512M 内存,80G 硬盘 Microsoft Windows XP Professional MyEclipse 6.0 Apache Tomcat 5.5 MySQL 5.5 Apache James Mail Server 2.3.1 1.41.4 本人主要工作本人主要工作 本人在“IU 电子邮箱系统”中主要完成网站的需求分析、建模、系统的主 要功能及所有的动态显示。分析解决关键技术问题,功能和性能的测试,以及 毕业论文的撰写, “IU 电子邮箱系统”中本人完成的主要功能如下: 1.用户注册及登录:客户在注册成功后成为系统的用户,登录后可以进行 邮件的收发等操作; 2.收取邮件:

18、用户登录系统时系统自动提取该用户的邮件,用户点击获取 的邮件可以查看邮件; 3.搜索邮件:用户登录系统后通过选定条件进行模糊查询,系统默认是主 体+正文的搜索条件; 4.邮件回复及转发:用户登录系统后进入单封邮件,点击回复或转发按钮 即可回复转发邮件; 5.写信:用户登录系统后,点击写信按钮即可写信,用户可以写带附件的 邮件保存至草稿箱或发送出去。 1.51.5 本文组织本文组织 第 1 章 简述了课题的开发背景和开发环境以及本人主要工作; 第 2 章 通过分析 Java EE 技术,确立系统开发平台,并对系统实现过程 中用到的相关技术进行简单的介绍; 第 3 章 使用用例分析技术对系统的需求

19、进行了详细的分析; 第 4 章 详细阐述了系统数据库设计全过程; 第 5 章 详细介绍了本人完成的系统收件箱,发件箱,草稿箱各模块功能 的实现; 第 6 章 详细介绍了系统使用的分页技术和批量删除技术; 第 7 章 全文的总结,说明了在撰写论文过程中的心得和体会,并总结系 统开发过程中的经验以及教训,展望未来的应用前景。 第第 2 章章 系统相关技术概述系统相关技术概述 在对系统开发本身的前景分析之后,接下来就是确定开发的目标和功能需 求,最后就是确定开发工具以及运用相关的技术来开发系统。系统开发时所采 用的相关模式及开发技术有:MVC 模式、Struts2、Jsp、MySQL、POP3 和

20、SMTP 等。 2.12.1 MVCMVC 模式模式 MVC【6】架构是Model(模型)View(试图)Controller(控制)三个 单词的首字母缩写。MVC 模型是一中交互界面的结构组织模型,它能够使软件 的计算模型独立于界面的构成。MVC 模型由 Trygve Reenskaug 提出,最早使用 在 SmallTalk-80 环境中,并应用于用户交互应用程序中。最 smalltalk 语言和 java 语言有很多相似的地方,比如都是面向对象语言。Microsoft 的 MFC 基础 类也遵循了 MVC 的思想。MVC 设计模式更深层次的影响了软件开发人员的分 工,也更加便于分工。 事

21、件(Event)导致控制器(Controller)改变模型(Model)或试图(View),或者同 时改变两者。只要 Controller 发生了改变 Model 的数据或属性,所有依赖的视 图都会自动更新。类似的,只要 Controller 改变了 View,View 会从 Model 中获 取数据来刷新自己。 MVC 是一种架构,需要其他模式协作完成。Struts2 只实现的是 MVC 中的 View 和 Controller 两个部分,Model 部分需要开发者自己来实现,Struts2 提供 了抽象类 Action 使开发者能将 Model 应用于 Struts2 框架中。 MVC 模

22、型的原理如图 2.1 所示: 图 2.1 MVC 模型原理图 MVC 三个部分在 Java EE 架构中都有自己的位置。MVC 与 Java EE 架构的 对应关系是:View 处于 Web Tier 或是 Client Tier,通常是 JSP/Servlet,即页面 显示部分;Controller 也处于 Web Tier,通常用 Struts2 来实现,即页面显示的 逻辑部分实现;Model 处于 Middle Tier,通常用服务端的 spring 或者 EJB 实现, 即业务逻辑部分的实现。 2.22.2 Struts2Struts2 框架结构及工作原理框架结构及工作原理 Strut

23、s2【8】是 Struts 的下一代产品。是在 struts 和 WebWork 的技术基础上 进行了合并,全新的 Struts2 框架。其全新的 Struts2 的体系结构与 Struts1 的体 系结构的差别巨大。Struts2 以 WebWork 为核心,采用拦截器的机制来处理用 户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开, 所以 Struts2 可以理解为 WebWork 的更新产品。因为 Struts2 和 Struts1 有着太 大的变化,但是相对于 WebWork,Struts2 只有很小的变化。 Apache Struts2 是一个优雅的

24、,可扩展的 Java EE web 框架。框架设计的目 标贯穿整个开发周期,从开发到发布,包括维护的整个过程。 Apache Struts2 是大家所熟知的 WebWork2,在经历了几年的各自发展后, WebWork 和 Struts 社区决定合二为一而成的产品。 Struts2 的工作流程如图 2.2 所示: 1.首先 Struts2 接收到一个 httprequest 时 Interceptor 对其进行一些拦截或者 初始的工作。这时候如果有外部的 httpservletrequest 到来时,数据就会到 servlet 容器中,然后被传递给一个标准的过滤器链 ActionContext

25、CleanUp。 2.然后 Struts2 开始调用 Dispatecher 会去查找相应的 ActionMapper,如果找 到了相应的 ActionMapper Struts2 将会将控制权限交给 ActionProxy。接着 ActionProxy 通过 ConfigurationManager 来查找配置 struts.xml 文件。 3.最后 Struts2 通过 ActionInvocation 来负责命令模式的实现,action 返回 Result。 (返回的 Result 类型可以是 jsp 或者 freeMark 等) 。 图 2.2 Struts2 响应用户请求的工作流程

26、2.32.3 JSPJSP 技术技术 JSP【13】(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与 一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统 的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag), 从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产

27、生 动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源 的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件 的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后 将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段 可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP 网站基本结构如图 2.3 所示: 图 2.3 Jsp 网站结构示意图 JSP 与 Java Servlet 一样,是在服务器端执行的

28、,通常返回给客户端的就是 一个 HTML 文本,因此客户端只要有浏览器就能浏览。JSP 页面由 HTML 代码 和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代 码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需 要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完 全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracl

29、e、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。 2.42.4 MySQLMySQL 数据库数据库 MySQL【15】是一个小型关系数据库管理系统,开发者为瑞典 MySQL 公司。 在 2008 年 1 月 16 号被 SUN 公司收购,而 2009 年 SUN 又被 MySQL 收购。目 前 MySQL 被广泛地应用在 Internet 上的中小型网站中。 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有 它的不足之处,如规模小、功能有限(MySQL Cluste

30、r 的功能和效率都相对比 较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和 中小型企业来说,MySQL 提供的功能已经绰绰有余。由于其体积小、速度快、 总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总 体拥有成本而选择了 MySQL 作为网站数据库。 正是基于 MySQL 其自身是开放源码软件和成本低,经济而受到相当多 用户的青睐,并且凭借其在存储过程的优越性能使得其实用性也远超其他 数据库模式,占据很大优势。 2.52.5 SMTPSMTP 协议协议 由于要开发的是邮件客户端程序,就不得不用到 SMTP 协议和 POP 协议。 而我个人负责的是邮件发送

31、功能的实现,因此就必然会涉及到 SMTP(Simple Mail Transfer Protocol)协议。SMTP 被用来在因特网上发送邮件,该协议规定 了一些基本的命令和方法使客户端与服务器进行交互,以达到发送邮件的目的。 SMTP 命令定义了邮件传输或由用户定义的系统功能。它的命令是由 结束的字符串。而在带有参数的情况下,命令本身由和参数分开, 如果未带参数可以直接和连接。邮箱的语法格式必须和接收站点的格式 一致。下面讨论 SMTP 命令和应答。 发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回复 路径就是 MAIL 命令的参数,而转发路径则是 RCPT 命令的参数,邮件日

32、期是 DATA 命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要 求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个 转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,或使 一个或多个缓冲的内容被清除。 当邮件被传递发送时,传递主机必须将自己的名称由转发路径的开始处移 至回复路径的结束处。当邮件最终到达目的地时,接收 SMTP 将以它的主机邮 件格式自己的名称插入目标邮件中。例如,由传递主机 A 接收的带有如下参数 的邮件时, FROM: TO: 将会变成如下形式: FROM: TO:. 此命令导致它的转发路径参数加入转发路径缓冲区中。 2.62.

33、6 POP3POP3 协议简介协议简介 POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本 3”。是 TCP/IP 协议族中的一员,由 RFC1939 定义。本协议主要用于支持使用客户端 远程管理在服务器上的电子邮件。提供了 SSL 加密的 POP3 协议被称为 POP3S。 POP3(Post Office Protocol 3)即邮局协议的第 3 个版本,它是规定个人计算 机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮 件的第一个离线协议标准,POP3 协议允许用户从服务器上把邮件存储到本地主 机(即自己的计算机)上

34、,同时根据客户端的操作删除或保存在邮件服务器上 的邮件,而 POP3 服务器则是遵循 POP3 协议的接收邮件服务器,用来接收电 子邮件的。POP3 协议是 TCP/IP 协议族中的一员,由 RFC 1939 定义。本协议 主要用于支持使用客户端远程管理在服务器上的电子邮件。 POP3 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上, 电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子 邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个 人终端机器上,一般是 PC 机或 MAC。一旦邮件发送到 PC 机或 MAC 上,邮 件服务器上的邮件将会被删

35、除。但目前的 POP3 邮件服务器大都可以“只下载邮 件,服务器端并不删除”,也就是改进的 POP3 协议。 第第 3 章章 系统需求分析系统需求分析 3.13.1 系统目标系统目标 “IU 电子邮箱系统”致力于开发集发邮件(简单邮件和带附件带格式的邮 件)、收邮件、回复转发邮件、删除移动邮件和管理联系人等功能于一身的客户 端电子邮箱系统。系统开发的主要目标是实现电子邮箱系统管理的系统化、规 范化和自动化,最终实现电子邮箱的高效化,其实现目标: 系统易操作:系统界面友好,操作简单。 2、需求功能完善:系统为用户提供各种常用功能,这些功能相对简单实用, 简化了很多不必要的功能。 3、系统易维护:

36、系统为每个邮箱用户分配一定的存储空间,也就是有自己 独立的“邮箱” ,用户自己管理自己的邮件。这种方式便于对系统的管理。 3.23.2 系统的功能需求分析概述系统的功能需求分析概述 通过对系统进行详细的分析与研究,最终得出了 IU 电子邮箱系统的功能需 求,系统主要由五个模块构成,系统结构如下图 3.1 所示: 图 3.1 电子邮箱系统功能结构图 3.2.1 收件箱收件箱 收件箱模块,邮箱用户登录 IU 邮箱时系统自动提取服务器中用户收到的新 邮件并显示到首页。收件箱模块由五个子模块构成,其结构如下图 3.2 所示: 图 3.2 收件箱结构图 本人完成的功能有: 1、收取邮件 1)当用户登录邮

37、箱时,系统自动为用户提取新邮件。 2)用户点击收件箱时,系统提取新邮件。 2、回复邮件 系统用户可以回复发件人,也可以同时回复所有收到邮件的用户。 3、转发邮件 系统用户均可以转发自己收到的邮件,转发的过程类似于发送邮件。 4、搜索邮件 系统登录用户可以按照多种方式全文搜索邮件,如:按照主题搜索邮件, 按照正文搜索邮件等,搜索邮件方便用户快速找到所需要的邮件。 4、查阅邮件 系统登录用户可以按照今天和更早两种方式获取邮件列表,点击进入单封 邮件查阅邮件内容。 3.3.3 3 系统用例图系统用例图分析分析 3.3.1 收件箱用例设计收件箱用例设计 系统在收件箱可以查阅,回复、转发、搜索、删除、移

38、动,标记自己收到 的邮件。具体用例图如图 3.5 所示: 图 3.5 收件箱用例图 3.3.2 收件箱包含的基本用例收件箱包含的基本用例 表 3.1 阅读邮件 用例名称用例名称阅读邮件阅读邮件 参与者所有网站使用者 描述查收阅读收件箱邮件 前置条件一个合法用户已经进入自己的邮箱 后置条件如果资料通过审核,操作成功。 主干过程1. 当用户选择进入收信箱时候,用例开始。 2. 系统进入收件箱页面。 3. 根据邮件类型用户可以查看新邮件,未读邮件和已读邮件。 4. 根据邮件的时间顺序用户进行查阅。 5. 点击进入单封邮件,系统显示邮件内容。 表 3.2 回复邮件 用例名称用例名称回复邮件回复邮件 参

39、与者所有网站使用者 描述回复收件箱邮件 前置条件一个合法用户已经进入自己的邮箱 后置条件邮件进入已发送邮箱,操作成功。 主干过程1. 当用户进入单封邮件点击回复按钮,用例开始。 2. 系统进入回复邮件页面。 3. 用户编辑回复内容。 4. 点击发送按钮完成回复功能。 表 3.3 转发邮件 用例名称用例名称转发邮件转发邮件 参与者所有网站使用者 描述转发收件箱邮件 前置条件一个合法用户已经进入自己的邮箱 后置条件如果资料通过审核,操作成功。 主干过程1. 当用户进入单封邮件点击转发按钮,用例开始。 2. 系统进入转发邮件页面。 3. 用户编辑转发内容。 4. 点击发送按钮完成转发功能。 表 3.

40、4 单封删除邮件 用例名称用例名称单封删除邮件单封删除邮件 参与者网站用户 描述删除收件箱邮件 前置条件一个合法用户已经进入自己的邮箱 后置条件邮件进入已删除邮箱,操作成功。 主干过程1.用户进入收件箱选中邮件点击删除按钮或用户进入单封邮件点击删 除按钮,用例开始。 2. 邮件从邮件列表消失。 3. 系统提示用户邮件已经删除进入已删除邮箱。 表 3.5 多封删除邮件 用例名称用例名称多封删除邮件多封删除邮件 参与者网站用户 描述删除收件箱邮件 前置条件一个合法用户已经进入自己的邮箱 后置条件邮件进入已删除邮箱,操作成功。 主干过程1.当用户进入收件箱选中全选删除框,点击删除按钮,用例开始。 2

41、.所有邮件从邮件列表删除。 3. 系统提示用户邮件已经删除进入已删除邮箱。 3.3.3 写信用例设计写信用例设计 用户进入邮箱之后点击写信按钮写信用例开始。具体用例图如图 3.7 所示: 图 3.6 写信用例图 表 3.6 写信 用例名称用例名称写信写信 参与者所有网站使用者 描述用户编辑待发送邮件 前置条件一个合法用户已经登录到系统主页 后置条件如果内容通过审核,写信成功。 主干过程1.当用户选择写信时候,用例开始。 2.系统进入写信页面。 3.用户输入收信人,主题等一系列信息。 4.系统检验名称格式是否正确,若不正确,提示错误信息。 5. 用户填写邮件内容,不能为空。 6. 系统检验资料格

42、式填写是否正确。若不正确,提示用户重新填写。 7. 用户点击文件按钮添加附件。 8. 用户可以选择发送或保存为草稿箱。 9. 用户点击确认按钮。 10. 系统提示用户发送成功。 11. 如果用户选择再写一封则返回第 2 步,否则用例结束。 3.3.4 搜索邮件用例搜索邮件用例 当用户键入关键字点击站内搜索按钮,用例开始,用例图如图 3.7 所示: 图 3.7 搜索用例图 表 3.7 搜索邮件 用例名称用例名称搜索邮件搜索邮件 参与者邮箱用户 描述支持全文关键字模糊搜索,实现站内搜索 前置条件一个合法用户已经登录到系统主页 后置条件显示搜索结果,搜索成功。 主干过程1. 当用户键入关键字点击站内

43、搜索按钮,用例开始。 2. 系统默认为主体+正文搜索。 3.系统查找是否有符合条件的邮件,若存在则返回邮件列表,否则提示没 有符合条件的邮件。 4.如果用户选择其他搜索条件搜索则返回第 3 步,否则用例结束。 第第 4 章章 系统设计系统设计 系统需求分析完成后,进入系统设计阶段。整个系统开发过程中,系统分 析设计是重中之重,还有系统完成前的测试。有了详细和全面的系统设计,将 会使后面的编码阶段更顺利的进行并提高编码速度。 4.1 系统的架构设计系统的架构设计 整个系统架构采用 MVC 模式的思想,主要采用 Struts2 技术开发,前端用 JSP 显示。开发工具为:Myeclipse 6.0

44、+Tomcat 5.5+MySQL 5.5 在线网站的设计采用了 MVC 三层模式进行设计的。系统运行后,用户通 过浏览器访问系统,看到的只能是视图层,在视图层上,用户进行相应操作。 视图层由若干 JSP 页面组成。控制器的核心是 Struts.xml 配置文件,它控制着 页面的跳转,是系统的控制中心。用户发出请求,通过 xml 进行控制跳转,进 入 action 类,通过 ActionServlet 找到指定的 Action,并通过调用 ActionBean 进 行业务逻辑方法的处理,返回 ActionForward,最后 ActionServlet 根据返回的信 息将请求再次发给 JSP

45、页面。IU 电子邮箱系统框架结构图见图 4.1: 图 4.1 系统框架结构图 4.2 系统数据库设计系统数据库设计 4.2.1 数据库概念设计数据库概念设计 数据库设计是系统实现的最重要的一步,良好的数据模型将会使用户的需 求清楚、准确的描述出来。概念数据模型是一种面向问题的数据模型,是按照 用户最直观的需求对数据建立的模型。经过对数据的各种分析,该系统涉及到 的实体有:用户信息实体、密保问题实体、收件箱实体、附件列表实体、发件 箱实体、草稿箱实体、图标实体、联系人实体、通讯录实体、用户信息视图。 数据字典【3】是关于数据的信息的集合,作为分析阶段的工具有着重要的 用途。数据字典是开发数据库的

46、第一步,因此本文将相关数据以表格的形式列 举出来如下所示: 1.用户信息数据字典 表 4.1 用户信息数据字典 用户信息 别名用户资料 描述用户注册信息 定义用户信息=编号+姓用户名+性别+密码+手机号+出生 日期+密码保护问题 Id+用户编号 Id 位置输入到用户表(userInfo) 2.密保问题数据字典 表 4.2 密保问题数据字典 密保问题 别名无 描述用户注册时候选择问题并给出答案,以便找回密码 定义密保问题=编号+密保问题 Id+问题+答案 位置输入到用户表(userInfo) 3.收件箱数据字典 表 4.3 收件箱数据字典 收件箱 别名无 描述用户收到的邮件信息 定义 收件箱信息

47、=编号+邮件 Id+收件人列表+收件人+删 除状态+删除时间+正文+主题+是否转发+已转发图标 Id+ 阅读状态+未阅读图标 Id+是否回复+已回复图标 Id+回复 且转发图标 Id+来信时间+是否有附件。 位置输入到收件箱(receiverBox) 4.附件列表数据字典 表 4.4 附件列表数据字典 附件列表 别名无 描述用户收到的或发出去的附件 定义 附件列表= 编号+附件 id+附件名+路径+大小+附件 类型+邮件 Id+邮件共有人数。 位置输入到附件列表表(attachment) 5.发件箱数据字典 表 4.5 发件箱数据字典 发件箱信息表 别名无 描述用户发送出去的邮件 定义 发件箱

48、= 编号+收件人 id+收件人列表+主题+内容+ 是否紧急+紧急图标 Id+删除状态+是否彻底删除+删除时 间+是否转发+已转发图标 Id+已发送图标 Id+邮箱 Id+是 否有附件+附件图标 Id。 位置输入到发件箱表(sendBox) 6.草稿箱数据字典 表 4.6 草稿箱数据字典 草稿箱 别名草稿箱 描述草稿箱 定义 草稿箱= 编号+草稿 id+发件人+收件人列表+保存时 间+是否删除+删除时间+草稿图标+是否有附件+邮件 Id+ 主题+内容。 位置输入到草稿箱信息表(draftBox) 7.图标信息数据字典 表 4.7 图标信息数据字典 图标信息表 别名无 描述系统使用的工作图标 定义

49、图标信息= 图标 Id+图标。 位置输入到图标表(icon) 4.2.2 系统系统 E-R 图的设计图的设计 系统主要包括收件箱、发件箱、草稿箱和已删除及通讯录五个大模块,每 个模块都涉及到不同的实体类,E-R 图的设计将会更直观的显示出系统各实体 之间的联系。 系统涉及到的实体有收件箱、发件箱、草稿箱、通讯录、联系人、用户。 实体之间的联系如图 4.2 所示: 收件箱 联系人 通讯录 用户 草稿箱 发件箱 收取 添加 属于 保存添加 发送 mm 11 m 1 1 m m 1 1 n m 图 4.2 IU 电子邮箱系统 E-R 图 4.2.3 数据库逻辑结构的设计数据库逻辑结构的设计 每个系统

50、都有不同功能模块,每个模块都涉及到一定量的数据表,数据表 之间又有着一定的联系。E-R 图的设计就是直观地表现出个实体类数据表之间 的联系和各种动作,系统的功能几乎都要涉及到数据库中的不同的表,而数据 库中的表的设计和表之间关系的设计,是数据库设计的重点。根据对系统的数 据分析和各模块 E-R 图的设计,我们按照系统涉及到的实体进行数据库设计。 IU 电子邮箱系统数据库名为“email” ,本数据库包括以下表: 表 4.8 密保问题表 字段名code数据类型是否为空默认值备注 编号idint否主键 密保问题 IdquestionIdint否 答案answervarchar(100)是 问题qu

51、estionvarchar(200)是 表 4.9 收件箱表 字段名code数据类型是否为空默认值备注 编号idint否主键 邮件 IdmailIdint否 收件人列表receiverListvarchar(100)否 收件人receivervarchar(500) 否 删除状态isDeletedbit否0 删除时间deleteTimedatetime否系统时间 正文contenttext是 主题titlevarchar(100)否 是否转发isForwardbit否0 已转发图标 Idforw_icon_idint是 阅读状态isReadbit否0 未阅读图标 IdunRd_icon_idi

52、nt否 是否回复isReplibit否0 回复图标 Idrep_icon_idint是 回复且转发图rep_fwd_icon_idint是 来信时间RcvTimedatetime否 是否紧急isUrgentbit否0 是否有附件have_attmbit否0 表 4.10 图标表 字段名code数据类型是否为空默认值备注 图标 IdiconIdint否主键 图标iconimage否 表 4.11 附件列表 字段名code数据类型是否为空默认值备注 编号idint否主键 附件 IdattachmIdint否 附件名attachmNamevarchar(500)是 路径pathvarchar(500

53、)否 大小sizefloat否 附件类型att_sortimage否 邮件 Idmailidint否 邮件共有人数amountint否 表 4.12 用户表 字段名code数据类型是否为空默认值备注 编号idint否主键 用户名userNamevarchar(16)否 密码保护问题 IdquestionIdint是 答案answervarchar(50)是 性别sexchar(2)否 出生日期birthdaydatetime否 手机号telphonechar(11)是 密码userPasswordvarchar(16)否 用户编号userIdint否 表 4.13 发件箱表 字段名code数据

54、类型是否为空默认值备注 编号idint 否主键 收件人 IdsenderIdint 否 收件人列表receiverListvarchar(100) 否 主题titlevarchar(100)否 内容contenttext是 是否紧急isUrgentBit否0 紧急图标 Idur_icon_idint否 删除状态isDeletedbit否0 彻底删除isCompletedelbit否0 删除时间deletedTimedatetime否 是否转发forwardbit否0 已发送图标 IdsendIcon_idint否 转发图标 idforwardIcon_idint否 邮件 IdmailIdint

55、否 附件图标 Idatt_icon_idint否 是否有附件have_attmbit否 表 4.14 草稿箱表 字段名code数据类型是否为空默认值备注 编号idint否主键 草稿 IddraftIdint否 发件人senderIdint否 收件人列表receiverListvarchar(100) 否 保存时间saveTimedatetime否 是否删除isDeletedbit否0 删除时间delTimedatetime否当天 草稿图标draftIconimage否 是否有附件have_attmbit否0 邮件 IdmailIdint否 主题titlevarchar(100)否 内容cont

56、enttext否 4.3 系统类图的设计系统类图的设计 类图是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以 及它们与其他类的关系等,显示出类、接口以及它们之间的静态结构和关系, 它用于描述系统的结构化设计。 可以把类看作理论上的对象,类创建的所有对象都有相同的成员:属性、 方法和事件。但是,每个对象都像一个独立的实体一样动作。类图的作用就是 以图表的形式表现出不同实体不同对象所做的动作。 4.3.1 收件箱类图的设计收件箱类图的设计 此模块针对用户进入收件箱后进行收取邮件,查看邮件,搜索邮件等操作, 类图设计如图 4.3: 图 4.3 收件箱类图 4.3.2 发件箱类图的设计发件

57、箱类图的设计 此模块记录了用户所有发出去的邮件,方便用户查阅发送记录,发件箱类 图如图 4.4 所示: 图 4.4 发件箱类图设计 4.3.3 草稿箱类图的设计草稿箱类图的设计 草稿箱主要是保存用户在暂时不发送的邮件或者编辑尚未完成的邮件,方 便用户管理自己未发送的邮件。 草稿箱功能实现的类图设计如图 4.5 所示: 图 4.5 草稿箱类图 4.3.4 通讯录类图的设计通讯录类图的设计 通讯录主要是给用户提供一个管理自己邮件联系人的平台,用户可以添加 删除修改自己联系人信息,并对其进行分组,通讯录类图类图设计如图 4.6 所 示: 图 4.6 通讯录类图 4.4 系统开发相关规范系统开发相关规

58、范 4.4.1 开发工具开发工具 1.Myeclipse6.0:是一个十分优秀的用于开发 Java,J2EE 的 Eclipse 插件集合, MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十 分不错。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测 试和发布功能,完整支持 HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。是系统开发主要编码 工具。 2.Mysql 5.5:系统采用 MySQL 数据库。 3.Dreamweaver8:Dreamweaver 是美国 MACROMEDIA 公司开发的集网

59、页制作 和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师 特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制 和跨越浏览器限制的充满动感的网页。系统静态网页的设计大多采用此软件进 行编辑和设计。 4.Navicat 9 for MySQL:MySQL 数据库自身没有图形界面,是通过命令的形式 进行操作;此工具即 MySQL 的图形界面,将会更直观地了解数据库的结构和 表与表间的关系。 4.4.2 编码规范编码规范 1.资源规范 Struts2.1.8:系统采用 Struts 框架进行开发,系统采用的 Struts 标准为 Struts2.1.8。 Mysq

60、l-connector-java-3.1.12-bin.jar:系统数据库采用 MySQL,此 jar 包即是连 接数据库的驱动。 2.编码规范 编码是软件系统开发过程中最重要的部分之一,编码就是系统实现。在系 统实现过程中,不同的系统大小代码量不同,需求也不同,在保证系统开发进 度和质量的前提下,就必须进行开发人员的分工。分工意味着不同组员负责不 同模块的实现,在负责不同模块的同时,保证项目进度和质量,必定需要一定 的编码规范来约束和规范系统的编码。良好的编码规范会使项目的进展更顺利, 并且能保证系统的质量和具有很好的后期维护性。 本系统的开发,代码结构如下图 4.11 所示: 图 4.11

温馨提示

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

评论

0/150

提交评论