已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)软件开发过程的工作流管理系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 软件开发过程是所有软件企业中最重要的流程。现代软件发展的趋势是朝 着更庞大、更复杂的系统发展,这也就造成对软件开发过程管理难度的增加。 为了解决这些问题,整个产业界开始采用工程管理的方法来管理软件开发,开 始进行软件工程的实践。在软件工程中,人们开发了一些工具来辅助管理,在 自动化方面取得了很大的进步,然而目前在整体上,软件开发过程的管理依旧 是通过人手工地进行。本文希望将工作流管理的思想应用到软件开发过程的管 理中,通过对工作流管理系统和软件开发过程的分析,建立个符合w f m c 规范 的,应用于软件开发过程管理的工作流管理系统的架构和平台。 在本文的第一章首先简要介绍了工作流管理的背景和工作流管理系统的定 义、价值和发展趋势。 工作流管理联盟( w f m c ,w o r k f l o wm a n a g e m e n tc o a l i f i o n ) 对的工作流管理 系统的参考模型,术语和接口规范进行了标准定义。一个能够与其他工作流管 理系统进行交互的工作流管理系统应该符合w f m c 的标准定义。本文的第二章 对w f m c 的标准进行了描述。 建模是一项经过检验并被广为接受的工程技术。在构造之前应该对软件的 建模得到了越来越多地受到重视。本文的第三章对面向对象的建模技术及在本 文中所使用的建模工具u m l 进行描述。 本文目标就是建立一个能够对软件的开发过程进行的管理的工作流管理系 统,因此在本文的第四章对软件开发过程及其管理进行了讨论。 最后在本文的第五章,在分析了s p m s 系统的特性后,通过对工作流管理 和软件开发过程管理的分析,构造了一个应用于软件开发过程管理的工作流系 统的核心实体模型,最后根据系统特性和核心模型,建立了一个s p m s 系统的 构架。 关键词:工作流软件开发过程架构模型 a b s t r a c t s o f t w a r ed e v e l o p m e n tp r o c e s si st h em o s ti m p o r t a n tp r o c e s si na l lo ft h ei t e n t e r p r i s e s n o w a d a y s ,s o f t w a r ei sm o r ea n dm o r el a r g ea n dc o m p l e x a n dt h i s t e n d e n c ym a k e si ti sd i f f i c u l tt om a n a g et h ep r o c e s so fs o f t w a r ed e v e l o p m e n t f o r r e s o l v et h ep r o b l e m ,p e o p l eh a v eb e e ns t a r l i n gt oa p p l yt h ep r o j e c tm a n a g e m e n ti n t o s o f t w a r ed e v e l o p m e n t i nt h e s ep r o j e c t s ,p e o p l ed od e v e l o ps o m et o o l st o f a c i l i t y s o m ea c t i v i t i e s i ns o f t w a r ed e v e l o p m e n ta n dm a k et h e ma u t o m a t i c h o w e v e r , p e o p l e s t i l lm a n a g et h es o f t w a r ed e v e l o p m e n tp r o c e s sb yh a n d sf r o mt h ew h o l ev i e w t h e w o r k so ft h i sp a p e ri st oa p p l yt h et h o u g h to ft h ew o r k f l o wm a n a g e m e n ti n t ot h e s o f t w a r ed e v e l o p m e n tm a n a g e m e n ta n dd e v e l o pt h ea r c h i t e c t u r eo fs p m sa c c o r d i n g t oa n a l y s i so nw o r k f l o wm a n a g e m e n ta n ds o f t w a r ed e v e l o p m e n tp r o c e s s t h es p m s , w h i c hs t a n d sf o rs o f t w a r ep r o c e s sm a n a g e m e n ts y s t e m ,w i l lb ec o m p l i a n c ew i t h w f m cs t a n d a r d s t h ef i r s tc h a p t e ro ft h i sp a p e ri n t r o d u c e st h eb a c k g r o u n d ,d e f i n i t i o n ,v a l u ea n d d e v e l o p m e n tt e n d e n c yo fw o r k f l o wm a n a g e m e n ts y s t e m t h ew f m c ,w o r k f l o wm a n a g e m e n tc o a l i t i o n ,h a ss t a n d a r d i z e dt h er e f e r e n c e m o d e l ,t h et e r m i n o l o g ya n di n t e r f a c e so fw o r k f l o wm a n a g e m e n t h e n c e ,aw o r k f l o w m a n a g e m e n ts y s t e mw h o c a ni n t e r a c tw i t ho t h e ro n e ss h o u l db ec o m p l i a n c ew i t l lt h i s s t a n d a r d s t h es e c o n dc h a p t e rw i l li n t r o d u c e st h e s ew f m cs t a n d a r d s m o d e l i n gi saw i l da c c e p t e de n g i n e e r i n gt e c h n o l o g yi ni ti n d u s t r y m o d e l i n g b e f o r ec o n s t r u c t i n gi sm o r ea n dm o r ea c c e p t e di ns o f t w a r ed e v e l o p m e n t t h et h i r d c h a p t e rw i l ld e s c r i b et h eo b j e c t o r i e n t e dm o d e l i n ga n du m l s i n c et h eo b j e c t i v eo ft h i s p a p e ri s t od e v e l o pas o f t w a r e d e v e l o p m e n t m a n a g e m e n ts y s t e m t h ef o n hc h a p t e rw i l ld e s c r i b et h es o f t w a r ed e v e l o p m e n tp r o c e s s a n ds o f t w a r ee n g i n e e r i n g a tl a s t ,a st h ef i f t hc h a p t e ro ft h i sp a p e r , w ew i l la n a l y s i st h ef e a t u r e so fs p m s , c o n s t r u c taw o r k f l o wm a n a g e m e n tc o r eb u s i n e s sm o d e la n dd e v e l o pt h ea r c h i t e c t u r e o f s p m s k e yw o r d s :w o r k f l o ws o f t w a r ed e v e l o p m e n tp r o c e s sa r c h i t e c t u r em o d e l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得垂盎盘茎或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 学位论文作者签名:畚栌字日期口f 年f 月6 日 学位论文版权使用授权书 本学位论文作者完全了解苤壅盘堂有关保留、使用学位论文的规定。 特授权墨注盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学 校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 巯塘 导师签名: 罨勿 签字日期:c 释) 月6 日 签字日期:6 阵月6 日 第一章绪论 第章绪论 1 1背景 1 11现代企业与流程 企业生产经营活动是由交织在一起的各种业务流程组成,流程无 处不在。流程固然重要,但事实上许多流程隐含在同常的操作中,不 被人们所重视,不能有效地进行管理。这些都使得业务流程不能很 好地跟踪业务流程的执行。在巾_ 场竞争日趋激烈的时代,企业所处的 商业环境也在悄然发生变化,客户需求瞬息万变,产品生命周期不断 缩短,技术不断创新,企业要在这样一个竞争和变化的外部环境下, 生存,必须随需应变,不断调整、优化企业的各种业务流程,对流程 进行重构和更为有效地管理。 现代仓业,特别是大型企业具确数量庞大,关系复杂的业务流 程。庄这种情况下,人工管理几乎是不可能的。计算机技术的发展使 得人们对于将计算机技术用于企业中的信息管理已经不再陌生。大多 数企业,特别是具有一定规模的企业进行了信息化建设,如销售系 统、s c m 、m r p 、财务系统、办公自动化等。 1 1 2传统企业信息系统 传统的企业信息管理系统起源于基于文件系统的管理应用,以企 业内部的文档处理为主。后来逐渐发展到基于数据库系统的应用。现 今企业大量采用的m i s 系统就是后者的典型例子。虽然传统的管理 信息系统在企业的信息处理、事务管理和辅助决策方面发挥了重要作 用,但是其缺陷和不足也在应用过程中逐渐暴露出来1 2 】。 通常而言,这类系统往往局限于解决特定企业的特定事务。根据 企业既定的业务流程,对保存在数据库中的数据进行处理。灵活性, 扩展性和重用性都比较差,企业业务流程的变更会引起系统的大幅变 动,甚至于彻底崩塌,不得不重新构造整个系统。 1 1 3业务流程管理系统 随着企业管理的规范化和规模的卟断扩大,企业需要的不仅仅是 文档处理、数据处理这样数据处理为中心、低层次的信息处理系统, 文档处理、数据处理这样数据处理为中心、低层次的信息处理系统, 第一章绪论 而且需要能够对企业业务流程实施有效管理的系统。企业的计算机管 理将不仅仅停留在信息资源管理上,而将向更复杂的业务过程管理迈 进。这样的系统应该具有以下特征1 2 】i : 支持企业业务流程的定义; 支持企业业务流程的重构和重定义: 业务流程的执行和自动控制; 综合管理企业的业务流程,协调各个流程之间的关系; 收集企业运营过程中所产生的各种相关数据,产生有效报表 以支持企业决策; 具有良好的灵活性,扩展性和重用性,局部的变化和扩展不 影响整个系统的运行。 这些需求促使工作流管理系统的产生。 1 2工作流管理系统 1 2 1工作流管理系统的定义 工作流管理系统( w f m s ,w o r k f l o wm a n a g e m e n ts y s t e m ) 是 定义、创建和执行工作流的系统,事实上它是一种特殊的计算机支持 的协同处理( c s c w ,c o m p u t e rs u p p o r t e dc o o p e r a t i v e w o r k ) 软 件系统【2 1 。 在工作流管理系统中,有关业务活动依时序或逻辑关系相互连接 构成业务流程。在业务开展过程中,文档、信息或任务,依据组织规 范在参与者之间传递、处理或执行。总体业务流程中,实现了基于计 算机辅助处理而达到自动化的全部或部分称为工作流。也就是说,工 作流是在计算机辅助下全部或部分自动执行的工作过程,该过程可运 行于异质、分布的运行环境中,供多人协同工作。工作流服务器是供 业务流程可视化设计、管理和控制业务流程的运行、并在实际执行过 程中可动态修改业务流程的一种计算机软件平台。它使得快速开发、 部署和运行企业业务管理系统、电子商务系统等成为可能。它也使得 企业在复杂多变的市场环境中,为了快速适应市场的变化,在保存现 有投资,现有系统不变的情况下,迅速调整业务或商务流程成为可 能。如它可应用在:采购处理、各种申请、订单与报价处理、员工绩 效考核、人事变动、贷款审批、索赔处理、b 2 b 、电子商务等。 1 2 2工作流管理系统的价值 工作流管理系统以计算机支持的分布式、协同工作业务流程的自 第一章绪论 动或半自动化为研究目标的软件系统。随着计算机网络,特别是 i n t er n e t i n tr f l l l e t 的迅猛发展和应用,计算机支持的分布式、协同工 作的工作流系统在企、事业单位中的地位显得越来越重要,也有着广 阔的前景【2 1 。工作流管理系统的如下优点使其能够给企业带来巨大的 价值: 智能化。按照既定工作流程进行事务处理,任务的某一环节 处理完成后,反馈任务的完成情况,并自动转入下一处理环 节。转移过程是自动进行的处理和判断,相关信息也不需要 人工传递。工作人员只需专注于与其相关处理环节的具体工 作,而不用再操心环节间的衔接。 效率高。取消了人工信息传递、拷贝与检索工作,信息在网 上自动传递,由于工作流系统的信息流动的自动性,当一个 环节执行完毕时,启动下一环节的活动,因此可大大缩短整 个运作周期。同时,工作流减少了中间环节,所以可减少员 工数量,降低成本。另外,工作流系统可以实时监控各种信 息,工作处理任务会快速进行通知,保证相关工作人员尽早 完成工作。 可监控。采用工作流技术后可以对当前正在处理的所有事务 进行实时跟踪和监控,从而清晰了解各种事务的进展情况。 灵活性。由于事务处理流程可以根据实际情况随时建立、随 时修改,因此,一旦企业某一事务处理流程发生改变,可以 快速建立相应的新工作流程,从而最大程度地适应企业的各 种变化。 可集成。工作流的处理环节可以灵活定义,并可以启动各种 应用程序( 如企业现有的其他管理软件) ,因此,可将企业 现有的多种管理工具和现有软件系统纳入工作流的处理环节 中去。 此外,采用工作流管理系统对于企业的信息现代化具有显著的作 用。采用工作流管理系统可以在最大程度上集成企业的现有信息资 源,实现资源的充分利用。由于工作流管理系统具有较好的柔性和开 放性,因此可以保证企业的信息系统能够顺利地扩展,以满足不断变 化的市场环境。 1 2 3 工作流管理系统的发展趋势 为了更有效的进行本文对工作流管理系统的讨论,有必要先看看 第一章绪论 它的发展趋势1 4 j 。 2 0 世纪6 0 年代,管理信息系统基于小型的操作系统,由特定的 应用程序构成,提供有限的功能。很少考虑通用性和扩展性。每当需 求更新,就需要提供新的程序。 到了2 0 世纪7 0 和8 0 年代,由于软件行业的发展特别是数据库 技术的出现和成熟,使得信息管理系统不再是单个功能模块的编程, 而是多个软件模块相互协作,向用户复杂而功能相对完备的软件产 品。出现了m i s ( m a n a g e m e n ti i 1 f or m a t i o ns y s t e m ) 的概念。这 期间的m i s 主要以数据驱动的方法进行构造,信息技术主要用作存 取信息,数据建模成为信息系统构造的始点。由于以数据为中心,业 务流程的建模往往被忽视,以至业务流程不得不适应于数据。近年来 业务流程重组等理论的发展体现了系统工程师对业务流程建模的重 视。因此可以看出,管理信息系统的一个发展趋势是从以数据为中心 到以业务流程为中心的转移。 工作流管理系统的另一个发展趋势是伴随着软件工业发展而发展 的。从2 0 世纪7 0 和8 0 年代开始,特别是到了2 0 世纪8 0 年代中后 期,软件产品越来越复杂和庞大,很少有软件产品会重头构建以满足 新的需求,而是尽可能地保留系统中有用的部分,只对其中部分进行 更新。这就要求软件系统具有尽可能高的重用性和扩展性,向软件平 台方向发展。 2 0 世纪8 0 年代兴起的网络技术特别是i n t e r n e t i n t r a n e t 技术的 发展产生并促进了工作流管理系统的第三个发展趋势,分布式的工作 流管理。工作流的管理不再是由台大型计算机在机房中进行的计 算,而是由分布在企业中不同服务器和终端通过并行计算、资源共享 的方式所完成的管理工作。大量的网络和分布式计算技术在工作流管 理系统中得到应用,如:c o r b a ,n e t ,j 2 e e ,w e b 等。 上述三个发展趋势不是相互独立而是趋于一致的,其目标都是向 用户提供功能丰富和使用方便的工作流管理系统。 第章 1 作流管理系统 第二章工作流管理系统 2 1概述 随着社会生产的流程化,工作流起着越来越重要的作用。根据 w f m c ( w o r k f l 0 wm a n a g e m e n tc o a l i t i o n ) 的定义i 【”,工作流 ( w o r k f l o w ) 就是自动运作的业务过程部分或整体,表现为参与者 对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。 简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任 务。 对工作流的研究起源于二十世纪七十年代,受网络的局限性,最 初的工作流系统主要以企业内部的文档处理为主。到了二十世纪九十 年代,随着i n t er n e t 技术的发展及应用,促进了电子商务应用的极 大发展,使得公司与公司之间、公司内部部门之间以及子公司之间的 业务相互处理成为可能,这为工作流的发展带来了很大的机遇和挑战 12 。 根据国际有关组织的预测,随着电子商务的发展,以数据处理为 中心的数据库产品已经进入稳定发展期,以业务过程处理为中心的工 作流产品将进入高速发展期。在国内,随巷企业管理的规范化和规模 的不断扩大,企业的计算机管理将不仅仅停留在信息资源管理上,而 将向更复杂的业务过程管理迈进l 2 1 。 工作流管理系统( w f m s ,w or k f l o wm a n a g e m e n ts y s t e m ) 是 以计算机支持的分布式、协同工作业务流程的自动或半自动化为研究 目标的软件系统【5 【6 1 。随着计算机网络,特别是i n t er n e t i n t r a n e t 的迅猛发展和应用,计算机支持的分布式、协同工作的工作流系统在 企、事业单位中的地位显得越来越重要,也有着广阔的前景。 2 2工作流系统概述 2 2 1工作流和工作流管理系统 为了实现组织目标,有关业务活动依已定义的时序或逻辑关系相 互连接构成业务流程。在业务开展过程中,文档、信息或任务,依据 组织规范在参与者之间传递、处理或执行。在业务流程中,实现了基 于计算机辅助处理而达到自动化的全部或部分称为工作流。也就是 第二章工作流管理系统 说,工作流是在计算机辅助下全部或部分自动执行的工作过程,该过 程可运行于异构、分布的运行环境中,供多人协同工作【5 1 i6 1 。 工作流管理系统通过对一系列工作活动的管理,适时的触发人或 计算机资源的活动,达到对业务流程自动化的计算机辅助管理系统 【5 1 。 事实上,在w f m c 的标准定义中,工作流系统有比较宽泛的含 义,通常是指完成业务流程的系统整体,其构成既包含计算机系统也 包台非计算机系统,如人,纸媒文件等;工作流管理系统含义较窄, 通常指计算机系统。由于这两个术语的区分界线并不清晰,在本文 中,除非特别说明,并不进行严格区分。 2 2 2w f m c 标准 19 9 3 年,w f m c ( w o r k f l o wm a l l a g e m e n tc o a l i t i o n ) 成立, 标志工作流技术开始进入相对成熟的阶段。w f m c 在工作流管理系统 的相关术语、体系结构及a p i 等方面制定了一系列标准,以实现不同 工作流产品的互操作。 首先,w f m c 给出了一个工作流管理系统的参考模型( w f m c t c 一10 0 3 ) ”j ,其目的在于识别工作流管理系统的特征,术语和构 成。并且使得描述细节的规范( s p e e i f i c a t i o n ) 能够在给定的上下文 中予以独立制定,保证各个独立规范的一致性和完整性。 同时,伴随此参考模型的是一份词汇表和术语解释( w f m c t c 10 1 1 ) j ,使得所有工作流管理系统采用一致的词汇和术语定义。 w f m c 参考模型识别出一系列功能实体和实体间的接口。为了保 证足够的通用性,这些接口采用抽象的方式进行规范,并将其绑定到 一些特定的接口实现技术。 接1 5 11 ( p r o c e ssd e f i n i t i o nm e t a m o d e l & w p d l w f m c t c 一10 l6 ) i7j 定义用于支持 b p r( b u s i n e ssprocess r e e n g i n e er i n g ) 的工具,工作流系统和过程定义库之间的过程定义 数据交互。使用户可以根据业务流程生命周期的不同方面选择合适的 工具。此接口定义为流程定义元模型( p r o c e ssd e f i n i t i o nm e t a m o d e l ) ,包括一组流程对象,以及它们的属性、关系。同时给出了 描述流程定义的文字化的语法。随后,用x m l 对此进行了重新描述 ( x p d l ,w f m c t c 10 2 5 ) f8 1 。 接口2 ( w o r k f l o wc l ie n ta p is p e c i f i c a t i o n ,w a p i ,w f m c t c 一10 0 2 ) 9 用于支持客户应用对不同工作流系统的集成。使得特 第二章一f 作流管理系统 定的工作流客户应用可以连接到不同的工作流系统。此接口最初定义 为一系列类似于c 语言的a p l ,但随后采用o m g 的1 d l 和o l e 重 新进行了描述( w f m c t c l0 0 9 ) 【】。接口3 现在已经被合并到接 口2 的定义中,其目的主要是提供了一个公共框架,使得第三方应用 和服务能够集成到工作流系统中。类似于接口2 ( 这也是它们合并的 原因) ,接口3 定义了5 个基本的a p i 用于与第三方应用进行通信。 接1 :34 ( w o r k f l 0 wi n t e r o p e r a b i i i t y a bs t r a c ts p e c i f ica t i o n , w f m c t c 10 12 ) l 用于支持异构工作流系统间的交互。最初的版 本采用m i m e ( w or k f l o wi n t er o p e r a b i l i t y m i m eb i l 3 d i n g , w f m c t c 一10 l8 ) 2 】描述交互消息,e m a i l 方式交互。随后,此接 口被绑定到x m l( w o r k f l o wi n t er o p er a b i l i t y - w f x m l b i n d i n g ,w f m c t c 一10 2 3 ) 1 1 ”。 接v i5 ( w o r k f l o wa u d i td a t as p e c i f i c a t i o n ,w f m c - t c - l0 l5 ) 【14 】的1 7 1 的在于以一致的方式记录工作流系统运行过程中的审 计和管理数据( 臼志) ,用于工作流管理工具对工作流系统的管理。 规范包括审计数据模型,事件标识、格式和记录等。当前正在将其绑 定到x m l 上。 此外,w f m c 的建议中还包含其他一些标准,例如工作流系统的 安全考虑( w f m c t c 一10 l9 ) i l ”,w a p i 命名规范( w f m c t c 1 0 l3 ) 1 6 】等,不再一一敖述。 2 23术语解释 下表摘录自w f m c t c 0 0 1 1 16 1 的工作流术语解释【6 1 ,在本文中 将尽可能地应用w f m c 中所定义的术语。 第:章上作流管理系统 表2 一lw f m c i c 0 0 1 1 16 1 的工作流术语解释 术语缩写解释 过程定义 由过程定义工具所定义的一个t 作流过程 过程定义运行之后转化为过程实例,一个过程定义可以 过程实例 产生多个过程实例 一个相对独立的工作的描述,它是过程定义的一个重要 活动 组成部分 活动实例活动运行之后的一个实例 工作项在一个活动实例中工作流参与者所需执行的工作 工作项列表 一个参与者所负责的所有工作项的详细描述 工作流控制数 表示过程实例、活动实例的状态信息 据 工作流相关数与业务过程相关的数据,工作流引擎根据它们来确定过 据程实例的状态转移 日志数据系统中所有发生的事件及相应数据的记录 运行服务器负责整个过程的运行、调度、查询及日志的记录等 过程定义状态表示过程定义目前所处的状态,如:是否己发布等 过程实例状态表不愿程实例目前所处的状态,如:运行、挂起等 活动实例状态表示活动实例目前所处的状态,如:运行、挂起等 工作项状态表示工作项目前所处的状态,如:运行、挂起等 引擎运行服务器的核心,负责过程实例的执行、调度 引擎容器包含了多个引擎,并提供多引擎管理功能 2 3工作流系统特征 从最高层次来看,工作流系统特征可以划分为如下三个功能域 i u r o i s1 1 1 s hj 1 c ;。1 i il j 1 ( 0 1 1 i m l 【n l c l - i c l l l l l lnil 1 1 r r s 、州l “i l 1 h 、k 图2 1 8 第二章工作流管理系统 构造时功能( b u i l d t i mef u n c t i o n ) ,主要提供定义,模型化 t 作流过程及其中活动的功能; 运行时控制功能( r 1 1 n - t i m ec o n tr o lf u n c t i o n ) ,在一个操作 环境中对工作流及其活动序列进行管理; 运行时交互功能( r u n t j m ei n t e r a c t i o nf u l l c t i o n ) ,在不i 司 的活动中提供对用户和其他i t 应用工具的交互接口。 此外,工作流系统应该建立在一个分布式的平台之上。工作任务 能够在处于空问上不同位置的节点上执行。可以根据需要采用不同的 通信机制,e ma i l ,消息机制和分布式对象技术等。 因此,工作流管理系统应该具有如下接口: 流程定义的规范; 支持两个不同工作流系统交互的接口: 支持和其他不同i t 应用交互的接口; 支持与用户交互的接口; 支持对系统本身进行监控和管理的接口。 事实上,w f m c 的贡献主要也是对上述接口的标准化。 2 4 工作流系统体系结构 2 4 1工作流系统的一般结构 目前在市场上存在很多工作流系统产品,尽管在细节实现上各有 不同,然而大多数产品都具有如下体系结构1 5j : 图2 2 9 第二章工作流管理系统 此模型展现工作流系统所具有的出一系列功能组件和接口。主要 具有三类功能组件: 软件组件( s o f t w ar ec o m p o n e n t ) :完成工作流系统不同组成 部分功能的实现,主要包括过程建模工具、工作流引擎和丁作项列表 管理器; 系统控制数据( s y s t e mc o n t r 0 1d a t a ) :由工作流系统所使用 的各种内部数据; 应用与应用数据库( e x t er r l a lpr o d u c t d a t a ) :不属于工作流系 统,但是由工作流系统所调用以完成整个工作流系统功能的组件。 工作流系统通常非常庞大,通常一个工作流系统产品不会实现所 有功能组件,而是致力于其中部分功能组件的实现。根据不同的需 要,一个工作流系统产品也会选择将几个功能组件实现为一个逻辑实 体。于是一个工作流系统产品不会展现出模型中所有的接口。同时, 它们也会选择不同的平台和通信机制。这就造成不同的工作流系统产 品很难进行交互。 因此w f m c 成立的目的就是希望通过系列规范的制定,标准 化工作流系统产品,使不同的工作流系统产品之间,以及工作流系统 与其它i t 应用( 如电子邮件系统、文档管理系统) 之间能够进行根 有效的交互。从而使得企业的b p r 能够得到更有效的实旎。 2 4 2工作流系统的参考模型 在经过对工作流系统领域,相关产品和当前实现技术的研究后, w f m c 给出了一个工作流系统的参考模型【5 】。如下图所示: 图2 3 】0 第二章l 作流管理系统 2 4 2 1过程定义工具( pr o c essd e f i n i t i 0 1 3t 0 0 1s ) 工作流建模是用工作流定义1 具将企业的业务过程转化为用工作 流语言描述的过程定义,并将工作流定义存放在工作流数据库中。在 建模阶段,系统的建模工具提供一个友好的图形用户界面,用户可以 借助该图形界面来定义相应业务过程的工作流模型。工作流模型包含 了工作流引擎执行过程所需要的所有信息。这些信息包括过程的开始 和完成条件、构成过程的活动、活动间导航的规则、用户需要完成的 任务、可能被调用的应用、活动的执行者,以及所有与工作流相关数 据的定义。过程建模工具以计算机能够处理的形式进行过程的定义。 它可以基于形式化的过程定义语言、对象一关系模型或者采用一组路 径选择命令的方式来进行过程的定义。建模工具应输出个能被工作 流引擎解释并执行的过程定义。不同的工作流产品的建模工具输出模 型的存储格式是不同的。 2 4 2 2工作流执行服务( w or k f l o we n a c t m e n tse r v i c e ) 工作流执行服务由一个或多个工作流引擎组成( 在分布式环境下 由多个工作流引擎组成) ,它提供了过程实例执行的运行环境,是工 作流管理系统的核心。工作流执行服务要根据过程执行需要的初始条 件和执行参数生成过程实例,运行过程实例并管理其运行过程。在过 程实例的执行过程中,工作流执行服务根据过程定义和工作流相关数 据,为过程实例的运行进行导航,如根据过程的进入和退出的条件启 动和终止一个过程实例;根据活动之间的关联和活动的执行条件,决 定并行或串行执行后续活动;给用户提供需要操作的工作流任务项信 息;或者根据所需激活的应用程序信息启动相应的应用程序。工作流 执行服务通过提供客户应用接口和直接调用应用程序接口两种方式来 完成与外部应用程序和用户的交互。对于客户应用方式,工作流引擎 通过任务项列表管理器对应用的执行进行管理。任务项列表管理器提 供任务项列表供用户进行选择,并记录监督工作项的完成情况。对于 直接由工作流引擎启动的活动,工作流引擎通过应用程序接口点接调 用相应的应用程序来完成。此外,工作流执行服务还要维护执行过程 中不同过程和活动实例的内部状态信息,以及用于协调和恢复的各种 检查数据和恢复重启信息,并在应用或用户间传递必要的工作流相 关数据。在集中式工作流执行服务中,由一个工作流引擎控制所有计 算机上活动的执行。分布式工作流执行服务采用一组分布在不同节点 第一二章工作流管理系统 上的工作流引擎共同协作来完成整个工作流实例的执行。每个工作流 引繁完成其中一部分实例的执行,不同的工作流引擎之间通过可靠的 通信机制实现协作。 2 4 2 3工作流引擎( w or k f l o we 1 3 9 i 1 1 - e ) 工作流引擎是过程定义的解释器,它是工作流执行服务的核心。 它的主要功能包括:解释过程定义;创建过程实例并控制其执行;调 度各项活动,控制过程实例间的转换,包括串行或并行的操作、工作 流相关数据的解释等;为用户工作表添加工作项;通过应用程序接口 ( a p i ) 调用应用程序,提供外部应用程序访问工作流相关数据的接 口;维护工作流控制数据和工作流相关数据,在应用或用户问传递工 作流相关数据;提供监督和管理工作流过程实例执行情况的功能等。 2 4 2 4监控工具( a d m i n is t r a t i o i l & m o n i t o r i n gt o o ls ) 系统管理员通过工作流管理与监控工具检查、监视系统的执行情 况,对于系统中出现的意外情况进行紧急处理,如终止、恢复某个过 程实例的执行,改变某个活动的状态以便整个系统能够继续执行等。 2 4 2 5工作流控制数据( w or k f l o wc o n tr o ld a t a ) 工作流控制数据是由工作流执行服务t 作流引擎管理的用来辨 别每个过程或活动实例状态的内部数据,例如工作流实例的状态信 息、每一活动的状态信息等。这些数据由工作流执行服务工作流引 擎进行控制,用户、应用程序不能对其直接进行读写操作,它们可以 通过向工作流执行服务,工作流引擎发消息请求来获得工作流控制数 据的内容。 2 4 26 工作流相关数据( w o r k f l o wr e le v a n td a t a ) 工作流相关数据是工作流管理系统用来确定过程实例状态转换的 条件,并选择下一个将执行的活动的数据,例如过程调度决策数据、 活动间的传输数据等。这些数据可以被工作流应用程序访问并修改, 因此,工作流管理系统要在活动实例之间传递工作流相关数据。 2 4 27工作列表和工作列表处理器( w or k l i s t & w o r k l is t h a n d l e r ) 工作列表( 也称任务表) 列出了与参与活动执行的一个特定用户 ( 或一组用户) 相关的一系列工作项,显示给用户的工作项列表应包 第二章上作流管理系统 括任务的开始奎束时问、各步骤名称及所属流程、任务预计完成时 间等信息。工作表处理器负责管理工作表阱及用户和工作表之间的交 互。工作表处理器提供工作项( 也称任务项) 列表供用户选择,支持 用户在工作表中选取一个工作项。当用户从1 i 作表中选择了一个工作 项后,工作表管理器要在需要的时候调用相应的应用程序完成相应任 务的执行。在任务执行完成后,工作表管理器通报工作项的完成。 2 4 2 8 应用及应用数据( a p p l i c a t i o n a p p l i c a t i o nd a t a ) 应用程序可以直接被工作流引擎调用或通过应用程序代理被间接 调用。通过应用程序调用,工作流管理系统部分或完全自动地完成一 个活动,或者对业务参与者的工作提供支持。工作流应用数据是指由 应用程序操作而不能被工作流管理系统访问的数据。与工作流控制数 据和相关数据不同,工作流应用数据是针对应用程序的,是企业完成 具体的业务功能需要的数据,如产品结构数据、订单数据等,它对工 作流管理系统的其他部件来说是不可见的。 第三章面向对象的建模和u m 。 第三章面向对象的建模和u m l 3 1 建模和面向对象的建模 企业级的软件系统,如本文所希望建立的工作流管理系统,往往 庞大而复杂。如果不先进建模而直接构造整个系统是无法想象的 【17 18 。在现代的软件密集型系统的开发过程中,面向对象技术, 特别是面向对象的建模技术得到了广泛的使用和验证。u m l ( u n i f i e dm o d e l i n g1 a n g u a g e ) 是一种建模语言,是建立面向对象 系统模型的一种方法。在业界得到广泛支持,并被o m g ( o b e c t m a n a g e m e n tg r o u p ) 采纳作为业界标准。本章对面向对象建模和 u m l 进行简要描述。 3 1 1建模的重要性 建模是一项经过检验并被广为接受的工程技术。建立的房屋和大 厦的建筑模型能帮助用户得到实际建筑物的印像。为了分析大风或地 震对建筑物造成的影响,甚至可以建立数学模型。建模不只是用于建 筑业。如果不首先构造模型( 从计算机模型到物理风洞模型以及与实 物大小一样的原型) ,就装配新型的飞机或汽车,那简直是难以想像 的。为了更好地了解系统并与他人交流思想,开发新型的电气设备 ( 从微处理器到电话交换系统) 都需要一定程度的建模。在电影业 里,剧本是产品的核心,这也是建模的一种形式。在社会学、经济学 和商业管理领域中,为了证实理论或用最小限度的风险和代价实验新 的理论,也需要建模1 17 j 。 在软件密集型系统中,建模是开发优秀软件的所有活动中的核心 部分,其目的是把所要设计的结构和系统的行为沟通起来,并对系统 的体系结构进行可视化和控制。建模是为了更好地理解正在构造的系 统,并经常提供简化和复用的机会。同时建模还可以管理风险。 那么,什么是模型? 简单地说,模型是对现实的简化。 模型提供了系统的蓝图。模型既可以包括详细的计划,也可以包 括从很高的层次考虑系统的总体计划。一个好的模型包括那些有广泛 影响的主要元素,而忽略那些与给定的抽象水平不相关的次要元素。 每个系统都可以从不同的方面用不同的模型来描述,因而每个模型都 第三章面向对象的建模羊u m l 是一个在语义上闭合的系统抽象。模型可以是结构性的,强调系统的 组织;它也可以是行为性的,强调系统的动态方而。 建模是为了能够更好地理解正在开发的系统。通过建模,要达到 以下四个目的i ”j : 模型帮助人们按照实际情况或按照我们所需要的样式对系统进行 可视化。 模型允许人们详细说明系统的结构或行为。 模型给出了一个指导人们构造系统的模板。 模型对人们作出的决策进行文档化。 建模并不只是针对大系统。相对很小的软件系统也能从一些建模 中受益。然而,系统越大、越复杂,建模的重要性就越显著。因为人 类自身生理限制使得人对复杂问题的理解能力是有限的,任何一个人 都不能完整地理解一个复杂的系统,所以要对它建模。 通过建模,缩小所研究问题的范围,一次只着重研究问题的一个 方面。这就是d i j k s t r a 所说的“各个击破”的基本方法【1 引,即先把 一个要解决的难题划分成一系列小问题,解决了这些小问题也就解决 了这个难题。此外,通过建模可以增强人的智力。一个适当选择的模 型可以使建模人员在较高的抽象层次上工作,避免陷入数量庞大而复 杂的细节。 3 1 2建模原理 各种工程学科都有其丰富的建模使用历史。这些经验形成了如下 所述建模的四项基本原理【 : 第一,选择要创建什么模型对如何动手解决问题和如何形成解决 方案有着意义深远的影响。正确的模型将清楚地阐明难以对付的开发 问题,提供不能轻易地从别处获得的洞察力;错误的模型将带来误 导,使人把精力花在不相关的问题上。如在研究电磁破信号时,很多 问题在时域坐标系中难以分析,然而将其变换到频域坐标系后,结论 往往非常明了。 对于软件而言,所选择的模型将在很大程度上影响开发人员对世 界的看法。如果以数据库开发者的观点建造一个系统,可能得到的是 实体一关系模型,该模型把行为放入触发器和存储过程中。如果以结 构化开发者的观点建造一个系统,可能得到的是以算法为中心的模 型,即从处理到处理的数据流。如果以面向对象开发者的观点建造一 个系统,可能得到的是这样一个系统,它的体系结构以众多的类及交 第j 章而向对象的建模丰u m l 互模】( 描述了类间的协同工作) 为中心。 划于一个给定的应用系统和开发氛围,使用上述的任何一种方法 都可能是正确的。经验表明,在需求易变的系统中面向对象的方法表 现得更为出众,甚至对使用大型数据库或计算单元的系统也是如此。 尽管事实如此,不同的方法将导致不同种类的系统,并且代价和受益 也是不同的。 第二,每一种模型可以在不同的精度级别上表示。如果正在建造 的是一座大厦,有时需要从宏观上让投资者看到大厦的样子,感觉到 大厦的总体效果。而有时又需要认真考虑细节问题,例如,对复杂棘 手的管道的铺设,或对少见的结构件的安置等。 对于软件模型也是如此。有时需要描述的是一个快速简洁且是可 执行的用户接口模型,而有时甚至需要描述比特流,例如,描述跨系 统接口或解决网络瓶颈问题就是如此。在任何情况下,最好的模型应 该能够让人们可以根据观察的角色以及观察的原因选择它的详细程 度。分析人员或最终用户主要考虑“做什么”的问题;开发人员主要 考虑“怎样做”的问题。这两类人员都要在不同的时间以不同的详细 程度对系统进行建模。 第三,最好的模型是与现实相联系的。如果一所建筑的物理模型 不能以与真实的建筑相同的方式作出反映,则它的价值是很有限的。 一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论