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

下载本文档

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

文档简介

1、. . . . I / 60编号:编号:设计(论文)题设计(论文)题目:目:JAVAJAVA 基于基于 SSHSSH 的的 OAOA 系统的设计系统的设计基于基于 SSHSSH 的的 OAOA 系统的设计系统的设计摘摘 要要办公自动化管理系统简称 OA 系统,该系统的开发目的是为了知识化管理企业部。实现网络办公自动化,这将为企业,政府部门节省大量的人力资源,节省大量的办公费用,实现文件管理自动化,规工作流程,大幅度提高办公效率。随着网络的高速发展,网络 OA 系统逐渐受到关注。一些大型企业集团(例如联想、海尔)正致力实现高层次的网络办公自动化,中小型企业也存在一个很大的低成本网络 OA 系统的

2、需求。本系统实现了公共信息、组织管理、公文流转、权限管理。系统开发选用java、jsp、html 语言,采用了xml、ajax、jstl、pm、Struts、Spring、Hibernate 等技术,使用 Tomcat 作为Web 服务器,MySQL 作为系统的数据库服务器。论文共分为概述、开发与运行环境、需求分析、总体设计、详细设计、系统模块页面和代码实现、系统测试和评价,总结八部分。在系统详细设计中充分利用类图、用例图、用例描述、顺序图、状态图对系统设计进行详细地说明。 关键词关键词 OA, Web,pm,java, hibernate. . . . II / 60TheThe Desig

3、nDesign ofof OAOA SystemSystem BasedBased onon SSHSSHLuJiaJun(School of mathematics,physics and information,Zhejiang Ocean University 316004)AbstractAbstractOA is the abbreviation for Office automation. It targets at informationalizing the process of Enterprise Management. It will help governments,

4、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

5、 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、pm、Struts、Spring、Hibernate, etc.The thesis consists of eight parts including outlines, development and operating environment, demand analysis, the outline d

6、esign, 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, pm,java,hibernate. . . . III / 60目录摘要 IABSTRACTII1 概述 11.1 项

7、目背景 11.2 开发定义 11.3 STRUTS + SPRING + HIBERNATE 技术 11.4 工作流引擎OSS PM22 开发与运行环境 42.1 IDE MYECLIPSE 简介 42.2 MYSQL 简介 42.3 服务器 TOMCAT 简介 42.4 运行环境 53 需求分析 63.1 系统简介 63.2 功能需求 64 总体设计 84.1 系统结构模块设计 84.2 数据库结构的设计 10. . . . IV / 605 详细设计 165.1 组织管理模块设计 165.1.1 机构管理 165.1.2 人员管理 175.2 权限管理模块设计 195.2.1 模块管理 1

8、95.2.2 角色管理 205.2.3 用户管理 215.2.4 密码修改 235.2.5 用户登陆 235.2.6 即时认证 245.3 公文流转模块设计 245.3.1 流程管理 245.3.2 公文管理 265.4 个人办公模块设计 315.4.1 我的办公桌 315.4.2 我的便签 325.4.3 通讯录 336 系统模块页面和代码实现 356.1 系统登陆 356.2 组织管理 366.3 权限管理 406.4 公文流转 446.5 公共信息 487 对系统的测试和评价 507.1 系统测试 507.2 系统存在的问题 50总结 51参考文献 52. . . . V / 60. .

9、 . . 1 / 601 1 概述概述1.11.1 项目背景项目背景企业信息化建设经过这么多年的发展,取得了比较大的成果与效益,但是,随着应用与需求的不断增长和多样性,信息系统也需要走专业化、多样性的建设之路。这是经济社会发展的必然结果。作为信息系统的一部分:OA 系统的建设经过不断的发展与创新,已经走向协作与知识管理相结合的发展阶段,同时兼顾用户多样性和个性化的要求,实现真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。OA 系统的发展经历以下几个阶段1:第一阶段:OA 系统的开始,也是现代办公的雏形。随着 PC 技术的进步,诸如WPS、CCED 等字处理软件比较普遍的使用,再

