基于轻量级开源框架的科研论文管理系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于轻量级开源框架的科研论文管理系统设计与实现
摘要:结合笔者开发高等学校科研论文管理系统的实践,首先介绍了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所示。