APP下载

基于JavaEE的研究生信息管理系统研究与实现

2017-07-31张俊王旭汤永利

科技视界 2017年8期
关键词:管理系统

张俊+王旭+汤永利

【摘 要】为适应当前研究生培养的需要,改善研究生信息管理手段效率低、资源浪费大等缺点,提出了基于Java EE 体系结构的研究生管理系统,主要采用了ORM技术、Struts框架技术、Hibernate技术、Spring技术等。该系统已应用于学校对研究生的信息管理,取得良好的效果。

【关键词】JavaEE;SSH;管理系统

【Abstract】In order to adopt the requirement of the graduate education, improve the shortcomings that the graduate information managements low efficiency, fussy operation and resource waste. This paper proposed a graduate information management system based on JavaEE, which mainly adopts the technologies of ORM, Struts, Hibernate and Spring. The system has been applied to information management of graduate students in university and behaved well.

【Key words】JavaEE; SSH; Management system

0 概述

近年来,国内高校的研究生招生人数在不断增加,教师队伍也在不断壮大,培养模式也在不断更新,同时也带来了许多问题,比如要管理和记录的研究生的信息在不断增长,然而传统的信息管理办法已经不能满足当前研究生培养的需要了,各个高校的研究生管理系统都是一个复杂而且庞大的信息管理系统,根据各个学校的特色都有各有自己的特点,但是它的使用群体涉及面广,不仅包括研究生,教师还包含学校中的所有部门、管理员等,这些都是使用和管理研究生管理系统的关键要素。基于JavaEE(Java 2 Platform Enterprise Edition, Java2平台企业版)的信息管理系统是一种新型的信息系统,凭借其特点和优势,例如可行度高、灵活性强、易维护性和、伸缩性好等被各个行业广泛的应用。在实际工程应用中,基于JavaEE架构的信息管理系统,很好地克服了传统管理模式的问题,同时也能保证工作的效率。但是我们还是面临很多问题,比如如何在实际工程中更好地高效地实现基于JavaEE架构的研究生信息管理系统,并且能够使其在实际管理中发挥应有的作用,我们仍然需要对基于JavaEE的信息管理系统相关的内容进行深入和仔细的分析。如何实现对基于JavaEE的研究生信息管理系统的设计与开发,已经成为相关编程技术人员必须思索和面对的问题。

根据我校当前对研究生信息管理的需求,本文设计并实现了一个基于JavaEE框架的研究生管理系统[1],实现了对不同研究生的各类信息的分类保存、相关信息的整理以及对各种信息的查看等基本功能,该系统可以为不同的人员分配相应的权限,并且能够做到对研究生的个人信息进行合理、高效和安全的管理。

1 JavaEE平台和SSH架构

1.1 JavaEE体系

JavaEE是Sun公司首先提出的,其作用是用来开发、装配、部署各种基于Java的分布式应用标准平台。它的主要分层结构是:客户层、WEB表示层、业务逻辑层、持久层、数据库层[2]。WEB表示层主要由Struts框架来实现,其主要作用是将信息资源、标签及JSP整合,并使得显示逻辑与业务逻辑相互分离开来;业务逻辑层主要由Spring框架来实现,其主要目的是能够把轻量级容器作为核心,利用面向切面的编程思想,在非侵入性方面让编码得以很好的实现;持久层主要使用Hibernate来实现,其主要的功能是实现数据库表和领域模型对象间的ORM映射。

1.2 Struts框架

Struts框架是一个Web层应用框架,其主要的特点是免费、开源。并且能够很好的继承基于MVC的设计模式,它能够具体化的表现出MVC设计模式,改架构能够为开发人员提供健壮性强的、代码可重复利用率高的、相关功能的可扩展性强的应用开发框架,这样一来就能大大减少相关开发者在运用MVC模式设计相关Web应用的时间,可以明显地提高开发效率,缩短开发的周期,减少开发的成本。Struts框架实际上是基于MVC设计模式的一个典型实现例子,同时也是最早的Java开源框架中的一员,经过多年的发展已经成为目前Java Web框架的实际标准。Struts框架中本身就定义了通用的Controller(控制器),通过配置文件(一般是Struts-config.xml)能夠使得Model(模型)和View(视图)相互分离,并且能够以Action的概念对用户所发出的请求进行封装,这样就使得相关工程的代码更加的清晰易读。利用Struts开发MVC系统可大大加快开发的速度。

1.3 Spring框架

