APP下载

基于MVC 模式和SSH 框架的高校科研管理系统设计与实现

2014-06-18姚敏王方石

电脑知识与技术 2014年11期
关键词:科研管理

姚敏+王方石

摘要:为实现科研管理信息化和资源共享,该文结合华北科技学院科研管理工作实际,基于MVC模式,通过构建SSH框架,并结合Ajax等技术开发了基于Web的科研管理信息系统。实现了教师论文、教材、专利、软件等学术成果的审核、奖励管理,以及纵横向、校内基金项目全过程监控与管理。

关键词:科研管理;MVC;SSH框架

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)11-2485-03

Abstract: In order to achieve the teaching and research management of information technology, combined with the actual situation of the North China Institute of Science and Technology research management, This paper reports the realization of the whole system bu constructing SSH framework based on MVC mode and in combination of using other technologies such as Ajax. The system can review the teachers academic achievements, such as research papers, monographs, patents, software, etc. and completes the whole process management of scientific research project.

Key words: research management; MVC; SSH

高校科研工作作为高等院校除人才培养之外的一项基本工作,是推动社会进步、解决各行业关键技术和突出问题的主要动力。高校的科研活动和能力已成为衡量一所高校综合实力的重要指标[1]。随着国家、各级部门、高校自身对科学研究活动的重视及资金投入的不断增加,高校各级、各类科研项目的数量、质量、规模在逐步提升;科研人员逐步增多,几乎所有的高校教师都是科研项目的参与者;同时,所取得的科研成果的种类、数量也在逐年增多。由此,日常科研管理任务逐年加重,科研业务管理人员以及科研人员重复性劳动增多,工作效率低下;科研活动所产生的信息资源无法高效、安全保存并共享,不能为学校科研管理决策者提供依据。面对以上问题和挑战,基于先进的计算机网络、数据库技术,建立一个符合自身工作流程和需求变化的,同时具有很强的可扩充性、可靠性和可维护性的科研管理信息系统是各高校的迫切要求[2] [3]。

基于MVC模式的SSH(Strut、Spring和Hibernate)框架是一种轻量级的应用系统解决方案。基于该架构的WEB应用系统,功能强大,开发效率高,系统安全性、稳定性、可扩展性强。该文以华北科技学院科研管理系统的开发为例,阐述了应用 SSH框架建立高校科研管理系统的设计与实现方法。

1 系统架构

1.1 MVC设计模式

MVC(Model-View-Controller)是一种基于模型视图控制器的软件设计模式,在MVC模式下,模型是应用程序的核心,代表应用程序的业务逻辑,它包含要完成任务需要的全部数据和行为,并能够把要显示的数据提供给视图。视图是应用程序的外在表现,用户与之交互的界面,用户可以看到。控制器用于处理用户输入,并负责将模型映射到视图中 [4]。传统的WEB开发模式将数据处理功能和网页页面显示等功能耦合于页面代码中,因此,其系统耦合度高,维护性和可扩展性差,MVC成功的解决了此问题,已被越来越多的开发者所推崇,成为了成熟、优秀的设计模式。

1.2 SSH框架

SSH是目前拥有最广泛应用的 J2EE 架构,是 Struts+Spring+Hibernate 3 种技术的有机融合 [5]。

Struts 是基于 MVC 的框架,充当控制器的角色,负责接收用户输入、调用服务层的方法后将结果返回数据表现层。Struts中的核心控制器是ActionServlet类,它负责拦截来自用户的请求,并将其发送给Action类,此时, Action类将调用模型的业务逻辑方法来处理该请求,并最终将处理结果返给JSP页面显示。

Hibernate在程序中充当模型的角色,利用XML 文件,它能够将数据库的字段和实体类字段之间的关系对应起来,使关系数据库中的数据在程序中直接变为程序中的对象。同时,Hibernate 还提供了强大功能的事务管理和缓存机制。科研管理信息系统的业务逻辑层通过 Hibernate 的缓存访问数据可以提高程序的处理速度,减少数据库的开销。

