




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于工作流的软件过程建模研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件过程管理是软件开发成败的关键。软件过程管理包括支持丌发工作分析、 设计、执行、管理的方法、技术以及工具。目前广泛采用的软件过程管理方法是 一种人工跟进地方法,这种方法存在很多不足之处,如效率低下、反馈不及时、 进度跟踪困难等。这些问题会在软件项目开发项目开发中造成严重的后果,甚至 导致整个项目的失败。 本文探讨了软件过程和工作流的发展现状,分析了将工作流技术应用与软件 过程管理上的可行性何必要性。计算机技术的飞速发展,加剧了各个领域的自动 化进程。为了减少或避免传统的软件管理过程中存在的问题,本文将工作流技术 融入到软件管理过程中,实现软件管理的自动化或半自动化。这意味着,软件过 程管理过程将成为一个类似与办公自动化的自动流转的过程。管理者只需要搭建 软件开发过程模型、指派任务、设置里程碑和制品等,该模型转换为可被特定工 作流引擎解析的s p d l 语言,并在工作流系统的支持下自动流转起来。软件过程 管理的自动化可以提高软件项目开发的效率,降低其风险,增强软件项目的可控 性,为软件开发工程提供保障。 本文对比工作流管理联盟( w f m c ) 定义的基于x m l 的工作流描述语言 ( x p d l ) 和对象管理组织( o m g ) 定义的软件过程建模元模型之间的异同,在 此基础上提出了基于工作流的软件过程建模定义语言( s p d l ) 。该语言基于x p d l 元模型架构,并对x p d l 进行扩展,使之满足s p d l 软件过程建模所包含的元素。 除此之外,本文定义了软件过程建模的图形化表示方法( s p m n ) ,并将建模图形 表示与s p d l 相对应,并设计转换算法使图形模型转换为s p d l 语言。 基于以上理论研究,本文对基于工作流的软件过程建模工具进行了详细的设 计,并设计软件过程的图形化建模工具,以及软件过程进度追踪与变更控制。目 的是实现了图形化模型转换为s p d l 语言,为软件过程管理自动化打好了坚实的 基础。 关键词:软件过程,工作流,s p e m ,x p d l ,s p d l a b s t r a c t t h es o f t w a r ep r o c e s sm a n a g e m e n ti sv i t a lt ot h es u c c e s so fs o f t - w a r ed e v e l o p m e n t s o f t w a r e m a n a g e m e n ti n c l u d e sa n a l y s i s ,d e s i g n ,i m p l e m e n t ,t e c h n o l o g y , a n dt o o l s t h ew i d l yu s e dm e t h o do f s o f t w a r ep r o c e s sm a n a g e m e n tr e c e n t l yi sa r t i f i c i a l ,w h i c hh a sl o t so fs h o t a g e s ,s u c ha sl o we f f i c i e n c y , d e l a y e df e e d b a c k ,p r o g r e s su n t r a c e a b l e t h e s ep r o b l e m s c a l ll e a dt e r r i b l ec o n s e q u e n c et ot h e s o f t w a r ed e v e l o p m e n t ,o re v e nf a i lt h et o t a lp r o j e c t t h ee s s a yd i s c u s s e dt h ec u r r e n tr e s e a r c ho fs o f t w a r ep r o c e s sa n dw o r k f l o wt e c h n o l o g y , a n a l i z e dt h en e c e s s i t ya n df e a s i b i l i t yo ft h ec o m b i n a t i o no fw o r k f l o wt e c h n o l o g ya n ds o f t w a r e p r o c e s sm o d e l i n g ,a n dh o wt oa p p l y i tt h es o f t w a r ep r o c e s sm a n a g e m e n t w h i l et h er a p i d d e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , t h ea u t o m a t i o ni sw i d e l ys p r a a di nm a n yf i e l d i no r d e rt o r e d u c eo ra v o i dt h ee x i s t i n gp r o b l e m si ns o f t w a r ep r o c e s sm a n a g e m e n tt h ew o r k f l o wt e c h n o l o g y w a su s e dt os e r v et h es o f t - w a r em a n a g e m e n t ,a n dt oa c h i e v et h em a n a g e m e n ta u t o m a t i o no r s e m i a u t o m a t i o n t h i sm e a n st h em a n a g e m e n to fs o f t w a r ed e v e l o p m e n tw i l lb e c a m eaa u t o - r u n p r o c e s s t h em a n a g e r sw i l lj u s tn e e dt oe s t a b l i s ht h ed e v e l o p m e n tp r o c e s sm o d e l ,a s s i g nt a s k s ,s e t m i l e s t o n e sa n da r t i f a c t s ,t h e nt h em o d e lw i l lt r a n s f o r mt ot h es o f t w a r ep r o c e s sd e f i n i t i o nl a n g u a g e ( s p d l ) ,w h i c hc a l lb er e s o l v e db yag i v e nw o r k f l o we n g i n e i tc a nb ea u t o m a t i c a l l yc a r r yo u tb ya w o r k f l o ws y s t e m t h ea u t o m a t i cm a n a g e m e n tw i l li n c r e a s et h ed e v e l o pe f f i c i e n c y , r e d u c et h er i s k s , m a k et h ep r o j e c tm o r ec o n t r o l l a b l ea n de n s u r et h es u c c e s so fs o f t w a r ed e v e l o p m e n t t h ee s s a yc o m p a r e dt h e s i m i l a r i t i e sa n dd i f f e r e n c e sb e t w e e nt h ex m lb a s e dw o r k f l o w d e f i n i t i o nl a n g u a g ed e f i n e db yt h ew o r k f l o wm a n a g e m e n tc o a l i t i o na n dt h es o f t w a r ep r o c e s s e n g i n e e r i n gm e t a m o d e li n t r o d u c eb yt h eo b j e c tm a n a g e m e n tg r o u p b a c e do nt h i st h es o f t w a r e p r o c e s sd e f i n i t i o nl a n g u a g e ( s p d l ) i sp r o p o s e d s p d lk e p tt h eb a s i cp a c k a g es t r u c t u r eo fx p d l m e t a - m o d e l ,a n de x t e n d e dt h ee l e m e n to fx p d l ,s ot h a ti tc o u l dm e e tt h en e e d s o fs o f t w a r e m o d e l i n g m o r eo v e r t h es o f t w a r ep r o c e s sm o d e l i n gn o t a t i o n i sd e f i n e di nt h i s e s s a y t h i s d e f i n i t i o ni n c l u d e dt h ear u l eo fc o r r e s p o n d e n c eb e t w e e ns p m na n ds p d la n dt h et r a n s f o r m a t i o n a l g o r i t h m a tt h eb a s i so ft h et h e o r e t i c a lr e s e a r c h ,t h ee s s a yf u l l yd e s i g n e daw o r k f l o wb a s e ds o f t w a r e p r o c e s sm o d e l i n gt o o l ,a n dm a d et h ei m p l e m e n ta sw e l l i tc a r r i e do u tt h et r a n s f o r m a t i o nf r o mt h e g r a p h i c a lm o d e lt os p d l ,a n dl a y e dt h es u b s t a n t i a lf o u n d a t i o nf o rt h es o f t w a r ep r o c e s sm a n a m e n t a u t o m a t i o n k e y w o r d s :s o f t w a r ep r o c e s s ,w o r k f l o w , s p e m ,x p d l ,s p d l i i 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或机构已经发表或撰写过的研究 成果。其他同志对本研究的启发和所做的贡献均已在论文中做了明确的声明并表 示了谢意。 作者签名: 乙评 l 同期: 埘f 口,z 谬 论文使用授权声明 本人完全了解上海师范大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它手段保存论文。保密的论文在解密后遵守此 规定。 钙咯鞴:啦吼训上待 易泐缸 上海师范人学硕士学位论文 绪论 第l 章绪论 1 1 论文研究的背景及意义 软件丌发是一个不同于制造过程的工程化过程,一个高质量的软件依赖于良 好的设计和管理。软件过程模型是在应对开发环境中的实际问题而总结出的一系 列开发策略。经典的软件过程模型有:原型模型、瀑布模型、r a d 模型、增量模 型、螺旋模型、r u p 等。软件过程管理是根据实际项目的需要对开发策略进行建 模,并对相应的过程模型进行追踪、管理和调整,从而确保软件开发顺利进行的 过程。项目管理的范围包括人员( p e o p l e ) 、问题( p r o b l e m ) 和过程( p r o c e s s ) , 称为项目管理的3 p 原则i lj 。 近年来,为了提高软件过程管理的有效性和开发过程执行的高效性,自动化 软件过程管理逐渐成为一个重要的研究课题。自动化软件过程管理的目的是实现 任务和人员分配、流程流转、项目制品管理的自动化,从而提高项目开发的执行 效率及准确率。将工作流技术应用于软件过程管理中可实现软件过程管理的自动 化。早在1 9 6 8 年f r i t zn o r d s i e c k 就清楚地提出了利用信息技术实现工作流程自动 化的想法,而工作流技术于7 0 年代中期在办公自动化领域发展起来。进入9 0 年 代以后,随着计算机普遍进入社会生活的各个领域,以及:工作流技术及研究环境 的逐渐成熟,我国计算机应用领域开始了对工作流技术的研究。目前,工作流技 术被普遍应用于办公自动化、消费品行业、金融服务业、研究院及教育行业等多 个领域中。d a n i e lk c c h a n 和k a r lr p h l e u n g 深入研究了工作流技术应用于软 件过程的前景1 2 】,明确指出软件过程自动化可以降低软件过程的整体复杂度,同 时提高软件开发的开放程度和可度量性。 1 2 国内外研究现状 1 2 1 工作流技术的发展现状 随着计算机技术的发展,工作流技术从最初的自动办公系统逐渐渗透到各种 领域的应用中。1 9 9 3 年工作流管理联盟( 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 :w f m c ) 成立,负责制定工作流技术的相关标准。标准包括工作流元模型及其接口、工作 流定义语言,以及工作流集成和分析方法等,从而解决了不同工作流产品之间缺 乏标准的问题,提高了它们的连通性和协同工作能力。工作流管理联盟对工作流 的定义为1 3 j :工作流一类能够完全或部分自动执行的经营过程,根据一些过程规则, 文档、信息或者任务能够在不同的执行者之间传递、执行。它是为了达成某一目 标,自动或半自动的进行业务衔接的过程。目前,多数工作流产品遵循工作流管 绪论 上海师范大学硕十学位论文 理联盟定义的全部或部分标准。x m l 过程定义语言( x m lp r o c e s sd e f n i t i o n l a n g u a g e :x p d l ) 是工作流管理联盟提出的工作流定义规格。x p d l 是基于x m l 语言格式,具有良好的可扩充性,能够满足不同应用的特殊需求。 工作流技术的发展可以划分为三个阶段: 表1 1 - t 作流技术发展阶段 阶段描述应用 第一阶段应用于图像文档系统表单传递应用系统 第二阶段应用丁通信基础结构,实现任务协作支持特定业务流程的集成化 软件( 包) 第三阶段应用于图形化过程定义,实现任务定义与任务当代自定义流程的业务系统 执行相分离 2 0 世纪8 0 年代中期发展起来的工作流技术为企业目标的实现作出了巨大贡 献。目前,工作流管理系统在工业和制造业领域发挥着重要作用。它实现物料流、 资金流、信息流及相关过程与应用的集成,使得企业业务过程集成、业务过程自 动化与业务过程管理得以整合在一起。除此之外,工作流管理技术己被广泛地运 用到办公自动化系统、图书馆管理系统、保险及金融等业务中。使用工作流技术 实现业务过程集成与业务过程自动化是通过定义任务及其之间相互关系来实现 的。这就需要定义业务过程模型,定义好的业务过程模型被称为的工作流模型( 或 称为过程模型) 。 在传统企业业务流转中,不同的业务部门、业务人员之间通过文件通知、传 真信函、报告申请等形式进行信息传递。8 0 年代中期,f i l e n e t 和v i e w s t a r 等图 形图像处理公司成为最早的一批工作流产品供应商。1 9 8 4 年由f i l e n e t 推出的 w o r k f l o wb u s i n e ss y s t e m ,1 9 8 8 年由v i e w s t a r 推出的v i e w s t a r 便是其中的典型代 表【4 儿5 。此时的工作流产品将图像扫描、复合文档、结构化路由、实例跟踪、关键 字索引以及光盘储存等功能集成在一起,形成了一种用于企业文件处理的图像处 理系统。它的功能是将扫描得到的各种文件按照一定的规则发送给相关人员,这 便是早期的工作流管理系统。 进入9 0 年代,企业信息化程度得到高速发展。c l i e n t s e r v e r ( c s ) 、 b r o w s e r s e r v e r ( b s ) 体系结构,分布式处理技术日益成熟,使得集中式纸质信息 处理的方式逐渐被大规模异构的分布式信息处理方式所替代,这使得任务能够高 效运转并可以被严格监督控制【6 1 。i n t e m e t 的发展和普及为电子商务奠定了技术基 i l 丑t 1 3 】,电子商务的发展和壮大必须实现商务流程的管理和监控【1 4 1 ,工作流技术也 在该领域得到了长足发展。工作流管理系统的角色由最初的无纸化办公自动化手 段转变成为整合企业复杂信息,实现业务流程自动流转的必要工具。于此同时工 2 上海师范人学硕十学位论文 绪论 作流技术进入了一个崭新的发展阶段,更多的学者和技术研发人员开始对工作流 技术展开深层次的研究工作,使其向更广阔的领域发展。 1 2 2 软件过程的研究现状 1 软件过程管理 用于软件开发和软件维护的软件过程是决定软件产品质量好坏的重要条件。 早期的软件开发是是作坊是作坊式的软件生产,缺少设计和规划。由于软件规模 往往较小,通常依靠开发人员单独工作就可以完成。随着软件工程的不断发展, 软件的规模、集成性和复杂度都不断增加。二十世纪六十年代出现的“软件危机 j 下是软件过程无法适应软件需求的具体体现。 现代软件过程已不单单是软件生产过程,而是转变为一个复杂的工程。必须 引入工程的设计和开发原则、注重工程的管理,才能保证软件开发的顺利进行。 软件过程是人们用以开发和维护软件及其相关产品的一组活动、方法、实践及其 变换。1 4 】i e e e 将其定义为“为实现给定目标所执行得一系列步骤 。1 5 1 软件过程 一般包括软件策划、需求分析、设计、开发、测试、实施、运营、维护等阶段。 软件过程模型是在开发实践中形成的经典开发策略,它在软件开发的整个过程中 起主导作用。 自8 0 年代软件的出现开始,计算机行业发生了持久而剧烈的变化。如今,软 件已经应用在诸如网络移动设备、医药、金融等各个行业。软件的规模也日渐增 大,到2 0 1 0 年一部手机的代码已经增加到1 0 0 0 万l o c i 酬。在软件行业发展的驱 动下,软件过程模型越来越被开发团队所重视。在实际开发中,开发人员往往不 是选用一个现有的过程模型组织和管理开发过程,而是根据需要对已有经典模型 进行修改,或者将两个或更多的过程模型整合使用,使其更适用于软件项目开发 的实际情况,从而达到效率最优化的目的。 由于软件过程在软件开发工作中是至关重要的,学者们对软件过程不断地进 行着深入而广泛的研究。l e p a s a a rm m a k i n e n 和t p o r is e h 基于软件过程元模型 对软件过程评价模型【j 7 1 ,旨在帮助软件开发者提高工作组织能力建立任务的优先 级,从而使丌发工作顺利开展。软件开发过程管理是一门较为复杂的技术。它不 仅涉及软件工程相关技术,还需要人员调配、沟通反馈、掌控全局、控制变更等。 任何一个环节的失误都可能导致项目的延迟甚至失败。因此,有效地管理是项目 成败的关键。目前应用的最为广泛的软件过程管理通常是人工过程,该过程存在 的问题有以下几点: ( 1 ) 任务分派效率低下:项目经理往往需要兼顾多项工作,如进度检查、风 险管理、项目评测、质量管理等,容易导致工作任务下达不及时、效率低下等问 3 绪论上海师范人学硕十学位论文 题。同时口头下达的任务很有可能被遗漏,致使工作延迟。 ( 2 ) 人为错误率高:由于一切管理工作都为人工操作,容易产生人为错误。 ( 3 ) 无法高效管理制品:项目过程中生成的制品,需要按时进行管理和备份, 着无疑加大了丌发人员的工作量。 ( 4 ) 反馈迟钝:开发人员的反馈信息往往不及时,该信息包括开发进度、开 发问题、制品上报等,工作的拖沓导致项目无法如期向前推进。 ( 5 ) 时间控制不灵敏:基于以上种种原因,在项目管理中时间控制的问题频 繁出现,危机着项目开发工作。 随着软件规模和复杂度的增加,以及软件过程的进一步成长和成熟,软件管 理的低效性与软件开发的高效需求之间的矛盾日益增加。为了使软件过程更加高 效和可控,以上罗列的项目开发管理中存在的问题是亟待解决,因此对项目管理 的研究是具有现实意义的实践价值的。 。一 2 软件过程可视化建模 目前存在着大量的可视化建模工具,其中应用最为广泛的有m i c r o s o f t 开发的 v i s i o ,用于软件分析的建模工具r o s e 以及e a ( e n t e r p r i s e a r c h i t e c t u r e ) 。这些软 件都是辅助软件丌发工作的软件,可以方便的建立软件系统的领域模型、结构模 型等,同时可以满足数据库设计和系统详细设计的需求。这些工具是软件开发工 作中的辅助工具,却不是软件过程管理的建模工具。换句话说,这些工具通常被 分析师、开发人员使用,而非项目经理。 然而u m l 作为统一建模语言,它的功能是非常强大的,具有极大地通用性可 扩展性。学者们对基于u m l 的软件过程建模做了大量研究,大多是对现有u m l 进行扩展,使其适合与软件过程建模。然而现有可视化建模工具对扩展后的u m l 并不能完全支持。对u m l 进行扩展,对软件过程建模的实现是一种可行地方法, 然而这种方法只停留在建模的层次,他无法实现对整个过程流转进行控制。 1 3 论文的主要工作 本文针对目前软件过程管理以及软件过程建模中存在的问题,基于工作流技 术提出软件过程管理自动化方案。主要研究基于工作流技术规范的软件过程建模。 根据s p e m ( s o f t w a r ep r o c e s se n g i n e e r i n gm e t a m o d e l ) 标准对x p d l 元模型中的元 素进行扩充,使其具备软件过程建模的特殊要求,并将其定义为s p d l ( s o f t w a r e p r o c e s sd e f i n i t i o nl a n g u a g e ) 。s p d l 符合s p e m 规范,支持软件过程模型的全部特 性,从而避免软件过程模型转换为传统x p d l 时出现的语义丢失问题;同时,它 4 f :海师范人学硕+ 学位论文绪论 可以直接被工作流引擎所解析,进而实现软件过程模型的自动化管理过程。设计 基于s p d l 的数据方案( s c h e m a ) ,定义数据结构规范。设计并制定软件过程建模 的图型化表示法s p m n ( s o f t w a r ep r o c e s sm o d e l i n gn o t a t i o n ) ,并研究s p m n 与 s p d l 的映射规则、流转控制规则和语义转换规则。实现图形化建模环境,支持用 户定制和修改软件过程模型,并将该模型映射为s p d l ,提交到相应工作流引擎执 行。 论文的主要创新点包括: 1 定义s p d l 语言。 2 设计基于工作流的软件过程图形化建模元模型s p m n 。 3 研究元模型向s p d l 的转换算法。 4 设计了基于工作流的软件过程建模工具。研究该工具针对软件过程的建模 工具,并将用户建立的软件过程模型转换成为可被特定工作流引擎解析的 s p d l 语言,从而时间软件过程管理的自动化或半自动化进程,该工具主 要设计实现以下功能: 1 ) 可视化流程定义 2 1 灵活的任务分配与参数设置 3 1 计划变更处理 1 4 论文的结构安排 本文首先介绍软件过程以及工作流的相关知识,重点阐释软件过程模型和软 件过程管理;然后重点介绍基于工作流的软件过程建模的相关研究,重点是x p d l 的扩展,以及图形化建模元模型s p m n ;其次介绍基于s p d l 的建模工具的设计与 实现,并介绍利用该工具的软件过程建模实例;最后是总结。论文共分七章: 第一章:绪论。阐述论文的研究背景、目的及意义,分析工作流和软件过程 的研究现状,并概述论文的主要工作和结构安排。 第二章:工作流技术与软件过程概述。介绍工作流与软件过程的相关技术, 简单介绍软件过程开发管理流程、软件过程模型、工作流相关定义及工作流引擎 的工作原理。重点分析工作流技术应用与软件过程管理的可行性。 第三章:软件过程定义语言( s p d l ) 。对比研究x p d l 与s p e m ,对x p d l 进行扩展得到一种新的基于工作流的软件过程建模语言s p d l ,并对s p d l 的架构、 元素和属性进行详细介绍。 第四章:软件过程建模图形化表示( s p m n ) 。设计软件过程建模图形化表示 ( s p m n ) 并研究建模图形与s p d l 的对应原则和模型转换算法。 第五章:建模工具设计实现方案。概述基于工作流的软件过程建模工具,介 绍工具的详细设计方案:系统层次架构设计、数据库的选取与设计以及功能模块 5 绪论上海师范人学硕十学位论文 详细设计。 第六章:结束语。对本论文工作进行总结,并提出论文下一步工作。 最后是参考文献、致谢及研究生期间发表的论文和参与的项目。 6 上海师范人学硕+ 学何论文 t 作流技术与软件过程概述 第2 章工作流技术与软件过程概述 2 1 工作流 工作流管理联盟( w m f c ) 给出的工作流定义为 s l :“工作流是一类能够完全或 部分自动执行的业务过程。它根据一系列的过程规则,将文档、信息或任务在不 同执行者之间进行传递和执行,从而实现某个预期的业务目标,或者促使该目标 的实现。 工作流的结构可以是顺序的、并行的、或者循环的。 图2 1 表示一个工作流示例:表示每周五下午6 点检查工作组状态,若状态 为激活( a c t i v e ) 则发送工作列表,否者继续等待工作组的状态被激活。该示例中 有两个出发工作流运转的条件,第一是以时间出发,即每周五下午5 点自动运行 工作流,二是消息触发,即需要人工对其进行干预。只有向工作流管理系统发送 “激活工作组”的消息,工作流系统才发送工作任务清单。 图2 1 - t 作流示例 2 1 1 工作流的相关定义 1 工作流模型 工作流模型是对工作流的一种表达形式,它是把工作流抽象的表达成为一种 计算机环境下可以识别的模式,并在计算机环境下自动运转。工作流模型是对工 作流的抽象,即对业务流程的抽象表示。 e l l i s 和n u t t 在p e t r i 网的基础上提出了i n f o r m a t i o nc o n t r o ln e t s ( i c n ) 模型一j , 该模型的活动用库来表示,而使用变迁表示活动间的转移信息,它实际上是对高 级p e t r i 网的引申。文献【1 0 1 采用有色p e t r i 网来描述一个工作流过程。v a nd e ra a l s t 定义了w f n e t 1 1 】,即工作流网。它也是在p e t r i 网的基础上进行研究的。在工作流 网中用变迁来表示活动,库所则表示活动的使能条件。除此之外,v a nd e r a a l s t 把 w f m c 提出的几种基本的工作流原语与相应的p e t r i 网模型进行了映射,并在此基 础上建立了w f n e t 的基本组件和触发机制。 7 t 作流技术与软件过程概述上海师范人学硕十学位论文 w i n o g r a d 与f l o r e s 提出了一种基于对话的工作流模型【1 2 】【1 3 】,这种工作流模型 的定义是以语言行为理论为基础的,需要指定客户方与服务方的语言行为交互。 该模型由一系列闭合的工作流环衔接而成,每个工作流环被分为4 个阶段:需求 阶段、协商阶段、执行阶段和满意阶段。 文献【1 4 】给出了一种活动树( a c t i v i t yt r e e ) 的模型。它将工作流过程表示为个树 状结构。工作流过程从根节点开始,被逐层地分解为由各级子节点所代表的活动, 活动是由树的左子树至右子树逐个分支地进行执行的。 a n d r e a sg e p p e r t 等人提出了代理朋艮务模型b r o k e r s e r v i c e s 模型【i 引,用代理来 表示工作流执行过程中的处理实体,用服务来表示所要执行的活动。 b r o k e r s e r v i c e s 模型同时定义了较为精确与严格的形式化语义。 2 工作流引擎 工作流引擎是工作流管理系统的核心部分,工作流引擎的作用是解析工作流 描述语言x p d l ,并推动整个过程自动流转。工作流管理联盟对工作流引擎的定义 是【l6 】:为工作流实例提供运行时执行环境的软件服务或者“引擎”。工作流引擎主 要完成以下任务: ( 1 ) 对过程定义语言进行解析; ( 2 ) 控制过程实例的创建、激活、挂起、终止; ( 3 )控制活动实例间的转换; ( 4 )提供支持用户操作的接口; ( 5 )维护工作流控制数据,在应用或用户问传递工作流相关数据; ( 6 )提供用于激活外部应用程序和访问工作流相关数据的接口; ( 7 )提供控制、管理和监督工作流过程实例执行情况的功能。 工作流引擎定义了五个用于工作流服务的标准化功能接口,分别为过程定 义工具接口、工作流管理工具接口、 3 工作流管理系统的概念 工作流管理联盟( w f m c ) 把工作流管理系统的定义为【1 6 】:工作流管理系统是一 个完成工作流定义和管理软件系统,它按照在计算机中预先定义好的工作流逻辑 推进工作流实例的执行。工作流管理系统是以工作流引擎为支撑,至少具有一个 工作流引擎,也可同时在多个引擎的相互协作下执行工作流模型,并提供一些流 转管理功能的系统。这些功能包括工作流过程管理、工作流状态监控、集成应用 程序以及提供用户接口等。其中本文涉及的过程定义工具属于工作流管理系统的 一部分。大型的工作流通常是由一个或多个工作流引擎共同协作来完成功能的。 工作流管理系统【1 7 】通常由图2 2 所示的几个部分组成: 8 上海师范大学硕士学位论文工作流技术与软件过程概述 i 工作漉客户随用i 应用调用 图2 - 2 工作流系统模型 过程定义工具:对实际业务过程进行分析和建模,并生成可被计算机处理的 业务过程的形式化描述,该描述通常可被工作流引擎直接解析,即它生成的是基 于工作流规范的x p d l 语言的业务过程定义。 工作流执行服务:是工作流运行的环境。它借助工作流引擎来解析和激活过 程定义,并通过与外部的应用程序进行交互来创建工作流过程实例、并对工作流 实例进行执行与管理。 客户应用程序:用来处理过程实例运行中需要人工干预的任务。它为每一个 用户维护一个工作表项,记录当前用户需要处理的所有任务以及用户任务的完成 状态等信息。 被调应用程序:指在过程实例的运行中工作流执行服务调用的、完成对应用 数据处理的应用程序。过程定义中包含应用程序的详细信息( 如类型、地址等) 。 管理及监控工具:对工作流过程实例的状态进行监控与管理,可以启动和暂 定工作流,对用户和角色进行管理以及资源的控制等。 2 1 2x p d l x p d l ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) 是由工作流管理联盟( x 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 ) 提出的标准化规格,x m l 文件为基础,使不同 的工作流程软件能够符合业务流程的定义。 x p d l 的重要特性为它是一个通用的框架,该框架可以用相同的对外表现形式 来支持开发者的特殊需求。应用开发的实现与其外部接口可以独立分开,无论实 9 丁作流技术与软件过程概述上海师范大学硕十学位论文 现方式如何,采用怎样的图形描述,只要外部接口符合x p d l 规范,就可以保持 相同的表示形式,从而提高应用的兼容性。 x f m c 与2 0 0 2 年发布了对x p d l i 0 定义1 8 j ,该版本包含对x p d l 元模型包和 类的描述,以及元素及其属性的相关定义,并给出基于x p d l 定义工作流过程模 型的实例及其模型方案。2 0 0 8 年,w f m c 又发布了x p d l 2 1 l j j 白皮书,它是根据 工作流技术的发展,对x p d l l 0 版本中缺失结构及元素的补充。其中包括关联 ( a s s o c i a t i o n ) 、制品( a r t i f a c t ) 、数据对象( d a t ao b j e c t ) 等。这些元素加入使工 作流技术可以更好的满足软件过程建模的需求,然而,x p d l 2 1 与x p d l l 0 的出 发点相同,都是用于企业业务流程过程管理,这一出发点就决定x p d l 语言无法 完全满足软件生命周期模型的特殊需求。 1 0 上海师范大学硕士学位论文l :作流技术与软什过程概述 2 1 3 工作流管理系统的执行原理 预层色:人弱 图2 3t 作流产品通用结构 工作流管理系统的执行过程首先需要过程定义工具对工作流过程模型进行定 义,过程定义基于x p d l ,并包含组织模型及角色模型数据以及工作流应用的引用。 工作流引擎接收过程定义,并对其进行解析,解析过程生成工作流控制数据、工 作流相关数据以及工作列表,并激发整个流程按照过程定义的迁移条件流转起来。 管理员可以通过工作流引擎管理停止、暂停、挂起工作流。解析生成的工作列表 将转入工作列表管理器,并转发给需要执行相应任务的人员。应用以及应用相应 数据属于对工作流管理系统的扩成部分,它们可以被工作流引擎调用也可以被用 户调用,其执行同样需要工作流相关数据信息的支持。 t 作流技术与软 ;,l :过稃概述卜海师范人学硕十学位论文 2 2 软件过程 软件过程【l 】是指软件的整个生命周期所涉及的一系列相关过程,从需求软取开 始,需求分析,设计,实现,测试,到发布和维护一个完整过程。它由项目的阶 段、状态、方法、技术和开发、维护软件的人员以及相关制品( 计划、文档、模 型、编码、测试、手册等) 组成。过程是活动的集合,活动是任务的集合,活动 的执行可以是顺序的、重复的、并行的、嵌套的或者是有条件地引发的。 2 2 1 软件生命周期模型 软件生命周期( s o f t w a r el i f tc y c l e ) 是指软件产品或软件系统从规划、生产、 投入使用到被淘汰的全过程。每一个项目都是独特的,拥有独一无二的开发过程, 但经过几十年的积累,人们将这些不同j x l 格的丌发流程进行总结,形成了相应的 软件生命周期模型,模型描述了跨越整个软件生命周期的关键阶段及阶段间关系 的框架。项目的开发通常可归纳成成为某种经典的软件生命周期模型。软件生命 周期模型是软件开发申所发生的阶段的高层定义,它们不提供细节,而是突出关 键活动及其相互依赖关系。 经典的软件过程模型有【1 8 1 :瀑布模型、增量模型、螺旋模型、原型模型以及 统一过程模型。其中瀑布模型是最早提出的软件生命周期模型,它的整个流程像 一个瀑布是顺序进行的。而现在软件丌发中运用较为广泛的是统一过程模型。 1 瀑布模型 1 9 7 0 年w r o y c e 提出了瀑布模型( w a t e r f a l lm o d e l ) 。瀑布模型将软件开发活 动组织成一个系统的线性模型,从需求分析开始,通过软件设计、实现、测试, 最终交付软件并提供维护。 1 2 上海师范人学硕七学位论文丁作流技术j 软件过程概述 图2 - 4 瀑布模型 如果采用瀑布模型开发的软件工程过程大致如下:首先,软件分析师与客户 进行反复交流,明确客户需求,编写软件需求规格说明书( s o f t w a r er e q u i r e m e n t s p e c i f i c a t i o n ,s r s ) ,验证通过的需求规格说明被确定下来作为后续开发的依据; 软件设计人员随后进行模块划分和接口定义,待工作通过验证后,将模块安排给 程序员开始编码;编码结束后,进行一系列的测试,通常包括单元测试、系统测 试和集成测试;最后交付给客户使用并进行后期维护工作。 作为最早被系统化提出的软件生命周期模型,瀑布模型可以明确划分阶段以 推迟实现。与编码一修正开发过程不同,瀑布模型将之前混乱的软件开发活动组 织成系统、严格的流程,这些流程就像生产线的工序,强调在编写程序之前要顺 序经过需求、设计阶段,完成相应的文档并经过验证后才能开始编码,强制开发 人员。 在瀑布模型提出的几十年间,有大量使用该模型获得成功的例子,但上述特 征也具有不完善的地方: 无法应对需求的不稳定性。严格的瀑布模型要求前一活动全部完成并经过验 证以后才能进入下一步骤,即编码阶段的开始,必须基于需求分析的完成,而且 在需求分析之后的各个阶段中,不再接受对需求的任何修改。但在实际操作中, 1 3 t 作流技术与软件过样概述 上海师范人学硕十学侮论文 客户往往会在开发中期对需求提出修改要求,甚至会改变在项目初期对于系统的 期望。这是一种自然的、合理的行为,但是瀑布模型却难以应对需求不稳定的项 目。 前期质量保证不够完善,容易导致风险积累。瀑布模型要求本阶段完全正确 后方可进入下阶段。分阶段评审能够消除一部分错误,但在最终系统发布之前, 不可能或难以验证其正确性。如系统设计预计保证平均响应时间为0 1 s ,但在阶段 评测中仅通过对文档和设计模型的检查,无法获知系统响应时间。尽管瀑布模型 强调分阶段质量控制,但在产生可以运行测试的程序之前,质量控制停留在对需 求和设计文档的验证上,另一方面,设计者们在撰写设计文档时不能完全考虑到 实现软件制品时可能产生的困难。 瀑布模型虽然不够完善,但是至今保持着其不可动摇的经典地位,后续出现 的其他模型中都或多或少有瀑布模型的影子,并在某一方面上弥补了瀑布模型的 不足。 2 快速原型模型 快速原型模型又称原型模型,它是在开发系统之前构造一个原型,系统的整 个开发工作基于该原型完成。快速原型是继瀑布模型之后的一种软件开发新思想。 快速原型模型首先足重复建造和修改一个供用户参考的原型,并激发用户对原型 进行评价从而进一步细化系统需求。设计者通过调整原型来确定用户的详细需求, 并在此基础上开发软件产品。图2 5 描述了快速原型模型的应用流程: 1 4 上海师范人学硕十学位论文 丁作流技术j 软件过程概述 图2 - 5 快速原型模型的应用流程 快速原型模型的提出是由需求获取工作的复杂性而引发的。由于用户在初期 难以确定需求的具体内容,或者难于清晰的表达需求,因此在需求分析阶段得到 完全、一致、准确、合理的需求说明是很困难的。快速原型模型的基本思想是基 于一组基本需求说明而快速对需求进行分析,建立模型,即将需求“实现”。但该 实现并不要求在功能上的完全实现,也不需要建立可发布的系统,往往只是对用 户层的展现。通过向用户呈现原型地方法使用户受到启发,从而对需求进行补充 和细化,消除不恰当的需求,从而获得合理的、无歧义的、完整的、可行的需求 说明。 随着软件工程的发展,快速原型思想逐渐摆脱需求阶段的限制,并向软件开 发的其他过程扩展。利用相对较短的周期和较少的成本,开发一个简单的、可以 运行的系统原型向用户演示或让用户试用,并根据用户反馈调整策略开发软件系 统。该演化成为了早期的增量模型。 其优点是可以较好的解决瀑布模型的局限性,提供一种与客户进行沟通可行 1 5 i :作流技术与软件过群概述上海师范大学硕十学位论文 性方法,促使用户主动参与开发活动,加强了信息的反馈,促进了各类人员的协 调交流,减少误解,澄清用户需求并且较好的适应了需求的变化。原型模型可以 降低软件丌发过程的风险,缩短开发时间,减少费用,提高生产率,最终有效提 高软件系统的质量。 然而快速原型模型也会导致用户对开发过程的误解。由于其快速性,用户往 往不能理解设计者提供的软件系统的复杂性和规模。需要在开发过程中加强与用 户的沟通交流。其次,快速原型模型有其局限性,它的整体设计不充分,在功能、 构架上存在缺陷,不应作为系统实现的一部分,而整个系统应在原型的基础上重 新开发。 3 增量模型 增量模型是瀑布模型和原型实现的有机结合,该模型随着时间的进展而产生 多个线性序列,每一个线性序列产生软件的一个可发布的“增量”。增量模型的第 一个增量往往是该项目的核心产品,即第一个增量往往实现了用户对软件的基本 需求,而缺少一些软件产品中补充和扩展的功能。客户对已发布增量的评估和反 馈作为下一个增量的特征和功能。增量模型在本质上是迭代的,但与原型模型的 实现不同,它强调每一个增量均要发布一个可操作的产品。增量模型的软件过程 如图2 6 所示: 丌 发 进 度 开发时问 图2 - 6 增量模型 增量模型在项目开发中具有灵活性的特点,它引入增量包的概念,只需要确 定增量包的需求即可进行开发,比瀑布模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新媒体平台网络主播形象塑造与推广服务协议
- 2025年度跨国企业间财务数据共享与保密协议范本
- 2025年绿色环保型危险化学品特种运输服务协议
- 2025年度高端医药研发投资咨询及临床试验策略指导合同
- 2025年企业内部管理培训项目合作协议
- 2025年企业突发事件应急管理及应急物资储备服务合同
- 2025年音乐节活动策划与舞台灯光设备租赁合同
- 2025年学校食堂智能化系统建设与维护全流程服务合同
- 2025年绿色饲料加工与全国销售合同(含仓储物流及售后服务)
- 2025可持续印刷产业链建设与资源整合合作合同
- 肌张力障碍演示课件
- 锅炉安全技术规程标准(TSG 11-2020)
- 员工薪资调整审批表
- 中医妇科学:女性的生殖脏器
- 除锈剂MSDS参考资料
- 不等式及其基本性质说课课件
- 明渠均匀流计算公式
- 《纯物质热化学数据手册》
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 2023年山东威海乳山市事业单位招聘带编入伍高校毕业生12人笔试备考题库及答案解析
评论
0/150
提交评论