当前位置:文档之家› 基于轻量级开源框架的科研论文管理系统设计与实现

基于轻量级开源框架的科研论文管理系统设计与实现

基于轻量级开源框架的科研论文管理系统设计与实现摘要:结合笔者开发高等学校科研论文管理系统的实践,首先介绍了MVC开发模式和Struts开发框架的工作原理,然后分析了该科研论文管理系统的整体设计架构,讲述了Struts实现MVC模式的WEB应用过程中的关键技术及应用,验证了该框架的可行性,提高了软件的性能和可维护性,开发出安全、高质量、易扩展的科研论文管理系统。

关键词:MVC;科研论文管理系统;Struts;Spring;Hibernate 1轻量级开源框架1.1Struts体系结构Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。

通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web 开发提供了具有高可配置性的MVC开发模式。

Struts有其自己的控制器,同时整合了其他的一些技术去实现模型层和视图层。

在模型层,Struts可以很容易地与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。

在视图层,Struts能够与JSP、XSL等这些表示层组件相结合。

Struts体系结构实现了MVC设计模式的概念,它将Model、View 和Controller分别映射到Web应用中的组件。

Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping 来完成。

Struts框架的基本组件结构图如图1所示。

1.2Spring框架Spring也是一个开源框架,是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

Spring框架的目的就是解决企业应用开发的复杂性,简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

Spring框架是一个优秀的框架,该框架具有以下几个特点:①轻量,从大小与开销两方面而言Spring都是轻量的;②Spring框架实现了控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。

当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象;③Spring框架提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

应用对象只实现它们应该做的——完成业务逻辑。

它们并不负责其它的系统级关注点。

另外,Spring框架包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,通过Spring可以配置每个bean如何被创建以及如何相互关联。

最后,Spring框架可以将简单的组件配置、组合成为复杂的应用。

在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里,这样充分简化了Spring框架的配置步骤。

1.3Hibernate框架对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配现象的技术。

本质上就是将数据从一种形式转换到另外一种形式。

这也同时暗示着额外的执行开销。

如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。

更重要的是用于控制转换的元数据需要提供和管理,这些花费要比维护手写的方案要少,就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC 的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的Java EE架构中取代CMP,完成数据持久化的重任。

2基于轻量级开源框架的科研论文管理系统的研究与设计2.1系统用例图用例建模是UML建模的一部分,主要是用来体现用户需求,并且根据用户需求建立模型它也是UML里最基础的部分。

用例建模的最主要功能就是用来表达系统的功能性需求或行为。

用例建模可分为用例图和用例描述。

用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。

用例描述用来详细描述用例图中每个用例,用文本文档来完成。

2.1.1科研人员部分的用例图科研人员主要能够实现添加、修改论文信息,论文资料上传,论文快速查询,个人资料修改等功能,其用例图如图2所示。

图2科研人员用例图2.1.2学院、学校级别科研管理人员部分的用例图本用例图代表了院、校两级科研管理人员的功能描述,两级管理人员都能实现论文审核、论文统计、导出统计结果、论文快速搜索等功能,其用例图如图3所示。

图3院、校级科研管理人员用例图2.1.3管理员部分的用例图系统管理员能够实现权限管理和下拉列表选项的动态管理,其用例图如图4所示2.2系统活动图活动图是UML中用于对系统的动态方面建模的5图4系统管理员用例图种图中的1种。

一张活动图从本质上说可以看作1个流程图,强调从活动到活动的控制流,可视地表现了系统对象群体的动态特征。

它在用例图之后提供了下一步系统分析中对系统的充分描述。

本论文分别从3个不同的角色给出了其活动图。

(1)系统管理员部分的活动图如图5所示。

图5系统管理员部分的活动图(2)普通科研人员部分活动图如图6所示。

图6科研人员部分的活动图(3)科研管理人员部分活动图如图7所示。

图7科研管理人员部分的活动图2.3类结构设计类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。

类图不显示暂时性信息。

类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。

类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。

类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系。

它用于描述系统的结构化设计。

类图(Class diagram)最基本的元素是类或者接口。