Spring在其中充当了装配工厂的角色,它通过 XML 配置文件将各子层的实例组织起来,并将各子层间的依赖关系集中表现在配置文档中,使系统的结构更加清晰、合理。

1.3 系统总体结构设计

本系统运用 MVC 模式,基于 SSH 框架,将输入、核心处理、输出流程按照模型、视图、控制的方式进行分离,分为客户层、EJB层、数据访问层3个层次客户层处理与用户的交互,运行在客户端的浏览器中。EJB层主要用于实现核心业务逻辑与规则化处理,完成科研数据查询和更新业务、用户权限判定等。EJB层功能主要由其组件完成,Servlet用于实现控制逻辑,负责处理Http请求;实体Bean组件实现业务逻辑,并访问数据库。当客户层将请求传递给EJB层时,控制Servlet首先检验其数据的合法性并进行格式转换,然后调用实体Bean组件进行业务逻辑处理,并访问数据库。 最后通过 JSP页面将处理的结果反馈到客户端。通过以上的各类逻辑处理决定操作是否可以继续,确保科研管理系统的正常运行。endprint

数据访问层采用通用的关系型数据库管理科研信息平台。EJB层中的实体Bean组件通过JDBC连接数据库,并与系统进行信息交互,完成核心存储库的数据访问和逻辑存取。 数据访问层与EJB层间JDBC灵活机制的增加,使整个科研管理系统具有好的可重用性和较强的跨平台操作性。

2 系统功能模块设计

高校科研管理的业务主要涉及学术论文、教材(论著)、专利、软件等教师科研学术成果的认定,包括其成果级别及奖励的认定;校内基金课题的全过程管理,其他国家、省部级纵向课题及横向课题的管理;科研工作量审核等。在参照华北科技学院有关科研项目与成果管理的规章制度,以及学校自身科研项目与成果管理的内容、工作流程基础上,将系统划分为如下业务模块:学术论文、教材、专利、软件等学术成果管理模块,科研项目管理模块,数据查询与统计模块,系统控制模块2.1 学术成果管理模块

该模块主要用于科研教师论文、教材著作、专利、软件等学术成果的审核及奖励标准的核定。教师可以将自己的学术成果信息以及成果获奖或被引用检索的相关佐证材料,按要求填写上报。科研处管理员对教师新录入的学术成果进行审核或删除操作,同时进行奖励标准的核定。

2.2 科研项目管理模块

该模块实现科研教师纵向、横向、校内基金项目的全过程管理与监督,以及科研成果奖励的核定。包括纵向项目管理、校内基金项目管理、横向项目管理以及科研项目成果奖励管理四个子模块。

纵向、横向项目管理子模块:科研项目负责人可对录入项目相关信息,上传横向项目免税申请书、绩效考核报告、中期检查报告、结题报告等项目实施过程中的各种文件及成果。科研管理人员可设置项目绩效考核、中期检查、结题等提醒时间,对横向项目免税申请进行审核。检查、监控项目的实施情况。

校内基金项目管理子模块:实现科研项目立项申请、中期检查、结题、评奖等全过程管理。科研教师可对项目名称、所属单位、参加人员及排名、指出经费的信息的进行录入,可上传项目申请书、立项合同书、中期检查报告、结题申请书、结题材料,可随时查看项目申请状态、中期检查状态等。科研管理员可以对项目申请进行审核、送审、评审意见汇总,可以对中期检查报告、结题材料进行审核。评审专家可以对申请书进行评审,并填写评审意见。

科研成果奖励管理子模块:科研教师可录入和上传科研项目成果奖的相关信息及佐证材料。科研管理人员可对新录入的科研项目成果奖进行审核或删除操作。

2.3 数据查询与统计模块

