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

下载本文档

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

文档简介

1、本科生毕业论文(设计)邮箱系统的设计与实现姓名学号专业指导教师2011 年 5 月 20 日i摘摘 要要近年来,随着互联网在全球范围内的发展和普及,人们可以方便地共享各种各样的网络资源。与此同时,工作和生活的快节奏使得朋友以及同事之间的信息不能即时的交互,普通的书信方式已远远不能满足人类的需求。因此,一款快捷、方便的电子邮件系统则成为信息交互中最重要的一环。本文分析了电子邮箱的现状和存在的问题,讨论了邮箱系统的设计与开发,阐述了邮箱系统的功能结构,并据此设计了一个以 java 为主要编程语言的基于 mvc 模式的邮箱系统。它是一个模拟网易电子邮箱的系统,其中的搭建过程包括 jdk1.6、ecl

2、ipse3.6、tomcat6.0 和oracle10g 的安装和环境变量的配置等。邮箱客户端设计部分采用 java 语言和oracle 数据库,实现了收信箱、发信箱、写信息、邮件群发、客户管理、员工管理、信息和常用语的管理、发送及接收短信和操作员管理与更改口令的功能,解决了如何设计开发邮箱的功能模块并实现系统的主要功能;如何在本地测试和修改程序遇到的 bug,如何实现对后台数据的管理操作。关键词:邮箱系统;java;mvc 模式iiabstractin recent years, with the development and popularization of the internet

3、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 importan

4、t 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

5、 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

6、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 followi

7、ng 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 real

8、ize the operation of background data.key words: e-mail system,java,mvc patterniii目目 录录1 引言.12 绪论.22.1 课题背景 .22.2 e-mail 的介绍及分析.22.3 可行性分析 .32.3.1 经济上可行性 .32.3.2 技术上可行性 .32.3.3 运行上可行 .32.4 使用的开发平台.32.5 开发语言和数据库简介 .42.5.1 java 程序设计语言简介.42.5.2 jsp&servlet 简介.52.5.3 oracle 数据库简介.53 系统总体分析和设计 .63.1 当

9、今主流电子邮件系统分析 .63.1.1 电子邮件工作流程简介 .63.1.2 电子邮件系统具体需求分析 .63.1.3 系统设计思想 .63.1.4 系统设计分析 .63.2 程序结构流程图 .73.3 电子邮箱的功能概述 .73.4 数据库的概述及描述.84 系统开发工具及jdk 搭建简介 .12iv4.1 eclipse3.6 介绍.124.2 tomcat 服务器简介.124.3 jdk 搭建过程.125 邮箱系统的详细设计 .145.1 系统采用的技术原理 .145.2 程序逻辑相关模块流程图 .155.2.1 检索信息模块流程图.155.2.2 管理模块流程图 .155.3 各类用户

10、登入系统设计 .165.4 应用系统结构 .175.5 详细设计主要模块的详述 .186 系统测试方法概述.246.1 概述 .246.2 测试方法 .246.2.1 界面测试 .246.2.2 功能测试 .256.3 不同的测试技术区分 .256.3.1 白盒测试技术.256.3.2 黑盒测试技术.257 结束语 .27参考文献 .28致谢 .2911 引引 言言在 internet 迅猛发展的今天,电子邮件已经成为信息交换的重要载体,是目前 internet 上最常用的功能。而对于这个给我们带来巨大方便的产物在这个世界上发出的第一封电子邮件是什么呢?第一种说法:1969 年 10 月世界上

11、第一封电子邮件是由计算机科学家 leonard k.教授发给他的同事的一条简短消息 ,这条消息只有两个字母:“lo”。leonard k.教授因此被称为电子邮件之父。leonard k.教授解释,“当年我试图通过一台位于加利福尼亚大学的计算机和另一台位于旧金山附近斯坦福研究中心的计算机取得联系。我们所做的事情就是从一台计算机登录到另一台机器。当时登录的办法就是键入 l-o-g。于是我键入 l,然后问对方:收到 l 了吗?对方回答:收到了。然后依次键入 o 和 g。还未等到对方收到 g 的确认回答,系统就瘫痪了。所以第一条网上信息就是lo,意思是你好!我完蛋了。 当然还有另一个说法是: 1971

