




已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)工作流支持的软件过程控制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学硕士研究生毕业论文 摘要 随着信息技术的发展,软件的生产方式开始向全球化、规模化、工业化转变, 软件生产开始进入以持续改善软件过程为中心的软件工程时代。软件过程复用方 法和技术作为软件过程的研究后续,也在软件工程领域成为新的热点。 目前,过程控制的方法主要基于模型驱动的自顶向下的模式和度量驱动的自 底向上的模式。前者存在较大的过程改进风险,后者过程改进效率太低。典型的 c m m 软件过程模型属于前者,它强调稳定性、规律、可量化、可预测的特点,但 不能关注到具体项目实现。敏捷开发方法属于后者,专注高效解决具体问题,但 缺乏对软件过程整体的协调。现今的软件过程控制仍然缺乏有效的技术和工具支 持。由于p e t r i 网的强大理论支持,工作流技术具有对复杂过程有很强的描述和 运行能力。藉此,本文从工作流角度,对软件过程控制进行了研究。 本文从软件过程控制的可复用性和灵活性问题入手,借助软件过程理论、 工作流技术以及p e t r i 网理论,提出了工作流支持的软件过程控制思想。首先, 从过程特征的分析入手,利用工作流主流程方法进行控制框架定义;其次,在框 架定义的指导下,针对具体项耳特征进行任务控制节点的描述,完成项目子流程 定义;最后,通过设计工作流引擎,对控制描述进行解析和运行,实现对软件过 程的控制。 具体的研究工作如下: 对软件过程特征进行分析和特征层次划分,通过渐进的层次细化,为软件过 程的工作流方式描述提供依据。 对软件过程通用特征进行提取,给出了主流程过程规范定义、过程改进、项 目过程定义、项目变更修改和流程应用五个子流程组成的流程框架定义。 对流程框架定义的节点采用工作流的子流程方法进行迭代调整,以细化流程 描述。 设计一个可运行过程描述的原型系统。 关键词;软件工程,软件过程控制,工作流,软件能力成熟度模型,子流程 江苏大学硕士研究生毕业论文 a b s t r a c t w j t l lt h er a p i dd e v e l o p m e n ta n da p p l i c a t i o no fc o m p u t e rt e c h n o l o g y , s o f t w a r e p r o d u c t i o n e n t e r e di n t ot h es o r w a r ee n g i n e 幽ge r ac e n t e r e d 谢廿l p r o c e s s i m p r o v e m e n t s o f t w a r ep r o c e s sr e u s ea st h ep o s t - s t u d yo ns o f t w a r ep r o c e s s ,b e c o m e s af o c u si nt h ef i e l d c u r r e n t l y , t h ep o p u l a rs o f t w a r ep r o c e s sc o n t r o li m p r o v e m e n tp a t t e r n sa r e t o p - d o w nm o d e ld r i v e np a t t e r na n db o t t o m - u pm e f l s u r e m g n td r i v e np a t t e r n1 1 1 e f o r m e rb r i n g sr i s k sf o rl a c ko fp l a n s ,t h el a t t e rl o w e f f i c i e n c y c m mb e l o n g st ot h e f o r m e r , a n dh i g h l i g h t sc h a r a c t e r so fs t a b i l i t y , r e g u l a r i t y , q u a n t i f i c a t i o n , p r e d i c t i o n , w i t h o u tc o n c e r n i n gc h a r a c t e r so ft h es p e c i f i cp r o j e c t a g i l ed e v e l o p m e n tb e l o n g st o t h el a t t e r , c o n c e n t r a t i n gt h ee f f i c i e n ts o l u t i o no fs p e c i f i cp r o b l e m sw i t h o u tt h eu n i f i e d p l a n s n o w d a y s ,s o f t w a r ep r o c e s sc o n t r o li ss t i l ls h o r t a g eo fe f f e c t i v el a o c h n i q u e sa n d t o o l s w o r k f l o wt e c h n o l o g yo w n st h es t r o n ga b i l i t yt od e s c r i b ea n dr l l qc o m p l i c a t e d p r o c e s sf o rt h es u p p o r to f p c t r in e tt h e o r y t l l i sd i s s e r t a t i o ns t u d i e ss o f t w a r ep o r c e s s c o n t r o lf r o mt h ep o i n to f w o r l d l o w t oi m p r o v er e u s a b i l i t ya n d f l e x i b i l i t yo fs o f t w a r ep r o c e s sc o n t r o l ,t h i s d i s s e r t a t i o np r o p o s e st h et h o u g h to f “s o f t w a r ep r o c e s sc o n t r o lw t ht h es u p p o r to f w o r k f l o w ,c o m b i n i n gs o f t w a r ep r o c e s st h e o r y , w o r l d l o wt e c h n i q u ea n dp e t r in e t t h e o r y f i r s t l y ,b a s e do nt h ea n a l y s i so fs o f t w a r ep r o c e s sf e a t u r e s ,t h ed i s s e r t a t i o n o f f e r sac o n t r o lf n u n e w o r kd e f i n i t i o nw i mw o r k f l o wt e c h n i q u e ;s e c o n d l y ,u n d e rt h e i n s t r u c t i o no ft h ef r a m e w o r kd e f i n i t i o n , d e s c r i b e sp r o j e c ts u b - p r o c e s s e sw h i c ha r c c o m p o s e db yt a s kn o d e sa c c o r d i n gt ot h es p e c i f i cp r o j e c tf e a t u r e l a s t , d e s i g n sa w o r k f l o we n g i n ew h i c hc a na n a l y z ea n de x e c u t et h ec o n t r o ld e s c r i p t i o n , a n dr e a l i z e s o f t w a r ep r o c e s sc o n t r 0 1 t h ef o l l o w i n gi sm a i nr e s e a r c h : 1 a n a l y s e sf e a t u r e so fs o f t w a r ep r o c e s sa n dd i v i d e sl a y e r sa c c o r d i n gt o f e a t u r e - d e p e n d e n c y , p r o v i d e st h eb a s i sf o rw o r k f l o w - s t y l ed e s c r i p t i o no fs o f t w a r e p r o c e s sb yg r a d u a ll a y e rd i v i s i o n 2 b a s e do na n a l y s i n gg e n e r a lf e a t u r e so fs o f t w a r ep r o c e s s , p r o p o s e sap r o c e s s a r c h i t e c t u r ed e f i n i t i o nc o m p o s e db yt h em a i ns o f t w a r ep r o c e s sd e f i n i t i o n , p r o c e s s i m p r o v e m e ,p r o j e c ts u b - p r o c e s sd e f i n i t i o n , p r o j e c tp r o c e s sm o d i f i c a t i o n f o r r e q u i r e m e n tc h a n g e sa n dp r o c e s sp r 哟e c ta p p l i c a t i o n 3 a p p l i e st h es u b - p r o c e s sm e t h o do fw o r k f l o wt oi t e m t i v e l yr e g u l a t i n gt h e n o d e sd e f i n e di np r o c e s sf r a m e w o r kt or e f i n et h ep r o c e s sd e s e r i p t i o n 4 d e s i g n sap r o t o t y p es y s t e mt or u nt h ef o r m a l i z a t i o nd e s c r i p t i o nb a s e do nt h e r e s e a r c h k e yw o r d s :s o f t w a r ee n g i n e e r i n g ,s o r w a r ep r o c e s sc o n t r o l ,w o r k f l o w ,c m m , s u b - p r o c e s s 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名:影老 & 7 年钥1 2 日 在年解密后适用本授权书。 笛蟛 指导教师签名:拎矽务殇 复印7 年6 月f 日 口囝 密 密 保 饿 不 于属文沦位学本 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容以 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:i 看善勃聋 日期:a 、年月c 力日 江苏大学硕士研究生毕业论文 第一章绪论 本章就研究课题的研究背景进行阐述,主要是对前人的研究总结,现有的 研究状况进行分析和总结,提出自己的观点。并附课题的主要研究内容和论文 的组织结构。 1 1 研究背景 由于信息技术的飞速发展,人们对软件的要求也日益增加,导致软件的规 模不断增大,需求也变的越来越复杂。加之软件规模和涉及的群体剧增,对软 件的正确性、可用性、安全性等提出新的要求“1 。而原有的软件工程方法缺少 系统的软件过程技术,无法将软件全生命周期的各种软件过程有机、高效地组 合在一起,使各个过程的开发方法和技术得到充分有效地发挥,并且保证每个 过程的质量达到预期的要求。这样,一方面致使各种技术彼此隔离而互相牵制, 难以发挥其应有的功效;另一方面产品的质量也无法在过程中得到有效地控制。 最终导致软件的生产率低下,交付的软件产品质量难以保证,软件危机依然没 有得到很好的解决。在经历了系列的失败教训后,人们认识到在现代化的软件 生产方式下,要高效率、高质量和低成本地开发软件,必须改善软件生产过程 ”,工业化的设计方式成为一种趋势m 。 软件过程是人们建立、维护和进化软件产品整个过程中所有技术活动和管 理活动的集合脚。软件的生产是知识密集型产业,与以往的传统生产方式有很 大的区别,如何把工业化的设计思想融入到软件设计过程中,成为人们研究的 热点。其核心软件过程改进是旨在提高组织的软件工程能力的活动,在对软件 过程信息进行系统地记录、分析和重用的基础上,对组织的软件工程活动进行 规范和持续的改进与优化n ,。软件过程改进强调通过严格的过程控制来应对软 件所固有的复杂性、易变性和不可见性,致力于使软件项目在成本、进度、质 量等方面满足预定目标m 。 质量形成于产品生产的过程,软件过程也是软件嘲的思想普遍被人们所接 受。c 姗“”等软件过程控制模型也随之产生,并在欧美取得了巨大的成功,但 失败的案例也为数不少,普遍投入巨大、周期长,在国内,在国家政策和企业 发展需要的推动下,c m m 和i s 0 9 0 0 1 也如火如荼的进行着,也出现了类似国外 的状况,甚至生搬硬套的情况。原因是c 咖并不涉及特定领域和技术,而这些 又是项目成功的关键因素“”。目前,基于构件的软件过程方式“”为这种开发过 扛苏大学硕七研究生毕业论文 程具有很好的可控性,过程易于描述,但对软件的开发方式有一定的限制,要 求开发方式必须是基于构件的。 综上所述,软件过程改进的理论距实际的应用还有距离,尤其是缺乏对软 件项目提供可靠支持和解决实际问题的有效方法。软件过程必须对不确定的环 境( 具体的领域、项目) 的变化做出调整,如何将这种动态的变化嵌入到软件 过程中,是当前软件过程迫切需要解决的问题。 1 , 2 研究内容 现有的过程控制方法,大都从过程的宏观层面自顶向下的进行规范控制, 缺乏对具体项目的关注,使得软件过程的流程化描述和自动控制难以进行。在 软件过程中引入p e t r i 网支持的工作流模型,并对软件过程特征的分析提取,将 软件过程描述成一个动态可扩展的软件过程流程,是本文的重要研究内容。论 文的主要工作如下: 1 、软件过程研究 对成型的自项向下的软件过程模型进行研究分析,归纳出软件过程的主要 流程,在强调软件过程的关键域的同时,结合自底向上的方法完成对软件过程 的特征分析。 2 、软件过程特征的提取 基于对软件过程特征进行分析,将软件过程特征进行归类,结合自底向上 的分析方法,给出了层次化迭代消除软件过程特征依赖的方法,并在这种依赖 消除的方法的基础上,对软件过程进行流程化描述。 3 、扩展工作流模型 扩展工作流模型研究。通过子流程迭代的方法,对不确定的特征进行预定 义,解决软件过程流程化描述时,未知特征描述的困难。 4 、软件过程的工作流描述 基于工作流模型和软件过程理论的分析,对软件过程进行层次化依赖消除, 对软件过程进行流程化描述。提取出跨越不同层次的通用特征,进行软件过程 框架流程描述;对具体层次特征进行提取,以子流程的方式嵌入到过程流程框 架中,最终得到一个可对软件过程的整体流程描述。 5 、原型系统实现 设计一个可以运行软件过程描述的原型系统,通过对一个具体软件项目子 流程的描述,说明这种基于软件过程描述的控制。 2 江苏丈学硕士研究生毕业论文 1 3 论文组织 全文分五章,具体内容组织如下: 第一章介绍了课题的研究背景和意义,软件过程控制及复用的重要意义, 同时分析和提出本文的主要研究工作。 第二章介绍了工作流和软件过程控制的一些相关的概念和思想。 第三章对软件项目的需求分析和项目的计划进行阐述。 第四章用工作流的描述方式对软件过程进行描述,并通过子流程方法进行 分层次的迭代细化流程定义。 第五章设计一个原型系统,对总体设计、组织模型、资源模型和工作流引 擎进行的详细的设计。 第六章对研究的内容进行总结和展望。 3 江苏大学硕士研究生毕业论文 第二章相关知识概述 软件过程是软件工程非常活跃的研究领域,吸引了大批来自学术界和工业 界的专家和学者。从1 9 8 4 年起每年有软件过程国际研讨会( i s p w ) ,从1 9 9 1 年起开始召开软件过程国际会议( i c s p ) ,每个国家几乎都有自己的软件过程 改进网络( s p n ) 。而以p e t r i 网为理论基础的工作流技术也经过多年的发展, 虽然还有一些等待改进的地方,但已经相当的成熟了。本章就针对这两者进行 了分析。 2 1 软件过程 2 1 1 软件过程的基本概念 软件过程( s o f t w a r ep r o c e s s ) 是人们建立、维护和进化软件产品整个过程 中所有技术活动和管理活动的集合。过程是活动的集合,活动是任务的集合,任 务则起到把输入加工成输出的作用。活动的执行可以是顺序的、重复的、并行的、 嵌套的或者是有条件地引发的例。软件过程是动态的,它动态地产生、推进( 执 行) 、动态地消亡。软件过程概念提出不久,国际标准化组织纷纷开始将软件过 程概念纳入有关的软件开发标准之中。 软件过程支持。软件过程支持主要是指研究和开发支持软件过程活动的 c a s e :i :具,过程支撑工具作为一种技术基础设施能够很好地支持、管理并规范 化软件过程。软件过程支持工具主要包括软件过程流程工具、过程文挡工具、评 审工具和人员管理工具。 软件过程评估和改进。软件过程改进对生产高质量软件产品和提高软件生产 率的重要性已被越来越多的软件开发组织所认同。由美国卡耐基梅隆大学软件 工程研究所( c m u s e i ) 提出的软件能力成熟度模型( s w c m m ) 除了用于软 件过程评估外,还向软件组织提供了指导其进行软件过程管理和软件过程改进的 框架。 软件系统的质量要受到开发和维护该软件系统的过程质量的严重影响,所以 不仅要关注产品,同时也要关注过程,如果仅仅把注意力放在产品上,会忽略软 件开发的可度量问题,也会很容易忽略如何将产品做的更好。只有关注产品的同 时关注了过程,就可以预测开发成果的可复用性,预测项目的趋势以及产品的特 征。 软件过程带来的好处: 4 江苏大学硕士研究生毕业论文 提高组织的生产能力:理解软件开发的基本原则,可以帮我们做出明智的 决定;可以标准化你的工作,提高软件的可重用性和t e a m 间的协作;采用的 这种机制本身是不断提高的,我们可以跟上潮流,使自己不断接收新的,最好 的软件开发经验; 改善我们对软件的维护:有效地定义如何管理需求变更,在未来的版本中 恰当分配变更部分,使之平滑过渡;在具体操作和相关支持中定义如何平滑地 改造软件,并且这种具体操作和支持是可实施的; 2 1 2 软件能力成熟度模型( c m m ) 软件过程改善是当前软件管理工程的核心问题,5 0 多年来计算的发展使 人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。 基于模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能 力稳定的进行改善,该组织也能变得更加成熟。 美国卡内基梅隆大学软件工程学院于1 9 8 7 年研究成功的s w c m m ( c a p a b i l i t ym a t u r i t ym o d e lf o rs o i l w a r e ) 就是这样的一个理论模型。其目的在 于帮助软件组织改善软件生产流程,以探索一个保证软件产品质量、缩短开发 周期、提高工作效率的软件工程模式与标准规范。c m m 基于众多软件专家的 实践经验,是组织进行软件过程改善和软件过程评估的一个有效的指导框架。 c h m i 项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消 除不同模型之间的不一致和重复,降低基于模型改善的成本。c m m i 将以更加 系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和 维护能力。c m h 或c m m i 不仅是一个模型,一个工具,它更代表了一种管理 哲学在软件工业中的应用。 c m m 的原则: 1 强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出 的,大力度的、一致的支持是过程改进的关键。 2 仔细确定改进目标,善先应该对给定时间内的所能完成的改进目标进 行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效 益。 3 选择最佳实践,应该基于组织现有的软件活动和过程财富,参考其他 标准模型,取其精华去其糟粕,得到新的实践活动模型。 4 过程改迸要与组织的商务目标一致,与发展战略紧密结合。 5 江苏大学硕:b 研究生毕业论文 软件过程改善是一个持续的、全员参与的过程。c m l v l 建立了一组有效地 描述成熟软件组织特征的准则。该准则清晰地描述了软件过程的关键元素,并 包括软件工程和管理方面的优秀实践。企业可以有选择地引用这些关键实践指 导软件过程的开发和维护,以不断地改善组织软件过程,实现成本、进度、功 能和产品质量等目标。 按管理、组织和工程三个方面分类,则c m m 的关键过程方面分布如图表 2 1 所示。 、? 管理组织工程 c h 姗:初搬 需求蕾理 软件项且策划 a 舢:可重置衄软件项目跟踪和监督 软件分包管理 软件质量保i 正 软件配置管理 c 啪:窟煳集成式软件管理组织i 搬义软件产品工程 组间管理绢舒玟疆蜀色义培训对等检查 c 蛐嘲:定量管理埙定量过程管理软件髓量管理 c m 口:优化圾技术变更管理缺陷顼防 过程变更管理 图2 1 关键过程领域分布 关键过程领域 第一级:初始级( l e v e l l :i n i t i a l ) ( 无关键过程区域) 这一级,软件开发组织一般不能提供开发和维护软件的稳定环境。处于这个 级别的组织的软件过程的特点是无序的甚至是混乱的。计划没有什么过程是经 过严密定义的。软件项目的成功与否绝大部分依赖于一个人英雄任务或团队。 它的组织过程混乱、无序,往往因为某个人的离开而使项目及团队受到巨大的 影响,这样的组织,能力上个人特征不是组织特征。 第二级:可重复级 此级别的软件组织建立了为跟踪成本,进度和功能的基本项目管理过程,能跟 踪成本,进度,功能并及时的发现问题。基于以往的项目经验,制定了过程实 践规范,类似的项目可以再次成功,能对分包商进行有效控制。此级别的软 件组织建立了为跟踪成本,进度和功能的基本项目管理过程,能跟踪成本,进 度,功能并及时的发现问题。基于以往的项目经验,制定了过程实践规范,类 似的项目可以再次成功,能对分包商进行有效控制。 第三级:定义级 此组织制定了组织的标准过程文件,建立了组织的软件工程过程组( s e g p ) 负责软件过程活动,制定了人员培训大纲。针对不同的项目可通过裁减组织的 6 江苏大学硕士研究生毕业论文 标准软件过程来定义具体的软件过程。项目成本,工期和功能己受控,质量可 跟踪。 第四级:定量管理级( l e v d 4 :q u a t i t a t i v em a n a g e m e n t ) 达到己管理级的组织己为产品和过程建立了量化目标,产品的质量,功能, 成本,交付日期,风险等都是可知、可控的。组织利用软件过程数据库收集和 分析过程信息并量化。此量化控制使软件开发变成了一种工业生产活动。 第五级:( 不断) 优化级( l e v e l :o p t h n i z t n g ) 此级软件组织集中于过程的持续改进,能够根据对当前过程的分析作出对 新技术或将出现的变量的评价;能提出关于开发最优的软件工程实践的革新思 想,并推广到广大的企业范围内;软件项目组负责分析错误的原因并阻止已知 的错误再次发生。 2 2 工作流技术 2 2 1 工作流相关概念 近2 0 年来,很多研究者给出了不同的工作流定义,直到现在对于工作流仍然 没有完全统一的定义。根据工作流联盟( w m f c ) 给出的定义,工作流是一类能够 完全或部分自动执行的业务过程,它根据一系列的过程规则,将文档、信息或任 务在不同执行者之间进行传递和执行,从而实现某个预期的业务目标,或是促使 该目标的实现。该定义反映了业务过程如下几个方面的问题,即业务过程是什么 ( 有哪些活动、任务组成,也就是结构上的定义) 、怎么做( 活动问的执行条件、 规则以及所交互的信息,也就是控制流和信息流的定义) 、由谁来做( 人或者计算 机应用程序,也就是组织角色的定义) 、做得怎样( 通过工作流管理系统进行监 控) 。 工作流模型是业务过程在计算中的抽象表示,它定义的是业务过程中会涉及 到的各种参数及相互之间的控制流动与数据流动关系等。理想的工作流模型能够 清晰地定义任意情况下的工作流,能够适应用户在建模过程中所提出的各种要 求。目前常见模型有有向图、p e t r i n e t 、对象模型,语言动作理论模型, b r o k e r s e r v i c e s 模型,基于目标的知识表示等。 为了便于交互和在不同格式的模型之闻实现相互转换,有的模型还提出了规 范的描述语言,我们称为“工作流定义语言”。比较典型的有工作流管理联盟推 出的w p d l ( w o r k f l o w p r o c e s sd e f i n i t i o nl a n g u a g e ) ,m mf l o w m a r k 的f d l ( f l o w m a r k d e f i n i t i o nl a n g u a g e ) ,m e t e q r 2 项目定义的w i l ( w o r l d l o wi n t e r m e d i a t e 7 江苏大学硕士研究生毕业论文 l a n g u a g e ) 等。这些工作流定义语言都有着自己特定的语法规范,包括标识符、 关键字、文法规则等,有的还开发了相应的编译器,用于生成工作流运行的可执 行代码。图2 2 是对工作流组件和接口相关模型的描述。 图2 - 2 工作流组件与接口相关模型 过程定义工具:为用户提供一种对实际业务过程进行分析和建模的手段,并 生成可被计算机处理的业务过程的形式化描述( 即过程定义) 。 工作流执行服务:借助于一个或几个工作流引擎来激活并解释过程定义的全 部或部分,并同外部的应用程序进行交互来完成工作流过程实例的创建、执行与 管理,为工作流程提供一个运行环境。 其他的工作流运行服务:在大型的w f m s 中,工作流可能需要多个引擎共同完 成,甚至需要其他异质的工作流执行服务来辅助完成,这涉及到w f m s 中各子系统 之间的互联接口。 客户应用程序:为每一个用户维护一个工作项列表,它表示当前需要该用户 处理的所有任务。客户应用程序则为用户提供一种手段,以处理过程实例运行中 需要人工干预的任务。 被调应用程序:指在过程实例的运行中工作流执行服务调用的、完成对应用 数据处理的应用程序。过程定义中包含应用程序的详细信息( 如类型、地址等) 。 管理及监控工具:其功能是对w i g s 中的过程实例的状态进行监控与管理,如 用户管理、角色管理、审计管理、资源控制等。 2 2 2p e t r i 网理论 自p e t r i 网出现以后,网论得到了长足进步迄今已形成了具备相当规模的 8 江苏大学硕士研究生毕业论文 研究领域【2 7 】。在理论方面,p c t r i 网模型和分析技术的研究取得了许多有价值的 成果,p e t r i 网作为一种全新的自动机被开发出来,人们对此充满希望,认为p e t r i 网比下推自动机有用原因是它不存在图灵机所具有的那些可判断问题。许多系 统设计者仍试图有用p v t r i 网或经过该局的p c t r i 网来适合他们专业领域的需求。 虽然p e t r i 网模型可能存在一些可判断问题,但有界p c l r i 网性质却很好,对应 用者来说并没有遇到理论家们所碰到的问题。事实上p e t r i 网的可达集在网的规 模上是以指数规律递增的,尽管可能有界,但界限已经超出了目前计算机的运 算能力。这里只是借鉴p e t r i 网的一些简单的原理和结论进行工作流引擎的构 造,所以不进行p e t r i 网深入的研究。这里只是一些的与设计应用相关的理论。 p e t r i 网可以对实际开发过程只能够的开发活动,产品,资源,人员等各类信 息进行抽象,通过工作流的方法对如软件过程进行描述和模拟,使软件过程标准 话和自动化。一个p e t r i 网的结构元素包括:库所( p l a c e ) 、变迁( 仃缸s m o n s ) 和弧 ( a r c ) 。库所用于描述可能的系统局部状态( 条件或状态) 。变迁用于描述修改系 统的事件。弧使用两种方法规定局部状态和事件之间的关系:引发事件能够发生 的局部状态;由事件所引发的局部状态转换。 在p e t r i 网模型中,托肯或标记( t o k e n ) 包含在位置中,它们在位置中的动态的 变化表示系统的不同状态。一个p e t r i 网模型的动态行为是由它的实施规则( f i r i n g r u l e ) 来规定的。当一个变迁的所有输入库所至少包含一个标记时,这个变迁才可 能实施。其实施后的结果就是从它所有的输入库所中减去一个托肯,并在其输出 库所中产生一个托肯( 当然这只在弧的权重为l 时成立) 。图2 3 是一个w 踊网的描 述实例。 图2 - 3p e t r i 网描述实例 定义1 设n = ( p ,t ;f ) 是一个p e t r i 网,鼢j = ( n ,m 0 ) 是一个p e t r i 网系统。其 中,( 1 ) p :有限位置集合。( 2 ) t :有限变迁集合,且p f i t = a ,p u t 初。( 3 ) f : f d u ( t x p ) ,为连接位置和变迁的有向弧线,其中“”为笛卡尔积。 ( 4 ) d o m ( f ) uc o d ( f ) = put ,其中d o r a ( f ) = x ly :( x ,y ) f ) ,c o d ( f ) = y i 了x :( x ,y ) ef 分别为f 的定义域和值域。( 5 ) m o 表示n 的初始标识( h a e a l m a r k m g ) 。与经典 p e t r i 网类似,奉t ,t 幸,却,p 宰分别代表变迁和位置的前集( p r e - s e t ) 和后集 9 江苏大学硕士研究生毕业论文 ( p o s t - s e t ) o 定义2 p c t r i 网系统p n = ( n ,蚴,其中n = ( p ,t :f ) ,m 是n 上的任一标识, r 是m 的前向可达集( 1 ) 变迁t t 是活的,当且仅当v m e r ( m o ) ,m r ; ( 2 ) p n 是活的,当且仅当t t 是活的;( 3 ) p n 是有界的,当且仅当存在整数k , p e p ,v m e r ( m o ) ,m 0 ) 鱼;( 4 ) 标识m 是活的,当且仅当( n ,m ) 是活的。( 5 ) n 是结构活的,当且仅当v m o ,供,m o ) 是活的。( 6 ) n 是结构有界的,当且仅当 v m o ,甜,m o ) 是有界的。 定义3 p e t r i 网系统,其中p n = ( n ,m o ) 。在n 中,称c 为n l 到n k 的路径, 是指存在一序列( n l ,n 2 ,n k ) 满足( n i ,n m ) e p ,其中1 垒- 1 。集合p c = n i , l _ i 2 s k f ) p 称为路径上的位置节点集。集合t ( 尸弛,l 亟) n t 称为路径上的变 迁节点集。若c 中的所有n l ,n 2 ,m 都互不相同,则称c 为简单路径。在 n 中,如果从n i 到n j 存在一条路径,从n j 到n i 也存在一条路径,则称n i 和n j 是迭代的。 定义4 p e t r i 网系统p n = ( n ,m o ) ,其中n 气p ,t ;f ) ,h p ,h 在n 中是 强连通的,当且仅当v n j ,n j e h ,在h 中存在一条从n i 到n j 的路径。如果h = p , 则称p n 是强连通的。 2 2 , 3w p d l 语言 工作流系统参考模型中,定义以工作流服务为核心共定义了五类接口,从 接口i 到接口v 。过程定义的引入与导出就属于接口i ,w p d l ( w o r k f l o w p r o c e s sd c f l n i t i o nl a n g u a g e ) 就属于这部分内容l l ”。 人们通常会使用各种不同的工具来对过程( 工作流) 进行建模、归档和分析。 工作流过程定义接口( 接口1 ) 定义了一个公共的交换格式,使得不同产品的工 作流定义可以实现模型交换。接口l 还实现了工作流的定义与执行两个不同的 阶段的分离,使得工作流的定义工具与执行工具相互独立,从某一个定义工具 中建立的工作流模型可以作为多个不同工作流机的输入。这一特性大大增强了 用户对工作流管理系统的选择范围与可配置性,也使得流程定义可以以w e b 方 式进行相互的流程调用。 为实现这一接口特性,工作流管理联盟定义了个工作流过程的元模型, 元模型中给出了一般的模型实体及相应的属性。、p d l 就是基于这一儿模型而 定义的文本描述语言。作为一个标准、通用的工作流定义语言,w p d l 定义了 一个最小集合的工的厂商的工具之间可以方便地交换信息。 1 0 江苏大学硕士研究生毕业论文 w p d l 的语法采用类似于巴科斯一诺尔范式( b n f b a c k u sn a u rf o r m ) 的 格式,以一个产生式规则集合的形式进行定义的。语法的组成包括以下几个部 分: 标识符 关键字e 址佃l ek e y w o r d 产生式标记 := 特殊字符 】i 在w p d l 中,何一条语法规则都是一个产生式,规则的左边( 标识符) 和右 边( 表达式) 用“:= ”进行连接,其意思是左边可以由右边代替或由右边产生。 右边的表达式可以是标识符、关键字以及特殊字符的组合。关键字是语言的核 心部分,用来刻画w p d l 过程模型中的各种组成部分以及相应属性,由空格符 分隔,并日是区分大小写的;出现在方括号1 】”中的关键字或标识符表不是 可选的,可以使用一次或者不用;特殊字符“ ”的含义是“或者一”、“二者选 一”;特殊字符组合“”、“,”以及“”用来作为注释的标注。 以下是w p d l 语法中对一些特殊字符的约定: 操作符以字母“o p ”结尾,比如 表t “非”操作。 常量以大写字母“c ”结尾,比如 表t 布尔型常量。 括号以大写字母“b ”结尾,比如 表t 数组定义中的一个括 号。 类型字符用大写字母书写,而日以大写字母“t ”结尾,比如 表示整数类型。 其它结束符号均以大写字母书写,比如 。 l 、基本数据: := l i 其q 1 := 字符串,被引在双引号“”之间,比如“c o m p l e t e 字符串 的最大长度为1 0 2 4 ,其中包括空字符n u l l 和引号在内。 n o a p := 浮点型。 := ( 有符号) 整数。 := 外部对象的指针,以字符串表示。 := 日期型,格式为y y y y - m m d d h h :m m :s s 】,符合 i s 0 8 6 0 1 e n 2 8 6 0 1 标准,它类型就不再持一一赘述。 2 、语义描述 工作流过程定义构成了工作流模型的主体部分,因为它。包含了组成了模 型的所有活动以及转移信息。完整的定义格式如下: 江苏大学硕士研究生毕业论文 1 ) 流程定义描述: 黪” 孵b 攮科o w p m 略d e f ;n 瓣舻“”“5 : w o r k f l o w 。 j i t t l 。 | w o r k f l o w r c l e 咖l d 日掘工叫 ;e n d w o r k f l o w ” i 嚣, 群o s s i 护:;喇阴痢鼢 w o d d l o wp r o c e s sd e f i n i t i o nh 如f :,* 。 i c r e a t e d j 一 搿ame1 ; d e s c 删 l ” l l l l i m i t l v a l l 0f r o m ; v a l i dt o 妇t p l : l c l a s s l f l c a t t o n 。 t i m e e s t i m a t i o t p l d o c u m e n t a t i o n 4 “婆n j l 蝴d 耐a t t r i l n a el 波j :咖 。 :m t e g c f “ :t r i n g “ := : :- 9 铂c e 鲥l n 鲥o n :了【w l 俐g t i m e 叫i 瑚l 谛r 嘲 【w o r k i n gt i m e | ,u r a t i o n l :“ i :f y l m l l 恻s - - 。番 2 ) 工作流活动 在工作流过程定义中,有一部分内容就是描述过程中所包含的全部活动的 信息即活动列表 。 爹 柏姆k 珞p 渺嬲糍镪槲确嘲舷盘弦j 参;鬻i 警,鼍;i ;蘩爹嚣磐;棼i ;f ,j ,孙i 江苏大学硕士研究生毕业论文 。斟a m e 嘲m 纠 “ d e s c r i p t i o n i k s c 咖蛐芍 。 i q 、e 站r e s t r i c t i o np a r t 对数据的访封限制定义 。 r r 埘蟮h i 姐r e s t r i c t i o n 翔f 纠憔移艰制定义 :p 1 “j ? ”。4 “。 ” i 跫 ”t r a n s i t i o n n a m e ! d e s c r i p t i o n l “ j c o n d i t i o n f r o ml o o p t o 錾r o m t o l o o p 江苏大学硕士研究生毕业论文 第三章软件项目需求与计划 对软件项目进行有计划、高效的管理是软件过程控制的出发点,项目计划 是软件的开发在一定的资源下,快速、平滑的进行的基础,也是制定项目过程 的重要参照条件。需求变更是通常在软件开发中是不可预知的,是项目计划无 法涉及的,如何将这种不确定性融入的开发的规范中,是项目过程和软件过程 是否成熟的标志。 3 1 软件项目需求 需求工程无疑是当前软件工程中的关键问题,但又是软件工程中最复杂的 过程之一。c m m 中的需求是一个活动的实体,是处于软件系统开发的核心, 如图3 1 。整个c m m 的指导方针是,所有活动、规划、改进和软件产品都根 据分配给软件的需求一致地进行必要的开发和修改。并且c m m 进一步指出, 需求应该被管理和控制 2 8 1 。 图3 1 软件需求与其它软件过程的关联 在c m m 2 级别中需求管理是首要关键过程领域( k e y p r o c e s s d o m a i n ) ,是 软件开发中活动不可或缺的组成部分。c m m 把需求管理过程区域总结为:需 求管理的目的是客户以及客户需求的软件团队之间建立共同的理解。即是在客 户和软件项目人员之间建立一个共识,形成软件工程所必需的管理基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年职业技能鉴定-铁路职业技能鉴定-货运员(初级工)历年参考题库含答案解析(5套)
- 2025年综合评标专家-黑龙江-黑龙江综合评标专家(工程监理类)历年参考题库含答案解析(5套)
- 热电厂生产工艺培训课件
- 热浸镀锌基础知识培训
- 职专园艺考试题及答案
- 烧烤摊防火安全知识培训课件
- 烤红薯美育课件
- 存款保险知识培训总结课件
- 烟厂基础知识培训课件小结
- 陕西省华阴市2025年上半年事业单位公开招聘教师岗试题含答案分析
- 巷道围岩注浆加固施工安全技术措施
- 实验中学初一新生分班考试数学试卷附答案
- 区治安巡防队员面试题
- 施工组织设计施工总体部署完整版
- TUPSW微机控制电力专用不间断电源(UPS)系统使用说明书
- 骨质疏松诊治与中医药
- LY/T 2383-2014结构用木材强度等级
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- 中日关系历史
- GB/T 15171-1994软包装件密封性能试验方法
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
评论
0/150
提交评论