基于JavaEE的开放实验管理系统的设计与实现

2017-02-10 08:55牛勇超姜周曙黄国辉叶晓平游张平李培远
实验技术与管理 2017年1期
关键词:水箱管理系统实验室

牛勇超, 姜周曙, 黄国辉, 王 剑, 叶晓平, 游张平, 李培远

(1. 杭州电子科技大学 能量利用系统与控制研究所, 浙江 杭州 310018;2. 丽水学院, 浙江 丽水 323000)

基于JavaEE的开放实验管理系统的设计与实现

牛勇超1, 姜周曙1, 黄国辉1, 王 剑1, 叶晓平2, 游张平2, 李培远2

(1. 杭州电子科技大学 能量利用系统与控制研究所, 浙江 杭州 310018;2. 丽水学院, 浙江 丽水 323000)

通过对传统实验教学任务分析,基于实验室研发了三容水箱计算机控制实验台,实现了JavaEE平台的开放式实验管理系统。该系统采用MVC分层模式的设计思想,并按照角色功能划分了系统管理员模块、教师模块、学生模块。在数据持久化方面使用Hibernate框架,采用Springmvc控制逻辑转发,数据库采用MySQL。用户通过浏览器可以完成在线预约、实验查询、报告提交等,对于提高实验室的教学管理水平有重要意义。

开放实验; 管理系统; 资源共享; JavaEE

开放式实验教学与传统实验室教学相比,能够充分利用网络优势,最大限度地利用实验资源和实现资源共享,提高仪器设备利用率。高校实验室教学管理方式的改革势在必行,文献[1-3]在实验室管理系统设计与实现方面均有论述。笔者在总结前人设计经验的基础上,结合杭州电子科技大学实验设备、人员现状等条件,自行研发了三容水箱计算机控制实验台,设计了基于JavaEE平台的开放实验管理系统。

1 开放实验室信息管理系统整体结构

基于JavaEE平台的开放实验管理系统改变了传统实验室封闭、功能单一的缺点。学生用户可以登录该系统进行网络预约实验,可以在网上提交实验报告、在论坛交流模块分享实验经验和讨论问题,还可以查询实验成绩;指导教师可以在网上发布实验公告、上传实验指导书、批改实验报告、解决学生在实验中发帖提出的问题和评定学生实验的成绩;管理员用户负责实验室的整体运行,对学生信息和教师信息进行管理。

开放式实验管理系统主要是三容水箱计算机控制实验台,包括实验管理平台、实验室物理平台和采集控制平台。

1.1 实验管理平台

实验管理平台是实验管理系统的核心,主要负责实验室设备的开放,实验课程的安排、预约、公告发布等。实验管理平台的后台服务器程序部署在Tomcat服务器上。当用户在浏览器端登录实验管理平台时,客户端浏览器与Web服务器建立连接并向服务器发送登录请求,Web服务器对请求进行处理,将结果以HTTP的格式回送到客户端浏览器。客户端对Web服务器端回应的数据进行解析并显示给用户,即完成一次远程用户与服务器的信息交互,其Web访问原理如图1所示。

图1 Web访问原理图

1.2 实验室物理平台

图2是自行研发的三容水箱计算机控制实验台。软件管理平台主要是针对自动化和计算机控制实验进行设计的。

图2 三容水箱系统实物图

三容水箱实物可抽象出整体架构如图3所示。系统的主要组成包括:3个等高水箱(水箱1、水箱2、水箱3),蓄水池,水泵1、水泵2,3个压力传感器,流量传感器,连通阀,手动阀,3个电动阀。输出控制量信号经过调理电路放大后产生0~24 V电源电压,驱动水泵1、水泵2通过左右管路系统分别为3个水箱上水,在每一段进水管路中分别由手动阀门控制水流的进入,3个水箱的放水流量由3个电动阀分别控制,水箱之间通过可控开度的连通阀连通。水箱2装有加热装置,PT100温度传感器负责检测实时温度以进行温度控制实验。

图3 三容水箱整体架构图

1.3 采集控制平台

采集控制平台以ADμC834单片机为核心控制器,并设计相关外围采集电路,利用传感器采集液位、温度、流量、压力等模拟信号并转变为电压信号送入ADμC834单片机AD模块,转换后通过串口发送到上位机。当核心控制器通过串口接收到来自上位机的控制信号时,对数据进行解析并通过相应的执行机构实现三容水箱的计算机控制。

2 系统功能需求分析

2.1 系统管理员模块

系统管理员是实验室管理的核心成员,主要职责是维护实验室的正常运行、管理实验数据等,并且可以对教师和学生的信息进行进行修改和查阅,拥有最高的操作权限。系统管理员的功能需求包括:

(1) 信息管理。管理教师和学生的基本信息,对教师和学生的信息进行添加、删除、修改、更新、维护等。

