高校实验室管理系统的设计与实现(附件)

摘要:实验室是高校教学和科研开展的重要地方,区别与普通实验室,农业高校实验室不仅包含大量仪器,而且拥有很多特殊药品和农业领域的特殊仪器。现对实验室的管理主要使用人工和电脑记账式的管理,效率底下,容易出错,且实验室资源利用率不高。本课题是面向资源环境实验室的管理系统开发,该系统基于web的B/S架构,采用JSP编程技术,MVC模式搭建本程序的框架,使用MySql作为数据库,以期达到数据共享、实验室公共时间管理、实验室仪器和药品的使用和记录、人员的管理等。测试表明,系统较好的帮助管理人员进行实验室的管理。对实验室基本信息管理、实验室仪器、化学药品、人员等实验室对象的管理的功能,让用户准确及时了解实验室使用情况、设备情况及实验室工作人员的工作情况和化学药品的使用记录等。从而减轻管理人员的工作,提高设备、化学药品的使用规范。关键字:实验室管理系统;B/S架构;JSP;MVCDesign and implementation of?laboratory?management system?for?colleges and UniversitiesStudent majoring in Network engineering Li LianqiangTutor JIANG HaiyanAbstract:Laboratory is an important place to teaching and research carried out, the difference between ordinary laboratories, university laboratories agriculture not only contains a large number of instruments, but also has a lot of special drugs and agriculture special instruments. Nowadays mainly method for laboratory management is artificial book-entry management, it is low efficiency, and lab resource utilization is low. This paper is for the re
 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
