java邮件系统的设计与实现毕业论文_第1页
java邮件系统的设计与实现毕业论文_第2页
java邮件系统的设计与实现毕业论文_第3页
java邮件系统的设计与实现毕业论文_第4页
java邮件系统的设计与实现毕业论文_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、 . 9 / 65毕业设计(论文)Java 系统的设计与实现 . I / 65毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明原创性声明原创性声明本人重承诺:所呈交的毕业设计(论文) ,是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作 者 签 名:日 期:指导教师签名: 日期:使用授权说明使用授权说明本人完全了解大学关于收集、保存、

2、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名: 日 期:学位论文原创性声明学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的 . II / 65个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由

3、本人承担。作者签名: 日期: 年 月 日学位论文使用授权书学位论文使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日 . III / 65基于 Java 的系统摘要在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。而当今世界人们更多的是使用电子,与传统的书信相比电子具有使用简易、

4、投递迅速、收费低廉,易于保存、全球畅通无阻等优点。基于 java 的电子系统是使用当今流行的计算机语言(java 语言)和当今流行的SSH(Struts+Spring+Hibernate)框架开发而成。在数据存储上使用了免费、开源、跨平台的 Oracle 数据库,服务器使用了免费、开源的支持 SMAP 协议发送电子和 IMAP协议接收电子的 Apache James 服务器,界面简单大方。系统的实现将有效地提高企业员工的工作效率,降低员工之间的沟通成本,并且具有较广泛的推广价值。本论文阐述了基于 java 的电子系统背景、研究现状与发展趋势,介绍了系统开发所使用的语言、环境和工具,并对使用的相

5、关的技术进行了详细的阐述。按照软件开发的生命周期论述方法,进行了系统分析、概要设计、详细设计和代码实现、系统测试的过程。具体论述了面向对象设计方法、系统设计的原则、系统设计的总体目标以与体系结构的特点。关键词:系统,Java,James 服务器,Oracle,SSH . IV / 65Java-based Mail SystemAbstractIn the past few decades, people mainly use the letters and far apart, temporarily see the emotional side of people and exchange

6、 ideas. And in todays world people are more , compared with the traditional correspondence with easy to use, fast delivery, low-cost, easy to store, the worlds smooth and so on. Java-based system is to use todays popular computer languages (java language) and todays popular SSH (Struts+Spring+Hibern

7、ate) framework developed with. Used in data storage on a free, open source, cross-platform Oracle database, mail server uses the free, open-source support for SMAP and IMAP email protocols to receive e-Apache James mail server, the interface simple and generous. System implementation will effectivel

8、y improve staff productivity, reduce cost of communication between employees, and has a wider spread value. This paper describes the system based on java background, research status and development trends, describes the development of the language system, environment and tools, and related technolog

9、ies used in a detailed exposition. According to the software development life cycle, discusses the system analysis, outline design, detailed design and code, system testing process. Specifically discusses the object-oriented design, system design principles, system design and architecture the overal

10、l objective of the characteristics.Key Words:Mail System, Java, James Mail Server, Oracle, SSH . 1 / 65目 录目录 11 绪论 31.1 设计的背景 31.2 设计的目的 31.3 发展现状 41.4 研究方法 41.5 论文构成 41.6 研究容 52 实现技术与开发工具 62.1 STRUTS2 简介 62.2 SPRING简介 72.3 HIBERNATE简介 82.4 MYECLIPSE简介 92.5 ORACLE简介 92.6 TOMCAT服务器简介 102.7 JAMES服务器简介

11、 112.8 JQUERY简介 122.9 电子简介 133 系统需求分析 153.1 可行性分析 153.1.1 经济可行性分析 153.1.2 技术可行性分析 163.1.3 社会因素可行性分析 163.2 功能需求分析 163.3 性能需求分析 193.4 数据库需求分析 194 数据库的设计与实现 214.1 数据库的设计 214.1.1 概念结构设计 214.1.2 逻辑结构设计 234.2 数据库的实现 234.2.1 用户登录信息表 234.2.2 用户基本信息表 244.2.3 联系人分组表 244.2.4 联系人信息表 25 . 2 / 655 系统的设计与实现 265.1