12、 年,美国国防部资助的阿帕网正在如火如荼的进行当中,一个非常尖锐的问题出现了:参加此项目的科学家们在不同的地方做着不同的工作,但是却不能很好地分享各自的研究成果。原因很简单,因为大家使用的是不同的计算机,每个人的工作对别人来说都是没有用的。他们迫切需要一种能够借助于网络在不同的计算机之间传送数据的方法。为阿帕网工作的麻省理工学院博士 ray tomlinson 把一个可以在不同的电脑网络之间进行拷贝的软件和一个仅用于单机的通信软件进行了功能合并,名之为 sndmsg(即 send message)。为了测试,他使用这个软件在阿帕网上发送了第一封电子邮件,收件人是另外一台电脑上的自己。尽管这封邮

13、件的内容连 tomlinson 本人也记不起来了,但那一刻仍然具备了十足的历史意义:电子邮件诞生了。tomlinson 选择符号作为用户名与地址的间隔,因为这个符号比较生僻,不会出现在任何一个人的名字当中,而且这个符号的读音也有着在的含义。阿帕网的科学家们以极大的热情欢迎了这个石破天惊般的创新。他们天才的想法及研究成果,现在可以用最快的-快得难以觉察的速度来与同事共享了。现在他们中的许多人回想起来,都觉得阿帕网所获得的巨大成功当中,电子邮件功不可没。因此不管怎样,从那一封电子邮件的发出就注定将要改变信息传递的格局,注定要出现一种给我们带来更加方便快捷的信息传递方式。 22 绪绪 论论随着网络的

14、普及、信息化的快速发展,随之而来的是人们的生活、工作节奏的加快。而电子邮箱(e-mail)是通过网络电子邮局为网络客户提供的网络交流电子信息空间。电子邮箱具有存储和收发电子信息的功能,是因特网中最重要的信息交流工具。人们可以在任何地方 任何时间收发信件, 从而解决了时空的限制,大大提高了工作效率,为办公自动化 及商业活动等提供了很大便利 。2.12.1 课题背景课题背景众所周知电子邮件在人们的生活和工作中已被广泛应用,并出现了取代书纸信件的势头。由于电子邮件在现代生活中的重要性,因此各种各样的电子邮箱系统层出不穷,其中当数网易电子邮箱功能最为完善、快速和安全。而目前企业内用的邮箱主要为 out

15、-look,只能收发邮件,远远不能满足企业对员工和客户的信息管理信息,因此为了提高企业的竞争力,同时也为了方便了解客户及员工,帮助企业解决企业内部、企业与外部沟通难、信息不能及时传播等问题。企业需要提供有邮件群发、短信发送、接收等功能的邮件系统。在这样的背景下,产生了模拟网易邮箱来开发的电子邮箱系统,又称 :企业快信。2.22.2 e-maile-mail 的介绍及分析的介绍及分析e-mail 像普通的邮件样,也需要地址 。它与普通邮件的区别在于它是电子地址。所有在 internet 之上有信箱的用户都有自己的一个或几个email address,并且这些 email address 都是唯一

16、的。 邮件服务器就是根据这些地址将每封电子邮件传送到各个用户的信箱中, email address 就是用户的信箱地址。就象普通邮件一样 ,你能否收到你的 e-mail,取决于你是否取得了正确的电子邮件地址。 个完整的 internet 邮件地址由以下两个部分组成,格式如下:登录名 主机名.域名 中间用个表示“在”(at)的符号“”分开,符号的左边是对方的登录名,右边是完整的主机名,它由主机名与域名组成。其中,域名由几部分组成,每一部分称为一个子域 (sub domain) ,各子域之间用圆点“ ”隔开,每个子域都会告诉用户一些有关这台邮件服务器的信息。电子邮件改变了人们的生活,改变了传统的安

