APP下载

基于MVC模式的实验室管理系统设计与实现

2009-12-07赵洪强

都市家教·下半月 2009年10期
关键词:框架

赵洪强

【摘 要】随着J2EE平台的广泛采用,MVC已成为系统框架设计中广泛采用的一种先进的框架设计模式。本文介绍了使用Struts、Spring和Hibernate技术整合设计实现基于MVC模式的实验室管理系统。介绍了MVC模式的结构和特点、系统开发过程中采用的关键技术、系统的功能、结构和详细实现过程。

【关键词】MVC;Struts;框架;实验室管理系统

随着高等院校教育改革的深入和发展,大学实验室已成为学校学生学习和应用专业知识、增强动手能力的重要基地。但是受传统管理方式的约束,仪器设备的管理工作普遍比较混乱,学生与实验室管理者之间缺少有效的沟通,造成大多数实验室不能够满足教学计划之外的实验要求,既降低了仪器设备的使用效率,也不利于学生综合素质的锻炼提高。虽然国内外现有的实验室管理信息系统种类繁多,但真正功能比较完备适合于高校教学型实验室的成型系统却非常少。本文针对高校实验室管理的现状,通过使用先进的J2EE技术,选择B/S模式,开发了基于MVC设计模式的一个实验室管理系统。本系统极大提高了对实验室及仪器设备使用的管理,带动实验室的管理工作走向规范化、制度化、科学化。

1、关键技术

1.1MVC设计模式

MVC是Xerox PARC在八十年代为编程语言Smalltslk-80[1]所发明的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式。MVC把应用程序的输入、处理和输出分开,将应用程序分为模型、视图和控制器三部分,它们分别担负不同的任务。

(1) 模型(Model)。模型包含了应用程序的核心,它封装了应用程序的数据结构和事物逻辑,集中体现了应用程序的状态。换言之,模型就是业务流程、状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。

在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性,提高了系统设计的可重用性。

(2) 视图(View)。视图通过显示的形式把信息转达给用户,是应用程序的外在表现。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。它可以访问模型的数据,却不了解模型的情况,同时也不了解控制器的情况。当模型发生改变时,视图会得到通知,它可以访问模型的数据,但不能改变这些数据。一个模型可以有多个视图,而一个视图理论上也可以与不同的模型关联起来。

(3) 控制器(Controller)。

控制器通过时间触发的方式接受用户的输入。控制器的作用很明显,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层不做任何的数据处理,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

1.2 Struts框架

Struts按照MVC模式思想,提供了一种创建Web应用程序的框架,其中对应用程序的用户界面表示和数据的后端逻辑处理代码进行了抽象,整合了Servlets和JSP在Web应用开发上的优势以建立灵活,扩展性强,复用程度高的应用系统。Struts是实现MVC模式的一个优秀的应用框架[2]。Struts的体系结构[3]实现了MVC设计模式的概念,它将这些概念映射到Web应用程序的组件和概念中。

模型由实现业务逻辑的JavaBeans或EJB组件构成。在模型层,业务逻辑被封装在独立的组件里,并向Action类提供接口,这样有助于重用。

视图由HTML、StrutsActionForm、JSP页面、自定义标记和Java资源包构成。JSP页面结合Struts的标签库构成了视图组件的主体。

控制器由ActionServlet和Action来实现。ActionServlet是Struts框架的集中控制点,接收所有客户请求进行最初的处理,并将其影射到适当的Action进行处理。Action类是Struts框架的核心,也是客户请求和业务操作的桥梁。它根据客户的请求调用相应的业务逻辑,并根据执行的结果决定程序的去处,以ActionForward对象的形式返回给ActionServlet。

1.3 Spring和Hibernate框架

Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成原来只能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

Hibernate是一个开放源代码的对象关系映射框架[4],它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,还可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

2、系统设计与实现

本系统采用JAVA语言进行服务器端应用程序的开发,使用Tomcat作为应用服务器,数据库系统选用SQL Server 2000。整个系统采用基于MVC模式的Struts框架进行设计,下面说明系统的设计实现。

2.1 系统开发背景

Internet和Web技术的快速发展为教育信息化提供了新的技术支持。实验室管理系统是教育信息化的主要内容之一,它的应用促进了教育体制的改革和创新,同时也反应了一个学校管理现代化的水平。设计和实现一个基于Web的实验室管理系统,对实验室和仪器设备的使用进行有效合理地调整搭配,对实验室及仪器设备的使用频率和使用效果及时准确地评估,是高校实验室管理工作中首要需求[5]。

2.2 系统性能需求分析

为满足高职院校的发展对实验室管理的要求,科学高效的使用实验室资源。经研究分析,本系统应该满足以下性能需求:

(1) 高可靠性。系统除了具有完善的功能之外,应具有很好的可靠性。作为实验室管理的主要工具,系统中出现的故障将会直接影响实验室正常的工作日程,所以系统必须具有高可靠性,从而保证实验室管理的稳定性。