(2) 数据库管理。管理员使用数据库备份功能对数据进行选择性备份以应对系统故障;数据库还原功能可以将系统恢复至数据备份时间点,以减少系统故障带来的数据损失;流量统计功能是根据用户访问实验室的时间和人流量绘制柱形图报表,通过分析图表来合理安排实验室的开放时间、开放对象等[4]。

(3) 实验设备管理。对实验仪器设备进行登记管理,包括实验设备的添加、删除、更换、定期维护和检查记录等。

(4) 论坛管理。负责对论坛内容的管理,例如论坛话题的删除、备份等。

2.2 教师模块

教师负责学生实验相关管理工作,例如实验资料的上传、实验报告的下载、已预约信息的发布、实验结果的评定等。教师的权限高于学生,其功能需求包括:

(1) 资料上传。将与实验相关的资料随时上传至网络以供学生下载,包括课件、教学计划、练习测试、学习资料、实验指导书等。

(2) 批改实验报告。可以在线批阅实验报告,也可以将实验报告打印后批阅。 (3) 预约信息发布。发布实验预约信息,供学生查询预约记录。

(4) 实验管理。根据实验课程计划安排实验室开放时间段,指定的实验类型等,供学生在实验预约模块进行选择。

(5) 论坛板块。针对学生在实验中出现的问题进行答疑,更好地与学生交流。

2.3 学生模块

学生是实验管理的主要对象,学生模块的功能需求包括:

(1) 信息公告。通过公告栏随时了解实验课程的安排等。

(2) 预约安排。此为学生模块的核心内容,进行实验的自助预约,查询当前实验预约情况,并在线预约实验设备。

(3) 成绩查询。根据学生的学号查询实验成绩。

(4) 信息管理。修改个人信息和登录密码等[5]。

(5) 论坛版块。对实验过程中出现的问题进行讨论、分享经验,也可以把问题提交给指导教师。

3 系统软件设计与实现

3.1 软件功能结构

实验管理系统的软件功能结构图如图4所示。

图4 软件功能结构图

3.2 数据库设计

数据库服务器采用MySQL。MySQL是时下最流行的关系型数据库管理系统,由于其体积小、速度快、成本低,并且开放源码[6],被广泛应用于中小型Web开发。数据库设计得好坏直接影响管理平台的性能,如果设计得不够合理,不仅会增加软件编程的难度,还会影响到后续软件的升级和维护。按照需求分析所划分的几个模块,使用MySQL分别设计了相应的数据库表和字段。

主要包含的表有:管理员信息管理表(tb_Admin_info)、教师信息管理表(tb_Teacher_info)、学生信息管理表(tb_Student_info)、实验成绩表(tb_Exp_record)、实验项目预约表(tb_Exp_proj_book)、实验报告表(tb_Exp_report)、通知公告表(tb_Notice)、设备登记表(tb_Equipment_reg)等。

为保证数据库设计的最小冗余,数据表之间保持着关联关系[7]。例如学生信息管理表中的主键同时又作为实验成绩表的外键,它们保持着一对一的关联关系,通过学生信息管理表的主键可以查询到实验成绩表的数据。其他数据表也按照该原则设计。

3.3 软件实现

软件开发运行环境采用Win7 32位操作系统、MySQL数据库,开发工具为eclipse4.4。软件设计完成后部署在Tomcat7.0服务器上进行调试运行。

实验管理系统采用B/S结构,避免了C/S模式“胖客户机-瘦服务器”的弊端[8],不用分别编写客户端程序和服务器程序,而是可以把主要精力放在服务器端程序的实现上。用户不用安装客户端程序,在不同地方直接使用浏览器就可以实现远程访问和操作。

服务器端使用JavaEE技术。Java是面向对象的语言,与.NET技术相比,具有开源、跨平台的优势。Java语言自带垃圾回收机制(GC),不会存在内存泄露的问题,使得它被广泛用于服务器端编程。程序整体架构设计使用Java广为流行的SSH框架,采用了三层结构设计思想[9],总体结构设计如图5所示。

图5 总体结构设计图

(1) 表示层的设计。表示层是用户与开放实验管理系统的交互界面,表示层的设计直接影响用户体验。表示层不能直接访问数据,也没有流程控制、业务逻辑等,以DIV+CSS进行页面布局设计,使用jQuery和Bootstrap框架设计用户登录界面、实验预约界面、成绩查询表单界面、上传/下载界面等,主要用来接收用户输入的数据给业务逻辑层,并将后台逻辑数据显示到前端。

(2) 业务逻辑层设计。业务逻辑层是开放实验管理系统架构层的核心部分,使用Spring作为逻辑层框架,负责数据的传递和业务逻辑方法的处理。它采用接口与实现分离的技术[10],能更好地实现软件的可扩展性。当学生登录进入实验预约界面后,根据三容水箱实验安排的时间段查看实验预约情况并查找空闲时间段。如果学生预约成功,则根据预约的时间段进行实验。实验预约模块的主要业务流程图如图6所示。

