APP下载

基于Struts与JSTL的开放实验室资源管理系统设计与实现

2009-01-11耿晓君陈章其

现代教育技术 2009年11期
关键词:开放实验室管理系统资源

耿晓君 陈章其

【摘要】传统实验室管理方法不能够满足高校网络信息化管理的要求,并且具有诸多缺点。文章基于Struts框架与JSTL设计开发了开放实验室资源管理系统,该系统为老师和学生提供了便捷高效的服务,提高了工作人员的工作效率和实验设备使用率,也提高了教学水平。

【关键词】Struts;JSTL;开放实验室;资源;管理系统

【中图分类号】G40-057 【文献标识码】B 【论文编号】1009—8097(2009)11—0136—05

一 引言

实践教学活动在高校日常教学活动中占较大比重,而实验室是实践教学活动中的重要场所。实验室资源的合理配备、设置、分配、管理和使用直接关系到实践教学效果,所以对实验室资源如何进行有效、合理的管理使用是当前实验室日常管理过程中面临的最大问题。

但是原有实验室管理方法和操作规章不能适应于当前高校的教学实践活动,依靠人工对实验设备器材的登记,借用工作效率低下。而且当前高校的实验设备种类、资源众多,设备的借记、入库、登记、维修,以及实验课程活动的安排等完全依靠人工来进行组织管理,这种工作模式导致实验室工作人员任务繁重,重复劳动,查询检索困难且容易出错。

实验课程一旦统一排定,实验设备的使用时间就相对固定,这就造成了在规定时间外多数实验设备不能被完全利用。而同时有很多学生希望能够在自主的时间内、按照自己的兴趣使用设备资源进行相关的实践操作,这就对实验室管理提出了新的要求。学生希望能在自主的时间预约实验设备,能够查询相关设备的操作规程和跨校区、跨实验室进行设备资源共享;实验室管理员希望能够信息化管理设备,统计分析设备在一定时间内的使用频率、损坏频率等情况,以便于后期实验室设备的采购维护等工作。基于上述情况分析设计开放实验室资源管理系统具有现实意义。

二 系统总体架构及设计模式

本系统采用模型(Model)、视图(View)、控制器(Controller)即MVC模式。该模式下模型层负责程序的数据信息,包括处理这些数据所需要的业务逻辑规则;视图层是系统的终端UI,直接接受用户的操作行为,并向用户展示由模型层处理后的数据和信息,该层还负责将用户的操作请求通知控制器;控制器把接收来的用户请求数据进行解释,并转发给相应模型层的业务逻辑进行数据处理,其本身并不做任何数据处理。该MVC模型结构图如图1所示:

本系统中视图层接受用户的登录信息、查询信息、预约信息、设备信息等并将其转发给相应的Action进行数据处理,然后将处理结果转发给相应的视图呈现给用户。

系统采用Struts框架来架设系统整体结构,基于MVC模式系统将表示层,业务层,持久层等区分开。视图层上,使用JSP页面结合JSTL(JSP Standard Tag Library,JSP 标准标记库)和Struts标签,显示经过Action业务逻辑处理过后的数据。系统处理数据的流程清晰,与将业务逻辑Java代码嵌入JSP页面中的方法完全不同。系统的整体框架见图2:

从上图可以看出系统基于Struts 框架,JSP页面向用户展示信息,使用JSTL 和Struts 自带标签,并且结合Struts自带标签进行用户验证、数据检查等功能。程序业务处理逻辑为Struts 框架中的Action 组件。对于各种业务功能,如果有表单数据,则先用Action Form 组件封装提交的表单并作数据检查,检查通过后才会提交到Action 组件中;没有表单数据的,直接执行Action 组件中的相关程序代码。

三 系统分析设计与功能模块实现

1 数据库设计

平台支持多种数据库如SQL Server、Oracle等,本系统采用MYSQL数据库。主要包括用户表userinfo、实验设备表device、资源预约表orderlist、时间表time、管理员表admin、时间分段表durationb、用户类别表userrole、新闻表news等。