该模块实现对全校科研教师所有学术成果及奖励的多元化、精细化综合查询与统计,满足教师、教学秘书、科研管理人员等不同用户,以及教育部、河北省教育厅、国家安全生产总局、学校等各级部门数据查询统计需求,打印相应的统计报表。

2.4 系统控制模块

该模块主要用于管理员进行系统配置管理、用户管理以及其他各功能模块中需要系统管理员自定义项的设置。如系统用户的创建及其权限的定义,用户所属单位、学科、期刊名、会议名、期刊级别等的自定义设置。

3 系统关键技术实现

3.1 异步数据访问

为加快系统页面更新速度,使用户有一种实时响应的体验,通过在系统客户端增加Ajax引擎,实现客户端和用户数据异步访问。当用户打开一个Web页面是,就载入Ajax引擎。Ajax引擎初始化后,开始初始化XMLHttpRequest对象,捕捉用户行为,开始于用户的交互。当用户的某些请求出发Ajax是,Ajax在后台将用户的数据异步请求送到控制器ActionServlet处理。3.2 系统安全性

科研管理系统安全性主要是数据安全问题,包括用户登录信息,学术成果及科研项目信息安全等。为避免非法用户任意篡改数据,系统在接收到数据修改、删除请求时,首先要判断发出该请求的用户是否具有相应的权限。由于用户权限数据存放于数据库中,同时用户更新数据的页面通常是连续的,如果每接收一次数据更新请求就查询一次数据库,系统的效率就会很低。因此,为了提高系统效率,系统采用了JSP 的 Session 对象。当用户首次访问服务器上的一个页面时,JSP引擎就会生成一个 Session 对象,该 Session 对象即调用相应的方法,存储该客户访问各个页面期间提交的各种信息,如姓名、密码等。该 Session 对象会被分配一个的DI号(String 类型),根据这个 ID 号 JPS引擎与用户间就建立了一一对应关系。这样,系统在判定某用户权限时,只需访问一次数据库,将一些有用的信息存储在 Session 中,以后系统在执行用户请求时,可直接访问 Session 中存放的信息,由此,避免了反复访问后台数据,系统运行效率得到了提高。

4 结束语

本文结合华北科技学院科研项目及学术成果管理内容、工作流程,采用基于 J2EE的 MVC 模式,利用 Struts、Spring 和 Hibernate 的整合架构设计和实现了一个基于 Web 的高校科研管理信息系统。系统功能简捷、实用,同时考虑到将来科研管理理念的变迁和管理模式的变革,系统预留了一定数量的接口用于系统功能扩充,保证了系统的可扩展性。科研管理信息系统的实施大大提高了科研教师及管理部门的效率,实现了学校科研工作流程化、规范化管理。

参考文献:

[1] 许博.基于.NET三层架构的科研管理系统的开发与应用[J].实验室研究与探索,2013(2):188-190.

[2] 台德艺,王昆仑,郭昌健.高校科研信息管理系统的设计与实现[J].计算机工程与设计,2009(9):2339-2341.

[3] 刘晨霞,张明.高校科研管理信息系统实践初探[J].科技管理研究,2009(8):253-254.

[4] 吴天德,周相兵.利用开源软件设计实现科研统计分析系统[J].科技管理研究,2012(1):162-166.

[5] 李雷孝,刘晓军,刘利民,等.基于SSH整合框架的科研项目管理系统的设计与实现[J].内蒙古农业大学学报:自然科学版,2012(1):210-214.endprint

数据访问层采用通用的关系型数据库管理科研信息平台。EJB层中的实体Bean组件通过JDBC连接数据库,并与系统进行信息交互,完成核心存储库的数据访问和逻辑存取。 数据访问层与EJB层间JDBC灵活机制的增加,使整个科研管理系统具有好的可重用性和较强的跨平台操作性。

2 系统功能模块设计

