JAVA基于SSH的OA系统的设计_第1页
JAVA基于SSH的OA系统的设计_第2页
JAVA基于SSH的OA系统的设计_第3页
JAVA基于SSH的OA系统的设计_第4页
JAVA基于SSH的OA系统的设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江海洋学院毕业论文 I 编 号: 审定成绩: XXXX 大学 毕业设计(论文) 设计(论文)题目: JAVA 基于 SSH 的 OA 系统的设计 学 院 名 称 : 计算机学院 学 生 姓 名 : X X 专 业 : 计算机科学与技术 班 级 : 学 号 : 指 导 教 师 : X X X 答辩组 负责人 : 填表时间: 2008 年 5 月 XXXX 大学教务处 浙江海洋学院毕业论文 II 基于 SSH的 OA系统的设计 陆嘉俊 (浙江海洋学院 数理与信息学院, 浙江 舟山 316004) 摘 要 办公自动化管理系统简称 OA 系统,该系统的开发目的是为了知识化管理企业内部。实现网络办公自动化,这将为企业,政府部门节省大量的人力资源,节省大量的办公费用, 实现 文件管理自动化 , 规范工作流程 , 大幅度提高办公效率。随着网络的高速发展,网络 OA系统逐渐受到关注。一些大型企业集团(例如联想、海尔)正致力实现高 层次的网络办公自动化,中小型企业也存在一个很大的低成本网络 OA 系统的需求 。 本系统 实现了公共信息、 组织管理、公文流转、权限管理 。 系统 开发选用 java、jsp、 html 语 言,采用了 xml、 ajax、 jstl、 jbpm、 Struts、 Spring、 Hibernate等技术,使 用 Tomcat 作为 Web 服 务 器, MySQL 作为系统的数据库服务器。 论文 共分 为概 述、开发及运行环境、 需求分析、总体 设计 、详细设计 、 系统模块页面和代码实现 、系统测试和评价, 总结 八 部分。在系统详细设计中充分利用类图、用例图、用例描述、顺序图、状 态图对系统设计进行详细地说明。 【关键词】 OA, Web, jbpm, java, hibernate 浙江海洋学院毕业论文 III The Design of OA System Based on SSH LuJiaJun (School of mathematics,physics and information,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 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 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 illustrated through Class Diagram、 Usercase Diagram、 Sequence Digram、 State Diagram which are integrated in Rational Rose. 【 Keywords】: OA, Web, jbpm,java,hibernate 浙江海洋学院毕业论文 IV 目录 摘 要 . II ABSTRACT . III 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 简介 . 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 浙江海洋学院毕业论文 V 5.2.4 密码修改 . 23 5.2.5 用户登陆 . 23 5.2.6 即时认证 . 24 5.3 公文流转模块设计 . 24 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 概述 1.1 项目背景 企业信息化建设经过这么多年的发展,取得了比较大的成果与效益,但是,随着应用与需求的不断增长和多样性,信息系统也需要走专业化、多样性的建设之路。这是经济社会发展的必然结果。 作为信息系统的一部分: OA 系统的建设经过不断的发展与创新,已经走向协作与知识管理相结合的发展阶段,同时兼顾用户多样性和个性化的要求,实现真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。 OA 系统的发展经历以下 几个阶段 1: 第一阶段: OA 系统的开始,也是现代办公的雏形。随着 PC 技术的进步,诸如 WPS、 CCED等字处理软件比较普遍的使用,再加上各种各样打印机、复印机的出现,在办公室随时完成各类文件的编辑、打印就成为现实,这也是第一代办公自动化系统 (OA)的特点 。 第二阶段:协作性 OA 系统的发展。 这一阶段可以 借助 OA 系统实现各类文档的传阅与审批等协作性的工作。由于这一阶段的 OA 系统在操作方面的局限性,使得 OA 系统在企事业单位的高层得不到充分的推广,也就没有实现 OA 系统最本质的功能 -辅助领导进行决策的功能。 第三阶 段:协作与知识型 OA 系统的发展 。 OA 系统在这一阶段得到了广泛的推广应用。 OA 系统作为信息化系统的一部分,它与 ERP、 CRM 等业务系统有着本质的区别, OA 系统主要的功能是辅助决策与办公,它是将人的思想电子化,并且能够快速的传播给其他相关的人,同时,能够及时的收集到所有人的反馈意见。在决策时,可以借助 OA 系统查询各类有帮助的信息,使得自己的决策尽可能的客观、公正、准确。 1.2 开发定义 OA 系统主要实现 个人办公、 组织管理、公共信息、公文流转、权限管理。 OA 系统 实现真正的网上办公与移动办公,充分辅助现代企业提高 现代化的办公效率。 本系统适用于企业和政府办公的自动化管理。 1.3 Struts + Spring + Hibernate 技术 Struts 是一套用于构建 JAVA WEB 应用程序的框架。它有自己的控制器组件,并可以融浙江海洋学院毕业论文 2 合许多先进的技术来提供后台模型与前端视图。 Struts 是一个 MVC 框架, 实现了Model-View-Controller设计模式的概念,它将这些概念映射到 web应用程序的组件和概念中 ,从而解决了 jsp 页面职责过重的问题。 Struts 属于呈现层 2。 Spring 封装了许多特性,主要用于管理对 象之间的关系。 Spring 提供了 IOC(控制的反转 )和依赖注入特性,并真正地允许你从程序逻辑中分离出依赖关系和配置。 Spring 的 AOP 封装提供了符合 AOP Alliance 规范的面向切面的编程( aspect-oriented programming)实现,利用 AOP 能够减弱系统代码的功能耦合 3。 Hibernate 是一个主流 O/R 映射框架。 Hibernate 建立在面向对象的设计思想之上, ORM( Object Rational Mapping)是其基本特性。 ORM 为系统设计提供了更加自然的实现方式。Hibernate 以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中各种资源和数据的缓存调度,实现了更佳的性能 4。 1.4 工作流引擎 JBoss JBPM JBoss jBPM 为设计及开发工作流和业务流程管理系统提供了一个先进的平台。由 API、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进行沟通及操作。 工作流管理和业务流程管理( BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。 JBoss jBPM 是一个面向流程的工作流 /BPM 框架和工具集,它使业务 分析人员能够与软件组件进行交互、有助于获得有效的业务解决方案。 许多企业在积极寻求一种结构化方法,以便设计业务动作 /事务,并且优先使用自动化流程加以执行。业务流程管理( BPM)和工作流管理使用动作、任务和流程等概念,提供了解决这个问题的办法。 业务流程管理一词通常是指企业通过一系列活动,以能够适应动态变化的环境的方式,自动管理及优化流程。这些活动通常寻求来自软件工程和工具的帮助。因而, BPM 一词往往直接用来指软件工程技术和工具。 JBoss jBPM3.0 提供了这样的功能:使用业务流程执行语言( BPEL)、 灵活而且可插入的应用编程接口( API)、本地流程定义语言以及图形建模工具,利用基于行业标准的编制机制开发新的自动化业务流程和工作流。 JBoss jBPM 是采用开放源代码( LGPL 许可证)的框架,包括了 Java API、工具和定义语浙江海洋学院毕业论文 3 言,可以充当 Web 应用或者独立的 Java 应用。 JBoss jBPM 相当于业务分析人员和开发人员之间的中介,为他们提供了名为 jPDL 的通用流程定义语言。 jBPM倚赖性很小,可以很容易的作为 java库来使用。可以用在吞吐量极为关键的 J2EE 群应用服务器环境中。 jBPM 的持久化层 用 Hibernate 实现,可以同任何数据库配置 , 可以部署在任何应用服务器上 5。 浙江海洋学院毕业论文 4 2 开发及运行环境 2.1 IDE MyEclipse简介 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 MyEclipse 是 Eclipse的插件,也是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以及除错 6。 2.2 MySQL简介 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)和索引压缩 ; 通过使用优化的 “ 单扫描多连接 ” ,能实现极快的连接服务器 ; MySQL 可单独 运行在客户端 /服务器联网环境下 , 也可作为库提供,可嵌入(链接)到独立的应用程序中。 2.3 服务器 Tomcat简介 Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache, Sun 和 其他 一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范总能 在 Tomcat 中得到体现。 Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat 和 Apache集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。 Tomcat 也可以与其它一些软件集成起来实现更多的功能。如与 JBoss 集成起来开发 EJB,与 Cocoon( Apache 的另外一个项目 )集成起来开发基于 Xml 的应用,与 OpenJMS 集成起来开发 JMS 应用 。 浙江海洋学院毕业论文 5 2.4 运行环境 软件环境: 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 剩余硬盘空间 浙江海洋学院毕业论文 6 3 需求分析 3.1 系统简介 办公自动化 系统 ,是高效率、低成本、跨区域管理的办公自动化解决方案,集中了成熟的数据技术与管理思想 , 能有效提高企业的内部管理和工作效率,降低经营成本 。基于Intranet/Internet 技术,采用 B/S 体系机构的办公自动化系统使得信息在部门内部和部门之间传 递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。 3.2 功能需求 本系统具有的功 能包括个人办公、公共信息、组织管理、公文流转、权限管理 。具体需求如下: 1、 个人办公能显示个人办公桌,办公桌上显示各种未查阅信息和能到达各种管理功能的快捷连接;个人办公还应实现管理便签、通讯录等功能。 2、 公共信息主要实现新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和知识快速传播和转移。 3、 组织管理实现公司组织架构管理和公司人员管理。 4、 公文流转 实现流程管理和公文管理。 文档流转事实上是对工作流以及工作流中的文档进行管理,对于大多数企业来说,核心的管理就是工作流和文档的管理。 流程的本质就是很多人在一起完成一件事情,一般的企业都会有很多流程,如:请假流程、报销流程、收文 /发文 流程等。流程可能会经过不同的中间环节,在中间环节上,由相关人员进行处理,这些处理过程需要进行记录。在公文流转中能够实现流程的定义并在工作流程的执行过程中能够实现根据流程创建公文、查阅公文和审批公文。 5、 权限管理实现系统模块、系统角色、用户帐号和 用户权限的管理。权限管理能够给每个 公司员工分配一个帐号,用户帐号可以分配角色,也可以授予权限。 a、用户 (User)可以拥有多个角色 (Role),角色可以被分配给多个用户。 b、权限的意思就是对某个资源的某个操作。所谓资源,即系统的模块;所谓操作,包括:增加、删除、修改、查询等操作 。 c、权限管理系统的总体功能分为:授权与认证。 浙江海洋学院毕业论文 7 d、授权,指将权限授予角色或用户: a)如果用户 User1 拥有角色 Role1、角色 Role2,那么,缺省的情况下,用户 User1将拥有被分配给角色 Role1 和角色 Role2 的所有权限(即默认情况下,用户 User1 继 承其拥有的角色所具 有的所有权限); b)如果用户拥有多个角色,那么用户的权限是这些角色权限的合集; c)如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许”,另外一个角色为“不允许”),将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言 ,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级); d)除了可以对角色进行授权外,也可以针对用户进行授权,也就是说,将权限授予用户。针对某个资源的 所有操作,我们可以设置这些权限对用户来说是“继承 ”或“不继承”: i、继承:意思是用户将使用其所拥有的角色的权限,而不使用其单独设置的权限; ii、不继承:意思是用户将使用其单独设置的权限,而不使用其所拥有的角色的权限; e、认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问: a)在用户访问的时候,需要进行即时的判断(是否有权访问); b)应该提供查询的功能,可以查询某个用户所拥有的所有权限。 浙江海洋学院毕业论文 8 4 总体设计 4.1 系统结构模块设计 本系统主要包括以下几个功能模块: 图 4-1 系统功能模块图 功能模块设计的 具体说明: 1、 个人办公 我的办公桌显示到达各个功能模块的链接,显示登陆用户的能够查看的最新信息;我的便签模块实现添加便签、修改便签、删除便签、查看便签等功能;通信录模块能够添加通信信息、删除通信信息、修改通信信息、浏览通信信息和查询通信信息。 2、 公共信息 授权登陆用户能够发布公共信息、删除公共信息、修改公共信息,普通登陆用户能够查看公共信息。 3、 组织管理 组织管理的设计首先选择要采用的组织架构。组织架构的形式可以分为:集权型组织公文管理 流程管理 人员管理 机构管理 信息管理 我的办公桌 通讯录 我的便签 模块管理 角色管理 用户管理 密码修改 OA 系统 公文流转 组织管理 公共信息 个人办公 权限管理 浙江海洋学院毕业论文 9 架构、职能型组织架构、混合型 组织架构和网状型组织架构 7。 集权型组织架构只有人的概念,这种组织架构适合与小型公司,比较少见。职 能型组织架构按照职能来划分部门,按照部门划分公司员工,适合于中型公司,这 是最常用的组织架构形式。混合型组织架构是集权型和职能型相结合的组织架构,人下面可以挂部门也可以挂人,部门下面可以挂部门也可以挂人。混合型也是比较常见的组织架构。网状组织架构是最复杂的组织架构形式。网状组织架构是对混合型组织架构的进一步抽象,抽象出所谓的责任模式。这种组织架构适合于大型公司。 在 OA 系统我们选择职能型的组织架构,机构下可以 挂子机构也可以挂员工。机构设计为树型结构。组织管理能够实现授权登陆用户能够添加机构信息、人员信息,删除机构信息、人员信息,修改机构信息、人员信息,普通登陆用户能构查看机构信息、人员信息。 4、 公文流转 在这个功能模块中,我们将使用工作流引擎 JBPM。利用 JBPM 的流程设计器设计流程,授权登陆用户能够上传流程文件、流程图片,删除流程,普通登陆用户能够查看流程定义文件、流程定义图片,创建公文,审批公文,查看未审公文。 5、 权限管理 通过权限管理,系统能够控制不同用户对模块的访问权限,而且要控制到 CRUD(增删改查)的操 作级别。能通过角色对用户进行统一授权,在特殊情况下,也能够单独对用户进行授权。 权限设计有很多种设计方法,但是核心都是一样的。权限设计的核心是三元组的概念( who、 what、 how)。 who 是主体, what 是客体、 how 就是负担在客体上面的一种操作。 根据系统需求,在 OA 系统中,我们采用 ACL 模型( Access Control List), ACL 中包含用户( User)、资源 (Resource)、资源操作( Operation)三个关键要素。通过将资源以及资源操作授权给用户而使用户获取对资源进行操作的权限。但是 ACL 是个比较简单的模型,并未提出对于权限的继承和权限的排斥的解决方案,所以 OA 系统采用重构后的 ACL模型,解决系统用户权限继承角色权限,以及权限排斥的问题。 权限管理实现授权登陆用户能够添加模块信息、删除模块信息,添加角色、删除角色、给角色授权,给用户分配帐号、删除帐号、修改帐号信息,给用户分配角色、给特权用户授权、查看用户信息,普通登陆用户能够查看模块信息、角色信息 、修改用户密码。 本系统采用了分层开发,但是对三层架构做了修改,将持久层合并在业务逻辑层中,系统分为呈现层、业务逻辑层。 呈现层使用 jsp 和 jstl15表示。 系统 层次 如图 4-2 所示 : 浙江海洋学院毕业论文 10 领域模型业务逻辑层呈现层图 4-2 4.2 数据库结构的设计 1、 系统开发中先根据系统需求建立领域模型,根据领域模型构造出实例对象,最后采用 O/R映射工具 Hibernate,从对象模型导出 关系模型。领域模型如 图 4-3 所示: M od u l e1*+ pa r en t+ ch i l dr enO r ga n i z at i on1*+ pa r en t+ ch i l dr enR o l eA C L*1*1U se r sR ol es*1A p pr ov eI n f oD ocu m en t*1W or kf l ow*1A d dr essL i stN o t eIn f or m at i o nE m pl oy ee*1+ or gU se r* 111*1*1- ap pr ov er*1- cr ea t or1*1*图 4-3 系统模型图 浙江海洋学院毕业论文 11 2、数据库表的生成 根据领域模型创建实体类,创建出实体类之间的关联关系。通过工具 xdoclet 生成实体类的映射文件和 hibernate 配置文件。利用 hibernate 的工具类倒出数据库表,系统的表结构如下所示: 表 4-1 t_organization(机构表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 机构 id serialNumber varchar(255) YES NULL 机构编号 orgName varchar(255) YES NULL 机构名称 description varchar(255) YES NULL 描述 parentId int(11) YES MUL NULL 父机构 ID 表 4-2 t_employee (员工表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 员工 id empName varchar(255) YES NULL 员工姓名 gender varchar(255) YES NULL 性别 age int(11) YES NULL 年龄 telephone varchar(255) YES NULL 电话 address varchar(255) YES NULL 地址 email varchar(255) YES NULL email duty varchar(255) YES NULL 职务 orgId int(11) YES MUL NULL 机构 ID remark varchar(255) YES NULL 备注 表 4-3 t_note (便签表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 便签 id title varchar(255) YES NULL 便签标题 content varchar(255) YES NULL 便签内容 createTime datetime YES NULL 便签日期 createorId int(11) YES MUL NULL 创建者 ID 浙江海洋学院毕业论文 12 表 4-4 t_addressList (通信录表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 通讯录 id name varchar(255) YES NULL 名字 mobilePhone varchar(255) YES NULL 手机电话 homePhone varchar(255) YES NULL 家庭电话 officePhone varchar(255) YES NULL 办公室电话 email varchar(255) YES NULL email MSN varchar(255) YES NULL MSN emailCode varchar(255) YES NULL 邮编 address varchar(255) YES NULL 地址 remark varchar(255) YES NULL 备注 creatorId int(11) YES MUL NULL 创建者 ID 表 4-5 t_user (用户表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 用户 id username varchar(255) YES NULL 用户名 password varchar(255) YES NULL 密码 createTime datetime YES NULL 创建时间 expireTime datetime YES NULL 失效时间 emp int(11) YES UNI NULL 员工 ID 表 4-6 t_role (角色表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 角色 id roleName varchar(255) YES NULL 角色名 表 4-7 t_users_roles (用户角色第三方表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id userId int(11) YES MUL NULL 用户 ID roleId int(11) YES MUL NULL 角色 ID orderNo int(11) YES NULL 角 色级别,该字段用于解决权限冲突问题 浙江海洋学院毕业论文 13 表 4-8 t_acl ( acl 列表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id principalType varchar(255) YES NULL 主体类型( Role、User) principalId int(11) YES NULL 主体 id moduleId int(11) YES NULL 模块 id aclState int(11) YES NULL 访问控制状态 aclTriState int(11) YES NULL 是否继承,该字段用于解决权限继承问题 表 4-9 t_module (模块表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 模块 id moduleName varchar(255) YES NULL 模块名称 url varchar(255) YES NULL 模 块的 url orderNo int(11) YES NULL 排序号码 serialNumber varchar(255) YES NULL 模块编号 parentId int(11) YES MUL NULL 父模块 ID 表 4-10 t_workflow (流程表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 流程 id workflowName varchar(255) YES NULL 流程名称 processDef longblob YES NULL 流程定义 processImage longblob YES NULL 流程图片 表 4-11 t_document (公文表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 公文 id title varchar(255) YES NULL 公文标题 content longblob YES NULL 公文内容 annex longblob YES NULL 公文附件 description varchar(255) YES NULL 公文描述 createTime datetime YES NULL 创建时间 processInstanceId bigint(20) YES NULL 流程实例 ID status varchar(255) YES NULL 公文状态 createorId int(11) YES MUL NULL 创建者 ID 浙江海洋学院毕业论文 14 表 4-12 t_approveinfo (审批信息表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 审批信息 id approveTime datetime YES NULL 审批时间 comment varchar(255) YES NULL 审批内容 documentId int(11) YES MUL NULL 公文 ID approverId int(11) YES MUL NULL 审批者 ID 表 4-13 t_information (信息表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 信息 id title varchar(255) YES NULL 信息标题 cotent varchar(255) YES NULL 信息内容 annex longblob YES NULL 信息附件 createTime datetime YES NULL 信息发布时间 3、数据库的操作 Hibernate 是现在非常流行的持久化框架,使用 Hibernate 进行持久化数据是一个非常好的选择。在 Hibernate 中 Session 负责完成对象的持久化操作, Session 在 Hibernate 中相当于 JDBC Connection 中的 Connection。创建 Session 的步骤: 1) 根据传入的 Hibernate 配置文件 perties 或者 hibernate.cfg.xml 创建 Configuration 类的实例 : Configuration config = new Configuration().configure(); 2) 根据 Configuration 类实例 创建 Session 的工厂 SessionFactory 的实例SessionFactory sessionFactory = config.buildSessionFactory(); 3) 创建 Session 的实例 : Session session = sessionFactory.openSession(); 上述数据库操作要频繁地创建 SessionFatory 实例,管理 session 的打开和关闭 ,但是创建 SessionFactory 非常耗费系统资源,这种操作不应该是首选方法。在 Spring 中封装了一个实现 Hibernate 相关接口的的基类 HibernateDaoSupport,在这个类中提供了数据访问模板 HibernateTemplate 进行持久化操作。外部类只要继承基类 HibernateDaoSupport,并利用Spring 的依赖注入特性向其注入 SessionFactory 就能使用 Spring 的 HibernateTemplate。使用 Spring 的 HibernateTemplate 进行持久化操 作,就能避免了 SessionFactory 的频繁创建以及避免了对 Session 的人工管理。所以在本系统种采用 Spring 的 HibernateTemplate 进行数据库访问。 浙江海洋学院毕业论文 15 5、 事务管理 系统采用了 Spring 中的声明式事务管理。 Spring 提供了全面的事务支持, Spring 的声明式事务管理是通过 Spring 的 AOP 实现的。在配置文件中配置事务管理器、事务传播特性、切入点就能通过 Spring 替你管理事务。这将使你可以从每个业务方法中重复的事务划分代码中解放出来,真正专注于为你的应用添加有价值的业务逻辑代码。 浙江海洋学院毕业论文 16 5 详细 设计 经过概要设计阶段的工作,我们已经确定了系统软件的模块结构的描述,但这些模块仍处于黑盒子级。本设计阶段的主要目的是给 出系统模块的内部过程描述及功能。给软件开发人员提供详细的参考。 该系统的开发 从面向对象的原理、思想和方法出发 ,利用 UML 建模 工具进行 用例驱动设计 ,实现 从概念模型到可执行体之间的 转变。 在设计过程中,采用了自底向上的开发,利用 UML 顺序图创建业务逻辑层 Manager 和呈现层 Action。 5.1 组织管理模块设计 5.1.1 机构管理 1、 机构管理的用例描述 1) 添加机构 主要路径 1、参与者打开添加机构的界面 2、参与者向系统提交机构的基本信息 3、系统自动产生机构编号,并存储机构信息 4、系统向参与者显示 添加机构信息成功 的信息 补充说明 机构信息包括:机构名称、机构描述、父机构的 ID 系统添加机构信息成功之后,需要刷新机构列表 2)更新机构 主要路径 1、参与者选择某个机构,向系统提交机构 ID 2、系统根据机构 ID,查询机构信息 3、系统向参与者显示更新机构信息的界面 4、参与者向系统提交更新 之后的机构信息 5、系统更新机构信息,并显示 更新机构成功 的信息 3)删除机构 主要路径 1、参与者选择一个机构删除 浙江海洋学院毕业论文 17 2、系统提示 是否要删除机构信息 3、参与者确认之后,向系统提交机构 ID 4、系统删除相应的机构 5、系统向参与者显示 删除机构成功 的信息 扩展点 3a、参与者点击 取消 ,系统不做任何操作,返回机构管理主界面 4a、如果机构下面有子机构,系统显示 机构下面有子机构,无法删除 4b、如果机构下面有人员信息,系统显示 机构下面有人员信息,无法删除 补充说明 系统删除机构信息成功 之后,应刷新机构管理主界面 4)浏览机构 主要路径 1、参与者进入机构管理主界面,系统显示顶级机构列表 2、参与者选择一个机构,向系统提交机构 ID 3、系统查询此机构下面的子机构列表 4、系统显示子机构列表 5、参与者点击 返回 ,系统显示上一级机构列表 补充说明 机构列表的元素包括:序号、机构名称、编号、父机构名称 2、根据用例描述创建用例的顺序图,根据顺序图创建出业务逻辑层 OrgManager 和呈现层的OrgAction 类 : 图 5-1 5.1.2 人员管理 1、 人员管理用例描述 浙江海洋学院毕业论文 18 1)添加人员 主要路径 1、参与者打开添加人员 的界面 2、参与者向系统提交人员 的基本信息 3、系统 储人员 信息 4、系统向参与者显示 添加人员 信息成功 的信息 补充说明 人员信息包括:人员 名称、 性别 、 年龄、电话、地址、 email、职务、机构 Id、备注 系统添加人员信息成功之后,需要刷新人员 列表 2)更新人员 主要路径 1、参与者选择某个人员,向系统提交人员 ID 2、系统根据人员 ID,查询人员信息 3、系统向参与者显示更新人员信息的界面 4、参与者向系统提交更新之后的人员信息 5、系统更新人员信息,并显示 更新人 员信息成功 的信息 3)删除人员 主要路径 1、参与者选择一个人员删除 2、系统提示 是否要删除人员信息 ,删除人员将删除 人员的所有信息 3、参与者确认之后,向系统提交人员 ID 4、系统删除相应的人员信息 5、系统向参与者显示 删除人员信息成功 的信息 扩展点 3a、参与者点击 取消 ,系统不做任何操作,返回人员 管理主界面 4)查询人员 主要路径 1、参与者进入人员管理主界面 ,系统显示人员 列表 2、参与者 向系统提交查询条件 3、 系统根据查询条件查询人员信息 4、系统显示查询结果 列表 浙江海洋学院毕业论文 19 补充说明 查询条件分为姓名、职务、所属部门 5)查看人员详细信息 主要路径 1、参与者选择某个人员,向系统提交人员 ID 2、系统根据人员 ID,查询人员信息 3、系统向参与者显示人员详细信息的界面 2、画出人员管理模块各个用例的顺序图,根据顺序图 创建人员管理业务逻辑层、呈现层的类PersonManager 和 PersonAction。 5.2 权限管理模块设计 5.2.1 模块管理 1、 模块管理的用例描述 1)添加模块 主要路径 1、参与者打开添加模块的界面 2、参与者向系统提交模块的基本信息 3、系统存储模 块信息 4、系统向参与者显示 添加模块信息成功 的信息 补充说明 模块信息包括:模块编号、模块的唯一编号、 url、排序号码、父模块 ID 系统添加模块信息成功后,需要刷新模块列表 2)删除模块 主要路径 1、参与者选择一个模块删除 2、系统提示 是否要删除模块信息 3、参与者确认后,向系统提交模块 ID 4、系统删除相应的模块 5、系统向参与者显示 删除模块成功的信息 扩展点 浙江海洋学院毕业论文 20 3a、参与者点击 取消 ,系统不作任何操作,返回模块管理主界面 4a、如果模块下面有子模块,系 统显示 模块下面有子模块,无法删除 补充说明 系统删除模块信息成功后,应刷新模块管理主界面 3)查询模块 主要路径 1、参与者进入模块管理主界面,系统显示顶级模块列表 2、参与者选择一个模块,向系统提交模块 ID 3、系统查询此模块的子模块列表 4、系统显示子模块列表 5、参与者点击 返回 ,系统显示上一级模块列表 补充说明 模块列表的元素包括:序号、模块名称、唯一编号、排序号、父模块名称、 url 2、根据顺序图创建业务逻辑层、呈现层类 ModuleManager 和 ModuleAction。 5.2.2 角色管理 1、 角色管理的用例描述 1)添加角色 主要路径 1、参与者打开添加角色 的界面 2、参与者向系统提交角色名称 3、系统存储 角色 信息 4、系统向参与者显示 添加角色 信息成功 的信息 补充说明 系统添加角色信息成功后,需要刷新角色 列表 2)删除 角色 主要路径 1、参与者选择一个角色 删除 2、系统提示 是否要删除角色 信息 ,确认后,将删除角色的对应的权限 3、参与者确认后,向系统提交角色 ID 4、系统删除相应的角色 浙江海洋学院毕业论文 21 5、系统向参与者显示 删除角色 成功的信息 扩展点 3a、参与者点击 取消 ,系统不作任何操作,返回角色 管理主界面 补充说明 系统删除角色信息成功后,应刷新角色 管理主界面 3) 浏览 角色 主要路径 1、参与者进入人员管理主界面,系统显示人员列表 4)给角色授权 主要路径 1、参与者选择一个角色进行授权 ,向 系统提交角色 ID 2、显示角色授权界面 3、系统查询 角色对应模块的 CRUD 权限 4、系统显示角色的权限,并打 上 v 5、参与者给角色授权 2、根据用例创建各个用例的顺序图,根据顺序图 创建出角色管理模块的业务逻辑层、呈现层的主要类 RoleManager 和 RoleAction。 5.2.3 用户管理 用户管理的用例描述 1)分配 帐号 主要路径 1、参与者打开分配 帐号 的界面 2、参与者向系统提交帐号 的基本信息 3、系统 存储帐号 信息 4、系统向参与者显示 分配帐号 成功 的信息 补充说明 帐号 信息包括: 用户名、密码、 失效时间、人员 ID 系统分配帐号信息成功之后,需要刷新 用户管理主界面 2)更新 帐号 主要路径 浙江海洋学院毕业论文 22 1、参与者选择某个帐号,向系统提交帐号 ID 2、系统根据帐号 ID,查询帐号信 息 3、系统向参与者显示更新帐号 信息的界面 4、参与者向系统提交更新之后的帐号 信息 5、系统更新帐号 信息,并显示 更新帐号 信息成功 的信息 3)删除用户 主要路径 1、参与者选择一个帐号 删除 2、系统提示 是否要删除帐号 信息 ,删除帐号 将删除 该帐号的 所有关联 信息 3、参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论