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

下载本文档

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

文档简介

毕业设计(论文) java 邮件系统的设计与实现 东北大学秦皇岛分校毕业设计(论文) 第 i 页 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导 下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的 地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为 获得 及其它教育机构的学位或学历而使用过的材料。对本研究 提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表 示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规 定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权 保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校 可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的 前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 东北大学秦皇岛分校毕业设计(论文) 第 ii 页 学位学位论论文原文原创创性声明性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的 个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后 果由本人承担。 作者签名: 日期: 年 月 日 学位学位论论文版文版权权使用授使用授权书权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被 查阅和借阅。本人授权 大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 东北大学秦皇岛分校毕业设计(论文) 第 iii 页 基于 java 的邮件系统 摘 要 在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。而 当今世界人们更多的是使用电子邮件,与传统的书信相比电子邮件具有使用简易、投 递迅速、收费低廉,易于保存、全球畅通无阻等优点。 基于 java 的电子邮件系统是使用当今流行的计算机语言(java 语言)和当今流行的 ssh(struts+spring+hibernate)框架开发而成。在数据存储上使用了免费、开源、跨 平台的 oracle 数据库,邮件服务器使用了免费、开源的支持 smap 协议发送电子邮件 和 imap 协议接收电子邮件的 apache james 邮件服务器,界面简单大方。系统的实现 将有效地提高企业员工的工作效率,降低员工之间的沟通成本,并且具有较广泛的推 广价值。 本论文阐述了基于 java 的电子邮件系统背景、研究现状及发展趋势,介绍了系统 开发所使用的语言、环境和工具,并对使用的相关的技术进行了详细的阐述。按照软 件开发的生命周期论述方法,进行了系统分析、概要设计、详细设计和代码实现、系 统测试的过程。具体论述了面向对象设计方法、系统设计的原则、系统设计的总体目 标以及体系结构的特点。 关键词:邮件系统,java,james 邮件服务器,oracle,ssh 东北大学秦皇岛分校毕业设计(论文) 第 iv 页 java-based mail system abstract in the past few decades, people mainly use the letters and far apart, temporarily see the emotional side of people and exchange ideas. and in todays world people are more e-mail, compared with the traditional e-mail correspondence with easy to use, fast delivery, low-cost, easy to store, the worlds smooth and so on. java-based e-mail system is to use todays popular computer languages (java language) and todays popular ssh (struts+spring+hibernate) 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 effectively improve staff productivity, reduce cost of communication between employees, and has a wider spread value. this paper describes the e-mail system based on java background, research status and development trends, describes the development of the language system, environment and tools, and related technologies 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 overall objective of the characteristics. key words: mail system, java, james mail server, oracle, ssh 东北大学秦皇岛分校毕业设计(论文) 第 1 页 目 录 目 录.1 1 绪论.3 1.1 设计的背景3 1.2 设计的目的3 1.3 发展现状4 1.4 研究方法4 1.5 论文构成4 1.6 研究内容 .5 2 实现技术及开发工具.6 2.1 struts2 简介.6 2.2 spring简介7 2.3 hibernate简介.8 2.4 myeclipse简介.9 2.5 oracle简介9 2.6 tomcat服务器简介10 2.7 james邮件服务器简介.11 2.8 jquery简介 12 2.9 电子邮件简介 .13 3 系统需求分析.15 3.1 可行性分析 .15 3.1.1 经济可行性分析15 3.1.2 技术可行性分析.16 3.1.3 社会因素可行性分析.16 3.2 功能需求分析 .16 3.3 性能需求分析 .19 3.4 数据库需求分析 .19 4 数据库的设计与实现.21 4.1 数据库的设计 .21 4.1.1 概念结构设计.21 4.1.2 逻辑结构设计.23 4.2 数据库的实现 .23 4.2.1 用户登录信息表.23 4.2.2 用户基本信息表.24 4.2.3 联系人分组表.24 4.2.4 联系人信息表.25 东北大学秦皇岛分校毕业设计(论文) 第 2 页 5 系统的设计与实现.26 5.1 系统设计的目标 .26 5.2 系统设计的思想 .26 5.3 系统模块设计 .27 5.3.1 用户登录邮件系统的工作流程.28 5.3.2 注册新用户信息的工作流程.29 5.3.3 用户找回密码信息工作流程.30 5.3.4 用户添加联系人信息工作流程.33 5.3.5 用户发送电子邮件工作流程.34 5.3.6 用户查看电子邮件工作流程.35 5.4 系统模块的实现 .37 5.4.1 用户登录邮件系统的实现.38 5.4.2 用户找回密码的实现.39 5.4.3 用户发送电子邮件的实现.43 5.4.4 用户查看电子邮件的实现.45 5.4.5 用户查看联系人的实现.46 5.4.6 用户添加联系人的实现.47 6 系统测试.49 6.1 单元测试 .49 6.2 集成测试 .50 6.3 系统测试 .53 结论 55 致 谢.56 参考文献.57 附 录.59 东北大学秦皇岛分校毕业设计(论文) 第 3 页 1 绪论 1.1 设计的背景 电子邮件(简称 e-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息 交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信, 加速了信息的交流及数据传送。通过连接全世界的 internet,实现各类信号的传送、接 收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是 internet 资源使用最多的一种服务,e-mai1 不只局限于信件的传递,还可用来传递文件、 声音及图形、图像等不同类型的信息。 与传统的信件相比电子邮件更具有传统信件没有的优势,传统的邮件受到时间、 地点等各种限制,而电子邮件却不受这些限制。正是由于电子邮件的使用简易、投递 迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们 的交流方式得到了极大的改变。另外,电子邮件还可以进行一对多的邮件传递,同一 邮件可以一次发送给许多人。最重要的是,电子邮件是整个网络间以至所有其他网络 系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以 极大地满足了大量存在的人与人之间的通信需求。现在随着互联网和计算机的普及1, 电子邮件将会成为人们越来越受欢迎的交流方式。 1.2 设计的目的 当今流行的邮件系统如 lotus notes 和 exchange 是非常强大的商业软件2。但这 些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。而事实 上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能,因此对于这些企 业来说花重金来购买这些邮件系统还不如花少量的钱去重新开发一款功能简单的邮件 系统。所以开发一款简单易用的,使用户容易上手的电子邮件系统是非常有必要的。 对于大型的企业来说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不 仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的 发展。 东北大学秦皇岛分校毕业设计(论文) 第 4 页 1.3 发展现状 随着 internet 网的广泛普及,电子邮件的使用迅速增多起来。电子邮件的使用不仅 在数量上有突飞猛进的发展,而且其重要性日益增加。电子邮件已不只是电话的替代 品,它可以而且已经在更广泛的应用着。利用电子邮件用户可以交互电子表格与数据 文件,当然也可以发送长的便笺和传送官方文献。 由于目前我国电子邮箱的渗透率还很低,但用户的需求日益强烈,且有国家对企 业信息化的支持,因此电子邮箱的发展潜力巨大。特别是外包式的电子邮箱,由于建 设成本和管理成本相对更低,而安全性、互通性等基础功能的性能更优,因此将受到 更多用户的青睐。 目前国内邮箱产品提供商还只停留在提供单一的邮箱产品阶段,还未形成一整套 的邮箱解决方案。这与电子邮箱在中国所处的发展阶段有直接关系,目前中国的电子 邮箱市场还处于起步阶段,普及率非常低,因此电子邮箱提供商当下亟需解决的问题 是加大宣传、开拓市场,让更多的用户首先接受电子邮箱这个最核心的产品,然后再 在此基础上提供一整套的邮件解决方案。虽然如此,我国的电子邮箱提供商还是可以 学习国外先进的邮件管理解决方案的思路,了解用户在邮件管理中需要解决的问题, 将其融入到现有的邮箱产品中,为用户提供更全面的一站式邮件服务。 1.4 研究方法 采用结构化的分析和设计的方法,在 windows7 系统下,使用 java 语言,基于 myeclipse10.0 开发平台,以 tomcat7.0 为服务器,并以 oracle10g 为后台数据库。 在对邮件系统进行详细的需求分析的基础上,画出数据流图,序列图,类层次图 等。在设计数据库时根据需求分析画出 e-r 图,给出相关信息的数据字典,建立相关 数据库,在进一步细化数据流图的基础上得出系统的体系结构,然后进行编码和测试。 1.5 论文构成 本论文主要从 java 邮件系统的相关背景及相关技术、需求分析、数据库设计实现、 系统设计与实现系统测试等五个方面分别进行阐述。 第一章绪论,介绍了论文的研究意义,国内外对该选题的研究动向及已有研究成 果,以及本文的主要研究内容和论文结构。 东北大学秦皇岛分校毕业设计(论文) 第 5 页 第二章实现技术与开发工具,叙述了与电子邮件相关的实现技术及开发工具,包 括 struts2、spring、hibernate 框架的介绍,以及开发工具 myeclipse 的简单介绍和使用 方法,还包括数据库 orcale 的相关简介,同时还有服务器 tomcat 的简单介绍和使用。 第 3 章需求分析,对电子邮件系统进行了剖析,并对其进行了可行性分析,包括 经济可行性分析、技术可行性分析、社会因素可行性分析等分析工作。同时对其功能 需求、性能需求、数据库需求等都做了详细的分析 第 4 章数据库设计与实现,完成了对电子邮件系统数据库的设计和实现。详细完 成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体内容。 第 5 章系统设计与实现,从系统设计的目标、设计思想开始,完成了系统模块的 设计。系统设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发 送电子邮件、查看电子邮件等工作流程。最后实现了以上模块。 第 6 章系统测试,对系统进行了单元测试、集成测试和系统测试。 结论部分总结了本文的主要工作,并对研究前景进行了展望。 1.6 研究内容 本论文主要研究内容为设计与实现一个电子邮件系统。在本论文中,实现了电子邮 件系统数据库的设计和实现。详细完成了数据库的概念结构设计和逻辑结构设计,同 时也实现了数据库的具体内容。还实现了系统的具体设计与实现。本章从系统设计的 目标、设计思想开始,完成了系统模块的设计。系统设计模块部分包括用户登录、注 册、找回密码信息、添加联系人信息、发送电子邮件、查看电子邮件等工作流程并且 实现了以上模块。最后对系统进行了系统测试。 东北大学秦皇岛分校毕业设计(论文) 第 6 页 2 实现技术及开发工具 2.1 struts2 简介 struts2 是 struts 的下一代产品。是在 struts 和 webwork 的技术3基础上进行了合 并,全新的 struts2 框架。其全新的 struts2 的体系结构与 struts1 的体系结构的差别巨 大。struts2 以 webwork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也 使得业务逻辑控制器能够与 servlet api 完全脱离开,所以 struts2 可以理解为 webwork 的更新产品。因为 struts2 和 struts1 有着太大的变化,但是相对于 webwork,struts2 只有很小的变化。 struts2 框架的处理流程如图 2.1 所示。 图 2.1 struts2 框架处理流程 通过上面对 struts2 体系结构4的了解,我们发现 struts2 对 struts1 进行了巨大的改 进。主要表现在如下几个方面: (1) 在 action 的实现方面:struts1 要求必须统一扩展自 action 类,而 struts2 中可 以是一个普通的 pojo。 东北大学秦皇岛分校毕业设计(论文) 第 7 页 (2) 线程模型方面:struts1 的 action 工作在单例模式,一个 action 的实例处理所 有的请求。struts2 的 action 是一个请求对应一个实例。没有线程安全方面的问题。 (3) servlet 依赖方面:struts1 的 action 依赖于 servlet api,比如 action 的 execute 方法的参数就包括 request 和 response 对象。这使程序难于测试。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) 类型转换:struts1 中的 actionform 基本使用 string 类型的属性。struts2 中使 用 ognl 进行转换,可以更方便的使用。 (8) 数据校验:struts1 中支持覆盖 validate 方法或者使用 validator 框架。struts2 支 持重写 validate 方法或者使用 xwork 的验证框架。 (9) action 执行控制的对比:struts1 支持每一个模块对应一个请求处理,但是模块 中的所有 action 必须共享相同的生命周期。struts2 支持通过拦截器堆栈为每一个 action 创建不同的生命周期。 2.2 spring 简介 spring 框架技术5实际上是 rod johnson 在 expert one-on-one j2ee design and development6一书中所阐述的设计思想的具体实现。spring 框架为 j2ee 平台的开发者 提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之 间的依赖关系建立、对象的缓存实现等方面问题的管理技术。 spring 框架是一个轻量级的控制反转(ioc)技术和面向切面编程(aop)技术的容器框 架,利用 spring 框架中的 ioc 技术可以实现 j2ee 平台中所倡导的由容器实现对象的生 命周期管理,而利用 spring 框架中的 aop 技术可以实现 j2ee 平台中所倡导的分离应 用系统中业务逻辑组件和通用技术服务组件。应用系统的开发者在应用系统中应用 spring 框架后能够达到“解耦”和“脱离容器”的设计和实现的目的。 spring 框架主要由 7 个定义良好的、相互独立的模块组件构成。spring 系统框架如 东北大学秦皇岛分校毕业设计(论文) 第 8 页 图 2.2 所示。 图 2.2 spring 系统框架 2.3 hibernate 简介 hibernate 是 java 应用和数据库之间的桥梁,通过对 jdbc 的简单封装,使 java 程 序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业 务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库 分开,便于软件的后期维护7。hibernate 可以应用在任何使用 jdbc 的场合,既可以 在 java 的客户端程序使用,也可以在 servlet/jsp 的 web 应用中使用,最具革命意义的 是,hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 hibernate 体系结构如图 2.3 所示。 东北大学秦皇岛分校毕业设计(论文) 第 9 页 图 2.3 hibernate 体系结构 2.4 myeclipse 简介 eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而言,它 只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带 了一个标准的插件集,包括 java 开发工具(java development tools,jdt) 。 eclipse 还包括插件开发环境(plug-in development environment,pde) ,这个组件主要针对希 望扩展 eclipse 的软件开发人员,因为它允许他们构建与 eclipse 环境无缝集成的工 具。 myeclipse 是一个十分优秀的用于开发 java, j2ee 的 eclipse 插件集合,myeclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。 myeclipse 企业级工作平台(myeclipse enterprise workbench ,简称 myeclipse)是对 eclipse ide 的扩展,利用它我们可以在数据库和 javaee 的开发、发布以及应用程序服 务器的整合方面极大的提高工作效率。它是功能丰富的 javaee 集成开发环境,包括了 完备的编码、调试、测试和发布功能,完整支持 html, struts, jsp, css, javascript, sql, hibernate。 2.5 oracle 简介 东北大学秦皇岛分校毕业设计(论文) 第 10 页 oracle database,又名 oracle rdbms,或简称 oracle。是甲骨文公司的一款关系 数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯埃里森和他的朋 友,之前的同事 bob miner 和 ed oates 在 1977 年建立了软件开发实验室咨询公司 (sdl,software development laboratories) 。 oracle 数据库系统是美国 oracle 公司(甲骨文)提供的以分布式数据库为核 心的一组软件产品,是目前最流行的客户/服务器(client/server)或 b/s 体系结构的 数据库之一。比如 silverstream 就是基于数据库的一种中间件。oracle 数据库是目 前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整 的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据 库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了 oracle 知 识,便能在各种类型的机器上使用它。 oracle 数据库具有完整的数据管理功能,完备关系的产品,分布式处理功能,用 oracle 可以轻松的实现数据仓库的操作。oracle 具有良好的优点,体现在可用性强, 可扩展性强,数据安全性强,稳定性强。 oracle 的体系结构如图 2.5 所示 图 2.5 oracle 体系结构 2.6 tomcat 服务器简介 tomcat 是一个免费的开源的 serlvet 容器,它是 apache 基金会的 jakarta 项目中的 一个核心项目,由 apache,sun 和其它一些公司及个人共同开发而成。由于有了 sun 的参与和支持,最新的 servlet 和 jsp 规范总能在 tomcat 中得到体现。tomcat 是稳固 东北大学秦皇岛分校毕业设计(论文) 第 11 页 的独立的 web 服务器与 servlet container,不过,其 web 服务器的功能则不如许多更 健全的 web 服务器完整,如 apache web 服务器(举例来说,tomcat 没有大量的选择 性模块) 。不过,tomcat 是自由的开源软件,而且有许多高手致力于其发展。 tomcat 是一个小型的轻量级应用服务器9,在中小型系统和并发访问用户不是很 多的场合下被普遍使用,是开发和调试 jsp 程序的首选。对于一个初学者来说,可以 这样认为,当在一台机器上配置好 apache 服务器,可利用它响应对 html 页面的访 问请求。实际上 tomcat 部分是 apache 服务器的扩展,但它是独立运行的,所以当你 运行 tomcat 时,它实际上作为一个与 apache 独立的进程单独运行的。 tomcat 体系结构如图 2.6 所示 图 2.6 tomcat 体系结构 2.7 james 邮件服务器简介 java apache 邮件服务器一般是指 apache 组织开发的 james10,它是一个轻便的、 安全的 100%纯 java 实现的邮件服务器。不仅如此 james 还可以提供更多的功能,感 谢 james 给我们提供了插件化协议架构和 mailet 底层构造,它可以让我们利用 web 服 务器的 servlets 处理邮件。email 服务到处都是,开始是 darpa(国防部高级研究计划 局)的一个计划并最终发展为 internet,但是 james 成为了打破这一传统规则的第一个应 用。 东北大学秦皇岛分校毕业设计(论文) 第 12 页 the java apache 企业邮件服务器(a.k.a. apache james)是一个 100%用 java 实现 的 smtp 和 pop3 邮件服务器,同时,他还实现了 nntp 新闻服务器的功能。james 被 设计成一个完整的、可移植的企业邮件引擎解决方案,他完全基于目前可用的开放性 协议。james 还是一个邮件应用平台。apache 组织提供了一套 java apimailet api, 利用 mailet api,可以根据自己的需要用 java 语言编写代码来对邮件进行个性化的处 理。mailet 可以生成一个自动回复,更新数据库,阻止垃圾邮件,建立消息档案,或 者任何我们能想像得到的功能。与 mailet 密切相关的是消息适配器(matcher) ,一个 消息适配器可以判断 mailet 是否要对服务器中的一个邮件进行处理。 james 被设计为实现几个确定的目标。比如它完全使用 java 开发以便适应最大的 轻便行;它提供了很多安全特性用于保护服务器的运行环境安全还提供了安全服务。 james 是多线程的,它使用了很多 avalon 架构提供的功能。 james 提供了完善的服务,包括一个完全可以运行的 email 服务器。这些服务主 要是有 macther 和 mailetapi 实现的,这两个 api 提供了 email 检查和处理功能。 james 支持标准的 email 协议(smtp,pop3,imap) ,另外还提供了一些附加功能, 它使用了松散耦合的插件设计方式使消息框架从协议中抽象出来。这种设计方式非常 有用,使我们可以把 james 当作一个通常的消息服务器或者为即时消息传输提供支持。 james 一个更重要的设计目标是提出了 mailet 概念,mailet 提供了一个开发邮件应 用程序的完整生命周期。当然你也可以在这里使用其他 mta(邮件传输代理) ,比如 sendmail,要这样作的话我们需要提供一个可调用的程序然后将数据传送给它来完成 工作,不过,james 提供了一套更简单、通用的 api 来完成这些工作。 2.8 jquery 简介 jquery 由美国人 john resig 创建,至今已吸引了来自世界各地的众多 javascript 高 手加入其中,包括来自德国的 jrn zaefferer,罗马尼亚的 stefan petre11等。jquery 是 继 prototype 之后又一个优秀的 javascript 框架。其宗旨是write less,do more,写 更少的代码,做更多的事情。 使用 jquery 有如下特点: (1) 提供了强大的功能函数:使用 jquery 提供的强大的函数库能够帮助我们快速 东北大学秦皇岛分校毕业设计(论文) 第 13 页 完成各种功能, 而且会让我们的代码异常简洁。 (2) 解决浏览器兼容性问题:对于普通的 javascript 脚本往往是不同的浏览器需要 编写不同的 javascript 脚本。有了 jquery 我们就不需要再重复的编写 javascript 代码了, 因为 jquery 对于各种浏览器是兼容的,使用 jquery 并不需要考虑浏览器兼容性问题。 (3) 实现丰富的 ui:jquery 为我们提供了界面美观且有兼容各种浏览器的各种 ui,使用开发 web 页面更加容易。 (4) 丰富的插件:jquery 为我们提供了各种插件,使我们只要懂得 jquery 基本语 法就能够编写出漂亮的功能完善的 web 页面。 2.9 电子邮件简介 电子邮件(简称 e-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息 交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信, 加速了信息的交流及数据传送,它是个简易、快速的方法。通过连接全世界的 internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目 前为止,可以说电子邮件是 internet 资源使用最多的一种服务,e-mai1 不只局限于信 件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。 邮件服务器按通讯协议可以划分为以下两种类型: smtp 服务器:用于替用户发送邮件和接收外面发送给本地用户的邮件,它相当 于现实生活中邮件的邮件接收部门(可接收普通用户投递的邮件以及其它邮局投递过 来的邮件) 。 pop3/imap 服务器:用于帮助用户读取 smtp 服务器接收进来的该用户的邮件。 当前常用的电子邮件协议有 smtp、pop3、imap4,它们都隶属于 tcp/ip 协议簇, 默认状态下,分别通过 tcp 端口 25、110 和 143 建立连接。下面分别对其进行简单介 绍。 (1) smtp 协议:smtp 的全称是 simple mail transfer protocol,即简单邮件传输协 议。目标是向用户提供高效、可靠的邮件传输。smtp 的一个重要特点是它能够在传 送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。工作在两种情况 下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。 东北大学秦皇岛分校毕业设计(论文) 第 14 页 (2) pop3 协议:pop 的全称是 post office protocol,即邮局协议,用于电子邮件的 接收,它使用 tcp 的 110 端口,现在常用的是第三版 ,所以简称为 pop3。pop 邮局 协议负责从邮件服务器中检索电子邮件。它要求邮件服务器完成下面几种任务之一: 从邮件服务器中检索邮件并从服务器中删除这个邮件;从邮件服务器中检索邮件但不 删除它;不检索邮件,只是询问是否有新邮件到达。 (3) imap4 协议:imap 的全称是 internet message access protocol,顾名思义,主 要提供的是通过 internet 获取信息的一种协议。imap 像 pop 那样提供了方便的邮件下 载服务,让用户能进行离线阅读,但 imap 能完成的却远远不只这些。imap 提供的摘 要浏览功能可以让用户在阅读完所有的邮件到达时间、主题、发件人、大小等信息后 才做出是否下载的决定。 internet 上传送电子邮件是通过一套称为邮件服务器的程序进行硬件管理并储存的。 与个人计算机不同,这些邮件服务器及其程序必须每天 24 小时不停地运行,否则就不 能收发邮件了,简单邮件传输协议 smtp(simple mail transfer protocol)和邮局协议 pop(post office protocol)是负责用客户机/服务器模式发送和检索电子邮件的协议。 用户计算机上运行的电子邮件客户机程序请求邮件服务器进行邮件传输,邮件服务器 采用简单邮件传输协议标准。很多邮件传输工具,如 outlook express、fox mail 等,都 遵守 smtp 标准并用这个协议向邮件服务器发送邮件12。smtp 协议规定了邮件信息 的具体格式和邮件的管理方式。 以新浪邮箱的某个用户和搜狐邮箱的某个用户为例简单的展示一下电子邮件的工 作原理,如图 2.9 所示。 东北大学秦皇岛分校毕业设计(论文) 第 15 页 图 2.9 电子邮件工作原理 东北大学秦皇岛分校毕业设计(论文) 第 16 页 3 系统需求分析 用户需求分析是整个设计制作的起点,它是在用户需求调研的基础上,确定系统 的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,需 要确定应用程序的结构、系统开发环境、系统测试环境和运行环境以及系统的功能模 块。在用户需求调研结束之后,应立即进行用户需求分析。需求分析的结果反映了用 户的时间需求,它将影响到设计的合理性和实用性。 开发软件计划的提出与软件消亡之间的过程中我们称之为软件的生存周期。软件 生存周期是根据软件所处的状态、特征以及软件开发活动的目的、任务可以划分若干 阶段,从这一思想出发,软件生存周期包括软件定义,软件开发、软件使用与维护三 个部分,具体则可以得到软件生存周期的六个步骤,即制定计划、需求分析,软件设 计、程序编码、测试及运行维护。 软件需求分析13工作是软件生存期中具有决定性意义的一步,只有通过需求分析 才能把软件的功能和性能的总体要领描述为具体的软件规程说明,从而奠定软件开发 基础。基于 java 的电子邮件系统在开发的过程也应严格遵循这一过程,进行详细的需 求分析设计,从而设计出一个优秀的电子邮件系统软件。 3.1 可行性分析 可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前, 对该项目的必要性和可能性进行分析与论证的活动。可行性分析已被广泛应用于新产 品开发、基建、工业企业、交通运输、商业设施等项目投资的多个领域。在展开一项 开发行动之前,必须对用户提出的目标的必要性和可能性进行必要的论证。可行性分 析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行 性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。 3.1.1 经济可行性分析 基于 java 的电子邮件系统是基于 java 的而 java 是开源免费的,另外该系统所采用 的 tomcat 服务器、james 邮件服务器以及 oracle 数据库服务器都是开源免费的,这样 东北大学秦皇岛分校毕业设计(论文) 第 17 页 在成本上势必会降低很多。现行的公司大型的邮件系统所提供的功能基本很多都是很 少用到的,花大量的成本去开发很少用到的功能对于一般的小公司来说是完全没有必 要的。基于 java 的电子邮件系统是只开发了与电子邮件有关的基本功能,这样即减少 了开发成本又提高了开发效率。对于一般的小型公司来说该系统经济上是完全可行的。 3.1.2 技术可行性分析 技术可行性分析主要包括硬件和技术等几个方面,下面分别对这几方面进行简单 的分析: (1) 硬件:当今世界随着计算机的普及,计算机硬件行业也随之日新月异。对于一 款简单的电子邮件系统普通的 pc 机都能流畅的运行更别说专业的 web 服务器了,所 以对于电子邮件系统的硬件问题已经不再是关键性问题。 (2) 技术:基于 java 的电子邮件系统主要采用的开发语言是 java 语言,java 语言 擅长 web 方面的系统开发,另外当今流行框架 struts、spring、hibernate 都是采用 java 语言开发的,采用这些框架开发可以明显的降低系统开发的工作量同时降低系统 开发过程中的错误率。 3.1.3 社会因素可行性分析 社会因素可行性主要包括法律因素可行性和用户使用可行性,下面就这两个方面 进行简单的分析: (1)法律因素可行性:本系统完全是自主开发,开发完成以后也将免费开源,因此 任何企业或个人都可以使用该系统而不需要额外支付任何费用。另外本系统主要是进 行电子邮件的收发,并不会违反相关的法律。 (2)用户使用可行性:本系统主要是针对普通用户开发的,普通计算机用户只要会 使用鼠标就能完成简单的电子邮件的收发。因此用户在使用本系统时不需要专门的培 训。 3.2 功能需求分析 电子邮件系统主要功能是普通用户收发电子邮件的,本系统的使用者角色只有普 通用户。用户要求系统的基本功能有用户在没有注册的情况下可以使用本系统在线注 东北大学秦皇岛分校毕业设计(论文) 第 18 页 册,注册完成之后用户可以使用新的账户进行登录。如果用户密码丢失用户能过通过 注册时填写的用户信息来找回密码。 (1) 用户对联系人的要求。用户登录系统之后能够查看所有的联系人,并且能够增 加、删除、修改联系人信息。为了管理联系人方便,要求对联系人进行分组,同时分 组也要能够进行添加、删除、修改等基本的操作。为了能够迅速的查找到联系人用户 要求能够快速的搜索联系人。 (2) 用户对自己信息管理的要求。用户应该能够在登录系统之后修改自己的基本信 息例如用户昵称、密码等。 (3) 用户对发送电子邮件的要求。系统应该能够进行简单的电子邮件的发送,同时 还要能发送复杂一点的电子邮件例如带有附件、邮件内容为 html 格式的邮件等。同 时应该能够快速的添加收件人等。 (4) 用户对收取电子邮件的基本要求。在收取电子邮件的时候用户应该能够查看到 某个邮件夹下面的电子邮件,然后用户选择查看的电子邮件。当查看电子邮件的时候 能够显示邮件的基本内容,同时还能够下载带有附件的电子邮件附件。 通过对以上信息分析得出用户能够通过该系统进行的活动,如图 3.1 所示。 用用户户 系系统统 找找回回密密码码 管管理理邮邮件件信信息息 管管理理联联系系人人信信息息 管管理理个个人人信信息息 注注册册新新用用户户 图 3.1 用户简单用例 (1) 找回密码:当用户忘记登录密码的时候可以通过该功能找回登录密码。 东北大学秦皇岛分校毕业设计(论文) 第 19 页 (2) 注册新用户:用户可以使用该系统注册一个新的系统用户。 (3) 管理邮件信息:用户可以通过该系统查看和发送电子邮件。 (4) 管理联系人信息:通过该功能用户可以方便的管理自己的联系人信息。 (5) 管理个人信息:该功能可以使用户方便的修改自己的个人信息。 通过对于用户功能需求进一步分析得出用户详细的用例图如图 3.2 所示。 用用户户 找找回回密密码码 个个人人信信息息管管理理 邮邮件件信信息息管管理理 联联系系人人信信息息管管理理 注注册册新新用用户户 查查询询个个人人信信息息 修修改改个个人人信信息息 查查看看邮邮件件 发发送送邮邮件件删删除除邮邮件件 系系统统 添添加加联联系系人人信信息息 删删除除联联系系人人信信息息修修改改联联系系人人信信息息 查查询询联联系系人人信信息息 已已删删除除 彻彻底底删删除除 图 3.2 用户详细用例图 (1) 管理个人信息:可以分为查找个人信息和修改个人信息,查找个人信息使得用 户可以方便的查看个人信息。修改个人信息使用户可以修改自己的个人信息。 (2) 管理邮件信息:可以分为删除电子邮件、发送新邮件和查看电子邮件。当用户 需要删除某一封电子邮件的时候可以使用删除电子邮件功能,同时用户也可以发送新 的电子邮件给其他用户。用户也可以查看电子邮件以方便用户查看电子邮件的具体内 容。 (3) 管理联系人信息:联系人的信息管理包含删除、修改、添加和查询具体的联系 人信息。删除联系人可以使用户对于不需要的联系人信息进行删除,添加联系人则是 东北大学秦皇岛分校毕业设计(论文) 第 20 页 当用户需要添加联系人的时候可以使用添加联系人功能。对于需要修改的联系人则可 使用修改联系人信息的功能。对于不太清楚的联系人信息用户也可以使用查询功能快 速的定位到某个联系人。 3.3 性能需求分析 电子邮件系统主要的用户群是普通用户,所以在设计上必须遵循以下几点准则: (1) 易用性:电子邮件系统可以像使用留言电话一样,在自己方便的时候处理记录 下来的请求,通过电子邮件可以方便地传送文本信息、图像文件、报表和计算机程序。 (2) 快捷性:当用户发送完一封电子邮件的时候收件人可以快速的收取到用户发送 的电子邮件。而且当电子邮件发送失败的时候系统也应该给出相应的提示信息。以确 保电子邮件能够快速的发送到收件人的邮箱中。 (3) 安全性:电子邮件相当于过去的信件,现在的电子邮件就相当于在网络中传输 的信件,由于网络的不安全电子邮件在传送过程中必须确保电子邮件的安全。 再设计 电子邮件系统的时候应该充分考虑到电子邮件的安全问题。 (4) 实时性:由于电子邮件的用户范围很广泛以及用户使用电子邮件系统的时间又 具有不确定性,所以电子邮件系统服务器必须在时间上满足全天候的启动服务。以确 保电子邮件系统用户实时的发送电子邮件。 3.4 数据库需求分析 基于 java 的电子邮件系统用于存入数据库的信息只有用户的基本信息和联系人的 基本信息,至于电子邮件的具体存储位置则是由 apache james 邮件服务器负责完成。 在本系统中通过修改 apache james 邮件服务器的配置文件将电子邮件存放到了 oracle 数据库,而用于存储邮件信息的数据表则是由 james 邮件服务器自动建立的。 对于用户来说用户需要登录系统时用户需要输入用户账号和用户密码。密码存储到 数据库中是经过加密过后的密码。存取密码的时候要存取相应的密码加密算法。 (1) 用户在填写基本信息的时候要求填入用户别名、性别、安全邮箱地址、安全问 题、安全问题答案、家庭住址、电话号码、备注等基本的与用户有关的信息。 (2) 当用户忘记登录密码的时候用户可以通过密码找回邮箱或者安全问题重新找回 或设置登录密码。 东北大学秦皇岛分校毕业设计(论文) 第 21 页 (3) 用户的联系人分组要有分组的名称。同时在填写联系人的时候要填写联系人的 姓名、电话、电子邮件地址、家庭住址、生日、性别、备注等基本信息

温馨提示

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

评论

0/150

提交评论