基于J2EE实验室管理系统的设计与实现

时间:2022-10-19 02:45:49

基于J2EE实验室管理系统的设计与实现

【 摘 要 】 为了减轻实验室管理人员的日常管理工作,科学、规范地进行实验室管理,设计与实现了实验室管理系统。该系统采用基于j2ee的MVC框架来实现,使用面向对象方法进行系统设计,并对系统中的主要类进行了说明。该系统的应用提高了工作效率,使得实验室资源与设备得到充分的利用。

【 关键词 】 J2EE;MVC;面向对象;用例图

Design and Implementation of Laboratory Management System based on J2EE

Wu Jie

(Modern Education Technology Center of Jiangxi University of Finance and Economics JiangxiNanchang 330013)

【 Abstract 】 In order to reduce the daily work of laboratory managers, scientific and standardized laboratory management, the laboratory management information system is designed and realized. The system is implemented by applying MVC framework based on J2EE, and designed by using object-oriented methods, and describes the main classes. The application of the system improves the work efficiency, and enables the laboratory resources and equipment can be fully utilized.

【 Keywords 】 J2EE;MVC; object-oriented; use case

1 引言

随着学校办学规模的扩大,现代教育对学生操作动手能力的要求不断增强,我校开设实验课教学的课程越来越多,这给实验室的管理提出了新的挑战,同时也加重了实验室管理人员的负担。为了解决实验室管理人员的日常工作繁重问题,实现无纸化办公,提高工作效率,开发一个基于Web的实验室管理系统就显得非常有必要。

计算机技术的发展以及高校校园网建设的成熟,为运用先进的管理信息系统和软件开发平台对高校实验室进行科学、规范管理,实现实验室管理的信息化和数字化提供了强有力的支持。

本文通过对本校实验室的管理业务进行分析,提出采用基于J2EE平台的MVC模式设计实现了一个实用型实验室管理系统。本文应用面向对象方法和统一建模语言进行系统设计,按照J2EE三层框架结构分别描述了表示层、业务层和数据层的实现过程。

2 系统框架

本系统的设计与实现是基于J2EE的MVC(Model-View-Controller)模式的架构。它是一个软件设计模式,将应用程序的输入、处理和输出分开,使一个应用程序被分成三个核心部件――模型层、视图层、控制层。传统的设计模式是将数据库查询语句与表示层的代码混在一起,开发人员有必须要有相当丰富的经验才能完成,对代码的维护和重用具有很大的难度。通过使用MVC架构,可以降低模块之间的耦合,提高代码的可重用性,使应用程序的扩展和维护更方便。

视图(View)表示用户看到的并与之进行交互的界面。传统的Web应用程序的视图都是由HTML元素组成的,本系统中使用HTML标签语言来展示页面,使用Velocity模板语言来引用由Java代码定义的对象。当Velocity应用于Web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的Web站点。在视图中不会处理系统的业务流程,只是将页面提交的数据和用户的请求进行封装通过控制器传递模型处理,而Action执行之后的返回数据则组装成Vo在页面显示。

模型(Model)是应用程序的核心功能,封装了与应用程序业务逻辑相关的数据以及对数据的处理方法。模型不依赖视图与控制器,而视图和控制器都依赖于模型,当模型中的数据发生变化时,模型会通知视图进行刷新,模型接受视图请求的数据,并返回最终的处理结果。

控制器(Controller)是接受用户的输入或对用户的请求作出反应,它创建并设置模型。控制器将客户端的请求进行封装成模型,然后决定调用哪个模型去处理请求,当请求处理完成后,再决定由哪个视图来显示返回的数据。

模型、视图、控制器三者之间的关系和各自的主要功能,如图1所示。

3 系统设计与实现

3.1 系统用例分析

按照面向对象分析方法,对系统进行用例分析,具体就是使用用例图建模。用例图用于表现活动者、用例以及它们之间的关系。用例表现一个系统或者一个子系统或者一个类向外部的交互者显露的功能。根据实验管理系统的基本特征和功能可得到本系统的用例图,如图2所示。

模型中的活动者代表外部与系统交互的单元,包括系统管理员、实验室管理员、教师和学生;系统用例框图是对系统需求的最直观描述,表达了系统所提供的功能和服务,包括系统管理子系统、设备管理子系统、实验室管理子系统、成绩管理子系统和查询管理子系统,图2只包含了最基本的用例模型,是系统的最高层的抽象。

3.2 系统类图

根据用例分析结果及模块实际功能需求,对实验室管理系统中各个功能模块所需要的类进行了设计,如图3所示描述了系统中的主要类及其之间的关系。