sources and environment management system development, the system is based B / S architecture, using JSP programming, MVC pattern to build the framework of this program, use MySql as the database. Through which make the variety of laboratory data together and to share, the laboratory`s time management, laboratory equipment, Chemistry medicines, records, personnel management. After the system is done, the black-box testing method for each functional module testing. Laboratory has passed the test, the system can help managers better management, including basic laboratory information management, laboratory equipment, chemicals, the user and other objects of management functions. As well as allowing users to know about the laboratory usage, the situation of laboratory equipment and staff work records and the use record of chemicals. Thereby reducing the managers job, improve efficiency, the use of chemicals of specifications that allow staff more rational use of laboratory.第1章 绪论1.1系统开发背景和意义计信息科学技术的大力且迅速发展的同时,计算机己经进入我国的各级教育管理部门,对提高教育管理部门的办公水平起到了积极的作用。以计算机网络技术搭建起来的信息化的高速通道和综合管理的系统时时刻刻都影响着人们的决策和效率。如今,教育事业在不断发展,教育体制也不断改革,我国教育机构在教学任务和管理工作方面的压力越来越大,这就提出了建设高校信息化平台,和在线管理系统的要求,使教育和管理工作能高效,稳定的运行。对实验室进行信息化管理也是建高校信息化管理平台的一部分。它能将一个种类的实验室集中管理,让实验室的管理工作趋近于系统化,标准化,综合化和网络化[2]。本校在信息化的建设中,也在积极争取建设一个高效智能的管理办公系统。如建设新闻中心,建设校园网络中心,建设校园信息门户等。但由于管理对象繁多,且分类复杂,所以对不同模块的单独管理也正是所需,而一个更加现代化和网络化的实验室管理系统也符合现阶段的需求。本课题为基于web的实验室综合信息管理系统,是一个基于网络的现代化web系统。本系统将实验室作为管理对象,将实验室的各种信息集中起来,让实验室的管理人员可以准确及时了解实验室占用情况、化学品使用和存量情况、设备现状和使用记录等情况及工作人员的基本情况等。以达到减轻管理人员的工作强度,加强对实验室设备使用情况的了解,提高管理水平,更合理的使用实验室。1.2国内外高校实验管理的研究概况目前,由于我国计算机技术水,和发展水平都与国外的发达地区还是有一定的差距,所以在实验室管理系统整体建设平上还是不能相比较。但是在我国的一些经济较为发达的地区和高等教育水平较高的地区,高校的信息化建设工作上已经取得了较好的发展。所以在实验室管理系统的信息化建设和发展中需要总结自身的缺点和借鉴国外高校实验室的管理经验,设计并开发符合国内高校自身的实验室管理系统。现在对实验室管理系统的研究已经从以前的专用型管理系统,向着兼容和通用的系统发展。这也让实验室管理系统从以前的单一的专用型系统向着商业系统的转变。我们国内LIMS商业软件并不是很多,但是也有很多尝试,如中科科仪计算技术有限责任公司发的SISc LIMS,北京的英普思软件有限责任公司的Inpro LIMS等。这些面向企业应用的LIMS软件都有着自身问题,它们的功能模块不能和高校的管理需求挂钩,虽然有通用性但是并不能很好的适应高校个管理工作。我国高校在使用其业务系统时一般都是自行开发,或者定制的有针对性的系统。针对高等院校实验室的管理需求,有很多学校做过开发尝试,希望能完成一个综合性的能有很好兼容性的系统,如北大、北京化工大学、中南、清华和浙大等联合开发的应用于国家税实验室的网络化分布式管理信息系统。北航也开发过电工电子实验教学网络信息管理系统,它使用Server和Access作为系统数据库,能够完成实验室仪器设备管理、在实验里的课里程编排以及教学广播等任务。但是该系统也有不足之处。如远程预约实验课(包括个人、集体)、登记实验成绩等功能,并不能将系统的信息集成到一起,而是把信息放在各自的模块中最终使用整个系统的集成性较差。所以对于LIMS系统,虽然其种类繁多,但真正在功能上很实用且很有效率,能将信息集成化,适合于高校教学型实验室的成型系统却非常罕见。在技术上,随着计算机技术的发展,管理系统的开发技术经历了由硬到软的过程。早起它是基于局域网设计,专门针对一个实验室的整体环境,构建了一个包括了数据输入输出、数据通讯、数据库管理软件在内的集成高效的系统。而技术的发展使硬件越来越廉价和功能越来越强大,所以现系统开发主要是技术的选择。目前,随着B/S架构越来越流行,WEB开发方式是现在的主流选着,而主流的WEB应用技术有JSP,PHP,ASP.NET等。JSP是基于JAVA架构的开发模式,是大型系统的和企业管理系统的应用首选,,他的开发周期短,功能丰富。PHP是主流的WEB开发方式,小巧灵活,可以做大型开发,也适合小型应用。ASP是微软出品的技术,商业化支持较好,但是其内容已经逐渐落后。1.3论文的目标和内容由于实验室内涉及的对象实体较多,而且随着实验室的功能性改变其内容也会变化实验室中如设备仪器,化学药品,仪器的耗材,仪器使用价目和药品的位置信息等,如果使用人工方式进行管理,不仅费时费力而且极其容易出错,且信息的发布和获取很不友好。所以一个网络化的,在线的,每个有权限的用户都能访问的系统的建设是本文主要讲述的内容。1.3.1目标1.3.2具体内容(1)设计本系统的交互界面,使其达到便于使用和易于上手,有良好的信息展示和UI界面,有交互效果。(2)设计系统各个模块,因为系统为校园网用户,模块中设计大量的数据交互和人员操作,输入和输出更新,需要对系统有良好的优化。(3)设计合理的服务器端service服务程序,让其能与应用进行良好的交互,安全合理据传输。设计数据库相关表,使其能支撑整个系统的业务逻辑。(4)设计各模块的测试用例,利用Eclipse的集成开发环境,进行单元测试,服务器端程序单元测试根据功能类的构造方法在测试类中创建功能类的一个实例输入预期合法以及不合法数据测试,通过测试后自底向上集成模块。1.4论文的组织结构本论文共分为六章,其组织结构如下:第一章,绪论,讲述本系统的背景与开发意义,最后对本论文的章节简介。第二章,介绍系统开发的技术选着,主要内容是对本系统用到的知识及技术进行概要论述。有开发工具Eclipse简介、Java语言的描述、MySQL数据库的选择、JSP技术简介、TOMCAT服务器介绍及B/S应用架构介绍。第三章,需求分析,主要内容是对系统可行性进行分析、对系统的功能需求以及对系统的非功能性需求进行说明。第四章,系统设计,分别阐述系统的总体设计和详细设计两部分,并对它们进行详细说明。第五章,系统的测试内容,主要内容是是对整个系统的模块进行测试。第六章,总结和展望,主要内容是对整篇论文进行总结以及对所研究的课题进行展望,描述本课题在设计上的不足以及往后的努力方向。第2章 相关技术介绍2.1软件体系结构的介绍软件体系结构[4]是软件的一个综合结构模型。软件的使用离不开数据的驱动,而部署一个软件的数据库系统的方式,也就是代表了一个软件系统的体系结构。软件体系结构的发展可以如下表示:(1)1965年-1985年,以大型机为核心的集中式体系结构。(2)1986年-1990年,以PC/文件服务器为核心的文件体系结构。(3)1990年-1996年,以C/S结构为主流的分布式体系结构。(4)1996年-现在,以web为核心、B/S结构为主流的分布式体系结构系统。2.1.1 C/S软件体系结构 C/S体系结构又称为客户端/服务器(client/server)体系结构[5],它产生在早起的80年代左右,他最常用的结构是两层结构,后来发展为三成和剁成结构,至今为止仍然是很多软件服务提供的模式,这种结构有强的功能性和稳定性。本节将进行介绍。 在C/S的体系结构中,两层结构是指将应用系统分成两个部分。这两个部分充当的系统角色不同,主要分成客户端部分和服务器端部分,系统功能由这两部分共同合作完成。客户端是负责系统的逻辑以及提供和服务器的通信接口,与服务器通信,请求特定的数据,而服务器则是提供与客户端通信的方式,接收客户端传来的请求,并返回响应的结果。其模式如图2.1所示:图2.1 C/S软件体系结构 C/S软件体系结构中,系统服务一部分是在客户端完成,一部分是在服务器端完成,其中客户端也充当了正常服务中比较重要的一部分。服务器是服务中工作量最大的一部分。客户端主要提供交互方式和数据呈现方式,以及不分手数据的处理方式,服务器端主要进行数据处理,协调客户端完成整个服务的流程。 C/S软件体系的优点有:它具有完善的功能和提供服务速度较快,可以提供较多的特殊化本地服务。但是也有着其缺点,如其系统的可拓展性差,操作性和维护成本较高等缺点。所以其适用与处理数据量较小,结构较简单的非实时信息处理系统。2.1.2 B/S软件体系结构 早期的C/S软件为两层结构,即表示层,对应系统的客户端;数据层,对应系统的服务器端。而在此基础上发展起来的三层体系结构则是在表示层和数据层之间加了一个功能层,用于处理事务、消息和应用等,使系统的稳定性和拓展性都得到了极大的提高,其结构如图2.2所示。图2.2 C/S三层软件体系结构 B/S(browser/server)软件体系结构,是在C/S的三层结构上的另一种实现,即使用的是浏览器充当客户端。软件系统的大部分功能由浏览器来实现和传递,软件的绝大部逻辑功能都是在服务器端完成实现的,然后通过网络传递到客户端的浏览器来呈现。这种方式,可以减少客户端的安装使用,因为每个系统基本都具有浏览器,且浏览器对象基本固定,减轻了获取服务的压力,且减少了客户端的任务。是系统的拓展性和维护成本降低。如图2.3为B/S体系结构图。图2.3 B/S软件体系结构图2.1.3 C/S体系结构和B/S比较和选择C/S 软件体系结构和 B/S 软件体系结构具有各自的优缺点,无法从一个单一的方面衡量两者的优劣[6-9]。C/S 软件体系结构适用于数据量处理较小,简单的非实时信息处理系统;而 B/S 软件体系结构的系统易于集成和扩展,但是数据的交互性和动态服务不如 C/S 软件体系结构。下面从四个方面对 C/S 软件体系结构和 B/S软件体系结构进行对比分析。 (1)所需硬件环境方面:C/S 软件体系结构和 B/S 软件体系结构对硬件环境的需求不同,C/S 软件体系结构一般建立在专用的网络和小范围里的网络环境中;而 B/S 软件体系结构是建立的广域网中的,这个方面比 C/S 软件体系结构具有更好的适用性。 (2)两者对安全要求方面:C/S 软件体系结构和 B/S 软件体系结构对安全的要求不同C/S 软件体系结构对信息安全的控制能力比较强。B/S 软件体系结构对安全的控制能力相对较弱,这个方面 C/S 软件体系结构要优于 B/S 软件体系结构 (3)系统程序架构方面:C/S 软件体系结构和 B/S 软件体系结构对系统的架构不同,C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S 程序主要考虑安全以及访问速度等方面的问题。 (4)软件重用方面:C/S 软件体系结构和 B/S 软件体系结构的软件重用不同,C/S 程序的整体性考虑导致构件的重用性不如在 B/S 体系结构下构件的重用性好。B/S 的多重结构要求构件具有相对对立的功能,能够相对较好的重用。2.2 系统的技术架构2.2.1 系统的逻辑结构 MVC是一种成熟的web程序开发框架,在其之上成就了很多出名的更加细化的应用框架,如SSH等。其名称为Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,将程序的业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑全部聚集到一个部件里面,当开发人员改进和个性化定制界面的用户交互的同时,业务逻辑不需要重新编写。其关系图如图2.4所示。图2.4 Mvc 组建类型和关系图 由图可知,MVC将系统划分为清晰的三个部分,每个部分负责不同的结构和功能,实现将系统的业务逻辑和数据的访问,以及系统表现分开。 本系统通过实现MVC模式,将系统的三个层次完全分离开来,使他们相互独立。当系统需要修改任何一个模型和修改系统的业务逻辑时,可以个不影响到其他组件,这样就实现了程序之间底耦合性的设计要求。提高程序的可读性,及维护性。同时表示层和模型的对应上可以是以一对多的方式,所以提高的代码的维护两和开发效率[10-11]。2.2.2 系统的物理结构系统以服务器作为运行基础,使用外部数据库提供数据服务,servlet作为系统的业务层,而Jsp作为系统表现层,使用此结构来实现MVC的服务框架。系统运行如图2.5。图2.5 系统物理模式2.2.3 本系统架构的优点(1)易于优化通过此框架,让系统的结构和功能清晰的呈现在开发者面前。对系统的业务流程和系统的数据的获取和使用方式都有清晰的流程,便于开发者更好的了解系统的运行过程和对其进行改进。 (2)拓展性好 本系统进行模块化的开发,每个模块完成制定模块的功能,每个模块之间的层次分明,耦合成度较低,因此当对系统功能进行修改和增加时,可以很好的额扩展系统功能。 (3)模块化可以降低开发成本和维护时间 系统的分模块,且模块直间有着通用的系统结构,所以可以将借助工具将系统内部相同结构的模块直接生成,再在生成的基础上进行增量的开发,可以有效的节省时间和成本。2.3 系统开发环境 本系统的开发,主要使用J2EE相关技术,使用JAVA运行环境。以Windows为开发平台,Tomcat作为服务器服务程序的容器。在数据存储方面,选择了Windows平台的MYSQL数据库作为数据库容器。2.3.1 数据库的选型 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。 现今流行的数据库有SQL Server、Oracle、Mysql、DB2等,其中Mysql是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。其也可以应用到大型分分布式数据服务系统中。SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。它只能在Windows上运行。对几种数据库比较如下:名称开放性平台费用优势Mysql开源跨平台免费轻巧/高效/丰富支持SQL Server不开源Windows收费Windows平台功能丰富Oracle不开源跨平台收费对大数据支持好DB2不开源跨平台部分收费并行性高表2.1 数据库比较 在本系统的数据库使用时,需要一个免费,且功能丰富的数据库,由于本系统应用于专一的实验室管理,并不需要强劲的数据库引擎。所以由上表中可以看出Mysql可以很好的满足本系统的需求。另外其还具有如下优势:(1)Mysql服务器是一个快速的、可靠的和易于使用的数据库服务器。(2)Mysql服务器工作在客户/服务器或嵌入系统中。(3)其有大量的MySQL软件可以使用。2.3.2 MYECLIPSE 2014 在JAVA程序开发的过程中,一般会使用NETBEANS、ECLIPSE、MYECLIPSE三种,其中NETBEANS由于在JAVA的界面开发中占有优势,所以其主要用于界面构成工具,在其他方面他的组件和对语言的支持方面就失去了优势。MYECLIPSE由于比ECLIPSE其有更丰富的组件和更丰富的功能支持,且本系统在开发过程中不需要其对图形界面有所支持,图形界面的完成在浏览器上执行,所以本系统开发选择MYECLIPSE。2.3.3 Apache Tomcat 7.0 Apache 只是一个普通服务器,在通常的应用中,它只能支持普通的 html 页面,而不能支持运行像 JSP、ASP 以及 PHP 等动态语言,为了解决这一问题,Apache 软件基金会下属的 Jakarta 项目组根据 Sun Microsystems 公司的技术规范,开发了一个支持动态语言的容器,即 Apache Tomcat,并把它作为 Web 服务器的一些特有功能,支持 HTTP 服务、Tomcat 管理及安全控制等。由于Tomcat 本身也内含了一个 HTTP 服务器,所以它也可被视作为一个单独的 Web 服务器,本系统在实现时也正是使用了这个容器,Apache Tomcat 来实现应用服务的部署应用。2.4 系统开发技术2.4.1 JAVAJava 编程语言,是由 Sun Microsystems 公司于 1995 年 5 月设计推出的。它是 Java 程序设计和 Java 平台的总称。由于 Java 的跨平台性、动态性及可移植性等特点,使得 Java 逐渐被广大编程爱好者接受,并不断推动着 Java 技术的向前发展,这也正是 Java 技术不断稳定与完美的关键所在。Java 语言与 C++语言有许多相似之处,他们都是面向对象的编程语言。它继承了不少 C++语言面向对象的核心思想,但也去除了 C++语言中容易出错或不太容易理解的技术概念,如指针、多重继承等,同时,在 Java 语言中也引入了垃圾自动回收功能,而不需要程序员手动执行垃圾回收,这样就可以保证 Java 容器能够更好的利用系统资源,减少了系统资源的浪费,也提高了系统的整体运行性能。它的运行机制也和其它编程语言有一些不同之处,Java 语言程序在运行时首先会将代码编译成二进制的字节码,然后通过其虚拟机解释的翻译字节码,从而实现了其“一次编译、处处可执行”的跨平台特性。Java 语言基础运行环境包含了许多对我们编程有用的基础类库函数,我们可以直接调用使用,而不需要我们的再次开发,这样就可以为我们的程序开发带来了不可忽视的便利,也增加了我们程序开发的进度,特别是 Java 企业应用编程接口为 Java 企业级应用程序开发提供了丰富的类库可以直接使用,同时也由于 Java语言具有很广泛的使用性,使用 Java 语言开发的软件在以后的维护过程中也非常方便,这也是我使用 Java 语言的一个重要原因,综上所述,使用 Java 开发系统是一个很好的选择。2.4.2 静态网页技术 静态网页技术是web站点的基本构成技术,其内容包括HTML、CSS、JavaScript等内容。基础的HTML组成网站的基本内容,包括数据的展示界面,数据的操作界面,以及系统的使用界面等元素。其是将所有系统内容呈现给用户的最终表达。2.4.3 JSP JSP的全名为(JAVA SERVER PAGES),即java服务器页面。其根本是一个简单化了的servlet设计。JSP技术在HTML网页中插入JAVA程序段,从而形成JSP页面。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 JSP是流行的动态网页开发的一种方式,其他方法还有PHP,ASP等技术。由于其有以下优点,所以本系统使用JSP为开发语言。其和HTML结合构成前文所说的MVC中的视图模块。(1)对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。?(2)所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。(3)客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。2.4.4 SERVLET 服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(CommonGateway?Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,JavaServlet 的优点在于它们的执行速度更快于 CGI?程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。所以本系统使用servlet完成系统的控制模块,实现MVC模式结构这样使系统的结构清晰明了。2.4.5 系统完成技术线路 在完成技术分析后,要对系统进行开发需要一个技术线路图。图2.6 技术线路图2.5 小结 本章主要介绍了本实验室管理系统的技术选择。首先研究了计算机软件的体系结构和对体系结构的选着,接着对比了数据库,和对数据库进行选着。随后说明了系统开发要使用的相关技术内容:JAVA语言,JSP动态网页技术等等。本章从技术上提供系统开发的理论基础。第3章 系统需求分析与设计3.1 系统需求分析面向农业高校实验室管理系统是基于Web的管理系统,相对于之前的C/S模式系统,是将之前在本地计算机上处理的事务全部交由远端服务器进行。就实验室的管理来说,可以将系统功能分成几个各部分,对实验室自身属性信息的管理和对实验室的预约申请审核功能。对实验室仪器的管理,维护仪器信息,登记仪器使用记录等。对化学药品的管理,将化学药品进行分类整理,按类进行信息展示。对人员的管理,涉及人员的权限管理,人员的信息修改,人员的添加和删除等等功能。系统的历史使用记录的查询功能。系统的信息审核功能。综上所述,系统需要对实验室、实验室内仪器、实验室内化学药品、仪器的耗材、实验室人员管理。3.1.1 实验室管理需求分析 实验室的管理功能能针对的主要对象是实验室本身的内容,实验室信息的改变也会影响到实验室内部对象的信息改变。在实验室管理模块中,用户在登录系统后需要在本模块中,查询实验室时间信息和查看实验室的具体属性信息;对具体实验室和具体时间段进行预约;查看自己的申请预约记录功能。 而管理员需要在本模块中对用户产生的申请进行审核是否通过,可以对实验室进行添加和实验室信息进行修改。3.1.2 仪器管理需求分析 在仪器管理的实际运行过程中,涉及仪器的使用和耗材的使用都会被记录下来,在记录的信息基础上,系统可以对用户和管理员提供不同的信息服务内容,完成系统的管理和运行。 在仪器管理模块中,用户在登录系统后需要使用本模块中,查询实验室时间信息和查看实验室的具体属性信息;对具体实验室和具体时间段进行预约;查看自己的申请预约记录功能。 而管理员需要在本模块中对用户产生的申请进行审核是否通过,可以对实验室进行添加和实验室信息进行修改。3.1.3 化学药品管理需求分析在实验室化学品理模块中,用户在登录系统后可以使用本模块中,查询化学药品分类和具体信息和对要使用的化学药品进行登记;对自己使用产生的记录进行查看。 而管理员可以在本模块中对化学药品的分类进行添加和对药品进行添加;可以对药品的具体属性信息进行修改,对药品的数量进行添加和减少。3.1.4 人员管理需求分析 在实验室人员过程中,主要涉及的系统变更操作都跟人员有关。而人员的使用过程也是整个系统的关键过程,和使用的基础。在实验室管理系统的人员管理中,用户在登录系统后需要使用本模块中,对自己的账户信息进行查看和修改;给系统进行留言。而管理员需要在本模块中进行用户的添加和删除;查看用户的具体信息;对管理员的信息进行修改。3.1.5 信息查询需求分析 目前的管理系统中,其主要涉及的内容是系统内的信息使用,在没有管理系统的时候,这些信息或者记录在档案中,或者记录在工作日志中,其查找过程繁琐且难以正确快速的完成,而在计算机系统中,这些任务就可以放在系统中完成,使其成为系统的功能。基于此中查询需求,考虑在在实验室管系统中的信息查询模块,用户在登录系统后可以使用本模块中,对系统中申请使用记录进行查询;可以对系统中人员进行搜索。3.2 面向对象需求建模3.2.1 分析与建立用例图一、系统整体模型进行系统需求建模时,首先对系统进行静态建模,使用UML建模语言中的用例图进行描述,本系统包含两个参与者,分别是实验室管理员以及实验室普通用。如图3.1所示。图3.1 整体用例模型二、功能模块建模(1)实验室使用在实验室使用中,普通用户完成实验室的预约申请,管理员用户完成审核、实验室信息维护、时间更新等。如图3.2所示图3.2 实验室用例图(2)化学药品使用在化学药药品使用中,普通用户进行使用登记,管理员用户可以对信息进行修改和删除,其内容如图3.3所示图3.3 化学品用例图(3)仪器使用在仪器使用中,普通用户完成仪器使用登记和对自己使用登记的历史信息进行查看,而管理员则可以进行信息修改和耗材的管理。如图3.4所示。图3.4 仪器使用用例图(4)人员人员是本系统的主要对象,系统的所有功能都借助人员体现,上文中已经介绍了很多人员对象的功能。如图3.5图3.5 人员用例图(5)信息查询系统在使用过程中,需要对人员的使用记录进行登记,完成整个系统的信息记录。普通用户可以查看记录,管理员管理管理记录。如图3.6所示。图3.6 信息查询用例图3.2.2分析与建立活动图在完成用例分析后,接下来需要进行活动图的分析与建立,因为用例图是静态模型,只能以静态的方式展示模块的功能,与此相对的活动图则以动态的方式展示出每个功能的运行过程,由于功能繁多,在此以几个主要功能的活动图为例,展示出系统的部分功能情况。(1)实验室申请活动图图3.7 申请预约活动图(2)化学药品管理活动图图3.8 化学药品管理活动图(3)信息查询活动图图3.9 信息查询活动图3.3面向对象设计建模3.3.1 分析构建类(1)实验室实验室的管理功能针本身的内容,实验室信息的改变也会影响到实验室内部对象的信息改变。其类对象应包含实验室自身信息、实验室时间管理、实验室申请条目和人员。(2)实验室仪器仪器属于实验室,在实验室管理之上管理和运行。其类内容处理包含对自身的管理,也涉及到了人员角色的管理,但是在上文已经给出了人员类,这里就不再给出。(3)实验室化学药品在实验室化学品理模块中,系统后可以使用本模块中,查询化学药品分类和具体信息和对要使用的化学药品进行登记;对自己使用产生的记录进行查看。对药品进行添加;可以对药品的具体属性信息进行修改,对药品的数量进行添加和减少。(4)实验室人员 在实验室管理过程中,主要涉及的系统变更操作都跟人员有关。而人员的使用过程也是整个系统的关键过程,和使用的基础。在实验室管理系统的人员管理中,用户在登录系统后需要使用本模块中,对自己的账户信息进行查看和修改;给系统进行留言。而管理员需要在本模块中进行用户的添加和删除;查看用户的具体信息;对管理员的信息进行修改。(5)信息查询目前的管理系统中,其主要涉及的内容是系统内的信息使用,在没有管理系统的时候,这些信息或者记录在档案中,或者记录在工作日志中,其查找过程繁琐且难以正确快速的完成,而在计算机系统中,这些任务就可以放在系统中完成,使其成为系统的功能。3.3.2分析与建立时序图面向对象分析进行到目前阶段后,所有类已经实现了具体的设计,接下来需要对每个功能模块建立时序图,时序图是描述功能在时间和业务逻辑上的顺序的图表,可以直观的反应一个功能模块的运行过程,相比于活动图,时序图当中也表现出了各种类的定位和功能,时序图是比活动图信息含量更加多的图表,与活动图类似,此处仅挑取几个重要模块进行展示说明。实验室预约申请活动图3.10 实验室申请时序图仪器使用与管理活动仪器使用的过程主要包括对仪器的信息的更新和对仪器的使用记录,不同用户的仪器信息的获取等内容。图3.11 仪器管理时序图3.4 基于E-R方法的数据库设计3.4.1 系统E-R图图3.12 系统E-R图3.4.2表设计依据E-R图完成数据库的内容设计。本小结给出几个示例表内容,详情见附件。(1)实验室表(lab):字段名数据类型是否为空长度备注Idint否10主键,唯一labnoVARCHAR否50实验室编号labnameVARCHAR否100实验室名称labruleVARCHAR否100实验室使用规则lanfunctionVARCHAR否1000实验室功能(2)设备表(Device):字段名数据类型是否为空长度备注idINT否10设备id,主键,唯一deviceNoVARCHAR是100设备编号,唯一deviceNameVARCHAR是100设备名称deviceTypeVARCHAR是50设备类型deviceProviderVARCHAR是100设备提供商deviceProduceareaVARCHAR是100设备产地deviceBillNoVARCHAR是50设备单号deviceProviderInfoVARCHAR是100设备供应商信息deviceCanUseTimeVARCHAR是50设备使用年限deviceBuyTimeDATE是设备购入时间devicePriceVARCHAR是50购入价格deviceCountCOUNT是20设备数量deviceConsumableVARCHAR是10设备耗材deviceRuleVARCHAR是100设备使用规则第4章 系统的实现4.1 系统的环境需求 一个系统的实现,需要一个良好的系统环境。为了满足一个系统的开发需求和使用需求,需要对系统的详细环境进行说明。4.1.1 服务器环境配置 依据系统使用的开发技术和环境,本系统的服务器环境使用Tomcat7.0 其是Tomcat服务器的最新版本,能很好的满足本系统的需求。 (1)配置服务器的本地地址为:LOCALHOST:8080(2)使用Mysql5.5数据库组成本系统的服务器端服务。(3)数据库用户名和密码分别为:root、空。4.1.2 客户端环境配置 本系统为B/S结构系统,所以其默认客户端即为浏览器。本系统的客户端使用的是IE9.0版本极其以上,和chrome浏览器。访问地址为:1270.0.0.1:8080/localhost:8080。4.1.3 开发者环境配置 (1)开发工具选择MYECLIPSE 2014。 (2)操作系统使用Windows 7。(3)内存:2G以上,内存越大,系统运行的速度越快。4.2 系统实现的模式规范4.2.1 系统文件组织结构整个程序的系统组织结构如下图4.1所示:图4.1 系统文件组织结构4.3 系统功能模块的实现 系统的业务实现涉及大量的逻辑结构和代码,在本节中选着部分主要内容进行详细介绍。4.3.1系统的主业务流程分析系统会先向用户展示本系统的部分信息,供用户了解实验室的基本信息。在主要地方提供系统人员的登录功能,不同用户会提供不同的登录方式。用户提供用户名和密码,如何正确则进入系统,若不正确则不能进入系统使用本系统提供的服务。需要反回从新登录。用户登录成功后就可以操作信息。在系统内提供了很多信息操作方式,不同的用户根据系统提供的功能条目,对信息进行不同的方式操作,完成操作后系统保存用户使用信息。数据库中信息是由管理人员来维护,添加。供给用户使用。具体的流程如图2.1所示。用户操作完毕后,可以直接退出系统,也可以查看一些别的信息,只要是在不超出自己的权限的情况下。服务器端流程图如图4.2所示。图4.2系统主流程图4.3.2系统的数据库操作和设计数据库操作函数类设计如下,其中连接数据库使用的是JDBC技术。数据库存取类提供应用程序访问数据库的各种方法,得到数据库的链接Connection、得到Statement、得到ResultSet以及关闭这些对象的方法。其内容如下。Public class DOSQL{public static ResultSet getselect(String sql){ Stringurl="jdbc:mysql://localhost/db_lms?useUnicode=true&characterEncoding=UTF-8"; }public static int getupdate(String sql){}public void close(){}}4.3.1 系统登录 在完成系统的首页和登录功能后,在浏览器地址栏中输入上文的配置地址,在首页中依据不同用户进行跳转登录界面,即可出现如下图4.3所示的登录界面。其登录的流程图4.4如下。图4.3 登录界面图 4.4 登录流程图 完成使用的内容涉及,用户对象模型代码和login的servlet函数。和对用户对象的操作函数。函数具体内代码容见附件。DoUser.class操作表函数声明返回值说明public ResultSet checkisuser(String sql)ResultSet检查用户是否存在public ArrayList selectuser(String sql)ArrayList返回用户信息public int del(String sql)int删除用户public user checkUser(String username,String password,int typ)User(为系统对象模型)检查用户信息的正确性4.3.2 实验室管理模块 实验室管理模块提供管理员的对实验室信息的修改,对实验室的添加,对实验室申请进行的审核和查看申请的历史记录等。其功能界面如图4.5所示。 其完成的流程图如图4.5所示。图4.5 实验室管理界面 实验室管理功能中只要功能:实验室申请与审核功能流程图:图4.6 功能流程图管理操作类:doDev.class声明返回值说明public ArrayList selectdev(String sql)ArrayList获取仪器信息public int insertnew(String sql)int新增仪器 仪器操作类:doApply.class声明返回值说明public int selectcount(String sql)int计数public ArrayList select(String sql)ArrayList获取申请信息public int insertnew(String sql)int记录新申请控制器servlet实现。在系统中的web.xml中注册appy.servlet来完成申请的的响应功能,代码框架如下import java.io.IOException;import java.io.PrintWriter;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import lms.dao.*;public class apply extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response){}public void doPost(HttpServletRequest request, HttpServletResponse response){}}4.3.3 仪器管理模块 在实验室管理模块中,用户在登录系统后可以使用本模块中,查询实验室时间信息和查看实验室的具体属性信息;对具体实验室和具体时间段进行预约;查看自己的申请预约记录功能。 而管理员可以在本模块中对用户产生的申请进行审核是否通过,可以对实验室进行添加和实验室信息进行修改。其界面内容如图4.7。图4.7 仪器使用主界面 仪器管理内容实现,首先要建立仪器模型,然后将仪器的操作内容封装到函数中,在servlet中建立仪器前台和业务的控制逻辑,完成本模块是功能,且可以进行拓展和添加。4.3.4 药品管理模块在实验室管理模块中,用户在登录系统后可以使用本模块中,查询化学药品分类和具体信息和对要使用的化学药品进行登记;对自己使用产生的记录进行查看。 而管理员可以在本模块中对化学药品的分类进行添加和对药品进行添加;可以对药品的具体属性信息进行修改,对药品的数量进行添加和减少。图4.8 药品管理模块主界面 药品管理模块的具体实现方式和仪器模块的实现方式类似。在model中建立化学药品的模型对象,利用其模型对象使用数据库接口将数据的操作封装到dochem中。在前台使用一系列的jsp页面完成交互。4.3.5 人员管理模块在实验室管理模块中,用户在登录系统后可以使用本模块中,对自己的账户信息进行查看和修改;给系统进行留言。 而管理员可以在本模块中进行用户的添加和删除;查看用户的具体信息;对管理员的信息进行修改,实现如图。图4.9 人员管理主界面第5章 系统测试5.1 本软件测试 软件的测试的结果是由几个方面来衡量的:1.在正确的时间上给出正确的服务。2.软件要符合一些应用标准的要求。3.系统能否在整体结构下持续稳定的运行。本测试主要为对系统的功能测试。测试系统的功能是否正确,操作是否能够正确执行。5.2 测试的研究和选择从我们平台的生存周期看,测试往往是指对程序的测试,这样做的优点是被测对象明确。测试的可操作性有错误,测试的质量就难以保证。即使测试后产生错误,此时,修改的代价也是相当昂贵的。因此,较理想的做法是对软件的开发过程,按照软件工程各个阶段形成的结果,分别进行严格的审查。本系统为实验室对象开发的基础版本,测试选着为基本功能项的测试。5.3 测试的过程及组织明确测试的内容和测试通过的准则。设计完整合理的测试用例,以便系统全部实现后进行全面的测试。在实现了程序的验证后,我的测试按照以下方式组织:(1)首先,我仔细的阅读了有关资料,包括规格说明、文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,再次全面熟悉系统,做好测试准备。(2)代码审查代码审查是在充分阅读程序文本,控制流程图及有关要求、规范等文件的基础上,各个模块依照程序的逻辑,以揭示错误为关键的。(3)模块测试按系统分成的模块进行功能的流程测试与验证。(4)系统测试系统在集成后,会与硬件、系统的支撑软件、数据系统和人员等系统元素相结合,系统的问题发现需要对系统进行长久的测试,最后完成对系统功能和性能的评估。5.2 测试用例及结果5.2.1 登录模块测试用户进入系统后输入用户名和密码,即可完成登录,测试用例如表6.1所示。表6.1用户登录测试用例输入:用户名=“admin” 密码=“admin”预期输出结果:登录到系统主界面实际输出结果:登录到系统主界面如果用户名或密码为空,则系统会报错,请重新输入。5.2.2预约申请模块用户进入实验室板块后浏览完信息就可以进行实验室预约申请,管理员可以及时的看到用户的申请请求,进行审核。用户可以在我的申请中,查看申请记录。管理员可以在历史记录中看到所有的申请记录。表6.1用户申请测试用例用户登录输入:用户名=“lianqiang” 密码=“lianqiang”。登录,然后在实验室申请填入申请信息。管理员登录:用户名=“admin”密码=“admin”登录,在实验室申请审核栏查看是否有新申请和申请记录预期输出结果: 提示用户申请成功,实验室信息状态发生变化,管理员可以审核此条信息实际输出结果:登录到系统,提示提提交成功,在信息界面可以看到申请信息5.2.3仪器管理表6.1仪器管理测试用例输入:仪器编号=“0003” 仪器名称=“环境仪器”和在仪器修改页面,更改仪器具体信息预期输出结果:提示添加成功,返回主界面。提示仪器修改成功,反回实际输出结果:添加成功,返回主界面,有新的仪器信息。提示仪器修改成功,反回5.2.4化学药品管理表6.1化学药品管理测试用例输入:化学药品编号=“25” 申请使用量=‘10’预期输出结果:在药品信息中,数量减10,在操作 历史中能看到操作记录实际输出结果:药品信息中,数量减10,在操作 历史中能看到操作记录5.2.5信息搜索表6.1仪器管理测试用例输入:用户名=“admin”预期输出结果:输出管理员的账户信息主界面显示用户详情实际输出结果:查出用户名admin 用户id 和权限主界面显示:用户名admin 用户id 和 用户类型第6章 总结6.1总结与展望实验室管理系统系统是个复杂的系统工程,实验室不仅承担了很多任务内容而且还有很多业务流程,要完善的做出一个系统,不仅需要实施新型的技术还要满足随着时间变化的业务需求。然对与各个业务系统的对接也提出了新的要求,这就需要我们不停地去探索新的需求,发展新的技术,使得系统对接更加完善,集成度更加深入。没有最好,只有更好,纵观国内高校,都在建设自己的管理信息系统,但是能做到通用且易用的并不多,这仍然是一个需要探索的过程,还会有崭新的天地让我们去开拓。6.2致谢参考文献:[1]贾焕军. 高校教务管理规范化信息北建设的研究与实践[J].长春理工大学学报(高教版),2009,4(3):40-41.[2]李云,黄家瑜.实验室信息管理系统的设计与实现[J]实验室研究与探索,第四卷,第10期.[3]姜雷.基于JAVA技术的实验室管理系统的设计与实现[D],电子科技大学.[4] 孙昌爱,金茂忠,刘超.软件体系结构研究综述[J].软件学报,2002,13(7):1228-1235.[5]Perry, D.E.Proceedings of the International Conference onSoftware: Theory and Practice[M].Beijing: Electronic Industry Press,2000.1-4.[6]张友生,陈松乔,C/S 与 B/S 混合软件体系结构模型[J].计算机工程与应用,2002,(23):138-140. [7]赵会群,王国仁.软件体系结构抽象模型[J].计算机学报,2002(7):730-736. [8]吕明琪,薛锦云,胡启敏.基于软件体系结构的可复用构件模型[J].计算机应用研究,2008(1):120-122. [9]杨芙清,梅宏.软件复用与软件构件技术[J].电子学报,1999(2):68-75.[10]Xiaopei Liu, Hui Zou, Teng Fei. Design and implementation of CRM system based on MVC framework[J].2012 9th International Conference on Fuzzy Systems and Knowledge Discovery, 2012,(29): 2656-2664. [11]Shengquan Yang, Bailin Liu, Changxing Pei. Distributed Control System of Ceramic Material Kiln Based on MVC[J]. Advanced Materials Research , 2012, (49): 3182-3187.[12]冀振燕.UMl系统分析设计与应用案例[M].北京:人民邮电出版社,2003. [13]Hamoudah, A.Ansari, G.A. Modeling of Knowledge Based Education System through UML[J].Journal of Software, 2012,7(9):2069-2075.[14]邓荣.高校计算机实验室综合信息管理系统设计与实现[J].价值程,2010,11:133-134.[15]郝晓梅.?高校计算机实验室综合信息管理系统设计与实现[J].信息与电脑(理论版),2010,11:56.[16]丁钧涛.计算机实验室综合信息管理系统设计与实现[J].科技创新导报,2011,12:13. 大学学院信息科技学院计算机科学与技术姓名论文题目一、对待毕业实习的态度及实习期间遵守纪律情况优良(15—11分)一般(10—6分)较差(5—0)二、观察、收集、整理、查阅资料及运用数据的水平优良(30—21分)一般(20—11分)较差(10—0分)三、学生的独立工作能力和动手能力优良(20—16分)一般(15—11分)较差(10—0分)四、毕业论文写作的规范化程度优良(15—11分)一般(10—6分)较差(5—0分)五、毕业论文(设计)总体评价优良(20—16分)一般(15—6分)较差(5—0分)审查意见、成绩及能否提交答辩:教务处制表大学学院信息科技学院计算机科学与技术姓名论文题目一、论文选题的价值与合理性优秀(15—11分)一般(10—6分)较差(5—0)二、论文的难度、工作量大小和创新性优秀(30—21分)一般(20—11分)较差(10—0分)三、数据资料分析、归纳、概括及运算的能力优秀(20—16分)一般(15—11分)较差(10—0分)四、文字表达水平、文章的逻辑性优秀(15—11分)一般(10—6分)较差(5—0分)五、论文写作的规范化程度优秀(20—16分)一般(15—6分)较差(5—0分)评阅意见、成绩及能否提交答辩:教务处制表大学本科生毕业论文(设计)答辩及综合评分表(由答辩小组填写)学院信息科技学院计算机科学与技术姓名论文题目一、内容的科学性、应用性和创新性优秀(30—21分)一般(20—11分)较差(10—0)二、论文写作水平及知识面掌握程度优秀(30—21分)一般(20—11分)较差(10—0分)三、语言表达能力、逻辑思维能力、回答问题的正确性优秀(40—31分)一般(30—11分)较差(10—0分)论文答辩意见及成绩:答辩小组负责人(签名): 年 月 日本科生毕业论文(设计)综合评定成绩(由答辩小组填写)毕业论文(设计)评阅成绩30%毕业论文(设计)答辩成绩40%综合评定成绩100%注:综合评定成绩等级:优秀(90-100),良好(80-89),中等(70-79),及格(60-69),不及格(60分以下)。答辩小组负责人(签名): 年 月 日
目录
第1章 绪论 5
1.1系统开发背景和意义 5
1.2国内外高校实验管理的研究概况 5
1.3.1目标 6
1.3.2具体内容 6
1.4论文的组织结构 7
第2章 相关技术介绍 7
2.1软件体系结构的介绍 7
2.1.1 C/S软件体系结构 7
2.1.2 B/S软件体系结构 8
2.1.3 C/S体系结构和B/S比较和选择 9
2.2 系统的技术架构 9
2.2.1 系统的逻辑结构 9
2.2.2 系统的物理结构 10
2.2.3 本系统架构的优点 10
2.3 系统开发环境 11
2.3.1 数据库的选型 11
2.3.2 MYECLIPSE 2014 12
2.3.3 Apache Tomcat 7.0 12
2.4 系统开发技术 12
2.4.1 JAVA 12
2.4.2 静态网页技术 12
2.4.3 JSP 13
2.4.4 SERVLET 13
2.4.5 系统完成技术线路 13
2.5 小结 14
第3章 系统需求分析与设计 14
3.1 系统需求分析 14
3.1.1 实验室管理需求分析 15
3.1.2 仪器管理需求分析 15
3.1.3 化学药品管理需求分析 15
3.1.4 人员管理需求分析 15
3.1.5 信息查询需求分析 15
3.2 面向对象需求建模 15
3.2.1 分析与建立用例图 16
3.2.2分析与建立活动图 18
3.3面向对象设计建模 19
3.3.1 分析构建类 19
3.3.2分析与建立时序图 22
3.4 基于ER方法的数据库设计 22
3.4.1 系统ER图 22
3.4.2表设计 23
第4章 系统的实现 24
4.1 系统的环境需求 24
4.1.1 服务器环境配置 24
4.1.2 客户端环境配置 24
4.1.3 开发者环境配置 24
4.2 系统实现的模式规范 24
4.2.1 系统文件组织结构 25
4.3 系统功能模块的实现 25
4.3.1系统的主业务流程分析 25
4.3.2系统的数据库操作和设计 26
4.3.1 登录 27
4.3.2 实验室管理模块 28
4.3.3 仪器管理模块 30
4.3.4 药品管理模块 30
4.3.5 人员管理模块 31
第5章 系统测试 31
5.1 本软件测试 32
5.4 测试用例及结果 32
5.4.1 登录模块测试 32
5.5.2预约申请模块 33
5.5.3仪器管理 33
5.5.4化学药品管理 33
5.5.5信息搜索 34
第6章 总结 34
6.1总结与展望 34
6.2致谢 34
参考文献: 35
高校实验室管理系统的设计与实现
引言

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/699.html

好棒文