Spring框架的出现改变了Java世界。它的主要目的是使现有的JavaEE技术更加容易地被人使用,并且能够促使开发者养成良好的开发习惯。它实际上是一个轻量级的框架,已经在JavaEE技术的各个方面得到了体现。它主要作为依赖注入容器和AOP实现存在。该框架能够不定期地提供各种声明式事务、能够有效地支持DAO层等,这样就使得开发功能大大的简化了,当然Spring框架也能够很方便地与Struts框架、Hibernate框架等技术的集成。使用Spring框架和Struts框架还有Hibernate框架集成技术,可以使我们的应用程序达到更加健壮和稳固的特点,并且能够保证应用程序的轻巧和优雅。它实际上也是一个开源的框架,其创建的目的主要是为了降低企业级应用开发的复杂性,一般来说,Spring框架是一个轻量级的控制反转和面向切面的容器框架,从而言,无论是何种Java应用其实际都可以从Spring框架中的简单性、可测试性和松耦合的角度中得到优化,该框架的主要目的就是为了降低企业级应用系统的开发复杂度。

1.4 Hibernate框架

Hibernate框架是一个良好的持久化框架,其主要功能是负责简化把对象数据保存到数据库中的操作或者是从数据库中读取数据并封装到对象的操作。改框架的实现主要是对JDBC进行了比较轻量级的对象封装,并且能够通过简单的配置就可以替换掉JDBC复杂的实现代码,实际上,Hibernate框架对数据库操作的处理方式代表了当前技术的发展趋势。

把JavaEE技术做为SSH框架的基础[3],在实际的系统里,表示层用Struts框架来实现,其主要的优势有两点,一是能够对用户的请求使用Struts的用标记库来管理,并且同时发出对应请求的响应;二是从具体的业务逻辑方面考虑,可以使用框架中的控制器做相对应的具体控制。Spring框架和Struts框架在实际项目中可以达到无缝的对接,在依赖注射及事务管理的应用程序中,两个框架的有效组合可以发挥出独特的作用,所以在处理业务逻辑方面极为高效,使用率很高。在持久层上采用Hibernate技术,在对象封装方面,相对于JDBC而言是轻量级的。

2 系统功能分析

本系统旨在充分利用现有高效校园网络的普及和便利,为高校师生以及研究生院的管理人员提供从学籍管理、培养管理到日常事务各个方面的管理,对研究生在校期间的各个方面,从入校到毕业的整个过程实现了基于JavaEE的全过程操作与管理[4-5],包括学生培养管理、教师管理、导师学生双向选择管理、培养方案、考试安排设置、排课设置、系统管理等,其系统功能模块如图1所示。

(1)学生培养管理是指对学生基本信息情况的管理,具体地主要包括了学生的个人信息、学生的注册情况、学生的学费缴费情况、以及住宿情况等,同时系统也还提供了丰富的子接口,在具体学生情况发生改变的时候能够具体的应变,这些子接口能够保证把从招生办发来的学生报名信息库和学生报考信息做统一的导入操作,同时也还实现了采集学生当前照片的功能。

(2)教师管理主要包括对教师的基本信息的管理、教师的具体教学情况的管理、教师个人的简历的管理、教师具体指导的研究生人生和姓名、教师已经发表的相关学术成果、教师目前的实际科研情况等的管理。

(3)导师学生双向选择主要包括对导师相关资格的审查管理,导师指导的研究生的情况管理等模块。

(4)培养方案可以分为专业培养方案和个人培养方案。专业培养方案的管理主要是对各个不同的年级和各个不同的专业的学生制定不同的培养方案,其功能是可以根据上一年的具体培养方案自动为下一学年生成相关的培养方案,并可以对个别课程进行优化和调整,同时还可以对某些课程设置其是否是的可选的;个人培养计划管理主要是对每个学生在服务器端制定其个人的专门的培养计划,每個学生都不一样,主要包含一个学生的可选的课程,然后由研究生培养办里面的相关管理人员和学院里面的相关人员对学生制定的个人培养方案进行审核,同时培养办的相关管理人员有权限对学生的个人培养计划进行有目的调整和修改。学生可选的课程可以是必选课程,也可以是选修课程,这个主要看具体学生的具体情况,同时也是需要学生根据自己的特长和具体的时间安排进行个性化的选课。

(5)考试安排管理,主要是真对不同的课程进行相关的考试安排,包括监考老师、考试教室、考生人数、考试时间的设置,并且能够提供自动考试安排和手动考试安排的算法。

(6)成绩管理,主要是由老师在网络端给选择课程的学生上传学生的考试成绩,提交后需由学院相关人员和培养办相关负责人员进行审核,而且需要提供设置平时成绩和考试成绩占总成绩百分比的功能。还有学生在网络端查询成绩的功能。

