实验教学和实验室管理是一项多因素综合的系统工程,其理论研究、技术进步、硬件发展、实践应用结合紧密。在计算机技术、网络技术与信息技术不断发展与普及的今天,高校的实验教学与管理应当融合这些先进技术和手段,从教学内容、形式和手段上推陈出新,从管理模式上寻求新的方式。通过设计开发,本系统可以为学生提供一个网上平台,学生只要在任何一台上网的计算机,并通过用户验证登录后,就可以浏览所要了解的实验信息,除了可以对本专业的实验进行预约之外,还可以通过系统提供的查询功能找到自己感兴趣的实验进行预约、查询等,促进学生学习的积极性。本系统为教师提供在线查看学生的实验报告、批改实验报告等。系统的管理员要对实验室信息,实验信息,学生信息,老师信息进行管理。系统超级管理员可在线进行系统信息更新和维护。开放式实验室管理系统把教师从繁重的实验管理工作中解脱出来,投入到实验教学方法和内容的研究上来,从而提高实验管理水平。
1 系统功能模块分析与设计
经过参考各大高校现有的开放式实验室管理系统及参考本校实际,本系统主要包含如下模块:学生模块;老师模块;系统管理员模块;系统超级管理员模块。
1.1 学生模块
学生模块主要有如下功能:修改个人信息;查看实验信息;预约实验;取消预约;查看预约信息;提交实验报告;查看实验结果。
1.2 老师模块
老师模块的主要功能包括:修改个人资料;批改实验报告。
1.3 管理员模块
管理员模块的主要功能有:管理实验室信息;管理实验信息;管理学生信息;管理老师信息;添加实验室信息;添加实验信息;添加老师信息;修改个人资料。
1.4 超级管理员模块
超级管理员模块的主要功能有:管理系统功能,添加系统功能,管理用户权限,添加管理员,管理管理员,修改个人资料。
2 系统设计与分析
2.1 系统框架说明
本系统是采用Struts+Spring+Hibernate架构的基于B/S模式的应用程序。Struts提供了一个基于MVC的开发模式,Spring为程序注入运行时需要的JavaBean,Hibernate实现持久层的O/R映射。JavaScript+Jsp等脚步语言实现页面显示。使用Ajax对页面进行局部更新。
2.2 总体架构设计
一般出于对系统的解藕,都把PO(PO是由Hibernate纳入其实体容器(Entity Map)的对象,它
代表了与发表论文数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中)组件转换成VO(独立的Java Object)组件,Jsp页面直接使用VO,而非PO。但站在本系统角度,本人认为本系统的页面显示逻辑不需要涉及多个PO组件,功能简单,所以无须将PO组件转换成VO组件,这样反而可以提高性能,从代码量来说,也可以减少错误、减低bug的风险。
2.3 系统架构分析
(1)使用HibernateDao Support支持Hibernate的DAO对象实现,使用Hibernate为O/R Mapping框架,更加符合面向对象程序设计思路。使用Hibernate对数据的增删查改时候非常方便,但对于复杂的查询,Hibernate使用起来很繁琐,没有JDBC那样方便,所以系统开发时,对于数据的统计还是采用JDBC完成相应得功能。
(2)使用Struts作为MVC框架C&M层,Jsp作为表示层,Struts就是对Servlet进行了封装,使用Struts就是用为了引进MVC模型,在开发中进行分层实现。
(3)Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的依赖注入(IoC)和面向切面(AOP)的容器框架。本所谓的依赖注入就是通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动-的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反—— 不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。项目主要使用到了Spring提供的依赖注入技术。
3 结语
本系统采用现时流行的Spring+Hiber nate+Struts构架,大大的降低了模块与模块之间的耦合度,符合软件开发的高内聚与低耦合的要求,提高了代码的可重用性与系统的可扩展性。采用纯面向对象来开发这个开放式实验室管理系统,在开发中采用面向接口编程;当客户端发送请求到服务器端时,为了服务器端对数据库的安全性操作,引入了Model层,让Model调用DAO的操作,避免对数据直接操作暴露出去,也降低了模块与模块之间的耦合度。
参考文献
[1] 郭志军.高校实验室开放式教学与管理探讨[J].中国科技信息,2006.
[2] 刘鸣,毕玉玲,赵美蓉,等.实行开放实验教学模式培养学生创新探索精神[J].实验技术与管理,2004.
[3] Hibernate Reference Documentation Version3.0 beta4.
[4] Servlet与Jsp核心技术编程[M].2版.Marty Hall,Larry Brown,著.清华大学出版社.
[5] 设计模式Java手册[M].Steven John Metsker,著,机械工业出版社.
[6] JavaScript高级程序设计[M].Nicholasc C.Zakas,著.人民邮电出版社.