514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc

上传人:laozhun 文档编号:2386672 上传时间:2023-02-17 格式:DOC 页数:62 大小:1.82MB
返回 下载 相关 举报
514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc_第1页
第1页 / 共62页
514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc_第2页
第2页 / 共62页
514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc_第3页
第3页 / 共62页
514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc_第4页
第4页 / 共62页
514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《514652005基于轻量级J2EE架构的法院档案管理系统的设计与实现.doc(62页珍藏版)》请在三一办公上搜索。

1、 兰 州 陇 桥 学 院软件开发工具课程设计实验报告设计报告题目: 学 院、 系: 信息工程学院 专 业 (方 向): 计算机科学与技术 年 级、 班: 2003级2班 学 生 姓 名: 指 导 教 师: 2011 年 12 月 20 日 摘 要 J2EE是一种全新概念的企业级应用程序模型,和传统企业应用开发模型相比有不可比拟的优势。J2EE体系结构提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,增强了安全机制,提高了性能。 本系统是基于轻量级J2EE的开发架构,采用MVC软件设计模式。我们选择轻量级框架S

2、pring,它使应用程序不依赖于任何容器,减少开发的复杂度,提高开发的效率。表示层采用开放源代码且较成熟的Struts。持久层框架使用较为流行的ORM组件Hibernate。 本系统利用internet解决档案的查询效率低,查询不方便,以及避免传统的法院档案管理的归档困难、档案容易损坏等问题。关键词 J2EE;MVC ;Struts;Hibernate;设计模式 目 录一、系统所用技术简介(1)(一)Spring介绍(1)(二)Struts介绍(2)(三)MVC介绍(3)(四)Hibernate介绍(4)二、需求分析说明(4)(一)开发背景(5)(二)目标(5)(三)功能性需求分析(5)(四)

3、系统的界面需求(11)(五)软件质量需求(11)(六) 软件环境需求(11)三、数据库分析与设计(11)(一) 数据库环境说明(11)(二)数据库逻辑设计(12)(三)数据库物理设计(12)(四)数据库连接池配置(14)四、系统设计与实现(15)(一)系统结构(15)(二)系统的构架设计(16)(三) 对象域模型(20)1、实体对象的实现(21)2、对象域模型的配置(23)(四)系统持久层DAO的实现(25)(五)系统业务层的实现(33)(六)用户接口层(34)1、登录功能及权限验证(34)2、档案管理及维护(37)3、法医鉴定档案的管理(42)4、当事人管理及维护(45)5、用户管理及维护(

4、48)(七)系统文件配置(50)1、Hibernate配置(50)2、Spring配置(51)五、系统功能测试(54)(一)用户登录测试(54)(二)档案管理测试(55)(三)当事人管理测试(56)参考文献(59) 基于轻量级J2EE架构的法院档案 管理系统的设计与实现一、 系统所用技术简介 本系统是基于J2EE开发平台,采用MVC软件设计模式,表现层框架采用开放源代码且较成熟的Struts ,业务层组件采用开放源代码的轻量级容器Spring,持久层框架采用较为流行的Hibernate。Spring,Struts,Hibernate 三者之间的关系如图: 图1:Struts,Spring,Hi

5、bernate三者之间的关系(一) Spring介绍 Spring框架的核心思想可以用两个字来描述,那就是解耦。应用程序的各个部分之间(包括代码内部和代码与平台之间)尽量形成一种松耦合的结构,使得应用程序有更多的灵活性。应用内部的解耦主要通过一种称为控制反转(IOC)的技术来实现。控制反转的基本思想就是本来由应用程序本身来主动控制的调用等逻辑转变成由外部配置文件来被动控制。通常我们用一个所谓的好莱坞原则(Dont call me. I will call you.)来比喻这种控制反转的关系。由于控制反转的概念相对比较广泛,很多应用服务器实际上也实现了不同程度的控制反转技术,只是这些应用服务器对

6、应用程序的侵入性太强。因此Martin Fowler专门写了一篇文章讨论控制反转这个概念,并提出一个描述更为准确的概念,叫依赖注入(Dependency Injection)16。 Spring框架中的各个部分都充分使用了这种依赖注入的技术实现,从而给应用以最大的灵活度。 Spring框架另外一个比较重要的技术是它对于面向切面的编程(AOP)的支持。随着应用复杂度的逐渐上升和对应用灵活性要求的提高,IT逻辑和业务逻辑尽量分离的呼声也越来越高。AOP技术作为实现这种分离的一种比较好的途径而越来越受到大家的重视。Spring提供的是一种动态AOP实现,也即通过代理模式动态地在目标对象的方法前后插入