10、加上各种各样打印机、复印机的出现,在办公室随时完成各类文件的编辑、打印就成为现实,这也是第一代办公自动化系统(OA)的特点。第二阶段:协作性 OA 系统的发展。这一阶段可以借助 OA 系统实现各类文档的传阅与审批等协作性的工作。由于这一阶段的 OA 系统在操作方面的局限性,使得 OA 系统在企事业单位的高层得不到充分的推广,也就没有实现 OA 系统最本质的功能-辅助领导进行决策的功能。第三阶段:协作与知识型 OA 系统的发展。OA 系统在这一阶段得到了广泛的推广应用。OA 系统作为信息化系统的一部分,它与 ERP、CRM 等业务系统有着本质的区别,OA 系统主要的功能是辅助决策与办公,它是将人

11、的思想电子化,并且能够快速的传播给其他相关的人,同时,能够与时的收集到所有人的反馈意见。在决策时,可以借助 OA 系统查询各类有帮助的信息,使得自己的决策尽可能的客观、公正、准确。1.21.2 开发定义开发定义OA 系统主要实现个人办公、组织管理、公共信息、公文流转、权限管理。OA 系统实现真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。本系统适用于企业和政府办公的自动化管理。. . . . 2 / 601.31.3 StrutsStruts + + SpringSpring + + HibernateHibernate 技术技术Struts 是一套用于构建 JAVA WEB

12、应用程序的框架。它有自己的控制器组件,并可以融合许多先进的技术来提供后台模型与前端视图。Struts 是一个 MVC 框架,实现了 Model-View-Controller 设计模式的概念,它将这些概念映射到 web 应用程序的组件和概念中,从而解决了 jsp 页面职责过重的问题。Struts 属于呈现层2。Spring 封装了许多特性,主要用于管理对象之间的关系。Spring 提供了 IOC(控制的反转)和依赖注入特性,并真正地允许你从程序逻辑中分离出依赖关系和配置。Spring 的 AOP封装提供了符合 AOP Alliance 规的面向切面的编程(aspect-oriented pro

13、gramming)实现,利用 AOP 能够减弱系统代码的功能耦合3。Hibernate 是一个主流 O/R 映射框架。Hibernate 建立在面向对象的设计思想之上,ORM(Object Rational Mapping)是其基本特性。ORM 为系统设计提供了更加自然的实现方式。Hibernate 以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中各种资源和数据的缓存调度,实现了更佳的性能4。1.41.4 工作流引擎工作流引擎 ossoss PMPMoss PM 为设计与开发工作流和业务流程管理系统提供了一个先进的平台。由 API、特定领域的语言和图形建模工具组成的框架让开发

14、人员和业务分析人员能够使用通用平台进行沟通与操作。工作流管理和业务流程管理(BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。oss PM 是一个面向流程的工作流/BPM 框架和工具集,它使业务分析人员能够与软件组件进行交互、有助于获得有效的业务解决方案。许多企业在积极寻求一种结构化方法,以便设计业务动作/事务,并且优先使用自动化流程加以执行。业务流程管理(BPM)和工作流管理使用动作、任务和流程等概念,提供了解决这个问题的办法。业务流程管理一词通常是指企业通过一系列活动,以能够适应动态变化的环境的方式,自动管理与优化流程。这些活动通常寻求来自软件工程和工具的帮助。因而,BPM 一词往

15、往直接用来指软件工程技术和工具。oss PM3.0 提供了这样的功能:使用业务流程执行语言(BPEL) 、灵活而且可插入的应用编程接口(API) 、本地流程定义语言以与图形建模工具,利用基于行业标准的编制机制开发. . . . 3 / 60新的自动化业务流程和工作流。oss PM 是采用开放源代码(LGPL 许可证)的框架,包括了 Java API、工具和定义语言,可以充当 Web 应用或者独立的 Java 应用。oss PM 相当于业务分析人员和开发人员之间的中介,为他们提供了名为 jPDL 的通用流程定义语言。PM 倚赖性很小,可以很容易的作为 java 库来使用。可以用在吞吐量极为关键的

16、 J2EE 群应用服务器环境中。PM 的持久化层用 Hibernate 实现,可以同任何数据库配置,可以部署在任何应用服务器上5。. . . . 4 / 602 2 开发与运行环境开发与运行环境2.12.1 IDEIDE MyEclipseMyEclipse 简介简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT) 。MyEclipse 是 Eclipse 的插件,也是一款功

