皖北书城的网络管理平台_第1页
皖北书城的网络管理平台_第2页
皖北书城的网络管理平台_第3页
皖北书城的网络管理平台_第4页
皖北书城的网络管理平台_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

摘要本课题搭建了皖北书城的网络管理平台,它集销售与管理于一体,共分七个模块,实现功能如下销售管理,主要进行前台的用户管理和图书销售工作,采购管理,主要是对货物进行采集,继而对定单进行各个方式的查询,财务管理,主要是负责员工工资的发放,人员管理,主要是负责公司内部人员的考勤,工资信息计算以及基本信息的操作,客服管理,主要负责处理用户的留言工作,库存管理,主要是用于存放各类图书,进行入库和出库操作,系统管理,主要用于数据库的恢复与备份。该系统采用基于JAVA开发的WEB平台,后台数据库采用MYSQL。本系统严格的按照MVC开发模式,使各个层面相互独立,便于系统的维护以及以后系统的业务修改。本文主要介绍使用JAVA语言构建皖北书城网络管理平台的详细过程,包括可行性研究、需求分析、总体设计、详细设计、测试五个阶段。重点介绍MVC开发的具体操作方式及其设计思想。关键词皖北书城管理系统JAVAMVCMYSQLSTRUTSHIBERNATEABSTRACTTHISTHESISWITHPRACTICALAPPLICATIONISCONCERNINGABOUTDEVELOPINGPROGRAMMEOFTHEMANAGINGSYSTEMINBOOKSHOPSTHECOMPUTERINFORMATIONIZATIONMANAGEMENTHASTHESTORAGECAPACITYTOBEBIG,SPEEDQUICKANDSOONMANYMERITS,PROVIDESPROMPTLYFOROURSPROCESSINFORMATIONQUICKLY,THEREFOREWEUSETHECOMPUTERTOPROVIDECARRYONTHEMANAGEMENTFOROURSINFORMATIONTOONLINEONLINEPURCHASEBOOKS,PASSESTHROUGHCARRIESONTHEAPPRAISALAFTERMANYDEVELOPMENTSOFTWARESANDTHEDATABASESOFTWARESSUPERIORITY,FINALLYCHOOSESWITHJSPANDMYSQLDEVELOPSAB/SSTRUCTURETHENORTHERNANHUIBOOKCITYMANAGEMENTSYSTEMMANAGEMENTSYSTEMTHISGRADUATIONPROJECTISTHEAPPLICATIONCURRENTHIGHSPEEDDEVELOPMENTCOMPUTERTECHNOLOGY,SETSUPONLINEBOOKCITYMANAGEMENTSYSTEMMANAGEMENTSYSTEM,ISWITHREALIZESBASEDONTHEJSPONLINEBOOKCITYMANAGEMENTSYSTEMMANAGEMENTSYSTEMSDESIGNTHISSYSTEMHASTHEONSTAGEPURCHASEBOOKSSUBSYSTEMANDTHEBACKSTAGEMANAGETHEMAINSYSTEMTHEBACKSTAGEMANAGESTHEMAINSYSTEMFUNCTIONTOINCLUDETHEPERSONNELMANAGEMENTPROCUREMENTMANAGEMENTONLINEGUESTOBEYSDISCIPLINARYMEASURESTHEPRINCIPLE,THESALESMANAGEMENTSTOCKINQUIRYSYSTEMADMINISTRATIONANDSOON,ANDTHECONTACTSURFACESIMPLEOPERATIONISSIMPLEKEYWORDSBOOKSTOREMANAGEMENTJAVA,MVC,MYSQL,STRUTS,HIBERNATEABSTRACT2第1章绪论5第2章可行性研究621功能需求622可行性研究7221技术可行性7222操作可行性723结论8第3章相关知识和开发工具简介831ECLIPSE简介832MYECLIPSE833APACHETOMCAT服务器1034JSP技术概述11第4章总体设计1741总体功能模块图1842业务流程分析20421文字描述20422业务流程图2043功能模型分析(DFD)2144数据模型分析2445人员管理系统总ER图2546各模块功能总体设计29461人员管理29462库存管理2947数据库逻辑设计30471UML设计3048数据库设计31第5章详细设计与实现3451用户登录模块的设计34512员工信息录入38513员工查询4552考勤管理48521考勤信息修改49522搜索考勤信息5553库存管理57531管理的主要页面如下57第6章软件测试5861什么是软件测试5962软件测试的规则5963软件测试的对象6064单元测试60结束语62参考文献63附录1中英文资料翻译部分65附加源代码如下89第1章绪论就书城系统而言,由于网络已经覆盖全球,信息量大而独具优势。售书的理念也很简单,就是读者可以自己寻找自己喜爱的书为替读者找寻他们想要的书。对于读者来说,网上书城近在咫尺,并且永不下班关门,读者可以随时随地自由地查询和订购图书,读者无需亲临书城,一档一档地找,一本一本地翻,只要坐在电脑前,开机上网即可买到所需书籍,而且读者的挑选余地也大多了,检索也很方便,同时还减少了书城过程中的支出,另外应当看到图书选购必得翻阅详看,耗时费力,特别是热衷图书,几乎都是奋力开拓事业者和苦心求学深造者,时间对他们而言无比宝贵,网上书城节省了大量时间,这对于那些没有时间经常逛传统书城或其住所离传统书城较远的读者来说,具有实际意义。因此网上售书必将有长足的发展。开办网上书城系统也可以为在校大学生提供方便、廉价、高效的书城方式,促进文化传播,帮助国家和学校培养优秀的人才,具有长远的社会效益和经济效益。第2章可行性研究21功能需求人员管理模块(1)人事专员通过对新员工基本信息的录入,部门和薪资的录入。并对其修改。对辞职人员信息的删除。(2)考勤对员工每天的工作情况进行考勤,修改,并进行薪资的统计。库存管理模块(1)根据采购部的定单,对图书进行入库操作。(2)对库存图书查询。22可行性研究可行性研究分为技术可行性研究、操作可行性研究、经济可行性研究,而本设计用于毕业设计,暂不考虑经济可行性。221技术可行性皖北书城管理系统,可以基于WEB平台,采用JAVA语言,数据量小,只需采用小型数据库MYSQL。实现过程中可以用HIBERNATE等连接数据库,并可以使用建立专门的实体类与数据库的相应表进行映射,通过对实体类的业务实现来控制数据库的表,从而实现了数据库的增加、删除、插入等操作,功能实现不复杂。已经学习过数据库、软件工程等相关课程,而语言基本思想大致是一样的,JAVA掌握起来应该没有问题。再者,网上信息特别丰富,可以上网查找有关资料,在技术方面有指导老师可以进行指导,还可以上网查询相关资料。皖北书城管理系统实现的理论及技术已经日趋成熟。因此,在技术方面实现本系统是不存在问题的。222操作可行性本人力皖北书城管理系统的开发环境为LINUX,投入WINDOWS环境中使用,开发语言为JAVAECLIPSEMYECLIPSE插件,后台数据库用MYSQL来实现,系统采用B/S模式,用户只需了解WINDOWS基本操作就可以很好地使用本系统。因此,在操作的可行性上不存在任何问题。23结论由技术可行性、操作可行性的研究,可以得出结论,皖北书城管理系统的个子系统开发是完全可行的。第3章相关知识和开发工具简介31ECLIPSE简介ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。32MYECLIPSEMYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。在结构上,MYECLIPSE的特征可以被分为7类1J2EE模型2WEB开发工具3EJB开发工具4应用程序服务器的连接器5J2EE项目部署服务6数据库服务7MYECLIPSE整合帮助对于以上每一种功能上的类别,在ECLIPSE中都有相应的功能部件,并通过一系列的插件来实现它们。MYECLIPSE结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MYECLIPSE是ECLIPSE的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。33APACHETOMCAT服务器TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。这里的诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。34JSP技术概述JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件HTM,HTML中插入JAVA程序段SCRIPTLET和JSP标记TAG,从而形成JSP文件JSP。用JSP开发的WEB应用是跨平台的,即能在LINUX下运行,也能在其他操作系统上运行。JSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JAVASERVLET一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的10规范的最后版本是1999年9月推出的,12月又推出了11规范。目前较新的是JSP12规范,JSP20规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JAVASERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。35STRUTS技术STRUTS最早是作为APACHEJAKARTA项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JAVASERVERPAGES、SERVLET、标签库以及面向对象的技术水准。STRUTS跟TOMCAT、TURBINE等诸多APACHE项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。MVC即MODELVIEWCONTROLLER的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。STRUTS是MVC的一种实现,它将SERVLET和JSP标记(属于J2EE规范)用作实现的一部分。STRUTS继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。STRUTS框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的WEB应用程序的开发。36HIBERNATE技术HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。SESSION接口SESSION接口负责执行被持久化对象的CRUD操作CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。但需要注意的是SESSION对象是非线程安全的。同时,HIBERNATE的SESSION不同于JSP应用中的HTTPSESSION。这里当使用SESSION这个术语时,其实指的是HIBERNATE中的SESSION,而以后会将HTTPSESION对象称为用户SESSION。SESSIONFACTORY接口SESSIONFACTROY接口负责初始化HIBERNATE。它充当数据存储源的代理,并负责创建SESSION对象。这里用到了工厂模式。需要注意的是SESSIONFACTORY并不是轻量级的,因为一般情况下,一个项目通常只需要一个SESSIONFACTORY就够,当需要操作多个数据库时,可以为每个数据库指定一个SESSIONFACTORY。CONFIGURATION接口CONFIGURATION接口负责配置并启动HIBERNATE,创建SESSIONFACTORY对象。在HIBERNATE的启动的过程中,CONFIGURATION类的实例首先定位映射文档位置、读取配置,然后创建SESSIONFACTORY对象。TRANSACTION接口TRANSACTION接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。QUERY和CRITERIA接口QUERY和CRITERIA接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。37MVC的架构思想MVCMODELVIEWCONTROL模型视图控制器MVC与模板概念的理解MVC本来是存在于DESKTOP程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是XEROXPARC在八十年代为编程语言SMALLTALK80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为SUN公司J2EE平台的设计模式,并且受到越来越多的使用COLDFUSION和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。对老式的WEB应用程序来说,视图就是由HTML元素组成的界面,在新式的WEB应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MACROMEDIAFLASH和象XHTML,XML/XSL,WML等一些标识语言和WEBSERVICES如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和COLDFUSIONCOMPONENTS这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。开发方式JAVA开发WEBAPPLICATION有几种符合MVC设计模式的开发方式。1JSPSERVLETJAVABEANEJB2JSPJAVABEANCONTROLLERJAVABEANEJBMODEL3TDKTURBINE,VELOCITY4XSP5JSPSTRUTSJAVABEANEJB第4章总体设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。总体设计是软件设计阶段的第一步,在软件开发时期中,设计阶段是最富有活力,最需要发挥创造精神的阶段。在本阶段,主要就是得用面向对象分析方法把分析阶段产生的软件需求说明转换为用适当手段表示的软件概要设计文档,从而得出本模块的具体实现方案与总体结构以及各组成部分之间的关系。41总体功能模块图系统功能模块图如图51皖北书城管理系统人员管理模块库存管理模块采购管理模块客服管理模块销售管理模块系统管理模块人员员模块用于对公司员工信息统一管理,包含的功能如图所示。人员管理员员工信息管理员工考勤库存管理用于管理和查询仓库的相关信息,包含的功能模块如图所示。库存管理入库出库库存信息查询42业务流程分析421文字描述开发这个模块的目的就是帮助企业的人力资源部门提高工作效率,实现企业人员信息管理的系统化,规范化和自动话。根据这个系统最终实现的主要功能如下员工基本信息部分主要完成员工基本信息的管理。员工考勤信息部分主要完成员工考勤信息的管理。员工调动信息部分主要完成员工调动信息的管理库存管理的主要业务流程根据采购定单,销售定单,对图书进行入库和出库操作。对仓库信息的查询。422业务流程图如图添加新员工加入部门人事专员员工信息修改员工考勤薪资统计员工考勤信息修改43功能模型分析(DFD)绘制数据流图的基本要求系统的顶层图使用来表示整个系统的功能结构。随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列的相互关联的数据流和子转换。数据流图描述系统的逻辑模型,在设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的实现这些,该系统的数据流程图可确定如下人员管理人事管理事务回应图42数据流图顶层图管理事务系统一层图如图43所示人事专员人员管理员工信息员工信息系统设置管理员及系统信息系统信息考勤管理考勤信息等考勤信息系统二层图如图44至图48所示人事专员11人员添加12人员修改13人员删除人员信息图44数据流图二层图处理2库存管理细化如图45管理员采购定单销售定单库存采购信息销售信息仓库信息图45数据流图二层图44数据模型分析概念结构的主要特点能真实的、充分的反映现实世界,包括事物和事物之间的联系,能够满足用户对数据的处理要求。是对现实世界的一个真实模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户积极参与是数据库设计成功的关键。易于更改,当应用环境和应用要求改变时,容易对概念模型进行修改和扩充。易于向关系、层次、网状等各种数据模型转化。描述概念的有力工具是ER图,下面将对本系统的数据库进行概念设计,并画出ER图。图例实体关系属性45人员管理系统总ER图根据系统需求及ER模型的基本属性,可以分析出人力资源管理系统的实体联系模型(ER模型)。如图49所示N1N1NJOBATTENDANCESN1M1DIPLOMADEPTPERSON工资制度对应对应2对应3对应1NM拥有对应1POLITY对应3N1USER对应31图49系统总ER图员工实体如图410SALARRYID_CARDEMAILSALARYJOBDEPTPOLITYBANKDIPLOMAUSERATTENDACEPERSONEMPLOYE_NOGEMDERBIRTHDAYMARRYNPADDRESSTELMOBILENAME图410用户实体ER图库存实体如图411PRODUCTPRINTERISBNNAMEAUTHORNAMECREATEDATEORDERNCATALOGBOOKNUMPRICE图411网络实体ER图定单实体如图412DATEBUSINESSTYPEBUSINESS_ORDERBUSINESSTYPEPRODUCTS46各模块功能总体设计461人员管理1信息录入当公司招聘了新员工,需要对员工进行管理,就要录入员工的基本信息,还有分配哪个部门。其基本工资录入,以便之后对其每月工资的统计。DESCRIPTION2信息修改当员工信息有所变动的时候需要对其基本信息的修改,还有员工的调动,也要对其部门的修改。3信息删除当员工辞职和退休后,需要对其信息进行删除。4(1)添加考勤信息主要分为上下班信息和其他考勤信息。上下班信息要记录每个员工每天上下班的时间,而其他考勤信息包括含有请假,加班,出差信息。(2)修改考勤信息当考勤信息出现错误需要修改的时候,可以从这里修改相应的记录。(3)查询考勤信息根据员工编号或者时间进行查询,得到所有的考勤信息,包括上下班,请假,加班和出差信息,但是不能够对信息进行任何操作。(4)删除考勤信息分为删除上下班信息和删除其他考勤信息。462库存管理1库存也是一个企业管理的一个重要的部分,其功能有,出入库管理和仓库信息查询,及时警告库存不足,通过有库存信息能够统计哪些在这个时期阶段的销售好坏。47数据库逻辑设计471UML设计48数据库设计根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构员工表员工政治面貌表H_POLITY_INFO员工职位表H_JOB_INFO员工学历表H_DIPLOMA_INFO部门表H_DEPT_INFO银行表H_BANK_INFO考勤信息表H_ATTENDANCE_INFO用户表H_USER_INFO用户类型表H_USRETYE_INFO图书表H_PRODUCT_INFO定单表第5章详细设计与实现51用户登录模块的设计用户登陆皖北书城后台管理,可以根据其所在部门执行相关的管理操作。用户登录信息流程图开始检验是否正确返回错误页面输入用户名和密码是否存在DAO登录失败NYN持久层持久层M层V层JSP页面部分主要的界面如下C层表现层(V层)用户可以用自己已经注册过的帐号进行登录。控制层(C层)结合上图,处理步骤从页面发送的请求中获取登录条件对用户输入的登录帐号和密码作为字符串进行解析,如果格式不正确之后,直接返回错误页面,让用户重新输入帐号和密码。通过验证后,将用户输入的帐号信息包装成一个用户对象然后通过通过判断用户对象是否为空调用业务方法进行查询用户,如果对象不为空,则表示登录成功。相关代码PUBLICACTIONFORWARDLOGINACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONLOGINFORMLOGINFORMLOGINFORMFORMUSERUSERNEWUSERUSERSETUSER_NAMELOGINFORMGETUSERNAMEUSERSETUSER_PASSWORDLOGINFORMGETUSERPASSWORDUSERSERVICESERVICENEWUSERSERVICEIMPLTRYUSERUSERVICESELECTUSERSYSTEMOUTPRINTLNUIFUNULLHTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“U“,URETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“RETURNMAPPINGFINDFORWARD“LOGIN“512员工信息录入人事专员点击添加员工,详细操作如下人事专员点击添加员工提取信息是否填写信息是否通过验证过滤掉YNNY持久层DAOV层C层M层持久层JSP页面主要界面如下表现层(V层)用户可以根据自己的输入信息进行注册控制层(C层)结合上图,处理步骤从页面发送的请求中获取输入信息对用户输入的登录帐号和密码和各项信息作为字符串进行解析,如果格式不正确之后,直接返回错误页面,让用户重新输入信息进行注册。通过验证后,将用户输入的帐号信息包装成一个用户对象然后通过通过判断用户对象是否为空调用业务查询方法进行查询用户,如果对象不为空,则表示是已经注册用户,需重新注册,如果为空,则为这个用户新生成一个对象,持久化到数据库中。相关代码PUBLICACTIONFORWARDADDPERSONACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONPERSONPERSONNEWPERSONDIPLOMADIPNEWDIPLOMABANKBANKNEWBANKPOLITYPOLITYNEWPOLITYUSERUSERNEWUSERUSERTYPEUSERTYPENEWUSERTYPEJOBJOBNEWJOBDEPTDNEWDEPTSTRINGEMPLOYE_NOREQUESTGETPARAMETER“PERSON_NO“STRINGNAMEREQUESTGETPARAMETER“NAME“STRINGGENDERREQUESTGETPARAMETER“GENDER“STRINGBIRTHDAYREQUESTGETPARAMETER“BIRTHDAY“STRINGMARRYREQUESTGETPARAMETER“MARRY“STRINGNPREQUESTGETPARAMETER“NP“STRINGADDRESSREQUESTGETPARAMETER“ADDRESS“STRINGEMAILREQUESTGETPARAMETER“EMAIL“LONGTELLONGPARSELONGREQUESTGETPARAMETER“TEL“LONGMOBILELONGPARSELONGREQUESTGETPARAMETER“MOBILE“LONGID_CARDLONGPARSELONGREQUESTGETPARAMETER“ID_CARD“STRINGDEPTREQUESTGETPARAMETER“DEPT“STRINGDIPLOMA_NAMEREQUESTGETPARAMETER“DIPLOMA“STRINGJOB_NAMEREQUESTGETPARAMETER“JOB“STRINGPREQUESTGETPARAMETER“POLITY“STRINGBREQUESTGETPARAMETER“BANK“DIPSETDIPLOMA_NAMEDIPLOMA_NAMEUSERTYPESETUSERTYPE_NAMEDEPTUSERSETUSER_NAMEEMPLOYE_NOUSERSETUSER_PASSWORDEMPLOYE_NOJOBSETNAMEJOB_NAMEDSETNAMEDEPTPERSONSETEMPLOYE_NOEMPLOYE_NOPERSONSETNAMENAMEPERSONSETGENDERGENDERPERSONSETBIRTHDAYBIRTHDAYPERSONSETMARRYMARRYPERSONSETNPNPPERSONSETADDRESSADDRESSPERSONSETEMAILEMAILPERSONSETTELTELPERSONSETMOBILEMOBILEPERSONSETID_CARDID_CARD/DIPADDPERSONSPERSON/USERSETUSER_TYPEUSERTYPEUSERSETPERSONPERSON/JOBADDPERSONPERSON/POLITYSETNAMEP/BANKSETNAMEB/PERSONSERVICESERVICENEWPERSONSERVICEIMPLDEPTSERVICEDEPTSERVICENEWDEPTSERVICEIMPLTRYDEPTD1DEPTSERVICESELECTDEPTDIFD1NULLDEPTSERVICESAVEDDADDPERSONPERSONELSED1ADDPERSONPERSONSERVICEADDPERSONPERSONRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“513员工查询主要界面如下相关代码如下PUBLICACTIONFORWARDSELECTPERSONACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONPERSONPERSONNEWPERSONDEPTDEPTNEWDEPTSTRINGSELECTIDREQUESTGETPARAMETER“SELECTID“STRINGSELECTKEYREQUESTGETPARAMETER“SELECTKEY“PERSONSERVICESERVICENEWPERSONSERVICEIMPLLISTLISTNEWARRAYLISTDEPTSERVICEDEPTSERVICENEWDEPTSERVICEIMPLTRYIFSELECTKEYEQUALS“NAME“PERSONSETNAMESELECTIDPERSONPSERVICESELECTPERSONPERSONLISTADDPELSEIFSELECTKEYEQUALS“NO“PERSONSETEMPLOYE_NOSELECTIDPERSONPSERVICESELECTPERSONPERSONLISTADDPELSEIFSELECTKEYEQUALS“DEPTNAME“DEPTSETNAMESELECTIDLISTDEPTSERVICESELECTBYDEPTDEPTIFLISTNULLREQUESTSETATTRIBUTE“LIST“,LISTRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERRROR“RETURNMAPPINGFINDFORWARD“SELECT“514员工信息修改52考勤管理考勤主要界面如下521考勤信息修改界面如下相关代码如下PUBLICSTATICLISTLISTNEWARRAYLISTPUBLICACTIONFORWARDSELECTACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONDEPTDEPTNEWDEPTSTRINGDEPTNAMEREQUESTGETPARAMETER“SELECTID“DEPTSETNAMEDEPTNAMEDEPTSERVICESERVICENEWDEPTSERVICEIMPLTRYLISTSERVICESELECTBYDEPTDEPTREQUESTSETATTRIBUTE“LIST“,LISTRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“PUBLICACTIONFORWARDADDACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONPERSONPERSONNEWPERSONATTENDANCEATTENDANCENEWATTENDANCESTRINGEMPLOYE_NOREQUESTGETPARAMETER“EMPLOYE_NO“STRINGSTR1REQUESTGETPARAMETER“YEAR“STRINGSTR2REQUESTGETPARAMETER“MONTH“STRINGSTR3REQUESTGETPARAMETER“DAY“STRINGSTRSTR1“STR2“STR3INTNOINTEGERPARSEINTREQUESTGETPARAMETER“WORK_INFORMATION“ATTENDANCESETATTENDANCE_DATESTRATTENDANCESETNONOPERSONSETEMPLOYE_NOEMPLOYE_NOPERSONSERVICEPSERVIENEWPERSONSERVICEIMPLATTENDANCESERVICESERVICENEWATTENDANCESERVICEIMPLTRYPERSONPPSERVIESELECTPERSONPERSONPADDATTENDANCEATTENDANCESERVICEADDATTENDANCEITERATORITLISTITERATORWHILEITHASNEXTPERSONP1PERSONITNEXTSYSTEMOUTPRINTLNIFP1GETEMPLOYE_NOEQUALSPGETEMPLOYE_NOLISTREMOVEP1REQUESTSETATTRIBUTE“LIST“,LISTBREAKRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“PUBLICACTIONFORWARDSELECTBYNOACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONPERSONPERSONNEWPERSONSTRINGSTR1REQUESTGETPARAMETER“YEAR“STRINGSTR2REQUESTGETPARAMETER“MONTH“STRINGSTRSTR1“STR2STRINGEMPLOYE_NOREQUESTGETPARAMETER“SELECTID“PERSONSETEMPLOYE_NOEMPLOYE_NOATTENDANCESERVICEASERVICENEWATTENDANCESERVICEIMPLPERSONSERVICEPSERVICENEWPERSONSERVICEIMPLTRYPERSONPPSERVICESELECTPERSONPERSONLISTLISTASERVICESELECTP,STRREQUESTSETATTRIBUTE“LIST“,LISTRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“PUBLICACTIONFORWARDUPDATEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONPERSONPERSONNEWPERSONATTENDANCEATTENDANCENEWATTENDANCESTRINGEMPLOYE_NOREQUESTGETPARAMETER“EMPLOYE_NO“STRINGDATEREQUESTGETPARAMETER“ATTENDANCE_DATE“INTNOINTEGERPARSEINTREQUESTGETPARAMETER“WORK_INFORMATION“PERSONSETEMPLOYE_NOEMPLOYE_NOATTENDANCESETATTENDANCE_DATEDATEATTENDANCESETNONOPERSONSERVICEPSNEWPERSONSERVICEIMPLATTENDANCESERVICESERVICENEWATTENDANCESERVICEIMPLTRYPERSONPPSSELECTPERSONPERSONSERVICEUPDATEP,ATTENDANCEPSUPDATEPERSONPRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“522搜索考勤信息相关代码PUBLICACTIONFORWARDSELECTACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONDEPTDEPTNEWDEPTSTRINGDEPTNAMEREQUESTGETPARAMETER“SELECTID“DEPTSETNAMEDEPTNAMEDEPTSERVICESERVICENEWDEPTSERVICEIMPLTRYLISTSERVICESELECTBYDEPTDEPTREQUESTSETATTRIBUTE“LIST“,LISTRETURNMAPPINGFINDFORWARD“SUCCESS“CATCHEXCEPTIONEEPRINTSTACKTRACERETURNMAPPINGFINDFORWARD“ERROR“53库存管理531管理的主要页面如下添加图书到定单的页面如下第6章软件测试在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工在软作中犯错误。这样,件产品中就会隐藏许多错误和缺陷,尤其是对规模大、复杂性高的软件更是如此。所以,必须进行认真、计划、彻底的软件测试。61什么是软件测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。确切的说,软件测试就是为了发现错误而执行的过程。一般分为两个阶段(1)单元测试在编完某一模块后进行测试(2)综合测试在开发完软件后进行系统测试。即使经过最严格的测试之后,仍然可能还有没被发现的错误隐藏在程序中。测试只能查找程序中的错误,不能证明程序中没有错误。62软件测试的规则软件测试的目的是想以最少的时间和人力找出软件中潜在的错误和缺陷。一个成功的软件应该不怕挑剔的用户进行测试。如果成功的实施了测试,就能够发现软件存在的错误。根据这样的测试目的,软件测试的规则应该是1应该把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。3程序员应避免检查自己的程序。4在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。5充分注意测试中的群集现象。6严格执行测试计划,排除测试的随意性。7应当对每一个测试结果做全面检查。8妥善保存测试计划,测试用例,出错统计和最终分析报告。63软件测试的对象软件测试不等于程序测试。软件测试应贯穿于软件定义与开发的整个周期。所以,需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档都应该是软件测试的对象。64单元测试本程序的测试在WINDOWSXP环境下进行。登录部分测试如图61表61登录测试用例测试数据预期结果实测结果等价类划分用户名密码合理等价类数据库中存在用

温馨提示

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

评论

0/150

提交评论