12、系统设计的目标 265.2 系统设计的思想 265.3 系统模块设计 275.3.1 用户登录系统的工作流程 285.3.2 注册新用户信息的工作流程 295.3.3 用户找回密码信息工作流程 305.3.4 用户添加联系人信息工作流程 335.3.5 用户发送电子工作流程 345.3.6 用户查看电子工作流程 355.4 系统模块的实现 375.4.1 用户登录系统的实现 385.4.2 用户找回密码的实现 395.4.3 用户发送电子的实现 435.4.4 用户查看电子的实现 455.4.5 用户查看联系人的实现 465.4.6 用户添加联系人的实现 476 系统测试 496.1 单元测试

13、 496.2 集成测试 506.3 系统测试 53结论 55致 56参考文献 57附录 59 . 3 / 651 绪论1.1 设计的背景电子(简称 E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流与数据传送。通过连接全世界的 Internet,实现各类信号的传送、接收、存贮等处理,将送到世界的各个角落。到目前为止,可以说电子是 Internet 资源使用最多的一种服务,E-mai1 不只局限于信件的传递,还可用来传递文件、声音与图形、图像等不同类型的信息。与传统的信件相比电子更具有传统信件

14、没有的优势,传统的受到时间、地点等各种限制,而电子却不受这些限制。正是由于电子的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子被广泛地应用,它使人们的交流方式得到了极大的改变。另外,电子还可以进行一对多的传递,同一可以一次发送给许多人。最重要的是,电子是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极满足了大量存在的人与人之间的通信需求。现在随着互联网和计算机的普与1,电子将会成为人们越来越受欢迎的交流方式。1.2 设计的目的当今流行的系统如 Lotus Notes 和 Exchange 是非常强大的商业软件2。但这些系统包

15、含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。而事实上,很多使用这些系统的公司仅仅需要其中的服务器基本功能,因此对于这些企业来说花重金来购买这些系统还不如花少量的钱去重新开发一款功能简单的系统。所以开发一款简单易用的,使用户容易上手的电子系统是非常有必要的。对于大型的企业来说开发一种简单易用的具有电子基本功能的电子系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。1.3 发展现状 . 4 / 65随着 Internet 网的广泛普与,电子的使用迅速增多起来。电子的使用不仅在数量上有突飞猛进的发展,而且其重要性日益增加。电子已不只是的替代品,它

16、可以而且已经在更广泛的应用着。利用电子用户可以交互电子表格与数据文件,当然也可以发送长的便笺和传送官方文献。由于目前我国电子的渗透率还很低,但用户的需求日益强烈,且有国家对企业信息化的支持,因此电子的发展潜力巨大。特别是外包式的电子,由于建设成本和管理成本相对更低,而安全性、互通性等基础功能的性能更优,因此将受到更多用户的青睐。目前国产品提供商还只停留在提供单一的产品阶段,还未形成一整套的解决方案。这与电子在中国所处的发展阶段有直接关系,目前中国的电子市场还处于起步阶段,普与率非常低,因此电子提供商当下亟需解决的问题是加大宣传、开拓市场,让更多的用户首先接受电子这个最核心的产品,然后再在此基础

17、上提供一整套的解决方案。虽然如此,我国的电子提供商还是可以学习国外先进的管理解决方案的思路,了解用户在管理中需要解决的问题,将其融入到现有的产品中,为用户提供更全面的一站式服务。1.4 研究方法采用结构化的分析和设计的方法,在 Windows7 系统下,使用 java 语言,基于Myeclipse10.0 开发平台,以 Tomcat7.0 为服务器,并以 Oracle10g 为后台数据库。在对系统进行详细的需求分析的基础上,画出数据流图,序列图,类层次图等。在设计数据库时根据需求分析画出 E-R 图,给出相关信息的数据字典,建立相关数据库,在进一步细化数据流图的基础上得出系统的体系结构,然后进

18、行编码和测试。1.5 论文构成本论文主要从 Java 系统的相关背景与相关技术、需求分析、数据库设计实现、系统设计与实现系统测试等五个方面分别进行阐述。第一章绪论,介绍了论文的研究意义,国外对该选题的研究动向与已有研究成果,以与本文的主要研究容和论文结构。第二章实现技术与开发工具,叙述了与电子相关的实现技术与开发工具,包括Struts2、Spring、hibernate 框架的介绍,以与开发工具 myeclipse 的简单介绍和使 . 5 / 65用方法,还包括数据库 orcale 的相关简介,同时还有服务器 tomcat 的简单介绍和使用。第 3 章需求分析,对电子系统进行了剖析,并对其进行

19、了可行性分析,包括经济可行性分析、技术可行性分析、社会因素可行性分析等分析工作。同时对其功能需求、性能需求、数据库需求等都做了详细的分析第 4 章数据库设计与实现,完成了对电子系统数据库的设计和实现。详细完成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体容。第 5 章系统设计与实现,从系统设计的目标、设计思想开始,完成了系统模块的设计。系统设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子、查看电子等工作流程。最后实现了以上模块。第 6 章系统测试,对系统进行了单元测试、集成测试和系统测试。结论部分总结了本文的主要工作,并对研究前景进行了展望。1.6 研究容

20、本论文主要研究容为设计与实现一个电子系统。在本论文中,实现了电子系统数据库的设计和实现。详细完成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体容。还实现了系统的具体设计与实现。本章从系统设计的目标、设计思想开始,完成了系统模块的设计。系统设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子、查看电子等工作流程并且实现了以上模块。最后对系统进行了系统测试。 . 6 / 652 实现技术与开发工具2.1 Struts2 简介Struts2 是 Struts 的下一代产品。是在 Struts 和 WebWork 的技术3基础上进行了合并,全新的 Struts2 框架

21、。其全新的 Struts2 的体系结构与 Struts1 的体系结构的差别巨大。Struts2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts2 可以理解为 WebWork 的更新产品。因为 Struts2 和 Struts1 有着太大的变化,但是相对于WebWork,Struts2 只有很小的变化。Struts2 框架的处理流程如图 2.1 所示。图 2.1 Struts2 框架处理流程通过上面对 Struts2 体系结构4的了解,我们发现 Struts2 对 Struts1 进行了巨

22、大的改进。主要表现在如下几个方面:(1) 在 Action 的实现方面:Struts1 要求必须统一扩展自 Action 类,而 Struts2中可以是一个普通的 POJO。 . 7 / 65(2) 线程模型方面:Struts1 的 Action 工作在单例模式,一个 Action 的实例处理所有的请求。Struts2 的 Action 是一个请求对应一个实例。没有线程安全方面的问题。(3)Servlet 依赖方面:Struts1 的 Action 依赖于 Servlet API,比如 Action 的execute 方法的参数就包括 request 和 response 对象。这使程序难于测

23、试。Struts2中的 Action 不再依赖于 Servlet API,有利于测试,并且实现 TDD。(4)封装请求参数:Struts1 中强制使用 ActionForm 对象封装请求的参数。Struts2 可以选择使用 POJO 类来封装请求的参数,或者直接使用 Action 的属性。(5)表达式语言方面:Struts1 中整合了 EL,但是 EL 对集合和索引的支持不强,Struts2 整合了 OGNL(Object Graph NavigationLanguage) 。(6)绑定值到视图技术:Struts1 使用标准的 JSP,Struts2 使用“ValueStack”技术。(7)类

24、型转换:Struts1 中的 ActionForm 基本使用 String 类型的属性。Struts2中使用 OGNL 进行转换,可以更方便的使用。(8)数据校验:Struts1 中支持覆盖 validate 方法或者使用 Validator 框架。Struts2 支持重写 validate 方法或者使用 XWork 的验证框架。(9)Action 执行控制的对比:Struts1 支持每一个模块对应一个请求处理,但是模块中的所有 Action 必须共享一样的生命周期。Struts2 支持通过拦截器堆栈为每一个Action 创建不同的生命周期。2.2 Spring 简介Spring 框架技术5实

25、际上是 Rod Johnson 在 Expert One-on-One J2EE Design and Development6一书中所阐述的设计思想的具体实现。Spring 框架为 J2EE 平台的开发者提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术。Spring 框架是一个轻量级的控制反转(IoC)技术和面向切面编程(AOP)技术的容器框架,利用 Spring 框架中的 IoC 技术可以实现 J2EE 平台中所倡导的由容器实现对象的生命周期管理,而利用 Spring 框架中的 AOP 技术可以实现 J2EE 平

26、台中所倡导的分离应用系统中业务逻辑组件和通用技术服务组件。应用系统的开发者在应用系统中应用 Spring 框架后能够达到“解耦”和“脱离容器”的设计和实现的目的。 . 8 / 65Spring 框架主要由 7 个定义良好的、相互独立的模块组件构成。Spring 系统框架如图 2.2 所示。图 2.2 Spring 系统框架2.3 Hibernate 简介Hibernate 是 Java 应用和数据库之间的桥梁,通过对 JDBC 的简单封装,使 Java程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和

27、数据库分开,便于软件的后期维护7。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 E 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Hibernate 体系结构如图 2.3 所示。 . 9 / 65图 2.3 Hibernate 体系结构2.4 Myeclipse 简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse

28、 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT) 。 Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE) ,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。MyEclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse 企业级工作平台(MyEclipse Enterpris

29、e Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。2.5 Oracle 简介Oracle Database,又名 Oracle RDBMS,或简称 Oracle。是甲骨文公司的一款关 . 10 / 65系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯埃

30、里森和他的朋友,之前的同事 Bob Miner 和 Ed Oates 在 1977 年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories) 。 ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S 体系结构的数据库之一。比如 SilverStream 就是基于数据库的一种中间件。ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系

