英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
基于J2EE的科研项目管理系统的研究和安全设计
甘肃科技信息研究所,兰州730000,中国甘肃。
关键词:科研项目、安全设计、J2EE、Spring、Struts
摘要:从科研项目管理系统的介绍开始,然后给出了一个基于J2EE架构的详细描述,其中包含了Spring 、struts、iBATIS的轻量级复合框架,并且使用迭代方法来进行项目管理。该系统具有科研应用、推荐、处理、审批、科研管理等一系列功能,具有维护方便、动态扩展、扩展性强等特点。最后从系统的设计和环境两个角度对系统的安全性进行了探讨。在甘肃省,该科研管理项目的多年应用中,证明其稳定性好、反应快、安全性高。
介绍:科学技术专项计划是政府为了支持科学技术的发展而设立的专门计划,其目的是通过解决社会经济发展重大项目的热点、难点和重大技术问题,促进经济建设的快速发展。基于大型计算机的处理能力,应该从综合管理信息系统、科技计划管理[ 1 ]应该充分利用最先进的计算机和网络技术有效地、及时地处理各类科技计划管理信息,为发展提供信息技术的支持,实现和整个过程中的计划的监督,从而实现了管理的科学化、科技计划的规范化。基于J2EE架构的[ 2-3 ]系统,采用Spring Struts ibatis(SSI)轻质复合框架[4-8],采用迭代的开发方法来实施项目管理的科技计划体系,易于维护,易于动态扩展和灵活。
系统总体设计:
该系统实现了科技项目的在线应用、评审、验收、监督、资金绩效分析、绩效评价和预算编制。它为科技项目的申请单位和实施单位、评价专家和管理部门提供了一个实用、高效、功能多、操作方便的工作平台。纵观整个系统的体系结构,系统的开发过程包含了应用、评审、管理等三个迭代阶段过程。整体系统结构如下图所示:
系统功能:系统用户可以使用的功能包括应用单位、推荐单位、部门职员、主任、专家用户、系统管理员等,用户类别和功能模块的对应关系见表1。
表1用户类别和功能模块的对应关系
用户类别 |
功能模块 |
申请单位 |
项目申请,签署项目章程,年度进度报告,项目验收申请,信息维护 |
推荐单位 |
项目推荐、专家信息、计划打印批次通知、信息维护 |
工作人员 |
项目验收、项目审核、方案处理、项目查询、项目评审、项目管理、前期项目查询、项目备案 |
项目主管 |
项目查询、项目归档、计划浏览 |
专家用户 |
专家信息,以前的项目查询,项目归档 |
系统管理员 |
参数设置、权限维护、密码查询 |
SSi复合框架设计采用分层思想,提供了一种集成框架,支持各个层次之间的依赖关系,便于系统扩展。该框架的软件体系结构一般是类似于机械、电子与信息技术之类分层之间的关系 分为五层:自顶向下、客户层、表示层、业务层、持久层、数据源层9。SSI组合框架结构如图2。
图2 SSI复合框架结构
客户端: 客户表示页 客户表示页 客户表示页
表示层: Struts MVC
Spring 控制反转
业务层: 业务模型组件 业务模型组件
iBATIS 数据访问对象
持久层: 数据库存储图
数据层: 关系型数据库(与持久层通过jdbc链接)
客户端层完成与用户交互的功能,负责客户端请求的传输、接收系统响应和显示处理结果。它主要由HTML代码、JSP代码和标签组成,属于应用系统的前端接口部分。表示层主要处理用户的请求和发送请求信息到业务层。业务层完成处理后,结果将返回到客户机层。基于MVC模型的Struts框架[10-12]完成表示层的工作,同时也负责处理应用系统的异常和形式提交数据的验证。
业务层负责处理用户请求的业务逻辑。通过使用轻量级容器——Spring IOC(反转控制)这一方法,它通过配置XML文件为每个层提供交互,为表示层提供业务模型组件。业务模型组件通过调用持久层DAO(数据访问对象)来操纵数据库并完成业务逻辑。IOC(控制反转)还提供诸如事务处理和缓冲池之类的容器组件,从而提高系统性能并确保数据完整性。
持久层主要作用是实现数据库的操作。iBATIS框架在是属于MVC设计模式的持久层的部分。通过调用SQL Map,iBATIS DAO完成数据库操作,实现了业务层调用。iBATIS SQL通过使用XML技术来配置文件,最终实现了JAVABEAN实体类和数据库操作语句相互关联,最终,iBatis框架通过底层调用JDBC来实现持久层和底层关系型数据库的链接和访问。
数据源层由关系数据库系统(如SQL Server、oracle等)组成。集成框架有三大框架的技术优势,整合了Struts的MVC机制整合、Spring的控制反转和iBATIS的SQL实体和数据库之间的映射机制。
DAO模式: 程序和对象之间交流的第一窗口就是由数据访问窗口,也 就是 DAO。该数据访问窗口能够实现访问持久化数据和数据之间 关系的映射。数据访问窗口是数据资料库的上层,同时也是业务 逻辑的下层。这就可以将业务逻辑处理和数据访问操作分割开 来,通过这种方法减少访问层和业务层之间的重叠和交叉。访问 Access 数据库的一种比较有效的方法就是利用 DAO 模式。除此 之外,大量文件需要储存、程序可读性差、代码繁琐是困扰当前程 序开发的最大问题,急需设计人员进行解决。而该模式的引入能 够明显增强程序的可读性、提高程序的安全性,实现面向接口的 多态化的编程。
泛型DAO模式的设计: 传统Jave技术架构建立方法为:首先分别进行数据访问层、 业务处理层以及表示层的编程,之后在每一层中设计专门的接 口。而在泛型 DAO 模式中,数据访问层和业务处理层是相连接的, 并且业务逻辑层的接口位于数据访问层中。 Hibernate 框架是进行数据访问层搭建的主要框架,将 Faccedil;ade 接口和模块入口相接,之后在对其实现类进行定义和属 性规定,最后进行接口的设计。数据库的刷星、阅读、创建等操作 都由其完成。利用 EHD 操作和泛型学习法可以进行实体 DAO 模式 的创建,这样,CRUD 等操作也就会通过实体 DAO 模式实现。 泛型 DAO 模式是对传统 DAO 模式的修改和升级,其主要内容 就是进行 DAO 模式的抽象化设计,同时进行抽象化 DAO 模式的实 现,CRUD 操作是抽象化 DAO 模式实现的主要内容,通常以下几种方法完成抽象化 DAO 模式的实现 :一是在实现方法直接进行 泛型的定义 ;二是在基本的类和接口上直接进行泛型的定义。 泛型 DAO 模式的引入使程序具有更好的复用性,程序设计语 言变得更为简单,在程序运行结束之后进行类型的检查,通过这 种方法避免程序在运行过程中产生的各种突发问题,使程序的运 行速度得到了明显的改善。Entity 类的管理是由泛型模式执行, 如果选址该类中的 CRUD 操作不仅可以使程序具有良好的性能, 而且还可以简化编程过程,使编程出错率大大降低。泛型 DAO 模 式能够有效的完成类之间的转换,减少类转换的错误,而且储存 位置选择性更为广泛,各种模块和子类的存储时间更为长久
随着软件模式和框架的发展,为提高项目的可扩展性和可维护性,优化代码逻辑,提供了许多优秀的设计模式,已广泛应用于各个领域。其中,首先由Gamma提供的MVC模式在web应用程序开发中起到了很大的作用。它利用思维将整个软件的责任分为三个部分,为了降低开发的复杂性,提供一个明确的方法来设计Web应用[ 1 ]面向对象。同时,在某种程度上,它甚至成为软件工程的标准规则。
在MVC模式有三个部分:模型、数据模型,将输入和输出数据的统一过程,节省了他们的抽象对象,封装的数据结构和操作[ 2 ];视图,数据的外部表现,为用户提供了许多有关视图的可视化和主动与外世界承担责任引发的内在逻辑的实现;控制器、视图与模型的桥梁,维护视图根据相应的规则和要求,从而实现业务逻辑[ 3 ]由输入数据处理。三部分关系的具体内容如下:
作为一种结构和创造性的软件设计模式,MVC可以重用组件被应用在一个可扩展的系统和减少通过分离数据逻辑和业务逻辑的Web应用项目开发的复杂性,导致大型Web服务应用程序[ 4 ]一般规范的方式;和三部分不仅有密切的但也有一个明显的分工,确保业务逻辑的实现,通过控制器连接视图和模型的方式对项目的要求,充分利用面向对象的思想;此外,模型,视图和控制器可以同时与平台没有关系,是提高开发效率[ 5 ]。
然而,一个分工明确、客观化的设计必然导致繁琐的代码和额外的开销,从而产生小的基于Web的应用程序,不需要严格的分裂结构的工作量的增加;同时,也有一些问题存在于大型项目,例如,不清楚的部分属于一些函数和类的时候,有增加和中间业务的复杂性和庞大的控制器是控制和组织[ 6 ]困难。因此,在MVC模式的基础上,根据具体的需求,设计不同项目的个性化体系结构。在这篇文章中,一个mvfo模型被扩展功能的管理系统在高校实验室项目申请提出。
利用MVC框架设计系统扩展功能时,虽然可以通过对模型数据和视图部分的控制,来管理不同的、可变的需求,但在特定的后台操作中很难对某些功能进行标记,并将其划分为控制器,导致复杂性和冗余性。同时,这也使得整个项目难以维护和拓展。因此,本文提出了一种新的框架mvfo根据本项目的扩展功能,处理这些问题。在这个框架中,m和v仍然是原始意义、模型和视图,而f是函数,包括从视图或生成对象数据中获取数据的函数,O是操作,主要集中在实现对象数据的中间和必要操作,如数据库的某些操作等。也就是将控制器的细节具体化为两个类。毫无疑问,不同项目在F和O中有不同的任务。在这个扩展功能项目中,F包含了接受视图数据和生成excel的功能,而O负责一些相关的数据库操作。
该框架仅适用于一些大型复杂的项目,而不是所有项目,上述具体操作都是在实验室项目申报上进行的,使得相关操作更加清晰,为后续工作的可维护性和可扩展性提供了便利。
功能的实现:
用户注册:首先,应用单位注册,设置登录名、注册名、登录密码等和一些其他基本信息,然后填写详细信息,如单位名称、地址、单位性质、法定代表人、银行账号等,这些信息可以在注册后通过操作加以改进。完成后,应用单位可以通过成功注册用户名和密码的账号来登录系统,增加子单位和个人账户。
项目应用:系统支持离线和在线应用程序。通过使用前者可以直接访问系统,填写Internet上的内容,然后报告和打印文本。对于后一种模式,可以先下载应用软件,然后填写项目应用程序的内容并生成报告文件。最后,其中一个登录的在线系统可以生产进口所生成的报告文件。
使用离线输入方式,对网络条件不好的应用单位很方便。应用单位下载并安装之后使用离线输入方式给程序输入信息,可以在没有网络连接的情况下输入应用材料。只有最终的打印和报告工作需要使用联机系统。
当确定项目内容不需要进行调整时,“向推荐单位报告”这一个功能即可操作。系统将自动将项目内容提交给相应的推荐单位。一旦项目被报告,内容就不能被修改。报告的项目不会显示在项目应用程序功能页上。应用单元可以使用“项目跟踪”功能来了解关于项目审批和打印正式申请文本这方面相关的信息。
申请材料可在网上打印。但是,被打印的表格只是检查内容的草稿,而不是正式的报告文本。在报告项目后,可以使用“项目跟踪”来打印带有水印的应用材料,并将其作为正式文本报告。项目应用流程图如下:
项目建议书:申请单位提交项目后,推荐单位可以对符合要求的项目提出意见,并提出建议。系统会自动生成推荐号码。只有推荐的项目,才能由科技部人员看到,并能被接受。
项目验收:科学技术部办公室人员可以接受推荐项目。但是,这些办事处只能在其监督范围内处理这些项目。办公室首先回顾了项目的形式和内容。如果满足要求,就必须作出是否批准的决定。那些不符合要求的项目将被退回和修改。如果建立了一个专门的项目验收中心,所有的工作都将由它来完成。对于需要调整的项目,可以调整计划类别来完善项目。如果推荐单位不选择合适的办公室,办公室可以更换。一些好的项目由于某些原因没有得到批准,可以被列为办公室的潜在项目。这些项目的申请单位可以直接进入申请程序,而无需在明年重新填写申请表。批准的项目分配给他们的批次。这样,项目申请的接受和批准就完成了。
项目审查:首先,需要评审的项目按科目分类。然后是分配专家。登录系统之后,专家可以评分分配给他们的项目,并填写在线审查。最后,根据评估结果,由人员决定是否批准该项目。如果专家组织起来对项目进行集体审查,则可以输入审查结果以便于管理。
项目管理: 全文共8510字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[14859],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。