7、相应的处理代码。应用程序与底层应用服务器平台的解耦也可以借助AOP技术来实现。Spring内置的AOP支持是一种锦上添花的功能。它使得一些本来必须由容器支持的功能,比如事务控制可以脱离开容器运行,从而达到瘦身的目的。这也是为什么Spring框架常被人成为轻量级容器的一个原因。(二) Struts介绍 Struts框架是Apache组织的一个开放源代码的项目。为Web应用提供一个通用的MVC架构,提供了对开发MVC系统的底层支持.它使开发人员把更多的时间放在如何解决实际问题上。Struts框架由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由Java Bean或EJB组件实现,负责处

8、理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括Action Servlet类和Action类,Action Servlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Struts-config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts-config.xml是与Struts相关的特殊信息配的描述文件。 图2 :STRU

9、TS实现的MVC框架(三) MVC介绍MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面, MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。模型(Model)就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MV

10、C最主要的核心。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系如图所示: 图3:视图,控制,模型三者之间的关系(四) Hibernate介绍 ORM的全称是Object-Relational Mapping,即“对象关系映射”。ORM组件的主要功能是实现实体域对象的持久化并封装数据访问的细节。Hibernate是采用ORM模式实现数据

11、持久层的一个优秀的java组件,它提供强大、高效的将java对象进行持久化操作的服务。利用Hibernate,开发人员可以方便地按照java对象的结构进行持久层的开发,并可以使用Hibernate所提供的HQL完成java对象和关系型数据库之间的转换和操作。二、 需求分析说明(一) 开发背景法院在其工作中日集月累产生了大量的档案资料,而且档案资料的数量还在不断的增加之中。在日常的工作里,原始手工管理模式给档案管理工作带来了极大的不便,人员劳动强度大,档案资料管理也困难。而且还有查询效率低,劳动强度大、归档困难、容易损坏等缺点。(二) 目标 本系统运用当今互联网的便利性,主要解决查询效率低,当频

12、繁查询时,解决其劳动强度大的问题以及避免法院档案管理的归档困难、档案容易损坏等问题。(三) 功能性需求分析该系统具有以下一些特征:1) 管理员和普通用户能进行登录2)能显示档案的信息,可进行档案的查询,增加和修改 3)能显示用户信息,可对用户信息进行添加和删除 4)能显示当事人信息,可对当事人进行添加和修改 业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个业务用例(Business Use Case)框图表达: 图4:业务用例图模型中的活动者代表外部与系统交互的单元,包括管理员和普通用户。业务用例框图是对系统需求的

13、描述,表达了系统的功能和所提供的服务,包括添加档案,修改档案,查询档案,添加用户,删除用户,查询当事人,修改用户信息。用例说明: 表1:登录用例用例名登录前置条件进入系统主页成功状态根据登录角色进入相应界面失败状态返回到登录界面说明用户进行登录表2:添加档案用例用例名添加档案前置条件管理员已登录成功状态提示档案添加成功失败状态返回到添加档案界面并提示操作不成功说明对录入信息的格式进行合法验证,保存添加档案 表3:修改档案用例用例名修改档案前置条件管理员已登录成功状态提示修改成功并显示修改后的信息失败状态返回到修改界面并提示修改错误说明对修改的信息进行合法验证,更新档案信息 表4:查询档案用例用

14、例名查询档案前置条件管理员或普通用户已登录成功状态显示查询到的信息失败状态返回到查询界面并提示查询错误说明对录入查询的信息进行合法验证,显示查询到的档案信息 表5:添加用户用例用例名添加用户前置条件管理员已登录成功状态显示添加用户成功失败状态返回到添加界面并提示添加错误说明完成普通用户的添加 表6:删除用户用例用例名删除用户前置条件管理员已登录成功状态显示删除用户成功失败状态返回并提示删除错误说明完成对普通用户的删除 表7:添加当事人用例用例名添加当事人前置条件管理员已登录或进入添加档案界面成功状态显示添加成功失败状态返回到添加界面并显示添加错误说明对录入的信息进行合法验证,添加保存当事人信息

15、 表8:查询当事人用例用例名查询当事人前置条件用户已登录或进入显示档案界面成功状态显示当事人的详细信息失败状态返回到查询界面并显示查询错误说明对录入的查询信息进行合法验证,显示当事人信息 表9:修改自己信息用例用例名修改自己信息前置条件用户已登录成功状态显示修改成功后的信息失败状态返回到修改界面并显示修改错误说明对录入的修改信息进行合法验证,更新修改当事人信息 顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。 图5:管理员登录及档案管理序列图 图6:管理员对当事人管理序列图 图7:普通用户的操作序列图状态图描述一个实体基于事件反应的动态行为,显示了该实体