31、的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了 ORACLE 知识,便能在各种类型的机器上使用它。Oracle 数据库具有完整的数据管理功能,完备关系的产品,分布式处理功能,用Oracle 可以轻松的实现数据仓库的操作。Oracle 具有良好的优点,体现在可用性强,可扩展性强,数据安全性强,稳定性强。 Oracle 的体系结构如图 2.5 所示图 2.5 Oracle 体系结构2.6 Tomcat 服务器简介Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache,Sun

32、 和其它一些公司与个人共同开发而成。由于有了 Sun的参与和支持,最新的 Servlet 和 JSP 规总能在 Tomcat 中得到体现。Tomcat 是稳固的独立的 Web 服务器与 Servlet Container,不过,其 Web 服务器的功能则不如许多更健 . 11 / 65全的 Web 服务器完整,如 Apache Web 服务器(举例来说,Tomcat 没有大量的选择性模块) 。不过,Tomcat 是自由的开源软件,而且有许多高手致力于其发展。Tomcat 是一个小型的轻量级应用服务器9,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于

33、一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。Tomcat 体系结构如图 2.6 所示图 2.6 Tomcat 体系结构2.7 James 服务器简介Java Apache 服务器一般是指 Apache 组织开发的 James10,它是一个轻便的、安全的 100%纯 Java 实现的服务器。不仅如此 James 还可以提供更多的功能,感 James 给我们提供了插