本论文主要以论文管理模块为例进行类图设计,其类图如图8所示。

图8论文管理模块类图2.4控制结构设计在Struts框架中,控制器由ActionServlet类和Action类来实现。

其中Action类来负责调用模型的方法,更改模型的状态,并帮助控制应用程序流程,它充当用户请求和业务逻辑之间的适配器,功能就是将请求和业务逻辑分开。

Action负责整个事件的流程控制。

在本系统中,包括与用户信息有关的事件、与论文信息有关的事件、与代码信息有关的事件,系统设计使用DispatchAction,所以在本系统中主要有3个Action:UserMngAction、PaperMngAction、CodeMngAction。

Action映射决定了Action与其它Web组件之间的关联,下图体现了系统部分Action 的入口、传递给Action的ActionForm、Action的出口,这是系统实现时的一个主题框架,是系统的主流程控制。

2.5系统架构设计从图9中可以看出,系统从整体逻辑上包含多个层次,主要分为客户层、表示逻辑层、业务逻辑层、业务数据层,下面从每一层的责任和技术实现上加以说明。

图9基于Java EE规范、B/S/S运行模式的应用框架体系结构(1)客户层:通过运行于客户端的浏览器为用户提供业务功能,是系统的人-机界面(User-Interface)部分。

客户层主要包括客户机和PDA、手机等移动设备,后者需要通过W AP协议转换同应用服务器进行交互。

我们选用在桌面操作系统占据主流的Windows系列和IE浏览器。

(2)表示逻辑层:以Servlet、JSP或者JSF的形式存在于Java EE应用服务器的WEB容器中,负责接收来自客户层的请求和数据,并为浏览器创建应用界面。

(3)业务逻辑层:主要以EJB组件的形式存在于Java EE应用服务器的EJB容器中,负责接收表示逻辑层的请求,由本层的业务组件协作完成一个独立的业务功能。

(4)业务数据层:通过关系型DBMS持久化保存应用系统的业务数据,位于业务逻辑层之后,由持久化对象服务层与本层实现数据存取。

3结束语建设科研论文管理系统是提高科研部门工作效率、提高管理水平的有效途径,是适应现代化科技发展水平的迫切需求,是提高高校整体水平的重要机遇。

作为科研管理信息系统的重要组成部分,科研论文管理信息系统实现了对论文信息的集中统计、管理,并能对相关数据进行统计、汇总,能为相关管理部门决策提供参考依据,实现数据网络信息化管理,避免重复劳动和时间浪费,从而有效提高科研效率。

本设计以济南大学科研部门为例,分析、实现了其中的论文管理模块。

在系统分析上,采用了面向对象的分析方法为指导,采用UML技术建立了系统的动静态模型,为系统的后续工作做好了铺垫。

在系统架构设计上,我们采用了基于MVC模式的Struts架构,系统的业务逻辑和页面分离,使系统具有层次机构清晰、易于分工协作、代码重用率较高、维护扩展性较好等优点。

在系统平台的选择上,我们选择Tomcat和MySql,它们功能丰富、性能优良、配置简单、操作使用方便,为系统的开发提供了强有力的支持。

参考文献:[1]冯相忠.基于MVC设计模式的Struts框架及其应用的研究[J].计算机技术与发展,2006(8).[2]杜明,李朝纯.Struts+EJB在J2EE平台上的设计与实现[J].计算机应用与研究,2005(3).[3]秦保华,张永进,孙毅.基于MVC设计模式和J2EE架构的Web 信息系统框架研究[J].现代电子技术, 2005(3).[4]孙卫琴.精通Struts基于MVC Java Web的设计与开发[M].北京:电子工业出版社,2004.[5]邱述威,朱达荣,张霖.基于MVC+Struts的科研项目管理系统的设计与实现[J].安徽建筑工业学院学报:自然科学版,2006 (1).[6]WANG NIHONG,LI JINFENG.Develop Web application with MVC mechanis realized by Struts[J].Journal Of Natural Science Of HelongJiang University,2008(2).。

相关主题