(7)系统管理包括系统设置,主要包括管理员或者用户密码的修改,用户权限的设置以及相关数据的备份和恢复。

3 系统设计与实现

3.1 系统三层架构的调用

根据对以上研究生管理系统的功能和需求的分析与架构,我们把微软DNA架构中定义的表现层、业务层和数据存储层做了更详细的划分,其具体调用如图2所示:

由图2可以看出,虽然从具体的系统功能上看,该架构可以分为七层,但是从实际上的宏观方面来考虑,其思想就是一个典型的三层架构设计。本文将其详细地划分,目的主要是为了后期具体的实现和部署、开发与维护相应的企业级数据库系统而服务的。我们使中间层、实现表示层和数据库层完全分离,这样的好处是在部署、开发和维护系统的过程中,使相关的费用和实现的成本大幅的降低。

3.2 系统架构设计

大多数的基于分布式Web应用的B/S结构模式和系统中实现的多模块划分,都是为了使得系统的可扩展性有所提高,并且可以减少层与层之间的耦合度,系统的表示层、数据库层、业务逻辑层分别采用目前轻量级架构中的Struts技术、Hibernate技术和Spring技术来实现[6]。使用由Struts、 Hibernate和Spring整合而成的架构,设计的目标是要提供一个简洁的功能完善的Web框架,并且可以有效地提高组件间可复用性,使得降低层与层之间的耦合度有明显的降低,使得本文所设计的系统咋可扩展性和可维护性上有所提高。本文系统架构如图3所示:

主要由Struts框架、Spring框架和Hibernate框架整合后的系统设计框架,其主要的目的是:为文本系统实现简洁化的、功能性强的框架,让各个组件之间的复用性大大提高高,层与层之间的耦合性明显降低,这样就能使得无论是在维护系统还是需要对系统具体功能进行扩展方面都更加方便、快捷和高效[7]。把SSH框架用3层表示:分别是表示层、业务层、持久层。在具体功能的编程实现方面,每层都能够有明确的分工,与另外两层功能没有相互重合的地方,同时也可以保证每层之间同其他两层在功能上完全的分离,具体的通信只需在三个层间加上统一接口即可。在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理;在具体的业务层中,管理不同的服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件,并且可以完成具体的业务逻辑,同时也可以提供相应的事务处理组件和缓冲池等容器组件,用来提升系统的性能,也可以保证数据的完整性;在持久层中,主要依赖Hibernate框架的对象化映射和数据库交互功能,能够高效的处理DAO组件请求的数据,并返回相应的处理结果。采用文本所说的开发模型,不仅可以实现了视图(view)、控制器(controller)与模型(model)的彻底分离,而且还实现了具体的业务逻辑层与持久层的相互分离。这样可以使得无论前端如何变化,模型层的变化都基本不需要大的变动,并且保证数据库的变化不会对前端有明显的影响,明显提高了系统的可复用性。

4 结束语

本文分析了研究生管理系统的特点,给出了系统的功能模块,并且利用轻量级JavaEE对系统进行详细的设计和实现,通过试运行,该系统能够基本满足高效对研究生工作的需求,目前利用JavaEE开发企业级的信息管理应用仍处于探索阶段,存在各种各样的实际问题,相关方面仍然有待进一步的研究。

【参考文献】

[1]肖茂兵,卢振环.JavaEE 应用技术框架选型[J].华南金融电脑,2006(8).

[2]唐倩,张伟,李伟诚.基于SSH架构的智能社区信息管理系统的设计与实现[J].计算机时代,2012(12):32-40.

[3]梁立新.项目实践精解基于Struts-Spring-Hibernate的Java应用开发[M].北京:电子工业出版社,2006.

[4]冯润民,等.基于SSH的高校学生管理系统设计与实现[J].计算机工程,2009( 6) :1958 - 1961.

[5]杨晓毅,王红亮.基于RBAC模型和JAVA架构的论坛管理系统的设计与实现[J].福建电脑.2011(12).

[6]伊晓强.JavaEE全实例教程[M].北京:电子工业出版社,2009.

[7]陆荣幸,郁洲,阮永良,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003(3):144-146.

[责任编辑:朱丽娜]

猜你喜欢

管理系统
基于James的院内邮件管理系统的实现
基于Excel固定资产管理系统的设计与实现
联调联试管理系统的研究及实现
基于LED联动显示的违停管理系统
停车场寻车管理系统
生产管理系统概述
船舶压载水管理系统
海盾压载水管理系统
基于SNMP的IP地址管理系统开发与应用
基于RFID的仓储管理系统实现