(2) 良好的开放性。考虑到本系统以后有可能与高校其他管理系统进行集成,本系统必须具有良好的开放性,既要满足现有集成需求,又要为将来系统的扩展预留接口。

(3) 易用性。系统应面向用户进行设计。系统的使用者一般都对计算机了解得少,因此系统的操作应该尽量简单、方便,用户界面友好,使用户能够易学易用。

(4) 高安全性。系统应提供安全可靠的数据存储服务,拒绝未被授权的人员访问、篡改数据信息的企图,而只向被授权的用户提供与其权限一致的数据服务。

2.3 系统功能设计

本系统针对高校的实际情况,在校园网的基础上,采用Struts技术,结合Spring的IOC技术和Hibernate的ORM工具,基于SQL Server2000数据库开发设计了一个基于MVC模式的实验室管理系统,实现了实验室人员管理、实验室设备管理、实验课程安排、实验室开放等一系列功能系统,系统各个模块功能如下:

(1) 系统注册与登录功能。实验室管理系统遵循一般的管理信息系统的特点,可以进行用户的注册、登录、权限划分与控制等功能。

(2) 实验室日常管理。实验室日常管理工作是本系统最重要的功能之一。实验室介绍模块提供对实验室的介绍,方便用户对实验室进行了解。用户权限管理模块可以对用户的权限进行管理,系统管理员和实验室工作人员都可以进行用户权限设置。用户管理模块根据用户的权限对用户个人信息管理、用户查询管理、查看系统信息等功能进行设置。实验室管理员可以通过实验课程管理模块对实验室的课程进行增加、删除、修改、查询等操作,并可以进行课程计划的制定等功能。实验室公告发布模块方便实验室用户灵活掌握实验室的的规划和通知,进行公告管理。

(3) 实验室设备管理。库存管理模块可以对实验室设备入库,并设备的详细信息记录,对设备进行增加、修改等操作。耗材管理模块对实验室耗材进行记录,并对耗材的使用情况进行统计和分析,耗材的增删改查等操作。维护管理模块记录实验室设备的状态,设备的维修情况。

(4) 实验室信息查询。课程查询模块对实验室管理员排好的课程进行查询,查询结果主要包括上课得时间、地点、授课教师等信息。设备查询模块可以查询实验室某一设备的具体信息及设备分配使用情况。用户查询模块可以查询用户的详细信息。综合查询模块可以进行多条件查询,综合了以上各种查询,只对实验室管理员公开。

(5) 实验室统计分析。设备使用分析模块对实验室设备的使用率,损耗情况进行统计分析。实验室使用分析模块对实验室的开出率、利用率等情况进行统计分析。耗材情况使用分析模块对耗材的使用情况、购买支持情况进行统计分析。

2.4数据库设计

本系统采用的是SQL Server2000服务器版作为底层关系数据库。该数据库用户界面优秀,功能全面、强大,日志功能完善、稳定、安全,是现代电子商务应用中比较好的数据库产品。本系统主要有如下数据表:

用户基本信息表eustomer_info:记录用户的基本信息;用户登陆信息表signon_info:记录用户的登陆信息;管理员表manager_info:记录管理员的详细信息;实验室类型表labtyp_info:记录实验室的类型信息;实验室表lab_info:记录实验室的详细信息;设备表shb_info:记录实验室设备的详细信息;实验室使用情况表labuse_info:记录实验室使用情况详细信息。

3、结束语

本文根据高校实验室管理的特点和Web应用系统的发展,提出了利用MVC模式进行实验室管理系统开发的方案,并采用Struts框架实现了这个系统,系统由于采用MVC设计模式具有良好的可扩展性和可维护性。随着信息技术的快速发展和国家对高校教学质量要求的不断提高,基于网络平台的实验室管理系统的研究将会朝着更好的层次发展。

参考文献:

[1] 赖英旭,刘增辉. MVC模式在B/S系统开发中的应用研究[J]. 微计算机信息,2006.22

[2] 张伟,王康,徐文艳. 基于J2EE通用呼叫中心运营平台的研究与应用. 计算机工程, 2006.32

[3] 黄海,朱跃龙. J2EE设计模式与框架技术的应用研究. 计算机与现代化,2006.5

[4] 刘春花,王忠民. 基于MVC模式的远程评议系统的设计与实现. 计算机工程与设计,2008.13

[5] 彭浩. 基于MVC架构的学生管理系统的设计与实现. 软件导刊,2008.6

[6] 李冬云,赵亦松. 基于MVC模式的会议管理系统的设计. 北京联合大学学报, 2008.4

[7] 孙小红,孙文玲,丁宗湖. 基于MVC模式网上报名系统的设计与实现. 中央民族大学学报,2007.1

猜你喜欢

框架
PISA财经素养评估框架比较
框架
CDIO框架下欧盟应用技术院校QAEMP配对互评项目的实践与启示
浅谈框架网页的学习
基于Jmeter对Node框架性能的测试研究
一元一次不等式和一元一次不等式组