基于js的java email邮件系统研发设计.doc

上传人:精*** 文档编号:828973 上传时间:2023-09-06 格式:DOC 页数:49 大小:1.12MB
下载 相关 举报
基于js的java email邮件系统研发设计.doc_第1页
第1页 / 共49页
基于js的java email邮件系统研发设计.doc_第2页
第2页 / 共49页
基于js的java email邮件系统研发设计.doc_第3页
第3页 / 共49页
基于js的java email邮件系统研发设计.doc_第4页
第4页 / 共49页
基于js的java email邮件系统研发设计.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、基于JSP的电子邮件系统摘 要由于网络中邮件管理系统繁多、业务需求多变,基于各邮件服务器的邮件管理系统的维护和业务变更变得难以进行。为了极大地方便上网用户,系统使用了B/S技术来进行开发,避免了原有的C/S结构开发所带来的弊端。并且将E-mail系统和Web应用结合起来,用户仅通过浏览器访问邮件系统即可。本邮件系统的基本功能包括:用户登录、通讯录管理、邮件收取、邮件发送、查看邮件、邮件的管理功能。本文从软件体系结构设计模式的角度入手,首先设计和实现一个支持邮件收发、管理等基本功能的邮件管理系统,并在此基础上添加各项扩展功能。在介绍Struts2和MVC整体架构相关理论的基础上,研究如何使用这些

2、JAVA框架和技术,使用MyEclipse开发工具构建灵活、实用的邮件收发平台。该架构的主要优点是:易于维护和扩展,方便用户的掌握和使用。此邮箱系统功能主要分为管理员管理和用户管理两大部分,管理员管理主要包括管理用户信息、删除用户等;用户管理主要包括用户个人信息的管理、个人邮箱的管理等。该系统可以根据对功能需求进行扩展和完善。 关键词:邮件管理系统; MyEclipse; MVC; Struts2 AbstractCurrently, there are too many E-mail Management System, and too many business changing requ

3、irements, which results of E-mail Management System maintenance and operations become difficult to change. In order to greatly convenient of Internet users, the E-mail Management System used the B/S technology to carry on the development, which has avoided the malpractice of the traditional C/S stru

4、cture. And combining the E-mail Management System and the Web application, then user can visit E-mail Management System just by opening the browser. The E-mail Management System basic function: the user registers, address list management, receiving the mail, sending the mail, reading the mail, mail

5、management function. In this paper, it firstly begins with the software architecture patterns, and then constructs an E-mail Management System which supports the basic functions, such as sending and receiving email,managing emailbox, next add the extension. On the basis of introducing Struts2 archit

6、ecture and MVC structure, the paper discusses how to use these technologies and frameworks of JAVA to build a flexible, practical online teaching platform by MyEclipse development tool. The main advantages of this structure are as follows, it solves the problems of maintainability and extendibility

7、in traditional website systems; it enables users to more easily grasp and use this system.This mail management system functions are divided into administrator and user management of two parts, the administrator management includes management of user information, delete users, etc.; The user manageme

8、nt includes user personal information management, personal mailbox management. The system can be extended and improved based on functional requirements.Key Words:E-mail Management System; MyEclipse; MVC; Struts2目 录摘 要IAbstractII目 录IV引 言11.绪论21.1选题背景21.2课题意义21.3课题的研究内容21.4论文的组织结构32.理论基础与相关技术介绍42.1系统开

9、发的工具42.1.1 MyEclipse 8.642.1.2 MySQL 5.142.1.3 B/S架构编程体系52.2系统开发的技术62.2.1 MVC理论基础62.2.1 Struts2框架技术82.3本章小结103.系统需求分析113.1用户需求113.1.1 系统功能需求113.1.2 用户端特性113.1.3 运行环境需求113.1.4 性能需求123.1.5 软件属性需求123.2数据描述123.2.1 数据流程分析123.2.2 数据字典163.3系统的总体设计183.3.1 系统设计思想183.3.2 系统模块设计193.3.3 系统模块说明213.4本章小结214.数据库设计

10、224.1概念结构设计224.2逻辑结构设计234.3本章小结255.系统详细设计265.1系统模块总设计思想265.2登录管理模块详细设计265.2.1 新用户注册设计265.2.2 登录模块设计285.2.3 系统主界面设计305.2.4 管理员模块设计315.2.5 修改密码模块设计335.3邮箱管理模块详细设计335.3.1 用户撰写和发送邮件设计335.3.2 用户收件箱管理设计365.4通讯录管理模块详细设计385.4.1 添加联系人设计385.4.2 邮件群发设计395.5本章小结416.系统测试426.1系统测试目的426.2系统测试方法426.3本章小结547.总结与展望54

