版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第35页共37页实验室仪器设备管理系统专业:学号:学生:指导教师:摘要实验室仪器设备管理系统是一个基于Internet,采用B/S(Browser/Server,浏览器/服务器模式)模式,并根据现有的实验室仪器设备管理系统的现状而设计开发的服务于实验室仪器设备管理行业网络管理平台。本文以JSP为开发技术,实现了一个实验室仪器设备管理系统。该信息管理系统分为管理员、设备主管、普通用户三个独立的模块。系统主要实现了以下功能:设备基本信息管理,部门间设备调拨,设备维修管理,设备报废管理、分类统计等功能。在设计方面,系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用MySQL数据库。关键字:JSP;B/S结构;JavaBean;实验室仪器设备管理
Specialty:StudentNumber:Student:Supervisor:AbstractLaboratoryequipmentmanagementsystemisbasedonInternet,theuseofB/S(Browser/Server,Browser/Servermode)mode,andaccordingtothestatusofexistinglaboratoryequipmentmanagementsystemdesignanddevelopmentservicesforlaboratoryequipmentdevicemanagementindustrynetworkmanagementplatform.Inthispaper,forthedevelopmentofJSPtechnology,alaboratoryequipmentmanagementsystem.Theinformationmanagementsystemisdividedintoadministrators,equipmentmanagers,ordinaryusersthreeseparatemodules.Systemismainlytoachievethefollowingfunctions:basicequipmentinformationmanagement,inter-sectoralallocationofequipment,equipmentmaintenancemanagement,equipmentobsolescencemanagement,classificationstatistics.Inthedesign,thesystemusesB/Sthree-tierstructure,usingJSPtechnologytodesigndynamicpagesfromreusablesecurityaspectsofthesystemandcodeconsiderations,useJavaBeankeycodeoftheprogrampackage.MySQLdatabaseback-enddatabaseselection.KeyWordsJSP;B/Sstructure;JavaBean;laboratoryequipmentmanagement
目录TOC\o"1-3"\h\u7613绪论 529239第一章概述 6169421.1课题研究的目的 692241.2课题研究的意义 670211.3国内外发展趋势 7265781.4课题的可行性分析 737321.4.1课题调研 7193091.4.2可行性分析 7170781.5本章小结 820431第二章系统需求分析 967452.1结构化分析 9177012.2功能需求描述 12178432.3非功能需求描述 1383592.4本章小结 137075第三章关键技术介绍 13251073.1JSP技术 1460943.2MySQL概述 1435673.3JavaBean概述 1536513.5系统开发模式 18110203.6ssh简介 20270243.6.1Struts 20258183.6.2Spring 21118243.6.3Hibernate 22167713.7本章小结 235815第四章总体设计 2346064.1系统总体结构设计 24302594.2模块功能设计 24131584.3概念设计(E-R图) 25149854.4逻辑结构 25134034.5本章小结 2830435第五章详细设计 29179875.1系统管理模块 30241695.1.1后台登录模块功能实现 30249855.1.2部门管理模块功能实现 3166125.2设备管理员模块 32321755.2.1设备管理功能实现 32303765.2.2维修管理功能实现 32326575.3普通用户模块 3394845.3.1设备查询功能实现 33248085.4本章小结 338605第六章系统测试 34222876.1测试方法 3547906.2测试用例 36173376.3本章小结 3623800总结 3617366参考文献 384379致谢 40
绪论实验室仪器设备综合管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
本系统主要阐述实验室仪器设备综合管理系统各个模块的设计思想和实现的关键技术。在本系统中,当使用者输入合法的登录信息后,就可以进入到主菜单操作界面,使用者可以通过主操作界面上的菜单项进行各项操作,以达到管理的目的。JSP是一种网络服务器端编程环境。JSP已经成为开发信息化平台的重要而快速、有效的工具。JSP强大的功能使之成为一种优秀的服务器技术。随着网络技术的日益成熟,JSP技术在网络编程中也变得越来越重要。所以,在我们的实验室仪器设备管理信息中,我们采用了JSP作为开发工具,构建了一个能实现简单的实验室仪器设备管理平台——《实验室仪器设备管理系统》。该系统能实现实验室仪器设备的管理、实验室仪器设备的管理、系统用户的管理;基上体现了一个小型的信息化平台的工作流程及管理方式。
第一章概述随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对实验室仪器设备信息进行管理,具有着手工管理所无法比拟的优点,其中常见的就是对实验室仪器设备所实验室仪器设备进行管理,因此实验室仪器设备管理系统就应运而生了。课题研究的目的1.掌握J2EE的工作原理。2.学会使用JAVA开发工具。3.掌握小型关系数据库。4.提高逻辑思维能力。5.培养相互合作的精神。课题研究的意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选题信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情。在下面的各章中我们将谈谈其开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:(1)阐述整个系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。(2)设计实现用户管理、实验室仪器设备管理信息相关管理、实验室仪器设备管理、信息管理等。(3)分析并解决实现中的若干技术问题。(4)建立完整的选题及实验室仪器设备管理信息查询,进行测试并分析结果。国内外发展趋势随着学校办学规模的扩大,仪器数量随之增加。实验室仪器设备的规模不断扩大,如何合理利用网络资源,有效地加强网络管理工作,已成为实验室仪器设备十分关注的问题。目前,在实验室仪器设备管理方面,特别是实验室仪器设备调拨、用户信息管理等方面都普遍采用了网络化管理技术,而对于实验室仪器设备管理信息这一重要的网络环节,和其他网络实验室仪器设备管理信息相关一样,普遍采用传统的单机管理模式,主要进行实验室仪器设备管理信息基本信息和实验室仪器设备管理信息的输入输出工作。目前随着网络改革的不断深入,如何有效地增强网络管理水平,提高实验室仪器设备管理信息的网络质量是各实验室仪器设备网络管理工作的重点之一。目前,实验室仪器设备管理信息的双向选择和实验室仪器设备管理信息过程的动态跟踪与交流己成为实验室仪器设备管理信息环节网络改革的重要内容,英国很多学校为实验室仪器设备开发了专门的管理系统实现了实验室仪器设备管理信息的网上双向选择,国内一些实验室仪器设备已开发了实验室仪器设备管理信息网站,且取得了良好的效果。课题的可行性分析1.4.1课题调研(1)与实践活动和相关的文件和资料由教师提供。(2)本课题要求实验室仪器设备有较强的自学能力以及一定的关系数据库理论开发功底。(3)具有对复杂表进行处理的能力。(4)具体问题再做详细调查研究并与指导老师面谈。1.4.2可行性分析鉴于系统是个小型实验室仪器设备管理系统,开发难度适中。通过对诸多开发工具和数据库进行比较及指导老师的建议,最终确定采用MyEclipse作为前台开发工具、Tomcat作为系统测试工具、MySQL作为关系数据库,系统设计语言为JSP。MyEclipse是一个开放源代码的、与NetBeans、SunONEStudio和BorlandJbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,其本身只是一个框架和一组服务,用于通过插件组件构建开发环境。MyEclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据MyEclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。MySQL数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。MySQL关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千并发修改数据库的用户的开销减到最小。同时分布式事务支持充分保护任何分布式数据更新的完整性。JSP是在普通的Html中嵌入了Java代码的一个脚本,它由JSP容器(如Tomcat)首先将其转化为MySQL,然后再调用Javac将MySQL编译为Class文件,最终,服务器解释的是Class文件。JSP是Sun公司J2EE架构中重要的部分。Tomcat是一个免费的开源MySQL容器。基于Tomcat的开发其时主要是JSP和MySQL的开发,而Tomcat短小精悍,配置方便,能满足需求,因此在这种情况下选择Tomcat。同时,Tomcat和MyEclipse结合起来,加上hibernate的框架实现本次实验室仪器设备管理信息的要求。根据用户的要求,系统采用B/S模式。B/S模式是三层体系结构,它将表示层、业务逻辑层层、数据服务层分布到不同的单元。表示层由浏览器和动态的Web页面构成,接收和处理用户的请求,并交给Web应用服务器。业务逻辑层对应于Web应用服务器,其业务逻辑处理过程使用数据源层的服务来得到必要的信息或存储、修改相应的数据。数据服务层对应于数据库服务器,数据库服务器实现对数据库的管理和库中数据的访问与增加、删除及修改。本章小结本章对系统开发的背景以及系统开发的可行性进行了分析介绍,为系统开发做了前期准备工作。
第二章系统需求分析实验室仪器设备管理依据开发要求主要应用于实验室仪器设备管理系统,完成对日常的实验室仪器设备管理工作中实验室仪器设备实验室仪器设备管理信息档案的数字化管理。比较系统地对用户、网络上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了管理人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为实验室仪器设备管理行业做出了巨大的贡献,也为今天的实验室仪器设备管理业在未来市场的竞争力有所提高。实验室仪器设备管理和用户管理模块使用了全新的管理理念,系统从完善的基础信息管理,和对创建新用户、已创建的实验室仪器设备管理信息数据的录入,修改,浏览,统计等功能操作,基本能够满足各实验室仪器设备的需要。可以实现对部门间设备调拨的管理、设备维修管理以及设备报废管理和分类统计。经过调研与分析,实验室仪器设备管理系统主要应具有以下功能:系统管理员模块:(1)系统管理员可以查询、添加、删除用户以及权限信息。(2)系统管理员可以查询、添加、删除部门信息。2.设备管理员模块:(1)设备管理员可以对设备信息进行管理,对设备信息的增、删、改、查。3.普通用户模块:(1)用户可以对个人信息进行管理。(2)用户可以查看本部门的设备信息。2.1结构化分析顶层数据流图如图2-1所示:图2-1顶层数据流图个人信息管理数据流图如图2-2所示:图2-2个人信息管理数据流图用户信息管理数据流图如图2-3所示:图2-3用户信息管理数据流图部门信息管理数据流图如图2-4所示:图2-4部门信息管理数据流图设备管理数据流图如图2-5所示:图2-5设备管理数据流图维修管理数据流图如图2-6所示:图2-6维修管理数据流图2.2功能需求描述功能性需求描述了系统与其独立于系统实现环境之间的交互。(1)部分需求实验室仪器设备管理系统用户希望可以在线在线查看本部门设备信息。管理员管理员用户可以对后台数据进行相关管理。(2)界面操作部分所有用户要求界面友好,功能易理解易操作。2.3非功能需求描述非功能性需求描述了不直接关联到系统功能行为的系统的方方面面。非功能性需求包括用于系统不同方面的广大范围,涉及可用性到性能。可用性用户可以学会使用操作,提供系统帮助。可靠性系统对操作失败,能够检测错误给予用户提示。实现需求WINXP以上操作系统10G硬盘JAVAWEB服务器端。128M内存界面需求系统提供合法的系统交互格式。数据库安全性(1)通过对不同用户设置不同权限,保证数据库的安全。(2)设计备份与恢复数据库模块,能更好的维护数据库。数据库完整性(1)实体完整性通过设置主键保证数据库实体完整性(2)参照完整性通过设置外码保证数据库参照完整性(3)数据定义完整性通过CHECK约束保证数据自定义的完整性2.4本章小结本章对系统进行了系统需求分析,对系统要实现的功能进行分析介绍。
第三章关键技术介绍3.1JSP技术JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支Java,也可以访问JSP网页。JSP全名为javaserverpage,其根本是一个简化的MySQL设计,他实现了Html语法中的java扩张(以<%,%>形式)。JSP与MySQL一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从MySQL中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaMySQL是JSP的技术基础,而且大型的Web应用程序的开发需要JavaMySQL和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。3.2MySQL概述MySQL是Java编写的服务器端程序,是由服务器端执行和调用的Java类。MySQL是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。MySQL和CGI一样都是运行在Web服务器上,用来生成Web页面。MySQL的主要功能在于交互式地浏览和修改数据,生成动态Web内容。其工作流程图如图3-1所示。图3-1MySQL工作流程图MySQL工作流程:(1)客户端发送请求信息至服务器。(2)服务器将请求信息发送至MySQL。(3)MySQL生成响应内容并将其传给MySQL。响应内容动态生成,通常取决于客户端的请求。(4)服务器将响应信息返回至客户端。3.3JavaBean概述JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造[7]。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。JavaBean具有以下特点:(1)可以实现代码的重复利用。(2)易维护性、易使用性、易编写性。(3)可以在Java的任何平台上工作,不需要重新编译。(4)可以在内部网或者网络之间进行传输。(5)可以以其它部件的模式进行工作。应用范围通常应用于服务器的部件,例如JDBC连接池、应用监视、用户计数和其他参与用户行为的类。在Bean中限制HTML的产生:理论上,JavaBean将不会产生任何HTML,因为这是jsp层负责的工作;然而,为动态消息提供一些预先准备的格式是非常有用的。产生的HTML将被标注的JavaBean方法返回。这里有一些非常重要的事情:1.不要试图在JavaBean返回的HTML中放置任何字体尺寸。并不是所有的浏览器都相同。很多浏览器无法处理完整的字体尺寸。2.不要试图在JavaBean返回的HTML中放置任何脚本或者DHTML。向页面直接输出脚本或者DHTML相当于自我毁灭,因为某些浏览器版本在处理不正确的脚本时会崩溃(非常少但是有)。如果用户的JavaBean在运行时是动态的推出复杂的HTML语言,用户将陷入调试的噩梦。另外,复杂的HTML将限制JavaBean的寿命和灵活性。3.不要提供任何的选择。如果用户使用不同的系统浏览页面,可以提供一种可以替换的方法。按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:1.可以实现代码的重复利用2.易编写、易维护、易使用3.可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。编写javabean就是编写一个java的类,所以你只要会写类就能编写一个bean,这个类创建的一个对象称做一个bean。为了能让使用这个bean的应用程序构建工具(比如JSP引擎)知道这个bean的属性和方法,只需在类的方法命名上遵守以下规则:1.如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法:getXxx(),用来获取属性xxx。setXxx(),用来修改属性xxx.。2.对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用"is"代替上面的"get"和"set"。3.类中方法的访问属性都必须是public的。4.类中如果有构造方法,那么这个构造方法也是public的并且是无参数的JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。3.4Java语言Java是一种简单的,面象对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。它有以下特点:1.平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。2.安全性Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。3.面向对象Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。4.分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5.键壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验。3.5系统开发模式本系统采用B/S结构。B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。C/S与B/S区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。1.硬件环境不同:C/S一般建立在专用的实验室仪器设备上,小范围里的实验室仪器设备环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S建立在广域网之上的,不必是专门的实验室仪器设备硬件环境,例与电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行2.对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.3.对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2005Exchange2005等,全面支持实验室仪器设备的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.4.系统重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子5.系统维护不同系统维护是系统生存周期中,开销大,重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.6.处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小7.用户接口不同C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发。8.信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更像交易中心。管理软件是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。1,投入成本比较。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。2,硬件投资保护比较。在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构(如e通管理系列)则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。3,企业快速扩张支持上的比较。对于成长中的企业,快速扩张是它的显著特点。每年都有新的配送中心成立,每月都有新的门店开张。应用软件的快速部署,是企业快速扩张的必要保障。对于C/S结构的软件来讲,由于必须同时安装服务器和客户端、建设机房、招聘专业管理人员等,所以无法适应企业快速扩张的特点。而B/S结构软件,只需一次安装,以后只需设立账号、培训即可。其次,随着软件应用的扩张,对系统维护人才的需求有可能成为企业快速扩张的制约瓶颈。如果企业开店上百家,对计算机专业人才的需求就将是企业面临的巨大挑战之一。抛开人力成本不说,一个企业要招到这么多的专业人才并且留住他们也是不可能的。所以,采用C/S结构软件必然会制约企业未来的发展。另外,大多数C/S结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而B/S结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。从以上的分析可以看出,B/S结构的管理软件和C/S结构软件各有各的的优势。而从国外的发展趋势来看。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件可能在将来的几年内占据管理软件领域的主导地位。3.6ssh简介SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[SEQ参考文献文\*ARABIC4]。3.6.1Struts1.Struts框架结构Struts对Model,View和Controller都提供了对应的组件。在右图中,ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。2.Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。3.View部分该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。4.Controller组件Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。3.6.2SpringSpring主要用于解决企业应用开发的复杂性,通过使用基本的JavaBean代替EJB,可提供了更多的企业应用功能,适用于任何Java应用。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量:从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转:Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。3.6.3HibernateHibernate是一个开放源代码的对象关系映射框架,它对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接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。3.7本章小结本章对系统开发语言以及所使用的技术进行了介绍分析。
第四章总体设计4.1系统总体结构设计功能结构图就是按照功能的从属关系画成的图表,图中的每一个框都称为一个功能模块。功能模块可以根据具体情况分的大一点或小一点,分解得最小功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一个任务的一组程序。根据需求分析的结果,系统可按用户角色分为三部分,即管理员模块、设备管理员模块、普通用户模块。系统功能架构图如图4-1所示:图4-1系统功能结构图4.2模块功能设计系统管理员:个人信息管理,用户管理,部门管理,修改密码,登录。设备管理员:个人信息管理、设备管理,维修管理,修改密码,登录。普通用户:个人信息管理、设备和维修查询,修改密码,登录。4.3概念设计(E-R图)概念结构是独立于任何一种数据模型的信息结构。数据库概念结构设计的目标是将需求分析得到的用户需求抽象为信息结构,产生反映全组织信息需求的整体数据库概念结构,即概念模式,它是整个数据库设计的关键。根据对系统所作的需求分析,规划出本系统所使用的数据信息实体,并用E-R图对其进行描述。系统各实体间关系图如图4-2所示:图4-3系统E-R图4.4逻辑结构逻辑结构设计阶段完成的任务是概念模型向某种数据模型的转换。设计逻辑结构应该选择最适用于表达相应概念结构的数据模型。设计逻辑结构时,一般需要将概念结构转换为一般的关系、网状、层次模型,再将转化来关系、网状、层次模型向特定DBMS支持下的数据模型转换,并对数据模型进行优化。关系模型的逻辑结构是一组关系模式的集合,而E—R图则由实体、实体的属性和实体之间的联系三要素组成。将E.R图转换为关系模型实际上就是将实体,实体属性和实体之间的联系转换为关系模式。转换过程中常见规则有:(1)一个实体型转换为一个关系模式;(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;(4)一个多对多的关系转换成一个关系模式。本系统数据库的功能主要是存储平台中所有数据,以便进行操作。本系统数据库采用MySQL数据库,系统数据库名称为sq。关于数据库中的数据表如下:(1)t_user结构如表4.1所示。表4.1字段名数据类型是否主键描述idint是序号util_Avarchar(255)否usernamevarchar(255)否passwordvarchar(255)否namevarchar(255)否birthdayvarchar(255)否sexvarchar(255)否telvarchar(255)否jjlxrvarchar(255)否jjtelvarchar(255)否jgvarchar(255)否addressvarchar(255)否bmvarchar(255)否typevarchar(255)否by_1varchar(255)否by_2varchar(255)否by_3varchar(255)否bzvarchar(255)否(2)t_util_a结构如表4.2所示。表4.2字段名数据类型是否主键描述idint是序号bjmcvarchar(255)否cjsjvarchar(255)否tjrvarchar(255)否telvarchar(255)否bzvarchar(255)否t_util_b表结构如表4.3所示。表4.3字段名数据类型是否主键描述idint是序号util_Avarchar(255)否sbmcvarchar(255)否ccrqvarchar(255)否sbbhvarchar(255)否zcbhvarchar(255)否ccxlhvarchar(255)否wzszdvarchar(255)否ipvarchar(255)否macvarchar(255)否statevarchar(255)否pxjvarchar(255)否bzvarchar(255)否(4)t_util_c结构如表4.4所示。表4.4字段名数据类型是否主键描述idint是序号util_Bvarchar(255)否wxrvarchar(255)否wxrqvarchar(255)否telvarchar(255)否statevarchar(255)否bzvarchar(255)否4.5本章小结本章对系统进行了总体设计,画出了系统总体设计结构图,并设计了数据库。
详细设计经过详细的分析后,我们一致认为这是一项具有开发价值的软件,接下来的工作就是编制项目开发计划。通过对有关人员的统一调查,并吸取他们的意见、见解,要求系统需要有以下功能:1、要求有良好的人机界面。良好的人机界面是衡量一个系统易用性的重要标准之一。所以本系统的界面要求简洁明了,使管理人员能迅速地就可以掌握系统的使用。2、要设置使用权限,以提高软件的安全性。3、对原始数据的修改简单方便.修改也和其它系统一样包括基本的修改、删除和保存以及查询等。要求对数据能进行查询、统计。查询要求能以最快的速度找到所需数据,以达到方便管理的目的。软件接口是软件系统中程序之间的接口,包括软件系统与其他系统或子系统的接口、程序模块之间的接口、程序单元之间的接口等。接口里定义的都是公共的抽象方法,抽象方法只声明该方法具有的功能,但并没有给予相关的实现。在本系统中,主要包括DAO层及Service层的设计。其中DAO层主要做数据库持久层的工作,负责封装与数据库进行联络的任务。DAO层接口负责对该对象持久化操作的定义,这样DAO实现类就可以调用此接口来进行数据业务的处理。Service层主要负责业务模块的逻辑应用设计。Service层接口负责定义业务逻辑的操作,这样就可以在应用中用Service接口来进行业务处理。而Service层的业务实现,具体要调用到已定义的DAO层的接口。封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。传统企业级项目的开发一般分为三个层次:Web层、业务逻辑层和数据访问层。各个层次之间是通过接口进行通信的。这三个层次的关系及各层次之间的接口如图4-5所示。图5-1企业级开发三个层次5.1系统管理模块5.1.1后台登录模块功能实现通过http://localhost:8080/YQSBSystem/longin.jsp,进入如图5-1所示的后台登录界面。图5-1登录界面在“用户名”和“密码”的文本框中输入用户名:admin 密码:admin,最后单击【登录】按钮,即可进入如图5-2所示的页面。图5-2主界面5.1.2部门管理模块功能实现单击【部门管理】按钮,界面右侧自动显示相应的列表。该界面可以实现对部门信息的管理。运行结果如图5-3所示。图6-3部门管理5.2设备管理员模块5.2.1设备管理功能实现运行结果如图5-4所示。图5-4设备管理5.2.2维修管理功能实现运行结果如图5-5所示。图5-5维修管理功能5.3普通用户模块5.3.1设备查询功能实现运行结果如图5-6所示。图5-6设备查询5.4本章小结本章对系统实现效果进行了分析介绍。
第六章系统测试6.1测试方法对于系统测试,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过测试暴露系统中隐藏的错误和缺陷,以考虑是否可以接受该产品。而从系统开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该系统已正确地实现了用户的要求,确立用户对系统质量的信心。测试方法确认:是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。验证:试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。测试用例:主要用来检验程序员编制的程序,一般应由测试输入数据和与之对应的预期输出结果这两部分组成。黑盒测试:测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。测试的策略一般按4个步骤进行,即单元测试、组装(集成)测试、确认测试和系统测试。单元测试:又称模块测试,是针对网站设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。组装测试:也叫集成测试或联合测试。在单元测试的基础上,需要将所有模块按照设计要求组装成为系统,并考虑各模块间穿越的数据是否会丢失、模块间功能是否会互相影响、各子模块组合起来,是否达到预期要求的父功能、全局数据结构是否有问题。确认测试:又称有效性测试。它的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。系统测试:系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。6.2测试用例功能A描述实验室仪器设备信息管理用例目的能成功添加、编辑、删除实验室仪器设备用户前提条件管理员登陆输入/动作期望的输出/相应实际情况输入实验室仪器设备基本信息点击“提交”成功保存实验室仪器设备信息到数据库,且管理页面显示新增加的记录数据插入执行成功,页面显示新记录选中一条实验室仪器设备记录进行编辑,编辑信息后点击“提交”成功保存修改后的实验室仪器设备信息到数据库,且管理页面显示新的实验室仪器设备信息数据更新成功,页面显示新的实验室仪器设备信息删除实验室仪器设备信息成功执行数据库删除操作,页面减少被删的实验室仪器设备信息数据库更新成功,页面减少被删的实验室仪器设备信息功能B描述部门管理用例目的能成功添加、修改、删除部门信息前提条件管理员登陆输入/动作期望的输出/相应实际情况输入部门信息点击“提交”成功保存部门信息,页面显示新增加的部门信息数据库插入成功,页面显示新增的部门信息选中一条部门信息进行编辑后提交成功执行部门信息更新数据库此条部门信息更新成功,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年物业管理法规知识历年真题汇编+模拟试题试卷(含答案解析)
- 服务合同重新签订格式的催办函(4篇)
- 客户订单数量增加商洽5篇
- 小学英语口语练习课课件
- 交通规划与智能交通系统研究报告
- 变频器调速技术与应用 项目3 变频水泵恒压供水控制- 电子教案
- 尊敬师长行为习惯:成为让人欢喜的好学生小学主题班会课件
- 新品推广策略讨论联系函(7篇范文)
- 线上线下互动与用户体验优化活动方案
- 销售业绩表彰活动邀请函4篇
- 职业生涯规划与求职就业指导智慧树知到期末考试答案2024年
- 高中阅读理解万能答题公式
- 有创机械通气模式及参数2023
- 《电力行业职业技能标准 农网配电营业工》
- 产业招商图谱
- 《民事诉讼法》期末重点整理马工程版
- 2022-2023学年广州市天河区五下数学期末调研试题含答案
- 年产80万吨高级瓦楞原纸项目环境影响报告书
- 水利工程建设安全生产检查表
- JJG 875-2019数字压力计
- 2023年上海市高中学业水平合格性考试化学试卷及参考答案
评论
0/150
提交评论