




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 编编 号:号: 审定成绩:审定成绩: xxxx 大学大学 毕业设计(论文)毕业设计(论文) 设计(论文)题设计(论文)题 目:目:java 基于基于 ssh 的的 oa 系统的设计系统的设计 学学 院院 名名 称称 :计算机学院计算机学院 学学 生生 姓姓 名名 :x x 专专 业业 :计算机科学与技术计算机科学与技术 班班 级级 : 学学 号号 : 指指 导导 教教 师师 :x x x 答辩组答辩组 负责人负责人 : 填表时间:填表时间: 2008 年年 5 月月 xxxx 大学教务处大学教务处 基于基于 sshssh 的的 oaoa 系统的设计系统的设计 陆嘉俊 (浙江海洋学院 数理与信
2、息学院, 浙江 舟山 316004) 摘摘 要要 办公自动化管理系统简称 oa 系统,该系统的开发目的是为了知识化管理企业 内部。实现网络办公自动化,这将为企业,政府部门节省大量的人力资源,节省 大量的办公费用,实现文件管理自动化,规范工作流程,大幅度提高办公效率。 随着网络的高速发展,网络 oa 系统逐渐受到关注。一些大型企业集团(例如联 想、海尔)正致力实现高层次的网络办公自动化,中小型企业也存在一个很大的 低成本网络 oa 系统的需求。 本系统实现了公共信息、组织管理、公文流转、权限管理。系统开发选用 java、jsp、html 语言,采用了 xml、ajax、jstl、jbpm、str
3、uts、spring、hibernate 等技术,使用 tomcat 作 为 web 服务器,mysql 作为系统的数据库服务器。 论文共分为概述、开发及运行环境、需求分析、总体设计、详细设计、系统 模块页面和代码实现、系统测试和评价,总结八部分。在系统详细设计中充分利 用类图、用例图、用例描述、顺序图、状态图对系统设计进行详细地说明。 【关键词关键词】oa, web,jbpm,java, hibernate the design of oa system based on ssh lujiajun (school of mathematics,physics and information,
4、zhejiang ocean university 316004) abstract oa is the abbreviation for office automation. it targets at informationalizing the process of enterprise management. it will help governments, large corporations cut down capital and human resources, standardize the work flow and improve the work efficency
5、by implementing the net oa. with the rapid development of computer and network technology, oa has been coming to highlights around the world. the whole system is implemented with j2ee and based on b/s model. the application server is tomcat and the datebase is mysql. the main technology used in the
6、project includes xml、ajax、jstl、jbpm、struts、spring、hibernate, etc. the thesis consists of eight parts including outlines, development and operating environment, demand analysis, the outline design, detailed design, implement, testing and evaluation. the system designment process is completely illustr
7、ated through class diagram、usercase diagram、sequence digram、state diagram which are integrated in rational rose. 【keywords】:oa, web, jbpm,java,hibernate 目录 摘 要 .i abstract .ii 1 概述 .1 1.1 项目背景 .1 1.2 开发定义 .1 1.3 struts + spring + hibernate 技术 .1 1.4 工作流引擎 jboss jbpm .2 2 开发及运行环境 .4 2.1 ide myeclipse
8、 简介 .4 2.2 mysql 简介 .4 2.3 服务器 tomcat 简介 .4 2.4 运行环境 .5 3 需求分析 .6 3.1 系统简介.6 3.2 功能需求.6 4 总体设计 .8 4.1 系统结构模块设计.8 4.2 数据库结构的设计.10 5 详细设计 .16 5.1 组织管理模块设计.16 5.1.1 机构管理.16 5.1.2 人员管理.17 5.2 权限管理模块设计.19 5.2.1 模块管理.19 5.2.2 角色管理.20 5.2.3 用户管理.21 5.2.4 密码修改.23 5.2.5 用户登陆.23 5.2.6 即时认证.24 5.3 公文流转模块设计.24
9、5.3.1 流程管理.24 5.3.2 公文管理.26 5.4 个人办公模块设计.31 5.4.1 我的办公桌.31 5.4.2 我的便签.32 5.4.3 通讯录.33 6 系统模块页面和代码实现 .35 6.1 系统登陆.35 6.2 组织管理 .36 6.3 权限管理.40 6.4 公文流转.44 6.5 公共信息.48 7 对系统的测试和评价 .50 7.1 系统测试.50 7.2 系统存在的问题 .50 总 结 .51 参考文献 .52 1 概述概述 1.11.1 项目背景项目背景 企业信息化建设经过这么多年的发展,取得了比较大的成果与效益,但是,随着应用与 需求的不断增长和多样性,
10、信息系统也需要走专业化、多样性的建设之路。这是经济社会发 展的必然结果。 作为信息系统的一部分:oa 系统的建设经过不断的发展与创新,已经走向协作与知识管 理相结合的发展阶段,同时兼顾用户多样性和个性化的要求,实现真正的网上办公与移动办 公,充分辅助现代企业提高现代化的办公效率。 oa 系统的发展经历以下几个阶段1: 第一阶段:oa 系统的开始,也是现代办公的雏形。随着 pc 技术的进步,诸如 wps、cced 等字处理软件比较普遍的使用,再加上各种各样打印机、复印机的出现,在办公 室随时完成各类文件的编辑、打印就成为现实,这也是第一代办公自动化系统(oa)的特点。 第二阶段:协作性 oa 系
11、统的发展。这一阶段可以借助 oa 系统实现各类文档的传阅与审 批等协作性的工作。由于这一阶段的 oa 系统在操作方面的局限性,使得 oa 系统在企事业单 位的高层得不到充分的推广,也就没有实现 oa 系统最本质的功能-辅助领导进行决策的功能。 第三阶段:协作与知识型 oa 系统的发展。oa 系统在这一阶段得到了广泛的推广应用。 oa 系统作为信息化系统的一部分,它与 erp、crm 等业务系统有着本质的区别,oa 系统 主要的功能是辅助决策与办公,它是将人的思想电子化,并且能够快速的传播给其他相关的 人,同时,能够及时的收集到所有人的反馈意见。在决策时,可以借助 oa 系统查询各类有 帮助的信
12、息,使得自己的决策尽可能的客观、公正、准确。 1.21.2 开发定义开发定义 oa 系统主要实现个人办公、组织管理、公共信息、公文流转、权限管理。oa 系统实现 真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。本系统适用于企业 和政府办公的自动化管理。 1.31.3 strutsstruts + + springspring + + hibernatehibernate 技术技术 struts 是一套用于构建 java web 应用程序的框架。它有自己的控制器组件,并可以融 合许多先进的技术来提供后台模型与前端视图。struts 是一个 mvc 框架,实现了 model- vi
13、ew-controller 设计模式的概念,它将这些概念映射到 web 应用程序的组件和概念中,从 而解决了 jsp 页面职责过重的问题。struts 属于呈现层2。 spring 封装了许多特性,主要用于管理对象之间的关系。spring 提供了 ioc(控制的反 转)和依赖注入特性,并真正地允许你从程序逻辑中分离出依赖关系和配置。spring 的 aop 封装提供了符合 aop alliance 规范的面向切面的编程(aspect-oriented programming)实 现,利用 aop 能够减弱系统代码的功能耦合3。 hibernate 是一个主流 o/r 映射框架。hibernat
14、e 建立在面向对象的设计思想之上, orm(object rational mapping)是其基本特性。orm 为系统设计提供了更加自然的实现方 式。hibernate 以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中 各种资源和数据的缓存调度,实现了更佳的性能4。 1.41.4 工作流引擎工作流引擎 jbossjboss jbpmjbpm jboss jbpm 为设计及开发工作流和业务流程管理系统提供了一个先进的平台。由 api、 特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进 行沟通及操作。 工作流管理和业务流程管理(bpm)正在迅速成
15、为企业获得软件敏捷性和适应性的重要 方法。 jboss jbpm 是一个面向流程的工作流/bpm 框架和工具集,它使业务分析人员能够与软 件组件进行交互、有助于获得有效的业务解决方案。 许多企业在积极寻求一种结构化方法,以便设计业务动作/事务,并且优先使用自动化 流程加以执行。业务流程管理(bpm)和工作流管理使用动作、任务和流程等概念,提供了 解决这个问题的办法。 业务流程管理一词通常是指企业通过一系列活动,以能够适应动态变化的环境的方式, 自动管理及优化流程。这些活动通常寻求来自软件工程和工具的帮助。因而,bpm 一词往往 直接用来指软件工程技术和工具。 jboss jbpm3.0 提供了
16、这样的功能:使用业务流程执行语言(bpel) 、灵活而且可插入的 应用编程接口(api) 、本地流程定义语言以及图形建模工具,利用基于行业标准的编制机制 开发新的自动化业务流程和工作流。 jboss jbpm 是采用开放源代码(lgpl 许可证)的框架,包括了 java api、工具和定义 语言,可以充当 web 应用或者独立的 java 应用。jboss jbpm 相当于业务分析人员和开发人 员之间的中介,为他们提供了名为 jpdl 的通用流程定义语言。 jbpm 倚赖性很小,可以很容易的作为 java 库来使用。可以用在吞吐量极为关键的 j2ee 群应用服务器环境中。 jbpm 的持久化层
17、用 hibernate 实现,可以同任何数据库配置,可以部署在任何应用服务 器上5。 2 2 开发及运行环境开发及运行环境 2.12.1 ideide myeclipsemyeclipse 简介简介 eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而言,它只是 一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标 准的插件集,包括 java 开发工具(java development tools,jdt) 。myeclipse 是 eclipse 的插件,也是一款功能强大的 j2ee 集成开发环境,支持代码编写、配置、测试以及
18、除错6。 2.22.2 mysqlmysql 简介简介 mysql 是最流行的开放源码 sql 数据库管理系统,它是由 mysql ab 公司开发、发布并支 持的。mysql 使用 c 和 c+编写,经过众多不同的编译器测试,支持众多的系统平台;使用 gnu automake、autoconf 和 libtool 进行移植;提供了用于 c、c+、eiffel、java、perl、php、python、ruby 和 tcl 的 api;实现了多线程,如果有 多个 cpu,它能方便地使用这些 cpu;提供了事务性和非事务性存储引擎;使用了极快的“b 树”磁盘表(myisam)和索引压缩;通过使用优
19、化的“单扫描多连接” ,能实现极快的连接 服务器;mysql 可单独运行在客户端/服务器联网环境下,也可作为库提供,可嵌入(链接) 到独立的应用程序中。 2.32.3 服务器服务器 tomcattomcat 简介简介 tomcat 是一个免费的开源的 servlet 容器,它是 apache 基金会的 jakarta 项目中的一 个核心项目,由 apache,sun 和其他一些公司及个人共同开发而成。由于有了 sun 的参与和 支持,最新的 servlet 和 jsp 规范总能在 tomcat 中得到体现。 tomcat 不仅仅是一个 servlet 容器,它也具有传统的 web 服务器的功能
20、:处理 html 页 面。但是与 apache 相比,它的处理静态 html 的能力就不如 apache。我们可以将 tomcat 和 apache 集成到一块,让 apache 处理静态 html,而 tomcat 处理 jsp 和 servlet。这种集成只 需要修改一下 apache 和 tomcat 的配置文件即可。tomcat 也可以与其它一些软件集成起来实 现更多的功能。如与 jboss 集成起来开发 ejb,与 cocoon(apache 的另外一个项目)集成起 来开发基于 xml 的应用,与 openjms 集成起来开发 jms 应用。 2.42.4 运行环境运行环境 软件环境
21、: web 服务器:windows 2000/2003/nt4.0、weblogic9.0 数据库服务器:windows 2000/2003/nt4.0、oracle10g 客户端:windows2000/2003/xp/98、ie6.0 硬件环境 数据库服务器、web 服务器 最低配置:c41.7g cpu、 512m 内存、10g 剩余硬盘空间 建议配置:p4 3.0g cpu、1024m 内存、40g 剩余硬盘空间 客户端 最低配置:奔腾 233 cpu、64m 内存、100m 剩余硬盘空间 建议配置:c41.7g cpu、256m 内存、1g 剩余硬盘空间 3 3 需求分析需求分析 3
22、.13.1 系统简介系统简介 办公自动化系统,是高效率、低成本、跨区域管理的办公自动化解决方案,集中了成熟 的数据技术与管理思想,能有效提高企业的内部管理和工作效率,降低经营成本。基于 intranet/internet 技术,采用 b/s 体系机构的办公自动化系统使得信息在部门内部和部门 之间传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事 务处理中解放出来,参与更多的富于思考性和创造性的工作。 3.23.2 功能需求功能需求 本系统具有的功能包括个人办公、公共信息、组织管理、公文流转、权限管理。具体需 求如下: 1、 个人办公能显示个人办公桌,办公桌上显示各种未
23、查阅信息和能到达各种管理功能的快 捷连接;个人办公还应实现管理便签、通讯录等功能。 2、 公共信息主要实现新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和 知识快速传播和转移。 3、 组织管理实现公司组织架构管理和公司人员管理。 4、 公文流转实现流程管理和公文管理。 文档流转事实上是对工作流以及工作流中的文档进行管理,对于大多数企业来说,核心 的管理就是工作流和文档的管理。 流程的本质就是很多人在一起完成一件事情,一般的企业都会有很多流程,如:请假流 程、报销流程、收文/发文流程等。流程可能会经过不同的中间环节,在中间环节上,由相 关人员进行处理,这些处理过程需要进行记录。在公文
24、流转中能够实现流程的定义并在工作 流程的执行过程中能够实现根据流程创建公文、查阅公文和审批公文。 5、 权限管理实现系统模块、系统角色、用户帐号和用户权限的管理。权限管理能够给每个 公司员工分配一个帐号,用户帐号可以分配角色,也可以授予权限。 a、用户(user)可以拥有多个角色(role),角色可以被分配给多个用户。 b、权限的意思就是对某个资源的某个操作。所谓资源,即系统的模块;所谓操作,包 括:增加、删除、修改、查询等操作。 c、权限管理系统的总体功能分为:授权与认证。 d、授权,指将权限授予角色或用户: a)如果用户 user1 拥有角色 role1、角色 role2,那么,缺省的情况
25、下,用户 user1 将拥有被分配给角色 role1 和角色 role2 的所有权限(即默认情况下,用户 user1 继承 其拥有的角色所具有的所有权限) ; b)如果用户拥有多个角色,那么用户的权限是这些角色权限的合集; c)如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一 个操作,一个角色为“允许” ,另外一个角色为“不允许” ) ,将以优先级别高的角色为准 (所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在 不同的用户那里可能拥有不同的优先级) ; d)除了可以对角色进行授权外,也可以针对用户进行授权,也就是说,将权限授予 用户。针对某个资
26、源的所有操作,我们可以设置这些权限对用户来说是“继承”或“不 继承”: i、继承:意思是用户将使用其所拥有的角色的权限,而不使用其单独设置的权限; ii、不继承:意思是用户将使用其单独设置的权限,而不使用其所拥有的角色的权 限; e、认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问: a)在用户访问的时候,需要进行即时的判断(是否有权访问) ; b)应该提供查询的功能,可以查询某个用户所拥有的所有权限。 4 4 总体设计总体设计 4.14.1 系统结构模块设计系统结构模块设计 本系统主要包括以下几个功能模块: 公 文 管 理 流 程 管 理 人 员 管 理 机 构 管 理 信
27、 息 管 理 我 的 办 公 桌 通 讯 录 我 的 便 签 模 块 管 理 角 色 管 理 用 户 管 理 密 码 修 改 oa 系统 公文 流转 组织 管理 公共 信息 个人 办公 权限 管理 图 4-1 系统功能模块图 功能模块设计的具体说明: 1、 个人办公 我的办公桌显示到达各个功能模块的链接,显示登陆用户的能够查看的最新信息; 我的便签模块实现添加便签、修改便签、删除便签、查看便签等功能;通信录模块能够 添加通信信息、删除通信信息、修改通信信息、浏览通信信息和查询通信信息。 2、 公共信息 授权登陆用户能够发布公共信息、删除公共信息、修改公共信息,普通登陆用户能 够查看公共信息。
28、3、 组织管理 组织管理的设计首先选择要采用的组织架构。组织架构的形式可以分为:集权型组 织架构、职能型组织架构、混合型组织架构和网状型组织架构7。 集权型组织架构只有人的概念,这种组织架构适合与小型公司,比较少见。职能型 组织架构按照职能来划分部门,按照部门划分公司员工,适合于中型公司,这是最常用 的组织架构形式。混合型组织架构是集权型和职能型相结合的组织架构,人下面可以挂 部门也可以挂人,部门下面可以挂部门也可以挂人。混合型也是比较常见的组织架构。 网状组织架构是最复杂的组织架构形式。网状组织架构是对混合型组织架构的进一步抽 象,抽象出所谓的责任模式。这种组织架构适合于大型公司。 在 oa
29、 系统我们选择职能型的组织架构,机构下可以挂子机构也可以挂员工。机构 设计为树型结构。组织管理能够实现授权登陆用户能够添加机构信息、人员信息,删除 机构信息、人员信息,修改机构信息、人员信息,普通登陆用户能构查看机构信息、人 员信息。 4、 公文流转 在这个功能模块中,我们将使用工作流引擎 jbpm。利用 jbpm 的流程设计器设计流 程,授权登陆用户能够上传流程文件、流程图片,删除流程,普通登陆用户能够查看流 程定义文件、流程定义图片,创建公文,审批公文,查看未审公文。 5、 权限管理 通过权限管理,系统能够控制不同用户对模块的访问权限,而且要控制到 crud(增删改查)的操作级别。能通过角
30、色对用户进行统一授权,在特殊情况下,也能 够单独对用户进行授权。 权限设计有很多种设计方法,但是核心都是一样的。权限设计的核心是三元组的概 念(who、what、how) 。who 是主体,what 是客体、how 就是负担在客体上面的一种操 作。 根据系统需求,在 oa 系统中,我们采用 acl 模型(access control list) ,acl 中 包含用户(user) 、资源(resource)、资源操作(operation)三个关键要素。通过将资源以 及资源操作授权给用户而使用户获取对资源进行操作的权限。但是 acl 是个比较简单的 模型,并未提出对于权限的继承和权限的排斥的解决
31、方案,所以 oa 系统采用重构后的 acl 模型,解决系统用户权限继承角色权限,以及权限排斥的问题。 权限管理实现授权登陆用户能够添加模块信息、删除模块信息,添加角色、删除角 色、给角色授权,给用户分配帐号、删除帐号、修改帐号信息,给用户分配角色、给特 权用户授权、查看用户信息,普通登陆用户能够查看模块信息、角色信息、修改用户密 码。 本系统采用了分层开发,但是对三层架构做了修改,将持久层合并在业务逻辑层中, 系统分为呈现层、业务逻辑层。呈现层使用 jsp 和 jstl15表示。系统层次如图 4-2 所示: 、 、 、 、 、 、 、 、 、 、 、 图 4-2 4.2 数据库结构的设计数据库
32、结构的设计 1、系统开发中先根据系统需求建立领域模型,根据领域模型构造出实例对象,最后采用 o/r 映射工具 hibernate,从对象模型导出关系模型。领域模型如图 4-3 所示: module 1 * +parent 1 +children * organization 1 * +parent 1 +children * role acl * 1 * 1 * 1 * 1 usersroles * 1 * 1 approveinfo document * 1 * 1 workflow * 1 * 1 addresslist note information employee * 1 * +o
33、rg1 user *1*1 1 1 1 1 * 1 * 1 * 1 * -approver 1 * 1 * -creator 11 * 1 * 1 * 1 * 图 4-3 系统模型图 2、数据库表的生成 根据领域模型创建实体类,创建出实体类之间的关联关系。通过工具 xdoclet 生成实体 类的映射文件和 hibernate 配置文件。利用 hibernate 的工具类倒出数据库表,系统的表结 构如下所示: 表 4-1 t_organization(机构表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment机构 id
34、 serialnumbervarchar(255)yesnull机构编号 orgnamevarchar(255)yesnull机构名称 descriptionvarchar(255)yesnull描述 parentidint(11)yesmulnull父机构 id 表 4-2 t_employee (员工表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment员工 id empnamevarchar(255)yesnull员工姓名 gendervarchar(255)yesnull性别 ageint(11)yesnul
35、l年龄 telephonevarchar(255)yesnull电话 addressvarchar(255)yesnull地址 emailvarchar(255)yesnullemail dutyvarchar(255)yesnull职务 orgidint(11)yesmulnull机构 id remarkvarchar(255)yesnull备注 表 4-3 t_note (便签表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment便签 id titlevarchar(255)yesnull便签标题 content
36、varchar(255)yesnull便签内容 createtimedatetimeyesnull便签日期 createoridint(11)yesmulnull创建者 id 表 4-4 t_addresslist (通信录表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment通讯录 id namevarchar(255)yesnull名字 mobilephonevarchar(255)yesnull手机电话 homephonevarchar(255)yesnull家庭电话 officephonevarchar(25
37、5)yesnull办公室电话 emailvarchar(255)yesnullemail msnvarchar(255)yesnullmsn emailcodevarchar(255)yesnull邮编 addressvarchar(255)yesnull地址 remarkvarchar(255)yesnull备注 creatoridint(11)yesmulnull创建者 id 表 4-5 t_user (用户表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment用户 id usernamevarchar(255)
38、yesnull用户名 passwordvarchar(255)yesnull密码 createtimedatetimeyesnull创建时间 expiretimedatetimeyesnull失效时间 empint(11)yesuninull员工 id 表 4-6 t_role (角色表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment角色 id rolenamevarchar(255)yesnull角色名 表 4-7 t_users_roles (用户角色第三方表) fieldtypenullkeydefault
39、extra描述 idint(11)noprinullauto_incrementid useridint(11)yesmulnull用户 id roleidint(11)yesmulnull角色 id ordernoint(11)yesnull角色级别,该字段用 于解决权限冲突问题 表 4-8 t_acl (acl 列表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_incrementid principaltyp e varchar(255)yesnull主体类型 (role、user) principalidint(11)ye
40、snull主体 id moduleidint(11)yesnull模块 id aclstateint(11)yesnull访问控制状态 acltristateint(11)yesnull是否继承,该字 段用于解决权限 继承问题 表 4-9 t_module (模块表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment模块 id modulenamevarchar(255)yesnull模块名称 urlvarchar(255)yesnull模块的 url ordernoint(11)yesnull排序号码 serial
41、numbervarchar(255)yesnull模块编号 parentidint(11)yesmulnull父模块 id 表 4-10 t_workflow (流程表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment流程 id workflownamevarchar(255)yesnull流程名称 processdeflongblobyesnull流程定义 processimagelongblobyesnull流程图片 表 4-11 t_document (公文表) fieldtypenullkeydefault
42、extra描述 idint(11)noprinullauto_increment公文 id titlevarchar(255)yesnull公文标题 contentlongblobyesnull公文内容 annexlongblobyesnull公文附件 descriptionvarchar(255)yesnull公文描述 createtimedatetimeyesnull创建时间 processinstanceidbigint(20)yesnull流程实例 id statusvarchar(255)yesnull公文状态 createoridint(11)yesmulnull创建者 id 表
43、4-12 t_approveinfo (审批信息表) fieldtypenullkeydefaultextra描述 idint(11)noprinullauto_increment审批信息 id approvetim e datetimeyesnull审批时间 commentvarchar(255)yesnull审批内容 documentidint(11)yesmulnull公文 id approveridint(11)yesmulnull审批者 id 表 4-13 t_information (信息表) fieldtypenullkeydefaultextra描述 idint(11)nopr
44、inullauto_increment信息 id titlevarchar(255)yesnull信息标题 cotentvarchar(255)yesnull信息内容 annexlongblobyesnull信息附件 createtimedatetimeyesnull信息发布时间 3、数据库的操作 hibernate 是现在非常流行的持久化框架,使用 hibernate 进行持久化数据是一个非常 好的选择。在 hibernate 中 session 负责完成对象的持久化操作,session 在 hibernate 中 相当于 jdbc connection 中的 connection。创建 s
45、ession 的步骤: 1)根据传入的 hibernate 配置文件 perties 或者 hibernate.cfg.xml 创 建 configuration 类的实例: configuration config = new configuration().configure(); 2)根据 configuration 类实例创建 session 的工厂 sessionfactory 的实例 sessionfactory sessionfactory = config.buildsessionfactory(); 3)创建 session 的实例: session
46、 session = sessionfactory.opensession(); 上述数据库操作要频繁地创建 sessionfatory 实例,管理 session 的打开和关闭,但是 创建 sessionfactory 非常耗费系统资源,这种操作不应该是首选方法。在 spring 中封装了 一个实现 hibernate 相关接口的的基类 hibernatedaosupport,在这个类中提供了数据访问 模板 hibernatetemplate 进行持久化操作。外部类只要继承基类 hibernatedaosupport,并 利用 spring 的依赖注入特性向其注入 sessionfactor
47、y 就能使用 spring 的 hibernatetemplate。使用 spring 的 hibernatetemplate 进行持久化操作,就能避免了 sessionfactory 的频繁创建以及避免了对 session 的人工管理。所以在本系统种采用 spring 的 hibernatetemplate 进行数据库访问。 5、事务管理 系统采用了 spring 中的声明式事务管理。spring 提供了全面的事务支持,spring 的声 明式事务管理是通过 spring 的 aop 实现的。在配置文件中配置事务管理器、事务传播特性、 切入点就能通过 spring 替你管理事务。这将使你可以
48、从每个业务方法中重复的事务划分代 码中解放出来,真正专注于为你的应用添加有价值的业务逻辑代码。 5 详细设计详细设计 经过概要设计阶段的工作,我们已经确定了系统软件的模块结构的描述,但这些模块仍 处于黑盒子级。本设计阶段的主要目的是给出系统模块的内部过程描述及功能。给软件开发 人员提供详细的参考。该系统的开发从面向对象的原理、思想和方法出发,利用 uml 建模工 具进行用例驱动设计,实现从概念模型到可执行体之间的转变。在设计过程中,采用了自底 向上的开发,利用 uml 顺序图创建业务逻辑层 manager 和呈现层 action。 5.15.1 组织管理模块设计组织管理模块设计 5.1.15.
49、1.1 机构管理机构管理 1、机构管理的用例描述 1)添加机构 主要路径 1、参与者打开添加机构的界面 2、参与者向系统提交机构的基本信息 3、系统自动产生机构编号,并存储机构信息 4、系统向参与者显示添加机构信息成功的信息 补充说明 机构信息包括:机构名称、机构描述、父机构的 id 系统添加机构信息成功之后,需要刷新机构列表 2)更新机构 主要路径 1、参与者选择某个机构,向系统提交机构 id 2、系统根据机构 id,查询机构信息 3、系统向参与者显示更新机构信息的界面 4、参与者向系统提交更新之后的机构信息 5、系统更新机构信息,并显示更新机构成功的信息 3)删除机构 主要路径 1、参与者
50、选择一个机构删除 2、系统提示是否要删除机构信息 3、参与者确认之后,向系统提交机构 id 4、系统删除相应的机构 5、系统向参与者显示删除机构成功的信息 扩展点 3a、参与者点击取消,系统不做任何操作,返回机构管理主界面 4a、如果机构下面有子机构,系统显示机构下面有子机构,无法删除 4b、如果机构下面有人员信息,系统显示机构下面有人员信息,无法删除 补充说明 系统删除机构信息成功之后,应刷新机构管理主界面 4)浏览机构 主要路径 1、参与者进入机构管理主界面,系统显示顶级机构列表 2、参与者选择一个机构,向系统提交机构 id 3、系统查询此机构下面的子机构列表 4、系统显示子机构列表 5、
51、参与者点击返回,系统显示上一级机构列表 补充说明 机构列表的元素包括:序号、机构名称、编号、父机构名称 2、根据用例描述创建用例的顺序图,根据顺序图创建出业务逻辑层 orgmanager 和呈现层的 orgaction 类: 图 5-1 .2 人员管理人员管理 1、人员管理用例描述 1)添加人员 主要路径 1、参与者打开添加人员的界面 2、参与者向系统提交人员的基本信息 3、系统储人员信息 4、系统向参与者显示添加人员信息成功的信息 补充说明 人员信息包括:人员名称、性别、年龄、电话、地址、email、职务、机构 id、备注 系统添加人员信息成功之后,需要刷新人员列表 2)更新
52、人员 主要路径 1、参与者选择某个人员,向系统提交人员 id 2、系统根据人员 id,查询人员信息 3、系统向参与者显示更新人员信息的界面 4、参与者向系统提交更新之后的人员信息 5、系统更新人员信息,并显示更新人员信息成功的信息 3)删除人员 主要路径 1、参与者选择一个人员删除 2、系统提示是否要删除人员信息,删除人员将删除人员的所有信息 3、参与者确认之后,向系统提交人员 id 4、系统删除相应的人员信息 5、系统向参与者显示删除人员信息成功的信息 扩展点 3a、参与者点击取消,系统不做任何操作,返回人员管理主界面 4)查询人员 主要路径 1、参与者进入人员管理主界面,系统显示人员列表
53、2、参与者向系统提交查询条件 3、系统根据查询条件查询人员信息 4、系统显示查询结果列表 补充说明 查询条件分为姓名、职务、所属部门 5)查看人员详细信息 主要路径 1、参与者选择某个人员,向系统提交人员 id 2、系统根据人员 id,查询人员信息 3、系统向参与者显示人员详细信息的界面 2、画出人员管理模块各个用例的顺序图,根据顺序图创建人员管理业务逻辑层、呈现层的 类 personmanager 和 personaction。 5.25.2 权限管理模块设计权限管理模块设计 .1 模块管理模块管理 1、模块管理的用例描述 1)添加模块 主要路径 1、参与者打开添加模块的界面
54、 2、参与者向系统提交模块的基本信息 3、系统存储模块信息 4、系统向参与者显示添加模块信息成功的信息 补充说明 模块信息包括:模块编号、模块的唯一编号、url、排序号码、父模块 id 系统添加模块信息成功后,需要刷新模块列表 2)删除模块 主要路径 1、参与者选择一个模块删除 2、系统提示是否要删除模块信息 3、参与者确认后,向系统提交模块 id 4、系统删除相应的模块 5、系统向参与者显示删除模块成功的信息 扩展点 3a、参与者点击取消,系统不作任何操作,返回模块管理主界面 4a、如果模块下面有子模块,系统显示模块下面有子模块,无法删除 补充说明 系统删除模块信息成功后,应刷新模块管理主界
55、面 3)查询模块 主要路径 1、参与者进入模块管理主界面,系统显示顶级模块列表 2、参与者选择一个模块,向系统提交模块 id 3、系统查询此模块的子模块列表 4、系统显示子模块列表 5、参与者点击返回,系统显示上一级模块列表 补充说明 模块列表的元素包括:序号、模块名称、唯一编号、排序号、父模块名称、url 2、根据顺序图创建业务逻辑层、呈现层类 modulemanager 和 moduleaction。 .2 角色管理角色管理 1、角色管理的用例描述 1)添加角色 主要路径 1、参与者打开添加角色的界面 2、参与者向系统提交角色名称 3、系统存储角色信息 4、系统向参与者显示
56、添加角色信息成功的信息 补充说明 系统添加角色信息成功后,需要刷新角色列表 2)删除角色 主要路径 1、参与者选择一个角色删除 2、系统提示是否要删除角色信息,确认后,将删除角色的对应的权限 3、参与者确认后,向系统提交角色 id 4、系统删除相应的角色 5、系统向参与者显示删除角色成功的信息 扩展点 3a、参与者点击取消,系统不作任何操作,返回角色管理主界面 补充说明 系统删除角色信息成功后,应刷新角色管理主界面 3)浏览角色 主要路径 1、参与者进入人员管理主界面,系统显示人员列表 4)给角色授权 主要路径 1、参与者选择一个角色进行授权,向系统提交角色 id 2、显示角色授权界面 3、系
57、统查询角色对应模块的 crud 权限 4、系统显示角色的权限,并打上 v 5、参与者给角色授权 2、根据用例创建各个用例的顺序图,根据顺序图创建出角色管理模块的业务逻辑层、呈现 层的主要类 rolemanager 和 roleaction。 .3 用户管理用户管理 用户管理的用例描述 1)分配帐号 主要路径 1、参与者打开分配帐号的界面 2、参与者向系统提交帐号的基本信息 3、系统存储帐号信息 4、系统向参与者显示分配帐号成功的信息 补充说明 帐号信息包括:用户名、密码、失效时间、人员 id 系统分配帐号信息成功之后,需要刷新用户管理主界面 2)更新帐号 主要路径 1、参与者选
58、择某个帐号,向系统提交帐号 id 2、系统根据帐号 id,查询帐号信息 3、系统向参与者显示更新帐号信息的界面 4、参与者向系统提交更新之后的帐号信息 5、系统更新帐号信息,并显示更新帐号信息成功的信息 3)删除用户 主要路径 1、参与者选择一个帐号删除 2、系统提示是否要删除帐号信息,删除帐号将删除该帐号的所有关联信息 3、参与者确认之后,向系统提交帐号 id 4、系统删除相应的帐号信息 5、系统向参与者显示删除帐号信息成功的信息 扩展点 3a、参与者点击取消,系统不做任何操作,返回帐号管理主界面 4)查询帐号 主要路径 1、参与者进入帐号管理主界面,系统显示帐号列表 2、参与者向系统提交查
59、询条件 3、系统根据查询条件查询帐号信息 4、系统显示查询结果列表 补充说明 查询条件分为姓名、所属部门、用户帐号 5)查看帐号详细信息 主要路径 1、参与者选择某个帐号,向系统提交帐号 id 2、系统根据帐号 id,查询帐号信息 3、系统向参与者显示帐号详细信息的界面 6)分配角色 主要路径 1、参与者选择一个用户分配角色,向系统提交用户 id 2、系统根据用户 id 查询用户具有的角色 3、系统向用户显示用户的角色信息 4、参与者打开用户角色选择的界面,选择角色 5、参与者向系统提交角色分配信息 6、系统给用户分配角色 补充说明: 角色分配信息包含:角色 id,用户 id 7)给用户授权
60、主要路径 1、参与者选择一个用户进行授权,向系统提交用户 id 2、显示用户授权界面 3、系统查询用户对应模块的 crud 权限,继承性 4、系统显示用户的权限,继承性,并打上 v 5、参与者给用户授权 .4 密码修改密码修改 1、用例描述: 主要路径: 1)参与者打开密码修改界面 2)参与者向系统提交新密码 3)系统修改新密码 4)系统向用户显示密码修改成功的信息 2、根据用户管理的用例描述和密码修改的用例描述创建出 usermanager 和 useraction .5 用户登陆用户登陆 登陆流程图 、 、 、 、 、 index.jsp、 、 、 、 、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源电动汽车充电桩建设与运维年度合同
- 2025年度环保产业园区污水处理设备供应合同范本(2025版)
- 2025年新型药品供应链全程质量监管及可追溯服务合同
- 2025年度环保产业质押借款合同纠纷诉讼保全执行起诉状
- 2025年城市供电网电气设备节能改造及智能监控服务合同
- 2025年度特色民宿改造升级合同-含民宿品牌使用权
- 2025年度设备租赁合同:高端精密仪器配置及维护服务协议
- 2025年智能办公车辆租赁与驾驶安全培训全面合作协议
- 2025年城市立体停车库智能引导系统设计与建设合同
- 培训管理相关知识课件
- 外销出口流程培训
- 房屋建筑工程竣工验收技术资料统一用表(2024 版)
- 《企业研发费用税前加计扣除政策解读与应用课件》
- 《马斯克英文介绍》课件
- OptiStruct结构分析与工程应用
- GA/T 1280-2024银行自助设备安全性规范
- 带状疱疹后神经痛的诊治课件
- 火灾地震逃生演练课件
- 广东省深圳市2024-2025学年高一上学期期中考试数学试卷(含答案)
- 第6讲立体几何(2022-2023年高考真题)(原卷版)
- 中医耳针技术
评论
0/150
提交评论