影像及电子档 案管理系统.docx

上传人:b****6 文档编号:6389118 上传时间:2023-01-06 格式:DOCX 页数:44 大小:896.09KB
下载 相关 举报
影像及电子档 案管理系统.docx_第1页
第1页 / 共44页
影像及电子档 案管理系统.docx_第2页
第2页 / 共44页
影像及电子档 案管理系统.docx_第3页
第3页 / 共44页
影像及电子档 案管理系统.docx_第4页
第4页 / 共44页
影像及电子档 案管理系统.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

影像及电子档 案管理系统.docx

《影像及电子档 案管理系统.docx》由会员分享,可在线阅读,更多相关《影像及电子档 案管理系统.docx(44页珍藏版)》请在冰豆网上搜索。

影像及电子档 案管理系统.docx

影像及电子档案管理系统

影像及电子档案管理系统引言

由于办公自动化的进一步发展和深化,特别是电子计算机和通信技术相结合形成了信息技术产业。

过去用纸墨、照像等形成的以图书、图纸、照片、影音、文献、记录等类型的资料信息,都可以用电子计算机进行,由此而产生了电子公文、电子图书、电子图形图像、电子文献资料等,这些都是属于电子文件。

具有档案保存以及利用价值的影像及电子文件,必须要归档保护,电子文件归档后即形成电子档案。

为了防止大量电子档案信息的凌乱与丢失,也为了更方便公司分类查找调用其中有用的部分信息,创造更多的经济效益,公司内部需要一个安全且有效地系统来实现其功能。

影像及电子档案管理系统的开发,使公司的信息化程度提升,有助于提高公司在信息时代的竞争能力,适应当今计算机信息化高度发达的社会,这就是我所要研究的课题。

本文从软件体系结构模式的角度入手,首先构建了一个基于MVC模式的应用软件开发框架,然后在此基础上设计和实现了影像及电子档案管理系统。

在介绍SSH结构模型、Ajax等理论的基础上,对比已有文档管理平台的不足之处,着重研究如何使用这些框架和技术开发跨平台、框架灵活、稳定实用的影像及电子档案管理系统的问题,并给出了基于Struts+Hibernate+Spring+ExtJs技术的系统整体架构设计和影像及电子档案管理系统的设计与实现。

论文最后讨论了目前的影像及电子档案管理系统有待完善和进一步研究的问题。

 

1.绪论

1.1项目背景

电子档案以其现代化手段,在档案信息存储、输出、处理等方面,具有纸质档案无法比拟的优越性.网络化运用引起了电子档案的保密性、安全性、真实性、可靠性问题.因此,必须加强电子文件的管理。

公司中存在着各种信息档案,而如今人们已经习惯用电脑办公,结果自然会产生大量的电子文件,但我们如果将更多的时间花费在寻找这些文件上,既费时又费力。

同时,公司文档又关系到公司工作效率与利益问题,怎样有效管理电子档案成为我们必须研究与解决的问题。

如今已有的电子档案管理系统存在的主要问题有:

问题1:

原有系统采用单一的Struts或其他的开发框架,这种方式缺少有效的模块集成手段,基于不同平台的模块很难集成,系统的可扩展性和伸缩性比较差。

一旦系统需求分析发生变化(此时往往已经到了开发过程的中后期)或者系统需要扩展业务,原有系统的框架不能很好地解决这一问题。

问题2:

用户反映该系统的用户界面不够简洁,使用流程比较复杂。

问题3:

文档分类方法不恰当,危及文件信息资源的有效收集

问题4:

系统功能不完善,直接影响文件信息资源的管理水平

显然,根本的解决办法是完善系统开发框架、科学的文档分类管理与友善的用户操作界面。

待开发的系统借鉴了原有系统的功能需求,但是在使用的开发框架和表现层方面对原有系统进行改进,使得系统更加完善。

1.2项目研究内容

本文主要研究在影像及电子档案管理平台中隶属于影像及电子档案管理系统应用集成框架的影像及电子档案管理系统的设计与实现,在整个过程中主要完成以下工作:

1.影像及电子档案管理系统的整体设计。

在研究国内外现有成果地基础上完成影像及电子档案管理系统的整体设计和逻辑上的模块划分。

2.研究一套灵活的系统整体架构方案,以方便处理系统模块间的控制和数据的集成,解决原有系统可维护性和扩展性差的问题。

将研究结果应用于实际系统开发,为提高影像及电子档案管理的快速开发、可维护和扩展能力提供有效的支持。

设计并实现影像及电子档案管理系统整体后台框架,为整个系统提供架构支持。

3.在系统表现层方面,研究使用与后台进行异步交互的框架和能带来良好用户体验的技术,以提高页面良好的展示效果。