11、7.1本文总结547.2系统改进56致谢57参考文献5844引 言中国是世界上Email账号最多的国家,也是发展最快、市场环境最复杂的国家。电子邮件的发展如同一面镜子,折射出中国的网络运营商及网民们在互联网发展过程中的种种心态。无论如何,电子邮件在人们的生活、工作、学习过程中,越来越普及。同时,还有一种趋势,将多种通信手段相结合,成为一个立体的、全方位的通信网络。这中间,电子邮件也在扮演着相当重要的角色。实在难以想象,如果没有了电子邮件,网民的生活是如何的。但大多网站邮箱功能过于强大,操作繁琐,不简单实用,甚至有的是收费邮箱,对于小型企业或集体用于内网通信成本过高。所以本系统针对于小范围人群内

12、部通信设计,实现邮箱基本功能,操作简单易用。本系统采用MyEclipse 8.6开发,后台数据库采用MySQL 5.1进行开发,系统总体分为三大模块:登录管理模块,用户身份进行验证以及注册的实现。邮箱管理模块,收发邮件和对邮件信息进行管理。通讯录管理模块,对联系人信息进行管理。1. 绪论1.1 选题背景电子邮件(Electronic-Mail也称为E-mail),它是用户或用户组之间通过计算机网络收发信息的服务。目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。

13、并且现在很多高校也采用邮件方式教学和收发作业。目前互联网60%以上的活动都与电子邮件有关。尤其如今环境资源遭到破坏,提倡环保的主题下,不论是企业还是个人都应该尽量节省纸张,采用邮件形式来传递信息,这样不仅可以环保同时也提高了效率和安全性。而邮件管理系统来处理用户收发邮件及管理邮件等基本操作是必不可少的。1.2 课题意义电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。通过电子邮件人们可以以十分低廉的代价,以非常快的速度同世界上其他互联网用户联络。电子邮件的使用者数量呈几何级数增长。当前流行的各大邮件客户端软件的除了最主要的收发信件

14、之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。对于用户来说一款简单,方便,快捷的邮件收发系统将会在很大程度上为用户提供满意的服务,制作一款能满足用户需求的邮件收发系统是每一个设计者所追求的目标。因此希望通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能,解决了小型企业和集体不能在同一平台通信交流的问题。1.3 课题的研究内容本课题的研究内容是使用MyEclipse开发

15、基于MVC架构的邮件管理系统。通过对MVC设计模式和Struts2架构的研究,设计一套灵活的系统整体架构方案,方便对系统功能模块的增减和修改,以应对不同用户的不同需求,解决现有邮件管理系统复杂性和可维护性差的问题。将研究结果应用于实际系统开发,为邮件管理系统的快速开发、可维护和扩展能力提供有效的支持。为客户与员工建立一个统一而方便的信息沟通平台,利用信息技术实现信息沟通一体化、规范化,服务于工程实践。1.4 论文的组织结构本论文的结构分为第一章绪论,第二章理论基础与相关技术介绍,第三章系统需求分析,第四章系统总体结构设计,第五章系统详细设计,第六章系统测试,第七章总结与展望五部分来阐述。系统需

16、求分析主要是介绍系统的开发技术、背景和环境,分析用户对本系统的需求,描述用户端特性、运行环境、性能需求、系统功能需求等方面的需求。通过数据流程图和数据字典对系统完整的进行设计,对各个功能模块进行系统的分析划分和描述。系统的总体结构设计是分别进行系统的逻辑设计和数据库的设计,完成数据库中各表之间的联系描述和关系描述,通过数据库E-R图表示。系统详细设计是对系统各部件的详细设计,其中有对各功能模块的设计、系统流程图、各功能模块的代码分析和实现以及系统各界面的运行状况。系统测试是对本系统进行测试用例,测试本系统是否可以正常运行,并分析各测试用例。总结和展望是对本课题进行最后完整的总结,包括系统的各功

17、能内容和特点,系统的研发体会以及系统需要改进的方面进行详细的总结。2. 相关工具与技术介绍2.1 系统开发的工具2.1.1 MyEclipse8.6MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,My

18、Eclipse的特征可以被分为7类:JavaEE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,JavaEE项目部署服务,数据库服务,MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安