其中在orderlist表中通过durid(时间段id)、stuid(学生id)、devid(设备id)、useday(使用日期)组成组合关键字唯一地确定orderid(订单id),而在程序中正是通过判定durid、stuid、devid、useday几个字段的值相等来确定当前用户预约的资源在某个时间段的区域内,从而判定在该时间段内设备资源的可用数量和剩余数量。

2 系统类的分布

实验资源系统利用Struts框架实现,系统中类包的分布如图3所示,系统类包的功能如表1所示:

系统中各类按照实现的不同功能放在不同的包内,其中geng.lab.admin存放了关于管理员对系统中设备、人员、预约信息等的添加、删除、修改、更新等操作业务逻辑;geng.lab.struts是关于系统的常规操作类,用户登陆、资源搜索、资源浏览等功能的Action都存放在该包内;geng.lab.stu是关于学生常规操作的业务逻辑,该包内实现学生用户登陆后进行资源预约,预约管理,作业管理,实验报告提交等操作;geng.lab.time与geng.lab.tool分别实现实验室开放、关闭的时间管理与中文过滤器功能。

3 系统功能架构

开放实验室资源管理系统采用B/S架构,采用B/S模式便于系统后期的升级、更新、管理,且系统在校园网络环境下运行适合信息化校园管理的需求。系统运行首界面如图4所示:

通过需求分析将系统分成四大模块,分别是公共模块、管理员模块、教师模块和学生模块。系统功能结构如图5所示:

(1)公共模块

公共模块面向所有用户,任何通过Web浏览器访问本系统的用户都可以使用该模块提供的资源信息。实际应用中,学生、教师、管理员都需要了解将要用到的硬件设备资源当前的可用数量,可用状态、可预约使用时间段及在可预约使用时间段内的可预约数,所以系统应具备对所有用户(包括所有注册和未注册用户)提供实验室设备资源的搜索、浏览功能。当检索到指定设备资源时可以查看该设备的详细情况。系统为每个设备提供如下资源信息:设备图片,不同时间段的可用数量,设备主要技术参数,设备使用教程,设备操作注意事项,常用案例。这样用户就可以了解实验设备的详细信息,为师生提供高效的在线服务。

(2)管理员模块

系统管理员为最高权限管理员,能对整个实验室的资源进行操作,管理员模块在本系统中占有重要比重,其涉及八个子模块分别为:设备管理、时间管理、学生管理、预约管理、公告管理、维修管理、统计报表、设备教程。

其中设备管理和时间管理是管理员模块中的核心模块,前者负责设备资源的管理,后者负责实验室开放时间的管理。

1)设备管理

在设备管理模块中包含添加资源和浏览资源两部分。在浏览资源子模块中用户可以查看当前系统资源的基本属性,包括设备代码、设备名称、所属类别、总数量、剩余数量等。该功能的业务逻辑在查看资源的Action即viewResource.java中执行,执行完毕后,将运算结果输出至查看资源视图(viewResource.jsp)。

在viewResource.java的业务逻辑中将Result对象转换成对应的object二维数组,然后再在JSP页面中用JSTL的标签输出数据。如果需要查看某资源的具体剩余数量,可预约数量等信息,则需要进一步的操作。在页面上点击“浏览资源”即可进入资源列表,在该表中列出所有资源信息,根据用户的选择可以进入“查看剩余数量”、“修改”页面以及执行“删除”操作。程序流程如图6所示:

2)时间管理

猜你喜欢

开放实验室管理系统资源
基于单片机MCU的IPMI健康管理系统设计与实现
基于物联网的IT运维可视化管理系统设计与实现
我给资源分分类
挖掘文本资源 有效落实语言实践
资源回收
基于分布式数据库Cedar的高效工单管理系统设计与实现
开放实验室的思考与实践
开放实验室物联网安防系统设计
开放实验室与学生创新能力的培养
高校开放实验室智能管理系统的设计