4.根据需求分析,设计实现影像及电子档案管理核心功能,即文档管理功能,为其他模块提供技术借鉴与支持。

5.根据需求分析实现影像及电子档案管理系统各功能。

1.3论文结构

论文分为六章,各章主要内容如下:

第一章:

绪论。

提出项目的背景,以及项目的研究内容和组织结构。

第二章:

相关技术概述。

探讨了Struts、Hibernate、Spring、Ajax等相关理论。

第三章:

影像及电子档案管理系统需求分析。

简要说明了影像及电子档案管理系统的需求分析和不同系统角色的具体功能需求。

第四章:

首先分析了影像及电子档案管理系统架构的总体设计。

重点介绍了基于SSH架构的影像及电子档案管理系统总体架构的总体设计以及数据库设计。

然后分别对系统持久层和业务逻辑层设计做了详细介绍。

第五章:

介绍了影像及电子档案管理系统核心模块非共性的具体实现,重点讨论了使用了Ext框架的页面组织和实现过程。

第六章:

系统测试与运行。

首先介绍了系统软硬件部署情况,然后以贯穿系统配置与部署的日志管理系统的运行情况说明系统是可实现的而且部署是成功的。

最后以系统核心功能为例,使用测试用例对其进行了测试,分析了测试结果。

最后总结了全文,指出了系统的需要改进的地方和进一步的研究方向。

2.相关理论与技术

2.1相关理论简介

•SSH

SSH在J2EE项目中表示了3种框架,既Spring+Struts+Hibernate。

•Struts2

Struts2[1]是在WebWork基础上发展起来的,是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架(参见本章2.2节)。

•Hibernate

Hibernate[2]是一个开放源代码的对象关系映射框架,对JDBC进行了轻量级的对象封装,使得我们可以使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任(参见本章2.3节)。

•Spring

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

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

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益(参见本章2.4节)。

•Ajax

Ajax[4]全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

Ajax并不是一种新产生出来的技术,它实际上是由目前几种相对成熟的技术组合而成的。

标准的Ajax包含:

基于XHTML和CSS标准的表示。

2.2Struts2的核心技术

Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:

而且吸收了Struts1和WebWork两者的优势。

Struts2是一个优雅的,可扩展的JAVAEEWeb[5]框架。

框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。

Struts2框架的核心是一个灵活的控制层,它基于以下标准技术,如:

JavaServlet、JavaBean资源绑定、XML和各种JakartaCommons包。

Struts鼓励使用基于Model2方法的应用框架,它是一种经典的模型-试图-控制器的MVC模型。

MVC是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件架构模式。

它强制性的使应用程序的输入、处理和输出分开。

使用MVC应用程序被分成三个核心部件:

模型、视图、控制器。

它们各自处理自己的任务。

MVC视图如图:

图2.1MVC视图

视图(View)代表用户交互界面。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

比如一个文档信息的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model)表示企业数据和业务规则。

在MVC的三个部件中,模型拥有最多的处理任务。

例如它可能用如EJBs和ColdFusionComponents这样的构件对象来处理数据库。

被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。

由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。

控制层并不做任何的数据处理。

例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。

因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

这实际上是一种模型的变化-传播机制。

模型、视图、控制器三者之间的关系和各自的主要功能

2.3Hibernate的核心技术

Hibernate是一种Java语言下的对象关系映射解决方案。

它是一种自由、开源的软件。

它用来把对象模型表示的对象映射到基于SQL的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