16、如何根据当前所处的状态对不同的时间做出反应的。状态图设计一般是在对操作序列的顺序图细化的基础上表达。 图8: 管理员维护档案的状态图 图9 :管理员维护当事人信息状态图 图10:普通用户状态图(四) 系统的界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。(五) 软件质量需求 易用、健壮、兼容性好、运行稳定、有一定安全保障。(六) 软件环境需求 兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP,MYSQL数据库,spring、struts、hibernate开发运行环境,proxool-0.8.3 JAVA数据库连接池中间件,TOMCAT WEB开发服务

17、器。三、 数据库分析与设计(一)数据库环境说明 考虑该系统的定位与现有技术力量,决定采用当前较流行的开放源代码的MYSQL数据库作为系统的后台数据库开发环境,采用开放源代码的JAVA数据库连接池中间件proxool来连接Mysql数据库 。法医档案档案类型,归档类型归档号,保密级案卷号,目录号主办人,鉴定单位鉴定法医,归档日期年龄,性别当事人,鉴定目的鉴定结果备注当事人当事人ID,姓名性别,身份证出身年月国籍,民族政治面貌文化程度出身地,原籍户籍所在地现址,电话职业,身份特殊身份备注档案档案ID,档案类型归档类型,归档号保密级,案卷号目录号,案由当事人,审判长审判员1,审判员2 书记员,主办人

18、收案日期,结案日期原审法院,保管日期 一审结果,二审结果再审结果,备注(二) 数据库逻辑设计用户用户ID 密码 用户名 角色档案-当事人当事人ID档案ID (三) 数据库物理设计 说明:空缺位置表示无要求,主键在约束栏注明。基本表:用户user字段类型长度约束ID文本32主键Password文本32Name 文本10唯一非空Role 文本10基本表:当事人people字段类型长度约束ID文本32主键Pid文本32唯一非空Name 文本10非空sex文本4非空Birthday文本12非空Nation文本40非空Race文本10非空Politbg文本10Education文本10Birthplac

19、e文本50Bfplace文本50Nowplace文本50Liveplace文本50Tel文本20Occupation文本10Positon文本10Speposition文本10note文本100基本表:档案doucument字段类型长度约束ID文本32主键Filekind文本10非空Archkind文本10非空Archno文本20非空唯一Secretlevel文本6Fileno文本20非空唯一Dirno文本20非空唯一Cause文本400client文本200非空Chiefjustice文本10非空Judge1文本10非空Judge2文本10非空Clerk文本10非空Sponsor文本10非空

20、Closedate文本12Enddate文本12Formcourt文本20Firstjudge文本200Secjudge文本200Thirdjudge文本200Arhdate文本12Bgqx文本10Note文本100基本表:当事人_档案peopledocument字段类型长度约束peopleid文本32主键documentid文本32主键基本表:法医档案fydocument字段类型长度约束id文本32主键Filekind文本10非空Archkind文本10非空archno文本20非空唯一Fileno文本20非空唯一Dirno文本10非空唯一Purpose文本100Sponsor文本20Clie

21、nt文本20Corporation文本20Doctor文本20非空Result文本200Exandate文本12Archdate 文本12Age文本3Sex 文本2note文本200(四) 数据库连接池配置 数据库连接池:在访问数据库前需连接数据库,而每次创建新的数据库连接要消耗大量的资源,数据库连接池技术就是为了解决资源消耗问题。它的原理是:在运行时,同时打开着一定数量的数据库连接,形成数据连接池,当需要用到数据连接时,就从中取出一个连接,完成某些SQL操作后,再把连接回收到连接池中,以供其它用户(或进程)调用。本系统采用开放源代码的数据库连接池中间件proxool,其配制如下: dbpoo

22、l jdbc:mysql:/localhost:3306/order1 org.gjt.mm.mysql.Driver 90000 5 100 10四、 系统设计与实现(一) 系统结构法医档案管理系统登录用户管理当事人管理法医档案管理普通档案管理修改当事人信息显示当事人所有用户添加修改查询所有档案添加显示所有档案添加查询 图11:系统结构 功能说明:(1) 普通档案管理:可以根据档案的一个或多个字段来查询所需的档案。在添加档案信息的同时也可新打开一个添加当事人的页面添加当事人的信息。显示所有档案功能先显示部分档案信息,当需要查看其详细信息时再显示其详细信息,在档案的详细信息中有当事人的链接,可