17、能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以与除错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;提供了事务性和非事务性存储引擎;使用了极快的“

18、B树”磁盘表(MyISAM)和索引压缩;通过使用优化的“单扫描多连接” ,能实现极快的连接服务器;MySQL 可单独运行在客户端/服务器联网环境下,也可作为库提供,可嵌入()到独立的应用程序中。2.32.3 服务器服务器 TomcatTomcat 简介简介Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache,Sun 和其他一些公司与个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规总能在 Tomcat 中得到体现。Tomcat 不仅仅是一个 Servlet 容器,它也具

19、有传统的 Web 服务器的功能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat 和Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。Tomcat 也可以与其它一些软件集成起来实现更多的功能。如与 oss 集成起来开发 E,与 Cocoon(Apache 的另外一个项目)集成起来开发基于 Xml 的应用,与 OpenJMS 集成起来开发 JMS 应用。. . . . 5 / 602

20、.42.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 /

21、 603 3 需求分析需求分析3.13.1 系统简介系统简介办公自动化系统,是高效率、低成本、跨区域管理的办公自动化解决方案,集中了成熟的数据技术与管理思想,能有效提高企业的部管理和工作效率,降低经营成本。基于Intranet/Internet 技术,采用 B/S 体系机构的办公自动化系统使得信息在部门部和部门之间传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。3.23.2 功能需求功能需求本系统具有的功能包括个人办公、公共信息、组织管理、公文流转、权限管理。具体需求如下:1、 个人办公能显示个人办公桌,办公桌上

22、显示各种未查阅信息和能到达各种管理功能的快捷连接;个人办公还应实现管理便签、通讯录等功能。2、 公共信息主要实现新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和知识快速传播和转移。3、 组织管理实现公司组织架构管理和公司人员管理。4、 公文流转实现流程管理和公文管理。文档流转事实上是对工作流以与工作流中的文档进行管理,对于大多数企业来说,核心的管理就是工作流和文档的管理。 流程的本质就是很多人在一起完成一件事情,一般的企业都会有很多流程,如:请假流程、报销流程、收文/发文流程等。流程可能会经过不同的中间环节,在中间环节上,由相关人员进行处理,这些处理过程需要进行记录。在公文流转中能

23、够实现流程的定义并在工作流程的执行过程中能够实现根据流程创建公文、查阅公文和审批公文。5、 权限管理实现系统模块、系统角色、用户和用户权限的管理。权限管理能够给每个公司员工分配一个,用户可以分配角色,也可以授予权限。a、用户(User)可以拥有多个角色(Role),角色可以被分配给多个用户。b、权限的意思就是对某个资源的某个操作。所谓资源,即系统的模块;所谓操作,包括:增加、删除、修改、查询等操作。c、权限管理系统的总体功能分为:授权与认证。. . . . 7 / 60d、授权,指将权限授予角色或用户:a)如果用户 User1 拥有角色 Role1、角色 Role2,那么,缺省的情况下,用户

24、User1将拥有被分配给角色 Role1 和角色 Role2 的所有权限(即默认情况下,用户 User1 继承其拥有的角色所具有的所有权限) ;b)如果用户拥有多个角色,那么用户的权限是这些角色权限的合集;c)如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许” ,另外一个角色为“不允许” ) ,将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级) ;d)除了可以对角色进行授权外,也可以针对用户进行授权,也就是说,将权限授予用户。针对某个资源的所有操作,我们可以设置这

25、些权限对用户来说是“继承”或“不继承”:i、继承:意思是用户将使用其所拥有的角色的权限,而不使用其单独设置的权限;ii、不继承:意思是用户将使用其单独设置的权限,而不使用其所拥有的角色的权限;e、认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问:a)在用户访问的时候,需要进行即时的判断(是否有权访问) ;b)应该提供查询的功能,可以查询某个用户所拥有的所有权限。. . . . 8 / 604 4 总体设计总体设计4.14.1 系统结构模块设计系统结构模块设计本系统主要包括以下几个功能模块:公文管理流程管理人员管理机构管理信息管理我的办公桌通讯录我的便签模块管理角色管理用户管理

