(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf_第1页
(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf_第2页
(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf_第3页
(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf_第4页
(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机软件与理论专业论文)基于cmmi的软件测试过程度量研究.pdf.pdf 免费下载

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

文档简介

基于c m m i 的软件测试过程度量研究 计算机软件与理论专业硕士研究生万邦睿 指导教师丁晓明副教授 内容摘要 随着信息技术的迅猛发展,计算机软件已渗透到社会生活的方方面面。与此同时,软 件项目规模的不断壮大、功能的增强和复杂度的增加,软件的成本、进度、质量也变得更加 难以控制,这使得软件差错的经济代价和社会代价不断上升。因此,如何生产出高质量的软 件产品成为软件产业生死攸关的问题。 软件测试作为保证软件质量的一种重要手段,在软件的生命周期中具有十分重要的地 位。有研究表明:越早发现软件中存在的问题,开发费用就越低,软件质量越高,软件发布 后的维护费用越低。而业界普遍认为,除了软件测试技术以外,一个好的、成熟的软件测试 过程能够最大限度的保证软件测试的有效性,进而保证软件产品的质量。 软件度量技术在软件工程领域的研究中占据着重要的地位,它是改进过程的有效途径之 一。通过对过程的度量,可以使过程规范化、可视化;通过对度量数据的分析,可以测鼍出 过程的有效性以及存在的问题;通过度量信息跟踪和监督过程状态,能够为过程管理提供决 策支持,降低过程承担的风险。可通过在软件测试过程中引入过程度量,保证软件测试过程 的有效性,最终实现软件产品质量的保证和提高。因此,对软件测试过程的度量研究具有十 分重要的意义。 集成能力成熟度模型c m m i 是一个成功的、广泛使用的软件过程改进模型。众所周知, 软件测试和软件度量是软件过程中不可分割的一部分,所以c m m i 包含了一系列支持软件 测试过程改进和软件度量分析的过程域,并且这些过程域在c m m i 的连续式表示模型中是 允许被软件组织单独实现的。 本文正是运用c m m i 各个过程域中对软件测试和软件度量的支持框架、实际指导、过 程分析等,结合传统的过程度量方法、技术,对软件测试过程度量进行了研究。本文研究的 主要一 作集中在以下三个方面: ( 1 ) 定义了一个基于c m m i 的软件测试过程。按照c m m i 开展度量和分析的要求,任 两南大学硕卜学位论文 何对过程的度量都是建立在清晰的过程定义上的。因此,本文在分析了现有的软件测试过程 模型优缺点以及c m m i 对软件测试扩展的基础上,定义了一个基下c m m i 的软件测试过程。 ( 2 ) 提出了一个基于c m m i 的软件测试过程度量元选取模型。如何有效地选择度量元 是研究软件测试过程度量的一个重要方面。本文分析了常见的过程度量建模方法的不足,并 根据c m m i 提供的要求和原则,建立了一个基于c m m i 的软件测试过程度量元选取模型一 c 以模型。该模型是以c m m i 到g q ( i ) m 的映射关系作基础,包括了相应的度量定义、剪 裁原则和c m m i 相关过程域等。本文以需求验证这个应用案例证明了模型的可行性。 ( 3 ) 提出了一个软件测试过程度量数据分析模型。如何分析应用选取度量元的度量数 据是研究软件测试过程度量的另一个重要方面。本文分析了统计过程控制的相关理论和贝叶 斯网络的相关理论,在两者结合的基础上,建立了一个软件测试过程度量数据分析模型。定 义了该模型的详细执行流程,并以新设计测试用例这个应用案例证明了模型的可行性。 l i 关键词:c m m i ;软件度量;软件测试过程;度量元 r e s e a r c ho fs o f t w a r et e s tp r e c e s s m e a s u r e m e n tb a s e do i lc m m i m a j o r :c o m p u t e rs o f t - w a r ea n dt h e o r y s u p e r v i s o r :a d j u n c tp r o f e s s o rd i n gx i a om i n g a u t h o r :w r a nb a n g - r u i a b s t r a c t w i t h t h er a p i d d e v e l o p m e n to f c o m p u t e r t e c h n o l o g i e s ,c o m p u t e rs o f t w a r e h a s b e e na p p l i e d t o m a n y 削d so fs o c i a ll i f e i nt h en l e a n w h i l e ,t h es i z e , f u n c t i o n sa n dc o m p l e x i t yo ft h es o f t w a r e p r o j e c th a sm c a s e dc o n s t a n t l y t h ec o s t s ,p r o g r e s sa n dq u a f i t yo f s o f t w a r eb e c o m em o l ed i f f i c u l t t oc o n t r o l ,w h i c hm a k e st h eb u 擎o fs o f t w a r ei nt h ee c o n o m i co rs o c i a le x p e n s e sc o n t i n u et o i n c r e a s e t h e r e f o r e ,h o wt op r o g r a mh i g h - q u a l i t ys o f t w a r ep r o d u c t sb e c o m e sab i gp r o b l e mt ot h e s o f t w a r ei n d u s t r y 。 a s i m p o r t a n tm e t h o dt oa s s i l l ls o f t w a r eq u a l i 啦s o f t w a r et e s t i n gi sv e r yi m p o r t a n ti nt h e s o f t w a r el i f ec y c l e s o m es t u d i e si n d i c a t e dt h a tt h ee a r l i e rd i s c o v e rt h eb u g so fs e t r a r e ,t h el o w e r e x p e n s eo fs o r w a r ep r o g r a m m i n g ,t h eh i g h e rq u a l i t yo fs o l h v a r ea n dt h el o w e re x p e n s eo f m a i n t e n a n c ea f t e rs o f t w a r er e l e a s e t h es o f t w a r eh i d u s t r yg e n e r a l l yc o n s i d e rt h a t , b e s i d e st h e t e c h n i q u eo f s o f t w a r et e s t i n g ,ag o o d , m a t u r es o f t w a r et e s t i n gp r o c e s sc a na s s u r et h ee f f i c i e n c yo f s o f t w a r e t e s t i n g ,t h e r e b y e n s u r i n g t h eq u a l i t y o f s o f t w a r e p r o d u c t s s o f t w a r em e e s ti sv e r yi m p o r t a n ti nr e s e a r c ho fs o f t w a r ee n g i n e e r i n g i t sa l le f f e c t i v e w a yt oi m p r o v es o f t w a r ep r o c e s s t h r o u g ht h em e a s u r e m e n to f s o f t w a r ep r o c e s s , i tc a l lm a k e st h e p r o c e s sb es t a n d a r d i z e da n dv i s u a l i z a t i o n t h r o u g ht h ea n a l y s i so f m e a s u r e m e n td a t a , i tc a l lk n o w t h ee f f i c i c ya n dp r o b l e m so ft h ep r o c e s s t h r o u g ht h et r a c k i n gm e a s u r e m e n ti n f o r m a t i o na n d m o n i t o r i n gp r o c e s sc o n d i t i o n s ,i tc a l lp r o v i d ed e c i s i o ns u p p o r tf o rp r o c e s sa n dr e d u c et h er i s ko f p r o c e s s t h e r e f o r e ,i tc a nm a k e st h e s o f t w a r e t e s t i n gp r o c e s sc o m b i n e dw i t hs o f t w a r e m e a s u r e m e n t ,a n da s s u r e st h ee f f i c i e n c yo fs o f t w a r et e s t i n gp r o c e s s ,f i n a l l yi m p r o v e st h eq u a l i t y o fs o f t w a r ep r o d u c t s t h e r ei sg r e a ts i g n i f i c a n c et or e s e a r c ho ft h es o f t w a r et e s t i n gp r o c o s s m e a s a r e m o n t t h ec m m i ,c a p a b i l i t ym a m f i t ym o d e li n t e g r a t i o n ,i sas u c c e s s f u la n dw i d e l yu s e dm o d e lo f s o f t w a r ep r o c e s si m p r o v e m e n t a sw ea l lk n o w , s o f t w a r et e s t i n ga n ds o f t w a r em e a s u r e m e n ti s 锄 i n t e g r a lp a r to fs o f t w a r ep r o c e s s s ot h ec m m ii n c l u d e sas e r i e so fp r o c e s sa r e a st os u p p o r t i l i s o f t w a r et e s t i n gp r o c e s sa n ds o f t w a r em e a s u r e m e n t a n dt h ep r o c e s sa r e a sc a nb eu s e da l o n eb y t h es o r w a r eo r g a n i z a t i o n s ,w h i c hi nt h ec o n t i n u o u sr e p r e s e n t a t i o no f c m m i t h i st h e s i sf o c u s e so nt h er e s e a r c ho f s o f t w a r et e s t i n gp r o c e s sm e a s u r e m e n tb a s e d0 0c m m i t h et h e s i sa n a l y z e st h ep r o c e s sa r e a so fc m m ic o r r e l a t ew i t hs o f t w a r et e s t i n ga n ds o f t w a r e m e a s u r e m e n ti n c l u d e si t ss u p p o r tf r a m e w o r k ,p r a c t i c a lg u i d a n c e ,p r o c e s sa n a l y s i s ,a n ds oo n i n a d d i t i o n t h et h e s i sa l s oa n a l y z e st h et r a d i t i o n a lm e t h o do fs o f t w a r em e a s u r e m e n t t h e r e r ct h r e e s t u d i e so f t h et h e s i si nt h ef o l l o w i n g f i r s t l y , t h et h e s i sd e f i n e sas o f t w a r et e s t i n gp r o c e s sb a s e do nc m m i o nt h er e q u i r e m e n to f m e a s u r e m e n ta n da n a l y s i so fc m m i ,a n yr e s e a r c ho ft h em e a s u r e m e n ti sb a s e do nac l e a r d e f i n i t i o no ft h ep r o c e s s t h e r e f o r e ,b a s e do nt h ea d v a n t a g e so fe x i s t i n gs o f t w a r et e s t i n gp r o c e s s m o d e la n dt h ea n a l y s i so f s o f t w a r et e s t i n ge x t e n db yc m m i ,t h et h e s i sp r e s e n t sas o r w a r et e s t i n g p r o c e s sb a s e do nc m m i s e c o n d l y , t h et h e s i sp r e s e n t sas e l e c t i o nm o d e lo fm e t r i c so fs o f t w a r et e s t i n gp r o c e s sb a s e d o nc m m i h o wt oc h o o s em e t r i c si s v e r yi m p o r t a n ti nr e s e a r c ho fs o f t w a r et e s t i n gp r o c e s s m e a s u r e m e n t s ot h et h e s i sa n a l y z e st h ec o l m l l o nm e a s u r e m e n to f p r o c e s sm o d e l i n gm e t h o d ,a n d p r e s e n t st h ec - gm o d e l ,as e l e c t i o nm o d e lo f m e t r i c so f s o f t w a r et e s t i n gp r o c e s sb a s e do nc m m i , w h i c ha c c o r d i n gt ot h ec m m ir e q u i r e m e n t sa n dp r i n c i p l e s i th a st h ec o r r e s p o n d e n c ep r i n c i p l eo f c m m ia n dg q 圆m ,i n c l u d e sm e t r i c sd e f m i t i o n , t a i l o r i n gp r i n c i p l e s ,t h er e l e v a n tp r o c e s sa r e a s o fc m m i ,a n ds o0 1 1 t h et h e s i sp r o v e st h ef e a s i b i l i t yo ft h ec - gm o d e lw i t ht h ea p p l i c a t i o no f r e q u i r e m e n tv e r i f i c a t i o n t h i r d l y , t h et h e s i sp r e s e n t sa l la n a l y s i sm o d e lo fm e t r i c sd a t ao fs o f t w a r et e s t i n gp r o c e s s h o wt oa n a l y z et h em e t r i c sd a t ai sa l s ov e r yi m p o r t a mi nr e s e a r c ho fs o f t w a r et e s t i n gp r o c e s s m e a s u r e m e n t t h i st h e s i sa n a l y z e st h et h e o r yo fs t a t i s t i c a lp r o c c a sc o n t r o la n db a y e s i a nn e t w o r k , a n dt h e np r e s e n t sa na n a l y s i sm o d e lo fm e t r i c sd a t ao fs o f t w a r et e s t i n gp r o c e s si nc o m b i n a t i o no f t h et w ot h e o r i e s t h et h e s i sa l s od e f i n e st h ed e t a i l e di m p l e m e n t a t i o no f t h ea n a l y s i sm o d e l ,p r o v e s t h ef e a s i b i l i t yo f t h ea n a l y s i sm o d e lw i t ht h ea p p l i c a t i o no f n e wd e s i g nt e s tc a s e k e y w o r d s :c m m i ,s o f t w a r em e a s u r e m e n t , s o f t w a r et e s t i n gp r o c e s s , m e t r i c s 独创性声明 学位论文题目:基王丛丛l 煎筮佳测达过焦廑量盟蕉 本人提交的学位论文是在导师指导下进行的研究工作及取得的研究 成果。论文中引用他人已经发表或出版过的研究成果,文中已加了特别标 注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同仁在文中作了 明确说明并表示衷心感谢。 学位论文作者: 乃乒潜 签字日期:御年乒月7 日 学位论文版权使用授权书 本学位论文作者完全了解西南大学有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被 查阅和借阅。本人授权西南大学研究生院( 筹) 可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书,本论文:口不保密,口保 密期限至年月止) 。 学位论文作者签名:劳弦香 签字日期:加7 年岁月7 日 工作单位: 通讯地址: 导师签名j 谚、谋 签字日期:加7 年箩月7 ) 日 电话: 邮编: 第一章绪论 1 1 研究背景及意义 2 0 世纪9 0 年代以来,随着信息技术的迅猛发展,软件产业取得了令人瞩目的成就,社 会生活方方面面对于计算机技术的依赖也越来越犬。但随着软件项目规模的不断壮大、功能 的增强和复杂度的增加,软件的成本、进度、质量变得难以控制,很容易产生某些意想不到 的错误,这使得软件差错的社会代价和经济代价不断上升。因此,如何生产出高质量的软件 产品成为软件产业生死攸关的问题。软件测试作为保证软件质量的一种重要手段,在软件的 生命周期中具有十分重要的地位。有研究表明:越早发现软件中存在的问题,开发费用就越 低,软件质量越高,软件发布后的维护费用越低1 1 】。而业界普遍认为,除了软件测试技术以 外,一个好的、成熟的软件测试过程能够最大限度的保证软件测试的有效性,进而保证软件 产品的质量。 度量是改进过程的有效途径之_ _ 1 2 1 ,其目的是为软件过程提供量化的测量结果,以避免 主观的论断。通过对过程的度量,可以使过程规范化、可视化;对度量数据的分析,可以测 量出过程的有效性及存在的问题,及时采取措施对过程进行调整,明确过程的改进方向;通 过度量信息跟踪和监督过程状态。能够为过程管理提供决策支持,降低过程承担的风险。可 通过在软件测试过程中引入过程度量,保证软件测试过程的有效性,最终实现软件产品质量 的保证和提高。因此,对软件测试过程的度量研究具有十分重要的意义。 集成能力成熟度模型c m m i 是美国卡耐基梅隆大学软件工程学院( s e i ) 针对软件质量 保证的另一个核心r 软件过程提出的,它是一个成功的、广泛使用的软件过程改进模型。 众所周知,软件测试和软件度量是软件过程中不可分割的一部分,所以c m m i 提供了一系 列软件测试过程改进和软件度量分析的过程域,并且这些过程域在c m m i 的连续式表示模 型中是允许被软件组织单独实现的。一方面,c m m l 中虽包含了足够多的与软件度量、软件 测试及过程相关的实践指导,但它只阐述了该做什么,而没有阐述该如何做;另一方面,许 多过程度量模型,如g q m ,g q ( 1 ) m 等,虽然它们为过程度量元的选取和定义提供了可行 方法,但缺乏足够的指导,过于抽象:再者,许多度量统计分析方法,都没有统一的指导和 完整的流程。因此,将c m m i 与过程度量相结合,在c m m i 框架的指导下,对软件测试过 程度量进行研究,是可行也是有意义的。 1 2 国内外研究现状 1 2 1 过程度量研究现状 软件工程经过几十年的发展,软件的质量和软件项目的质量依然没有得到比较明显的提 高。通过借鉴传统工业的质量改进方式,人们将注意力转到了过程规范、控制和改进领域, 并发现通过过程规范化并进行度量和不断改进,可以显著提高软件产品的质量。随着大量的 两南大学硕 他论史 人力物力在度量技术研究和应用方面的投入,软件度量技术获得了妖足的发展,成为软件工 程方向的研究热点之一。 国外关于软件过程度量的研究已有了一定的成果,例如2 0 世纪8 0 年代中期由美国马里 兰大学的教授v i c t o r b a s i l i 提出的g o a l - q u e s t i o n - m e t r i c ( g q m ) 模型,它是一种而向目标的、 自上而f 由目标逐步细化到度量的度量定义方法,它将目标与基丁项目和组织需求的软件过 程、产品和质量方面的模型结合起来,经过实践,形成了建立可度量软件过程的基本方法p l 。 另外,卡耐基梅隆大学软件工程研究所软件工程度量和分析组( s e m a ) 在g q m 模型的基 础上提出的g q ( i ) m 模型,它在q u e s t i o n 层和m e t d c 层之间增加了i n d i c a t o r 层,使度黉根 据直观,易于理解 4 1 。w i l l i a ma f l o r a e 和a n t i ad c a r e t o n 等人对软件过程度量的过程模型 和度鼍分析技术进行了研究【”,于1 9 9 9 年提出了一个度量过程行为框架,该框架由六个活 动组成:确定商业目标,确定问题并安排优先次序,选择和定义度量。采集、验证、保存数 据,分析过程行为和评估过程性能。通过不断循环执行框架所包含的活动,达到持续改进软 件过程的目的。同时,他们将统计过程控制技术( s t a t i s t i c a l p r o c e s s c o n t r o l ,s p c ) 和控制图表 引入剑软件过程度量领域中,用来分析软件产品和过程的特性。 国内对软件过程度量技术的研究刚刚起步,目前还没有独立研究的比较成型的过程模型 和度量、改进的方法。在学术期刊上有上海计算机软件技术开发中心的宿为民教授、朱三元 研究员的支持过程度量的软件过程建模方法的研究【q 一文,该文提出从过程建模的角度 考虑对过程度量的支持问题,并提出一种g q m - d 方法,用该方法可以建立支持过程度量的 软件过程模型。北京航空航天大学软件工程研究所的李健、金茂忠在软件过程度量技术的 研究【1 一文中重点分析了对软件过程的度量和不同过程成熟度层次对度量的需求。 1 2 2 软件测试过程研究现状 软件测试过程度量是对软件测试过程的量化分析,通过测试度量对于指导和改进软件测 试过程具有实际意义。近年来,软件度量引起了企业界和学术界的广泛重视并且有了长足的 发展,但是关于软件测试方面的度量研究还比较少。 国外研究的重点更多地放在了将软件测试过程与c m m 、s p i c e 等成功的软件过程改进 模型相结合上。如: m a r i j nh a m 在 t e s t i n gi ns o t t w a r ep r o c e s si m p r o v e m e n t 】一文中提 到了测试成熟度模型,并讨论了c m m 、s p i c e 等模型对测试成熟度模型的影响;t o nv a i l s c h i j n d e l d r d r o b b e n 在 t p i ,c m m ia n d t e s t i n g 唧中指出了测试过程改进、c m m i 与软件 测试之间的关系,并将t p i 应用在了c m m 的等级2 和等级3 中。m a r i c k 1 0 1 提出了许多软件 测试过程方面的技巧和改进,包括从规范说明寻找测试线索,借助测试需求目录产生测试需 求清单,通过指派确切的输入和期望的输出值形成测试规范,进而测试程序的全过程。 软件测试方面的研究在我国起步较晚,对软件测试过程度量、与c m m i 等成功模型相 结合的研究r 作在我国开展得更晚,目前可查的资料有限。西安交通大学的张春霞、苏秦在 软件测试过程分析f 1 1 i - - 文中分析了传统软件测试的不足,阐述尽早开始测试的必要性, 总结出系统测试过程所需经历的阶段计划,设计、执行和评估。中国科学技术大学的周学 2 第一章绪论 海、陈蓓蓓在软件测试过辟模硝的改进并行v 模型【1 一文中分析讨论了已有的软 件测试过程模型,进一步挖掘测试活动之间的并行性,并兼顾回1 门测试的范围问题,尝试提 出了一种并行的v 模型。湖北i :业大学的熊才权等在基t - c m m i 的软件测试过程改进研 究【1 3 】一文中分析了c m m i 模璎关于软件测试过程的描述,提出了一个基于c m m i 的软件 测试过程模型v 模型,并分析了基丁二该模型的软件测试策略。 1 3 本文的研究内容 本文的主要研究内容如图1 1 所示,包括如下几个方面: 图1 1 本文的研究内容图 ( 1 ) 定义了一个基于c m m i 的软件测试过程。 在对软件测试过程进行度量分析研究之前,必须建立一个清晰的、完整的、符合一般性 要求的软件测试过程。因此,本文根据现有的软件测试过程模型的优点,结合c m m l 对软 件测试及过程的扩充,定义了一个基于c m m i 的软件测试过程。 ( 2 ) 提出了一个基于c m m i 的软件测试过程度量元选取模型。 c m m i 不是专门为改进软件测试过程而出现的,而且c m m i 也没有详细说明该如何去 建立和分析度量活动。因此,在c m m i 提供的要求和原则下,具体的度量和分析工作需要 自己来定义。在本文中,建立了c m m i 和g q ( d m 方法的映射模型来保证度量元选取和细 化的合理性、有效性。 ( 3 ) 提出了一个软件测试过程度量数据分析模型。 对度量数据进行分析,能够获取过程的状态,为过程改进提供鼍化的数据基础。c m m i 的度量和分析过程域为此提供了足够多的实践指导,但是,它只阐述了该做什么,而没有阐 述该如何做。本文结合统计过程控制方法和贝叶斯网络方法,建立了一个过程度量数据分析 模型。 3 两南人学硕f 学位论文 1 4 本文的组织结构 本文共分为七章,各章主要内容如下: 第一章介绍了本文的研究背景和研究内容。在简要介绍了软件过程度量和软什测试过程 国内外研究现状的基础上,给出了本文研究的土要内容。 第二章详细介绍了软件过程度量的基本理论,分析了软件过程度量的概念、内容和软件 过程度量总体度框架,介绍了c m m i 模型的专业术语、分类等,并详细分析了c m m i 与软 件度量的关系。 第三章详细介绍了软件测试过程的相关知识,分析了现有的软件测试过程模型的优缺 点,以及c m m i 的验证过程域和确认过程域对软件测试及过程的扩展,在此基础上提出了 一个基于c m m i 的软件测试过程。 。 第四章建立了一个基于c m m i 的软件测试过程度量元选取模型。分析了常见的过程度 量建模方法的不足,提出了c m m i 与g q ( d m 的映射模型来保证软件测试过程度鼍元选取 的合理性和有效性,并研究了相应的度量定义、剪裁原则,以需求验证这个应用案例来证明 了模型的可行性。 第五章建立了一个软件测试过程度量数据分析模型。分析了统计过程控制的相关理论和 贝叶斯网络的相关理论,在两者结合的基础上,提出了一个度量数据分析模型,定义了其执 行流程,以新设计测试用例这个应用案例证明了模型的可行性。 第六章在上述研究成果的基础上,设计并开发了一个支持软件测试过程度量的工具原型 系统s t p m t ,详细分析了s t p m t 的系统结构,功能和特点。 第七章对全文的工作做了总结,并对下一步工作进行了展望。 4 第二章软件度量的基本理论 软件度量的目的是用软件度量学的方法来科学地评价软件质量,控制和管理软件开发过 程,合理组织和分配资源,制定切实可行的软件开发计划,以较低的成本获得高质鼙的软件。 它为软件过程的不断改进和鼍化管理奠定了基础,也为管理层了解项目当前所处状态( 如进 度情况、重要任务完成情况、需求变更情况等) 提供了帮助。 2 1 软件度量的基本概念 软件度量学( s o f t w a r e m e t r i c s ) 最早在1 9 5 8 年由r u b e y 和h u r t w i c k 提出。1 9 7 0 年h a l s t e a d 提出了软件科学( s o f t w a r es c i e n c e s ) 的概念,他认为任何一门学科要成为科学,必须理论 和实践结合,而软件度量学正是反映了这种结合的学科。b o e h m 于1 9 7 6 年提出,对软件属 性不能仅有定性的研究,还必须有定量的研究,软件度量学正是顺应这种趋势而产生的。现 在软件度量学已经发展成为一门至关重要的软件工程学科,软件度量已经是软件工程的重要 实践。 2 1 1 软件度量定义及相关术语 i e e e 在“s t a n d a r df o rs o f t w a r eq u a l i t ym e t r i c sm e t h o d o l o g y ”i e e es t d 1 0 6 1 1 9 9 2 。1 9 9 3 1 1 5 l 中对度量( m e t r i c s ) 给出定义:度量是一个函数,它的输入是软件数据,输出是单一的数值, 能用以解释软件所具有的一个给定属性对软件质量影响的程度。 同时,i e e e 也对在软件度量活动中容易混淆的量度( m e a s u r e ) 和测量( m e a s u r e m e n t ) 分别做了以下的定义: “量度是和一种标准相比较以估价或确定值的方法”,是对一个产品或过程的某个属性 的范围、数量、维数、容量或大小提供了一个定量的指示。量度被定义为测量的一个单位, 必须为每个量度建立通用的或者局部的标准,如代码行( l i n eo fc o d e ,l o c ) 就是量度的 一个例子。 “测量是一个动作或过程,测量是为实体的所选属性赋予数字或者符号的过程”,是确 定一个测量的行为。属性是一个实体的特征,一个实体可以是物理对象,或者可以是发生在 现实世界中的事件或者过程。测量过程把现实世界中的实体映射到形式化的数学领域。 尽管度量、量度和测量有不同形式的定义,但在实践中可以统一和互换使用它们。在操 作中,人们常常按与度量相似的方式来使用一个测量的直接结果。因此,在软件工程的文献 和实践中,术语软件度量( s o f t w a r em e t r i c s ) 、软件量度( s o r w a r em e a s u r e s ) 和软件测量 ( s o f t w a r em e a s u r e m e n t ) 可以相互交换使用。 5 两南大学颁 + 学仃论艾 2 1 2 软件度量分类 软件度量涉及的范嗣较广,根据度量对象的不同一般分为过程度量、项目度最和产品度 量。 ( 1 ) 过程度最:这种度量是从管理者的角度进行管理,给管理者提供开发i :作的状态信 息,使管理者可以借助这些信息指出某些值得进一步研究或者解释的潜在的开发1 :作问题。 这种度量会涉及到产品、过程和资源在开发的不同阶段的状态。将这些动态数据与计划数据 进行对比便能说明某些问题,从而为管理者指导工程项目提供依据。 ( 2 ) 项目度量:这种度量是对软件开发项目的特定度量,它针对具体的项目进行度量, 目的是评估项目开发过程的质量,预测项目成本、进度、工作量等,帮助管理者进行质鼍控 制和项目控制。 ( 3 ) 产品度量:这种度量是反映软件产品设计特性的度量,能够反映出产品的质量特性, 最终希望获得如可靠性,可维护性、灵活性等产品质量特性。 本文将在后面的章节中重点讨论过程度量。 2 2 软件过程度量 高质量,低成本的生产软件产品是软件企业追求的目标,也是软件企业能否在日盏激烈 的市场竞争中生存的关键。软件界的多年研究表明,要在预算的时问和成本下生产高质量的 软件,关键在于软件过程的有效管理。有效的软件过程能够将人员、工具和方法进行有机的 结合,而有效的软件过程离不开完善的软件过程管理。 2 2 1 软件过程度量范畴 软件过程度量是对软件过程进行度量的定义、方法、活动和结果的集合,软件过程不是 单一的活动而是一组活动的集合,它本身也是一个系统的过程。与任何系统的过程一样,它 包括确定需求、制定计划、执行和结果分析等系列完整的步骤。具体包括:选择和定义度 量、制定度量计划、收集数据、执行度量分析、评估过程性能、根据评估结果采取相应措施 等。软件过程度量的目的是为了评价并改善软件过程,提高软件生产能力,提高软件质量。 因此过程的度量与分析是对过程进行控制,进而对过程进行改进的前提。 软件过程度量的过程是企业整个软件过程的一部分,它与软件过程的其他部分相互联系 又相互影响,软件过程中不同角色和组织对度量需求和应用各不相同。图3 1 表示出软件过 程度量的不同用户对象。 6 第一_ 帚软件度量的幕奉理论 图2 1 度量用户对象 对软件过程的度量围绕改善软件质量、提高生产效率和降低成本这三方面展开,度量内 容主要包括进度、资源和费用、稳定性、质量、开发性能、技术完备性六个方面。这六个方 面不是独立的是互相关联。图2 2 中给出了它们之间的相互关系。 一:表示反向芙系+ :表示正向关系 图2 2 软件过程度量关系模型 从上图可以看出,技术越完备,软件开发过程的稳定性和产品的稳定性越强;软件开发 过程性能越高,就能在相对较少的资源利用和人员投入情况下完成软件生产。软件开发性能 越好,软件生产进度就越快,软件过程性能越好,软件质量就越好。软件过程和产品的稳定 性越强,资源的利用和人员的投入就相对少,加大物质和人力资源的投入就能加快软件生产 的进度;过分注重进度往往就会忽略对软件质量的控制,不过,软件质量越好,软件维护量 就越小,软件过程和软件产品就不会有大的变更,软件质最越差,软件维护量就越大,额外 投入的资源和费f j 就越多。 软件过程度量根据规模、工作量、成本、进度、生产率、缺陷、同行评审的覆盖范围和 效率等【1 6 1 义分为了多个度量子类,如表2 1 所示。 7 两南夫学硕卜学位论文 表2 1 软件过程度晕分类 软件过程度量是对软件开发过程的各个方面进行度量,目的在于预测过程的未来性能, 减少过程结果的偏差,对软件过程的行为进行目标管理,为过程控制、过程评价持续改善提 供定量性基础。过程度量与软件开发流程密切相关,具有战略性意义。软件过程质量的好坏 会直接影响软件产品质量的好坏,度量弗评估过程、提高过程成熟度可以改进产品质量。由 于软件开发过程没有一个固定的模式,又需要不同层次、不同分工的人员参加,有一个互相 协调、合作、组织的过程,以致整个开发过程进度难以控制、质量难以保证、工作量难以估 计,所以软件过程是一个动态的、错综复杂的过程,如何合理地度量软件过程,是一个永远 值得研究的课题。 2 2 2 软件过程度量框架 软件过程度量是对软件过程进行度量的定义、方法、活动和结果的集合。软件过程度量 不是单一的活动而是一组活动的集合,它本身也是一个系统的过程,主要包括如下的活动: 选择和定义度量、制定度量计划、数据采集、度量分析、分析过程行为等活动,如图2 3 所示。 8 图2 3 软件过程度量框架 从图中可以看出,首先根据项目的商业目标选择和定义度量,并与项目整体计划相结合 制定度量计划。在度量计划中,确定度量活动的角色和职责等,同时将项目的里程碑处或者 任务的结束点定为度量分析的时间点,在这些时间点上进行度量的分析活动,并在分析结果 的基础上及时采取措施实施控制。在项目的执行过程中,按照计划进行数据收集和度量分析, 评估过程的性能。用适当的计算在控制图上画出度量数据,评估过程是否稳定。如果不稳定, 则需要确定可归属的原因,如果稳定,则评估过程的能力,决定是否变更过程。 在业界许多公认的标准中,都有对软件过程度量框架的定义和描述。如i s o 和i e c 共 同推出的关于软件度量过程的一个标准i s o i e c l 5 9 3 9 。这个标准描述的软件度量过程模型 由获得和保持管理层的支持、规划度量过程、实施度量过程和评价度量过程四个活动部分组 成【i ”。这些活动顺序执行,根据获得的反馈对度量过程进行改进,并循环和迭代。又如c m m i 的度量和分析过程域,它提出一个软件过程度量必须包含定义度量目标、制定度量计划、制 定度量数据分析计划、收集数据、分析数据以及提出改进措施等步骤。再如6 s i g m a 的d m a i c 。 也定义了软件度量和分析框架:定义度量、实施度量、分析数据、改进过程和控制过程【1 9 1 。 本文将在后面的章节中重点讨论c m m i 与软件度量的关系。 9 西南人学硕卜学位论史 2 3 集成能力成熟度模型c m m l 2 3 1c m m i 模型概述 集成能力成熟度模型c m m i ( c a p a b i l i t ym a m f i t ym o d e li n t e g r a t i o n ) 是美国卡耐基梅隆 大学软件工程学院( c m u s e i ) 在美国政府的支持下于1 9 9 8 年启动的项目。经过c m m i 项 目相关人员的广泛评审和实验之后,s e i 在2 0 0 2 年1 月1 1 日上e 式发布了c m m ii 1 版本。 同时,s e i 宣布在2 0 0 3 年停止能力成熟度模型c m m 体系的维护工作,并在2 0 0 5 年停i e c m m 认证,转为维护c m m i 和推荐c m m i 认证。 s e i 开发c m m i 的根本目的是为了解决各个过程能力成熟度模型间的不一致和冲突问 题。c m m i1 1 版的直接前趋有三个【i 】: 软件能力成熟度模型( s w - c m m ) v2 0 草案c ; 系统工程能力模型s e c m ( 即e i a i s7 3 1 ) ; 集成化产品开发能力成熟度模型( i p d m m ) v 0 9 8 。 c m m i 综合了各个前趋的优点,覆盖了软件过程开发、系统过程实践和管理、并行工程 以及外包工程管理等多个领域的实践过程,融合了6 s i g m a 、t q m 、i s 0 9 0 0 0 等作业体系的 核心思路。较之于前只适合于单个领域的各个c m m 标准,c m m i 更适合于软件开发、电子 制造企业、高端服务业、咨询

温馨提示

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

评论

0/150

提交评论