高校科研管理的业务主要涉及学术论文、教材(论著)、专利、软件等教师科研学术成果的认定,包括其成果级别及奖励的认定;校内基金课题的全过程管理,其他国家、省部级纵向课题及横向课题的管理;科研工作量审核等。在参照华北科技学院有关科研项目与成果管理的规章制度,以及学校自身科研项目与成果管理的内容、工作流程基础上,将系统划分为如下业务模块:学术论文、教材、专利、软件等学术成果管理模块,科研项目管理模块,数据查询与统计模块,系统控制模块2.1 学术成果管理模块

该模块主要用于科研教师论文、教材著作、专利、软件等学术成果的审核及奖励标准的核定。教师可以将自己的学术成果信息以及成果获奖或被引用检索的相关佐证材料,按要求填写上报。科研处管理员对教师新录入的学术成果进行审核或删除操作,同时进行奖励标准的核定。

2.2 科研项目管理模块

该模块实现科研教师纵向、横向、校内基金项目的全过程管理与监督,以及科研成果奖励的核定。包括纵向项目管理、校内基金项目管理、横向项目管理以及科研项目成果奖励管理四个子模块。

纵向、横向项目管理子模块:科研项目负责人可对录入项目相关信息,上传横向项目免税申请书、绩效考核报告、中期检查报告、结题报告等项目实施过程中的各种文件及成果。科研管理人员可设置项目绩效考核、中期检查、结题等提醒时间,对横向项目免税申请进行审核。检查、监控项目的实施情况。

校内基金项目管理子模块:实现科研项目立项申请、中期检查、结题、评奖等全过程管理。科研教师可对项目名称、所属单位、参加人员及排名、指出经费的信息的进行录入,可上传项目申请书、立项合同书、中期检查报告、结题申请书、结题材料,可随时查看项目申请状态、中期检查状态等。科研管理员可以对项目申请进行审核、送审、评审意见汇总,可以对中期检查报告、结题材料进行审核。评审专家可以对申请书进行评审,并填写评审意见。

科研成果奖励管理子模块:科研教师可录入和上传科研项目成果奖的相关信息及佐证材料。科研管理人员可对新录入的科研项目成果奖进行审核或删除操作。

2.3 数据查询与统计模块

该模块实现对全校科研教师所有学术成果及奖励的多元化、精细化综合查询与统计,满足教师、教学秘书、科研管理人员等不同用户,以及教育部、河北省教育厅、国家安全生产总局、学校等各级部门数据查询统计需求,打印相应的统计报表。

2.4 系统控制模块

该模块主要用于管理员进行系统配置管理、用户管理以及其他各功能模块中需要系统管理员自定义项的设置。如系统用户的创建及其权限的定义,用户所属单位、学科、期刊名、会议名、期刊级别等的自定义设置。

3 系统关键技术实现

3.1 异步数据访问

为加快系统页面更新速度,使用户有一种实时响应的体验,通过在系统客户端增加Ajax引擎,实现客户端和用户数据异步访问。当用户打开一个Web页面是,就载入Ajax引擎。Ajax引擎初始化后,开始初始化XMLHttpRequest对象,捕捉用户行为,开始于用户的交互。当用户的某些请求出发Ajax是,Ajax在后台将用户的数据异步请求送到控制器ActionServlet处理。3.2 系统安全性

科研管理系统安全性主要是数据安全问题,包括用户登录信息,学术成果及科研项目信息安全等。为避免非法用户任意篡改数据,系统在接收到数据修改、删除请求时,首先要判断发出该请求的用户是否具有相应的权限。由于用户权限数据存放于数据库中,同时用户更新数据的页面通常是连续的,如果每接收一次数据更新请求就查询一次数据库,系统的效率就会很低。因此,为了提高系统效率,系统采用了JSP 的 Session 对象。当用户首次访问服务器上的一个页面时,JSP引擎就会生成一个 Session 对象,该 Session 对象即调用相应的方法,存储该客户访问各个页面期间提交的各种信息,如姓名、密码等。该 Session 对象会被分配一个的DI号(String 类型),根据这个 ID 号 JPS引擎与用户间就建立了一一对应关系。这样,系统在判定某用户权限时,只需访问一次数据库,将一些有用的信息存储在 Session 中,以后系统在执行用户请求时,可直接访问 Session 中存放的信息,由此,避免了反复访问后台数据,系统运行效率得到了提高。

