邮箱系统的设计与实现毕业论文

上传人:仙*** 文档编号:28031338 上传时间:2021-08-22 格式:DOC 页数:34 大小:899.02KB
返回 下载 相关 举报
邮箱系统的设计与实现毕业论文_第1页
第1页 / 共34页
邮箱系统的设计与实现毕业论文_第2页
第2页 / 共34页
邮箱系统的设计与实现毕业论文_第3页
第3页 / 共34页
点击查看更多>>
资源描述
本科生毕业论文(设计) 邮箱系统的设计与实现 姓名 学号 专业 指导教师 2011 年 5 月 20 日 I 摘 要 近年来,随着互联网在全球范围内的发展和普及,人们可以方便地共享各种各 样的网络资源。与此同时,工作和生活的快节奏使得朋友以及同事之间的信息不能 即时的交互,普通的书信方式已远远不能满足人类的需求。因此,一款快捷、方便 的电子邮件系统则成为信息交互中最重要的一环。本文分析了电子邮箱的现状和存 在的问题,讨论了邮箱系统的设计与开发,阐述了邮箱系统的功能结构,并据此设 计了一个以 JAVA 为主要编程语言的基于 MVC 模式的邮箱系统。它是一个模拟网易 电子邮箱的系统,其中的搭建过程包括 JDK1.6、Eclipse3.6、Tomcat6.0 和 Oracle10G 的安装和环境变量的配置等。邮箱客户端设计部分采用 JAVA 语言和 Oracle 数据库,实现了收信箱、发信箱、写信息、邮件群发、客户管理、员工管 理、信息和常用语的管理、发送及接收短信和操作员管理与更改口令的功能,解决 了如何设计开发邮箱的功能模块并实现系统的主要功能;如何在本地测试和修改程 序遇到的 bug,如何实现对后台数据的管理操作。 关键词:邮箱系统;Java;MVC 模式 II Abstract In recent years, with the development and popularization of the internet in the worldwide, people can share varieties of network resources conveniently. While,the fast pace of work and life make friends and colleagues can not communicate immediately, and the ordinary way e- mail can not meet human needs. Therefore, a fast and convenient e-mail has played the most important role in the information exchange.Firstly, this article analyzes the current situation and existing problems, this paper mainly discusses the design and development of mail system, it explains the mail system in principle, function and structure and system development. Based on MVC model,the mainly programming language is Java. Then describes a simulation, a fast and convenient e-mail system. Frame and configuration of the local environment and design of two major mail clients are included. Environment construction involves the installation of JDK1.6, Eclipse3.6, tomcat6.0 and Oracle10G, and the configuration of environment variables. E-mail clients adopts JAVA language and Oracle database, the mainly to carry out the four core requirements which are electric in-box, out-box, mail management (view, delete, permanent delete), the mailing list and notepad.This thesis addresses the following issues:how to Construction of the local development environment ,how to design the main module and the realization of sending and receiving E- mail, management, the mailing list, notepad and some other functions,how to implement of the test program locally, modification of the bug met, how to realize the operation of background data. Key Words: E-mail system,JAVA,MVC pattern III 目 录 1 引 言 .1 2 绪 论 .2 2.1 课 题 背 景 .2 2.2 E-MAIL 的 介 绍 及 分 析 .2 2.3 可 行 性 分 析 .3 2.3.1 经 济 上 可 行 性 .3 2.3.2 技 术 上 可 行 性 .3 2.3.3 运 行 上 可 行 .3 2.4 使 用 的 开 发 平 台 .3 2.5 开 发 语 言 和 数 据 库 简 介 .4 2.5.1 JAVA 程 序 设 计 语 言 简 介 .4 2.5.2 JSP%JAVA_HOME%lib;%JAVA_HOME %libtools.jar Path: %JAVA_HOME%bin;%JAVA_HOME %jrebin;E:appmengziproduct11.1.0d b_1bin;%SystemRoot%system32;%Syst emRoot%;%SystemRoot%System32Wb em;%SYSTEMROOT%System32Wind owsPowerShellv1.0; C:Program FilesCommon FilesThunder NetworkKanKanCodecs 2.5 开发语言和数据库简介 系统开发选用 JSP / 设置邮件的传输协议 try Properties prop = System.getProperties(); prop.put(, mailserver); prop.put(mail.smtp.auth, true); / 建立邮件发送的连接 Session session = Session.getDefaultInstance(prop); session.setDebug(true); 19 / 发送 System.out.println(sending.); Transport transport = session.getTransport(smtp); if (transport != null) System.out.println(transport object is not null); / transport.send(msg); / transport.sendMessage(message, message.getAllRecipients(); transport.connect(mailserver, from, password); System.out.println(after connect); transport.sendMessage(msg, msg.getAllRecipients(); transport.close(); (4)邮件群发:点击左侧的邮件群发,发送群邮件。如 4-7 的写信息图所示。 此模块功能实现的控制层为: SendMailForm sendMailForm=(SendMailForm) form; sendMailForm.setTitle(chStr.toChinese(sendMailForm.getTitle(); sendMailForm.setAdjunct(chStr.toChinese(sendMailForm.getAdjunct(); sendMailForm.setContent(chStr.toChinese(sendMailForm.getContent(); int ret=sendMailDAO.sendMail(sendMailForm); if(ret=0) request.setAttribute(error,邮件发送失败!); return mapping.findForward(error); else return mapping.findForward(sendMail); 业务层为:/ 设置邮件的传输协议 try Properties prop = System.getProperties(); prop.put(, mailserver); prop.put(mail.smtp.auth, true); / 建立邮件发送的连接 Session session = Session.getDefaultInstance(prop); session.setDebug(true); 20 System.out.println(sending.); Transport transport = session.getTransport(smtp); if (transport != null) System.out.println(transport object is not null); / transport.send(msg); / transport.sendMessage(message, message.getAllRecipients(); transport.connect(mailserver, from, password); System.out.println(after connect); transport.sendMessage(msg, msg.getAllRecipients(); transport.close(); System.out.println(send over); ret = 1; (5)客户管理:点击左侧的客户管理,如图所示: 可以点击表格中 的修改和删除来对客户进行管理,也可以点击右上角的添加 客户信息。 图 5-7 客户管理图 此模块主要有查询、添加、修改和删除客户信息 进入客户管理界面,显示出所有客户的客户名称、地址、联系人、手机、邮箱, sql 语句如下:sql = SELECT * FROM tb_customer; 修改和删除都很简单,当点击添加客户信息时,进入到 customer_add.jsp,如 图所示: 21 图 5-8 添加客户信息图 Sql 语句为 sql = INSERT INTO tb_customer (name,address,area,postcode,mobileTel,email,bankName,bankNo,linkName) values(+cF.getName()+,+cF.getAddress()+,+cF.getArea()+,+cF.getPostcode() +,+cF.getMobileTel()+,+ cF.getEmail()+,+cF.getBankName()+,+cF.getBankNo()+,+cF.getLinkName()+) ; (6)员工信息管理:点击左侧的员工管理,进入员工信息管理页面: 图 5-9 员工管理图 列出所有的员工信息 sql 语句为: if(id=0) sql = SELECT * FROM tb_personnel; 22 else sql = SELECT * FROM tb_personnel WHERE ID= +id + ; 对员工信息的修改功能: 点击右上角的添加员工信息,进入:personnel_add.jsp 图 5-10 添加员工信息图 添加员工信息的 sql 语句为: sql=INSERT INTO tb_personnel (name,sex,birthday,school,education,specialty,place,mobileTel,email) values( + cF.getName() + , +cF.getSex() +,+cF.getBirthday()+,+cF.getSchool()+,+cF.getEducation()+,+ cF.getSpecialty()+,+cF.getPlace()+,+cF.getMobileTel()+,+cF.getEmail()+); (7)发送短信:点击左侧的发送短信,进入到 sendLetter.jsp 23 图 5-11 发送短信图 可以从客户列表和员工列表选择你要给哪位发送短信,选择后系统将会自动把 对方的手机号显示在接收对方手机号码,之后可以选择添加常用的短语,选择后点 确定,常用的短语自动显示在短信内容框内,点击发送:sql 语句为 String sql = INSERT INTO tb_shortLetter (toMan,content,fromMan) values( +s.getToMan() +,+s.getContent()+,+s.getFromMan()+); 24 6 系统测试方法概述 6.1 概述 随着 web 应用的增多,新的模式解决方案中以 web 为核心的应用也越来越多, 很多公司各种应用的架构都以 B/S 及 web 应用为主,但是有关 WEB 测试方面的内 容并没有相应的总结,因此,在开发新浪邮箱系统时,对 web 应用程序的测试方 法和采用的测试技术进行总结。测试方法尽量涵盖 web 程序的各个方面,测试技 术方面在继承传统测试技术的技术上结合 web 应用的特点。 6.2 测试方法 6.2.1 界面测试 很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的 确。方法上可以根据设计文档,然后根据这个可以页面人员可以生成静态的 HTML,CSS 等甚至生成几套不用的方案来进行。 主要包括以下几个方面的内容: 站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理, 是否正确背景/色调是否正确、美观,是否符合用户需求; 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是 否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验 证的话)等连接连接的形式,位置,是否易于理解等。 web 测试的主要页面元素 页面元素的容错性列表、页面元素清单、页面元素的容错性是否存在、页面元 素的容错性是否正确、页面元素基本功能是否实现、页面元素的外形、页面元素是 否显示正确。注:页面元素清单(为实现功能,是否将所需要的元素全部都列出来 了,如按钮、单选框、复选框、列表框、超连接、输入框等等) 测试技术 结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。 可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素要求为符合 标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性 25 6.2.2 功能测试 对功能测试是测试中的重点,主要包括一下几个方面的内容: 连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图 像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接, 连接的是否是说明的位置等。 表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程 序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用 这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S 结构 实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可 以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回 归测试时运行以便减轻测试人员工作量。 压力测试 (Stress) 多用户情况可以考虑使用压力测试工具,建议将压力和性 能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具,查看服 务器 CPU 使用率和内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的 影响等等信息。如果有必要的话必须进行性能优化(软硬件都可以)。这里的压力测 试针对的是某几项功能.。错误恢复 (Error Recovery) 错误处理,页面数据验证, 包括突然间断电,输入脏数据等。 安全性测试(Security) 这个领域正在研究中,不过防火墙、补丁包、杀毒软件等 的就不必说了,不过可以考虑破坏性测试时任意。 兼容性 (Compatibility) 不同浏览器,不同应用程序版本在实现功能时的表现, 不同的上网方式,如果你测试的是一个公共网站的话。 6.3 不同的测试技术区分 6.3.1 白盒测试技术 开发人员根据自己对代码的理解和接触而进行的软件测试叫做白盒测试(White Box Testing)。该技术是深入到代码一级的测试,使用这种技术发现问题最早,效 果也是最好的。其主要特征是测试对象进入了代码内部,根据开发人员对代码和对 程序的熟悉程度,对有需要的部分在软件编码阶段进行测试,这一阶段测试以软件 开发人员为主,使用 Xunit 系列工具进行测试,包括很多方面的测试。 6.3.2 黑盒测试技术 黑盒测试(Black Box Testing)的内容主要是功能部分。可以结合兼容性和性能 26 方面测试全部的功能,能够根据软件需求设计文档,模拟客户场景随系统进行实际 的测试。这种测试技术是使用最多的测试技术,其涵盖了测试的方方面面, 如正 确性 (Correctness)、可用性 (Usability)、边界条件 (Boundary Condition)、性能 (Performance)等。 27 7 结束语 经过两个多月的设计和开发,邮箱系统基本开发完毕。其功能基本符合需求, 系统采用的是 Oracle 数据库,视需要可以移植到 SQL Server 或者其它大中型数据 库系统环境下。系统的分析与定义都结合了现在流行的面向对象方法以及传统的 MVC 结构分析与设计方法。 这次毕业设计,我从中学到了许多新的知识,培养了我综合多门学科中的知识、 迅速规划并开发出目标系统的能力,编程的能力也有了很大的提高。另外也有许多 心得体会,所谓系统开发如人生百味,酸甜苦辣皆有。从中我认识到严格按工程的 方法来设计系统相当重要,不要认为可以无需花太多的时间来做系统分析,甚至可 以无需经过系统定义而直接进入系统编码阶段。系统分析过于简单,系统定义过于 抽象,则在系统设计与编码阶段遇到的困难就越多,特别是其中若不得不做一些功 能性甚至系统结构性方面的变动,将面对许多重复性的工作。重复工作过多,将会 极大地影响系统开发的积极性,进而影响整个系统的质量。在这一点上,我体会尤 深。我的体会是,系统分析越充分,系统定义越具体,那么后续的系统设计与开发 工作就越有效率,且系统的质量也越有保障。 由于时间关系,本系统中尚存部分不完善之处,也有许多功能没有实现。敬请 各位老师原谅! 回顾设计开发邮箱系统的开发过程,总结起来那就是,软件的开发 是相当辛苦的,但成功以后的喜悦也是非常美妙的,而且我发现,其中投入的心血 越多,成功以后你所获得的快乐与充实感也更多更强,学到的东西同样越多。 28 参考文献 1贾素玲,王强.Java 程序设计M.北京:清华大学出版社,2007. 2贾素玲,王强.Oracle 数据库设计M.北京:清华大学出版社,2009. 3刘卫宏.SQL SERVER 2000M.北京:科学出版社.2003. 4贾素玲,王强.JSP 应用开发技术M.北京:清华大学出版社,2010. 5石振国.用 JSP 实现对 Web 数据库的访问J. 计算机应用.2001 年第 5 期:6-12. 6贾素玲,王强.JavaScript 程序设计M.北京:清华大学出版社,2010. 7Bloch5.J.Effective Java M.北京:机械工业出版社,2003. 8贺文,顾训璞 基于 Web 的客户端电子邮件系统的实现J 计算机工程与应用. 2001 年第 8 期.23. 9ANDREWST.Computer Network.M.New York:Prentice Hall.1997. 10汪孝宜等编著.SQL Server 数据库开发实例精粹M.北京:电子工业出版社, 2004. 11张伟,李晓宇,王晓莉.Servlet 中汉字处理浅析J.电脑编程技巧与维护. 2000 年第 4 期:10-12. 12梁立新.项目实践精解:基于 Struts-Spring-Hibernate 的 Java 应用开发M. 北京:电子工业出版社,2006 29 致谢 本系统从初始设计到最终完成,经历了很长一段时间。在此之间,首先,我要 特别感谢我的论文导师。在本次毕业设计中,她在繁忙的工作中挤出时间,从需求 分析、概要设计、详细设计、论文的编写等各个方面都给了我耐心细致的指导。我 从指导老师身上学到了很多东西。老师认真负责的工作态度、严谨的治学风格、深 厚的理论水平使我受益匪浅,她无论在理论上还是在实践中,都给予我很大的帮助, 使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助。在此表示 衷心地感谢! 其次要感谢我的培训基地老师,之前,我没有实践过如此全面的全新设计流程, 是他们专业性和建设性的指导,使我很快进入课题,节省了许多宝贵的时间。我对 老师崇高敬业的精神,认真负责的工作态度表示最真挚的敬意。 最后在这里衷心感谢大学四年里教导过我的每一位师长,你们严谨致学的态度、 高风亮节的品质是我人生路上的楷模和坐标;感谢和我一起共渡四年的兄弟姐妹, 感谢你们在我脆弱无助时温暖的鼓励和真诚的帮助,你们的友情永远是我生命里最 珍贵的财富;开发的同时,和同学们之间的相互探讨也使我获益匪浅。半年时间内, 我除了学习巩固了专业知识外更重要的是学到了兢兢业业、奋发向上的精神,这种 精神是我今后人生前进道路上的一种力量。所以我再次感谢老师和我的同学们。感 谢我的父母和亲人,感谢每一个关心我、帮助我的人,他们的支持是我不断前进的 动力。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!