17、全技术,提高了效率。特别是对公司之间的信息传送大大超过了原有信件的传送速度。而在各大企业和学校,还未必尝试对邮件系统的开发实践,本系统旨在对邮件系统的一次深入的了解探究其运行机制,3实现能够对邮件收发和邮件管理的两大核心需求,熟练运用系统发送和接收邮件等,帮助我们对电子邮件技术有更深入的了解。2.32.3 可行性分析可行性分析可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。2.3.1 经济上可行性现在计算机的价格已经十分低廉,但性能却有了十足的进步。而本系统的开发,节省了过去传统信件的传递时间,从而大大减少了人力物力的资源,增加了传递信息量。为此主要表现在以下几个方面:第一

18、,本系统的运行可以使用户之间的信息传递畅通无阻;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以提高信息传递效率。所以,本系统在经济上是可行的。2.3.2 技术上可行性本系统的开发采用一个支持多线程的数据库 oracle10g,适用于于一般的个人用户和中小型企业的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用 struts 作为系统开发的框架,它提供完善的指令控制语句、类与对象的支持,给开发高性能系统提供了保障,满足了客户要求的系统,保证了代码的模块化要求,而代码模块化的提高则有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件

19、设备上的条件都是满足的,因此,它在技术上是可行的。2.3.3 运行上可行本系统为一个小型的邮箱系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。2.4 使用的开发平台使用的开发平台表 2-1 开发平台及环境变量配置表4开发平台java 虚拟机:jdk1.6服务器apache-tomcat-6.0.18数据库:oracle 10gplsql开发工具:eclipse3.6网页美化工具:cs5系统:window7环境变量配置java_home:c:program filesjavajdk1.6classpath:.;%java_home%lib;%

20、java_home%libtools.jarpath:%java_home%bin;%java_home%jrebin;e:appmengziproduct11.1.0db_1bin;%systemroot%system32;%systemroot%;%systemroot%system32wbem;%systemroot%system32windowspowershellv1.0; c:program filescommon filesthunder networkkankancodecs2.5 开发语言和数据库简介开发语言和数据库简介系统开发选用 jsp&servlet 和 ora

21、cle 作为前台开发工具和后台数据库。2.5.1 java 程序设计语言简介java 是一种解释型的、面向对象的编程语言,它通常被描述为“是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、多线程、动态的语言” ,是当今最流行的软件开发语言之一。它的应用范围特别广泛,具体可应用在企业信息化中,特别是在企业级的应用领域,如通信、金融、电子政务及办5公自动化、嵌入式设备及消费类电子产品、太空领域等。而 sun 公司推出的 java2 & j2ee 则使得 java 具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。2.5.2 jsp&

22、;servlet 简介 jsp(java server pages)是由 sun microsystems 公司倡导和许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有着强大而特别的功能。servlet 是一种独立于平台和协议的服务器端的 java 应用程序,可以生成动态的 web 页面。它担当 web 浏览器与其他 http 客户程序发出请求,与 http服务器上的数据库或应用程序之间的中间层。2.5.3 oracle 数据库简介oracle 系统,即是以 oracle 关系数据库为数据存储和管理作为构架基础构建出的数据库管理系统。 oracle 是世界上第一个支持 sql

23、语言的商业数据库,定位于高端工作站以及作为服务器端的小型计算机,如 ibm p 系列服务器、hp 的integraty 服务器、sun fire 服务器。oracle 公司的整个产品线包括数据库服务器、企业商务应用套件、应用开发和决策支持工具。63 系统总体分析和设计系统总体分析和设计本章从当今主流电子邮件系统分析、程序的结构流程图、系统结构和软件架构四个方面对该平台进行了总体分析说明。环境搭建之后,实现了电子邮箱的收信箱、发信箱、写信息、邮件群发、客户管理、员工管理、信息和常用语的管理、发送及接收短信和操作员管理、更改口令等主要功能。3.1 当今主流电子邮件系统分析当今主流电子邮件系统分析3

24、.1.1 电子邮件工作流程简介电子邮件由注册用户编写,并输入接收这封邮件的收件人,在需要的情况下,还可以发送附件等一些文件类型的信息。而接收方在登录自己的邮箱后,便可以收取信息,如有附件等还可以收取附件文件。3.1.2 电子邮件系统具体需求分析用户:注册自己的邮箱账户,管理个人信息(包括修改密码,修改信息) ,管理好友信息(包括添加好友,删除好友,编辑好友) ,管理邮件信息(包括写邮件,发送邮件,删除邮件) 。3.1.3 系统设计思想采用现有的资源和先进的邮件系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力,提高系统开发的水平和应用效果。系统满足了一般用户的需求,例如用户之间

