资源描述
毕业设计
目录
(1) 档案管理系统需求分析..............................................4
软件需求分析........................................................4
档案管理系统总体需求................................................4
用户管理模块........................................................5
系统参数设置模块.......................................................5
借阅管理模块........................................................6
案卷管理模块........................................................7
文件管理模块........................................................7
数据管理模块........................................................7
(2) 档案管理系统建模...................................................
(3) 档案管理系统数据库建设...................................................8
数据库需求分析........................................................8
数据库逻辑设计........................................................9
(4) 档案管理系统构架........................................................14
MVC模式........................................................14
Model2模式........................................................15
Struts2........................................................16
Hibernate........................................................18
系统分析关键点
(1) 档案管理系统需求分析
(2)档案管理系统建模
(3)档案管理系统数据库建设
(4)档案管理系统构架
程序分析关键点
Struts2 基础知识,它及Model2模式开发Web应用相关知识和基于B/S程序
Hibernate基础知识
Java JSP 等技术在Web 中应用
分页显示 文件恢复密码加密等具体功效应用
其它技术
项目需求分析
软件需求分为 业务需求用户需求,功效需求。
(1) 业务需求描述了为何要实现整个系统,即期望经过系统实现达成什么样目标。业务需求能够统计在项目试图和范围文档里,有时也被称为项目和约或市场需求文档。
(2) 用户需求描述了用户使用产品所完成任务。
(3) 功效需求说明了软件功效,用户使用这些功效以完成任务
档案管理系统总体需求
档案管理系统是一套功效强大且操作简便实用自动化管理软件,包含用户管理、系统参数设置、档案数据录入、案卷数据查询、借阅管理、数据维护、操作日志、报表打印等。因为是web版本,能够应用于通常档案室,也能够应用于网络办公室进行操作。
本档案管理系统关键针对某档案室具体业务步骤开发设计,系统提供很好功效扩充接口。
下面概括介绍档案管理系统大致功效需求。
(1) 用户登录。用户进入系统前,首先要登录,登录时要验证用户名和密码是否匹配,验证经过后许可用户进入本系统操作。用户密码需要进行加密算法。用户登录密码需求加密保留在数据库中。用户登陆后需要计入到日志中。
(2) 修改注册信息。用户登录后,能够修改自己注册信息,包含修改用户密码、每页显示行数等信息,不许可修改用户名、姓名、部门信息。
(3) 权限设置。本模块只有系统管理员能够操作。管理员能够增加系统用户、删除系统用户、修改用户相关属性、修改用户权限表。
(4) 系统参数设置。本模块需要含有辅助库设置权限能够操作。经过模块设置系统辅助参数表,这些参数表是输入数据时作为副职输入使用。对每个参数表需要有增加、删除、修改、和查询等操作。
(5) 数据录入。本模块处理用户输入新档案文件信息或档案案件信息
输入数据时要考虑用户连续录入情况,能够从上一条看统计复制数据到新统计中。
不一样德档案有不通输入情况。
输入案卷信息以后能够接着输入此案卷下文件信息,案卷信息中对应字段带入文件信息输入界面,且不可更改。
(6) 数据维护。本模块需要含有数据维护权限用户才能够操作。
数据维护模块已经删除文档最终判定,判定该文件是否需要删除。有两种操作恢复和根本删除。
(7) 数据查询。按用户输入条件查询对应文档文件信息、
查询结果以列表目录形式显示,也能够以卡片形式显示。含有档案处理权限用户能够对查询结果编辑编辑并保留,也能够删除档案文件统计。
(8) 数据修改。本模块关键实现批量修改数据功效,能够由用户指定条件,将数据库中全部符合条件文件或案卷统计按要求进行修改。
(9) 报表打印。打印多种档案目录表和统计表。能够由用户设计进行报表自动生成。
(10) 档案借阅。此模块分为外借登记归还统计和电子借阅申请处理两部分,含有借阅管理选项用户能够操作此模块。
外界模块实现档案文件借出登记和归还统计功效。
电子借阅申请,由含有借阅管理权限用户处理通常见户提出阅读电子文档请求,同意阅读申请后将文件发送给申请人。
(11) 数据备份及恢复。本模块实现数据备份和恢复机制。
数据备份操作能够按年度、档案种类等条件做部分备份或完全备份。数据恢复就是将备份数据恢复到数据库中。能够对数据进行备份和恢复、备份路径由系统参数设置。备份成一个XML文件,恢复时候字段以后恢复。含有批量备份和恢复功效。
(12) 查阅操作日志。本模块对系统运行日志操作,含有日志操作权限用户能够进入本模块。能够进行查看日志统计等操作
用户管理模块
(1) 添加用户:管理员能够对用户进行添加操作。
(2) 删除用户:管理员能够对已经有用户进行删除操作。
(3) 查看用户权限:每个用户全部含有权限,管理员能够查看用户管理权限
(4) 修改管理权限:管理员能够修改用户管理权限
(5) 添加管理权限:管理员在权限管理中能够添加管理权限
(6) 删除管理权限:管理员在权限管理中能够删除管理权限
系统参数设置模块
(1) 系统表:管理员能够修改单位名称和卷宗号和保留
(2) 档案种类表:对于种类进行添加、删除操作
(3) 文件种类表:对于文件种类进行添加删除操作
(4) 文件目录表:对文件类目进行添加、删除操作
(5) 其它参数设置表:对其它文件编辑、删除操作,在编辑时能够编辑修改附件存放路径和备份文件存放路径。
借阅管理模块
借阅管理模块包含以下多个部分。
(1) 借阅登记:输入借阅条件后就能够申请借阅登记。
(2) 借阅查询:提供所借出查询工作,对于归还日期做具体说明。、
(3) 网上借阅:网上借阅又提供网上借阅申请、未提交借阅申请、已处理借阅申请、借阅申请处理和网上回复多个小模块。其中网上借阅申请、未提交借阅申请、已处理借阅申请模块是全部用户全部拥有,借阅申请处理时含有借阅管理权限用户所拥有模块,网上回复是含有借阅回复权限用户所拥有模块。
案卷管理模块
(1) 案卷查询:对所需要案卷进行查询操作。
(2) 案卷录入:保留案卷。
文件管理模块
(1) 文件查询:对所需文件进行查询操作。
(2) 文件录入:保留文件。
数据管理模块
(1)数据备份:对文件表和案卷IAO分别进行备份。
(2)数据恢复:对案卷表和文件表分别进行数据恢复。
系统数据库设计
数据库设计是项目开发中很关键一个步骤。假如设计不好,在以后系统维护、变更和功效扩充时,甚至在系统开发过程中,将会引发比较大问题,可能造成大量工作重新开始。
数据库需求分析
依据系统用户需求,对应数据表设计及功效以下。
(1) 痕迹表(fApproveList):存放用户登录等信息
(2) 档案管理表(fArchive):存放全部档案信息。
(3) 档案类型表(fArchiveCategory):存放全部用户档案类型。
(4) 文件种类表(fFileType):存放文件种类。
(5) 文件保管表(fFileKeeping):保留文件保管信息。
(6) 操作日志(表fHandleLog):统计用户操作日志。
(7) 文件借阅统计表(fLendFile):统计文件被借阅次数。
(8) 档案种类表(fFileType):存放档案种类。
(9) 借阅次数表(fLoanable):统计文件被借阅次数。
(10) 备份文件信息表(fOfficalText):存放文件备份信息。
(11) 单位信息表(fProfile):统计单位信息。
(12) 工程代码表(fProjectCode):统计工程信息代码等。
(13) 借阅申请表(fReadApply):统计借阅申请相关信息。
(14) 角色表(fRole):存放用户角色定位。
(15) 用户表(fUserName):统计用户角色。
(16) 档案案卷信息数据描述(fVolumn):统计案卷信息。
(17) 用户角色表(fUserRole):统计用户角色
数据库逻辑 设计
(1) 痕迹表(fApproveList)。痕迹表关键用来存放用户登录时所跟踪痕迹信息,是管理人员维护关键依据。 Create table fApproveList (
(2) `ApproveID` int(4) NOT NULL AUTO_INCREMENT,
(3) `BOrrowApplyID` int(4) DEFAULT NULL,
(4) `SeriaNo` char(12) DEFAULT NULL,
(5) `EnterName` char(12) DEFAULT NULL,
(6) `RoleID` char(12) DEFAULT NULL,
(7) PRIMARY KEY (`ID`)
(8) (2)档案管理表。档案管理表关键存放了档案基础信息,这个表整个系统中是比较关键,她是整个档案基础组成部分,是管理档案关键依据。CREATE TABLE `bbsdir` ( `SeriaNo`int(16)) NOT NULL AUTO_INCREMENT,
(9) `Status` varchar(16) NOT NULL,
(10) `Deleted` varchar(100) default NULL,
(11) `RepFlag` varchar(50) default NULL,
(12) `ArchivType` varchar(250) default NULL,
(13) `FileType` varchar(50) default NULL,
(14) ‘Title` varchar(50) default NULL,
(15) `literatureType` varchar(50) default NULL,
(16) `TitleTemark` varchar(50) default NULL,
(17) `FileNo` varchar(10) default NULL,
(18) `FileDate` int(11) default NULL,
(19) `KeyWord` int(11) default NULL,
(20) `OtherDuty ` int(11) default NULL,
(21) `ElectronicFileName` varchar(16) default NULL,
(22) `AttachmentTitle` datetime default NULL,
(23) `Memo` varchar(50) default NULL,
(24) `Copys` varchar(50) default NULL,
(25) `lendNum` varchar(10) default NULL,
(26) `SecurityClass` int(11) default NULL,
(27) `securituTerm` int(11) default NULL,
(28) `FecryptionPeriod` int(11) default NULL,
(29) `Abstract` varchar(16) default NULL,
(30) `FlowNo` int (3) default NULL,
(3) 档案类型表。档案类型表关键存放档案类型。将档案分为4中类型
Create table fArchive(`ID` varchar(50) default NULL,
`ArchiveType` varchar(10) default NULL,
)
(4) 文件种类表。文本种类表关键存放文本种类,依据本系统实际情况,将文本种类分为三种。Create table fFileType(CategoryID int(6)NOT NULL AUTO_INCREMENT,
Category varcher(3000) default NULL,
CategoryName varcher(200) default NULL,
)
(5)文件保管表。文件保管表关键存放了文件基础信息
Create table fFileKeeping(Keeping int (20) not NULL.
KeepType varchar(200) default NULL
Operator varchar(50) default NULL
OperatrTime varchar(200) default NULL
Summarize varchar(220 ) default NULL
AccordingTo varchar (200) default NULL
OperateFile varchar (200) default NULL
CopyFileN varchar (200) default NULL
)
(6) 档案种类表。档案种类表关键存放是档案种类
Create table fFileType (
TypeID int (50) NOT NULL AUTO_INCREMENT
ArchiveType varchar(50) default NULL
FileType varchat(500) default NULL
)
(7)操作日志表。操作日志表关键存放日志基础信息
Create table fHandleLog (
HandleID int (60) NOT NULL AUTO_INCREMENT
EnterName varchar (600) default NULL
)
(7) 文件借阅统计表。文件借阅统计表关键存放了在借阅操作时部分统计情况
Create table fLendFile (
`cid` varchar(16) NOT NULL,
`dirSn` varchar(50) default NULL,
`parentId` varchar(50) default NULL,
`title` varchar(150) default NULL,
`content` longtext,
`intro` text,
`files` varchar(50) default NULL,
`imgs` varchar(150) default NULL,
`readTimes` int(11) default NULL,
`tagPic` varchar(50) default NULL,
`voteScore` int(11) default NULL,
`score` int(11) default NULL,
`vRType` varchar(50) default NULL,
`vRValue` varchar(50) default NULL,
`inputTime` datetime default NULL,
`inputUser` varchar(50) default NULL,
`modifyTime` datetime default NULL,
`ip` varchar(50) default NULL,
`clientInfo` varchar(150) default NULL,
`bad` int(11) default NULL,
`good` int(11) default NULL,
`source` varchar(50) default NULL,
`topMessage` int(11) default NULL,
`eliteMessage` int(11) default NULL,
`status` int(11) default NULL,
PRIMARY KEY (`cid`)
(9)借阅次数表。借阅次数表关键存放文件被借阅次数。
CREATE TABLE `fLoanable ` (
`cid` varchar(16) NOT NULL,
`sn` varchar(16) NOT NULL,
`title` varchar(100) default NULL,
`parentSN` varchar(50) default NULL,
`dirPath` varchar(250) default NULL,
`intro` text,
`tagImg` varchar(50) default NULL,
`manager` varchar(50) default NULL,
`subManager` varchar(50) default NULL,
`vRType` varchar(50) default NULL,
`vRValue` varchar(10) default NULL,
`status` int(11) default NULL,
`sequence` int(11) default NULL,
`types` int(11) default NULL,
`inputUser` varchar(16) default NULL,
`inputTime` datetime default NULL,
系统架构设置
本系统才有流行struts2 、Hibernate架构,即流行MVC
MVC模式
MVC模式是一中分解一个应用系统至三个部分(模型、视图、控制器)方法。原本应用图形用户界面输入处理和输出模型.MVC模式不仅实现了功效模块和显示模块分类,同时它还提供了应用系统可维护性、可扩展性、可移植性和组件反复使用。
(1) 模型。模型表示一个应用系统数据而且包含访问和管理该数据逻辑。全部属于应用系统持久专题数据全部应该保留于模型对象里。模型提供服务必需适于不一样德终端。粗缆模型公共方法列表,应该易于了解怎样控制模型行为。一个模型聚集了相关数据和操作以提供一个具体而就能过去服务;这些包装并抽象在操作总是我功效被模型化。一个模型借口提供了访问和更新模型状态、实施封装在模型中复杂进程方法。模型服务被控制器访问,用于查询或是模型状态发生改变,当状态发生改变时,模型会通知给视图。
(2) 视图。视图责任是表现模型状态。表述语句封装和视图中,所以模型数据能够适合多个不一样终端。当模型中改变传输到视图时候,视图会修改自己。视图将用户输入传输到控制器。
(3) 控制器。控制器任务是获取并翻译用户输入到动作并由模型实施。控制器任务还有依据用户输入和实施结果选择下一个视图。在基于J2EE应用系统中,MVC结果被用于分离由JavaBean或EJB表示事物层功效由JSP表示表现层,中间经由基于Servlet控制器。然而,控制器设计必需适合多种不一样类型终端输入,包含来自web终端基于xml文档等。对于HTTP请求和任务范例,提交HTTP请求被发送到一个控制中心,以此解释并委派请求道合适处理器。这也被作为第二类MVC结果。请求处理器和开发者提供架构结合起来,以实现对于模型相关联特定逻辑请求。依靠这个很好结果,控制器能够决定下一个视图以产生合适反应。
Model2模式
Model2 模式实际上是MVC模式改善型,在Model 2 模式中采取了servlet作为控制器,负责接收用户端web浏览器发送来全部请求,并依据处理不一样结果,转发到对应jsp页面,实现在浏览器用户端现实。因为它是在传统MVC模式上扩展,全部Model2模式也实现了基于组件开发,在整个软件开发工程中实现了具体清楚逻辑划分,能够有效区分不一样角色,这就更适合于大规模系统开发和管理。
Struts 2
图起源于Struts2官方站点,是Struts 2 整体结构。
一个请求在Struts2框架中处理大约分为以下多个步骤
1 用户端初始化一个指向Servlet容器(比如Tomcat)请求
2 这个请求经过一系列过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp可选过滤器,这个过滤器对于Struts2和其它框架集成很有帮助,比如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher问询ActionMapper来决定这个请是否需要调用某个Action
4 假如ActionMapper决定需要调用某个Action,FilterDispatcher把请求处理交给ActionProxy
5 ActionProxy经过Configuration Manager问询框架配置文件,找到需要调用Action类
6 ActionProxy创建一个ActionInvocation实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action过程前后,包含到相关拦截器(Intercepter)调用。
8 一旦Action实施完成,ActionInvocation负责依据struts.xml中配置找到对应返回结果。返回结果通常是(但不总是,也可能是另外一个Action链)一个需要被表示JSP或FreeMarker模版。在表示过程中能够使用Struts2 框架中继承标签。在这个过程中需要包含到ActionMapper
在上述过程中全部对象(Action,Results,Interceptors,等)全部是经过ObjectFactory来创建
HIbernate
Hibernate原理
相关Hibernate工作原理
1.Hibernate 初始化.
读取Hibernate 配置信息-〉创建Session Factory
1)创建Configeration类实例。
它结构方法:将配置信息(Hibernate config.xml)读入到内存。
一个Configeration 实例代表Hibernate 全部Java类到Sql数据库映射集合。
2)创建SessionFactory实例
把Configeration 对象中全部配置信息拷贝到SessionFactory缓存中。
SessionFactory实例代表一个数据库存放员源,创建后不再和Configeration 对象关联。
缓存(cache):指Java对象属性(通常是部分集合类型
属性--占用内存空间。
SessionFactory缓存中:Hibernate 配置信息。OR映射元数据。
缓存-大:重量级对象 小:轻量级对象
3)调用SessionFactory创建Session方法
1】用户自行提供JDBC连接。
Connection con=dataSource.getConnection();
Session s=sessionFactory.openSession(con);
2】让SessionFactory提供连接
Session s=sessionFactory.openSession();
4)经过Session 接口提供多种方法来操纵数据库访问。
Hibernate 缓存体系
一级缓存:
Session 有一个内置缓存,其中存放了被目前工作单元加载对象。
每个Session 全部有自己独立缓存,且只能被目前工作单元访问。
二级缓存:
SessionFactory外置可插拔缓存插件。其中数据可被多个Session共享访问。
SessionFactory内置缓存:存放了映射元数据,预定义Sql语句。
Hibernate 中Java对象状态
1.临时状态 (transient)
特征:
1】不处于Session 缓存中
2】数据库中没有对象统计
Java怎样进入临时状态
1】经过new语句刚创建一个对象时
2】当调用Session delete()方法,从Session 缓存中删除一个对象时。
2.持久化状态(persisted)
特征:
1】处于Session 缓存中
2】持久化对象数据库中设有对象统计
3】Session 在特定时刻会保持二者同时
Java怎样进入持久化状态
1】Session save()把临时-》持久化状态
2】Session load(),get()方法返回对象
3】Session find()返回list集合中存放对象
4】Session update(),saveOrupdate()使游离-》持久化
3.游离状态(detached)
特征:
1】不再在Session 缓存中
2】游离对象由持久化状态转变而来,数据库中可能还有对应统计。
Java怎样进入持久化状态-》游离状态
1】Session close()方法
2】Session evict()方法,从缓存中删除一个对象。提升性能。少用。
Hibernate 是一个开放源代码对象关系映射框架,它对 JDBC 进行了轻量级对象封装,使 Java 程序员能够随心所欲使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 能够大大降低操作数据库工作量。 另外 Hibernate 能够利用代理模式来简化载入类过程,这将大大降低利用 Hibernate QL 从数据库提取数据代码编写量,从而节省开发时间和开发成本 Hibernate 能够和多个Web 服务器或应用服务器良好集成,现在已经支持几乎全部流行数据库服务器。
参考文档
]飞思科技产品研发中心.JSP应用开发详解(第二版)[M].北京:电子工业出版社,
[2]吴以欣,陈小宁.JavaScript 脚本程序设计[M].北京:人民邮电出版社,
[3]萨师煊,王珊.数据库系统概论(第三版) [M].北京:高等教育出版社,
[4] 孙卫琴、李洪成.Tomcat和Java Web开发技术详解[M].北京:电子工业出版社,
[5] 曾云飞 ,基于Struts框架电子政务研究和实现 [M].东北大学出版社
[6]程凯.JSP汉字问题及一套整体处理方案[J].许昌学院学报,,25(5):77-80.
[7]刘长生,谢强,丁秋林.Java应用中汉字乱码问题分析[J].计算机技术和发展,,16(1):158-161
[8]乐秀潘,沈琴.structs1.1和struct1s.2比较[J].电力系统通信.,20(5):35—39
[9]孙东卫,张冀红,李声利. 数据库访问技术研究[J].现代电子技术.,18(5).20-34.
[10] 苟凌怡,魏生民. SQL Server 中索引有效选择[J].计算机工程和应用, 1999,35(6): 70-71
[11] 张树亮, 李超.ASP.NET 2.0+SQL Server网络应用系统开发案例精解[M].北京:清华大学出版社,
展开阅读全文