图6 实验预约流程图

(3) 数据访问层设计。数据访问层也称为持久层,负责操作数据库中的数据,把数据持久化到数据库中。持久层的设计选择使用hibernate开源框架。hibernate支持ORM模式,从而在对象模型与数据库模型之间建立一一映射关系,并对操作底层数据库具体细节进行封装,对业务逻辑层提供面向对象的API[11]。持久层具有相对独立性,不依赖于逻辑层,这样可以大大提高开发效率、降低耦合性,体现出Java技术面向对象的思想。

4 结语

Web开放实验管理满足了开放性、易用性、高安全性、高可靠性的性能需求[2],解决了传统实验室管理封闭、资源利用率低的缺点,并利用互联网技术实现了信息化管理,降低了实验管理与维护成本[12],使实验室教学管理从单一化发展到多元化。该管理系统还需要进一步探索与完善,例如将远程控制与实验管理系统相结合,使学生可以在浏览器端完成水箱控制实验。现在开发的系统已预留远程控制开发接口,对以后的扩展有较好的支持。

References)

[1] 张立杰,朱新杰,高建明.基于Web的经管类开放实验室管理系统设计[J].实验室研究与探索,2015,34(2):270-271.

[2] 李玉凯.基于MVC设计模式的开放实验室管理系统设计与实现[J].信息与电脑,2015(22):72-74.

[3] 张明,朱小军,瞿朝成.基于WEB的实验室信息管理系统的研究与实现[J].自动化与仪器仪表,2014(1):129-130.

[4] 李仕强,王水平,李翔.基于Web的虚拟实验互动教学平台研究与设计[J].实验技术与管理,2012,29(11):90-93.

[5] 雷彦华,于宏涛,马阳.高校开放式实验室管理系统的设计[J].信息通信,2015(3):102-103.

[6] 王飞飞,崔洋,贺亚茹.MySQL数据库应用从入门到精通[M].北京:中国铁道出版社,2014.

[7] 刘林涛,蔡瑜珩.基于Web技术的开放式实验室管理系统的研究与开发[J].实验室科学,2014,17(4):189-191.

[8] 傅宗宁.基于网络的计算机控制技术实验系统的研发[D].杭州:杭州电子科技大学,2015.

[9] 赵宏伟,秦昌明.基于B/S 3层体系结构的软件设计方法研究[J].实验室研究与探索,2011,30(7):64-66.

[10] 罗频捷,温荷.开放实验室管理信息系统的开发与实现[J].实验技术与管理,2015,32(5):158-160.

[11] 孙卫琴.精通Hibernate:java对象持久化技术详解[M].北京:电子工业出版社,2010.

[12] 贾梦瑶.基于WEB的开放式实验室管理系统的设计与实现[D].成都:电子科技大学,2014.

Design and realization of open experimental management system based on JavaEE

Niu Yongchao1, Jiang Zhoushu1, Huang Guohui1,Wang Jian1, Ye Xiaoping2, You Zhangping2, Li Peiyuan2

(1. Energy Utilization System and Automation Institute, HangzhouDianzi University, Hangzhou 310018, China;2. Lishui University ,Lishui 323000,China)

Through the analysis of the traditional experimental teaching task, based on the laboratory research of three tank computer control experiment platform, this article realizes the open experiment management system based on JavaEE platform. The system adopts the design idea of MVC layered mode, and divides the system administrator module, teacher module and student module according to the role function. In terms of data persistence this paper achieves the use of Hibernate framework, using Springmvc to control logical forwarding, and MySQL to manage the data. Users can complete online booking, experimental inquiry, report submission, etc., for the improvement of laboratory teaching management level, which has important significances.

open experiment; management system; resource sharing;JavaEE

10.16791/j.cnki.sjg.2017.01.036

2016-07-01

国家科技支撑计划课题(2013BAC16B02);浙江省高等教育教学改革项目(kg2013136;jg20160061)

牛勇超(1990—),男,山东莒县,在读硕士生,主要研究方向为控制科学与工程

E-mail:nyc_hdu@163.com

姜周曙(1964—),男,浙江温州,博士,教授,主要研究方向为能量利用系统与自动化.

E-mail:jzs@hdu.edu.cn

TP393

A

1002-4956(2017)1-0153-04

猜你喜欢
水箱管理系统实验室
基于James的院内邮件管理系统的实现
电竞实验室
电竞实验室
电竞实验室
电竞实验室
基于LED联动显示的违停管理系统
海盾压载水管理系统
一种太阳能热水器水箱的控制系统
PLC组态控制在水箱控制系统的应用
水箱出水