




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、随着近年来科学技术的快速发展,家中拥有计算机的家庭越来越多,而计算机也在 口常生活中占据了越来越重的地位,各种各样的网站以及相关网络活动如雨后春笋般出 现。各样网站的岀现,无疑为人民群众的生活提供了大量的便利,但是在某些情况下, 数据库的访问量相当大,服务器的处理能力有限,数据库由于过多用户访问就会有崩溃 的危险,为了避免这样的情况发生,需要一个屮间的调度系统,其冃的是保证任务的安 全进行。本篇论文讨论了国内外任务调度发展的一些现状以及未来的发展趋势,并且在国内 的现状的基础上关于邮件的调度简单模仿了一个能够调度邮件的邮件收发系统,其屮也 对用到的工具以及技术进行分析与介绍,并建立一个总体的系
2、统模型,从系统的角度出 发,研究系统的需求,并且按照角色以及模块进行分析与实现,按照不同的特点完成系 统的总体设计。在系统的原设计的基础上,借助当前比较流行的工具以及技术对软件进 行开发。在原设计中,系统具有批量处理邮件的能力,能够读入将要发送的邮件,由于 发送邮件的过程过快,所以还需要一个日志来记录发送的过程。使得邮件的调度更加直 观的被观察。本系统采用的软件有visio以及myeclipse,采用uml建模语言,利用visio建立 了系统功能分解图,流程图等等图表,分析了系统的需求,并根据系统的需求进行分析 研究,最后得出用ssh2框架,采用b/s架构实现系统的大体框架,经过测试,系统稳
3、定运行,基本实现了系统的功能。关键词:b/s模式;邮件收发;任务管理;javaabstractwith the rapid development of science and technology in recent years, more and more families has a computer, and computers are playing a more and more important role in everyday life, a large variety of sites and related network activity appears. the ap
4、pearance of variety site, will provide a lot of convenience for people's lives, but in some cases,page view of database is so large,how ever the server's processing capacity is limited,too many users to access the database will cause the danger of collapse. to avoid this from happening, the
5、database needs an intermediate scheduling system, its purpose is to ensure the safety of any conduct.this paper discusses some of the present situation of task scheduling and future development trends, and on the basis of the status of the country scheduling on a simple imitating mail messages can b
6、e scheduled by the mail system, which also uses tools and technical analysis and presentation, and to establish a general system model, from the perspective of the system, the system needs research and analysis carried out in accordance with the realization of the role and modules, according to the
7、different characteristics of the completion of the overall system design. on the basis of the original design of the system, with the current popular tools and techniques for software development. in the original design, the system has the ability to batch process the message, the message to be sent
8、 can be read, as the process of sending messages is too quickly, so it needs a log to record the process of transmission. makes the message more intuitive scheduling was observed.the system uses software visio and myeclipse, using the uml modeling language, use visio to establish a system of functio
9、nal decomposition diagrams, flowcharts, etc. charts, analysis of the requirements of the system, and according to the analys is results of the needs of the system,draw the conclusion that the system use ssh2 framework and b/s structure to achieve the general framework of the system, through tested,
10、stable operation of the system, the basic functions of the system is realized.key words: b/s mode; task management; mail; java目 录第1章绪论11.1选题背景及意义11.1.1课题研究背景11.1.2课题研究的目的和意义11.2论文内容和作者的主要工作21.2.1论文内容21.2.2作者的主要工作21.3论文的组织结构3第2章系统需求分析42.1系统开发平台和语言42.1.1系统的开发平台42.1.2系统的开发语言52.2系统需求分析6221系统目标62.2.2系统总体
11、业务描述72.2.3系统功能需求72.2.4系统用例分析82.3木章小结10第3章系统的总体设计113总体设计113.1.1系统设计准则113.1.2 系统开发模式113.1.3 系统流程分析123.1.4 系统功能模块分析153.2数据库设计173.3.1数据库概念模型设计17332数据库逻辑模型设计173.4木章小结18第4章 系统实现与测试204系统实现和运行环境204.2后台程序的实现204.2.1建立数据库连接214.2.2 applicationcontext.xml 文件224.2.3服务器邮件转发224.3系统前台的实现244.4任务调度与邮件收发264.4.1任务调度算法26
12、4.4.2邮件收发操作274.5系统测试284.5.1测试环境294.5.2登录测试294.5.3注册测试294.5.4邮件发送测试测试304.5.5测试总结304.6木章小结30结论31参考文献32攻读学士学位期间发表的论文和取得的科研成果34致 谢35第1章绪论1.1选题背景及意义1.1.1课题研究背景自从改革开放以來,家庭生活条件越來越好,很多家庭屮早就不是只有一台电脑, 而是几乎是人人多会有一台电脑。在2010年,城镇通信设备、计算机及其他电子设备制 造业固定资产投资额达到38882000万元,作为展现另一个世界的工具,电脑显示了它 与汽车电视等等其他工具所不同的方便。因此,在未来屮,
13、电脑必然会成为生活屮不可 缺少的工具之一。上世纪末,电脑等电子产品的普及与应用并不是太发达,但是近年来,随着电脑价 格的降低与软件技术的发展,以及电脑的功能涉及牛活的方方面面,电脑的方便越来越 引起人们的重视。很多年轻人长时间泡在网上,导致网络的访问量只升。这是未来生活 越来越向着自动化以及智能化发展的象征。而邮件又是现下网络交流的主要途径之一, 因此一个能够方便的转发邮件的网站是十分必要的。现今,随着网络用户的激增,很多网站的网络访问量越来越大,随之诞生了许多问 题,服务器的负载渐渐跟不上用户访问量增加的脚步。因此,设计出一个调度管理系统 势在必行。现在的任务调度管理算法并不完善,因此调度上
14、会出现很多问题,因此,设 计出一个调度管理系统是十分必要的。1.1.2课题研究的目的和意义通过对邮件的调度的成果来展示模拟任务调度的运行,是木软件的目的与意义所 在。建立一个简单的收发邮件的系统,能够简单的模拟出当大批量的任务同时访问的时 候,系统能够通过一个有效的算法,来管理与分配这些任务,使其不会导致系统的崩溃, 以保证系统的安全运行,最终达到安全有效的任务调度的问题。木课题的目的在于建立一套安全方便的邮件收发软件,以用于面向有大规模访问人 群的网站的研发设计与应用。本课题的主要意义有:1、有利于系统管理人员更好地管理用户以及邮件通过邮件管理调度软件,系统管理员能够方便的根据优先级管理用户
15、,并且可以根 据用户来查看发送邮件的基木信息,能够更方便的管理用户,可以节省许多时间。2、有利于加强系统的安全与可靠性系统通过一系列的算法调度,使邮件之间有不同的优先级,并且根据邮件的优先级 进行调度。有效的避免了当大规模用户访问来临时,系统由于处理不当而可能导致的卡 机甚至崩溃,能够有效的避免公司以及用户的损失。3、为其他邮件收发系统提供参考与借鉴木课题研究和制定了一种算法,通过算法来调度软件。调度软件的方法为邮件管理 系统提供了一种思路和方法。值得其他人来进行借鉴与参考,为不断开发和完善邮件管 理系统使之更加方便快捷做出贡献。1.2论文内容和作者的主要工作1.2.1论文内容在木论文中,先是
16、依据查阅的资料分析了国内外车友会的发展和特点,进而分析了 车友会管理系统的功能和需要解决的问题;其次对整个系统做了详细的需求分析,明白 了系统要实现的主要功能;然后通过需求分析,选择合适的开发平台、语言、工具对系 统进行功能实现;最后对系统的安全性、可靠性、完整性做了系统测试。木论文的内容涵盖了信息系统从其开发的目的、意义一育到最后的系统测试的全部 过程,符合一篇完整论文的要求。122作者的主要工作作者在需求分析的指导下,完成了所有的工作,在此只对作者的主要工作进行论述。(1) 由于木系统是一个会员管理系统,所以在登录前首先需要申请注册成为该系 统的正式会员。同时在成为正式会员后,给予会员不同
17、的优先级,会员发送的邮件会根 据会员的优先级初步确定邮件的优先级,再根据优先级进行分配。(2) 管理人员对会员的信息以及邮件进行统一的查看管理。(3) 会员在登录后可以发送邮件,接收邮件(4) 此项工作是接在数据导入工作之后进行的,管理人员在将数据导入导数据库 的过程中肯定会有些数据的格式或者内容不符合数据库的要求,这时候就需要对这些数 据做清理处理了。1.3论文的组织结构木文共分4章,按如下方式组织:第1章总体介绍了任务管理软件的研究价值以及其必要性,研究了当前任务管理的 现状以及发展前景。第2章介绍了系统开发的平台和所用的语言,对任务管理调度系统的需求进行了详 细的分析。第3章给出了任务管
18、理调度系统的详细功能分析,以及数据库的设计方案。第4章详细描述任务管理调度系统的实现,给出了各个功能模块的形式化描述。最 后对系统进行了系统测试工作。第2章系统需求分析系统中的软件需求分析对软件的开发是很重要的,是软件开发的起点。软件的需求 分析是软件的概要设计、详细设计、系统实现、系统测试的基础。木章明确了软件的 需求,明确了系统需要哪些功能,不需要哪些功能。再分析出这些需求之后,通过查阅 相关的材料,分析了解这些功能是否能够实现以及应该怎么实现出来。2.1系统开发平台和语言2.1.1系统的开发平台先简单的介绍一下myeclipse软件,然后就structs技术做简单的介绍。1、myecli
19、pse 的含义myeclipse 企业级工作平台(myeclipseenteiprise workbench,简称 myeclipse)是 通过插件在eclipse的基础上的一个拓展的工作平台,它的功能十分强大,功能全面, 能够对数据库的开发,以及java的开发发布,以及应用程序服务器的整合方面极大的提 高工作效率。它包括很多功能,其中有完整的使用java编码、调试、测试以及发布的一 系列功能。myeclipse是关于eclipse的插件集合,在对java, j2ee等方面的编程是十分优秀 的,功能强大,因此很受程序员的支持,而k myeclipse对于各种开源产品的支持很好。 myeclip
20、se 目前支持 java servlet,ajax, jsp, jsf, struts,spring, hibernate,ejb3,jdbc 数据 库链接工具等多项功能。2、myeclipse 的分类在结构上,myeclipse的特征可以被分为7类:javaee模型,web开发工具,ejb开发工具,应用程序服务器的连接器,javaee 项目部署服务,数据库服务,myeclipse整合帮助。以上的功能,在eclipse中都有相应的部件,加上myeclipse中一系列的插件去实现 他们,myeclipse的这种模式,使得拓展升级一个模块的时候不会影响其他模块的正常 工作。简单而言,myeclip
21、se是eclipse的插件,也是一款功能强大的javaee集成开发环 境,支持代码编写、配置、测试以及除错。3、structs 技术struts是采用java servlet/javaserver pages技术,开发web应用程序的开放源码的 frameworko 发表于 2000 年 5 月。采用 struts 能开发出基于 mvc(model-view-controller) 设计模式的应用构架。目前为止,有stwtsl和struts2,用户可以根据自己的需求进行 选择。到2006年的时候,经过六年的不断更新,不断完善,struts 1框架不断展示着的它 的优越性,它被越来越多的人认可,
22、看好。它稳定而且可靠,拥有大量的市场,使用它 来开发软件的人极多。它在当时几乎成了一种事业上的标准。但是,随着时间的推进, 它不可避免的露出了许多的弊病,它暴露出来的局限性制约着它的发展。对于struts! 框架而言,由于与jsp/servlet耦合非常紧密,因而导致了一些严重的问题。首先,struts 1 支持的表现层技术单一。由于struts 1出现的年代比较早,那个时候没有freemarker> velocity等技术,因此它不可能与这些视图层的模版技术进行整合。其次,struts 1与 servlet api的严重耦合,使应用难于测试。最后,struts 1代码严重依赖于stru
23、ts! api, 属于侵入性框架。从现在的技术层面上看,出现了许多与struts 1竞争的视图层框架, 比如jsf、tapestry和spring mvc等。这些框架由于出现的时间较于struts 1稍晚。吸 收了 struts的很多设计经验,在应用一些较新的设计理念,致使structs的用户越来越少。 但是,这些框架的出现也给stmts的发展起到了促进的作用。如今,struts 1己经分化成 为两个单独的框架,一种是struts2框架,即为木文使用的框架。struts2框架名义上是 struts 1的基础上发展起来的,但是它的核心却是web的另一个优秀框架web work o struts2
24、为传统的struts 1注入了 web work的先进的设计理念,融合了 struts 1和web work 的优秀思想,独立成为一个优秀的,应用广泛的框架。struts 1分化出来的另外一个框架 是shaleo虽然也是struts 1分化出来的框架,但是它的设计思想不同于struts 1,两者几 乎没有联系,它的出现更像是一个全新的框架,而不是struts 1的一个升级。2.1.2系统的开发语言java是由sun microsystems公司于1995年5月推出的java面向对象程序设计语言 和java平台的总称。由james gosling和同事们共同研发,并在1995年正式推出。java
25、 最初被称为oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为 java,并重新设计用于开发internet应用程序。用java实现的hotjava浏览器(支持java applet)显示了 java的魅力:跨平台、动态的web> internet计算。从此,java被广泛接 受并推动了 web的迅速发展,常用的浏览器均支持javaappleto另一方面,java技术也 不断更新。sun公司对java编程语言的解释是:java编程语言是个简单、面向对象、分布式、 解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。java平台是基于java语言的平台
26、。这样的平台非常流行。因此微软公司推出了与 之竞争的.net平台以及模仿java的c#语言。java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。java适合团队开发,软件工程可以相对做到规范。由于java语言木身的极其严格 语法的特点,血va语言无法写出结构混乱的程序。这将强迫程序员的代码软件结构的规 范性。这是一个很难比拟的优势。也正是因为如此,木系统采用myeclipse平台,以及 java语行o2.2系统需求分析任务管理系统的要求是高效并且能够在很多人一起访问程序时根据优先级排列出 访问的顺序,以满足系统的需要,保证不会因为负载过高而使系统崩溃,同时还要保证 数
27、据的安全。在界面上,应该简洁、友好,能够使用户操作方便。并且有着足够的防护, 防止用户因为误操作而产牛的bugo2.2.1系统目标任务管理软件,主要是实现对任务的捕捉以及根据进行分配。系统的目标是:根据 电脑,网络为主要基础,建成一个邮件管理管理系统,根据用户的优先级等级来分配用 户发送出的邮件。以实现对优先级算法的模拟。具体目标如下:1 易用性木系统对于软件的要求是容易使用,能够简单明了的看见一些调度的结果,使得系 统可以被更容易的检测。2、有效性木系统是对任务分配软件的一种现实的实现,因此在保证系统负载满足要求的情况 下,应尽量提高系统的任务分配的效率,使得任务分配的算法更有意义。3、安全
28、性为了防止用户的数据因为调度而产牛丢失等问题,该系统采用合理的分配调度算法 对邮件进行调度,使得用户的邮件能够安全的被送达。2.2.2系统总体业务描述木任务管理调度软件是根据服务器的负载的需求而开发的,所以任务分配以及优先 级调度算法是十分重要的。经过思考任务分配及调度时应满足以下几个方面:(1) 在分配用户的邮件时,系统应保证邮件从高的优先级开始向下分配。(2) 当出现等待队列中某个邮件的优先级为最高优先级时,应该保证最高优先级 的邮件优先发送出去。(3) 在设计优先级算法时,应保证不会使某个邮件因为优先级过低而导致等待时 间过长或者根木发送不出去而导致的用户的损失,因此应有一个动态优先级算
29、法,保证 某个邮件因为优先级过低而等待时间过长时,保证邮件可以发送出去。(4) 系统必须保证调度安全性,不会因为调度的过程中使得邮件丢失或者信息的 缺少,导致不必要的损失。2.2.3系统功能需求任务管理调度软件的目的是服务于用户,在满足服务器负载的情况下使用户获得更 快的体验。系统的功能分解图如图2所示。图2.1系统功能分解图系统中添加了管理员的功能,使得管理员能够查看已经发送的邮件,使系统的任务分配管理功能能够简单明了的显示岀来。如图2.2管理员功能分析图所示。图2.2管理员功能分析图通过分析,将用户按照不同的优先级进行区分,以方便计算任务分配时邮件的优先 级。同时将软件的功能需求继续惊醒细
30、分,并对每个部分进行描述,按照软件的需求, 系统用户的优先级如表2.1系统角色优先级分析表所示,系统功能分析如表2.2系统功能分析表所示。表2.1系统角色优先级分析表用户优先级普通用户较低,此类用户发送的邮件的优先级较为靠后会员较高,此类用户具有较高的优先级高级会员此类用户具有比会员更高的优先级紧急用户当邮件很长时间没有发出时,用户为此优先级,优先级最高表2.2系统功能分析表功能功能描述用户登录用户输入用户名和密码,验证通过后,能够使用该系统。修改密码用户能够重新设定登录密码。发送邮件用户根据自己的需求发送邮件,邮件发送给接受者分配任务根据用户的优先级,当系统负载过高时,系统暂停一部分邮件的发
31、送,使得系统的负载降低。退出会员退出系统。2.2.4系统用例分析1、确定系统行动者系统行动者是一个直接参与软件操作的角色(role),这个角色的图标是一个人形。 行动者分为两种:一种为人行动者;另一种为外部系统行动者。二者的区别在于,前者 为肓接与系统交互的具体人员,后者为肓接与系统进行交互的外部系统。二者共同点都 是与系统进行交互。一个行动者可以运行多个用例,而一个用例可以有多个行动者运行 iii02、构建用例模型根据以上分析得出的结论,根据系统的功能需求以及用户的需求,从行动者角度出 发,可以得出用例图。如图2.3至图2.4所示。图为2.3为用户的用例图,主要表现了用户使用系统与系统之间进
32、行交互,主要包图为2.4为管理员作为系统行动者的用例图,主要体现了管理员使用系统对用户进 行管理以及对邮件进行管理的作用。主要包括登录、查看系统当前正在执行的任务,对 执行完成的任务进行查看。同吋,作为管理员,应该保证系统正常运行,因此,管理员能够设置系统邮件的转 发吋间,保证系统中的邮件不冋有太多的积压,保证系统的安全运行。管理员需要查看已经完成的任务,保证系统的对于邮件的优先级管理与分配是正确 的,维护系统的稳定。图2.4管理员参与用例图2.3本章小结本章从不同的角色的不同角度出发,通过功能分解图和系统用例图详细的介绍了用 户、管理员和系统z间的关系,讨论不同功能模块的关系,为接下来的详细
33、设计做好铺 垫。第3章系统的总体设计在上一章中,我们主要对系统、用户、以及管理员之间的联系、和各个部分的功能 进行分析,木章的主要目标是对系统进行总体设计。3.1总体设计3.1.1系统设计准则根据上章中对于系统结构的分析,因此在系统的设计过程中应遵循以下原则:(1) 应该首先考虑系统的安全与稳定,以保证客户的信息不会因为各种原因而丢 失。(2) 系统的总体框架应该有统一的设计规定。(3) 系统应仔细区分用户的优先级,保证分配算法的准确。(4) 系统是易于维护的,在开发过程中遵循着方便开发,部署和操作的原则。3.1.2系统开发模式在当前软件开发时,管理软件的开发平台结构主要有b/s(浏览器/服务
34、器)模式和c/s (客户机/服务器)模式。两种模式各自有各自的优点与缺陷,因此应该对两种模式进行仔 细分析,然后根据分析选择应该选用哪种模式进行编码。1、client/server 模式client/server(简称c/s模式,客户机/服务器)结构,它需要通过安装客户端才能进行 操作,通过将任务合理的分配给客户机和服务器,降低了系统通讯的开销。它由客户机, 中间件,服务器组成,服务器主要工作是对各种请求进行处理,对系统资源的管理。中 间件是一个中间协调程序,为另外两端提供链接,协助它们进行各种操作,如查询,通 讯等等。客户端,顾名思义,是供用户使用的用来进行请求的提出,与服务器进行交互 的软
35、件。在c/s模式中,可以通过客户端进行接收用户的数据,对服务器发出请求,服 务器返回相应的响应数据,结果。由于c/s模式包括客户端和服务器端,将任务进行了分配,而且每个客户端都拥有 一整套完整的应用程序,当系统出错或者出现异常时都能提供提示或者帮助措施。另外, 由于客户端拥有完整的应用程序,所以客户端和服务器端的交互性特别地强。再次,b/c 模式提供了更加安全可靠的存取模式,其安全性可以得到很好的保证,这都归功于b/s 模式采用了适用于局域网、更加安全、较好的网络协议。再加之b/s模式只包括了客户 端和服务器端之间的通信量,所以它大大降低了网络通信量,通过b/s模式处理大量信 息就显得游刃有余
36、了。但是b/s模式的可伸缩性、与其他系统的交互性差;难以支持多个异构数据库;客 户端和服务器端的交互比较频繁,网络的通信量相对比较大,所以一般只适合在以局域 网为基础的环境下展开应用;另外,由于所有客户端机器都需要安装并且配置数据库客 户端软件,所以客户端的维护比较困难,系统的升级成木较大。2、browser/server 模式browser/server(ij览器/服务器)结构,不同于c/s的模式,他是通过web浏览器访问 页面,进而访问服务器以及数据库的模式,它由web技术为基础,由客户端,服务器, 数据库组成。用户通过客户端网站来提出各种的数据请求,浏览器将html的代码转 换成能够被用
37、户接受的网页。同时网页还能够允许用户提出一系列的操作,并交给服务 器进行处理,如果需要访问数据库的数据,服务器会访问数据库数据,并对数据进行处 理,将处理的结果返回给浏览器显示。相较于c/s模式browser/server模式有如下优点:(1) b/s是建立在广域网的基础之上的,它大大简化了客户端,不必要在每台客 户机器上都安装客户端,这节省了很大一部分磁盘空间和内存。另外它的安装过程和简 单、方便,一般只要有操作系统和浏览器就行。(2) b/s模式没有c/s程序的维护和系统升级的困扰。它只需把所有的功能都实现 在web服务器上即可,只是需要为不同的角色设置不同的权限。在升级时用户从网上自 己
38、下载安装就可以实现升级。综合考虑b/s结构与c/s结构的优缺点,木系统采用b/s结构编码。3.1.3系统流程分析由需求分析可知,系统中主要活动对象是用户与管理员,因此木模块主要对用户与 管理员登录流程,邮件的优先级计算流程以及任务分配流程进行分析。1、登录流程用户在系统中登录时,系统验证用户密码是否正确,以保证用户信息的安全:(1) 登录者选择登录类型,用户或者管理员。(2) 根据输入的用户名,判断用户是否存在,若不存在,显示用户名不存在。(3) 根据用户名,判断用户密码是否正确,如不正确,显示密码错误。该流程如图3.1用户登录活动图所示。険人用户否图3.1用户登录活动图2、优先级计算流程在计
39、算优先级时,应根据发送邮件的用户的优先级,以及邮件在系统中等待的吋间 来确定。优先级流程如下:(1) 用户发送邮件。(2) 根据用户的等级,邮件的大小初步确定邮件的优先级。(3) 判断邮件在系统中是否超过最长等待时间,如果是,则将该邮件分配为最高 优先级。该流程如图3.2优先级计算流程图所示。开始结束图3.2优先级计算流程图3、任务分配流程在计算完优先级后,进入任务分配流程,具体流程如下:(1)查看当前系统负载。(2)根据优先级分配任务。(3)当岀现最高优先级任务吋,暂停所有任务,是最高优先级任务优先进行。(4)当最高优先级任务完成后,根据断点继续执行原任务。该流程图如图3.3所示开始读取任务
40、分配优先级判定系统的负载根据优先级运行任务是彳焉最足高优先级盃任务暂停所冇任 务保存断点继续运行当 前任务运行最高优先级任务图3.3任务分配流程图3.1.4系统功能模块分析根据上章完成的需求分析,在考虑到系统应完成的各种功能的情况下,确定了系统 的功能分解图如图3.4所示。系统共分为7个子模块。每个子模块包含多个分模块,每 个模块之间能够交互,共同组成一个完整的软件。界向模块图3.4系统功能分解图1、注册模块申请者根据自身情况认证填写注册信息,其中包括用户名,密码,以及用户的真实 姓名等信息。其中用户名,密码为必填信息,如果不填就会显示注册失败并提示重新填 写用户信息己完成注册。2、登录模块登
41、录模块分为普通用户登录以及管理员登陆,二者的流程有很多的共同之处,只是 二者使用的数据库不同,普通用户使用的是普通用户的数据库,管理员使用的是管理员 的数据库。对于无用户名或者无密码的输入,登录失败并提示相应的错误信息。当普通用户的 账号以及密码作为管理员登录时,同样提示用户名或密码错误。3、用户功能模块用户登录成功后进入用户功能模块,再次模块中用户可以查看自己的邮件,并且可 以给另外一个用户发送邮件。4、管理员功能模块在管理员登录成功后,与用户功能模块类似,就会进入管理员功能模块。在管理员 功能模块中管理员能够查看并管理会员,并且查看当前进行的任务,以及查看分配过的 任务,以了解任务分配算法
42、的有效性。5、优先级计算模块此模块包含在后台管理模块中,当用户发送出邮件后,不会全部发送到收件人的邮 箱中,当系统负载不满足条件时,应该首先计算出各个邮件的优先级,即为此模块的功 能,再根据邮件的优先级来确定如何调度。6、任务分配模块计算完优先级后进入任务分配模块,此模块的功能是,按照优先级计算模块中计算 好的优先级将邮件排序,然后进行统一调度,使在满足系统负载的情况下,更加优良的 完成调度。7、任务管理模块该模块与管理员模块相关,在管理员点击查看进行过的任务时,进入该模块,然后 通过数据库,将进行过的任务显示出来。管理员在登录成功进入管理员界面时通过查看进行过的任务,已达到对进行过的任 务进
43、行调度的查看。3.2数据库设计系统设计中,数据库设计占有很重要的位置,通过分析要找出数据的内在联系以及 数据的在系统中的流动和存储过程。在此,主要通过表间关系图和实体联系模型来分析 各实体之间的联系。3.3.1数据库概念模型设计数据模型是表示实体类型及实体类型间联系的模型。它可分为两种类型:概念数 据模型和逻辑数据模型。概念模型主要表示数据的逻辑特性,即只是在概念上表示数据 库中将存储什么信息,而不管这些信息在数据库中怎么实现。因此,它是从用户的角度 对现实世界建立的数据模型,和dbms及计算机都无关。通过系统需求分析,木系统中存在的实体主要有:会员、管理员和邮件三个实体。 其中管理员和会员还
44、有邮件没有关联,管理员拥有一张独立的表,比较简单,在此就不 做介绍了。对于每一张邮件需要记录它的上传者,所以会员表和邮件表存在着关系:邮件表中 的id属性作为会员信息表的外键。3.3.2数据库逻辑模型设计er模型表示的概念模型是用户的模型。它独立于任何一种数据模型,独立于任何 一个具体的数据库管理系统(dbms),因此,需要把概念模型转换为某个具体的dbms 所支持的数据模型,然后再建立用户需要的数据库。本系统屮数据表有会员信息表、 管理员信息表和邮件表表3.1是管理员信息表,主要包括id、用户名和密码字段,主要实现管理员登录信 息的存储。表3.1管理员信息表列名数据类型长度主键允许空默认值1
45、用户名varchar20否否#2idint20是否#3密码ini11否否0表3.2是用户信息表主要包括id、用户名、密码、邮箱、车主姓名、性别、家庭住址、工作单位、联系电话、qq、出生期、用户级别字段,主要实现用户信息的存储 表3.2用户信息表列名数据类型长度主键允许空默认值1用户名varchar20否否#2密码varchar20否否#3电话号码int20否否#4性别bit2否否#5idint20是否#6用户级别int1()否否#表3.3是邮件信息表,主要包括id、邮件名称、上传者、上传时间,优先级以及完成 状态。表3.3邮件信息表序号列名数据类型长度主键允许空默认值1邮件idint10是否#
46、2名称varchar20否否#3上传者varchar20否否04上传时间date否否#5优先级int10否否#6完成状态varchar20否否#3.4本章小结木章主要对系统进行了详细、全面的设计,对系统按模块进行了详细的划分,并h 详细的分析了每一个模块。此外木章还完成了数据库的设计工作,为接下来系统的实现 做好基础。第4章 系统实现与测试木章从系统的实现方面出发,根据系统实施过程中所选用的平台和技术对系统的实 现进行详细的介绍,并对系统实现过程中的重点难点进行详细分析,最后对系统进行测 试。4.1系统实现和运行环境1、系统实现和工具木系统采用ssh2技术进行实现,实现过程中分别用到micro
47、soft visio2007进行系统 uml模型的构建;myeclipse用于工程管理、代码编写和调试以及进行软件界面设计; mysql用于建立系统数据库。2、系统运行环境服务器端:(1) 操作系统:windows7;(2) 数据库:mysql;(3) 集成环境:myeclipse7.5;(4) 软件结构:b/s结构。客户端:(1) 操作系统:windows 2000/xp/2003或以上版木;(2) 浏览器:intemetexplore 60或以上版木;(3) 推荐分辨率:1024*768或以上。4.2后台程序的实现在后台的程序实现中,首先要做的是连接数据库,其次是要在服务器端创建wcf 服
48、务通信。如图4后台服务结构图所示为后台实现从数据库底层到为客户端提供服务的整个 过程。z数据阵图4.1后台服务结构图4.2.1建立数据库连接本系统采用hibernate fr;架连接数据库。基本的逻辑连接如下: driverclass=com.mysql.jdbc.driverjdbcurl=jdbc:mysql:/localhost:3306/email_system?useunicode=true&characterencodin g=utf-8username=rootpassword= 123456在系统中不仅要获取数据库中的数据,还有其他的一些对数据库中数据的操作,如 下:(
49、1)删除数据。这个过程是首先查询要删除的数据,然后再删除之。(2)修改数据。与删除数据相似之处在于也是需要先查询要修改的数据,再修改 之。(3)校验数据。这个过程就是讲用户输入的数据与数据库中的数据进行对比,看 是否一致。4.2.2 applicationcontext.xml 文件applicationcontext.xml文件是用来配置structs与数据库的主要文件,具体配置数据 库代码如下:<beanid=,sessionfactoryhclass=norg.springframework.orm.hibernate4.localsessionfactorybeann>&l
50、t;property name=ndatasourceu ref=ndatasourcen />v!实体类扫描_><property name=npackagestoscann value=nbeanh/><property name=nhibernatepropertiesh><props><prop key=uhibernate.dialectn>org.hibernate.dialect.mysql5dialect</prop><prop key=nhibernate.hbm2ddl.autoh>upda
51、te</prop><prop key=nhibernate.show_sqlh>true</prop><prop key=nhibernate.format_sqln>true</prop><prop key=nhibernate.temp.use_jdbc_metadata_defaults”>falsev/prop></props></property><property name=hmappingresourcesn><list><value>bean
52、/user.hbm<xml</value><value>bean/message>hbm.xml</value><value>bean/setting.hbm>xml</value></list></property></bean>4.2.3服务器邮件转发在服务器启动的时候,系统首先要判断是否有邮件没有发送成功,如果有,将它加 入到发送队列等待转发。系统使用的是java内置的类,优先级队列,添加进来的对象需 要实现comparable接口用于比较添加进来的对象的优先级。服务器转发邮
53、件的代码如t:requestmapping(value = h/dosendr method = requestmethod.post)responsebodypublic string dosend(requestparam(required = true) string title, requestparam(required = false) string filepath, requestparam(required = false) string content, integer touserld,httpsession session) system.out.println(nti
54、tle 二 ” + title);user user = (user) session.getattribute(husern);string sessionfilepath = (string) session.getatti ibute(hfilepathn);message message = new message();判断前端保存的表单中上传的文件名与session的文件名是否一样,如果 不一样,则用户可能修改了隐藏表单的内容if (filepath != null && filepath.equals(sessionfilepath) long filelength
55、 = (long) session.getattribute(nfilelengthh);message.setfilelength(filelength);message.setfilepath(filepath);message.setfromuser(user);user touser = new user();tou ser. setld( tou serld);message.settouser( touser);message.settitle(title);message.setcontent(content);message.setuploadtime(new date();m
56、essage.setpriority( user.getpriorityo);/根据用户的优先级来定义消息的优先级 message. setstatus(o);try messageservice.add(message); messageprioritymanageeadd(message);return ”1”; catch (exception e) e.printstacktrace();return ”0”;4.3系统前台的实现系统的前台主要是界面与数据库和内核之间的交互主要代码如下:/*首页处理(登录、注册)*/requestmapping(value 二”/")controllerpublic class indexcontroller resourceprivate userservice userservice;*处理登录请求* param username 账号* param password 密码* param type 登录的类型,0:用户,1:管理员 */requestm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 撬动新质生产力
- 佳木斯新质生产力
- 浙江国企招聘2025年台州市椒江区属国有企业招聘特殊人才及职业经理人6人笔试参考题库附带答案详解
- 社旗县高一数学试卷及答案
- 沙溪期中考试试卷及答案
- 2025工程合同附加协议范本
- 动物胶在户外运动装备材料中的耐候性考核试卷
- 罐装水生产设备选型与性能评估方法考核试卷
- 海洋油气开发工程建筑信息化管理考核试卷
- 矿山企业文化与团队建设考核试卷
- YY-T 0950-2015 气压弹道式体外压力波治疗设备
- GB/T 44218-2024微型扬声器测量方法
- (正式版)JB∕T 14666-2024 钢质汽车转向节臂锻件 工艺规范
- AQ/T 9009-2015 生产安全事故应急演练评估规范(正式版)
- 《无人机测绘技能训练模块》课件-模块7:无人机航测影像获取
- 人工髋关节置换随访资料库模板
- (完整版)12123交管学法减分考试题及答案
- 脑干的解剖及临床综合征
- 人教版高一下学期期中考试数学试卷及答案解析(共五套)
- (高清版)JTG 3810-2017 公路工程建设项目造价文件管理导则
- FZ∕T 74001-2020 纺织品 针织运动护具
评论
0/150
提交评论