19、装时不需安装Eclipse。MyEclipse 8.6的主要改进是在团队写作和集中工作环境的集中配置管理方面。同时MyEclipse 8.6还包含了上百个功能的改进和新特性,这些新功能和特性将让MyEclipse 8.6用户在开发代码,测试,以及部署应用方面都得到极大的便利。2.1.2 MySQL 5.1MySQL是一个小型关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。安全性上,MySQL采用十分灵活和安全的权限和密码系统,

20、允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。MySQL服务器提供了对SQL语句的内部支持,可用于检查、优化和修复表。 MySQL 5.1具备多项崭新企业级功能,包括: n 圖表及索引區間(Table and Index Partitioning) MySQL 5.1支援五種不同的平面數據區間:類別、散列、關鍵及混合模式(即次等區間,sub-partitioning)。 图表及索引区间(Table and Index Partitioning) MySQL 5.1支援五种不同的平面数据区间:类别、散列、关键及混合模式(即次等区间,sub-partitio

21、ning)。 透過將圖表及索引數據區間,從而使到查詢回應時間更快,因為只需掃描有關的數據區間,毋須掃描整體圖表或索引。 透过将图表及索引数据区间,从而使查询回应时间更快,因为只需扫描有关的数据区间,毋须扫描整体图表或索引。 此外,透過區間能使不同類型的儲存及其他維護程序可以更輕易、更快速部署。 此外,透过区间能使不同类型的储存及其他维护程序可以更轻易、更快速部署。 n 以行列為基礎及混合式複製(Row-Based and Hybrid Replication) MySQL 5.1提供兩個全新的複製選項。 以行列为基础及混合式复制(Row-Based and Hybrid Replication

22、) MySQL 5.1提供两个全新的复制选项。以列为基础的复制可以在主伺服器及后备伺服器之间复制数据的转变,而非实质SQL语句(SQL statement) ,至于混合式复制则可根据独立的SQL运行方式,作出以语句或行列为基础的复制。这项功能可为应用带来最具效率及最安全的复制程序。 n 工序排程 這個嶄新工具可讓開發人員及數據庫管理員將日常及持續進行的SQL轉為基礎的工序,在數據庫伺服器上自動執行,從而透過在Linux或UNIX的CRON或Microsoft Windows的工序排程軟件,為數據庫的特定工序提供更大的支援。 工序排程这个崭新工具可让开发人员及数据库管理员将日常及持续进行的SQL

23、转为基础的工序,在数据库伺服器上自动执行,从而透过在Linux或UNIX的CRON或Microsoft Windows的工序排程软件,为数据库的特定工序提供更大的支援。 n 全新MySQL Query Analyzer 太陽電腦全新的MySQL Query Analyzer工具為MySQL企業版用戶而設,可以藉著監察查詢的效能表現,從而準確更正SQL編碼問題,顯著提升數據庫應用的執行速度和減少停機時間。 全新MySQL Query Analyzer Sun电脑全新的MySQL Query Analyzer工具为MySQL企业版用户而设,可以借着监察查询的效能表现,从而准确更正SQL编码问题,显

24、著提升数据库应用的执行速度和减少停机时间。2.1.3 B/S架构编程体系B/S架构的全称为Browser/Server,即浏览器/服务器结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统.。SUN 和IBM推的Jav

25、aBean 构件技术等,使 B/S更加成熟。B/S三层体系结构采用三层客户服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层

26、结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度

27、慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。虽然可以用ActiveX、Java等技术开发较为复杂的应用,但是相对于发展已非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。2.2 系统开发的技术2.2.1 MVC理论基础MVC架构是Model-View-Controller的缩写,中文翻译为模型-视图-控制器。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Mode

28、l或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC架构是一种架构,其实需要其他模式协作完成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts2在整合了Struts和webwork后,终于彻底实现了MVC的架构。视图(View):代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规

29、模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,

30、以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类只能做这些,但没法限制能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型

31、主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都

32、会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2-1所示。图2-1 MVC组件类型的关系和功能2.2.2 Struts2框架技术Struts框架的核心是一个灵活的控制层,它基于以下标准技术,如:Java Servlet、JavaBean、资源绑定、XML和各种Jakarta Commons包。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。

33、从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Struts2框架是当前Web开发中最为流行的设计和开发框架,借助于Struts2框架,开发人员可以把主要精力集中在如何解决实际业务处理上,而不需要在页面和业务代码之间的处理上花费很多时间。Struts2开发框架遵循MVC设计模式,

34、这样可以将整个工程分为3个相对独立而又能协同工作的组成部分(包括模型、视图、控制器),开发人员可以从负责的页面代码、业务代码和控制流程中具体分工。1) 核心控制器:FilterDispatcher FilterDispatcher是Struts2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts2框架处理。 Struts2框架获得了*.action请求后,将根据*.action请求的前面部分决定调用哪个业务逻辑组件,例如,对于login.actio