4 结束语

本文结合华北科技学院科研项目及学术成果管理内容、工作流程,采用基于 J2EE的 MVC 模式,利用 Struts、Spring 和 Hibernate 的整合架构设计和实现了一个基于 Web 的高校科研管理信息系统。系统功能简捷、实用,同时考虑到将来科研管理理念的变迁和管理模式的变革,系统预留了一定数量的接口用于系统功能扩充,保证了系统的可扩展性。科研管理信息系统的实施大大提高了科研教师及管理部门的效率,实现了学校科研工作流程化、规范化管理。

参考文献:

[1] 许博.基于.NET三层架构的科研管理系统的开发与应用[J].实验室研究与探索,2013(2):188-190.

[2] 台德艺,王昆仑,郭昌健.高校科研信息管理系统的设计与实现[J].计算机工程与设计,2009(9):2339-2341.

[3] 刘晨霞,张明.高校科研管理信息系统实践初探[J].科技管理研究,2009(8):253-254.

[4] 吴天德,周相兵.利用开源软件设计实现科研统计分析系统[J].科技管理研究,2012(1):162-166.

[5] 李雷孝,刘晓军,刘利民,等.基于SSH整合框架的科研项目管理系统的设计与实现[J].内蒙古农业大学学报:自然科学版,2012(1):210-214.endprint

数据访问层采用通用的关系型数据库管理科研信息平台。EJB层中的实体Bean组件通过JDBC连接数据库,并与系统进行信息交互,完成核心存储库的数据访问和逻辑存取。 数据访问层与EJB层间JDBC灵活机制的增加,使整个科研管理系统具有好的可重用性和较强的跨平台操作性。

2 系统功能模块设计

高校科研管理的业务主要涉及学术论文、教材(论著)、专利、软件等教师科研学术成果的认定,包括其成果级别及奖励的认定;校内基金课题的全过程管理,其他国家、省部级纵向课题及横向课题的管理;科研工作量审核等。在参照华北科技学院有关科研项目与成果管理的规章制度,以及学校自身科研项目与成果管理的内容、工作流程基础上,将系统划分为如下业务模块:学术论文、教材、专利、软件等学术成果管理模块,科研项目管理模块,数据查询与统计模块,系统控制模块2.1 学术成果管理模块

该模块主要用于科研教师论文、教材著作、专利、软件等学术成果的审核及奖励标准的核定。教师可以将自己的学术成果信息以及成果获奖或被引用检索的相关佐证材料,按要求填写上报。科研处管理员对教师新录入的学术成果进行审核或删除操作,同时进行奖励标准的核定。

2.2 科研项目管理模块

该模块实现科研教师纵向、横向、校内基金项目的全过程管理与监督,以及科研成果奖励的核定。包括纵向项目管理、校内基金项目管理、横向项目管理以及科研项目成果奖励管理四个子模块。

纵向、横向项目管理子模块:科研项目负责人可对录入项目相关信息,上传横向项目免税申请书、绩效考核报告、中期检查报告、结题报告等项目实施过程中的各种文件及成果。科研管理人员可设置项目绩效考核、中期检查、结题等提醒时间,对横向项目免税申请进行审核。检查、监控项目的实施情况。

校内基金项目管理子模块:实现科研项目立项申请、中期检查、结题、评奖等全过程管理。科研教师可对项目名称、所属单位、参加人员及排名、指出经费的信息的进行录入,可上传项目申请书、立项合同书、中期检查报告、结题申请书、结题材料,可随时查看项目申请状态、中期检查状态等。科研管理员可以对项目申请进行审核、送审、评审意见汇总,可以对中期检查报告、结题材料进行审核。评审专家可以对申请书进行评审,并填写评审意见。