25、的简单信息传递等。系统具备数据库维护功能,能够根据用户需求及时进行数据的添加、删除、修改等操作。3.1.4 系统设计分析本系统适用于各个企业,其功能主要分为六大类:用户个人信息管理:用于对每个注册用户的个人信息查询等。邮件信息管理:用于用户发送的信息的归类,整理。用户好友管理:用于对用户好友的输入、修改、汇总。本系统性能追求易于使用,具体有较高的扩展性和可维护性。73.2 程序结构流程图程序结构流程图电子邮箱首页login失败成功收信箱发信箱写信邮件群发客户管理常用短语发送和接收短信查看、删除查看、删除发信发群邮件信查看、修改常用短语管理增删改查图 3-1 电子邮箱结构流程图3.3 电子邮箱的

26、功能概述电子邮箱的功能概述本电子邮箱的设计主要是为企业管理层开发的,方便他们办公及工作,以及掌握客户与员工的信息资料,管理员可以发群邮件、发短信等联系客户和员工,主要的功能如下:(1)收信箱:当管理员进入到电子邮箱的收信箱时,把所有收到的邮件列出来,这时管理员可以查看和删除邮件等。(2)发信箱:当管理员进入到电子邮箱的发信箱时,把所有发送的邮件列出来,这时管理员可以查看和删除邮件等8(3)写信息:当进入写信息时,客户和员工列表会自动初始化,发送邮件时可以从客户、员工列表中选择要发送的目的邮箱账号,也可以手动输入 email address,再把自己的邮箱和密码填入文本框,发送时会检测账户和密码

27、是否正确,也可以添加附件等。(4)邮件群发:当进入邮件群发时,客户和员工列表会自动初始化,发送邮件时可以从客户、员工列表中选择要发送的目的邮箱账号,也可以手动输入 email address,再把自己的邮箱和密码填入文本框,发送时会检测账户和密码是否正确,也可以添加附件等。(5)客户管理:当进入客户管理时,客户的信息会以 table 的形式列出来,然后管理员可以点击修改和删除来进行管理。(6)员工管理:当进入员工管理时,员工的信息会以 table 的形式列出来,然后管理员可以点击修改和删除来进行管理。(7)信息类别管理:信息类别的列表,可以对信息类别进行添加和删除等操作(8)常用短语管理:常用

28、短语的列表,可以对常用短语进行添加、修改和删除等操作。(9)发送短息:通过网站来给员工发手机短信,通知公司内的通知和消息等。(10)接收短信:查看接收到的短信。(11)查看发送日志:查看发送过的日志。(12)操作员管理:管理员信息的显示,以及添加管理员的信息(13)退出:点击退出则退出系统,页面跳转到 login.jsp 页面。(14)权限功能:系统所有权限功能只赋予已注册的用户。3.4 数据库的概述及描述数据库的概述及描述数据库是信息存储的工具,电子邮箱共存储管理员表、信息类别表、邮件表、短信表、常用语表、客户表、员工表等主要数据表。电子邮箱包括以下各表:客户表(tb_customer):(

29、id ,name , address , postcode , area, mobiletel, email, bankno, bankname, linkname )信息类别表(tb_infotype):(id ,name,)管理员表(tb_manager):( id ,name ,pwd,state)员工表(tb_personnel):(id , name, sex, birthday, school , education, specialty, place , mobiletel , email)常用短语表(tb_shortinfo):(id ,typeid ,content)9短信表

30、(tb_shortlatter):(id,toman,content,fromman,sendtime)邮件表(tb_mail):(id,sender, receiver, title ,sendtime, message)下面描述其中几个表结构:1. tb_customer 表结构设计:tb_customer 表是存储客户的 id,用户名、密码等信息的表,主键是 id(自增),其逻辑结构设计如表 3-1 所示。表 3-1 tb_customer 表字段名字段描述字段类型是否主键允许为空id客户编号integer是否name客户名varchar否否postcode密码varchar否否area

