档案管理系统建模与需求分析样本.doc
毕业设计目录(1) 档案管理系统需求分析软件需求分析4档案管理系统总体需求4用户管理模块5系统参数设置模块5借阅管理模块6案卷管理模块7文件管理模块7数据管理模块7(2) 档案管理系统建模(3) 档案管理系统数据库建设8数据库需求分析8数据库逻辑设计9(4) 档案管理系统构架14MVC模式14Model2模式15Struts216Hibernate18系统分析关键点(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 ( SeriaNoint(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 NULLOperator varchar(50) default NULLOperatrTime varchar(200) default NULLSummarize varchar(220 ) default NULLAccordingTo varchar (200) default NULLOperateFile varchar (200) default NULLCopyFileN varchar (200) default NULL)(6) 档案种类表。档案种类表关键存放是档案种类Create table fFileType (TypeID int (50) NOT NULL AUTO_INCREMENTArchiveType varchar(50) default NULLFileType varchat(500) default NULL)(7)操作日志表。操作日志表关键存放日志基础信息Create table fHandleLog (HandleID int (60) NOT NULL AUTO_INCREMENTEnterName 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)()借阅次数表。借阅次数表关键存放文件被借阅次数。CREATE TABLE ( 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官方站点,是Struts 2 整体结构。一个请求在Struts2框架中处理大约分为以下多个步骤1 用户端初始化一个指向Servlet容器(比如Tomcat)请求2 这个请求经过一系列过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp可选过滤器,这个过滤器对于Struts2和其它框架集成很有帮助,比如:SiteMesh Plugin)3 接着FilterDispatcher被调用,FilterDispatcher问询ActionMapper来决定这个请是否需要调用某个Action4 假如ActionMapper决定需要调用某个Action,FilterDispatcher把请求处理交给ActionProxy5 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工作原理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-1618乐秀潘,沈琴.structs1.1和struct1s.2比较J.电力系统通信.,20(5):35399孙东卫,张冀红,李声利. 数据库访问技术研究J.现代电子技术.,18(5).20-34.10 苟凌怡,魏生民. SQL Server 中索引有效选择J.计算机工程和应用, 1999,35(6): 707111 张树亮, 李超.ASP.NET 2.0+SQL Server网络应用系统开发案例精解M.北京:清华大学出版社,