已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业论文(设计) 邮箱系统的设计与实现 姓 名 学 号 专 业 指导教师 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 结构分析与设计方法。 这次毕业设计,我从中学到了许多新的知识,培养了我综合多门学科中的知识、 迅速规划并开发出目标系统的能力,编程的能力也有了很大的提高。另外也有许多 心得体会,所谓系统开发如人生百味,酸甜苦辣皆有。从中我认识到严格按工程的 方法来设计系统相当重要,不要认为可以无需花太多的时间来做系统分析,甚至可 以无需经过系统定义而直接进入系统编码阶段。系统分析过于简单,系统定义过于 抽象,则在系统设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论