图中学生、教师、实验室管理员和系统管理员都是用户类的继承类,继承了用户类的属性和方法,又添加了新的属性如角色。实验室管理员和实验室这两个类之间定义了一个二元关联,而且是带属性和操作的关联,此关联类为实验室课表,表示实验室管理员可以管理这个实验室的课表,实验室和课表之间是一对一的关系,即一个实验室只有一个课表,而实验室管理员和实验室课表之间是一对多的关系,即一个实验室管理员可以管理多个实验室课表。

实验室管理员与实验室公告之间是一对多的关系,即一个管理员可以管理多个实验室公告,而实验室管理员和实验设备之间有三种关系,一种是实验室管理员直接管理实验设备的添加、删除、修改,第二种是通过关联类实验设备异动实现管理员与实验设备之间的关联,第三种通过关联类实验设备维修实现管理员与实验设备之间的关联。

教师和学生之间本是一个多对多的关联,通过实验报告类将这个多对多的关系转换为两个一对多的关系,一个教师可以对多个学生提交的实验报告进行评分,一个学生也可以提交多个教师教授的实验课的实验报告。

3.3 系统实现

基于Webwork的MVC模式中表示层采用Velocity和Html进行显示。通过Spring对Velocity的融合,不同的用户进入系统可以拥有不同的个性界面,而控制层的业务代码本身却不需要进行变化。MVC的控制层只需要把Vo传递给视图层。在视图层使用标准的Html语言进行展示,把获取到Vo对象通过使用Velocity呈现给用户,页面的美观与否取决于美工的设计。

Velocity的使用可以使页面的设计与数据的展示分隔开,降低了系统开发的耦合,美工负责页面设计,程序开发员保证控制层传递给页面正确的数据,各行其事互不相干。

Html语言显示页面元素,Velocity显示业务层返回的数据,如在页面显示登录用户信息可用如下代码:

登录用户:$loginBean.userName

LoginBean表示Vo,userName是Vo的属性即用户名,Vo的值由业务层获取,$loginBean.userName有两种含义,它可以表示:查找hashtable对象LoginBean中以userName为关键字的值;也可以表示调用LoginBean对象的getUserName ()方法。当页面被请求时,Velocity将确定以上两种方式选用一种,然后返回适当的值。

当页面提交时调用Action,如登录时调用checkLogin.action。在控制层Webwork通过控制器接收用户请求后,读取配置文件xwork.xml找到对应的Action类,如果登录成功重定向到showInfoPublic.action,登录失败在继续返回到登录页面loginUser.htm,否则如果错误或者未发现该Action,则扭转到error.htm页面。

userService

/infoPublish/showInfoPublic.action

/user/loginUser.htm

模型即Action类,具体完成某个业务,贯穿于各个层次之间。

业务逻辑层是整个应用的核心,接收表现层的用户请求,并通过持久层完成数据的存取操作。

当用户访问指定的URL时,Webwork会根据配置文件找相应的Action类进行处理。所有的业务都继承Service层,在业务上面切出Service层可以给系统更大的解耦,在Service层里面抽象出了各个业务操作,在这个接口里面并没有写任何的实现,真正的实现通过Spring的外部容器的注入,将Service注入(IOC)成真正的业务实现类。

要存取数据,应先调用Service层接口。数据层使用Hibernate持久化对象,数据库中的每个数据表都对应一个持久化的对象,该对应操作由hbm.xml配置文件来完成,业务层就是通过这个对象与数据库进行交互。

4 结束语

本文以江西财经大学的实验室管理系统的设计与实现为例,介绍了其采用的开发框架、设计方法以及实现过程进行了描述。该系统的应用,实现了实验室管理的无纸化和信息化,将实验室的管理人员从繁重的日常工作中解放出来,提高了实验室工作效率,更好地利用了实验室的资源和设备,降低了实验室的运行成本,确保实验课程顺利地完成。

参考文献

[1] 丘凯伦.高校教学实验室管理系统的设计与实现.华南理工大学[D],2009,11.

[2] 刘晓华著.J2EE企业级应用开发[M].北京:电子工业出版社,2003.

[3] 徐锋,陈暄等编著.UML面向对象建模基础[M].中国水利水电出版社,2006.

作者简介:

吴洁(1980-),女,江西萍乡人,工程师,硕士;研究方向:电子商务、Java计算、数据库。

上一篇:面向自适应码流的渐进编码方法的研究 下一篇:电脑平面设计教学方法创新研究