23、查看当事人详细信息。(2) 法医档案管理:可以根据档案的一个或多个字段来查询所需的档案。在添加档案信息的同一页面添加被鉴定人的信息。 显示所有档案功能先显示部分档案信息,当需要查看其详细信息时再显示其详细信息。(3) 用户管理:管理员可查看所有的用户,也可进行用户的添加和删除。(4) 当事人管理: 普通用户可查看当事人的详细信息,但不能对其进行修改,管理员不但可查看还可以对其进行修改。(二) 系统的构架设计 系统主要有如下3个包:1) 用户接口包(表示层)用户接口包在其他包的顶层次,为系统用户提供访问信息和服务。其主要包括jsp和ActionForm等文件。 系统所有Action类都继承Bas

24、eAction类,在BaseAction类中获得系统Spring 所配置的业务层bean对象的实例。 用户登录及处理的ACTIONFORM,ACTION类图: 图12:用户登录及处理的ACTIONFORM,ACTION类图 档案的ACTIONFORM,ACTION类图: 图13:档案的ACTIONFORM,ACTION类图2) 业务逻辑包(业务层) 主要完成业务逻辑的处理工作,它既要调用持久层的方法来完 成数据的持久化和查询工作也要业务方法暴露给表示层,以便表示层的调用。 系统业务接口及其实现类图如下: 图14:系统业务接口及其实现类图3) 数据持久DAO包(持久层) 该包实现数据的持久化,也

25、就是与数据库交互,实现数据的存取、修改等操作。Spring的HibernateDaoSupport基类提供了访问与当前事务绑定的Session对象的函数。所有DAO类都继承HibernateDaoSupport这个基类。系统DAO封装了各对象域模型进行持久化操作的各种方法,系统DAO接口及实现类图如下: 图15:系统DAO接口及实现类图(三)对象域模型 经过上面分析系统主要包括:管理员,用户,普通档案,法医档案,当事人五个实体。我们可把管理员和用户看作一个实体-用户USER。a) 用户 包含管理员和普通用户,管理员可进档案的删除,添加,查询修改以及对普通用户的删除,添加等,普通用户可对档案进行

26、查询操作。 b) 普通档案 提供刑事,诉讼等案情的一些详细资料。c) 当事人提供案件的当事人的一些详细资料。d) 法医档案提供法医鉴定案件的一些详细资料。1、实体对象的实现 用户实体对象的具体实现:package cn.fy.model;public class User private String id;private String name;private String password;private String role; /用户的角色管理员或普通用户public User()public String getId() return id;public String getRole

27、() return role;public void setRole(String role) this.role = role; 普通档案对象实体的具体实现:package cn.fy.model;import java.util.*;public class Document private String id;private String fileKind;/档案类型private String archKind;/归档类型private String archNo; /归档号private String secretLevel;/保密级private String secJudge;

28、/二审结果private String thirdJudge; /三审结果private String archDate; /归档日期private String bgqx ;private String note; /备注private Set people=new HashSet();/当事人public Set getPeople() return people;public void setPeople(Set people) this.people = people;public String getArchDate() return archDate; public String

29、getThirdJudge() return thirdJudge;public void setThirdJudge(String thirdJudge) this.thirdJudge = thirdJudge;法医鉴定档案对象实体:package cn.fy.model;public class FYDocument private String id; private String fileKind;/档案类型private String archKind;/归档类型private String archNo; /归档号private String fileNO; /案卷号privat

30、e String note; /备注public String getAge() return age;public void setAge(String age) this.age = age;public void setSponsor(String sponsor) this.sponsor = sponsor;当事人对象实体:package cn.fy.model;import java.util.*;public class People private String id;private String pid;/身份证号private String name;/姓名private

31、String sex;/性别private String birthDay;/出身日期private String nation;/国籍private String race;/民族 private String note;private Set document=new HashSet();public Set getDocument() return document;public void setDocument(Set document) this.document = document;public String getBfPlace() return bfPlace; public

32、 void setTel(String tel) this.tel = tel;2、对象域模型的配置实体对象映射文件的主要作用是描述这些java持久层对象以及它们的属性和数据库中的表以及表中字段之间的关系,这样,Hibernate才能自动建立Java 对象与数据库表中数据的关联关系,从而实现它们之间的相互转换。映射文件的名称一般于java对象的名称相同,扩展名使用.hbm.xml,以便于和普通的xml文件进行区分。用户实体对象的配置文件:档案实体对象的配置文件: 法医鉴定档案实体的配置文件:当事人实体对象的配置文件:set name=document table=peopledocument inverse=false cascade=sav

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号