




已阅读5页,还剩47页未读, 继续免费阅读
(计算机软件与理论专业论文)工作流在软件开发过程中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东_ 人学硕: :学位论文 工作流在软件开发过程中的应用研究 摘要 工作流技术是一种支持业务过程的自动,高效执行的技术,它可以带来提高 工作效率,降低工作成本等好处。工作流管理系统把业务过程分为任务,任务之 间由控制规则和数据流连接起来,并控制任务的执行。在工作流技术中,业务过 程对应过程,任务对应活动,控制规则和数据流则对应为转移弧。一个活动由其 参与者执行完成后,按照一定的过程规则,启动下一个活动。活动的参与者可以 是一个人,也可以是一个自动执行的程序。 在软件开发过程中,存在群体的协同活动,这些活动是同步的或异步的,这 些群体的协同活动一般不易或者不能按照一个预先定义好的过程来完成。例如, 一个工作组使用一个多媒体会议系统举行一次会议,或者使用一个协同编辑系统 编一本书或一篇文章。所以,我们在软件开发过程管理中引入工作流技术的时候, 要考虑这些群体的协同活动。这样,活动的参与者也可以是一个群体。这种群体 的协同活动在执行时可能需要协同支持工具也可能不需要支持工具。 传统的工作流管理系统不支持同步群体协同活动,对于异步群体协同活动, 它需要先建立活动的过程模型。为了提供对更多的群体协同活动的支持,一些研 究者作了些很好的研究。 我们把工作流过程模型中的活动分为个体活动和群体协同活动。个体活动是 由一个人完成或者由程序自动完成的活动。群体协同活动是由一个工作组内多个 人协同完成的活动。根据工作模式的不同,群体协同型活动又分为同步协同型活 动、异步协同型活动两种。 所谓同步协同型活动是指群体的所有成员必须同时参加的群体协同型活动 如软件开发中概要设计后的评审活动。异步协同型活动是指群体的所有成员不必 同时参加的群体协同型活动,如软件开发中某一开发小组通过电子邮件的讨论活 动。 因此,支持群体协同活动的工作流首先要取消活动的参与者是一个人或一个 程序的限制。一个活动可以包括多个人或多个程序。这样。一些非正式的,即席 山东大学碰! 士学位论文 的群体协同活动就可以通过群体活动节点来完成。群体活动节点和个体活动节点 则在一个一般的正式的工作流中协调完成。 我们提出了一个基于活动有向图的支持软件开发过程管理的工作流模型。使 用这个模型,我们介绍了一个支持软件开发过程管理的工作流执行系统,并且采 用多a g e n t 来实现这个执行系统。多a g e n t 可以自然的实现多群体的支持,容易 理解。并且,多a g e n t 具有很多优点,如:分布性,灵活性和扩展性等。最后, 我们给出软件开发的过程的一个例子来阐述这个模型。我们的系统原型证明了我 们所提出的方法的实用性。 关键字:工作流,群体协同,多a g e n t ,软件开发 生:j :i ! ! ! i 些l ! :一一 a p p l i c a t i o no fw o r k f l o wo nt h es o f t w a r e d e v e l o p m e n tp r o c e s s e s a b s t r a c t w o r k f l o w t e c h n o l o g y i su s e dt o s u p p o r t b u s i n e s s p r o c e s s e s t oe x e c u t e a u t o m a t i c a l l y a n de f f i c i e n t l y , i t c a nb n n g m a n ya d v a n t a g e s ,i n c l u d i n g r e d u c e d o p e r a t i n gc o s t sa n di m p r o v e dp r o d u c t i v i t y ab u s i n e s sp r o c e s si n v o l v e sm a n y t a s k s t a s k sa r ei n t e r - c o n n e c t e db yl i n k so fc o n t r o lc r i t e r i aa n dd a t af l o w s ,w h i c hc o n t r o lt h e p r o c e s st oe x e c u t e i nt e r m so fw o r k f l o w , b u s i n e s sp r o c e s si sp r e s e n t e db yw o r k f l o w p r o c e s s ,t a s kc o r r e s p o n d st oa c t i v i t ya n d c o n t r o lc r i t e r i aa n dd a t af l o wt ot r a n s i t i o n w h e na l la c t i v i t yc o m p l e t e db yt h ep a r t i c i p a n t ,b a s e do ns o m e p r o c e s sc o n t r o lc r i t e r i a , a n o t h e ra c t i v i t ys t a r t s t h ep a r t i c i p a n tm a yb eap e r s o no ra na u t o m a t i ca p p l i c a t i o n t h es o f t w a r ed e v e l o p m e n t p r o c e s s e si n c l u d es o m eg r o u pc o l l a b o r a t i o na c t i v i t i e s ( g c a ) i np o i n t o ft e m p o r a l c o n s t r a i n t ,t h e s ea c t i v i t i e sm a yb es y n c h r o n o u s o r a s y n c h r o n o u s t h e s ea c t i v i t i e sa r eu s u a l l yn o te a s i l yo rc a n n o tb ee x e c u t e df o l l o w i n g as t r i c tp r e d e f i n e dp r o c e s s f o re x a m p l e ,aw o r kg r o u pm a yh a v eam e e t i n gu s i n ga m u l t i m e d i am e e t i n gs y s t e mw h i c hr u no nac o m p u t e rn e t w o r k ,o rag r o u pm a ye d i ta b o o ko ra na r t i c l ew i t hac o e d i t o rw h i c hs u p p o r taf e wp e r s o ne d i ta nd o c u m e n t c o n c u r r e n t l y s ow es h o u l dt a k et h e s eg r o u pc o l l a b o r a t i o n si n t oa c c o u n t ,w h e nw e d e p l o y i n gw o r k f l o w o nt h es o f t w a r ed e v e l o p m e n t p r o c e s s e s t h u s ,t h ep a r t i c i p a n to f a l l a c t i v i t ym a ya l s o b eaw o r kg r o u p d u r i n gt h er u n t i m e ,ag r o u pc o l l a b o r a t i o n a c t i v i t ym a y n e e dac o m p u t e rt o o lt os u p p o r tg r o u pc o l l a b o r a t i o n s ,o ri tm a yn o t f o r e x a m p l e ,i f t h ea a e n d e e so fam e e t i n ga r ed i s t r i b u t e dg e o g r a p h i c a l l y , t h e yh a v et ou s e am u l t i m e d i ac o l l a b o r a t i o ns y s t e mt oh a v eam e e t i n g aw o r k g r o u pi nt h es a l t l eo f f i c e w i l lh a v ea m e e t i n g i na m e e t i n gr o o m f a c et of a c ew i t h o u ta n yt o o l s t r a d i t i o n a lw o r k f l o wm a n a g e m e n ts y s t e m sd on o ts u p p o r ts y n c h r o n o u sg r o u p c o l l a b o r a t i o n a c t i v i t i e s ( s g c a ) a n dt h e y o n l ys u p p o r ta s y n c h r o n o u sg r o u p c o l l a b o r a t i o na c t i v i t i e s ( a g c a ) ,w h i c hc a nb ep r e s e n t e db y p r e d e f i n e dp r o c e s s e s t o s u p p o na l l o ft h e s eg r o u pc o l l a b o r a t i o n si n w o r k f l o w , s o m er e s e a r c h e r sh a v ed o n e 山东大学坝卜学位论文 g o o d w o r k a n a c t i v i t y c a nb e c a t e g o r i z e d i m oi n d i v i d u a l a c t i v i t y ( i a ) a n dg r o u p c o l l a b o r a t i o na c t i v i t y ( g c a ) i aa na c t i v i t yf u l f i l l e db yap e r s o nm a n u a l l yo rb ya n a p p l i c a t i o na u t o m a t i c a l l y o c ai s a l l a c t i v i t yc o m p l e t e db ys e v e r a lp e r s o n s o fa w o r k g r o u pc o l t a b o m t i v e l y a c c o r d i n g t ot h ed i f f e r e n t i a t i o no fw o r km o d e l ,g c ac a n b ed i v i d e di n t ot w oc l a s s e s :s y n c h r o n o u sg r o u pc o l l a b o r a t i o na c t i v i t y ( s g c a ) a n d a s y n c h r o n o u sg r o u p c o l l a b o r a t i o na c t i v i t y ( a g c a ) s g c ai st h ea c t i v i t yo fw h i c ha l lp a r t i c i p a n t ss h o u l da t t e n ds y n c h r o n o u s l y f o r e x a m p l e ,t h er e v i e wa c t i v i t ya f t e rt h es y n o p s i sd e s i g ns p e c i f i c a t i o ni sc o m p l e t e d i na s 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 ev i e wa c t i v i t ym a yn e e ds e v e r a l r e v i e w e r st o r e v i e wt h es y n o p s i sd e s i g ns p e c i f i c a t i o ns y n c h r o n o u s ly a g c a i st h ea c t i v i t yi nw h i c h t h e r ei sn o tat e m p o r a lc o n s t r a i n t ,t h ed i s c u s s i o na e t i v i t yw i t h i nag r o u po ns o m e i s s u e sb ye - m a i ld u r i n gas o f t w a r ed e v e l o p m e n tp r o c e s s 。f o re x a m p l e m u l t i g r o u pa c t i v i t ys u p p o r t i n g w o r k f l o wm u s tf i r s t l ye l i m i n a t e st h e ”o n ep e r s o n o ra p p l i c a t i o n ”l i m i t m i o n a na c t i v i t ym a yi n v o l v eaf e w p e r s o n so ra p p l i c a t i o n s t h u s , ai n f o r m a le x t e m p o r a n e o u sg c ac a l lb ep r e s e n t e db yag c an o d ei naw o r k f l o w m o d e l w ee x t e n dt h et r a d i t i o n a lw o r k f l o wm o d e lb a s e do nd i r e c t e da c t i v i t yg r a p h ( d a g ) t os u p p o r tg r o u pc o l l a b o r a t i o n b a s e do nt h em o d e l ,ap r o t o t y p es y s t e m i s i n t r o d u c e d ,u s i n g am u l t i - a g e n ts y s t e m m a s ( m u l t i a g e n ts y s t e m ) t a i l s u p p o r to c a n a t u r a l l y a n dt h e a p p l i c a t i o n i s e a s y t o u n d e r s t a n d b e s i d e s ,m a s h a s m a n y a d v a n t a g e s ,s u c ha sd i s t r i b u t i o n ,s c a l a b i l i t ya n df l e x i b i l i t y , e t c a tt h ee n d ,w eg i v ea l l s o f t w a r ed e v e l o p m e n tp r o c e s sm o d e lt od i s p l a yt h ea b o v ea p p r o a c h t h ep r o t o t y p e s y s t e me x p l a i n s t h ea p p l i c a b i l i t yo f t h e a p p r o a c h k e y w o r d s :w o r k f l o w , g r o u pc o l l a b o r a t i o n ,m u l t i a g e n t ,s o f t w a r ed e v e l o p m e n t 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体己经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律责任由本人承担。 论文作者签名:貉曼峰导师签名:日 期: 2 q q 垒:生2 q 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:芰位显 导师签名日期:2 0 0 4 4 2 0 山东文学硕i 。学位论立 第一章绪论 工作流是支持企业业务过程建模和业务过程集成与管理,最终实现业务过程 自动执行的技术。通过合理的分配梗关信息和调用有限的资源使褥业务过程目标 得到高效实现。w f m c 的定义为:“工作流是一类能够完全或者部分自动执行的 经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间 进行传递与执行”。“工作流管理系统是支持企业经营过程高效执行并监控其执行 过程的计算机软件系统”。1 w f m c 是一个工作流管理系统标准化的国际组织。 工作流技术是一种支持业务过程的自动,高效执行的技术,它可以带来提高 工作效率,降低工作成本等好处。工作流管理系统把业务过程分为任务,任务之 间由控制规则和数据流连接起来,并控制任务的执行。在工作流技术中,业务过 程对应过程( 每个环节或者步骤的具体工作) ,任务对应活动,控制规则和数据 流则对应为转移弧。一个活动由其参与者执行完成后,按照一定的过程规则,启 动下一个活动。活动的参与者可以是个人、一个群组,也可以是一个自动执行 的程序。 1 1 工作流技术和不足 工作流联i ( w f m c ) 定义工作流的标准如下:【2 1 工作流标准存在三个级射。参考模型( r e f e r e n c em o & 1 ) 是一幅图,表明标准 怎样组织。抽象规范( a b s t r a c ts p e c i f i c a t i o n ) 定义每个所需的功能和相关的数据。 绑定( b i n d i n g s ) 详述怎样使用一套工具,格式和协议来实现规范。例如,w f x m l 是一个使用x m l 的实现交互操作规范( 参考模型的接口4 ) 的绑定。 参考模型定义了工作流引擎的5 个接口( i n t e r f a c e ) ,分别为:1 过程定义。 2 客户端接口。3 启动的应用程序。4 外部工作流服务。5 管理和监控包括 每个事例的历史纪录和对所有执行的工作的监控。 现有的工作流系统存在着适用范围窄、灵活性差、扩展能力不足以及对异常 的情况不能及时处理等问题,它要求企业的业务流程有较好的结构化特性,但实 际的业务流程很难达到比较理想的结构化,并且它对于业务流程中动态变化的因 山东大学硕士学位论文 素不能很好地适应。 现在工作流较多地应用在管理和生产等行业,这些行业一般都具有严格的日 常业务流程和操作规范,工作人员按照操作规范和程序在一个群体中相互协作。 所以目前的工作流管理系统在执行业务过程有如下的特点:业务过程预先定义, 过程周期较短,任务通常是面向事务的。 大部分工作流管理只支持己静态规划好的工作,且在过程运行的阶段仅提供 有限的支持和最小限度的灵活性。当一个商业过程中所有可能的结果能够事先考 虑和控制得到时,这种方法是完全可行的。然而,商业环境是易变的,而且常常 伴随着一些更为复杂的、事先无法预料的过程,这就需要工作流管理系统具有很 强的灵活性和适应性。 企业的业务过程还包括一些具有创造性和不确定性的过程,例如软件企业中 的软件开发工作,软件开发是一个创造性的过程,它要求工作人员具有很强的创 造性和主动性。这种过程需要工作群体聚集集体的智慧和劳动来逐步完成。支持 软件开发的工作流的特点:周期长,过程定义在开始时难确定,过程可修改,不 满足传统的事务性要求。传统的工作流管理系统不能很好的支持群体协同活动, 尤其是同步群体协同活动。为了与传统的工作流相区别,我们提出了支持多个群 体的工作流管理系统。 本文以软件开发为背景,讨论一个面向软件过程管理的工作流管理系统的特 点和实现的问题,区别于一般面向管理和生产领域的工作流管理系统。当前的软 件系统越来越复杂,软件开发已经从个人发展到多人、多组织的协同开发,甚至 是异地开发、异地测试的分布模式。所以,我们在支持软件开发过程管理的工作 流管理系统具有它的特点。 1 2 支持软件开发过程管理的工作流 关于软件开发过程管理的重要性已经被越来越多的软件人员所认识。软件过 程是软件工程的三要素之一,它把软件工程的其它两个要素( 方法和工具) 综合 起来达到合理,及时地进行软件开发的目的。软件项目做不好的原因,多是因为 管理不善而引起,而并不是因为技术实力不够。 而工作流技术重在对业务过程执行的协调,能够改进和优化业务流程,实现 更好的业务过程控制,提高业务流程的柔性,提高业务工作效率。因此,使用工 山东大学硕j 。学位论文 作流管理系统来管理软件开发过程非常自然,也非常有效。 软件项目的开发周期比较长,在开发期间人员变动不可避免,要处理的各类 代码和文档也相当多,采用工作流管理系统可以方便的对人员,代码和文档进行 管理,并且可以增强项目负责人对各种工作流程与进度的掌控能力。另一方面藉 由各类数据资料的整合,可以提供管理层最新软件开发进度和状态,以辅助项目 决策。通过这种工作流程的自动化与制度化,能够提高软件的生产率,保障软件 开发的质量。 通过使用工作流系统,软件企业内部的部门间不再有的组织障碍,不同部门 的成员通过工作流程有效地联系在一起了,他们共同的目标是为了有效地完成软 件项目开发流程。使用工作流管理系统来管理软件开发过程非常自然,也非常有 效,能够为软件工程过程管理和过程改进带来提供良好的支持。 为了更好的提供对软件开发过程的支持,我们扩展了传统的基于活动有向图 的工作流模型,并讨论基于这个模型的一个增强功能的工作流管理系统地实现方 法。 1 3 相关工作的研究现状 且前,人们对于计算机支持的群体协同工作以及同步工作流的研究都比较 多。但是,对于把工作流技术应用于软件开发过程的研究还不多见,还没有成熟 的商业或者原型系统。 w e b e r 9 介绍了工作流系统和多媒体协作系统的集成问题,并提出了结构化 群体活动( s t r u c t u r e dg r o u pa c t i v i t y ) 和非结构化群体活动 u n s t r u c t u r e d g r o u pa c t i v i t y ) 的概念。这种方法对于需要这两种支持协同工作的工具的领域, 把二者有机的结合起来,从而实现了业务过程的灵活性和适应性。在实现方法上, 使用代理( b r o k e r ) 作为二者交互的中介。非结构化的群体活动不受工作流系统的 控制和监控,对工作流系统来说,对于相关数据缺乏透明性。 d a n g e l m a i e r i o 针对传统的工作流对于一些业务过程,在过程定义上过于 严格,缺乏灵活性,提出了部分结构化的工作流( p a r t l ys t r u c t u r e dw o r k f l o w ) 。 这种方法在传统工作流的基础上,增强了两个活动之间的协同。 3 j 提出了支持多群体的一个工作流模型,并且讨论了群体成员在同步群体 协同活动执行时的冲突问题。 4 提出了在支持多群体协同工作流的异常监测和 山东大学硕j j 学位论文 处理的问题。 2 9 以软件工程为指导,采用c m m 规范,应用软件质量a g e n t 的管理思想,在 软件开发c d d q t 循环模型的基础上,提出了一个基于c d d q t 和多a g e n t 的协同控制 的工作流模型,建立了一个控制软件质量的工作流管理系统s o f t w a r e c o o p e r a t i v eq u a l i t ym a n a g e m e n tw o r k f l o w ,简称s w _ c q s m f 。 1 4 本文所做的主要工作 上文讨论了相关工作的研究现状和面临的主要问题。本文讨论的是以软件开 发为背景的的工作流管理系统的关键技术。本文对上述关键技术做了探讨,主要 做了如下研究工作。 1 支持软件开发过程的工作流模型 本文提出一种支持软件开发过程的工作流模型,和传统的工作流模型相比, 它主要有两处改进,一是根据群体协同工作的协作性和动态性特点,在工作流模 型中引入了两种类型的群体协同型活动节点和一种动态节点,分别是同步协同型 活动、异步协同型活动和动态活动,用以全面精确的描述活动。同时,本文提出 了支持这种基于传统工作流模型并进行扩展的建模方法,包括图形化的活动有向 图方法和扩展的基于x p d l 3 的中间表示语言。 2 支持软件开发过程的工作流原型系统体系结构 传统的工作流执行系统都是集中式系统这种体系结构不适合软件开发过程 的应用。多a g e n t 系统具有分布式和协作性的天然特性。所以,我们提出了使用 多a g e n t 实现支持软件开发的工作流管理系统。考虑到任务执行时具有移动性和 通信性等特点,系统同时使用了移动a g e n t 技术。在实现时,为了系统有效的可 靠的运行,着重讨论了异常监控和群体管理的问题。 3 软件开发工作流实例 本文的应用背景是软件开发管理,使用工作流管理系统来管理软件开发过程 非常自然,也非常有效。在本文所论述的关键技术的基础上,以软件项目开发过 程为背景,归纳综合我们的开发经验,构造了一个软件开发的工作流实例。这个 实例展示了所述关键技术的实旌过程。 山东大学母h 学位论文 1 5 本文的组织结构 本文是这样组织结构如下。在第一章绪论中,介绍工作流技术,本文所述工 作流的背景,支持软件开发过程的工作流的概念、特点以及实现方法,提出软件 开发过程的工作流所面临的问题及当前的研究现状。第二章讨论本文提出的软件 开发过程的工作流模型。第三章描述软件a g e n t 技术,多a g e n t 和移动a g e n t 技 术,以及它们在支持软件开发过程的工作流中的应用。第四章探讨支持软件开发 过程工作流的执行系统的体系结构,在多a g e n t 结构中,各种a g e n t 的功能和实 现方法。第五章提出了一种软件开发工作流实例,展示本文所提出的关键技术。 第六章为全文的结束语,指出了本文的工作成果和待解决的问题。 山东大学硕士学位论文 第二章支持软件开发过程的工作流模型 工作流过程模型是业务过程的计算机化定义。工作流建模是实现工作流的第 一个阶段,完成实际业务过程到计算机可处理的形式化定义的转化,解决如何根 据过程的目标和系统的约束条件,将各种活动组织成适当的过程定义。 目前,人们提出了很多图形化界面的描述工作流模型的方法,其中较为广泛 的有一般的活动有向网络图,基于p e t r i 网 1 3 ,基于u m l 的建模方法 1 1 1 2 , 面向对象,语言一行为理论,事件一条件一动作规则e c a a 和形式逻辑等 8 2 。这 些方法都提供逻辑顺序结构,如顺序,分支,汇合,条件,循环,并行等的描述。 p e t r i 网的描述方法形式化程度高。描述能力强。只要是能用p e t r i 网描述就能 正确执行。 为了使在一个工作流定义工具上定义的工作流模型能够在不同的工作流执 行系统上执行,w f m c 提出了基于x m l 的工作流定义语言x p d l 3 ,它具有自己的 语法规范。x p d l 是w f m c t 作流系统参考模型中工作流定义系统和执行系统之间的 接口,工作流定义系统生成基于x p d l 的工作流模型,然后模型输入到执行系统执 行。n i s t 也提出了一种使用x m l 表示过程模型的过程规范语言p s l 1 6 。 2 1 软件开发过程中的活动 软件开发过程需要很多群体协同活动,所以支持软件开发过程的工作流首先 要取消活动的参与者是一个参与者或一个程序的限制。一个活动可以包括多个人 或多个程序。这样,一些非正式的,即席的群体协同活动就可以通过群体活动节 点来完成。群体活动节点和个体活动节点则在一个般的正式的工作流中协调完 成。 一个简单的群体活动是一组参与者,提供给他们工作的目标,他们在一个办 公室内面对面的协调工作,工作完成后,通过表单通知工作流执行引擎,继续执 行下面的活动。如果群体活动的参与者在地理上分布在不同的地方,情况会变得 复杂。这时他们就需要一个工具来支持他们的工作。例如,他们通过一个计算机 支持的多媒体会议系统来举行一次会议,或者他们通过个协同编辑系统来编写 山东大学坝十学位论文 一篇文档。这样就需要这种支持群体活动的群件与工作流管理系统的集成。要支 持其二者的集成,就需要文档从工作流管理系统和群件之间的传递过程。另外需 要配置文档在群件中的共享空间的位置。这类似于工作流管理系统之间的协同, 9 工作流管理联盟的工作目标,是工作流管理系统与群件之间的协同,但是工 作流管理联盟没有涉及这方面的工作。 定义1 :在支持群体协同活动的工作流模型中,一个工作流的过程定义为一 个元组w : w :( t ,r ) ,其中 1 t 是任务集:t = t 1 ,t 2 ,t n ; 2 r 是t x t 的子集r 表示任务问的控制流和数据流。 定义2 :任务表示为一个元组t i : t i = ( n i ,t p i ,t m i ,p i ,f i ,d i ,o p i ) 其中: 1 n i 任务的名称,这是一个标志任务的一个必需的字符串; 2 t p i 是任务的类型,它可以是个体任务、群体任务、子过程或者动态节点; 3 t m i 是任务的起止时间,它包括开始时间和结束时间; 4 p i 是任务的参与者。它根据任务的类型不同可以是个体、群体或者为空: 5 f i 是任务的表单,表单是一个有各种控件,如按钮、选择按钮、文本框 等,的窗体; 6 d i 是任务的相关文本和数据; 7 o p i 是任务上的操作。 我们以软件开发的例子来说明这种支持软件开发过程管理的工作流管理系 统。在软件开发等创造性活动中群体活动的支持比在工作流的传统应用领域,如 生产管理和办公管理领域更为重要。为了简单起见,我们下面介绍软件开发过程 模型中的需求工程子过程,如图2 - 1 所示。 图2 - 1需求工程子过程 山东大学硕士学位论文 使用前面定义的工作流模型,图1 所示的工作流子过程可以定义如下: w = ( t 。r ) t = ( t 1 ,t 2 ,t 3 ,t 4 ) r = ( t l ,t 2 ) , t 2 ,t 3 ) , t 3 ,t 4 ) , t 2 ,t 1 ) , t 4 ,t 1 ) , t 4 ,t 3 ) t l = ( n 1 ,t p l ,t m l ,p 1 ,f 1 ,d 1 ,o p l ) 1 是“需求获取”;t p l 是同步群体协同活动;t m l = ( 2 0 0 4 年3 月2 1 日,2 0 0 4 年4 月2 1 日) ) ;p 1 是客户、需求专家和需求工程师的联合工作组:f 1 是包括很 多控件的窗体,它是工作流系统和参与者的界面;d 1 是需求文档;o p l 是获取需 求。在实际的过程中,“需求分析”更可能是一个子过程。 其它任务的定义与t 1 类似。 本文定义工作流模型使用【1 中的符号,如下所示: ( i ) 个体工作型活动口( 6 ) 自动应用 口 ( 1 1 ) 空节点 ( 2 ) 同步协同型活动口( 7 ) 开始节点 o ( 1 2 ) 无条件连接弧 叫 ( 3 ) 异步协同型活动d【8 j 结束节点口( 1 3 ) 有条件连接弧8 b ( 4 ) 赫活动 唧 ( 9 ) 与节点p ( 1 4 ) 数据项0 ( 5 ) 过程口0 0 ) 并行节点z :2 7 i5 ) 数据流一l 其中( 1 ) 至( 6 ) 属于任务节点,( 7 ) ( 8 ) 属于标志节点,( 9 ) 至( i i ) 属于逻辑节 点。( 1 2 ) ( 1 3 ) 表示控制流,( 1 4 ) 是数据信息,( 1 5 ) 弯曲的虚箭头表示数据流。 另外我们为了表示动态节点用虚的直箭头表示相关的子过程。连接弧从一个活动 结点指向另一个活动结点,表示工作流过程的控制流。数据流从活动指向个数 据项,或者从一个数据项指向一个活动,表示数据项是对应活动的输出或者输入 数据。 5 软件工程师面临的问题常常是很复杂的,理解问题的本质也很困难,特 别当要开发一个新的系统是更是如此。在正式采取行动之前,必须要研究问题, 解决系统应该提供什么服务,工作将受什么条件约束等等。正是软件开发的工作 的困难性,要求软件工程师要发挥其创造力。要求系统分析员,程序员和用户要 进行很好的协调,充分调动各方的主动性,创造性协同工作来完成任务。 需求分析和编写软件规格说明书这两个活动可以看作是异步群体活动。需求 山东大学硕士学位论文 获取和软件规格说明书的验证可以看作是同步群体活动。对于编写软件规格说明 书活动,一般多是由不同的人写各自的部分,最后再由一个人或几个人综合整理 审校来完成。编写者一般没有严格的时间上的同步,所以可以看作是一个异步活 动。软件规格说明书的验证活动一般是由一组人对软件规格说明书的要求同时进 行验证,要求参加者时间上同步,所以可以看作是一个同步群体活动。验证活动 也可以按不同的软件规格说明书要求分为多个子活动。如软件规格说明书的正确 性,无二义性,完整性等等。 从需求工程的方法框架( 图2 2 ) 可知,对于需求获取群体活动包括多个反 复的子活动,这些子活动对应于一个群体活动节点。子活动可以是相同的活动重 复,例如需求工程师与相关用户就一个问题的讨论活动需要多次讨论。如果需求 工程师与相关用户就不同的问题的讨论活动是不同活动的重复。 通过对软件开发过程的研究,我们发现有的群体活动只需要执行一次就可完 成,如件规格说明书的验证活动。而有的群体活动只需要多次执行,如需求分析 活动,并且每次活动的执行也会有变化,例如需求分析活动每次的参加人,讨论 的问题以及讨论的方式等等的变化。我们按群体活动执行的次数可以把群体活动 分为一次执行活动和多次执行活动。 图2 - 3 是一个简化了的软件开发过程。概要设计结束后产生概要设计说明书 概要设计说明书定义了软件系统的各个模块。概要设计说明书作为输入数据输入 到模块开发动态节点。模块开发动态节点根据各个模块的定义分别生成相应的模 块开发子过程的实例。把每个模块定义输入到相应的模块开发子过程实例中去。 模块开发子过程运行实例结束后,把结果返回模块开发动态节点。如果所有的模 块开发子过程实例结束。那么这个动态节点也结束,然后继续下一个任务。图中 的虚线箭头表示动态节点和它的相关子过程定义的关系。通过动态节点,我们实 山东大学预士学位论文 现了对动态多群组协同活动的支持。 图2 - 3 动态节点 2 2 支持软件开发过程的工作流模型 这一章所描述的模型定义语言基于w f m c 定义的工作流描述语言x p d l ,并且 为了增加支持群体的功能作了必要的扩充。 个体活动是由一个人完成或者由程序自动完成的活动。群体协同活动是由一 个工作组内多个人协同完成的活动。 1 根据工作模式的不同,群体协同型活动 又分为同步协同型活动、异步协同型活动两种。同步协同型活动是指群体的所有 成员必须同时在场参加的群体协同型活动。异步协同型活动是指群体的所有成员 不必同时在场参加的群体协同型活动。动态活动节点是一种动态生成的活动,它 根据工作流相关数据,决定要执行哪些群体协同型活动。 在工作流过程模型定义时,为每一个活动指定参与者。参与者可以为空,一 个人员或者一个群体。这里只讨论参与者为一个群体的情况。一般的情况是: 0 一个活动有多个工作项,不同的工作项由多个参与者并行执行。 0 一个活动根据负载平衡算法提交给多个潜在的参与者的工作列表中,并且 指定给第一个接受的参与者。或者由一个群体管理着分配一个成员。这需要工作 流执行系统的支持。 0 一个活动需要一个群体协同完成。 为了支持群体活动,在x p d l i 作流定义语言中,我们作了扩充和规定。参与 者实体类型增加s y n - g r o u p 和a s y n g r o u p 类型分别对应同步群体协同活动和异步 n 生奎奎兰婴圭兰竺笙;j 三; 一 群体协同活动。这样就可以通过参与者的类型确定活动的类型。参与者实体类型 有:r e s o u r c e s e t 资源集合。r e s o u r c e 一个具体的资源a g e n t 。r o l e 使用角 色( r o l l ) 或者能力集合( s k i l ls e t ) 来指定参与者。角色表示一个参与者在 一个组织中的职责。o r g a n i z a t i o n a l u n i t 一个部门或者一个组织单位。h u m a n 一个通过程序界面与系统交互的人员。s y s t e m 一个自动的a g e n t 参与者实体的s c h e m a 定义 3 : x s d :e l e m e n tn a m e = ”p a r t i c i p a n t t y p e ” x s d :a t t r i b u t en a m e 2 ”t y 矽u s e = ”r e q u i r e d ” x s d :e n u m e r a t i o nv a l u e = ”r e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 菏泽会考试题及答案
- 河南话考试题及答案
- 广电内勤考试题及答案
- 公墓岗位考试题及答案
- 工务培训考试题及答案
- 高中玄学考试题及答案
- 高考试题及答案大全
- 妇幼考试题目及答案
- 销售业务订单跟踪处理操作指南
- 防触电考试题及答案
- 2025年福建省榕圣建设发展有限公司项目招聘12人笔试参考题库附带答案详解
- 一年级上册语文晨读课件
- 高职院校教师职业发展规划指南
- 2025重庆市专业应急救援总队应急救援人员招聘28人考试参考题库及答案解析
- 黑龙江省龙东地区2025届中考数学试卷(含解析)
- 2025-2026学年人教版(2024)小学美术二年级上册(全册)教学设计(附目录P144)
- 2025高考地理试题分类汇编:地球上的水含解析
- 2026届高考作文写作素材:《感动中国》2024年度十大人物素材及其运用
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解)
- 口腔咨询顾问入门知识培训课件
- 公司金融学 课件 第三章:货币的时间价值
评论
0/150
提交评论