信箱系统的设计与实现_第1页
信箱系统的设计与实现_第2页
信箱系统的设计与实现_第3页
信箱系统的设计与实现_第4页
信箱系统的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

信箱系统的设计与实现摘要电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。电子邮件指用电子手段传送信件、单据、资料等信息的通信方法。电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能像信件一样使收信者在接收端收到文字记录。电子邮件系统又称基于计算机的邮件报文系统。它参与了从邮件进入系统到邮件到达目的地为止的全部处理过程。电子邮件不仅可利用电话网络,而且可利用其它任何通信网传送。在利用电话网络时,还可在其非高峰期间传送信息,这对于商业邮件具有特殊价值。由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统。电子邮件采用储存转发方式在网络上逐步传递信息,不像电话那样直接、及时,但费用低廉。通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能,解决了小型企业和集体不能在同一平台通信交流的问题。电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。通过电子邮件人们可以以十分低廉的代价,以非常快的速度同世界上其他互联网用户联络。电子邮件的使用者数量呈几何级数增长。关键词电子邮件;互联网通信;网络服务MAILSYSTEMDESIGNANDIMPLEMENTATIONABSTRACTEMAILISAMONGTHEENTIRENETWORKASWELLASALLOTHERNETWORKSFORTHEEXCHANGEOFINFORMATIONDIRECTLYBETWEENPEOPLE,SYSTEMS,ANDITSDATASENDERANDRECEIVERAREALLHUMAN,SOGREATTOMEETALOTOFPEOPLEEXISTSBETWEENCOMMUNICATIONNEEDSEMAILREFERSTOLETTERS,DOCUMENTS,DATAANDOTHERINFORMATIONCOMMUNICATIONMETHODOFTRANSMISSIONBYELECTRONICMEANSEMAILACOMBINATIONOFTELEPHONECOMMUNICATIONSANDPOSTALMAILFEATURES,ITSENDSTHEINFORMATIONASFASTASTHESPEEDANDTHETELEPHONE,BUTALSOLIKETOMAKETHERECIPIENTRECEIVEDTHELETTERASWRITTENRECORDSONTHERECEIVINGENDEMAILSYSTEM,ALSOKNOWNASCOMPUTERBASEDMESSAGESYSTEMSITISINVOLVEDINTHEMAILFROMTHEMAILINTOTHESYSTEMTOREACHTHEDESTINATIONOFALLTHEPROCESSESEMAILCANNOTUSETHETELEPHONENETWORK,ANDMAYBETRANSMITTEDUSINGANYOTHERCOMMUNICATIONSNETWORKWHENUSINGTHETELEPHONENETWORKMAYALSOTRANSMITINFORMATIONONTHENONPEAKPERIODS,ITHASASPECIALVALUETOCOMMERCIALMESSAGESELECTRONICSYSTEMFORTHEUSERISLIMITEDBYTHECENTRALCONTROLCOMPUTERANDASMALLCOMPUTERCANBECONSIDEREDASACOMPUTERCONFERENCINGSYSTEMEMAILUSINGSTORAGEFORWARDINGGRADUALLYPASSINFORMATIONOVERTHENETWORK,SOUNLIKEDIRECTTELEPHONE,TIMELY,BUTINEXPENSIVETHEDESIGNISCOMPLETEDBYASIMPLEMAILSYSTEM,RECEIVINGANDSENDINGEMAILANDATTACHMENTSCANCOMPLETETHETRANSFER,ANDTOACHIEVETHEMAILUSERLOGINMANAGEMENT,ANDEMAILANDDELETEFUNCTIONS,THEDEVELOPMENTOFTHEVARIOUSFUNCTIONSISRELATIVELYSIMPLEANDPRACTICALMAILCLIENTENDOFTHEPROGRAM,SIMPLIFYINGALOTOFUNNECESSARYFEATURESTOSOLVETHESMALLBUSINESSCANNOTBEONTHESAMEPLATFORMANDCOLLECTIVECOMMUNICATIONPROBLEMSNOWEMAILASANIMPORTANTMEANSOFCOMMUNICATIONINAVARIETYOFNETWORKSERVICES,EMAILSYSTEMWITHITSCONVENIENT,FASTANDFEATURESANIDEALTOOLFORPEOPLETOEXCHANGEOFINFORMATIONTHECOSTCANBEVERYLOWTOVERYFASTCONTACTWITHOTHERINTERNETUSERSVIAEMAILPEOPLEINTHEWORLDTHENUMBEROFEMAILUSERSISGROWINGEXPONENTIALLYKEYWORDSEMAILINTERNETCOMMUNICATIONSNETWORKSERVICES目录摘要IABSTRACTII1绪论111课题背景112目的和意义113开发工具及技术1131开发工具1132JSP2133JAVASCRIPT4134STRUTS2简介4135HIBERNATE简介514软硬件需求62需求分析721需求调研722可行性分析7221技术的可行性7222经济的可行性7223操作的可行性7224法律的可行性723系统用例图分析8231管理员用例图8232员工用例图8233收件箱用例图9234写信用例设计1124功能模块需求分析11241管理员功能模块图说明11242用户功能模块图说明1225设计的基本思想1326性能需求13261系统的安全性13262数据的完整性1327界面需求133系统分析与设计1531数据库的分析与设计15311数据库需求分析15312数据库概念设计15313逻辑结构设计1732数据库的连接原理2233中文乱码问题处理234系统功能实现2541系统登陆页面实现2542管理员功能模块26421员工管理26422邮件发送28423修改密码30424退出系统3043员工功能模块30431邮件发送30432收件箱管理30433发件箱管理31434草稿箱管理31435通讯录管理315系统测试3351系统测试概述33511系统测试介绍33512系统测试的分类33513系统测试目的33514系统测试的意义3452测试过程34521主页面的登录模块测试34522管理员模块测试35523员工模块测试3553其他错误36结论37参考文献38致谢39毕业设计(外文)40外文原文翻译461绪论11课题背景电子邮件ELECTRONICMAIL也称为EMAIL,它是用户或用户组之间通过计算机网络收发信息的服务。目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。并且现在很多高校也采用邮件方式教学和收发作业。目前互联网60以上的活动都与电子邮件有关。尤其如今环境资源遭到破坏,提倡环保的主题下,不论是企业还是个人都应该尽量节省纸张,采用邮件形式来传递信息,这样不仅可以环保同时也提高了效率和安全性。而信箱系统来处理用户收发邮件及管理邮件等基本操作是必不可少的。由于网络中信箱系统繁多、业务需求多变,基于各邮件服务器的信箱系统的维护和业务变更变得难以进行。为了极大地方便上网用户,系统使用了B/S技术来进行开发,避免了原有的C/S结构开发所带来的弊端。并且将EMAIL系统和WEB应用结合起来,用户仅通过浏览器访问邮件系统即可。本邮件系统的基本功能包括用户登录、通讯录管理、邮件收取、邮件发送、查看邮件、邮件的管理功能。本文从软件体系结构设计模式的角度入手,首先设计和实现一个支持邮件收发、管理等基本功能的信箱系统,并在此基础上添加各项扩展功能。在介绍STRUTS2和MVC整体架构相关理论的基础上,研究如何使用这些JAVA框架和技术,使用MYECLIPSE开发工具构建灵活、实用的邮件收发平台。该架构的主要优点是易于维护和扩展,方便用户的掌握和使用。此邮箱系统功能主要分为管理员管理和用户管理两大部分,管理员管理主要包括管理用户信息、删除用户等;用户管理主要包括用户个人信息的管理、个人邮箱的管理等。该系统可以根据对功能需求进行扩展和完善。12目的和意义电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。通过电子邮件人们可以以十分低廉的代价,以非常快的速度同世界上其他互联网用户联络。电子邮件的使用者数量呈几何级数增长。当前流行的各大邮件客户端软件,除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。对于用户来说一款简单,方便,快捷的邮件收发系统将会在很大程度上为用户提供满意的服务,制作一款能满足用户需求的邮件收发系统是每一个设计者所追求的目标。因此希望通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能,解决了小型企业和集体不能在同一平台通信交流的问题。13开发工具及技术131开发工具此次设计主要采用MYECLIPSE加TOMCAT后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MYECLIPSE、TOMCAT和SQLSERVER数据库进行简要介绍。1MYECLIPSEMYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境。MYECLIPSE是一个十分优秀的用于开发JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MYECLIPSE目前支持JAVASERVLET,AJAX,JSP,JSF,STRUTS,SPRING,HIBERNATE,EJB3,JDBC数据库链接工具等多项功能。可以说MYECLIPSE是几乎囊括了目前所有主流开源产品的专属ECLIPSE开发工具。2TOMCATTOMCAT服务器是一个免费的开放源代码的WEB应用服务器。TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好APAHCE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。3SQLSERVERSQL是英文STRUCTUREDQUERYLANGUAGE的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI美国国家标准协会的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如ORACLE,SYBASE,MICROSOFTSQLSERVER,ACCESS等都采用了SQL语言标准。SQLSERVER使用C和C编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FREEBSD、HPUX、LINUX、MACOS、NOVELLNETWARE、OPENBSD、OS/2WRAP、SOLARIS、WINDOWS等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SQLSERVER提供的功能已经绰绰有余,而且由于SQLSERVER是开放源码软件,因此可以大大降低总体拥有成本。132JSPJSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与SERVLET一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。SERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP网站基本结构如图11所示图11JSP网站结构示意图JSP技术有以下优点1一次编写,到处运行。除了系统之外,代码不用做任何更改。2系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/NET的局限性是显而易见的。3强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大的生命力。4多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下5支持服务器端组件。WEB应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供WEB页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明REQUEST客户端请求,此请求会包含来自GET/POST请求的参数;RESPONSE网页传回客户端的响应;PAGECONTEXT网页的属性是在这里管理;SESSION与请求有关的会话;APPLICATIONSERVLET正在执行的内容;OUT用来传送响应的输出流;CONFIG代码片段配置对象;PAGEJSP网页本身;EXCEPTION针对错误网页,未捕捉的例外。133JAVASCRIPTJAVASCRIPT是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JAVASCRIPT的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JAVASCRIPT可以开发交互式WEB网页。JAVASCRIPT的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JAVASCRIPT技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。134STRUTS2简介STRUTS最早是作为APACHEJAKARTA项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JAVASERVERPAGES、SERVLET、标签库以及面向对象的技术水准。它的目的是为了减少在运用MVC设计模型来开发WEB应用的时间。使用STRUTS的目的是为了帮助我们减少在运用MVC设计模型来开发WEB应用的时间。STRUTS是APACHE软件基金会(ASF)赞助的一个开源项目。它最初是JAKARTA项目中的一个子项目,并在2002年3月成为ASF的顶级项目。它通过采用JAVASERVLETJSP技术,实现了基于JAVAEEWEB应用的MODELVIEWCONTROLLERMVC设计模式的应用框架WEBFRAMEWORK,是MVC经典设计模式中的一个经典产品。而STRUTS2则是STRUTS的升级版本。STRUTS2的工作流程如图12所示图12STRUTS2响应用户请求的工作流程1首先STRUTS2接收到一个HTTPREQUEST时INTERCEPTOR对其进行一些拦截或者初始的工作。这时候如果有外部的HTTPSERVLETREQUEST到来时,数据就会到SERVLET容器中,然后被传递给一个标准的过滤器链ACTIONCONTEXTCLEANUP。2然后STRUTS2开始调用DISPATECHER会去查找相应的ACTIONMAPPER,如果找到了相应的ACTIONMAPPERSTRUTS2将会将控制权限交给ACTIONPROXY。接着ACTIONPROXY通过CONFIGURATIONMANAGER来查找配置STRUTSXML文件。3最后STRUTS2通过ACTIONINVOCATION来负责命令模式的实现,ACTION返回RESULT。(返回的RESULT类型可以是JSP或者FREEMARK等)。STRUTS2是STRUTS的下一代产品,是在STRUTS1和WEBWORK的技术基础上进行了合并的全新的STRUTS2框架。其全新的STRUTS2的体系结构与STRUTS1的体系结构差别巨大。STRUTS2以WEBWORK为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与SERVLETAPI完全脱离开,所以STRUTS2可以理解为WEBWORK的更新产品。虽然从STRUTS1到STRUTS2有着太大的变化,但是相对于WEBWORK,STRUTS2的变化很小。APACHESTRUTS2是一个优雅的,可扩展的JAVAEEWEB框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。APACHESTRUTS2是大家所熟知的WEBWORK2,在经历了几年的各自发展后,WEBWORK和STRUTS社区决定合二为一而成的产品。它的优点在于1STRUTS2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程;2使用OGNL进行参数传递,并且有强大的拦截器,而且易于测试;3易于扩展的插件机制和全局结果与声明式异常。135HIBERNATE简介HIBERNATE是一个开放源代码的对象关系映射框架,HIBERNATE是数据持久层的一个轻量级框架。数据持久层的框架有很多比如IBATIS,MYBATIS,NHIBERNATE,SIENA等等。并且HIBERNATE是一个开源的ORM(OBJECTRELATIONSMAPPING)框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。HIBERNATE的运行过程如下1、应用程序先调用CONFIGURATION类,该类读取HIBERNATE配置文件及映射文件中的信息,2、并用这些信息生成一个SESSIONFACTORY对象,3、然后从SESSIONFACTORY对象生成一个SESSION对象,4、并用SESSION对象生成TRANSACTION对象;A、可通过SESSION对象的GET,LOAD,SAVE,UPDATE,DELETE和SAVEORUPDATE等方法对PO进行加载、保存、更新、删除、等操作;B、在查询的情况下,可通过SESSION对象生成一个QUERY对象,然后利用QUERY对象执行查询操作;如果没有异常,TRANSACTION对象将提交这些操作到数据库中。14软硬件需求硬件需求CPUPENTIUM以上计算机内存512M以上软件需求操作系统版本WIN7开发工具MYECLIPSE85后台服务器APACHETOMCAT60开发语言JAVA浏览器IE902需求分析21需求调研借助现代信息技术和管理理论,建立现代管理信息系统是当今社会的重要趋势。随着企业的规模不断扩大,员工数量急剧增加,有关员工的各种信息量也成倍增长。为了适应信息时代发展,提高企业的工作效率和办公水平,实现现代化企业的运行机制和高水平的管理,体现企业中计算机的特色,使计算机的使用成为企业对员工进行有效管理的重要组成部分。用计算机来实现企业内部邮件系统可以避免不必要的资源浪费。电子邮件除了在个人的生活中扮演着重要的角色外,在企业中也扮演着一个不可缺少的角色。在企业的发展过程中,人与人之间的交流,特别是同一个项目组之间的交流显得越来越重要,而电子邮件在企业中的采用则能使企业员工通过电子邮件来联系工作,可以节约大量的电话、传真、邮寄等费用,可以大大的提高工作效率。当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机,知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,我们开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。22可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。221技术的可行性本系统开发工具是MYECLIPSE和SQLSERVER数据库,开发语言是JAVA,主要使用了J2EE的技术,JAVA是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了JAVA课程和J2EE的知识,信箱系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。222经济的可行性如今是信息化时代,信息化管理可以使邮件管理工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。223操作的可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。224法律的可行性本系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。23系统用例图分析231管理员用例图管理员是系统的核心用户,涉及到两大功能模块,管理员对系统的所有用户有着操作的权限,能够给员工发送邮件。管理员用例图如图21所示。图21管理员用例图232员工用例图员工是系统的普通用户,涉及到两大功能模块,员工可以通过系统发送邮箱、管理自己的邮箱及通讯录。员工用例图如图22所示。图22员工用例图233收件箱用例图系统在收件箱可以查阅,回复、转发、删除自己收到的邮件。收件箱用例图如图23所示。图23收件箱用例图收件箱包含的基本用例如下表,阅读邮件用例图如表21所示。表21阅读邮件用例名称阅读邮件参与者所有网站使用者描述查收阅读收件箱邮件前置条件一个合法用户已经进入自己的邮箱后置条件如果资料通过审核,操作成功。主干过程1当用户选择进入收信箱时候,用例开始。2系统进入收件箱页面。3根据邮件类型用户可以查看新邮件,未读邮件和已读邮件。4根据邮件的时间顺序用户进行查阅。5点击进入单封邮件,系统显示邮件内容。回复邮件用例如表22所示。表22回复邮件用例名称回复邮件参与者所有网站使用者描述回复收件箱邮件前置条件一个合法用户已经进入自己的邮箱表22(续)后置条件邮件进入已发送邮箱,操作成功。主干过程1当用户进入单封邮件点击回复按钮,用例开始。2系统进入回复邮件页面。3用户编辑回复内容。4点击发送按钮完成回复功能。转发邮件用例如表23所示。表23转发邮件用例名称转发邮件参与者所有网站使用者描述转发收件箱邮件前置条件一个合法用户已经进入自己的邮箱后置条件如果资料通过审核,操作成功。主干过程1当用户进入单封邮件点击转发按钮,用例开始。2系统进入转发邮件页面。3用户编辑转发内容。4点击发送按钮完成转发功能。单封删除邮件用例如表24所示。表24单封删除邮件用例名称单封删除邮件参与者网站用户描述删除收件箱邮件前置条件一个合法用户已经进入自己的邮箱后置条件邮件进入已删除邮箱,操作成功。主干过程1用户进入收件箱选中邮件点击删除按钮或用户进入单封邮件点击删除按钮,用例开始。2邮件从邮件列表消失。3系统提示用户邮件已经删除进入已删除邮箱。多封删除邮件用例如表25所示。表25多封删除邮件用例名称多封删除邮件参与者网站用户描述删除收件箱邮件前置条件一个合法用户已经进入自己的邮箱后置条件邮件进入已删除邮箱,操作成功。主干过程1当用户进入收件箱选中全选删除框,点击删除按钮,用例开始。2所有邮件从邮件列表删除。3系统提示用户邮件已经删除进入已删除邮箱。234写信用例设计用户进入邮箱之后点击写信按钮写信用例开始。具体用例图如图24所示图24写信用例图写信用例如表26所示。表26写信用例名称写信参与者所有网站使用者描述用户编辑待发送邮件前置条件一个合法用户已经登录到系统主页后置条件如果内容通过审核,写信成功。主干过程1当用户选择写信时候,用例开始。2系统进入写信页面。3用户输入收信人,主题等一系列信息。4系统检验名称格式是否正确,若不正确,提示错误信息。5用户填写邮件内容,不能为空。6系统检验资料格式填写是否正确。若不正确,提示用户重新填写。7用户点击文件按钮添加附件。8用户可以选择发送或保存为草稿箱。9用户点击确认按钮。10系统提示用户发送成功。11如果用户选择再写一封则返回第2步,否则用例结束。24功能模块需求分析本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能1系统具有简洁大方的页面,使用简便,友好的错误操作提示2管理员用户具有员工信息管理、给员工发送邮件等功能3员工用户具有邮件信息管理、通讯录管理等功能4具有较强的安全性,避免用户的恶意操作241管理员功能模块图说明1员工信息管理模块在该模块中定义了对员工信息添加和删除功能;2邮件功能模块管理员通过该模块可以向员工发送邮件;3修改密码模块的功能是通过先验证用户原密码然后修改成新密码;管理员功能模块图如图25所示。图25管理员功能模块图242用户功能模块图说明用户功能模块图如图26所示。图26用户功能模块图用户功能模块图说明1修改密码模块的功能是通过先验证用户原密码然后修改成新密码;2邮件发送是在通讯录列表中选择指定联系人群发邮件3收件箱的功能是用来查看和删除邮件4发件箱模块模块的功能是用来存储用户发过的邮件信息5草稿箱模块的功能是实现对保存的邮件进行编辑和删除6垃圾箱模块的功能是用来存放垃圾邮件和用户删除的邮件7通讯录管理分为通讯录删除和通讯录添加两个模块通讯录删除模块的功能是删除单个人联系人的操作通讯录添加模块的功能是添加联系人信息25设计的基本思想设计思想遵循以下几点1采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。26性能需求261系统的安全性本企业内部邮件系统在管理权限上要严格进行控制,具体要求如下想登录企业内部邮件系统后台进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。262数据的完整性1各种记录信息的完整性,信息记录内容不能为空2各种数据间相互联系的正确性3相同数据在不同记录中的一致性27界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人机对话的界面格式等。1输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点1输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误3系统分析与设计31数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。311数据库需求分析需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。因此,数据库结构设计的一个非常重要的阶段就是数据库需求分析阶段。在这个阶段主要是收集基本数据以及数据处理流程,为以后进一步设计打下基础。需求分析主要解决两个问题1内容要求调查应用系统用户所操作的数据,决定的数据库中存储什么数据。2处理要求调查应用系统用户要求对数据进行什么样的处理,处理数据库中的各种数据之间的关系如何。解决这两个问题的时候,程序设计人员需要向应用系统的用户做详细调查,保证信息收集的完整性,否则有可能后面所做的所有工作都白白浪费。信箱系统,主要实现对电子邮件的规范化、系统化的管理。通过各方面的调查和分析,信箱系统需要实现的主要功能如下1提供用户登陆、用户发送邮件功能2提供员工模块的发件箱、收件箱、草稿箱、垃圾箱功能3提供员工通讯录和电子邮件群发功能4提供管理员登陆、管理员发送邮件功能5提供管理员对系统的管理功能312数据库概念设计设计概念结构通常有四类方法如下1自顶向下。即首先定义全局概念结构的框架,然后逐步细化;2自底向上。即首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构;3逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4混合策略。即将自顶向下和自地向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成自底向上策略中设计的各局部概念结构。概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(ER)模型设计方法。ER模型法的组成元素有实体、属性、联系,ER模型用ER图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立ER模型图。在ER图设计中,首先要设计分ER图,然后再对总ER图进行设计。由于各个局部所面向的问题不同,这就导致各个分ER图之间必定会存在许多不一致的问题,称之为冲突。因此合并分ER图并不能简单地将各个分ER图画到一起,而是必须合理消除各分ER图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并ER图的主要工作和关键。由分ER图合成总体ER图的规则,画出完整的信箱系统的完整ER图,如图31所示。图31信箱系统完整ER图本系统中主要涉及到用户,邮箱,信件三个实体,它们之间有这样的关系。用户使用信箱,信箱里装有信件,一个信箱里可以存放多封信件,因此是1N的对应关系。用户要收发和操作信件。分ER图如下1用户与信箱实体ER图如图32所示。图32用户与信箱实体ER图2信箱与信件ER图如图33所示。图33信箱与信件实体ER图3用户与信件实体ER图如图34所示。图34用户与信件实体ER图4员工信息实体ER图如图35所示图35员工信息实体ER图313逻辑结构设计1逻辑结构设计思想从理论上讲,设计逻辑结构应该选择最适于相应概念结构的数据模型,然后支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。目前DBMS产品一般支持关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。所以设计逻辑结构时一般要分三步进行,如图36所示1将概念结构转换为一般的关系、网状、层次模型;2将转换来的关系、网状、层次模型向DBMS支持下的数据模型转换;3对数据模型进行优化。图36逻辑结构设计时的三个步骤逻辑结构设计采用关系模型转换概念结构,将ER图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,确定是否要对某些模式进行合并或分解,为物理设计提供最优的处理。2ER图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。ER图则是由实体,实体的属性和实体间的联系三个要素组成。所以将ER图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下1实体类型的转换将每个实体类型转换成一个关系模式,实体的属性就是关系模式的属性,实体的码就是关系的码。2联系类型的转换,根据不同的情况做不同的处理。若实体间的联系是11的,可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。若实体间的联系1N的,可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。如果与N端对应的关系模式合并,则将一方的码传到多方去作为多方的一个非主属性。若实体间的联系是MN的,可转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。三个或三个以上实体间一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身属性均转换为关系的属性,而关系的码为各实体码的组合。3依照该规则将信箱系统的ER图转换为关系模型如下将每一个实体转换成一个关系模式(实体的属性就是关系的属性,实体的码就是关系的码)带下划线的为主码。管理员(邮箱,密码)概念结构基本ER图转换规则DBMS的特点和限制优化方法一般数据模型关系、网状、层次特定的DBMS支持下的数据模型优化的数据模型用户(姓名,性别,年龄,地址,密码,邮箱,公司)3数据流图从硬件方面来说,数据流图(DATAFLOWDIAGRAM,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。数据流图是结构系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。数据流图具体功能分析如下数据源点和数据终点数据源点和数据终点用方框表示,它是系统之外的实体,可以是人、事、物、部门或其他系统。加工(数据处理变换)加工用圆框表示,是对数据进行处理的逻辑单元,它接受若干输入数据流,通过加工,内部产生规定的输出数据流。数据流数据流用带数据流标识的箭头表示,表示系统处理的数据对象和数据流动的方向。数据流的方向可以是从一加工流向另一加工、从加工流向数据存储或数据存储流向加工、从源点流向加工或从加工流向终点。数据存储文件数据存储文件在数据流图中起着保存数据的作用,它可以是数据库、文件或任何其它形式,指向存储的数据流可理解为数据写入,从存储引出的数据流可理解为数据读出。公司工资管理系统数据流图如图37所示。图37系统数据流图4数据字典从软件方面来说,需要安装JDK和WEB服务器以及数据库管理系统数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。1数据项数据项是不可再分的数据单位。可以用关系规范化理论为指导,用数据依赖的概念分析和表示数据项之间的联系。即按实际语义,写出每个数据项之间的数据依赖,它们是数据库逻辑设计阶段数据模型优化的依据。数据项是数据结构中讨论的最小单位,是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。对于本系统所包含的各个数据项的具体描述如下所示。1员工信息表主要是记录了员工基本信息。表结构如表31所示。表31员工信息表T_USER列名数据类型长度允许空是否主键说明USER_IDINT4否是编号USER_NAMEVARCHAR20否否登录名USER_PWVARCHAR10否否密码USER_REALNAMEVARCHAR20否否真实姓名USER_SEXVARCHAR2否否性别USER_TELVARCHAR10否否联系电话USER_ADDRESSVARCHAR50否否住址USER_DELVARCHAR10否否删除标识2发件箱信息表主要是记录了已发送邮件基本信

温馨提示

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

评论

0/150

提交评论