Hibernate不仅管理Java类到数据库表的映射(包括从Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。

Hibernate对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,它既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。

最具革命意义的是,Hibernate可以在应用EJB(EnterpriseJavaBeans是Java应用于企业计算的框架)的J2EE架构中取代CMP,完成数据持久化的重任。

2.4Spring的核心技术

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。

然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。

控制翻转IoC(InversionofControl)/依赖注入DI(DependenceInjection)机制。

IoC是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。

DI是对IoC更形象的解释,即由容器在运行期间动态地将依赖关系(如构造参数、构造对象或接口)注入到组件之中。

Spring采用设值注入(使用Setter方法实现依赖)和构造子注入(在构造方法中实现依赖)的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC容器。

这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。

Spring框架的结构如图2.2所示。

图2.2Spring框架模块组成

Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。

SpringCoreContainer是一个用来管理业务组件的IoC容器,是Spring应用的核心;SpringDAO和SpringORM不仅提供数据访问的抽象模块,还集成了对Hibernate、JDO和iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;SpringWeb模块提供了Web应用的一些抽象封装,可以将Struts、Webwork等Web框架与Spring整合成为适用于自己的解决方案。

Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。

Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。

2.5AJAX技术

Ajax的核心是JavaScript对象XmlHttpRequest。

它是一种支持异步请求的技术。

JavaScript可以在不刷新页面的情况下从服务器获取数据,或者向服务器提交数据,灵活地实现了数据异步交互。

我们知道,传统的Web应用是同步交互的方式。

这种同步交互方式的处理过程如图2.3所示。

图4.14同步交互方式

用户向服务器提交了一个处理请求时,服务器端接受到该请求后,和数据库服务器进行数据信息的交换,然后对请求处理进行相应,即将结果传送回发出请求的浏览器客户端,返回一个HTML页面在浏览器端进行显示。

显然,这样的一种处理方式会给用户一种不连贯的体验,因为当服务器在处理请求的时候,用户多数时间只能处于等待状态,页面中显示的内容也只能时一片空白。

与传统的Web应用不同,Ajax采用的是一种异步交互的处理方式。

这种异步交互的处理过程如图2.4所示。

图2.4使用Ajax的异步交互模式

Ajax相当于在浏览器客户端与服务器之间架设了一个桥梁,在它的帮助下,可以消除网络交互过程中的处理-等待-处理-等待的缺陷。

在处理过程中Web服务器响应是标准的且易于解析的XML格式的数据传递到Ajax,然后再转换成HTML页面的格式,辅助CSS进行显示。

Ajax是传统Web应用程序的一个转变。

Ajax可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间。

2.6SSH集成框架

SSH(Spring+Struts+Hibernate)是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。

三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。

客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

表现层是传统的JSP[6]技术,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。

中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。

Web层,就是MVC[7]模式里面的控制器,负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现。

Service层(就是业务逻辑层),负责实现业务逻辑。

业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。

DAO层,负责与持久化对象交互。

PO,持久化对象。

通过实体关系映射工具将关系型数据库[8]的数据映射成对象,方便地实现以面向对象方式操作数据库,采用Hibernate作为ORM框架。

Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。

3.需求分析

3.1系统需求分析

3.1.1系统角色

根据影像及电子档案管理系统的实际需求,系统整体的用户包括普通管理员、高级管理员以及普通用户、高级用户。

而后台影像及电子档案管理系统的用户角色为普通管理员和高级管理员。

下面是对上述不同角色的需求分析。

3.1.2需求分析

图3.1表示普通管理员系统功能用例图。

如图普通管理员功能分为登陆、类别管理、文档管理、日志管理、评论管理和用户管理。

具体功能分析如下:

(1)普通管理员需求分析。

•管理员登录:

不同的用户功能和权限不同,所以不同的用户必须先进行登录验证,只有验证通过才能够进行相关的操作。

•文档类别管理(高级管理员授权情况下):

普通管理员登录后可以对文档类别进行操作,例如:

删除类别、在某一当前类别下添加子类别与修改类别信息。

•文档管理(高级管理员授权情况下):

普通管理员登录后可以对文档进行操作,例如:

录入文档、修改文档基本信息、验证文档、修改删除与添加文件到某一当前文档、删除文档、高级选择查看文档等。

•用户管理(高级管理员授权情况下):

普通管理员登录后可以对用户进行管理,例如:

查看用户、删除用户、查看用户上传文档等。

•用户评论管理(高级管理员授权情况下):

普通管理员登录后可以对用户的评论进行管理,例如:

查看用户评论、删除多条用户评论和按关键字批量删除评论。

•日志管理(高级管理员授权情况下):

普通管理员登录后可以对管理员操作日志进行管理,例如:

查看日志信息、备份日志与清理日志。

(2)高级管理员需求分析。

图3.3表示高级管理员系统功能用例图

高级管理员可以执行系统所有操作,除了普通管理员的所有需求外,还包括管理员管理和权限管理,此角色的系统功能结构图为:

•管理员管理:

高级管理员登陆后可以对系统管理员信息进行管理,例如:

添加管理员、删除管理员和修改管理员信息。

•权限管理:

高级管理员登陆后可以对系统角色权限进行管理。

3.2本章小结

本章主要介绍了影像及电子档案管理系统的需求分析,按照不同的角色将功能需求用用例图的方式列出。

然后为了更深入的了解系统需求,使用功能结构图对系统按角色进行了功能分析。

4.系统总体设计

4.1系统架构总体设计

根据需求分析,这一节详细讨论了影像及电子档案管理系统的总体架构设计方案。

4.1.1传统开发框架到SSH框架

经典的网站系统是基于Struts+Hibernate的框架进行设计和开发的。

这种开发框架的好处是实现简单,业务逻辑清晰,开发人员使用起来很容易。

因此在实际开发时可以把后台业务逻辑代码放到设计好的JavaBean中,按照上述功能结构图的模块划分方式,每个模块都是一个单独的JavaBean类,控制层代码直接使用这些类完成实际功能。

虽然上述的开发框架可以很好的解决电子档案管理中的应用开发面临的问题,但是实际应用表明这存在着一些弱点。

首先是复用的层次较低,开发框架主要着眼于对象类的复用,而这些复用是代码级的复用,代码级的复用方式带来的坏处是涉及实现细节,不支持可插拔的软件构件思想;其次是粒度较小,开发框架中主要实现的是一些通用功能或者常规操作,没有比较大粒度的构件复用,虽然存在一定程度的独立的业务代码类,但是依然离不开实现细节;最后就是使用人员的定位问题,使用开发框架的基本上是了解熟悉此类框架的软件开发专业技术人员,而对于不熟悉这种开发框架的业务人员而言,无法满足他们随着需求变更修改系统或者自主开发小应用的需要。

为此,本文提出了比开发框架层次更高的SSH框架构件平台来实现具体的应用。

SSH框架构件平台主要是为了适应复杂多变的公司文档信息管理的业务需求而提出的业务支撑平台,该平台的目标是支持开发人员通过统一的业务平台快速构建影像及电子档案管理系统的业务流程,实现公司内部影像及电子档案管理的业务整合和数据整合,最终形成一个统一的立体式的影像及电子档案管理系统。

4.1.2SSH框架构建设计

这一节以影像及电子档案管理系统为例,进行SSH框架应用的研究。

SSH框架规划的出发点完全不同于现有的建模和组件的方案设计。

传统的网站系统设计是:

当软件的设计和开发人员在拿到业务需求后,会立即想到是不是需要使用Struts的MVC结构,是使用EJB还是使用Hibernate,是使用什么样的服务器和数据库等。

然后系统架构师和每个业务人员进行沟通并且划分每个业务模块,业务人员再向每个模块填写相应的代码。

这样,使得业务从属于技术,业务功能受到具体技术的限制,业务和技术是紧耦合的。

这样的设计使得很多网站系统受到技术的限制,一旦系统需要改进技术或者技术被淘汰,他们的业务也会跟着发生变化或者淘汰。

SSH框架规划旨在减轻开发人员重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化,提高开发效率并容易实现系统的可扩展性与可维护性。

下图为系统基于SSH框架的层次关系图:

图4.1应用框架的层次关系图

层次结构图给出了应用框架的层次关系,应用框架由上向下可分为持久层、逻辑层、业务层、控制层和表现层。

其中上层构件为下层提供了独立完整的功能,下层构件无需了解上层构件内部的实现细节,只需要调用其提供的明确定义的接口和方法来实现自己的功能。

应用框架的分层机制负责将用户的业务需求分为相对独立的层次化模块,支持开发人员方便快速地开发相对独立的业务单元。

基于MVC模式,系统分为表现层、中间层(业务逻辑层)和数据服务层。

三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。

客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

表现层使用基于JSP显示,ExtJs组件为主体的开发模式。

中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。

Web层,就是MVC模式里面的“C”(controller),系统中对应Action层。

负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现。

Service层(就是业务逻辑层),负责实现业务逻辑。

业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。

DAO层,负责与持久化对象交互。

该层封装了数据的增、删、查、改的操作,采用数据库中间件Hibernate完成对底层数据库应用的封装,通过一致的规范接口,将底层数据库与业务逻辑分离开来,为应用系统的业务代码开发提供了数据层支持。

PO,持久化对象。

通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架,并使用注解方式实现数据映射配置。

Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,依靠Spring依赖注入特性Web层中注入Service、Service层中注入DAO、DAO层中注入HibernateTemplate,其数据服务层用来存放数据。

为了提高系统的可扩展性与可维护性,在DAO层与Service层分别抽取出接口层和接口实现层。

4.1.3SSH架构在系统中的应用

图4.2是影像及电子档案管理系统的整体架构图。

图4.2影像及电子档案管理系统的整体架构图

下面是对图4.2中各层的角色及功能说明。

(1)View层:

影像及电子档案管理系统的视图展示,用户页面采用Ext框架进行组织,数据从后台转发过来使用JSP的方式,然后在客户端转换成HTML页面的格式,借助JavaScript和CSS进行显示。

(2)Controller层:

影像及电子档案管理系统的控制层,使用Struts的控制层来进行业务流程控制。

控制器是应用系统处理具体流程和导向的核心部分。

它把模型对象给出的信息转换成视图可以理解的形式,并且处理系统流程的走向。

在这里使用struts.xml配置文件来定义业务流程,使用Action类调用相应的WebService来实现这些具体功能。

(3)Model层:

影像及电子文档管理系统的模型层,实现具体的业务逻辑。

模型包含应用程序的核心功能,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1