已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)基于目标度量和预估技术的软件过程评估.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河海大学硕士论文 摘要 摘要 过程改进技术正成为软件过程的研究热点,而软件过程评估在软件过程改 进中的作用至关重要。目前基于c m m 和i s o i e c1 5 5 0 4 的这两种评估方法是得 到世界公认,使用最广的。但这种评估大多依靠专家组进行,评估过程过于抽象, 可操作性不强,普通用户无法根据相应的标准对自身的过程成熟度情况做出准确 的判断。而且,许多方法虽然标准明确,但评估结果却不可避免的带有主观性, 这些问题在实际应用中仍然有待探索。 为了解决这个问题,把度量模型和预估技术应用到软件过程评估中。为了 克服度量方法本身的一些局限性,对现有的g q m 度量模型进行改进,使其深入到 过程的中间环节,以支持过程内部的度量。针对改进后的度量模型中仍然存在可 操作性不强,仅在事后统计和度量,没有事先预估和分析,因此不能正确认识组 织当前的软件过程状态,真正实现对过程的控制等问题,提出把预估技术应用到 软件过程评估中,获取过程的可度量特征。 本文在深入研究和比较软件过程评估的各种标准、模型和方法,以及度量 技术和预估模型的基础上,探索实际可用,更加客观的软件过程评估方法,具有 非常重要的意义。主要工作包括以下内容: 1 度量技术在评估过程中的运用:主要研究基于目标的软件度量模式,分析其 中的不足之处,进一步细化这种模式,使其深入到过程的中间环节,以支持 过程内部的度量; 2 研究软件预估的主要技术和模型,并对c o c o m 0 模型和功能点模型这两种软 件预估模型进行比较。在获取过程的一些可度量特征,如与组织标准软件过 程的使用有关的信息:软件规模、工作量、成本的估计值时,考虑将这两种 模型结合使用,从而真正达到管理和控制的目的,不仅在事后进行统计和度 量,而且在制定计划时对要度量的软件进行预估分析,有利于软件过程评估; 3 在实际的软件过程评估中,将上述模型和方法综合使用,即用一种基于目标 度量和预估技术的软件过程评估方法尽可能解决评估过程过于抽象、主观性 太强、可操作性不好、不易实施的问题。 本文的研究目的是提高评估过程的可操作性,使得过程评估提供的数据更具 体,更有说服力,使得评估结果尽可能客观,为“怎样做”提出一些可行的方法, 从而有利于过程能力级别的提高。这些问题的研究有利于更好的实施软件过程评 估,在促进软件过程改进方面有重要的现实意义。 关键字: 软件过程、软件过程评估、目标度量、预估技术、c m m ( 能力成熟度模型) 、i s o i e c 1 5 5 0 4 、c o c o m o 模型 河海大学硕士论文a b s t r a c t a b s t r a c t p r o c e s sl m p r o v e m e n th a sb e c o m eo n eo ft h eh o tt o p i c sl ns o f t w a r e p r o c e s sr e s e a r c h s o f t w a r ep r o c e s sa s s e s s m e n tp l a y sav e r yi m p o r t a n tr o l ei n s o f t w a r ep r o c e s s m p r o v e m e n t c u r r e n t l y , t h ea s s e s s m e n t sb a s e do ne m m a n dl s o i e c1 5 5 0 4a r ea c c e p t e da n du s e dw o r l d w i d e h o w e v e r , t h i sk i n do f a s s e s s m e n t g e n e r a l l yd e p e n d s o ne x p e r t - g r o u p sa n dt h ea s s e s s m e n tp r o c e s s i st o oa b s t r a c t ,w h i c hm a k e si td i f f i c u l tt oo p e r a t e t h e r e f o r e 。o r d i n a r yu s e r s c a n n o tj u d g et h e i r p r o c e s sm a t u r i t ya c c o r d i n g t oc e r t a i ns t a n d a r d s b y t h e m s e l v e s a l t h o u g hm a n ya p p r o a c h e sh a v e c l e a rc r i t e r i a t h er e s u l to f a s s e s s m e n tj si n e v i t a b l ys u b j e c t i v e r e s e a r c h e so nt h e s et o p i c sa r es t i l lo nt h e w a y i no r d e rt or e l i e v ea b o v e - m e n t i o n e dp r o b l e m s ,m e t r i cm o d e l s a n d e s t i m a t i o nt e c h n i q u e sw e r ea p p l i e dt os o f t w a r ep r o c e s sa s s e s s m e n t 。t h e c u r r e n tg q mm e t r i cm o d e lw a sr e f o r m e da n da p p l i e dt ot h ei n t e r m e d i a t es t e p s o ft h ep r o c e s st os u p p o r tt h em e t r i co fp r o c e s si n t e r i o r t h e r er e m a i ns o m e i i m i t a t i o n si nt h er e f o r m e dm e t r i cm o d e l ,i n c l u d i n gl o wm a n e u v e r a b i l i t y ,n o p r e d i c t i o n a n da n a l y s e sl na d v a n c e t h e s ed r a w b a 姨sm a k e 疆d i f f i c u l tt o c o r r e c t l yr e c o g n i z e t h ec u r r e n ts o f t w a r ep r o c e s ss t a t u so fa no r g a n i z a t i o n ,a n d t h u s ,m a k ei td i f f i c u l tt oc o n t r o lt h ep r o c e s s t h e r e f o r e ,e s t i m a t i o nt e c h n i q u e s w e r e a p p l i e d t os o f t w a r e p r o c e s s a s s e s s m e n tt oo b t a i nt h em e t r i c a b l e c h a r a c t e r i s t i c so ft h ep r o c e s s + o nt h eb a s i so f i n v e s t i g a t i o n a n dc o m p a r i s o no fv a r i o u ss t a n d a r d s , m o d e l sa n dm e t h o d sf o fs o f t w a r ep r o c e s sa s s e s s m e n t ,m e t r i ct e c h n i q u e sa n d e s t i m a t i o nm o d e l s 。w ed e m o n s t r a t e dam o r ep r a c t i c a la n do b j e c t i v es o f t w a r e p r o c e s sa s s e s s m e n t m e t h o d 。t h ec o n t e n t so ft h i st h e s i sa r ea sf o l l o w i n g : 1 t h ea p p l i c a t i o no fm e t r i ct e c h n i q u e si nt h ea s s e s s m e n tp r o c e s sw a s s t u d i e d ,g o a l d r i v e ns o f t w a r em e t r i cm o d ew a ss t u d l e da n dj t sd r a w b a c k s w e r e a n a l y z e d t h i s m e t r i cm o d ew a sr e f o r m e da n d a p p l i e d t o i n t e r m e d i a t es t e p so ft h ep r o c e s st os u p p o r tm e t r i co fp r o c e s si n t e r i o r 2 m a i nt e c h n i q u e sa n dm o d e l so fs o f t w a r ee s t i m a t i o nw e r es t u d i e d t w o s o f t w a r ee s t i m a t i o nm o d e l s ,c o c o m om o d e ia n df u n c t i o np o i n tm o d e l 。 w e r ec o m p a r e d ,t h e s et w om o d e l sw e r eu s e dl o i n t l yt oo b t a i ns o m e m e t r i c a b l e c h a r a c t e r i s t i c so ft h e p r o c e s s i n c l u d i n g i n f o r m a t i o no n o r g a n i z a t i o no fs t a n d a r ds o f t w a r ep r o c e s s ,s u c ha ss o f t w a r es c o p e ,l a b o r l | 河海大学硕士论文a b s t r a c t c o n s u m p t i o na n dc o s te s t i m a t i o n t h ea i mo ft h i sc o m b i n a t i o ni sn o to n l y t op e r f o r ms t a t i s t i c sa n dm e t r i ca f t e rt h e p r o c e s s ,b u ta l s ot od oe s t i m a t i o n a n a l y s e sw h e nt h ep r o g r a mw a se s t a b l i s h e d t h u s ,m a n a g e m e n ta n d c o n t r o lo ft h e p r o c e s s c a nb ea c h i e v e d 3 t h ea b o v ei n t r o d u c e dm o d e l sa n dm e t h o d sw e r eu s e di n i n t e g r i t y t o p r a c t i c a ls o f t w a r ep r o c e s sa s s e s s m e n t t h a ti st os a y , as o f t w a r ep r o c e s s a s s e s s m e n tm e t h o db a s e do n g o a l d r i v e n m e t r i ca n de s t i m a t i o n t e c h n i q u e sw a su s e dt oa l l e v i a t ed r a w b a c k si n t h ec u r r e n ta s s e s s m e n t m e t h o d s s u c ha sa b s t r a c t 1 0 wm a n e u v e r a b i l i t ya n dd i 怖c u l t i e s i n i m p l e m e n t a t i o n t h ea i mo ft h i ss t u d yi st oi m p r o v et h em a n e u v e r a b i l i t yo fa s s e s s m e n t p r o c e s s ,t om a k e t h ed a t ap r o v i d e db yt h ep r o c e s sa s s e s s m e n tm o r es o l i da n d p e r s u a s i v e ,t om a k e t h ea s s e s s m e n tr e s u l ta so b j e c t i v ea sp o s s i b l e ,t op r o v i d e s o m ea p p l i c a b l em e t h o d sf o r “h o wt od o ”a n dt ob eh e l p f u lt oi m p r o v e m e n t o f p r o c e s sa b i l i t yl e v e l i n v e s t i g a t i o n s o nt h e s e t o p i c s a r e h e l p f u l t ob e t t e r i m p l e m e n to fs o f t w a r ep r o c e s sa s s e s s m e n t i th a sg r e a tp r a c t i c a ls i g n i f i c a n c e t oa c c e l e r a t es o f t w a r ep r o c e s si m p r o v e m e n t k e y w o r d s s 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 sa s s e s s m e n t ,g o a l d r i v e nm e t d c e s t i m a t i o nt e c h n o l o g y 。c m m ,i s o i e c15 5 0 4 c o c o m o i l l 河海大学硕士论文 第章绪论 第一章绪论 在无纪律的、混乱的软件过程中开发软件往往不是开发进度严重滞后、就是 经费预算大大超支乃至翻番,所以软件过程的不断改进才是增进软件开发组织的 能力和提高软件质量的第一要素。过程改进技术正成为软件过程的研究热点,而 软件过程评估在软件过程改进中的作用至关重要。 1 1 软件过程改进框架 软件开发方式从传统的以任务为中心转变成以过程为中心,因为人们发现软 件产品的质量在很大程度上取决于构筑软件时所使用的软件开发和维护过程的 质量t ”,产品质量与过程质量息息相关。只有有效的控制软件开发过程,不断改 进软件过程,才有可能满足不断变化的需求,生产出高质量的软件。不断改进软 件开发过程是软件工程的基本原理之一。 软件过程改进框架包括四个主要部分( 如图1 1 所示) :软件过程架构、软 件过程改进规划图、软件过程评估方法以及软件过程改进计划。 图1 i 软件过程改进框架 这四方面的内容如下 软件过程架构:为支持过程必须具有两种类型的架构。一个是组织及管理方 面的架构,这包括角色和职责:另一个是技术方面的架构,包括技术工具与 设备。所有这些都为与过程相关的活动提供支持并且维持过程的连续改进活 动。 软件过程改进规划图:它应指定一个所采用的软件过程模型,并且规划出实 现高效软件过程的行动步骤。改进规划图为我们指明了实现软件过程所要经 历的阶段及层次以及为实现这些目标所必经的关键点。它可以是公开发表的 河海丈学磷士论文 第一荤绪论 过稷标准,例如c m m 或者i s 0 i e c1 5 5 0 4 成熟度等级,也可以是在上述标准 之上裰据缍绥叁巍情凌进行骖菠磊夔舨本。 软彳牛过程评佶方法;在此应指出对组织当前软件过程、活动以及架构滋行评 估所采用的方法及技术。通常软件过程评估是根据软件过程改进规划阁而进 行的。译估的结莱器进行分板,从两揭示出髓标组织中囊蜜的软件过程状况, 势镌对所有影响软件过程懿瓿铡与活动蠡戳评翔,我出警祷过程豹长始与短 处,为进一步的改进提供建议。正是通过改避才能使我们沿着过程改进规划 图不断提高过程的成熟度。过稳评估时所采用的方式也可以是正式发袭的标 准、方法,铡麴s e i 静译售方法,b 0 0 t s t r a p 方法或襞是按照i s o t l e c 1 5 5 0 4 中的指导进行自我评倍。 软件过程改进计划:为进行软件过程改进,根据评估所发现的问题,商针对 性驰制定出相皮的改进方案,遮就是软件j 窭程改进计划中所包含的内蜜。通 遗这些活动,穗会箍高嚣有静软件遭程承平,两遗程蠡孽改进又会舞毫过程豹 规范化程度以及过程的有效性。 构成框架的这四个部分是互相关联的,任何个软件过糨改进的策略都应涵 盖这嚣个部分,缺一不可,否剜将会导致软终道疆改进程穿中貔捧突。麸耀互关 联的角度来看,这蔻一种循环关系。一个完整酌循环首先从对过程架构的评估开 始。评恼是进行变革的催化剂,通常它是与软件过程改进规划图相关联的。其评 佶结暴会记录在软件j 建程改进计划中,以便更露针对性的进褥改进,从丽达到过 程竣滋娆划匿串菱豢豹软 孛过程藏熬发级羽。 1 2 软件过程改进步骤 过程的改进遵循如下步骤: t 建立过程穰黧; 2 将过程模型实例化为具体软件过程: 3 + 在过程运作时发现问题: 4 提鑫过程改滋摄告: 5 实藏过程改避 其中第三步是过程改进的关键,一个有效的方法就是过獠评估。对过粳的评 估基予一个过程模黧、标准与过程改进规划图,弗将组织当前的软件过稷状况或 浚遴翡勰模与之院较。 1 3 软件过程评估 巍我国,业界认为我 f j 拥有圉际一流的编稷人员,但缺乏流的软件产品: 有区大翡蒂场需袋,_ 盏| 】没有穗应裁貘魏较 孛企曛;软馋产鑫模蕊嚣多,翻凝意识 甚少;软件过程评储工作正方兴来艾。这些都离一个软件大图的标准相躐_ 甚远。 2 河海大学硕士论文 第一章绪论 过程评估是一系列获取事实的访谈,鉴别一个机构在开发和维护软件活动中 的优势和弱点【“。按照过程改进规划图,深入考察该企业的过程、组织结构、业 务背景、应对改革的能力,评估其能力成熟度等级,并准确地提出改进过程的建 议。过程改进意味着变化,而评估常常是组织实施过程改进的开始,是变化的催 化剂。评估可以帮助组织了解有关过程能力和产品质量的强项和弱项。 一个组织进行评估的目的是为了改进在该组织中执行的过程。评估的终极目 标应落实到进行过程改进的行动,否则,最好的评估方法也会失去它应有的光彩。 通过过程评估证明它达到某个成熟度等级,仅仅是过程改进的逻辑结果,它决不 是、也永远不应该是参评组织的评估目的。 因此,我们有必要在研究和实践的基础上,总结出更适合软件开发组织结构 和开发文化的评估模式。 1 4 本文的主要工作 目前,国内很多软件企业希望实施软件过程评估,以确定一个组织的当前软 件过程的状态,找出组织面临的急需解决的与软件过程有关的问题,进而有步骤 的实施软件过程改进,使组织的软件过程能力不断提高。但由于传统的s e i 式的 软件过程评估方法要聘请评估专家组,花费大量人力、物力、时间,很多企业不 能如愿以偿。因此这些软件企业需要一种行之有效,明确具体,容易实施的软件 过程评估方法进行自评估。 本文在分析了各种软件过程评估方法,主要是c b a 评估法和s p i c e 评估法 的基础上,针对这些评估方法的不足之处,考虑将目标度量和预估技术运用于软 件过程评估中。将目标度量技术进行改进,深入到过程内部,支持过程内部的度 量。且运用预估技术,将预估模型结合使用,获取过程的一些可度量特征,如软 件规模、工作量、成本的估计值等等。首次将度量与预估技术相结合,运用于软 件过程评估中,提出基于目标度量和预估技术的软件过程评估方法。并根据改进 后的目标度量模型,以过程能力级别中某一级别的过程属性为度量目标,展示了 如何用这种方法进行软件过程评估。且以“山东黄河河务局管理系统”为例,说 明实际项目中如何应用预估技术获取上述可度量特征。 比较不同评估方法中,对评估结果有影响的问题答案中定性和定量数据所占 百分比的不同,判断本文提出的经改进的评估方法,是否在可操作性方面优于传 统的“s e i 式”的软件过程评估方法。 尽管这一方法不能解决软件过程评估中现存的所有问题,也并非毫无缺陷, 但可以使得软件过程评估更易实施,可操作性更强,目标更明确,数据更客观, 结果更有说服力。 河海大学硕士论文第一章绪论 1 5 本文的内容组织 本文的以下部分是这样组织的:第二章阐述了过程评估的基本概念,介绍了 软件过程评估的一些模型和方法,主要是c m m 和i s o i e c1 5 5 0 4 及以这两种模 型为基础的软件过程评估方法,并对这些方法中存在的问题进行分析。为了解决 现有软件过程评估方法中存在的问题,第三章提出把度量技术运用于软件过程评 估中,介绍了软件过程的度量模型和方法,主要是f c m 模型和g q m 模型。进 而阐述如何把度量深入到过程的中间环节,以克服g q m 方法的一些局限性。并 用两个例子,通过比较说明改进后的g q m 方法能够提高评估的可操作性,且进 一步分析了其中仍然存在的问题。针对上述问题,第四章提出把预估技术也运用 于软件过程评估中,以获取过程的一些可度量特征及其估计值,从而真正达到管 理和控制过程的目的。介绍了常用的预估模型和方法,主要是c o c o m o 模型和 功能点模型,通过对它们各自特点的分析,提出将其结合使用,并阐述了具体过 程和方法,且用一个实例加队展示。第五章对全文进行了总结,对进一步工作进 行了展望,最后是致谢。 4 河海大学硕士论文 第二章软件过程评估 第二章软件过程评估 2 1 过程评估的基本概念 1 过程改进 过程改进,就是在软件过程工程中为了更有效的达到软件过程的目的所实施 的改善或改变其软件过程的系列活动。 对于任何一个软件机构而言,从产品评估发展到软件企业认证,再从软件企 业认证发展到软件过程评估,其目标是非常明确的,即:使软件产品的质量得到 更可靠的保证。 过程改进的实施,就是在认知现有软件过程的基础上,利用过程运作所获得 的反馈信息,发现软件过程存在的问题和缺陷,提出改进的意见,进而实现软件 过程的改进和完善。由此不难看出,过程改进的关键是发现软件过程中所存在的 问题和缺陷,而过程评估正是发现问题和缺陷的必备手段。 2 过程评估与过程评价 过程评估( a s s e s s m e n t ) :是基于一个过程模型、标准与过程改进规划图并将 组织当前的软件过程状况或改进的规模进行比较而来: 过程评价( e v a l u a t i o n ) :就是在软件过程工程中以一系列的标准对软件过程 的质量进行评定而使软件过程不断改进和优化的系列活动: 关于如何区分过程评价和评估,在目前的理论界和工业界并没有得到一致的 认识。s e i 在介绍其众多的“评价,评估指南”时曾指出,当用户以过程改进为出 发点,对自身机构的软件过程进行评定时,使用“评估指南”,丽当用户希望为 其他机构评议时,用“评价”指南。s e i 的“评估指南”所指导的过程评估,不 仅评定过程现有的过程能力,而且还能预见其能力上的潜在缺陷和改进方向;而 “评价指南”所指导的过程能力评价,仅仅客观评定了过程能力当时所达到的程 度。本文的观点是,无论是“评价”还是“评估”,只是用词的不同关键是要 了解其目的所在。众所周知,在人类的思维模式中,评估的目的不仅是为了认知 事物、比较事物。而且更是为了发展事物。因此,无论过程评价或是过程评估, 其目的都是:认知过程能力、比较过程能力、改进过程能力。所以本文以过程评 估作为统一的用词。 3 软件过程评估 i s o :组织以一系列的标准为依据进行相应的检查,从质量、成本以及进度 方面判断过程的能力【3 】;s e i :由接受过培训的专业软件人员所组成的小组对组 织当前的软件过程进行评估,以确定其状态,确定组织所面临的与软件过程相关 事务的优先级并从组织中获得对软件过程改进的支持 4 1 ;i s o i e c1 5 5 0 4 :根据 塑墼兰堡主丝塞 蔓三兰塾堡塾垄矍堕 过程模型或其他模型对组织的软件过程所进行的规范的评估【5 1 。尽管这些定义略 有不同,但其本质是一致的。 软件过程评估的目标是发现当前过程实施的特点,标志出其中的强项与弱 点,以更好的控制过程,避免在质量、成本以及进度方面出现重大的问题。 评估的必要性: 1 ) 改进软件过程的需要:w a t t sh u m p h r e y 曾经说过:“如果你连自己在哪里 都不知道,那么任何地图也帮不了你1 6 。”过程评估可以为我们提供关于 当前组织内部所采用的软件过程状态的一个基本情况描述,通过评估可 以帮助组织对当前的软件过程环境与基础组织有一个正确的认识,这是 我们进行软件过程改进的基础。实际上,评估通常扮演了一个改进活动 计划的催化剂的角色,完成一个合适的软件过程评估将走过软件过程的 所有细节,否则,关于改进的讨论只会局限于讨论本身,而不会再有其 他成效。 2 ) 降低软件风险的需要 ( 1 ) 软件采购者的需要; ( 2 ) 软件承制方的需要。 2 2 软件过程评估的模型与方法 2 0 世纪8 0 年代中期国际软件产业界对软件过程的研究十分重视,因为在采 用软件工程方法克服软件危机的过程中,人们已认识到,软件过程是否完善是软 件风险大小的决定因子。如何评估软件过程,曾经是软件过程研究者要回答的一 个重要问题,这方面的研究在8 0 年代取得了突破性的进展。1 9 8 7 年美国软件工 程研究所( s e d 以w s h u m p h r e y 为首的研究组发表的承制方软件过程能力的 评估方法【7 堤最杰出的代表。这个评估方法给出了软件过程能力成熟度框架, 1 9 9 1 年发展为s e ic m m1 0 ( 能力成熟度模型1 0 版) ,它把软件过程按完善程 度分为五个等级,描述了不同完善程度的软件过程的不同特点。这个方法本是美 军委托研究,用来评估军用软件承制方的软件过程,从而评价其软件开发能力的。 但在试用过程中,该方法的另一个更加重要的作用越来越被人们重视,就是它描 述了软件过程不断改进的科学途径,使软件开发组织能自我检查和分析,找出尽 快提高其软件过程能力的策略。这个方法的意义得到了国际软件产业界和软件工 程界广泛的关注和认可,美国许多承担政府重大软件项目的公司,如休斯飞机公 司等,都一直按照c m m 模式不断改进软件过程以提高过程能力。其他国家如印 度等地许多大软件企业也在按照这种模式发展。人们认为这是8 0 年代软件工程 技术最重要的发展之一,1 9 9 3 年该模型发展为c m m ”l 。 1 9 9 1 年国际标准化组织采纳了一项动议,开展调查研究,以便确定是否需 要编制有关软件过程评估的国际标准,并于1 9 9 3 年得出肯定的结论,开始了有 6 河海大学硕士论文 第二章软件过程评估 关标准的研究制定工作。且已取得了重要成果,产生了技术报告i s o h e ct r 1 5 5 0 4 信息技术一软件过程评估 8 1 。 上述两个研究组织的有关研究成果,以不同方式给出了评估软件过程的方法 和不断改进软件过程的科学途径。实际上,发布各种标准和模型的机构一般都研 究开发出相应的评估方法( 如表2 3 所示) 。 表2 _ 3 软件过程评估方法与相关的标准、模型 标准模型评估方法 发表组织人 s e i c m m基于c m m 的评估方法( c b ai p i 评估法)s e i i s o1 5 5 0 4 2i s o1 5 5 0 4 - 3 ( s p i c e ) 评估法i s 0 b o o t s t r a p 9 】基于b o o t s t r a p 的评估方案b o o t s t r a pi n s t i t u t e 瞄i l i u m基于t r i l l i u m 标准的t b a i h 评估法b e l lc :a n a d a c s c m m t l o 何新贵、王纬等 尽管目前世界上存在多种软件过程评估方法,但基于c m m 和i s o i e c15 5 0 4 的这两种评估方法是得到世界公认,影响最广的。下面对这两种模型及其相应的 评估方法分别加以简介,并进行比较。 2 3c m m 与c b a 2 3 1 能力成熟度模型c m m 任何一个软件机构所进行的软件过程工程活动,其目的都是为了建立和完善 用于软件产品开发和生产的软件过程。然而事实上,对任何一个软件机构而言, 要明确它本身所拥有的软件过程所在的水平、它所进行过程改进活动的方向和策 略是非常困难的。c m m 的建立、发展和应用,为软件机构解决了这一难题。c m m 可以指导软件机构,通过确定当前的过程成熟度状况,识别对过程改进起关键作 用的一些问题来明确过程改进的方向和策略。通过有限的一组与过程改进的方向 和策略相一致的过程改进活动的集中开展,软件机构便能稳步而有效的改善其软 件过程,使其过程能力得到循序渐进的增长。 c m m 提供了一个级别框架,将软件机构所各自拥有的软件过程,根据其过 程成熟度的不同划分成由低到高的五个级别1 4 1 。c m m 所提供的五个级别包括, 初始级( 又称为“l 级”) 、可重复级( 又称为“2 级”) 、已定义级( 又称为“3 级”) 、已管理级( 又称为“4 级”) 和优化级( 又称为“5 级”) 。这五个成熟度级 别确定了用以度量一个软件机构的软件过程成熟度和评估其软件过程能力的一 种顺序等级。c m m 这五个成熟度级别不仅为商业领域中的软件项目的招投标活 动提供了评判依据,更重要的是,它为软件机构不断进行的过程改进提供了由低 到高、由浅入深的明确方向和目标,是一个软件机构向成熟的方向迈进的一个台 阶。 c m m 对五个成熟度级别特性的描述,说明了级别之间软件过程的主要变化。 河海大学硕士论文 第二章软件过程评估 从l 级到5 级,反映出一个软件机构若要达到从一个无序的、混乱的软件过程进 化到一种有序的、有纪律的且成熟的软件过程这一目的,则必须经历过程改进活 动的途径。每一个成熟度级别是该机构改进其过程的一个台阶,后一个成熟度级 别是前一个级别中软件过程的进化目标。c m m 的每一个成熟度级别中都包含一 组过程改进的目标( 即关键过程域) ,满足这些目标后,一个机构的软件过程就 从当前级别进化到下一个成熟度级别。每达到成熟度级别框架的一个级别,该机 构的软件过程都得到了一定程度上的完善和优化,也使得过程能力得到增长。随 着成熟度级别的不断上升,该机构的过程改进活动取得了愈加显著的成效,从而 使软件过程得到了进一步的完善和优化。这一具体过程如图2 1 所示。c m m 就 是以这样的方式支持软件机构在软件过程工程中的过程改进活动。 图2 1c m m 成熟度级别的提高及其对应的关键过程域 c m m 的组成主要包括:成熟度级别、过程能力、关键过程域( k p a - - k e y p r o c e s sa r e a ) 、目标、关键实践和关键指示因子等。这一结构见图2 2 。 其中,关键指示因子是过程实践的组成部分,其主要作用是帮助鉴别一个关 河海大学硕士论文第二章软件过程评估 键过程域目标是否已经达到。 图2 2 c m m 模型的结构 可以说,c m m 所建立的是一个能以重复的方式评估软件机构的软件过程成 熟度的标准,软件机构可以利用这一标准对过程改进活动做出计划。组织合格的 评估师对所进行的改进活动进行评估,以判断是否达到本机构所希望达到的 c m m 级别。对于那些希望其c m m 级别获得s e i 认可的软件机构而言,所聘请 的评估师必须获得s e i 颁发的c m m 评估师资质,而对那些仅希望通过c m m 评 估达到自身改进目标的软件机构而言,可在本组织内部进行c m m 级别的评估, 其方式可以模仿s e i 要求的评估方式,也可用自身特有的方式进行评估,以判断 是否达到了所希望的结果。c m m 还包括用以策划、工程化和管理软件开发和维 护的实践活动,当软件机构遵循这些实践活动时,则能够提高其过程能力,以达 到软件项目开发和生产的功能、质量、成本和进度等控制目标。 2 3 2 基于c m m 的评估方法( c b a ) 2 3 2 1 什么是基于c m m 的评估 能力成熟度模型( c m m ) 可以被用作多种不同的软件过程评估,通常将它 们称作基于c m m 的评估( c b a ) 。任何基于c m m 的评估都是以能力成熟度模 型中的关键过程域以及s e i 的问卷为基础的l l “。 通常来说,一个评估由许多基本元素构成,这些元素是: _ 一个过程模型( 用以评估当前过程的状态) 一种指定了评估阶段与步骤的方法 一一种或多种用以帮助进行数据的收集、分析与报告的评估工具。 在基于c m m 的评估中所采用的过程模型以及改进规划图都是c m m ,而评 估的工具则是s e i 的成熟度问卷。大量的评估方法( 例如t r i l l i u m ) 都将c m m 河海大学硕士论文 第二章软件过程评估 或者是经过裁剪的版本作为过程模型。 在软件过程改进中,评估的主要目的在于“理解组织内当前正在使用的软件 过程,确定待改进的关键过程域并开始前期的有关活动”。 2 3 2 2 基于c m m 评估的主要工具 基于c m m 评估的主要工具就是过程成熟度问卷( m o ) j ,它是由s e i 开 发出来的,在事实收集阶段使用。其他收集事实的方法包括面谈、讨论会、小组 讨论、观察等。1 9 9 4 年版的问卷是基于c m m1 1 的,列出了有关软件过程的一 组“是否”的提问,这些提问是对每一个关键过程域的实践的采样。成熟度问 卷是以关键指示因子为基础制定的,适用于对软件过程能力进行调查研究。 在基于c m m 的评估中,s e i 的过程能力成熟度问卷的主要目标在于发现问 题并且针对这些问题进行更进一步的面谈与讨论。通过对问卷回答的分析,可以 明确进一步讨论与事实收集的重点,并且确定在哪些方面还需要更多信息。但必 须要了解的一点是:虽然问卷是整个评估过程的一部分,但它本身却不是过程评 估方法,只能被看作是对问卷结构与内容的一个主要描述,并且为问题的回答给 出了指导。每一个问题的回答只能是下列四个答案中的一个:是、不是、不适用、 不知道。表2 4 中对何时使用这四种答案进行了总结。每一个问题只有一个答案, 并且必须回答所有的问题。 表2 4s e i 过程成熟度问卷可能的答案 答案何时选用此答案 是准则已建立并且被始终如一的执行:“建立起相应的规则并将其作为 标准的操作规程加以实施” 不是准则没有被很好建立并且没有被始终如一的执行:“准则有时或者经 常被实施,但是在不同的情况下会有很大差别” 不适用已具有关于项目、组织以及与问题有关的只是,但是被调查者认为此 问题不适用于他们从事的项目:“例如,如果项目中根本就没有子合 同商时,有关软件子合同管理的问题就不适用了” 不知道被调查却不能确定应如何回答此问题 实质上,评估问卷中的问题,就是把各关键过程域的各个细则内容,加上“有 没有做到”、“有没有建立”、“有没有执行”等语句而构成,并无什么神秘之处。 最后对问卷结果进行分析和总结,得出关于实际过程能力的准确判断。 1 0 河海丈学颈士论文 第二章软粹过糕评估 2 4i s o i e c15 5 0 4 与s p i c e 评估法 2 4 1i s o i i e c15 5 0 4 过程评估模型 2 。4 1 1l s o l l e c1 s 5 0 4 过程评估标准孵缎成 i s o i e c1 5 5 0 4 过糖译 鑫标准巍下述9 令部分搦成1 1 2 】: 第一郝分:概念和导引( 参考件) ;描述该标准各部分的燕系,对标准的选 用给出指龉,解释标准的要求和进行评估的适用憔。 第二溜努:过程嚣过程能力载参考模型( 檬壤终) :定义了一令二维参考模 型,用来描述过程评储中所用的过程和过程能力。该参考模型溺过程的目的和输 出来定义一组过程。并给出借助过程属性的评估求评价过程能力的框架,这然过 程属性鲍实际情况决定了实际的过程熊力等级。该部分还定义了备种评估方法与 参考攘蘩豹稷客往要求。 第三部分:评估( 标准件) :规定了对评估方法的要求,以保证评估输出可 重复、可瓣且一致。 第鼹部分:译 鸯搬露( 参考传) :对懿鹰逑露款磐过程译然绘遗了摆警,趣 括对文耥他的评估过稳、相容豹详储模型和评嵇支持工具的选麓提供指南。 第五部分:评估模跫和标识指南( 参考件) :绘出进行过程评估的样本横型。 第六部分:评审员资格指南( 参考件) :对溅抒过程评估的相关评估人员的 资格、教蠢、诩练窝经验送行接述,并说弱可爱予涯秘赛辏、确认教弯、训练和 经验的机制。 第七部分:过程改进指南( 参考件) :说明为了改进过程如何定义评估输入 农妇 霹後藤评售结果。缭篷了在各秘过程改进滚程下过程改避鹣痘恩示倒。 第a 部分:确定舔制方过程能力的使用指南( 参考件) :说明为了确定过程 能力如何定义评估输入和如何使用评估结果。阐述了简单情况和较复杂情况下过 程能力的评定。它即适用于组织内部囊己进行过稷能力评定,谯适用于采购瀚对 候选软箨供瘟者( 承潮穷) 进行避羧毪力评定。 第九部分:术语( 标准件) :、汇集和定义了专为本标准使用的所有术谱。 图2 3 反映出各部分之间的关系。其中,第二三部分由予反映了过程和过程 鼹力豹纂礁模型两威热本标准豹核心部分。焉软侮过蓑译镳及荚基准模型壤藤是 本文的研究重点。 i s o i e c1 5 5 0 4 过稷评估模型慰一个二维空间的模型:“道稷”维和“过稷能 力”维,j 建程维用可测最的主要过稔目标来描述,过程能力维用适用于任何过程 貔一系翻过程震挂寒撬述,这一系翔避程嚣毪表舔警理一令过程窝改逶j 童簇寰嚣 能力所必须的可测量的特性。其结构见图2 4 。 塑塑查兰堡主堡主 蔓三兰塾生鎏垦堡堡 图2 3 i s o , q e c1 5 5 0 4 各部分之间的关系 等级过程属性名 5 优化的过程更动属性 持续改进属性 4 可预测的过程测量属性 过程控制属性 3 已建立的过程定义属性 对照进 过程资源属性 行映刳 2 已管理的性能管理属性 工作产品管理属性 i 已实施的过程性能属性 0 不完备的 能力维 图2 4 参考模型的二维结构 1 过程维 横向过程维参考了i s 0 1 2 2 0 7 1 3 1 ,给出一个软件机构所应具备的5 类软件生 存周期过程,即客户供方类过程、工程类过程、支持类过程、管理类过程和机构 一级过程类,每类过程中又有若干个具体的过程,这样的横轴表示对一个软件机 构而言,应当提供被评估的所有过程,见表2 2 河海大学硕士论文 第二章软件过程评估 表2 2i s o i e c1 5 5 0 4 过程评估模型中的过程类及所属过程 过程类型过程 过程类代码类名称代码名称 c u s 客户供方类过程 c u s 1 软件获取 c u s 2 客户需求管理 c u s 3 软件供应 c u s 4软件运行 c u s 5 向客户提供服务 e n g工程类过程 e n q l 系统需求与设计 e n g 2 软件需求 d qg 3 软件设计 e n g _ 4 实旖软件设计 e n g 5 软件集成和测试 e n g 6系统集成和测试 e n g 7 系统及软件维护 s u p支持类过程 s u p 1 文档编制 s up 2 配置管理 s u p 3 质量保证 s u e 4 工作产品的验证 s u p 5 工作产品的确认 s u p 6联合评审 s u p 7审计 s up 8 问题解决 m 【a n管理类过程 m a n 1 项目管理 m a n 2 质量管理 m a n 3 风险管理 m a n 4 子合同管理 o r g 机构级的过程类 o r g l 商务运作 o r g 2 过程定义 o r g 3 过程改进 0 r g 4 提供有技能的人力资源 o r q 5 提供软件开发的基础设施 2 过程能力维 评估模型的纵向“过程能力”维在一定程度上参考了c m m 的评估模式,为 任何过程的过程能力定义了一个测量标准,它给出每个过程所处的从0 级到5 级的6 个过程能力级别,即不完整级( 0 级) 、已执行级( 1 级) 、己管理级( 2 级) 、 已建立级( 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025曲靖医学高等专科学校工作人员招聘考试试题
- 2025江苏省宿城中等专业学校工作人员招聘考试试题
- 2026年高考作文主题预测考前必看必刷题(人文关怀+乡村振兴)
- 实行分包的附着式升降脚手架工程安全施工方案
- 地下连续墙专项施工方案
- 吊车梁安装施工技术方案
- 变电站主变大修工程专项施工方案
- 2025年节能建筑材料在建筑节能产品中的应用前景及可行性研究
- 基于用户反馈的国家智慧教育云平台课程体系优化研究教学研究课题报告
- 成都银行2025年年报及2026年一季报点评:息差企稳质量优异
- 2026湖北武汉首义科技创新投资发展集团有限公司招聘8人笔试历年备考题库附带答案详解
- (四模)新疆2026年高三普通高考五月适应性文科综合试卷(含答案及解析)
- 邮政寄递活动方案策划(3篇)
- 2026四川宜宾市科教产业投资集团有限公司下属子公司第一批自主招聘33人考试备考题库及答案解析
- 2026中国氢能源基础设施建设与政策支持分析报告
- 儿童保健三基理论考核试题题库及答案
- 摄影构图(共86张PPT)
- DB33T 988-2022 柔性生态加筋挡土墙设计与施工技术规范
- DB31T 1234-2020 城市森林碳汇计量监测技术规程
- 对外经贸函电课程课件-新Unit-10-Packing
- 导线展放出口张力、牵引力计算表格
评论
0/150
提交评论