26、密码修改OA 系统公文流转组织管理公共信息个人办公权限管理图 4-1 系统功能模块图功能模块设计的具体说明:1、 个人办公我的办公桌显示到达各个功能模块的,显示登陆用户的能够查看的最新信息;我的便签模块实现添加便签、修改便签、删除便签、查看便签等功能;通信录模块能够添加通信信息、删除通信信息、修改通信信息、浏览通信信息和查询通信信息。2、 公共信息授权登陆用户能够发布公共信息、删除公共信息、修改公共信息,普通登陆用户能够查看公共信息。. . . . 9 / 603、 组织管理组织管理的设计首先选择要采用的组织架构。组织架构的形式可以分为:集权型组织架构、职能型组织架构、混合型组织架构和网状型组

27、织架构7。集权型组织架构只有人的概念,这种组织架构适合与小型公司,比较少见。职能型组织架构按照职能来划分部门,按照部门划分公司员工,适合于中型公司,这是最常用的组织架构形式。混合型组织架构是集权型和职能型相结合的组织架构,人下面可以挂部门也可以挂人,部门下面可以挂部门也可以挂人。混合型也是比较常见的组织架构。网状组织架构是最复杂的组织架构形式。网状组织架构是对混合型组织架构的进一步抽象,抽象出所谓的责任模式。这种组织架构适合于大型公司。在 OA 系统我们选择职能型的组织架构,机构下可以挂子机构也可以挂员工。机构设计为树型结构。组织管理能够实现授权登陆用户能够添加机构信息、人员信息,删除机构信息

28、、人员信息,修改机构信息、人员信息,普通登陆用户能构查看机构信息、人员信息。4、 公文流转在这个功能模块中,我们将使用工作流引擎 PM。利用 PM 的流程设计器设计流程,授权登陆用户能够上传流程文件、流程图片,删除流程,普通登陆用户能够查看流程定义文件、流程定义图片,创建公文,审批公文,查看未审公文。5、 权限管理通过权限管理,系统能够控制不同用户对模块的访问权限,而且要控制到 CRUD(增删改查)的操作级别。能通过角色对用户进行统一授权,在特殊情况下,也能够单独对用户进行授权。权限设计有很多种设计方法,但是核心都是一样的。权限设计的核心是三元组的概念(who、what、how) 。who 是

29、主体,what 是客体、how 就是负担在客体上面的一种操作。根据系统需求,在 OA 系统中,我们采用 ACL 模型(Access Control List) ,ACL 中包含用户(User) 、资源(Resource)、资源操作(Operation)三个关键要素。通过将资源以与资源操作授权给用户而使用户获取对资源进行操作的权限。但是 ACL 是个比较简单的模型,并未提出对于权限的继承和权限的排斥的解决方案,所以 OA 系统采用重构后的 ACL 模型,解决系统用户权限继承角色权限,以与权限排斥的问题。权限管理实现授权登陆用户能够添加模块信息、删除模块信息,添加角色、删除角色、给角色授权,给用户

30、分配、删除、修改信息,给用户分配角色、给特权用户授权、. . . . 10 / 60查看用户信息,普通登陆用户能够查看模块信息、角色信息、修改用户密码。本系统采用了分层开发,但是对三层架构做了修改,将持久层合并在业务逻辑层中,系统分为呈现层、业务逻辑层。呈现层使用 jsp 和 jstl15表示。系统层次如图 4-2 所示:、 、 、 、 、 、 、 、 、 、图 4-24.24.2 数据库结构的设计数据库结构的设计1、系统开发中先根据系统需求建立领域模型,根据领域模型构造出实例对象,最后采用 O/R映射工具 Hibernate,从对象模型导出关系模型。领域模型如图 4-3 所示:. . . .

31、 11 / 60Module1*+parent1+children*Organization1*+parent1+children*RoleACL*1*1*1*1UsersRoles*1*1ApproveInfoDocument*1*1Workflow*1*1AddressListNoteInformationEmployee*1*+org1User*1*11111*1*1*1*-approver1*1*-creator11*1*1*1*图 4-3 系统模型图2、数据库表的生成根据领域模型创建实体类,创建出实体类之间的关联关系。通过工具 xdoclet 生成实体类的映射文件和 hibernat