34、件化协议架构和 Mailet 底层构造,它可以让我们利用 Web 服务器的servlets 处理。Email 服务到处都是,开始是 DARPA(国防部高级研究计划局)的一个计划并最终发展为 Internet,但是 James 成为了打破这一传统规则的第一个应用。The Java Apache 企业服务器(a.k.a. Apache James)是一个 100%用 Java 实现的 SMTP 和 POP3 服务器,同时,他还实现了 NNTP 新闻服务器的功能。James 被设计成 . 12 / 65一个完整的、可移植的企业引擎解决方案,他完全基于目前可用的开放性协议。James还是一个应用平台。

35、Apache 组织提供了一套 Java APImailet API,利用 Mailet API,可以根据自己的需要用 Java 语言编写代码来对进行个性化的处理。Mailet 可以生成一个自动回复,更新数据库,阻止垃圾,建立消息档案,或者任何我们能想像得到的功能。与 Mailet 密切相关的是消息适配器(Matcher) ,一个消息适配器可以判断Mailet 是否要对服务器中的一个进行处理。James 被设计为实现几个确定的目标。比如它完全使用 Java 开发以便适应最大的轻便行;它提供了很多安全特性用于保护服务器的运行环境安全还提供了安全服务。James 是多线程的,它使用了很多 Avalo

36、n 架构提供的功能。James 提供了完善的服务,包括一个完全可以运行的 Email 服务器。这些服务主要是有 Macther 和 MailetAPI 实现的,这两个 API 提供了 Email 检查和处理功能。James 支持标准的 email 协议(SMTP,POP3,IMAP) ,另外还提供了一些附加功能,它使用了松散耦合的插件设计方式使消息框架从协议中抽象出来。这种设计方式非常有用,使我们可以把 James 当作一个通常的消息服务器或者为即时消息传输提供支持。James 一个更重要的设计目标是提出了 Mailet 概念,Mailet 提供了一个开发应用程序的完整生命周期。当然你也可以在