35、n请求,Struts2调用名为login的Action来处理该请求。Struts2应用中的Action都被定义在struts.xml文件中,在该文件中定义Action时,定义了该Action的name属性和class属性,其中name属性决定了该Action处理哪个用户请求,而class属性决定了该Action的实现类。Struts2用于处理用户请求的Action实例,并不是用户实现的业务控制器,而是Action代理;因为用户实现的业务控制器并没有与Servlet API耦合,显然无法处理用户请求。而Struts2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求

36、中的请求参数解析出来,传入到Action中,并回调Action的execute方法来处理用户请求。用户实现的Action类仅仅是Struts2的Action代理的代理目标。用户实现的业务控制器(Action)则包含了对用户请求的处理。用户的请求数据包含在HttpServletRequest对象里,而用户的Action类无需访问HttpServletRequest对象。拦截器负责将HttpServletRequest里的请求数据解析出来,并传给业务逻辑组件Action实例。 2) 业务控制器 业务控制器组件就是用户实现Action类的实例,Action类里通常包含了一个execute方法,该方法

37、返回一个字符串;该字符串就是一个逻辑视图名,当业务控制器处理完用户请求后,根据处理结果不同,execute方法返回不同字符串;每个字符串对应一个视图名。程序员开发出系统所需要的业务控制器后,还需要配置Struts2的Action,即需要配置Action的如下三个部分定义:1.Action所处理的URL。 2.Action组件所对应的实现类。3.Action里包含的逻辑视图和物理资源之间的对应关系。 每个Action都要处理一个用户请求,而用户请求总是包含了指定URL。当Filter Dispatcher拦截到用户请求后,根据请求的URL和Action处理URL之间的对应关系来处理转发。 3)

38、Struts2的模型组件 实际上,模型组件已经超出了MVC框架的覆盖范围。对于Struts 2框架而言,通常没有为模型组件的实现提供太多的帮助。 Java EE应用里的模型组件,通常指系统的业务逻辑组件。而隐藏在系统的业务逻辑组件下面的,可能还包含了DAO、领域对象等组件。 通常,MVC框架里的业务控制器会调用模型组件的方法来处理用户请求。也就是说,业务逻辑控制器不会对用户请求进行任何实际处理,用户请求最终由模型组件负责处理。业务控制器只是中间负责调度的调度器,这也是称Action为控制器的原因。 4) Struts 2的视图组件 Struts 2已经改变了Struts1 只能使用JSP作为视

39、图技术的现状,Struts 2允许使用其他的模板技术,如FreeMarker、Velocity作为视图技术。 当Struts 2的控制器返回逻辑视图名时,逻辑视图并未与任何的视图技术关联,仅仅是返回一个字符串,该字符串作为逻辑视图名。 当我们在struts.xml文件中配置Action时,不仅需要指定Action的name属性和class属性,还要为Action元素指定系列result子元素,每个result子元素定义一个逻辑视图和物理视图之间的映射。前面所介绍的应用都使用了JSP技术作为视图,故配置result子元素时没有指定type属性,默认使用JSP作为视图资源。 Struts2的工作流

40、程如图2-2所示,它显示了这些组件是如何工作的。图2-2 Struts2工作流程图2.3 本章小结本章主要是完整的介绍一下本系统开发的相关工具与技术,包括有:MyEclipse 8.6、MySQL 5.1,B/S 体系架构,MVC理论和Struts2技术。将这些开发工具的特点和优势做了一个详细的描述,便于在系统开发时能够充分利用所具有的特性开发系统,提高系统开发的工作效率。本邮件管理系统页面组织和控制流程采用基于MVC设计模式的Struts2开发框架,这使得整个系统分为前台展示、业务流程控制和后台开发三个独立的部分。在视图层,使用了Struts2的标签和html共同完成JSP页面;业务流程和控

41、制转发采用Struts2框架中的控制器部分进行控制。3. 系统需求分析3.1 用户需求3.1.1 系统功能需求1. 登录管理:包括用户注册、登录和找回密码。u 注册新用户:用户可以通过申请注册使用。主要是完成收集,存用户注册时填写的信息。u 用户登录:主要功能用户登录的用户名密码与数据库中的信息进行验证。登录成功后可以修改个人密码,管理员还可以管理用户信息。2. 邮件收发:包括写邮件、收邮件、发送邮件。u 写邮件:包含发送的主题,邮件文本内容,可以添加附件。u 发送邮件:选择发送方式,如发送或保存;对非法邮件进行拦截。u 收邮件:获得新邮件,对新邮件进行过滤分类。3. 邮箱管理:包括收件箱,草