32、e 配置文件。利用 hibernate 的工具类倒出数据库表,系统的表结构如下所示:表 4-1 t_organization(机构表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment机构 idserialNumbervarchar(255)YESNULL机构编号orgNamevarchar(255)YESNULL机构名称descriptionvarchar(255)YESNULL描述parentIdint(11)YESMULNULL父机构 ID表 4-2 t_employee (员工表)FieldTypeNullKey

33、DefaultExtra描述. . . . 12 / 60idint(11)NOPRINULLauto_increment员工 idempNamevarchar(255)YESNULL员工gendervarchar(255)YESNULL性别ageint(11)YESNULL年龄telephonevarchar(255)YESNULLaddressvarchar(255)YESNULL地址emailvarchar(255)YESNULLemaildutyvarchar(255)YESNULL职务orgIdint(11)YESMULNULL机构 IDremarkvarchar(255)YESNU

34、LL备注表 4-3 t_note (便签表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment便签 idtitlevarchar(255)YESNULL便签标题contentvarchar(255)YESNULL便签容createTimedatetimeYESNULL便签日期createorIdint(11)YESMULNULL创建者 ID表 4-4 t_addressList (通信录表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment通讯录

35、idnamevarchar(255)YESNULL名字mobilePhonevarchar(255)YESNULL手机homePhonevarchar(255)YESNULL家庭officePhonvarchar(25YESNULL办公室. . . . 13 / 60e5)emailvarchar(255)YESNULLemailMSNvarchar(255)YESNULLMSNemailCodevarchar(255)YESNULLaddressvarchar(255)YESNULL地址remarkvarchar(255)YESNULL备注creatorIdint(11)YESMULNULL

36、创建者 ID表 4-5 t_user (用户表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment用户 idusernamevarchar(255)YESNULL用户名passwordvarchar(255)YESNULL密码createTimedatetimeYESNULL创建时间expireTimedatetimeYESNULL失效时间empint(11)YESUNINULL员工 ID表 4-6 t_role (角色表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLa

37、uto_increment角色 idroleNamevarchar(255)YESNULL角色名表 4-7 t_users_roles (用户角色第三方表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_incrementiduserIdint(11)YESMULNULL用户 IDroleIdint(11)YESMULNULL角色 IDorderNoint(11)YESNULL角色级别,该字段用于解决权限冲突问题. . . . 14 / 60表 4-8 t_acl (acl 列表)FieldTypeNullKeyDefaultExtra

38、描述idint(11)NOPRINULLauto_incrementidprincipalTypevarchar(255)YESNULL主体类型(Role、User)principalIdint(11)YESNULL主体 idmoduleIdint(11)YESNULL模块 idaclStateint(11)YESNULL访问控制状态aclTriStateint(11)YESNULL是否继承,该字段用于解决权限继承问题表 4-9 t_module (模块表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment模块 idmo

39、duleNamevarchar(255)YESNULL模块名称urlvarchar(255)YESNULL模块的 urlorderNoint(11)YESNULL排序serialNumbervarchar(255)YESNULL模块编号parentIdint(11)YESMULNULL父模块 ID表 4-10 t_workflow (流程表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment流程 idworkflowNamevarchar(255)YESNULL流程名称processDeflongblobYESNULL流

40、程定义processImagelongblobYESNULL流程图片表 4-11 t_document (公文表)FieldTypeNullKeyDefaulExtra描述. . . . 15 / 60tidint(11)NOPRINULLauto_increment公文 idtitlevarchar(255)YESNULL公文标题contentlongblobYESNULL公文容annexlongblobYESNULL公文附件descriptionvarchar(255)YESNULL公文描述createTimedatetimeYESNULL创建时间processInstanceIdbigi

41、nt(20)YESNULL流程实例 IDstatusvarchar(255)YESNULL公文状态createorIdint(11)YESMULNULL创建者 ID表 4-12 t_approveinfo (审批信息表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment审批信息 idapproveTimedatetimeYESNULL审批时间commentvarchar(255)YESNULL审批容documentIdint(11)YESMULNULL公文 IDapproverIdint(11)YESMULNULL审批者

42、 ID表 4-13 t_information (信息表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment信息 idtitlevarchar(255)YESNULL信息标题cotentvarchar(255)YESNULL信息容annexlongblobYESNULL信息附件createTimedatetimeYESNULL信息发布时间. . . . 16 / 603、数据库的操作Hibernate 是现在非常流行的持久化框架,使用 Hibernate 进行持久化数据是一个非常好的选择。在 Hibernate 中 Se

43、ssion 负责完成对象的持久化操作,Session 在 Hibernate 中相当于 JDBC Connection 中的 Connection。创建 Session 的步骤:1)根据传入的 Hibernate 配置文件 perties 或者 hibernate.cfg.xml 创建 Configuration 类的实例:Configuration config = new Configuration().configure();2)根据 Configuration 类实例创建 Session 的工厂 SessionFactory 的实例SessionFactory

44、 sessionFactory = config.buildSessionFactory();3)创建 Session 的实例:Session session = sessionFactory.openSession();上述数据库操作要频繁地创建 SessionFatory 实例,管理 session 的打开和关闭,但是创建 SessionFactory 非常耗费系统资源,这种操作不应该是首选方法。在 Spring 中封装了一个实现 Hibernate 相关接口的的基类 HibernateDaoSupport,在这个类中提供了数据访问模板 HibernateTemplate 进行持久化操作。

45、外部类只要继承基类 HibernateDaoSupport,并利用 Spring 的依赖注入特性向其注入 SessionFactory 就能使用 Spring 的HibernateTemplate。使用 Spring 的 HibernateTemplate 进行持久化操作,就能避免了SessionFactory 的频繁创建以与避免了对 Session 的人工管理。所以在本系统种采用Spring 的 HibernateTemplate 进行数据库访问。5、事务管理系统采用了 Spring 中的声明式事务管理。Spring 提供了全面的事务支持,Spring 的声明式事务管理是通过 Spring

46、的 AOP 实现的。在配置文件中配置事务管理器、事务传播特性、切入点就能通过 Spring 替你管理事务。这将使你可以从每个业务方法中重复的事务划分代码中解放出来,真正专注于为你的应用添加有价值的业务逻辑代码。. . . . 17 / 605 5 详细设计详细设计经过概要设计阶段的工作,我们已经确定了系统软件的模块结构的描述,但这些模块仍处于黑盒子级。本设计阶段的主要目的是给出系统模块的部过程描述与功能。给软件开发人员提供详细的参考。该系统的开发从面向对象的原理、思想和方法出发,利用 UML 建模工具进行用例驱动设计,实现从概念模型到可执行体之间的转变。在设计过程中,采用了自底向上的开发,利用

47、 UML 顺序图创建业务逻辑层 Manager 和呈现层 Action。5.15.1 组织管理模块设计组织管理模块设计.1 机构管理机构管理 1、机构管理的用例描述. . . . 18 / 601)添加机构主要路径1、参与者打开添加机构的界面2、参与者向系统提交机构的基本信息3、系统自动产生机构编号,并存储机构信息4、系统向参与者显示添加机构信息成功的信息补充说明机构信息包括:机构名称、机构描述、父机构的 ID系统添加机构信息成功之后,需要刷新机构列表2)更新机构主要路径1、参与者选择某个机构,向系统提交机构 ID2、系统根据机构 ID,查询机构信息3、系统向参与者显示更新机构

48、信息的界面4、参与者向系统提交更新之后的机构信息5、系统更新机构信息,并显示更新机构成功的信息3)删除机构主要路径1、参与者选择一个机构删除2、系统提示是否要删除机构信息3、参与者确认之后,向系统提交机构 ID4、系统删除相应的机构5、系统向参与者显示删除机构成功的信息扩展点3a、参与者点击取消,系统不做任何操作,返回机构管理主界面4a、如果机构下面有子机构,系统显示机构下面有子机构,无法删除4b、如果机构下面有人员信息,系统显示机构下面有人员信息,无法删除补充说明系统删除机构信息成功之后,应刷新机构管理主界面4)浏览机构主要路径. . . . 19 / 601、参与者进入机构管理主界面,系统

49、显示顶级机构列表2、参与者选择一个机构,向系统提交机构 ID3、系统查询此机构下面的子机构列表4、系统显示子机构列表5、参与者点击返回,系统显示上一级机构列表补充说明机构列表的元素包括:序号、机构名称、编号、父机构名称2、根据用例描述创建用例的顺序图,根据顺序图创建出业务逻辑层 OrgManager 和呈现层的OrgAction 类:图 5-.2 人员管理人员管理1、人员管理用例描述1)添加人员主要路径1、参与者打开添加人员的界面2、参与者向系统提交人员的基本信息3、系统储人员信息4、系统向参与者显示添加人员信息成功的信息补充说明人员信息包括:人员名称、性别、年龄、 、地址、

50、email、职务、机构 Id、备注系统添加人员信息成功之后,需要刷新人员列表2)更新人员主要路径1、参与者选择某个人员,向系统提交人员 ID. . . . 20 / 602、系统根据人员 ID,查询人员信息3、系统向参与者显示更新人员信息的界面4、参与者向系统提交更新之后的人员信息5、系统更新人员信息,并显示更新人员信息成功的信息3)删除人员主要路径1、参与者选择一个人员删除2、系统提示是否要删除人员信息,删除人员将删除人员的所有信息3、参与者确认之后,向系统提交人员 ID4、系统删除相应的人员信息5、系统向参与者显示删除人员信息成功的信息扩展点3a、参与者点击取消,系统不做任何操作,返回人员