37、这里使用其他 MTA(传输代理) ,比如SendMail,要这样作的话我们需要提供一个可调用的程序然后将数据传送给它来完成工作,不过,James 提供了一套更简单、通用的 API 来完成这些工作。2.8 JQuery 简介JQuery 由美国人 John Resig 创建,至今已吸引了来自世界各地的众多JavaScript 高手加入其中,包括来自德国的 Jrn Zaefferer,罗马尼亚的 Stefan Petre11等。JQuery 是继 Prototype 之后又一个优秀的 JavaScript 框架。其宗旨是WRITE LESS,DO MORE,写更少的代码,做更多的事情。使用 JQu

38、ery 有如下特点:(1) 提供了强大的功能函数:使用 JQuery 提供的强大的函数库能够帮助我们快速完成各种功能, 而且会让我们的代码异常简洁。(2) 解决浏览器兼容性问题:对于普通的 JavaScript 脚本往往是不同的浏览器需要编写不同的 JavaScript 脚本。有了 JQuery 我们就不需要再重复的编写 JavaScript代码了,因为 JQuery 对于各种浏览器是兼容的,使用 JQuery 并不需要考虑浏览器兼 . 13 / 65容性问题。(3) 实现丰富的 UI:JQuery 为我们提供了界面美观且有兼容各种浏览器的各种UI,使用开发 web 页面更加容易。(4) 丰富