31、地址varchar否否mobiletel手机varchar否否email 邮箱varchar否否bankno 银行账号varchar否否bankname 银行名varchar否否linkname 个人主页varchar否否2. tb_ manager 表设计tb_ manager 表是存储管理员的 id,用户名 ,密码和状态的表,主键是 id (自增),其逻辑结构设计如表 3-2 所示。表 3-2 tb_ manager 表字段名字段描述字段类型是否主键允许为空id用户编号integer是否name用户名varchar否否pwd密码varchar否否stats城市varchar否否3. tb_

32、personnel 表结构设计:tb_personnel 表是存储员工的(id , name, sex, birthday, school , education, specialty , place , mobiletel , email)id,用户名、密码,性别,出生年月,毕业学校,手机,邮箱等信息的表,主键是 id(自增) ,其逻辑结构设计如表 3-3 所示。10表 3-3 tb_ personnel 表字段名字段描述字段类型是否主键允许为空id员工编号integer是否name员工名varchar否否sex性别varchar否否birthday出生日期date否否school毕业学校v

33、archar否否education学历varchar否否specialty 特长varchar否否place地址varchar否否mobiletel手机号码varchar否否email邮箱地址varchar否否4.tb_shortlatter 表结构设计:tb_shortlatter 用于存储短信的收信人,消息,发信人,发送时间等,其逻辑结构设计如表 3-4 所示。表 3-4 tb_shortlatter 表字段名字段描述字段类型是否主键允许为空id用户编号integer是否toman收信人varchar否否content内容varchar否否fromman发信人varchar否否sendti

34、me发送时间varchar否否5. tb_mail 表结构设计:tb_mail 用于存储邮件的 id,发信人,收信人,标题,发送日期,及信件内容等,其逻辑结构设计如表 3-5 所示。11表 3-5 tb_ mail 表字段名字段描述字段类型是否主键允许为空id用户编号integer是否sender发信人varchar否否receiver收信人varchar否否title标题varchar否否sendtime发送日期varchar否否message内容varchar否否124 系统开发工具及系统开发工具及 jdk 搭建简介搭建简介前面已经简单介绍了开发本程序所用到的软件及系统,下面主要介绍开发工

35、具和语言。4.1 eclipse3.6 介绍介绍eclipse 是一个开放源代码的基于 java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件和组件来构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具(java development tools,jdt),是著名的跨平台的自由集成开发环境(ide) 。最初主要用来 java 语言开发,但是目前也有人通过插件使其作为其他计算机语言比如 c+和 python 的开发工具。eclipse 的本身只是一个框架平台,但是众多插件的支持使得 eclipse 拥有其他功能相对固定的 ide 软

36、件很难具有的灵活性。许多软件开发商选择以eclipse 为框架来开发自己的 ide。基于 eclipse 的应用程序的突出例子是 ibm 的 websphere studio workbench,它构成了 ibm java 开发工具系列的基础。例如,websphere studio application developer 添加了对 jsp、servlet、ejb、xml、web 服务和数据库访问的支持,eclipse3.6 是 eclipse 家族中的新版本,功能更完善。4.2 tomcat 服务器简介服务器简介tomcat 是一个轻量级应用服务器,它是一个免费的开源 servlet 容器

37、,是apache 基金会的 jakarta 项目中的一个核心项目,有 apache、sun 和其他一些公司及个人共同开发而成。由于 sun 公司的参与和支持,使得最新的 servlet 和 jsp 规范总能在 tomcat 中得到体现。由于 tomcat 技术先进、性能稳定及使用免费,所以深受 java 爱好者的喜爱,同时也得到了部分软件开发商的认可,成为了目前比较流行的 web 应用服务器。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 jsp 程序的首选。4.3 jdk 搭建过程搭建过程首先把 jdk 安装上,之后配置环境变量,如上面的表格列出来的内容。配置完之后打开