51、管理主界面4)查询人员主要路径1、参与者进入人员管理主界面,系统显示人员列表2、参与者向系统提交查询条件3、系统根据查询条件查询人员信息4、系统显示查询结果列表补充说明查询条件分为、职务、所属部门5)查看人员详细信息主要路径1、参与者选择某个人员,向系统提交人员 ID2、系统根据人员 ID,查询人员信息3、系统向参与者显示人员详细信息的界面2、画出人员管理模块各个用例的顺序图,根据顺序图创建人员管理业务逻辑层、呈现层的类 PersonManager 和 PersonAction。. . . . 21 / 605.25.2 权限管理模块设计权限管理模块设计.1 模块管理模块管理1

52、、模块管理的用例描述1)添加模块主要路径1、参与者打开添加模块的界面2、参与者向系统提交模块的基本信息3、系统存储模块信息4、系统向参与者显示添加模块信息成功的信息补充说明模块信息包括:模块编号、模块的唯一编号、url、排序、父模块 ID系统添加模块信息成功后,需要刷新模块列表2)删除模块主要路径1、参与者选择一个模块删除2、系统提示是否要删除模块信息3、参与者确认后,向系统提交模块 ID4、系统删除相应的模块5、系统向参与者显示删除模块成功的信息扩展点3a、参与者点击取消,系统不作任何操作,返回模块管理主界面4a、如果模块下面有子模块,系统显示模块下面有子模块,无法删除补充说明系统删除模块信

