(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf_第1页
(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf_第2页
(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf_第3页
(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf_第4页
(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf_第5页
已阅读5页,还剩59页未读, 继续免费阅读

(计算机软件与理论专业论文)软件过程改进框架中过程资产库的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要 当前,世界各国都在实施信息化带动工业化的发展战略,包括中国在内的许 多国家将软件产业作为国民经济的支柱产业,软件生产进入了以改善软件过程为 中心的软件工程时代。而软件过程改进是一项综合的需要持续开展的活动,涉及 软件工程的方法和过程领域的关键技术。因此对软件过程改进方法和相关技术方 面的研究是一个挑战性的、具有重要意义的理论和实际应用课题。 目前,软件组织在进行软件过程改进( s p i ,s o f t w a r ep r o c e s si m p r o v e m e n t ) 时, 其核心工作之一就是建立和维护组织的过程资产库,以此来提高软件过程的管理 水平。所谓过程资产库,是软件组织在s p i 过程中产生的有价值实体的集合,这 些资产横跨各项目过程,形成软件组织持续过程改善的源泉。 本文分析了过程资产库在过程改进中的重要作用和地位,详细研究了过程资 产库的整体结构,并在此基础上设计了过程资产库管理系统( p a l m s ) 。p a l m s 借鉴c m m 中“组织一项目”两级的层次化过程管理思想,提供组织级和项目级 相对独立的过程管理功能,是一个指导软件开发全过程的支持工具,在很大程度 上提高了过程资产的形成和复用水平,为企业实施c m m 提供借鉴和参考。 标准过程库管理子系统是p a l m s 的一个重要组成部分,它提供的标准过程是 裁剪和定义项目软件过程的基础。传统的标准过程裁剪中,标准过程只有单一抽 象层次,所以造成了裁剪工作量大、软件过程定义效率低下的问题。本文针对该 问题提出了创建多抽象层次标准过程的分类描述方法。首先,根据过程的抽象层 次,将过程分为三种类型,对功能相同,抽象层次不同的过程通过继承来简化其 定义;其次,采用x m l 描述方式代替传统的文档化描述方式,并在此基础上创建 标准过程库;最后,以标准过程库为例设计并实现了标准过程管理子系统,在一 定程度上为提高软件生产率和降低软件开发成本提供了支持。 关键词:软件过程资产库;标准软件过程;软件过程改进 英文摘要 r e s e a r c ho np r o c e s sa s s e t sl i b r a r yo fs o f t w a r ep r o c e s s i m p r o v e m e n tf r a m e w o r k a b s t r a c t n o w a d a y s ,a l lc o u n t r i e sa r o u n dt h ew o r l da r ep r a c t i c i n gt h ed e v e l o p m e n ts t r a t e g y o fi n f o r m a t i o nd r i v e ni n d u s t r i a l i z a t i o n m a n yc o u n t r i e s i n c l u d i n gc h i n aa l l t a k e s o a r ei n d u s t r ya st h eb a c k b o n ei n d u s t r yi nt h e i rn a t i o n a lc c o n o m y s i n c et h e n s o f t w a r ep r o d u c t i o ne n t e r si n t os o f t w a r ep r o c e s si m p r o v e m e n tc e n t e r e ds o f t w a r e e n g i n e e r i n ge r a o nt h eo t h e rh a n d , s o f t w a r ep r o c e s si m p r o v e m e n ti sac o m p r e h e n s i v e a c t i v i t y i t n e e d sl o n g - t e r mp r a c t i c ea n di n v o l v e sm e t h o d so fs o f t w a r e p r o c e s s e n g i n e e r i n ga n dk e yt e c h n o l o g i e so fs o f t w a r ep r o c e s sf i e l d t h er e s e a r c ho fs o f t w a r e p r o c e s si m p r o v e m e n ta n dr e l a t e dt e c h n o l o g i e si sac h a l l e n g i n ga n di m p o r t a n tt h e o r ya n d p r a c t i c a la p p l i c a t i o ns u b j e c t a tp r e s e n t , w h e nt h es o f t w a r eo r g a n i z a t i o ni m p l e m e n ts p i ,o n eo fi t sc o r ew o r ki s e s t a b l i s h m e n ta n dm a i n t e n a n c eo r g a n i z a t i o n ss o f t w a r ep r o c e s sa s s e t sl i b r a r y 口a l ) ,i n o r d e rt oi m p r o v es o f t w a r ep r o c e s sm a n a g e m e n tl e v e l p a li sas e to fv a l u a b l ee n t i t y t h a ti n s t r u c ts o f t w a r ep r o j e c tw h i c ho b t a i n sf r o mt h ea c c u m u l a t i o ni nt h es p ip r o c e s s t h e s ea s s e t ss t r e t c ha c r o s se v e r yp r o j e c tp r o c e s s ,f o r mt h eh e a d s p r i n go fs o f t w a r e o r g a n i z a t i o ns u s t a i n e dp r o c e s si m p r o v e s b ya n a l y z i n gt h ek e yr o l eo f p a l i ns o f t w a r ep r o c e s si m p r o v e m e n tf r a m e w o r ka n d t h es t r u c t u r eo fp a l ,t h i sa r t i c l ed e s i g n sp a l m s p a l m sm a k e sn s eo ft h et w o l a y e r l i i e 船r c l l i c 8 l p r o c e s sm a n a g e m e mi d e ao f ”o r g a n i z a t i o n p r o j e c t mc m m p r o v i d e s d i f f e r e n tp r o c e s sm a n a g e m e n tm e c h a n i s mf o ro r g a n i z a t i o nl e v e la n dp r o j e c tl e v e l t h e p a l m si sas u p p o r tt o o lw h i c hi n s t r u c t sa l lt h es o f t w a r ep r o c e s s ,s ot h ef o r m i n ga n d r e u s i n gf o rp r o c e s sa s s e ta r es t r e n g t h e n e da n dp r o v i d e st h er e f e r e n c ef o rt h ec o m p a n i e s s t a n d a r dp r o c e s sl i b r a r yi sa l li m p o r t a n tc o m p o n e n to fp a l m s ,i t ss t a n d a r d p r o c e s si st h eb a s i co ft a i l o ra n dd e f i n i t i o nf o rt h es o f t w a r ep r o c e s s a c c o r d i n gt ot h e p r o b l e mo ft r a d i t i o n a ls t a n d a r dp r o c e s so n l yo n ea b s t r a c tl a y e r , w h i c hm a k ei th a r dt o t a i l o rt h es t a n d a r dp r o c e s s w ep u tf o r w a r dt h em e t h o do f s u p p l yd i f f e r e n ts t a n d a r d 英文摘要 p r o c e s s e sw h i c hh a v es a n l ef u n c t i o na n dd i f f e r e n ta b s t r a c tl a y e r , a n du $ ei n h e r i tt o s i m p l et h et a s ko fd i f f e r e n ts t a n d a r dp r o c e s sd e f i n i t i o n w es e l e c ts e v e r a lf a c e t st o d e s c r i b et h ep r o c e s s t h ex r r di ss e l e c t e dt od e s c r i b et h es t a n d a r dp r o c e s s ,a n dt h e n c o n s t r u c tt h es t a n d a r dp r o c e s sl i b r a r y t a k es t a n d a r dp r o c e s sl i b r a r ya sa l le x a m p l e f i n a l l y ,d e s i g na n dr e a l i z eas t a n d a r dp r o c e s sl i b r a r ys y s t e mt or a i s et h ep r o c e s s i m p r o v e m e n te f f i c i e n c ya n d t or e d u c es o f t w a r ec o s t k e yw o r d s :p r o c e s sa s s e t sl i b r a r y ;s t a n d a r ds o f t w a r ep r o c e s s ;s o f t w a r ep r o c e s s i m p r o v e m e n t 、 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文:丛往过捏夔鲎攫塞主过程姿主痊的硒究:。除论文中已 经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发 表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:未4 丹田年弓月f 7e l 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 本学位论文属于: 保密口 不保密砂( 请在以上方框内打“”) 论文储躲抖导师魏删 日期:州年;月7 1 日 软件过程改进框架中过程资产库的研究 第1 章绪论 1 1 研究背景 进入八十年代后,随着网络技术的飞速发展,计算机应用全球化的步伐日趋 加快,软件业面临着新的挑战。面对越来越多的应用领域和规模越来越大的软件 项目,当时已有的各种软件开发模型渐渐显露出局限性:很多重要的支持开发过 程的活动细节,如管理、控制、人员、协作等,无法一一顾及,这种局面使软件 的开发受到了严重的制约。为了改变这种局面,产生低成本、高质量、按时交付 的软件产品,软件开发组织开始对软件工程方法进行深入的研究,软件过程改进 成为软件工程学科的一个重要研究方向【l j 。 目前,在软件过程改进方面已存在许多国际标准,例如c m m 、i s o i e c1 5 5 0 4 和b o o t s t r a p 等。美国卡内基梅隆大学软件工程研究所( s e i ) 提出的软件能 力成熟度模型( c m m ,c a p a b i l i t ym a t u r i t ym o d e l ) 是近年来影响最大、成效最显著 的成果之一【t , 2 l 。c m m 把重点放在软件过程的管理和提高上,现在已经成为国内 外软件组织普遍采用和承认的一种评价和改进软件过程能力的有效手段。目前我 国有数百家软件企业正在积极进行c m m 国际质量体系认证,其中已有5 0 多家企一 业通过了c m m 2 级以上的认证。但这些企业远未取褥预期的目标,多数软件企业 仍然面临“项且延期交付、费用超支、效率不高”等共性问题,软件企业对过程 改进的大量投入没有得到应有的回报。分析造成这些问题的原因,一方面是由于 我国软件企业实旖过程改进的历史较短,企业的规模较小;另一方面我国软件企 业对过程改进的理解和准备不足,更缺乏有效的过程改进方法和技术手段1 3 l 。 上述情况表明:要提高软件过程的管理水平,在实施软件过程改进( s p i ) 时, 客观上需要持续地积累和有效地应用组织的过程资产。过程资产【4 ,”,就是组织在 s p i 过程中积累而得到用于指导软件项目的过程文档和数据等重要信息,任何一项 组织认为在进行过程定义和维护软件方面有用的实体均可成为过程资产的组成成 分。c m m 根据软件行业的特点提出了基于组织过程资产库对软件过程进行管理的 概念,软件过程资产库1 4 , 5 1 是软件组织在s p i 过程中产生的有价值实体的集合,这 第1 章绪论 些资产横跨各项目过程,形成了软件组织持续过程改善的源泉。过程资产共由五 个部分组成:组织标准软件过程、软件过程裁剪指南,软件生命周期描述、软件 过程数据库,软件过程相关的文档库。到底该怎样建立过程资产库,c m m 没有做 硬性规定,组织可以通过多种方式来建立,取决于该组织建立过程资产的途径, 过程资产库中的各个子库是一个相互关联的整体,它们共同服务于组织的项目开 发活动【们。 过程资产库是以c m m 为基础的软件过程改进的一个很重要的基础内容,如 果过程资产库的内容制定的现实、完美,软件过程改进的工作将具有一个良好的 基础,反之,则将大大地增加过程改进工作的难度 6 1 。本课题正是在这样的背景下 提出的,以试图满足现阶段软件组织对过程资产管理和运用的需求。本课题的研 究对于提高软件项目管理和控制能力,提升软件企业的过程能力成熟度,促进我 国软件产业的发展具有重要的指导作用。 1 2 国内外相关研究现状和本文的研究意义 在持续的软件过程改进中,组织基于c m m 3 的要求针对组织的所有项目建立 一个共同的软件过程。并逐步建立过程资产库。在国外,对过程资产库的研究比 较著名的有: a f p c ( a i rf o r c ep e r s o n n e lc e n t e r ) 公司的p a l ( p r o c e s sa s s e tl i b r a r y ) 包 括一些被认可的标准方针、规则指南和优秀的例子【7 】。它是一个面向软件管理、开 发和维护人员资料的软件应用系统,主要是由一些文档组成,作为出现较早的资 产库管理系统,它没有涉及到软件开发全过程的资产。 n a s a ( n a t i o n a la e r o n a u t i c sa n ds p a c ea d m i n i s t r a t i o n 美国航空航天局) 的 g s f c ( o o d d a r ds p a c ef l i g h tc e n t e r 戈达德航天中心) 的p a l l 8 1 。它主要涉及软件 开发中的四种资产:企业管理、开发产品、组织支持和获得的产品,包括程序、 过程描述模版、指导方针、标准和工具等。虽然涉及到开发中的各个阶段,但具 有明显的行业局限性。 在国内,对过程资产库的研究比较著名的有:中国科学院软件研究开发的“网 软件过程改进框架中过程资产库的研究 驰”质量管理系统,该系统是以过程资产集成管理系统为中心的管理工具;m o t o r o l a ( 中国) 研发中心自行开发的大型管理信息系统s e m i s ( s o f t w a r ee n g i n e e r i n g m a n a g e m e n ti n f o r m a t i o ns y s t e m ) 中的主要组成部分是过程资产库【lo 】;富士通南大 开发的项目管理软件s p i f 系统,其主要功能是对过程资产的积累和复用【1 1 】;此外, 东软集团也建立了过程资产库来对软件过程统一管理等等。 虽然各公司都建立了各自的过程资产库,但这些过程资产库都尚存在一些不 足,比如:中国科学院软件研究开发的“网驰”质量管理系统,虽然已经提供的质量 管理能力可以达到c m m 3 以上要求【9 j ,但对过程改进以及过程选择没有提供有效的 数据支持,过程执行中的问题以及过程的性能数据没有存储到过程资产库中,需 要对过程的存储方式进行改进。而且,对如何使用过程资产库进行软件项目计划; 如何获取、认知、评价项目的执行能力:如何采集和度量执行过程数据,c m m 并 没有给出明确规定,也没有对如何利用过程度量数据获得最佳的软件过程控制给 出具体的解决方案。因而各个企业没有可以共同遵循的规范和指导准则,痂是根 据各自的理解各行其是【1 2 j 。, 利用已有的过程资产来建立新的过程,称为过程复用( p r o c e s sr e u s e ) 【1 3 1 。在 基于过程资产库的过程复用方法中,目前最常用的过程复用是通过裁剪企业过程 资产库的标准软件过程得到。但随着企业规模的越来越大,过程资产也将越来越 丰富,从大量的过程资产中找到需要的内容,进行快速的裁剪变得越来越困难。 也有人提出复用已有的软件过程,然而软件的开发不同于任何其他产品的开发, 没有任何两个软件过程是相同的,要创建一个适用于多个项目的过程非常困难。 针对以上这些情况,本文通过对过程改进框架中过程资产库的研究,建立过 程资产库管理系统( p a l m s ) 强化过程资产的形成和复用。对已有的研究中都没 有很好解决的裁剪困难等问题,通过对过程资产库中标准过程库的研究,提供创 建多抽象层次标准过程的分类描述方法来提高标准过程的检索和裁剪效率,进而 提高过程定义的效率,为企业实施c m m 提供借鉴和参考。 第1 章绪论 1 3 本文的研究内容和组织 第1 章绪论 介绍本文的研究背景,以及国内外研究现状和研究意义,并简要介绍了本文 的主要工作、目标及成果。 第2 章过程资产库在软件过程改进中的地位和作用 目前软件过程改进主要是基于c m m 模型的改进,通过分析c m m 模型的关键 过程域与过程资产之间的关系,进而得出过程资产库在软件过程改进中的地位和 作用。 第3 章软件过程改进框架与过程资产库组成 通过对软件过程改进框架和它包含的活动的分析,进一步突出过程资产库在 软件过程改进中的重要地位和作用,最后介绍了过程资产库中的子库内容。 第4 章过程资产库管理系统设计 根据第3 章的分析,对过程资产库管理系统( p a l m s ) 进行了总体的设计。 给出了系统的总体结构和功能模块,并具体介绍了各功能模块内容。 第5 章标准软件过程的分类描述研究 通过分析过程的层次结构,得到功能内聚和多抽象层次的标准软件过程,并 指出了过程中存在的几种继承机制,利用继承简化相似过程定义的方法。最后确 定了描述过程和活动的各个刻面,运用x m l 对标准过程和活动进行描述。结合 x m l 技术特点,给出了具体的刻面设计及描述实现。 第6 章标准过程管理子系统的设计和实现 在p a l m s 中本文主要实现了通过创建标准过程库对企业标准过程进行定义 和维护。并以此为基础实现了标准过程库管理系统。 最后,对本文的主要工作进行了总结,指出了存在的不足并对以后的工作进 行了展望。 软件过程改进框架中过程资产库的研究 第2 章过程资产库在软件过程改进中的地位和作用 2 1 软件过程改进 在软件过程的各项活动中,过程改进活动是一项综合且需要持续开展的活动。 它所面对的既是软件机构的过程模型,同时也是针对每一个具体软件项目的过程 实例。然而,在目前软件过程领域中,过程改进主要是指对过程模型的改进。当 前被软件业讨论的最为火热的关于软件过程改进的话题,莫过于s e i 建立的c m m 模型。 c m m 提供了一个级别框架,将软件机构所各自拥有的软件过程,根据其过程 成熟度的不同划分成由低到高的五个级别【1 3 , 1 4 ( 如图2 1 ) 。从“l 级( 初始级) ”, “2 级( 可重复级) ”,“3 级( 已定义级) ”,“4 级( 已管理级) ”逐步到“5 级( 优化级) ”,反映出一个软件机构若要达到从一个无序的、混乱的软件过程 , 进化到一种有序的、有纪律的且成熟的软件过程这一目的所必须经历的过程改进 活动的途径。 图2 1c m m 的模型分级 f i g 2 1c m mh i e r a r c h y 过程 在c m m 模型中,每一个成熟度级别中( 第1 级除外) ,包含了实现这一级目 标的若干关键过程域( k e yp r o c e s sa r e a s ,k p a ) 。所谓关键过程域,是指相互关 联的若干软件实践活动和有关基础设施的一个集合【2 1 3 1 。它表示了当一个软件组 第2 章过程资产库在软件过程改进中的地位和作用 织改进软件过程时必须集中力量改进的几个方面, 所必须满足的条件。 一个软件组织如果希望达到某个成熟度等级, 过程域。如果从管理、组织和工程三方面来划分, 如表2 1 所示 1 4 , 1 5 】。 标识了达到某个成熟度级别时 必须实现该等级上的全部关键 这1 8 个关键过程域的归结情况 表2 1 伽l 中k p a 的过程分类 t a b 2 1p r o c e s st y p eo f c m m k p a 过程分类 等溯 管理过程组织过程工程过程 优化级技术变更管理过程变更管理缺陷预防 已管理级定量过程管理软件质量管理 已定义级一 集成软件管理组织过程焦点软件产品工程 组间协调组织过程定义同行评审 培训大纲 可重复级 需求管理 软件项目计划 软件项目跟踪与监控 软件子合同管理 软件质量保证 软件配置管理 初始级无序过程 2 2c m m 关键过程域与过程资产 在软件组织中,c m m 模型是软件组织进行过程改进的重要指南,关键过程域 是c m m 的重要特征,关键过程域的执行情况直接决定组织所处的成熟度等级。 而过程资产在c m m 实施中占十分重要的地位,它能够为软件项目在制定、裁剪、 维护和实施软件过程中提供最全面的指导。因此,本节对c m l v l 关键过程域与过 程资产进行简要讨论,说明过程资产库在软件过程改进中的重要作用。 从表2 1 中可以看出,c m m 3 级是一个组织关注软件过程的开始,是组织在 软件过程改进框架中过程资产库的研究 软件过程方面迈向成熟的基础。在c m m 3 级中,过程资产与多个关键过程域相联 系,如组织过程焦点、组织过程定义、培训、集成软件管理、软件产品工程等。 这充分体现了过程资产在c m m 模型中的重要性。c m m 3 级中的过程资产与软件 过程活动之间的关系如图2 2 所示【1 6 1 。 图2 2c m m 3 中的k p a 与过程资产之间的关系 f i g 2 2t h er e l a t i o nb e t w e c m m 3 k p aa n dp r o c e s sa s s e t s 组织过程焦点( o r g a n i z a t i o np r o c e s sf o c u s ) ,指为软件过程活动建立组织职 责,通过在具体的软件项目中的落实来逐步改进组织的整体软件过程能力。对软 件过程进行评估、制定改进活动计划、协调改进的实施等是该k p a 的主要活动, 软件过程资产则是组织过程焦点k p a 中活动的主要结果。 组织过程定义( o r g a n i z a t i o np r o c e s sd e f i n i t i o n ) ,指开发和维护可用的标准软 件过程,并采取措施使其可被利用,使组织能够跨项目的改进过程性能,为组织 的长远利益提供保证。在c m m 3 级上实施的过程是“已定义的过程”,处于c m m 3 的软件组织中各个项目所实施的过程必须是一致的,都是通过裁剪组织的标准软 件过程获得项目定义的软件过程。开发和维护组织标准软件过程,以及相关的过 程资产是组织过程定义这个k p a 的主要内容。过程资产库就是组织的软件过程资 产的集合,这些资产能改进各项目的过程绩效,并以累积的方式使组织长期受益。 培训( t r a i n i n g ) 旨在使人员能够熟悉、精通必要的标准、规程、方法和技术, 第2 章过程资产库在软件过程改进中的地位和作用 从而具有执行特定活动的能力。培训在形式上可以是正式的,也可以是非正式的。 培训是在充分利用组织的过程资产基础上进行的 集成软件管理( i n t e g r a t e ds 0 1 a r em a n a g e m e n t ) ,指将软件工程活动与管理 活动集成到一致的、定义的软件过程中,这个过程以组织的标准软件过程和相关 过程资产为基础、根据项目的业务环境和技术需求裁剪而来。 在c m m 4 中,定量过程管理是其中的一个重要k p a ,通过对过程实施的度量, 给出过程的能力基线以及实施性能等数据,利用c m m 3 级积累的过程资产支持项 目,并基于所收集的数据进行分析,做出客观的决策,以便更好的对软件过程进 行控制。软件过程资产库中的过程数据库为定量的过程管理提供了数据基础。在 项目的计划阶段,项目管理者首先根据项目的特征从组织的过程数据库中查找可 以复用的过程相关数据信息;当项目的实际过程偏离计划轨道时,基于软件过程 数据库中的历史数据,迅速做出最佳的控制决策,以确保项目目标的实现。 在c m m 5 中关注过程变更的管理,它瞬c m m 3 和c m m 4 中对组织软件过程 的要求所形成的能力为基础,以达到使组织的软件过程能力在稳定的基础上逐步 提高的目的。软件过程改进的建议可以来自软件过程评估时的发现和建议,有关 一一 客户问题和客户满意度的数据分析、对项目绩效与软件质量目标和生产率目标比 较所得数据的分析、采用后获得成功的软件过程改进建议的例子、对以前提交的 软件过程改进建议的反馈意见等。过程资产库中的过程数据库为各种数据分析提 供基础,而过程文档库的历史成功经验和优秀例子为软件质量的提高提供了保证。 从c m m 各个级别的关键过程域可以看出,过程资产为新项目的启动与实旋、 分析组织性能和存在的问题与薄弱环节提供了客观的基础,对其进行充分利用是 软件过程能力提高的根本保证。第三级是一个组织关注软件过程的开始,是组织 在软件过程方面迈向成熟的基础,因而c m m 提出在第三级开始建立过程资产库, 过程资产库是软件过程改进中的过程资产的集合,通过上面的分析可以得出过程 资产库虽然是在第三级提出的却是第四级和第五级能力增长的基础。下一章对过 程资产库进一步研究,进一步突出过程资产库在软件过程改进中的重要作用。 软件过程改进框架中过程资产库的研究 第3 章软件过程改进框架与过程资产库的组成 3 1 软件过程改进框架 基于过程资产库的软件过程改进框架是在c m m 模型的过程改进模式中,融 入了度量技术,以可复用的软件过程为基础。以过程资产库为中心,由组织层面 的持续过程改进和项目层面的过程动态调整优化构成。组织层面主要以组织的标 准软件过程作为改进对象,不断地演化组织的过程资产,提高组织的过程能力, 并为项目层面上的项目管理与控制提供指导和基础;项目层面的过程改进复用组 织的过程资产,在过程运作中根据项目环境变化利用过程数据库中的相关过程信 息实现过程的动态调整和优化控制,保证项目目标实现,有效地提高软件过程的 可控性和项目的成功率。而项目过程执行的数据和过程文档经过分析验证、抽象, 包装后存入组织的过程资产库,成为组织共享的过程资产。通过定期对过程运作 结果进行统计分析,不断更新过程能力基线,发现过程改进的机会重新制定新的 过程改进目标,启动新一轮组织层面的过程改进,如此循环反复,实现渐进的持 续过程改进旧。 : 图3 1 给出一个基于过程资产库的软件过程改进框架,其中过程资产库是企 业在软件改进过程中通过积累而得到的可复用的过程制品和用于指导软件项目的 过程文档、过程度量数据等重要信息的集合。它包括软件生命周期描述库、组织 的标准软件过程库、过程裁剪指南库、过程数据库以及与过程文档库。 第3 章软件过程改进框架与过程资产库的组成 图3 1 软件过程改进框架 f g 3 is o f t w a r ep r o c e s si m p r o v e m e n tf r a m e w o r k 图3 1 中的主要活动及其含义描述如下【1 6 ,1 7 】: ( 1 ) 选择适当的软件生命周期模型。基于对当前软件过程能力现状和具体项 目的特点分析,根据裁剪指南库中的指南从生命周期描述库中选择适合项目的软 件生命周期模型。 ( 2 ) 选取或定义标准软件过程。基于组织过程改进的目标及需求,从标准过 程库中选取合适的软件过程,或从过程资产库中检索所需的过程组装成所需要的 可复用软件过程,作为组织实施过程改进的组织的标准软件过程( o s s p ) 。 对于一个具体项目,为了获得一个可执行的过程实例,首先从标准过程库中 检索符合组织过程定义且与当前情况相同或相似的过程,然后对其进行适当调整 后使用;如果标准过程库中没有合适的过程,则对组织定义的标准过程进行裁剪, 基于过程数据库中的历史数据、项目目标及项目所处的环境对过程属性的各项参 数进行具体赋值,形成可执行的项目定义软件过程( p d s p ) 。 ( 3 ) 制定软件开发计划。主要根据过程数据库中的参考数据和度量数据,对 已定义好的项目软件过程制定执行计划,指导软件开发顺利进行。 软件过程改进框架中过程资产库的研究 ( 4 ) 过程度量、跟踪控制。在项目执行过程中,对软件过程进行度量,并对 过程风险进行定期评估。当出现实际运行与项目过程基线( 项目计划) 偏离时, 管理者制定相应的变更决策,基于过程数据库重新进行过程实例化、运作和过程 评估与改进,如此循环反复,直至项目结束。对于变更要及时存到过程数据库中。 ( 5 ) 项目结果与软件工作产品。标准过程及整个过程的数据和相关的所有信 息以文档的形式记录下来,经过相关人员进行整理、验证后打包,分别存储于过 程资产库的标准过程库、过程数据库和过程文档库中,以备后续复用。管理人员 对这些信息定期的统计分析的改进建议也存到资产库中,作为下一轮过程改进的 基础。 3 2 过程资产库的组成 从图3 1 和上面的分析可以得出:依靠过程资产库,一方面,组织可以建立 起自己的组织标准软件过程;另一方面,组织还可以不断地、有目的的改进标准 = 软件过程。对于开发项目而言,组织在开发当前项目过程中,若遇到一些软件过 程方面的问题,就可以从过程资产库中找到过去的经验教训,而对于即将进行的 项且,组织也可以通过适当的裁剪组织的标准软件过程,同时参考其它同类项目 定义的软件过程,能够顺利地开发出本项目自己的软件过程,而且这个过程是建 立在过去的经验基础之上的,它完全可以保证本次项目的开发能重复以前的成功 模式,而杜绝不成功的因素【1 8 j 。 过程资产库中的各个子库是一个相互关联的整体,它们共同服务于组织的项 目开发活动,各个子库和其相互的关系构成了软件过程改进框架的生命线( 参见 图3 1 ) ,所有的软件过程都围绕这几个库运行。在具体的软件项目中,以标准软 件过程库中的标准过程为基础,并根据裁剪指南库中的指南对其进行裁剪,同时 参照过程数据库来定义项目软件过程。随后的软件开发计划制定和软件项目活动 的执行都涉及到对过程数据库和过程文档库的利用,包括有关的标准、规程、实 践经验( 文档、数据) 等。当项目结束时要执行项目存档活动,大量的项目信息 被统计,并按要求转存于过程数据库中,项目活动的结果信息和工作产品也作为 第3 章软件过程改进框架与过程资产库的组成 新的素材保存到标准过程库和过程文档库,成为新的过程资产,作为可复用过程 资产的源泉。这五个库是一个统一的过程体系,下面就分别介绍图3 1 子库的内 容【1 8 】。 3 2 1 生命周期描述库 软件生命周期是指一段时间,指的是从软件产品开始到软件不再使用为止的 时间间隔。软件生命周期一般包括:概念阶段、需求阶段、设计阶段、实现阶段、 测试阶段、安装和调试阶段、运行和维护阶段等。 选择一个适当的软件生命周期对项目来说至关重要。在项目策划的初期,就 需要确定它所采用的软件生命周期,统筹规划项目的整体开发流程。为了做好这 项工作,组织需要预先识别并总结出可供项目选择的软件生命周期,同时,还需 要提供指导原则( 通常在裁剪指南库中) ,帮助项目选择适当的软件生命周期。 在项目的策划阶段,根据项目的特点、项目团队的特点、项目关键依赖关系以及 公司和客户的要求选择合适的生命周期模型,确定项目的实际开发过程。一方面 可以降低项目的风险,另一方面可以提高项目质量、加快项目进度和节约项目成 本。 一个组织通常为多个客户生产软件,而客户的要求是多样化的,一种软件生 命周期往往不能适合所有的情况,因此组织可以规定多种软件生命周期供项目使 用。这些软件生命周期一般从软件工程文献中获得,并可加以修改,使之适于组 织的情况。在制定项目定义软件过程时,这些软件生命周期可以和组织标准软件 过程结合在一起使用。一般企业会依据组织内各个项目的需求特点和开发周期等 特征,总结并批准一些供项目选择的软件生命周期。 3 2 2 标准过程库 组织标准软件过程( 以下简称标准过程) 是组织中所有软件开发和维护项目 共用的软件过程,是项目定义软件过程的基础。它保证组织过程活动的连续性, 且是组织软件过程的测量和长期改进的依据。 组织标准软件过程( o s s p ) 是基本过程的可操作定义【嘲,基本过程指导在组 软件过程改进框架中过程资产库的研究 织中建立一个针对所有软件项目共用的软件过程。该软件过程描述预计每个项目 的软件过程均会包含的基本的软件过程元素。 软件过程元素是一个软件过程描述的构成元素1 9 1 。每个过程元素包括一组妥 善定义的、有限制的、紧密相关的作业( 例如,软件估计元素、软件设计元素) 。 过程元素的描述可以是待填充的样板、待完成的片段、待精炼的抽象、或待修改 的完整描述、或已使用的无须修改的完整描述。 项目定义软件过程( p d s p ) 是对项目所用软件过程的可操作的定义。它是一 个已很好特征化的和已理解的软件过程,用软件标准、规程、工具和方法予以描 述。通过裁剪组织标准软件过程的方法来制定它。 基于上面的定义,我们可以了解到标准过程库是由已定义的组织内所有项目 通用的一些软件过程元素组成。在进行具体描述时,可以首先依据这些过程元素 的特点,按照一定的方式将这些“零散”的过程元素加以组织。 要清晰地描述标准过程,仅仅将过程元素分组还不够,还需要描述这些过程 元素之间的联系,即软件过程体系结构。软件过程体系结构是对标准过程的高层 次描述。它描述标准过程中软件过程元素的排序、界面、相互依赖关系及其他关 系。标准过程是在通用的层次上予以描述的,因此项目可能无法直接使用它,裁 剪指南的目的就是帮助项目裁剪标准过程,形成项目定义软件过程。 3 2 3 裁剪指南库 裁剪指南可在以下方面指导软件项目【2 0 l : ( 1 ) 从组织批准使用的软件生命周期中挑选出一个; ( 2 ) 裁剪和细化组织标准软件过程和所选择的软件生命周期,使之适合项目 的具体特征。 裁剪指南用来指导项目对o s s p 进行裁剪,形成适合项目特征的p d s p 。这些 指南和准则能够确保所有软件项目在策划、实施、测量、分析和改进项目定义软 件过程时有一个共同基础。为满足项目的需求,对标准过程进行裁剪是一项很细 致的工作,要想圆满地完成裁剪工作需要大量的时间,更需要丰富的经验。裁剪 第3 章软件过程改进框架与过程资产库的组成 指南做得好不好,直接影响到o s s p 在项目中是否使用成功,也能检验o s s p 制定 的是否完善。 组织通过c m m 的实践积累,认为制定一个有效的裁剪指南库需要从以下几 个方面考虑口。捌: ( 1 ) 裁剪基于项目特征。包括项目规模( 例如大、中、小) 、项目类型( 新 开发,维护等) 以及技术难度、产品类型、项目周期等要素。项目特征可认为是 裁剪工作的出发点。 ( 2 ) 明确可裁剪的对象。例如,可裁剪对象不仅仅限于过程元素和活动,还 包括参照标准、方法和工具,以及输出产品及模板等。 ( 3 ) 确定裁剪所考虑的要素。例如,对于某个裁剪对象,其范围、频度、正 式度等都是裁剪要素。举例来说,对于有开发经验的小项目,就可以适当减少对 于技术方面的评审频度。裁剪要素界定了裁剪的方向和尺度。 ( 4 ) 裁剪的决定需要基于风险的考虑。对过程或活动的调整或放弃需要通过 分析其所带来的风险和影响再做决定。 3 2 4 过程数据库 组织的软件过程数据库,是为了收集有关软件过程和它所生成的软件工作产 品的相关数据并使其可用而建立的数据库。软件过程数据库包含或引用估计和实 际度量数据,例如,生产率数据、工作量规模、成本、进度、关键计算机资源( 估 计值与测量值) 、同行评审的数据、需求数与变更数、测试范围和效率等。还包 括组织的过程改善数据。另外,为理解过程数据并评估其合理性和适用性所需要 的信息和数据也包含在数据库内。 对软件过程及由其产生的结果,工作产品的度量数据,按照数据备档的级别, 可以分为组织级和项目级两类。组织级的数据从若干项目中度量、总结、存储在 整个组织级别上,组织内的任何人都可以查阅。项目级的数据也称原始数据,由 单个项目数据库自己度量,并保存在本项目内,供本项目成员查阅。 在过程数据库中,信息可分为以下几类: 软件过程改进框架中过程资产库的研究 ( 1 ) 项目特征:项目特征信息包括项目名称、项目经理、项目持续时间、团 队规模和项目风险等信息。 ( 2 ) 项目进度:进度信息包括项目中计划的开始和结束日期,实际的开始和 结束日期。 ( 3 ) 项目工作量:项目工作量信息包含初始估计的工作量和实际总的工作量 信息。项目中实际工作量包括项目初始化工作量、需求管理、设计、编码、单元 测试等阶段的工作量。 ( 4 ) 规模:规模信息包括已经开发的项目的软件规模。按照代码行数、简单、 中等或复杂程序的数目以及它们的组合来描述软件的规模。 ( 5 ) 缺陷:缺陷信息包括在各种缺陷检测阶段发现的缺陷数。这需要记录需 求评审、设计评审、代码评审、单元测试和其它阶段发现的缺陷数。在项目的各 种发现缺陷阶段所发现的缺陷数占总缺陷数的比例。 在c m m 实施过程中,组织对于过程数据库的主要应用有: ( 1 ) 有助于为新项目制定计划,特别是工作量和缺陷估计; ( 2 ) 项目组可参照相关的历史数据来指导项目的策划和估计工作; ( 3 ) 项目组可参照相关的历史数据来指导项且的监控工作; ( 4 ) 可用于评估组织的软件过程改善的实施情况; ( 5 ) 可协助内部组织估计未来的工作,例如,提出改善建议。 3 2 5 过程文档库 建立组织的软件过程相关的文档库( 以下简称文档库) 是为了【2 6 2 9 】: ( 1 ) 存储对组织内的项目可能有用的过程文档,特别是与组织标准软件过程 相关的文档: ( 2 ) 在全组织范围内共享所存储的文档信息。该库中包含一些实例文档和文 档片断,估计对未来项目在裁剪组织标准软件过程时有用。由于提供成功项目的 例子作为起步点,该库可以帮助减小启动一个新项目的工作量。因而该库是组织 的一个重要资源。 第3 章软件过程改进框架与过程资产库的组成 组织的文档库中通常包括组织的程序文件和项目过程文档的优秀实例,还可 以包括一些技术资料或培训资料等。为此,组织需要预先定义好文档库的内容结 构,并在录入文档时,需要建立其索引和简要说明,指导后续项目进行参照和使 用。对于项目过程文档的收集,可在项目结束时推荐优秀文档,例如项目计划、 里程碑评审报告等,经过审核后由相关负责人放入组织的文档库中。 在c m m 的实施过程中,建立健全过程文档库是组织s p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论