38、cmd 窗口,输入 javac,测试一下配置的变量是否正确。如图:13图 4-1 jdk 测试图然后安装 oracle 10g,用户为 scott,密码为 qjl123,再把数据库窗口化界面 plsql 装好,以用户为 scott,密码为 qjl123,database:orcl,connect as:normal 登陆下,检查是否能正确登录进入。之后运行 eclipse3.6,并把 tomcat路径导入到 eclipse 里面去,以及 cs5 的安装,系统为 window7 系统,前期工作准备完毕。启动 eclipse 的 tomcat 服务器,打开浏览器,在地址栏里输入:http:/loc

39、alhost:8080/mail_j206_struts/login.jsp 进入登录页面如截图所示:图 4-2 登陆界面图145 邮箱系统的详细设计邮箱系统的详细设计本章主要是对各个功能模块的详细设计做具体说明。首先对系统中所采用的技术原理做一概述,然后对各模块间的架构进行阐述,最后分别对各个模块的设计特别是一些关键技术进行详细论述。其中,最重要的是数据的封装(hibernate)、邮件的收发和基于 mvc 模式的 struts2.0 框架。5.1 系统采用的技术原理系统采用的技术原理现在 web 开发的技术各种各样,而 java 是面向对象的语言,包括四大特点:抽象、继承、封装和多态。本系

40、统采用的是 mvc 框架开发设计的。mvc 架构是model-view-controller的缩写,中文翻译为模型-视图-控制器。mvc 应用程序总是由这三个部分组成。event(事件)导致 controller 改变 model 或 view,或者同时改变两者。只要 controller 改变了 models 的数据或者属性,所有依赖的 view 都会自动更新。类似的,只要 controller 改变了 view,view 会从潜在的 model 中获取数据来刷新自己,mvc 要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。图 5-1 mvc 组

41、件类型的关系和功能图mvc 框架有以下几点特点:首先,最重要的是应该有多个视图对应一个模型的能力。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动 mvc 的模型层。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。15本系统还采用了 struts 的应用技术:struts 是根据 mvc 模式设计出来的 web 层框架,主要处理的是接收和返回数据。但逻辑层和数据访问则不是这个框架的职责范围。这个框架在 mvc 模式当中就是一个 servlet

42、,用来处理和转发数据。web.xml用来配置 web 容器,struts.xml 用来配置 struts 框架。5.2 程序逻辑相关模块流程图程序逻辑相关模块流程图5.2.1 检索信息模块流程图查询信息存在与否n显示结果y数据库退出图 5-2 检索信息模块流程图5.2.2 管理模块流程图16图 5-3 管理模块流程图5.3 各类用户登入系统设计各类用户登入系统设计(1)功能概述本系统采用 struts+hibernate 架构,后台数据库使用的是 oracle,要实现应用程序能够访问数据库并进行数据的查询.该系统后台程序分为表示层、控制层、业务逻辑层、持久层(数据库层) ,用户登录该系统就的用

43、户在表示层填写用户名及密码以及选择相应的角色提交到后台程序,然后后台程序根据前台页面传入的用户名、密码以及角色类型去数据库的相应表查询是否存在该条记录,若记录存在则登录成功,并进入相应的功能页面,若果记录不存在则返回登录页面,提示用户名或密码错误,请重新登录。(2)程序流程图查找成功查找成功修改增加记录修改增加记录查找记录查找记录管理相关信息管理相关信息查看相应记录查看相应记录退出退出继续?继续?继续?继续?登入邮箱系统17 图 5-4 程序流程图进入相应功能模块后,用户便可以执行各项操作。比如查看信息,管理好友信息等等。5.4 应用系统结构应用系统结构本系统采用 struts+hiberna