53、息成功后,应刷新模块管理主界面3)查询模块主要路径1、参与者进入模块管理主界面,系统显示顶级模块列表2、参与者选择一个模块,向系统提交模块 ID3、系统查询此模块的子模块列表. . . . 22 / 604、系统显示子模块列表5、参与者点击返回,系统显示上一级模块列表补充说明模块列表的元素包括:序号、模块名称、唯一编号、排序号、父模块名称、url2、根据顺序图创建业务逻辑层、呈现层类 ModuleManager 和 ModuleAction。.2 角色管理角色管理1、角色管理的用例描述1)添加角色主要路径1、参与者打开添加角色的界面2、参与者向系统提交角色名称3、系统存储角色信

54、息4、系统向参与者显示添加角色信息成功的信息补充说明系统添加角色信息成功后,需要刷新角色列表2)删除角色主要路径1、参与者选择一个角色删除2、系统提示是否要删除角色信息,确认后,将删除角色的对应的权限3、参与者确认后,向系统提交角色 ID4、系统删除相应的角色5、系统向参与者显示删除角色成功的信息扩展点3a、参与者点击取消,系统不作任何操作,返回角色管理主界面补充说明系统删除角色信息成功后,应刷新角色管理主界面3)浏览角色主要路径1、参与者进入人员管理主界面,系统显示人员列表4)给角色授权. . . . 23 / 60主要路径1、参与者选择一个角色进行授权,向系统提交角色 ID2、显示角色授权