42、稿箱,发件箱和垃圾箱。u 收件箱:可以查看邮件,下载邮件的附件,删除无用的邮件。u 草稿箱:用户可以对保存的邮件进行查看和删除。u 发件箱:用户可以查看曾发送的邮件,删除记录。u 垃圾箱:可以选择彻底删除垃圾邮件,或者还原邮件。4. 通讯录模块:包括建立通讯录、查看通讯录和删除通讯录。u 新建通讯录:主要包括添加联系人的基本信息。u 查看通讯录:主要对联系人管理操作,如删除指定联系人。u 群发邮件:通过单击“选择通讯录”可以对指定联系人群发邮件。3.1.2 用户端特性 将用户分为两种类型:管理员、用户。管理员管理系统中已注册的用户和发邮件;用户只能进行邮件的收发和管理功能的操作。3.1.3 运

43、行环境需求用户对系统运行环境需求包括软件、硬件、开发等方面。1)系统软件要求:操作系统:Windows xp/vista/win7 开发软件:MyEclipse 8.6数据库:MySQL 5.12)系统硬件要求:处理器:P4 以上内存:512MB以上硬盘空间:10G以上3)开发要求: 开发工具:MyEclipse 8.6 编程语言:Java 工具配置:JDK 1.63.1.4 性能需求1)时间要求一般操作的响应时间应在2-4秒内,对后台数据库的操作也应在可接受的时间内完成。2)数据精确度要求要求输入、输出数据;删除,修改记录等要保证关键字的完整性。3.1.5 软件属性需求1)准确性:要求本系统

44、能够正常运行,系统不会死机。2)高效率:系统反应速度快,工作效率高。3)易操作性:各功能菜单、按钮简单,易懂,使用起来上手快。4)可维护性:数据库和显示的内容都可以及时的修改和维护。5)安全性:各权限管理规范,系统安全性强。6)可移植性:在台式机、笔记本电脑上通用。3.2 数据描述3.2.1 数据流程分析数据流程图(DFD):是一种图形化技术,是描绘数据在软件中流动和被处理的逻辑过程。以下是本系统按照功能来划分的数据流图的顶层图:图3-1 系统的顶层数据流图顶层数据流图仅仅是从总体上反映了系统的信息联系,按照结构化分析方法,自顶向下、逐层分解,对顶层图进行细化。细化进行到数据流图中的每一个数据

45、处理成为一个很容易理解的单一功能,且这个单一功能可以通过简单的逻辑表达式在数据字典中予以说明。通过对数据流的顶层图的绘制与分析得到系统的第0层数据流:图3-2 系统的第0层数据流第0层数据流图反映的是对系统主要数据流的方向,将其逐层细化,把数据流图中的每一个数据加工进行了分析细化。各信息管理的数据流图,其第一层数据流图如下图: 图3-3 登录管理的第1层数据流图图3-4 邮件收发的第1层数据流图图3-5 邮箱管理的第1层数据流图图3-6 通讯录管理的第1层数据流图3.2.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典最主要的用途就是供人查阅对

46、不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流程图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格。所以为了精确定义每一个元素,需要数据字典来将系统规格说明。系统中的数据流:表1:用户注册数 据 流系统名:邮件管理系统条目名:注册信息别名: F1来源: 新用户 去处: user表数据流结构:用户名,密码,密码确认,住址,性别,联系方式简要说明:负责输入用户注册信息数据表2:用户登录 数 据 流系统名:邮件管理系统条目名:登录信息别名: F2来源: 用户 去处: user表数据流结构:用户名,密码,登录身份简要说明:输入用户登录信息,进行身份验证。表3:修改密码数 据 流系统名:邮件管理系统条目名:修改密码信息别名: F3来源: 用户 去处: user表 数据流结构:原密码,新密码,确认新密码简要说明:输入用户原密码并两次输入相同的新密码,验证正确后修改数据库。表4:添加联系人数 据 流系统名:邮件管理系统条目名:联系人信息别名: F4来源: 用户 去处: tongxunlu表数据流结构:姓名,性别,年龄,电话,住址,公司,邮箱地址简要说明:主要负责对每个用户的联系人信息进行数据添加。表5:用户管理数 据 流系统名:邮件管理系统条目名:用户信息别名: F5来源: user表 去处: 管理员数据流结构:编号,用户

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922