39、的插件:JQuery 为我们提供了各种插件,使我们只要懂得 JQuery 基本语法就能够编写出漂亮的功能完善的 Web 页面。2.9 电子简介电子(简称 E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流与数据传送,它是个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将送到世界的各个角落。到目前为止,可以说电子是 Internet 资源使用最多的一种服务,E-mai1 不只局限于信件的传递,还可用来传递文件、声音与图形、图像等不同类型的信息。服务器

40、按通讯协议可以划分为以下两种类型:SMTP 服务器:用于替用户发送和接收外面发送给本地用户的,它相当于现实生活中的接收部门(可接收普通用户投递的以与其它邮局投递过来的) 。POP3/IMAP 服务器:用于帮助用户读取 SMTP 服务器接收进来的该用户的。当前常用的电子协议有 SMTP、POP3、IMAP4,它们都隶属于 TCP/IP 协议簇,默认状态下,分别通过 TCP 端口 25、110 和 143 建立连接。下面分别对其进行简单介绍。(1) SMTP 协议:SMTP 的全称是 Simple Mail Transfer Protocol,即简单传输协议。目标是向用户提供高效、可靠的传输。SM

41、TP 的一个重要特点是它能够在传送中接力传送,即可以通过不同网络上的主机接力式传送。工作在两种情况下:一是电子从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。(2) POP3 协议:POP 的全称是 Post Office Protocol,即邮局协议,用于电子的接收,它使用 TCP 的 110 端口,现在常用的是第三版 ,所以简称为 POP3。POP 邮局协议负责从服务器中检索电子。它要求服务器完成下面几种任务之一:从服务器中检索并从服务器中删除这个;从服务器中检索但不删除它;不检索,只是询问是否有新到达。(3) IMAP4 协议:IMAP 的全称是 Internet Messa

42、ge Access Protocol,顾名思义,主要提供的是通过 Internet 获取信息的一种协议。IMAP 像 POP 那样提供了方便的下载 . 14 / 65服务,让用户能进行离线阅读,但 IMAP 能完成的却远远不只这些。IMAP 提供的摘要浏览功能可以让用户在阅读完所有的到达时间、主题、发件人、大小等信息后才做出是否下载的决定。Internet 上传送电子是通过一套称为服务器的程序进行硬件管理并储存的。与个人计算机不同,这些服务器与其程序必须每天 24 小时不停地运行,否则就不能收发了,简单传输协议 SMTP(Simple Mail Transfer Protocol)和邮局协议

43、POP(Post Office Protocol)是负责用客户机/服务器模式发送和检索电子的协议。用户计算机上运行的电子客户机程序请求服务器进行传输,服务器采用简单传输协议标准。很多传输工具,如 outlook express、fox mail 等,都遵守 SMTP 标准并用这个协议向服务器发送12。SMTP 协议规定了信息的具体格式和的管理方式。以新浪的某个用户和搜狐的某个用户为例简单的展示一下电子的工作原理,如图 2.9所示。图 2.9 电子工作原理 . 15 / 653 系统需求分析用户需求分析是整个设计制作的起点,它是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报

44、告。在确定系统的总体结构方案过程中,需要确定应用程序的结构、系统开发环境、系统测试环境和运行环境以与系统的功能模块。在用户需求调研结束之后,应立即进行用户需求分析。需求分析的结果反映了用户的时间需求,它将影响到设计的合理性和实用性。开发软件计划的提出与软件消亡之间的过程中我们称之为软件的生存周期。软件生存周期是根据软件所处的状态、特征以与软件开发活动的目的、任务可以划分若干阶段,从这一思想出发,软件生存周期包括软件定义,软件开发、软件使用与维护三个部分,具体则可以得到软件生存周期的六个步骤,即制定计划、需求分析,软件设计、程序编码、测试与运行维护。 软件需求分析13工作是软件生存期中具有决定性

45、意义的一步,只有通过需求分析才能把软件的功能和性能的总体要领描述为具体的软件规程说明,从而奠定软件开发基础。基于 java 的电子系统在开发的过程也应严格遵循这一过程,进行详细的需求分析设计,从而设计出一个优秀的电子系统软件。3.1 可行性分析可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动。可行性分析已被广泛应用于新产品开发、基建、工业企业、交通运输、商业设施等项目投资的多个领域。在展开一项开发行动之前,必须对用户提出的目标的必要性和可能性进行必要的论证。可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以

46、也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。3.1.1 经济可行性分析基于 java 的电子系统是基于 Java 的而 Java 是开源免费的,另外该系统所采用的Tomcat 服务器、James 服务器以与 Oracle 数据库服务器都是开源免费的,这样在成本上势必会降低很多。现行的公司大型的系统所提供的功能基本很多都是很少用到的, . 16 / 65花大量的成本去开发很少用到的功能对于一般的小公司来说是完全没有必要的。基于java 的电子系统是只开发了与电子有关的基本功能,这样即减少了开发成本又提高了开发效率。对于一般的小型公司来说该系统经济上是完全可行的

47、。3.1.2 技术可行性分析技术可行性分析主要包括硬件和技术等几个方面,下面分别对这几方面进行简单的分析:(1) 硬件:当今世界随着计算机的普与,计算机硬件行业也随之日新月异。对于一款简单的电子系统普通的 PC 机都能流畅的运行更别说专业的 Web 服务器了,所以对于电子系统的硬件问题已经不再是关键性问题。(2) 技术:基于 java 的电子系统主要采用的开发语言是 Java 语言,Java 语言擅长 Web 方面的系统开发,另外当今流行框架 Struts、Spring、Hibernate 都是采用Java 语言开发的,采用这些框架开发可以明显的降低系统开发的工作量同时降低系统开发过程中的错误

48、率。3.1.3 社会因素可行性分析社会因素可行性主要包括法律因素可行性和用户使用可行性,下面就这两个方面进行简单的分析:(1)法律因素可行性:本系统完全是自主开发,开发完成以后也将免费开源,因此任何企业或个人都可以使用该系统而不需要额外支付任何费用。另外本系统主要是进行电子的收发,并不会违反相关的法律。(2)用户使用可行性:本系统主要是针对普通用户开发的,普通计算机用户只要会使用鼠标就能完成简单的电子的收发。因此用户在使用本系统时不需要专门的培训。3.2 功能需求分析电子系统主要功能是普通用户收发电子的,本系统的使用者角色只有普通用户。用户要求系统的基本功能有用户在没有注册的情况下可以使用本系

49、统在线注册,注册完成之后用户可以使用新的账户进行登录。如果用户密码丢失用户能过通过注册时填写的用户信息来找回密码。(1) 用户对联系人的要求。用户登录系统之后能够查看所有的联系人,并且能够增加、删除、修改联系人信息。为了管理联系人方便,要求对联系人进行分组,同时 . 17 / 65分组也要能够进行添加、删除、修改等基本的操作。为了能够迅速的查找到联系人用户要求能够快速的搜索联系人。(2) 用户对自己信息管理的要求。用户应该能够在登录系统之后修改自己的基本信息例如用户昵称、密码等。(3) 用户对发送电子的要求。系统应该能够进行简单的电子的发送,同时还要能发送复杂一点的电子例如带有附件、容为 HT

50、ML 格式的等。同时应该能够快速的添加收件人等。(4) 用户对收取电子的基本要求。在收取电子的时候用户应该能够查看到某个夹下面的电子,然后用户选择查看的电子。当查看电子的时候能够显示的基本容,同时还能够下载带有附件的电子附件。通过对以上信息分析得出用户能够通过该系统进行的活动,如图 3.1 所示。用用户户系系统统找找回回密密码码管管理理邮邮件件信信息息管管理理联联系系人人信信息息管管理理个个人人信信息息注注册册新新用用户户图 3.1 用户简单用例(1) 找回密码:当用户忘记登录密码的时候可以通过该功能找回登录密码。(2) 注册新用户:用户可以使用该系统注册一个新的系统用户。(3) 管理信息:用

51、户可以通过该系统查看和发送电子。(4) 管理联系人信息:通过该功能用户可以方便的管理自己的联系人信息。(5) 管理个人信息:该功能可以使用户方便的修改自己的个人信息。通过对于用户功能需求进一步分析得出用户详细的用例图如图 3.2 所示。 . 18 / 65用用户户找找回回密密码码个个人人信信息息管管理理邮邮件件信信息息管管理理联联系系人人信信息息管管理理注注册册新新用用户户查查询询个个人人信信息息修修改改个个人人信信息息查查看看邮邮件件发发送送邮邮件件删删除除邮邮件件系系统统 添添加加联联系系人人信信息息删删除除联联系系人人信信息息修修改改联联系系人人信信息息查查询询联联系系人人信信息息 已已

52、删删除除彻彻底底删删除除 图 3.2 用户详细用例图(1) 管理个人信息:可以分为查找个人信息和修改个人信息,查找个人信息使得用户可以方便的查看个人信息。修改个人信息使用户可以修改自己的个人信息。(2) 管理信息:可以分为删除电子、发送新和查看电子。当用户需要删除某一封电子的时候可以使用删除电子功能,同时用户也可以发送新的电子给其他用户。用户也可以查看电子以方便用户查看电子的具体容。(3) 管理联系人信息:联系人的信息管理包含删除、修改、添加和查询具体的联系人信息。删除联系人可以使用户对于不需要的联系人信息进行删除,添加联系人则是当用户需要添加联系人的时候可以使用添加联系人功能。对于需要修改的

53、联系人则可使用修改联系人信息的功能。对于不太清楚的联系人信息用户也可以使用查询功能快速的定位到某个联系人。3.3 性能需求分析电子系统主要的用户群是普通用户,所以在设计上必须遵循以下几点准则:(1) 易用性:电子系统可以像使用留言一样,在自己方便的时候处理记录下来的请 . 19 / 65求,通过电子可以方便地传送文本信息、图像文件、报表和计算机程序。(2) 快捷性:当用户发送完一封电子的时候收件人可以快速的收取到用户发送的电子。而且当电子发送失败的时候系统也应该给出相应的提示信息。以确保电子能够快速的发送到收件人的中。(3) 安全性:电子相当于过去的信件,现在的电子就相当于在网络中传输的信件,

54、由于网络的不安全电子在传送过程中必须确保电子的安全。 再设计电子系统的时候应该充分考虑到电子的安全问题。(4) 实时性:由于电子的用户围很广泛以与用户使用电子系统的时间又具有不确定性,所以电子系统服务器必须在时间上满足全天候的启动服务。以确保电子系统用户实时的发送电子。3.4 数据库需求分析基于 java 的电子系统用于存入数据库的信息只有用户的基本信息和联系人的基本信息,至于电子的具体存储位置则是由 Apache James 服务器负责完成。在本系统过修改 Apache James 服务器的配置文件将电子存放到了 Oracle 数据库,而用于存储信息的数据表则是由 James 服务器自动建立

55、的。对于用户来说用户需要登录系统时用户需要输入用户账号和用户密码。密码存储到数据库中是经过加密过后的密码。存取密码的时候要存取相应的密码加密算法。(1) 用户在填写基本信息的时候要求填入用户别名、性别、安全地址、安全问题、安全问题答案、家庭住址、 、备注等基本的与用户有关的信息。(2) 当用户忘记登录密码的时候用户可以通过密码找回或者安全问题重新找回或设置登录密码。(3) 用户的联系人分组要有分组的名称。同时在填写联系人的时候要填写联系人的、电子地址、家庭住址、生日、性别、备注等基本信息。(4) 一个用户可以拥有多个联系人分组一个联系人分组同时拥有多个联系人。(5) 一个用户登录信息要对有一个

56、用户基本信息与之相对应。经过对系统功能的数据分析和总结,我设计出了如下所示的数据项和数据结构:用户登录信息:用户账号、用户密码、密码加密算法、用户是否是被禁用等。用户基本信息:昵称、性别、 、家庭住址、安全问题、安全问题答案、找回密码电子地址、备注等信息。 . 20 / 65联系人分组信息:分组名称。 联系人基本信息:包括联系人名称、联系人、联系人家庭住址、联系人电子地址、联系人生日、联系人性别、备注等。 . 21 / 654 数据库的设计与实现要想很好的完成一个项目,数据库的设计是整个项目设计中的关键,一个好的数据库表结构能有效的管理后台中的数据,提高软件的实用性和软件的数据访问效率。数据库

57、设计主要包括两个方面容:数据库设计与实现。4.1 数据库的设计数据库的设计包括两方面的容,分别是数据库的概念结构设计和数据库的逻辑结构设计。4.1.1 概念结构设计概念结构设计的任务是将数据库需求分析得到的用户数据需求抽象为信息结构,是整个数据库设计的关键。概念结构设计的目标是产生反映信息需求的整体数据库概念结构,即概念模式,描述概念结构的工具是 E-R 图14。从本系统中规划出的实体有:用户登录信息、用户基本信息、用户分组信息、联系人基本信息。通过对数据库基本信息和用户的基本需求进行分析可以得出系统的实体之间关系的E-R 图如图 4.1 所示。拥有拥有111用户登录信息用户基本信息拥有1n联

58、系人分组联系人图 4.1 实体关系 E-R 图用户登录信息实体包括的属性有登录账号、登录密码、密码加密算法、用户权限、版本号等其实体属性图如图 4.2 所示。 . 22 / 65登录帐号登录帐号登录密码登录密码密码加密算法密码加密算法用户权限用户权限版本号版本号用户登录信息图 4.2 用户登录信息实体属性图用户基本信息实体包括的属性有昵称、性别、家庭住址、安全问题、安全问题答案、安全和备注其实体属性图如图 4.3 所示。家庭住址家庭住址电话号码电话号码昵称昵称备注备注安全邮箱安全邮箱用户基本信息安全问题安全问题性别性别安全问题答案安全问题答案图 4.3 用户基本信息实体属性图联系人分组信息实体

59、包括的属性只有分组名称其实体属性图如图 4.4 所示。图 4.4 联系人分组信息实体属性图联系人信息实体包括的属性有名称、电子地址、家庭住址、生日、性别、备注等信息其实体属性图如图 4.5 所示。家庭住址家庭住址电子邮件地址电子邮件地址生日生日备注备注联系人名称名称性别性别电话号码电话号码 图 4.5 联系人信息实体属性图4.1.2 逻辑结构设计逻辑结构设计的任务是将概念结构设计阶段设计好的 E-R 图转化为对应的关系模式,从而完成逻辑结构设计,为数据库的实现作准备。本系统的数据库使用的是 Oracle 数 . 23 / 65据库,创建的数据库名称为 orcl,使用的账户是 Oracle 数据

60、库自带的 Scott。用户登录关系模式(主键用下划线标出):JAMESUSER (NAME, ALG, ENABLE, PASSWORD, VERSION)用户基本信息关系模式:USERINFO (ID, ADDRESS, ALIAS, ANSWER, GENDER, MARK, PHONENUM, PWDEMAIL, QUESTION, USER_ID)联系人分组信息关系模式:USERGROUP (ID, NAME, USER_NAME)联系人信息关系模式:LINKMAN (ID, ADDRESS, BIRTHDAY, EMAILADD, GENDER, MARK, NAME, PHONEN

温馨提示

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

评论

0/150

提交评论