55、界面3、系统查询角色对应模块的 CRUD 权限4、系统显示角色的权限,并打上 v5、参与者给角色授权2、根据用例创建各个用例的顺序图,根据顺序图创建出角色管理模块的业务逻辑层、呈现层的主要类 RoleManager 和 RoleAction。.3 用户管理用户管理用户管理的用例描述1)分配主要路径1、参与者打开分配的界面2、参与者向系统提交的基本信息3、系统存储信息4、系统向参与者显示分配成功的信息补充说明信息包括:用户名、密码、失效时间、人员 ID系统分配信息成功之后,需要刷新用户管理主界面2)更新主要路径1、参与者选择某个,向系统提交 ID2、系统根据 ID,查询信息3、系

56、统向参与者显示更新信息的界面4、参与者向系统提交更新之后的信息5、系统更新信息,并显示更新信息成功的信息3)删除用户主要路径1、参与者选择一个删除2、系统提示是否要删除信息,删除将删除该的所有关联信息. . . . 24 / 603、参与者确认之后,向系统提交 ID4、系统删除相应的信息5、系统向参与者显示删除信息成功的信息扩展点3a、参与者点击取消,系统不做任何操作,返回管理主界面4)查询主要路径1、参与者进入管理主界面,系统显示列表2、参与者向系统提交查询条件3、系统根据查询条件查询信息4、系统显示查询结果列表补充说明查询条件分为、所属部门、用户5)查看详细信息主要路径1、参与者选择某个,

57、向系统提交 ID2、系统根据 ID,查询信息3、系统向参与者显示详细信息的界面6)分配角色主要路径1、参与者选择一个用户分配角色,向系统提交用户 ID2、系统根据用户 ID 查询用户具有的角色3、系统向用户显示用户的角色信息4、参与者打开用户角色选择的界面,选择角色5、参与者向系统提交角色分配信息6、系统给用户分配角色补充说明:角色分配信息包含:角色 ID,用户 ID7)给用户授权主要路径1、参与者选择一个用户进行授权,向系统提交用户 ID. . . . 25 / 602、显示用户授权界面3、系统查询用户对应模块的 CRUD 权限,继承性4、系统显示用户的权限,继承性,并打上 v5、参与者给用

58、户授权.4 密码修改密码修改1、用例描述:主要路径:1)参与者打开密码修改界面2)参与者向系统提交新密码3)系统修改新密码4)系统向用户显示密码修改成功的信息2、根据用户管理的用例描述和密码修改的用例描述创建出 UserManager 和 UserAction.5 用户登陆用户登陆登陆流程图、 、 、 、 index.jsp、 、 、 、 、(back_index)、 、 、 、 、 、 、 login.do、 、 、 、(outlook)、 、 、(main)、 、 、 、 、 、 、 、 、index.do?command=outlookindex.do?c

59、ommand=main图 5-2 登陆流程.6 即时认证即时认证在每进行一次页面请求时就进行即时认证,在 BaseAction 中判断用户是否登陆,如果没有登陆返回用户登录页面,如果是登录用户,系统显示请求页面。. . . . 26 / 60、 、 、 、 、 、 、request、 、 、 、 、 、 、 、图 5-3 即时认证在页面显示时,要即时认证用户的权限,对于页面中没有权限的一些操作,系统应该隐藏这些操作的。5.35.3 公文流转模块设计公文流转模块设计.1 流程管理流程管理1、流程管理用例图、 、 、 、 、 、 、 、 、 、 、 、 、 、(fr

60、om Use Case View).)、 、 、 、 、 、 、(from Use Case View).)、 、 、 、 、 、 、 、 、 、 、图 5-4 流程管理用例图2、流程管理用例描述1)上传流程主要路径1、参与者打开上传流程的界面2、参与者向系统提交流程文件信息3、系统在 oa 表中存储流程的基本信息,并将流程定义文件部署在 pm 中. . . . 27 / 60补充说明流程文件信息包括:流程名、流程图片、流程定义文件流程部署:将流程定义文件写入 pm 中系统上传流程成功之后,重定向到流程管理主界面2)删除流程主要路径1、参与者选择一个流程2、系统提示是否要删除流程信息3、参与者

温馨提示

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

评论

0/150

提交评论