基于SSH 的实验室管理系统设计与实现
2016-06-29张文梅
张文梅
摘要:为方便高职院校实验室管理、降低实验室管理人员的日常管理负担,该文结合高职院校实验室的实际情况,通过对实验室管理的需求和设计进行分析,采用当前流行基于SSH框架(Struts、Spring、Hibernate)的三层架构构建Web实验室管理系统。该系统将实验室教学管理、实验室设备管理、计算机机房管理、设备故障管理、用户管理等有机结合,从而提高实验室的管理水平和管理效率。
关键词:实验室管理系统;SSH框架;三层架构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)13-0105-02
Abstract: In order to facilitate the laboratory management of vocational colleges and reduce the daily management burden of laboratory management,by combining with the actual situation of laboratory in the vocational colleges, this paper the analyzes the laboratory management requirements and design, and uses the current popular three-tier architecture based on SSH (Struts, Spring, Hibernate) to build a Web laboratory management system. The system combines the the teaching management, equipment management, computer room management, equipment failure management,and user management of laboratory. The system can improve the management level and efficiency of laboratory.
Key words: aboratory management system ; SSH framework; three-tier architecture
目前,各高职院校的学生人数都在不断增长,而高职院校以培养学生实践能力为主,对实验室的管理要求显得更为重要[1]。另外,现在很多高职院校都存在多个校区,实验室数量和实验室内的设备数量都大幅增加,这些都给实验室的管理带来了新的挑战。传统的人工管理模式出现数据分散、管理不规范和效率低下等问题,已经难以满足实验室的日常管理需求,也不符合学校信息化建设的要求。为了降低实验室管理人员的工作强度,提高工作效率,开发一个Web实验室管理系统是很有必要的[2][3]。
本文采用当前流行的基于SSH框架[4](Struts、Spring、Hibernate)的三层架构构建Web实验室管理系统,Struts框架作为表现层;Spring作为业务处理层;Hibernate作为数据持久层。系统中的每一层都以松耦合的方式向其他层暴露自己的功能,从而可以提高系统的可扩展性和稳定性。
1 系统架构
SSH是Struts、Spring、Hibernate三个框架的集成,按职责分为表现层,数据持久化层,业务处理层。Struts框架为系统的整体基础架构,负责各层的分离,控制业务跳转;Hibernate框架负责数据的持久化;Spring框架负责管理Struts和Hibernate,图1为SSH架构图。
在表示层利用HTML页面或JSP页面来实现与用户的交互,该页面用于接收用户请求或显示响应结果,在Struts框架中,Struts根据配置文件将请求转给对应的Action进行处理。请求负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务逻辑层中,Spring通过IoC容器为Action注入相应的业务处理模型和对象数据处理(DAO)组件。在数据持久层中,DAO组件通过Hibernate的对象关系映射与数据库进行交互,并返回处理结果。
利用SSH框架,实现了视图、控制器与模型的分离,视图变化时,模型不用改动或改动很少;而数据库的变化也对视图的影响不大,从而可以提高开发效率,提高系统的可扩展性。
2 系统功能
实验室管理系统主要用于实验室的日常管理,主要包括实验员、教师和学生三类角色,因此在功能设计上主要考虑实验室介绍、设备管理、用户管理、教学管理、信息发布等功能,系统总体模块如图2所示。
2.1 实验员角色模块
1)实验室介绍:此模块主要对实验室进行相关的介绍,包括实验室功能、能开展的实验、承担的课程、地点、能接纳学生人数、实验室管理员等信息。
2)设备管理:此模块主要是实验室的设备管理,包括设备相关信息、新设备购买、现有设备维修、设备报废、设备使用等。设备信息包括设备类别、设备型号、设备单价、设备数量、购买日期、生产厂商、保修时间以及责任人等。
3)用户管理:本模块里,实验员可以增加教师信息,当教师对信息进行修改时,可以对教师不正确或不全的信息进行修改。实验员可以通过设置教师的权限来赋予教师相关的权限,不同的权限将有不同的操作权限和界面。
4)教学管理:该模块主要对实验室的教学安排和设备准备进行管理。主要包括实验内容、所需设备、实验班级、实验教师、实验时间等信息。
2.2 教师角色模块
1)设备管理:本模块主要是教师上课实验时对实验室的管理,包括设备故障、设备维护、设备使用、设备损耗等信息。
2)用户管理:本模块主要是教师对上课学生的管理,包括学生考勤、学生使用的设备、学生实验完成情况、实验成绩、值日学生、班级等信息。
3)教学管理:该模块主要是教师对实验内容的管理,包括实验目的、实验步骤、实验器材等信息。
4)消息发布:教师有时需要对学生发布一些消息,以便学生能看到这些公告消息。
5)用户消息:教师可以对自己用户的消息进行查询和修改,实验员可以对用户进行角色权限设置。
2.3 学生角色模块
学生模块只有用户信息功能,用于签到和信息查询,还可以查询和修改自己的用户信息。
3 系统设计
3.1 部分数据表设计
实验室管理系统以SQL Server2005作为数据库后台支持,创建的部分数据表如下:
1)设备表(EquInfo),如表1:
2)实验室信息表(LabInfo),如表2:
3)实验室教学表(LabCourse),如表3:
3.2 设备管理模块的实现
由于篇幅的关系,这里只给出设备管理模块的实现,其对应的类图如图3所示:
设备管理类图中,IEquInfoDao接口定义了操作设备信息的增加、删除、修改、查询等方法,EquInfoImpl是其实现类。EquAction继承了Struts中的Action类,用于接收用户输入的设备信息,封装为EquInfo对象,同时根据Struts的配置文件信息调用EquInfoImpl类中的对应方法实现设备信息的相关操作。Struts的配置文件信息:
type="org.springframework.web.struts.DelegatingActionProxy" name="EquInfoForm">
Spring内建有对Hibernate的支持,EquInfoImpl类通过扩展HibernateDaoSupport类,获得HibernateTemplate的引用完成对EquInfo对象的操作。Spring通过配置文件为EquAction注入相应的业务处理模型和对象数据处理(DAO)组件,Spring配置文件信息:
EquInfo类和数据表EquInfo的对象关系映射如下:
…
4 结束语
本文实现了一个实验室管理系统,该系统能够提高实验室管理的信息化水平,为实验室管理提供帮助,减轻实验室管理人员的负担,提高工作效率。另外使用SSH框架的分层技术进行系统开发,有利于系统的后续维护和进一步完善改进。
参考文献:
[1] 张辉芹,周骥平,何秉桦.高校实验室建设项目管理系统设计[J].实验室研究与探索,2015,34(8):249-263.
[2] 陈志云,肖聪.基于PHP的实验室管理系统的设计与实现[J].大众科技,2015,17(8):178-181.
[3] 杜林岳,马瑞,徐应涛,等.高校实验室智能开放管理系统的设计与实现[J].实验室研究与探索,2013,33(10):197-200.
[4] 刘洋.基于J2EE的实验室管理系统的设计与实现[J].科技广场,2015(9):24-27.