收藏 分销(赏)

Hibernate在IT服务管理项目中的应用论文.doc

上传人:仙人****88 文档编号:11094386 上传时间:2025-07-01 格式:DOC 页数:39 大小:1.26MB 下载积分:10 金币
下载 相关 举报
Hibernate在IT服务管理项目中的应用论文.doc_第1页
第1页 / 共39页
Hibernate在IT服务管理项目中的应用论文.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
毕业论文 第35页 Hibernate在IT服务管理项目中的应用 摘要 信息时代中,信息是发展的第一要素,网络的发展让信息的共享成为可能。而信息共享的实质是数据的共享,数据是信息资源最直接的表现形式。在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。 本文首先从对象、面向对象方法入手,讨论了对象持久的概念、方法。重点介绍了当今比较流行的一个开源框架Hibernate这个数据持久化技术体系的原理、结构、机制、以及其对设计模式的运用等方面相关内容。同时,论文最后以基于ITIL理论的IT服务管理项目作为理论与实践的结合,详细论述了Hibernate框架在该项目中的应用。在开发过程中,通过应用MVC设计模式实现了表示逻辑和业务逻辑的分离,为系统的开发和维护提供了更大的灵活性和更好的可管理型。通过实践表明,应用这种系统框架可以提高系统开发的效率,同时满足系统扩展性和可维护性的要求。 关键词:Hibernate,对象关系映射,数据持久层,J2EE,ITIL Application of Hibernate in ITSM System Abstract In information age,information is the most important factor for development in every area.It is possible to share information among different organizations with the improvement of network.In fact,what shared in information is basically data.Data is the very direct representation of information resources.So,in order to realize data-sharing,data should not only be visited,but also be perdure.Work ing with object-oriented software and a relational database can becumbersome and time consuming in today's enterprise environments. Hibemate is an object/relational mapping tool for Java environments. The term object/relational mapping (ORM) refers to the technique of mapping a data representation from an object model to a relational data model with a SQL based schema. Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities and can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC. In this paper,firstly,objects and object-oriented methods are in troduced,and discussion of the conceptions and methods for objects persistence are referred.The principle, structure, mechanism, application of design patterns and etc of a component designed and implemented by author are introduced with emphasis.At the same time, this paper will take ITSM for example and discuss the application of Hibernate.In this case,distinction between description logic and business logic is made possible with in the MVC design patern,which means better flexibility and easier manage ment in the exploration of a system. Results show that this new framework helps to increase work efficiency in exploration. Meanwhile, expansibility and maintainability of the system within this framework are also satisfactory. Key words:Hibernate,O/R Mapping,Data Persistence,J2EE,ITIL 目录 摘要 I Abstract II 1.绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3 研究内容 2 2.数据持久化的概念及相关知识 3 2.1 数据持久性 3 2.2 持久性框架 3 2.2.1 持久性框架概述 3 2.2.2 O/R Mapping技术 4 2.2.3 一些著名的持久框架 5 3.Hibernate O/R Mapping 框架技术 6 3.1 概述 6 3.2 Hibernate的体系结构 6 3.3 Hibernate的类型 7 3.4 操作持久化数据 7 3.4.1 持久化生命周期 7 3.4.2 持久管理器 8 3.5 Hibernate查询语言(HQL) 8 3.6 开发流程 9 4.IT服务管理系统分析 10 4.1 ITSM简介 10 4.2 应用框架及架构设计 11 4.2.1 表现层 11 4.2.2 业务层 12 4.2.3 持久层 12 4.2.4 领域模型层 13 4.3 系统界面 14 4.4 系统功能 18 4.4.1系统管理 18 4.4.2 工作台 18 4.4.3 自主服务台 18 4.4.4 我的工作台 19 5 工作台中问题模块的设计与实现 20 5.1 模块功能描述 20 5.2 模块功能实现 20 5.2.1 新建问题 20 5.2.2 查询问题 21 5.2.3 编辑问题 22 5.2.4 提交问题 23 5.2.5 查看问题 24 5.3 Hibernate在ITSM中的应用 25 5.3.1 Hibernate的配置文件 25 5.3.2 映射文件的编写 27 5.3.3 用Hibernate实现对象关系的映射 31 5.3.3.1 SessionFactory配置 31 5.3.3.2 从XML配置文件获取SessionFactory 32 5.3.3.3 实现映射 32 结论 34 致谢 35 参考文献 36 Hibernate在IT服务管理项目中的应用 1.绪论 1.1 研究背景 在如今的企业级应用开发环境中,面向对象的开发方法已成为主流。众所周知,对象只能存在于内存中,而内存不能永久保存数据。如果要永久保存对象的状态,需要进行对象的持久化,即把对象存储到专门的数据存储库中。在实际应用中,除了需要把内存中的对象持久化到数据库外,还需要把数据库中的关系数据再重新加载到内存中,以满足用户查询业务数据的需求。频繁地访问数据库,会对应用的性能造成很大影响。为了降低访问数据库的频率,可以把需要经常被访问的业务数据存放在缓存中,并且通过特定的机制来保证缓存中的数据与数据库中的数据同步。 在Java领域,可以直接通过JDBC编程来访问数据库。JDBC可以说是访问关系数据库的最原始、最直接的方法。这种方式的优点是运行效率高,缺点是在Java程序代码中嵌入大量SQL语句,使得项目难以维护。Hibernate是一个基于Java的开放源代码的持久化中间件,它对JDBC做了轻量级封装,不仅提供ORM映射服务,还提供数据查询和数据缓存功能,Java开发人员可以方便地通过Hibernate API来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP(Container-managered Persistence,由容器管理持久化),完成数据持久化的重任。 1.2 研究意义 现在,越来越多的Java开发人员把Hibernate作为企业应用和关系数据库之间的中间件,以节省和对象持久化有关的30%的JDBC编程工作量。2005年,Hibernate作为优秀的类库和组件,荣获了第15届Jolt大奖。Hibernate之所以能够流行,归功于它的以下优势: 1.它是开放源代码的,允许开发人员在需要的时候研究源代码,改写源代码,定制客户化功能。 2.具有详细的参考文档。 3.对JDBC仅做了轻量级封装。 4.具有可扩展性。 5.使用方便,容易上手。 6.Hibernate既适用于独立的Java程序,也适用于Java Web应用,而且还可以在J2EE 架构中取代CMP,完成对象持久化的重任,Hibernate能集成到会话EJB和基于BMP的实体EJB中; 7.Hibernate可以和多种Web服务器、应用服务器良好集成,并且支持几乎所有流 行的数据库服务器。 1.3 研究内容 本文研究了ORM以及其他持久层技术,对比了这些技术,说明ORM技术的优越性,并深入研究了一个基于ORM实现的持久层框架——Hibernate。先了解Hibernate组成的基本元素,并进一步了解Hibernate的基础语意、配置等概念:了解配置文件、映射文件中各种元素的意义;了解Hibernate常使用的几个类别的基本使用方式;了解如何实现O/R映射、数据关联;研究了Hibernate内部的对象状态、数据缓存、事务管理方式及数据检索;本文最后以一个IT服务管理项目的实现体验了Hibernate的强大功能。 2.数据持久化的概念及相关知识 2.1 数据持久性 面向对象的开发方法己经成为当今的主流,但是又不得不使用关系型数据库,所以在企业级应用开发的环境中,对象、关系的映射(ORM)成为一种耗时的工作。 数据是应用程序开发所必不可少的基础。计算机应用程序的核心是使某人或另一个计算机系统能够访问其数据。持久数据存储就是即使在服务器崩演的情况下仍能存在的数据存储。几乎任何一种程序都将涉及某种持久性数据一即使可能还没有把数据存储需求与之直接关联起来的那些程序。美国国家标准与技术研究所(The United States National Institute of Standards and Technology)定义了三种级别的持久数据: (1) 部分持久数据是一种仅允许对最新版本更新的持久数据结构; (2) 持久数据是一种保留其旧版本的数据结构,即以前版本和当前版本都可能被查询; (3) 完全持久数据是一种维护其数据的所有版本并允许对这些版本更新的持久数据 结构。 大多数业务应用程序至少提供部分持久数据。这种类型的持久性在事务中期或者甚至在请求中期出现系统故障时容易遭到破坏,这会导致数据不完整且常常遭毁坏。另一方面,在持久数据实现中,对系统中断或故障以“回滚(rollback)" 回应,数据状态被回滚到上一个已知的良好配置。持久数据实现在企业体系结构和数据库管理系统(DBMS)中很常见。完全持久数据实现非常少见。完全持久数据实现的少数几个示例有:日志记录文件系统、VMS文件系统(如VAX和Mac QSX)以及并发版本控制系统(CVS)。 2.2 持久性框架 围绕对象关系的映射和持久数据的访问,在Java领域中发展起来了一些API和框架。下面分别简单加以介绍。 2.2.1 持久性框架概述 持久性框架是一组软件服务,将应用程序与其使用和操纵的数据源分离。持久性框架位于架构的数据源之上,隐藏访问这些数据源的数据访问API(如JDBC,JDO或EJB)。提供的服务应完全抽象和从这个数据源使用和操纵数据的物理细节。 持久性框架提供下列服务,让开发人员在持久性框架之上建立应用程序: (1) 提供分开数据持久逻辑与表示和业务逻辑的整洁机制在上面的体系结构框图中,只有业务层可以访问公司数据库。业务层用Data Access Object模式与公司数据库交互,而不用JDBC之类的数据访问APJ访问数据源; (2) 不让框架上建立的应用程序了解数据所在的数据库平台将所有数据连接逻辑包装到数据访问对象中后,业务应用程序的开发人员不需要知道连接的数据库平台类型,连接数据库时所需的任何安全信息(用户ID与口令)或数据库网址; (3) 抽象数据库中存储数据的物理细节和数据库中数据实体之间存在的关系建立在上述体系结构布局之上的应用程序不必直接对数据库发出SQL查询,不必知道数据的物理结构,而用数值对象访问数据库; (4) 简化开发过程,隐藏打开数据库连接、发出数据读取与操纵命令和事物管理的细节Data Access Object与Value Object模式完全分离业务应用程序的开发人员与其在应用程序中使用的数据源,不需要知道数据访问API,而用简单接口读取与操纵数据。 2.2.2 O/R Mapping技术 简单地说 ,对象一关系映射就是Java应用中的对象到关系数据库中表的自动的(和透明的)持久化,使用元数据对对象与数据库间的映射进行描述。本质上,ORM的工作是将数据从一种表示(双向)转换为另一种。这意味着有一些性能损失。然而,如果ORM是作为中间件实现的,就会有许多机会可以进行优化而在手工编码的持久层中这些机会是不存在的。另外一项开销(在开发时)是对控制转换的元数据的准备与管理。而且,这个成本低于维护一个手工编码的解决方案所需的成本。相比之下,与ODMG兼容的对象数据库甚至需要大量类级别的元数据。 ORM解决方案由以下四部分组成: (1) 在持久类的对象上执行基本的CRUD操作的一组API; (2) 用于指定查询的一种语言或一组API,这些查询会引用类和类属性; (3) 用于指定映射元数据的工具; (4) 实现ORM的一项技术,用来与事务对象交互以完成数据检查、延迟关系抓取及其它优化功能。ORM这个术语包含所有可以根据元数据的描述自动生成SQL的持久层。不包含开发者通过编写SQL和使用JDBC手工解决对象一关系映射问题的持久层。使用ORM,应用可以与ORM API和根据下层SQL/JDBC抽象出来的业务模型类进行交互。依赖于这些特征或特定的实现,ORM运行时也可能承担例如乐观锁定、缓存等问题的职责,完全免去了应用对这些问题的关心。 2.2.3 一些著名的持久框架 对于Java有许多持久化对象的方式。表2-1列出了一些著名的持久框架,并对这些框架进行了比较。通过这些比较可以看出,Hibernate完全满足ORM的要求,现在已经成为Java世界中比较流行的ORM解决方案。 表2-1 一些著名的持久框架 持久性框架 优点 缺点 EJB 标准化,容器管理的服务,透明持久性,事物支持,基于组件的设计 了解EJB规范费时,需要花大价钱购买EJB容器,不支持多态的关联和查询,实体Bean不可序列化 JDO 设计简单,细粒度控制,编码简单 性能优化上比较差 Hibernate Hibernate可以用Java机制开发持久对象-包括关联、继承、组合和Java集合框架。提供HQL语言;透明持久性;复杂的ORM;简单但强大的API;自动PK生成;O/R Mapping定义;双层cache架构;高性能;J2EE集成,对JMX,JCA等技术的支持;详细文档;开源软件的支持……等等特性 3.Hibernate O/R Mapping 框架技术 3.1 概述 传统的数据库程序设计,必须直接在程序中硬编码SQL语句,JDBC统一Java程序与数据库之间的操作界面,让程序设计人员可以不用关心与数据库相关的API操作。然而撰写SQL语句或自行封装SQL仍是不可避免或必要的目标,而在面向对象程序设计中,对象与对象之间的关系,在匹配到关系数据库中表格与表格之间的关系,并无法进行简单的转换以进行匹配。 Hibernate是一个面向Java环境的对象/关系映射(Object/relational Mapping)的解决方案,简写为ORM。所谓的ORM,简单的说就是将Java中的对象与对象的关系,对应到关系数据库中的表格与表格之间的关系,Hibernate提供了这个过程中自动化对应转换的方案,相反的,也提供关系数据库中表格与表格之间的关系,对应到Java程序中对象与对象的关系。Hibernate在Java程序与数据库之间进行转换,Java程序设计人员只要事先定义好对象与数据库表格之间的对应,之后Java程序设计人员可以用所熟悉的面向对象方法撰写程序,而不用特定转换SQL,所有SQL的转换交给Hibernate进行处理。 3.2 Hibernate的体系结构 图3-1是Hibernate总的体系结构图,这幅图展示了Hibernate使用数据库和配置文件数据来为应用程序提供持久化服务。 图3-1 Hibernate总的体系结构图 3.3 Hibernate的类型 在Java中,所有的类都是等同的:所有的对象有它们自己的标识符和生命周期,所有的类实例通过引用来传递。只有原始类型通过值来传递。为了理解很多与持久化服务相关的Java语言级对象的行为,需要把它们分为两类: (1) 实体entity独立于任何持有实体引用的对象。与通常的Java模型相比,不再被引用的对象会被当作垃圾收集掉。实体必须被显式的保存和删除(除非保存和删除是从父实体向子实体引发的级联); (2) 值是原始类型、集合、组件或者特定的不可变对象。与实体不同,值(特别是集合和组件)是通过可触及性来进行持久化和删除的。因为值对象(和原始类型数据)是随着包含它们的实体而被持久化和删除的,它们不能够被独立的加上版本信息。值没有独立的标识,所以它们不能被两个实体或者集合共享。 在数据关联中还要涉及一个很重要的概念:持久化集合类。 集合可以包含几乎所有的其它Hibernate类型,包括所有的基本类型,自定义类型,实体类型和组件。除了Set和Bag之外的所有集合类型都有一个索引(index)字段,这个字段映射到一个数组或者List的索引或者Map的key。Map的索引的类型可以是任何基本类型,实体类型或者甚至是一个组合类型(但不能是一个集合类型)。数组和list的索引肯定是整型。 3.4 操作持久化数据 3.4.1 持久化生命周期 由于Hibernate是透明的持久化机制一类不能意识到它们自己的持久能力一编写应用逻辑时不用意识到你所操纵的对象是持久状态还是存在于内存中的临时状态。对于持久化生命周期,不同的ORM实现使用不同的术语,定义不同的状态及状态转换.此外,内部使用的对象状态可能与其暴露给客户端应用的状态不同。Hibernate仅仅定义了三种状态:瞬时、持久和分离,对客户端代码隐藏了其内部实现的复杂性。 图3-2 Hibernate状态转换图 3.4.2 持久管理器 任何透明的持久管理器都含有持久管理器API,通常提供下列服务: (1) 基本的CURD操作; (2) 执行查询; (3) 控制事务; (4) 事务级的缓存管理。 持久管理器可以暴露给几个不同的接口(就Hibernate来说,Session、QueryCriteria和Transaction)。这些接口的内部实现连接的很紧密。应用程序与Hibernate之间的核心接口是Session,它是刚刚列出的所有操作的起点。应用程序如果访问多个数据源可能含有多个SessionFactory,但是仅仅为了服务于某个请求你不要创建一个新的SessionFactory,因为创建SessionFactory需要耗费大量的资源。另一方面,创建Session耗费的资源却很少。Session甚至只有需要连接时才获得JDBC连接。打开新的Session之后,就可以用它装载和保存对象了。 3.5 Hibernate查询语言(HQL) Hibernate查询语言是一种功能非常强大的查询语言,看上去很像SQL。但是不要被语法所蒙蔽,HQL是完全面向对象的,具有继承、多态和关联等特性。HQL不是像SQL这样的数据操纵语言,它只能用来检索对象,不能更新、插入或删除数据。HQL子句本身大小写无关,但是其中出现的类名和属性名必须注意大小写区分。 HQL功能非常强大,虽然你不会一直使用其高级特征,但是你将会需要它们来解决一些复杂问题。HQL支持下面这些功能: (1) 排列查询结果的能力; (2) 分页查询的能力; (3) 使用group, having及统计函数(如sum, min和max)进行统计; (4) 当在一行中检索多个对象时使用外联接; (5) 调用用户自定义的SQL函数的能力; (6) 子查询(嵌套查询)。 3.6 开发流程 好的ORM软件集成一系列工具,Hibernate也是如此。通过Hibernate项目中提供的几个命令行工具(他们也被当作项目的一部分不断得到维护),还有XDoclet,Middlegen和AndroMDA内置的对Hibernate的支持,可以自动产生映射元数据、SQL数据库schema甚至Java POJO代码。 在我们着眼于与Hibernate一起使用的某个工具之前,让我们简单看看主要的开发场景及最适合每个场景的工具。 图3-3 Hibernate开发场景和工具 4.IT服务管理系统分析 4.1 ITSM简介 ITIL四大价值Gartner认为,IT服务管理是一套协同流程(Process),它通过服务级别协议(SLA)来保证IT服务的质量。它融合了系统管理、网络管理、系统开发管理等管理活动和变更管理、资产管理、问题管理等许多流程的理论和实践。 图4-1 IT服务的组织架构   IT服务管理作为一种以流程为导向、以客户为中心的方法,通过整合IT服务与组织业务,提高了组织提供IT服务和对IT服务进行支持的能力和水准。 图4-2 ITSM的基本原理 4.2 应用框架及架构设计 根据架构设计的总体目标要求,下面我们进行集成Spring,Hibernate,Struts的J2EE架构的具体设计。为了集成三种框架,必须明确架构的层次结构,同时明确每一个层次的职责,各层次的功能不能相混合。每层都应该和其它层隔离开来,但允许使用接口在层之间进行通信。根据分层原则,我们把层次分成:表现层、持久层、业务层和领域模型层。表现层使用Struts,业务层使用Spring,持久层使用Hibernate。 4.2.1 表现层 一个典型的Web应用的末端是表现层,我们使用Struts作为表现层框架。Struts框架应该提供的职责: 1.管理用户的请求和响应; 2.提供一个控制器将调用委托到业务逻辑和其他上游处理; 3.将来自于抛出例外的其他层的例外处理到StrutsAction中; 4.组装可以在视图中表现的模型对象; 5.执行UI校验。 该层主要组件(Struts)说明: Ø Struts Action表示Action类,它的功能是将请求与业务逻辑分开; Ø ActionServlet继承于javax.servlet.htp.HtpServlet类,它在Struts框架中扮演的角色是中心控制器; Ø ActionForm 负责保持一个应用系统的消息转移(或者说状态转移)的非持久性数据存储; Ø ActionMapping包含有关特定事件如何映射到特定Action的信息; Ø JSP表示呈现给用户的JSP页面。 4.2.2 业务层 典型的Web应用的中间组件一般是业务层和服务层。从编程的角度来说,service layer经常被忽略。我们使用Spring作为业务层框架,它提供的职责有: 1.处理应用的业务逻辑和业务校验; 2.管理事务; 3.允许与其他层进行交互的接口; 4.管理业务级对象之间的依赖性; 5.加入了表现和持久层之间的灵活性,以便它们不需要彼此进行直接通信; 6.从表现层暴露上下文给业务层以获得业务服务; 7.管理从业务层到表现层的实现。 Transaction表示Spring的事务管理,包含依赖特定事务资源的事务处理,依赖容器的参数化事务管理,Hibernate Session Management表示应用程序与持久储存层之间交互操作的一个单线程对象。Business Service Classes表示其他的服务类,比如BeanWrapper, BeanFactory等。 4.2.3 持久层 一个典型Web应用的另一端是持久层。目前有许多解决这些问题的开源对象关系映射(ORM)框架,特别地,Hibernate框架就允许Java中的对象一关系的持久性和查询服务。我们使用Hibernate作为架构的持久层框架,它提供的职责有: 1.查询关系信息到对象中,Hibernate是通过称为HQL的00查询语言,或者使用更有表现能力的规则API; 2.存储、更新和删除存储在数据库中的信息; 3.高级的对象关系映射框架; 4.同时,应避免业务逻辑置于持久层中; 5.避免持久逻辑和表现逻辑祸合; 6.避免表现组件如JSP或者基于Servlet的类中的逻辑直接和数据访问进行通信; 7.通过将持久性逻辑隔离在其自己的层中,应用将具有更加灵活的修改性而不影响到其他层的代码。 在持久层包括几个主要的组件: Ø 数据源(D ataSource) 处理数据库连接信息; Ø 连接池(Connection Pool)维护有效的连接数; Ø Query Language表示HQL的00查询语; Ø Support和Otherer Hibernate service表示其他的Hibernate服务和支持。 从架构总体结构可以看出,表现层通过Struts-config.xml,ApplicationContext.xml和业务层(Spring)相交互,而持久层通过ApplicationContext.xml和Spring相交互。既然每个层是互相作用的,在应用中,我们需要确定领域模型中哪些对象需要持久化,哪些是提供给业务逻辑的,哪些是显示接口的设计。配置持久层并且定义Hibernate的OR mappings;定义业务对象,然后使用Spring把这些连接起来。从这个持久层里我们可以知道它是如何与业务逻辑层(business service layer)通信的,以及它是怎样处理其它层抛出的异常的。 4.2.4 领域模型层 要解决实际问题的Web应用,我们需要一套在不同的层间移动的对象。领域模型层包含的是表达实际业务对象的对象,这一层允许能让开发者不再构建和维护不必要的数据传输对象DTO来匹配其领域对象。这种模型允许Java开发者能够很自然的处理对象,而不用编写额外的代码。 根据上面的分析,集成Spring,Hibernate,Struts的架构的总体结构如图4-3所示: 图4-3 总体结构 4.3 系统界面 本系统在前台展示上可以分为我的工作台,个人设置,系统管理,流程管理,配置管理,知识库和报表七大模块,同时还会在桌面中展示你感兴趣的模块,系统的总体组织图如下: 图4-4 系统组织图 (1) 我的工作台 此模块中,你可以选择查看公告,事件,通知和ADSL这些相关的信息。这四个子模块中分别可以选择新建,查询和该部门有关的信息。该部门的组织图如下: 图4-5 我的工作台组织图 (2) 个人设置 此模块中,基本信息部分可以查询当前登陆人员的所有信息。委托设置部门可以新建委托和发起委托,同时显示所有委托事件的详细信息。通知设置部分用来设置通知相关信息。该部分的组织图如下: 图4-6 个人设置组织图 (3) 系统管理 此模块只有以系统管理员(admin),登陆才可见。其中包括用户,角色,单位,部门,群组,模块,职位,过滤器和通知九个子模块。 图4-7 系统管理组织图 (4) 流程管理 此模块只有以系统管理员(admin),登陆才可见。流程管理模块包括流程定制和流程设置两个子模块。流程定制可以以图形化的形式定义一个流程的各个点,而流程设置则是管理员用来设置流程的工作要求。 图4-8 流程管理组织图 (5) 配置管理 配置管理模块包括配置,成本,设置和合同四个子模块。分别实现了四个方面的增、删、改、查功能及设置功能。 图4-9 配置管理组织图 (6) 知识库 知识库模块包括知识和设置两个子模块,改部分主要功能是可以把已经觉得的问题导入库中,再有同样的问题可以直接查询到解决办法。 图4-10 知识库组织图 (7) 报表 这个模块主要用于统计情况,研究及发现问题。 图4-11 报表组织图 (8) 系统的模型 系统到要做到功能强大,界面友好,能为企业提供方便是最终目的。项目的基本状况如下: 图4-12 登陆前界面 图4-13 用admin(系统管理员)登陆后界面 4.4 系统功能 4.4.1系统管理 系统管理模块用于维护系统的基础信息,包括公用数据的初始化,用户、角色以及权限的维护等等,是整个系统维护的基石。 系统管理面向与三类用户:管理员、IT服务支持人员、客户。管理员能使用系统管理提供的所有功能,IT服务支持人员能维护自己用户信息以及与自己工作业务有关的功能,客户能使用系统管理维护自己的用户信息。 系统管理维护的数据分为三类:组织结构数据维、护权限数据维护、业务支撑数据维护。 4.4.2 工作台 工作台是面向支持人员工作的平台,支持人员可以在工作台上进行事件、问题、变更、发布和日常业务的处理等。工作台提供了工作处理得快速通道,当用户以支持人员或管理员的角色登录系统时,系统就说转向工作台的页面。 4.4.3 自主服务台 自服务台主要面向于客户,客户可以登录或匿名进入自服务台。客户可以通过自服务台向系统提交和查询事件,问题,查看事件和问题的状态。客户也通过自服务台查询相关的知识,自己寻找事件和问题的解决方案。 在用户输入公司主页网址后显示自助服务台界面,自助服务台界面包括申请事件,申请业务,用户的登录,查询和浏览公告的功能。用户可以在非登录状态下使用服务台,也可以选择在登录后使用服务台,登录后用户可以对自己的个人信息进行维护。 4.4.4 我的工作台 知识库管理模块是系统中必不可少的部分,用于维护系统得基础配置信息,包括6个部分;该功能只对系统的维护人员开放。 5 工作台中问题模块的设计与实现 5.1 模块功能描述 问题模块中,用户可以新建问题,查看已处理的问题和待处理的问题,用户还可以根据条件对问题进行查询。另外,具有管理员角色的用户可以对问题进行编辑。 5.2 模块功能实现 此模块包括新建问题,查询问题,编辑问题,提交问题和查看问题。 5.2.1 新建问题 (1) 功能函数实现表 表5-1 新建问题函数功能实现表 模块功能名称 模块命名代号 制作人 最后更新日期 新建问题 addProblem 函数名称、类型 Create、void 功能描述 在数据库中新建一条问题记录,并保存输入得问题信息 入口参数及类型 问题表单problemForm 返回值及类型 无 函数处理: 在数据库中新建一条问题记录,并将problemForm中用户输入的内容保存到记录中。 (2) 流程逻辑 1.在新建问题页面中的表单problemForm中输入问题信息; 2.点击保存或提交; 3.调用problemAction中的create方法,该方法将problemForm中的objectType属性等于problem,并将problemForm中的信息保存到problem类中;判断如果是“保存”将当前状态属性设为“草案”,如果是“提交”将当前状态属性设为“提交”,然后保存到数据库中; 新建问题的操作调用流程如下图所示: 图5-1 新建问题操作流程 5.2.2 查询问题 (1) 功能函数实现表 表5-2 查询问题函数功能实现表 模块功能名称 模块命名代号 制作人 最后更新日期 查询问题 searchProblem 函数名称、类型 forSearch、void,Search、void 功能描述 在查询页面输入查询条件,根据条件进行查询,将结果显示在问题管理页面中 入口参数及类型 problemForm 返回值及类型 problemList 函数处理: 在查询页面problemForm中输入查询条件,根据条件查询,将将查询结果放到List中,在页面上分页显示。 (2) 流程逻辑 1.在查询界面problemForm表单中输入查询条件; 2.调用search方法,该方法从problemForm中取出用户的输入条件在数据库中查找匹配的记录,并将查找记录的集合保存在problemList中; 3.调用findAll()方法,将problemList中的记录分页在问题管理页面中。 查询问题的操作调用流程如下图所示: 图5-2 查询问题操作流程图 5.2.3 编辑问题 (1) 功能函数实现表 表5-3 编辑问题函数功能实现表 模块功能名称 模块命名代号 制作人 最后更新日期 编辑问题 editProblem 函数名称、类型 forEdit、void,Edit、void 功能描述 将选中的记录从数据库中选出来显示在编辑页面中,修改 入口参数及类型 Id 返回值及类型 problemForm 函数处理: 在数据库中取出指定id的记录显示在页面中,对该记录的信息进行修改,调用Edit方法对修改的信息保存。 (2) 流程逻辑 1.在问题管理页面中,某条记录后面点编辑按钮; 2.将该记录的id
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服