科研成果奖励管理子模块:科研教师可录入和上传科研项目成果奖的相关信息及佐证材料。科研管理人员可对新录入的科研项目成果奖进行审核或删除操作。

2.3 数据查询与统计模块

该模块实现对全校科研教师所有学术成果及奖励的多元化、精细化综合查询与统计,满足教师、教学秘书、科研管理人员等不同用户,以及教育部、河北省教育厅、国家安全生产总局、学校等各级部门数据查询统计需求,打印相应的统计报表。

2.4 系统控制模块

该模块主要用于管理员进行系统配置管理、用户管理以及其他各功能模块中需要系统管理员自定义项的设置。如系统用户的创建及其权限的定义,用户所属单位、学科、期刊名、会议名、期刊级别等的自定义设置。

3 系统关键技术实现

3.1 异步数据访问

为加快系统页面更新速度,使用户有一种实时响应的体验,通过在系统客户端增加Ajax引擎,实现客户端和用户数据异步访问。当用户打开一个Web页面是,就载入Ajax引擎。Ajax引擎初始化后,开始初始化XMLHttpRequest对象,捕捉用户行为,开始于用户的交互。当用户的某些请求出发Ajax是,Ajax在后台将用户的数据异步请求送到控制器ActionServlet处理。3.2 系统安全性

科研管理系统安全性主要是数据安全问题,包括用户登录信息,学术成果及科研项目信息安全等。为避免非法用户任意篡改数据,系统在接收到数据修改、删除请求时,首先要判断发出该请求的用户是否具有相应的权限。由于用户权限数据存放于数据库中,同时用户更新数据的页面通常是连续的,如果每接收一次数据更新请求就查询一次数据库,系统的效率就会很低。因此,为了提高系统效率,系统采用了JSP 的 Session 对象。当用户首次访问服务器上的一个页面时,JSP引擎就会生成一个 Session 对象,该 Session 对象即调用相应的方法,存储该客户访问各个页面期间提交的各种信息,如姓名、密码等。该 Session 对象会被分配一个的DI号(String 类型),根据这个 ID 号 JPS引擎与用户间就建立了一一对应关系。这样,系统在判定某用户权限时,只需访问一次数据库,将一些有用的信息存储在 Session 中,以后系统在执行用户请求时,可直接访问 Session 中存放的信息,由此,避免了反复访问后台数据,系统运行效率得到了提高。

4 结束语

本文结合华北科技学院科研项目及学术成果管理内容、工作流程,采用基于 J2EE的 MVC 模式,利用 Struts、Spring 和 Hibernate 的整合架构设计和实现了一个基于 Web 的高校科研管理信息系统。系统功能简捷、实用,同时考虑到将来科研管理理念的变迁和管理模式的变革,系统预留了一定数量的接口用于系统功能扩充,保证了系统的可扩展性。科研管理信息系统的实施大大提高了科研教师及管理部门的效率,实现了学校科研工作流程化、规范化管理。

参考文献:

[1] 许博.基于.NET三层架构的科研管理系统的开发与应用[J].实验室研究与探索,2013(2):188-190.

[2] 台德艺,王昆仑,郭昌健.高校科研信息管理系统的设计与实现[J].计算机工程与设计,2009(9):2339-2341.

[3] 刘晨霞,张明.高校科研管理信息系统实践初探[J].科技管理研究,2009(8):253-254.

[4] 吴天德,周相兵.利用开源软件设计实现科研统计分析系统[J].科技管理研究,2012(1):162-166.

[5] 李雷孝,刘晓军,刘利民,等.基于SSH整合框架的科研项目管理系统的设计与实现[J].内蒙古农业大学学报:自然科学版,2012(1):210-214.endprint

猜你喜欢

科研管理
浅议高等学校基层科研管理队伍素质建设
论民办高校科研管理激励机制创新