44、te 架构,整个系统分为四层,分别为表示层、控制层、业务逻辑层、持久层(数据库层) 。struts 框架实现 mvc 模式,结构清晰,使开发者只关注业务逻辑的实现,且有丰富的 tag 可以用 ,还具有数据库链接池管理。ibatis 提供了数据映射功能,提供了对底层数据访问的封装(例如 ) ,提供了 dao 框架,可以使我们更容易的开发和配置我们的 dal 层。通过 sql 基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。提供了连接管理,缓存支持,线程支持, (分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。还提供了 dao 支持,并在 dao 框架中封装了

45、ado.net,nhibernate 和 datamapper。并通过提供 dal 层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql 和代码的分离,提高了可维护性。登录系统登录密码验证用户模块邮件模块好友模块185.5 详细设计详细设计主要模块的详述主要模块的详述(1)收信箱:点击左侧的收信箱,进入到收信箱的信件列表,如图所示:图 5-5 收信箱图(2)发信箱:点击左侧的发信箱,进入到发信箱的信件列表。类似于收信箱图。(3)写信息:点击左侧的写信息,进入到发送新邮件界面发送邮件,如图所示 图 5-6 写信息图/ 确定要发送的邮件服务器的地址string ma

46、ilserver =smtp.+to.substring(to.indexof()+1,to.length();/ 设置邮件的传输协议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 tran

47、sport = 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.

48、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.tochi

49、nese(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.s

50、mtp.auth, true);/ 建立邮件发送的连接session session = session.getdefaultinstance(prop);session.setdebug(true);20system.out.println(sending.);transport transport = session.gettransport(smtp);if (transport != null) system.out.println(transport object is not null);/ transport.send(msg);/ transport.sendmessage(m

51、essage, 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 客户管理图此模块主要有

52、查询、添加、修改和删除客户信息进入客户管理界面,显示出所有客户的客户名称、地址、联系人、手机、邮箱,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()

53、+,+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 + ; 对员工信息的修改功能

54、:点击右上角的添加员工信息,进入: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

55、.getmobiletel()+,+cf.getemail()+);(7)发送短信:点击左侧的发送短信,进入到 sendletter.jsp23图 5-11 发送短信图可以从客户列表和员工列表选择你要给哪位发送短信,选择后系统将会自动把对方的手机号显示在接收对方手机号码,之后可以选择添加常用的短语,选择后点确定,常用的短语自动显示在短信内容框内,点击发送:sql 语句为string sql = insert into tb_shortletter (toman,content,fromman) values( +s.gettoman() +,+s.getcontent()+,+s.getfro

56、mman()+);246 系统测试方法概述系统测试方法概述6.1 概述概述 随着 web 应用的增多,新的模式解决方案中以 web 为核心的应用也越来越多,很多公司各种应用的架构都以 b/s 及 web 应用为主,但是有关 web 测试方面的内容并没有相应的总结,因此,在开发新浪邮箱系统时,对 web 应用程序的测试方法和采用的测试技术进行总结。测试方法尽量涵盖 web 程序的各个方面,测试技术方面在继承传统测试技术的技术上结合 web 应用的特点。6.2 测试方法测试方法 6.2.1 界面测试 很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。方法上可以根据设计文档,然

57、后根据这个可以页面人员可以生成静态的html,css 等甚至生成几套不用的方案来进行。主要包括以下几个方面的内容:站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,是否正确背景/色调是否正确、美观,是否符合用户需求; 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等。 web 测试的主要页面元素 页面元素的容错性列表、页面元素清单、页面元素的容错性是否存在、页面元素的容错性是否正确、页面元素基本功能是否实现、页面元素的外形、页面元素是否显示

58、正确。注:页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等) 测试技术结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素要求为符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性256.2.2 功能测试 对功能测试是测试中的重点,主要包括一下几个方面的内容: 连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。表单提交应当模拟用户

59、提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。b/s 结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。压力测试 (stress) 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具,查看服务器 cpu 使用率和内存占用情况,如果有必要可以模拟大量数据输入,对硬盘

60、的影响等等信息。如果有必要的话必须进行性能优化(软硬件都可以)。这里的压力测试针对的是某几项功能.。错误恢复 (error recovery) 错误处理,页面数据验证,包括突然间断电,输入脏数据等。 安全性测试(security)这个领域正在研究中,不过防火墙、补丁包、杀毒软件等的就不必说了,不过可以考虑破坏性测试时任意。兼容性 (compatibility) 不同浏览器,不同应用程序版本在实现功能时的表现,不同的上网方式,如果你测试的是一个公共网站的话。6.3 不同的测试技术区分不同的测试技术区分 6.3.1 白盒测试技术开发人员根据自己对代码的理解和接触而进行的软件测试叫做白盒测试(white box testing)

温馨提示

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

评论

0/150

提交评论