




已阅读5页,还剩67页未读, 继续免费阅读
(计算机软件与理论专业论文)基于cmmi软件过程改进的度量及支持环境研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于c m m i 软件过程改进的度量及支持环境研究 摘要 软件能力成熟度模型集成( c a p a b i 【t ym a r u r i t ym o d e li n t e g r a t i o n ,c m m i ) 是由美国卡内基梅隆大学的软件工程研究所提出的一套针对软件过程的管理、 改进与评估的模式,其根本目的就是软件过程改进。丽所有的过程改进都离4 i 丌对软件过程的度量,进行软件过程度量对软件过程改进具有重要的意义。 c m m i 模型只是提供了软件企业建立成熟软件过程的框架,对缺乏实践经验 的软件企业来说,执行起来有相当的困难。本文考虑到国内企业进行过程改进 的实际需要,以提高研究的实用性为目的,根据g q m 和g q ( i ) m 度量定义方法, 提出了一个实用的、可裁剪的软件过程度量模型。度量建模以过程建模为基础, 将软件过程建模和度量建模结合起来。本文从软件组织的度量需要出发,给出以 “度量目标一问题一指示器一度量”为组成结构的c m m l 3 级过程域的较为全面和完 整的度量定义,帮助软件组织制定切实可行的针对c m m l 3 级的度量方案。另外, 本文也深入研究了度量分析技术,讨论了利用度量分析结果对过程实施控制和 改进。 最后,在上述工作的基础上,设计并实现了支持过程度量的工具原型系统 p - a m t ,为软件组织有效进行软件过程度量提供支持,帮助软件组织对软件过程 的性能有一个量化的认识,从而达到软件过程改进的目的。 关键词: c m m i 过程度量g q ( i ) m 过程改进度量建模 r e s e a r c ho fm e t r i cb a s e do nc m m is o f t w a r ep r o c e s s i m p r o v e m e n ta n di t ss u p p o r t i n ge n v i r o n m e n t a b s t r a c t t h ec a p a b i l i t ym a t u r i t ym o d e li n t e g r a t i o n ( c m m i ) ,t h et e m p l a t ep r o v i d e db yt h e s o f t w a r ee n g i n e e r i n gi n s t i t u t i o no fc a r n e g i em e l l o nu n i v e r s i t y , i sa p p l i e dt o m a n a g e m e n t ,i m p r o v e m e n ta n d e v a l u a t i o n0 1 2s o f t w a r ep r o c e s s t h ea i mo fc m m ii s t h ei m p r o v e m e n to ns 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 sm e t r i ci si n d i s p e n s a b l et o s o f t w a r e p r o c e s si m p r o v e m e n t ,a n dt h er e s e a r c h o ft h i sh a sv e r y i m p o r t a n t s i g n i f i c a n c e t h et e m p l a t eo fc m m ii sj u s ta g e n e r a lf r a m e ,s oi tm a yb ed i f f i c u l tt ob ep u ti n t o p r a c t i c ew h e nt h eo r g a n i z a t i o n st a k ee f f o r to ni m p r o v i n gt h es o f t w a r ei m p r o v e m e n t i nt h et h e w s ,t h r o u g ht h ei m p r o v e m e n to ng o a ld r i v e nm o d e l i n go fp r o c e s sm e t r i c ,a t e m p l a t ei sp u tf o r w a r dw h i c h i sm o r ea v a i l a b l ea n dc u s t o m i z a b l e t h em o d e l i n go f m e t r i cb a s e do nt h em o d e l i n go fp r o c e s sm a k e sab a l a n c eb e t w e e nt h et w oa s p e c t s f u r t h e r m o r e ,ac o m p l e t ed e f i n i t i o no ft h en e wm e t h o d ,b a s e do nt h eu t t e rr e s e a r c ho f g q ma n dg q i m ,i so f f e r e di nt h et h e s i s ,a n dh a sb e e nc o m ei n t ou s ei nt h el e v e lo f c m m l 3 a l s ot h em e t h o da n do u t c o m eo fm e t r i ch a sb e e na n a l y z e dw h i c h c o n t r i b u t e st ot h ei m p r o v e da n dc o n t r o l l e dp r o c e s s i nt h el a t t e ro f t h et h e s i s ,ap r o t o t y p et o o l ,n a m e da sp - a m t , h a sb e e nd e s i g n e d i t m a yd ow e l lt ot h eo r g a n i z a t i o n st h a tw a n tt oi m p r o v et h es o f t w a r ep r o g r e s ss t e pb y s t e p k e y w o r d s :c m m t ,p r o c e s sm e t r i c s ,g q ( i ) m ,p r o c e s si m p r o v e m e n t ,m e t r i c s m o d e l i n g 合肥工业大学 本论文经答辩委员会全体委员审查,确认符合合肥工业大学 硕上学位论文质量要求。 答辩委员会签名 揣垒铀越教授 委员:刊与 嗄色 , 彳易劭钆 形刎飞扒 导师: 合肥工业大学教授 合肥工业大学教授 合肥工业大学副教授 合肥工业大学副教授 合肥工业大学副教授 独创性声明 本人声明所呈交的学位论文是本人在导师指导r 进行的研究l 一作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰下亏 过的研究成果,也不包含为获得 金月b 工些盔堂 或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明 并表示谢意。 学位论文作者签名签字日划 学位论文版权使用授权书 本学位论文作者完全了解盒墼些盍堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金 世点些盘堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采川影| = | j 、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:乒嘻孑百 签字日期秽年? 月0 曰 学位论文作者毕业后去向 i 。作单位: 通讯地址: 导师签名 签字日期:占蚵年;且彰日 , 渺1 致谢 衷心感谢我的导师李心科副教授和袁兆山教授,存本论文的选题、写作和定 稿的过程中,自始至终得到了导师的指导、关心和帮助,他们为此投入了大量 的时间和精力。没有导师的培养和指导,本论文是不可能完成的。在我的研究 生学习和生活期间,得到了导师的极大帮助和关心,给我创造了很多条件和机 会,使我倍感温暖。导师渊博的学识、敏锐的思维、严谨的治学态度,高尚的 道德情操和平易近人的人格魅力,给我留f 了深刻印象,使我终身受益。 感谢软件工程实验室的邵垄副教授和刘政老师对我的关心和帮助,感谢计算 机与信息学院的老师们,感谢他们给我提供的学习条件和机会。 感谢我的父母和家人,感谢所有关心和支持我的老师、同学和朋友,他们的 爱是我永远前进的动力。 作者:杨彬 2 0 0 5 年3 月6 日 第一章绪论 1 1 研究背景及意义 近年来,信息技术迅猛发展,软件、也取得了辉煌的成就。但随着软件技术 的发展和应用,软件规模越来越大,软件开发风险增加,软件质量很难得到有 效的控制。为了摆脱软件危机,产牛低成本、高质量、按时交付的软件产品,软 件开发组织开始对软件_ 丁程方法进行深入的研究,不断提出和改进软件工程方 面的技术、方法和工具。然而,虽然这些方法和工具提供了许多帮助,但它们 并没有根本解决软件开发中存在的进度和成本失控、质量不能令人满意和丌发 人员疲惫不堪等问题。软件界的多年研究表明,要在预算的时间和成本下生产 高质量的软件关键在于软件过程的有效管理。只有将过程规范化并进行度量和 不断改进,才能生产出高质量的软件产品。 软件过程是软件开发人员开发和维护软件及其相关产品的一套行为、方法、 实践及交换过程。自八十年代开始的软件质量控制运动以来 h u m p 8 9 ,软件过 程管理和软件过程改进获得了越来越多的关注。在如何进行软件过程管理和改 进方面,已经进行了很多研究,产生多种模型。国际上有几个组织在规范和改 进软件开发过程方面做了很多工作,如i e e e e i a 制定的软件生存周期标准实施 指南:卡内基一梅隆大学软件工程研究所发布的s w c 删、c m m i s e l 0 2 等,为软 件过程改善和软件过程评估提供了一个有效的指导框架,以期达到改进过程的 目的,推动了软件产业的_ 1 :程化过程。在这个过程中,软件的质量、进度等都 是呵以预测的 z a h r 9 8 。 有效的软件过程能够将人员、工具和方法进行有机地结合,而有效的软件过 程离不开完善的软件过程管理和持续改进的机制,保证组织的软件过程能力小 断得到提高。软件过程改进和软件质量控制需要有定量的标准来衡量,软件的 质量评价和过程控制程度依赖于软件度量技术。过程度量有助于企业确定过程 和产品的质量、制定过程改善计划,并掌握过程改善的效果。积累的大量度量 信息有助于企业分析研究软件过程技术。而且,通过得到的度量信息,用,可 以跟踪和监督软件开发状态,为过程管理提供决策支持,以降低所承担的软件 丌发风险。通过软件过程度量,软件组织能够精确了解当前过程的性能,及时 地采取有效的措施对过程进行调整,使得开发过程得到控制。 1 2 国内外研究现状 1 2 1c 嘲c 埘i 软件过程技术为开发人员提供一个标准的无歧义的软件开发规范,使得软件 丌发生产率得以提高。国际上有关软件过程改进和质量评价体系丰要有i s o 模 型、c m m p a u 9 3 、s p i c e ( k o n a 9 5 等。基于c m m c m m 【的软件过程改进已成为 当前的主流。c m m i 为仓业提供了软件过程改进的框架,帮助指导软件氽业提高 软件过程能力。 软件能力成熟度模型c m m 是由c m u s e i 受美国困防部委托和资助而研究制 定的种用于评价软件承包能力并帮助其改善软件质量的方法,也是评估软件 过程能力和成熟度的一套标准,侧重与软件丌发过程的管理及i :程能力的提 高,同时也是一种软件评估标准,用于软件开发过程和软件开发能力的评t 1 ,和 改进。 自1 9 9 1 年s w c m m 首次发布后,s e i 又开发了其他成熟度模型,包括系统 工程、采购、人力资源管理和集成产品开发等。为了整合不同模型中的最佳实 践,建立统模型,覆盖不同领域、供企业进行整个组织的全面过程改进,s e i 又推出c m m i ( 能力成熟度模型集成) 以替代c 。c m m i 主要起源于二个源模型: 软件能力成熟度模型( s w c m m ) 、电子行业协会临时标准( e i a i s 7 3 1 ) 、集成 产:品丌发能力成熟度模型( i p d c m m ) ,此后模型中又集成了供应管理的内容。 在c m m i 模型组件中,s e s w 是核心。与原有的能力成熟度模型类似,c m m i 也 包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的最佳实 践,专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。c m m i 为企 业的过程构建和改进提供了指导和框架作用;同时为企业评估自己的过程提供 了可参照的行业标准。c d m i 融入了大部分最新的软件管理实践,同时弥补了 c m m 的缺陷。c m i 的主体是一个整体框架,其内容涉及四个知识领域。系统、 软件、集成的产品和过程开发、采购。 1 2 2 软件过程度量技术的研究 在度量技术发展的早期,软件度量研究的重点是度量产品的性能。进入上世 纪8 0 年代,鉴于软件过程度量的重要意义,软件度量的研究领域又拓宽到实施 度量的机制和方法的研究上。国内外不少组织都对软件过程度量技术进行了研 究,提出了各自的度量理论和方法,出现了很多度量模型。 在过程度量的定义模型方面,为了更好地实施软件度量,m m o r i s i 0 提出了 度量是一个过程的观点,即软件组织需要通过建立软件度量过程来进行软件过 程度量 m o r i 9 9 。d o n a l dr m c a n d r e w s 提出了将度量软件过程作为整个组织软 件过程一部分的思想,并给出了用于设计可重复使用的可度量的过程方法 m e a n 9 3 。 在具体的过程度量定义方法方面,出现了很多度量过程模型。其中最具有代 表性的是由b a s i l i 教授及其合作者提出目标驱动( g o a l q u e s t i o nm e t r i c ,g q m ) 模型 b a s i 8 4 。6 q m 模型是一种面向目标的,白上而下由目标细化到度量的逐步 求精的度量定义方法,它将目标与软件过狸、产品和质量方面的模型结合起来, 形成了建立可度量软件过程的基本方法。r o b e r te p a r k 对g q m 模型做了改进, 在q u e s t i o n 层和m e t r ic 层之l 刈加入了i n d i c a t o r ( 指示器) ,提出了g q ( i ) m 模型 p a r k 9 6 。g q ( i ) m 模型使得度量更加直观,易于理解。 在软件过程度量框架和过程分析方面,l s ( 1 和i e c 共同推出的关于软件度量 过程的一个标准i s o i e c1 5 9 3 9 。这个标准描述的软件度量过程模型由获得和保 持管理层的支持、规划度量过程、实施度量过程和评价度量过程四个活动部分 组成。这些活动顺序执行,根据获得的反馈对度量过程进行改进,并循环和迭 代 i s 0 2 0 0 0 。 w il i a ma f l o r a c 和a n t i ad c a r e t o n 等人对软件过程度量的过程模型和度 量分析技术进行了研究 p l o t 9 9 ,于1 9 9 9 年提出了个度量过程行为框架,该 框架由六个活动组成:确定商业目标,确定问题并安排优先次序,选择和定义 度量,采集、验证、保存数据,分析过程行为和评估过程性能。通过不断循环 执行框架所包含的活动,达到持续改进软件过程的目的。同时,他们将统计过 程控制技术( s t a t i s t i c a lp r o c e s sc o n t r o l ,s p c ) 和控制图表引入到软件过程 度量领域中,用来分析软件产品和过程的特性。另外,也有些软件组织在尝试 应用类似统计过程控制的s i xs i g m a 技术。 国内对软件过程度量技术的研究相对较少,还没有比较成型的过程模型和度 量、改进的方法。上海计算机软件技术开发中心的宿为民教授等人提出从过稃 建模的角度考虑对支持过程度量,并给出一个一种支持过程度量的软件过程建 模方法的g q m d 度量框架 s u 9 9 ,其基本思想是在g q m 模型的度量层下增加一 个数据项分层,将关于过程度量的一些特定的活动完全融入到过程模型中,使 之成为软件过程各活动中的一种。 目前对软件过程度量的研究多偏向于理论方面,还没有一些实用的过程度量 工具帮助软件组织进行软件过程度量 k u li 2 0 0 2 。软件组织在进行实际度量时, 往往不知道如何度量,度量什么以及如何利用统计控制技术分析过程,这也是 软件过程度量在国内的软件组织中得不到广泛的应用的主要原因。因此本论文 对软件过程度量技术的研究更关注于度量技术的实际使用,期望能够通过本论 文的工作为国内的软件组织进行过程度量提供一些实用性的指导和帮助。 1 3 本文的研究内容 c m m 和c m m i 所关注的焦点都是软件过程改进和系统工程的改进,它们描述了 软件过程进化的改进途径,帮助软件企业建立一个从无序、不成熟的软件过程 变为成熟的、有纪律的软件过程。c m m 将软件企业的过程成熟度划分为5 个等级, 并在第二个等级就引入了质量管理的观念,在第四个等级更是明确提出了过程 量化管理的观点。而在c m m i 中,第二级别更强化了“可管理”的特点,并把原 来在s w c m m 中的一个公共特性“度量与分析”作为一个单独的过程域在c m i 的第二级中正式提出。对于实施c m m i c m m 的软件组织来说,软件过程度量越来 越蘑要。 c m m c m m i 为企业进行软件过程度量提供了个指导性原则。但是,在现今的 软件度量过程技术的研究上,还存在着以下不足: 1 、在度量定义过程方面基本上只是告诉软件组织应该去做什么,并没有解 决如何去做的问题。在软件过程度量领域仍然没有实用和系统的方法指导软件 组织如何对c m m i 进行软件过程度量,没能指出在各个等级到底需要度量什么、 该怎样度量。用户缺乏具体的指导,度量操作性筹。 2 、缺乏针对软件度量过程的评价体系,难以找出过程中存在的不足,不能 采取有效措施进行过程改进,没有一个系统的、切实可操作化的评价方法。 3 、度量工具在实用性和易用性方面存在着较大的缺陷,普及率低。在度量 计划制定、数掘收集和结果显示等方面还存在着很大的不足。 本文考虑到国内企业进行过程改进的实际需要,在对己有的软件过程度量模 型的研究基础卜,根据国内企业的特点,对目标驱动的过程度量模型进行了改 进,提出以c m m i 软件过程框架为基础,建立软件过程模型,将软件过程建模和 度量建模结合起来,度量目标根据过程的业务目标而确定,建立一个实削的、 可裁减的软件度量过程模型。深入研究了基于目标为驱动的软件过程度量方法, 给出c m m l 3 级各过程域的过程度量定义,指导用户怎样时c m m l 3 级进行度量、 度量什么及该收集哪些数据等,帮助软件组织制定了切实可行的针剥c m m l 3 级 的度量方案。本文也深入研究了度量分析技术,研究和分析了利用度量分析结 果对过程实施控制和改进的方法和策略。最后,在上述:i :作的基础上,设计并 实现了支持过程度量的工具原型系统,为组织有效进行软件过程度量提供支持。 1 4 本文的组织结构 本文共分为六章。 第一章介绍了本文的研究背景和研究内容。在简要介绍了过程度量技术和圈 内研究现状的基础上,给出本文研究的内容和所要进行的:作。 第二章详细介绍了软件过程度量的基本理论,分析了软件过程度量的概念、 内容、数据收集和度量分析技术。 第三章主要研究了软件过程建模方法,在研究了g q m 和g q ( i ) m 建模方法的 基础上,对目标驱动的过程度量模型进行改进,将软件过程建模和过程度量结 合起来,度量目标根据软件过程的业务目标确定。 第四章以g q ( t ) m 度量定义方法,给出针对c m m l 3 级过程域的洋细度量定义, 指导企业怎样进行度量和度量什么,帮助软件企业制定了一个切实l j j 行的过程 度量方案。 第五章在上述研究成果的基础上,设计并丌发了一个支持过程度量的 i 具原 型系统p - a m t 。详细分析了p - a m t 的设计思想、关键技术解决方案和各功能模块 的设计。 第六章对全文的工作做了总结,并对下步工作进行了展望。 第二章软件过程度量技术 软件度量的目的是用软件度量学的方法来科学地评价软件质量,控制和管理 软件丌发过程,合理组织和分配资源,制定切实可行的软件开发计划,以较低 的成本获得高质量的软件。度量软件过程、j “品、资源和环境的目的主要有四 个:刻画、评估、预测和改进 p r e s 0 1 。 2 1 度量的基本概念 软件度量是指计算机软件的范围广泛的测度。测度可以应用于软件过程中, 目的是在一个连续的基础上改进它。在软件度量领域内常出现m e a s u r e 、m e t r jc 、 m e a s u r e m e n t 、i n d i c a t o r 等度量有关的词汇,它们相互联系又有区别。 m e a s u r e ( 测量) 是对一个产品或过程的某个属性的范围、数量、维数、容量或大 小提供了+ 个定量的指示。m e a s u r e m e n t ( 测度) 是确定个测量的行为。 m e t r i c ( 度量) 则是获取软件产品或过程具有的某个给定属性的量化值的过程。 i n d i c a t o r ( 指示器) 是对度量元或度量元的复合进行再分析处理得到的,它对软 件过程、软件项目或产品本身提供了更深入的理解。i n d i c a t o r 能明确描述产品、 项目或过程的质量或其他特性,并能用于控制、管理和改善工作产品、过程或项 目的质量。 软件度量根据度量对象的不同般分为过程度量、项目度量和产品度量。 过程度量是对软件开发过程度量,以形成组织的各种模型,作为对软件开发 过程进行持续改进、提高软件生产力的基础。过程度量往往不是直接进行,而 是通过大量的项目度量分析、总结锝出来的。典型的过程度量如对c 删各k p a 的度量。 项目度量是对软件开发项目的特定度量,目的是评估项目开发过程的质量, 预测项目进度、工作量等,辅助管理者进行质量控制合项目控制。 产品度量是对项目开发结果的最终产品的度量,通常所提到的产品度量指的 是对产品的质量度量。 过程度量与项目度量的区别是在于过程度量是战略性的,针对组织范围内进 行,是组织大量项目实践的总结和模型化,对于项目度量提供指导意义;而项 目度量是战术性的,针对具体的项目进行,预测、评估、改进项目:作。产品 度量是对产品质量的度量,用于对产品质量的评估和预测。 常用的项目度量有规模度量、工作量度量、进度度量、生产力度量、风险度 量、其它的项目动念度量( 如需求更改、代码动态增长等) 。常用的质量度量有 软什可靠性度量、软件复杂性度量、软件缺陷度量、软件规模度量等。项目度 量是过程度量的基础,许多度量手段即可以用于项目度量,又可以用于过程度 量。 6 2 2 软件过程度量的范畴 软件的质量是软件企业在激烈竞争和迅速发展的市场中立足的关键。软件j “: 品的质量主要取决于产品玎发和维护的软件过程的质量。因而,要提高软件产 锗质量首先必须要控制和改进软件过程的质量。衡量软件过程的指标取决丁软 件过程度量。 “软件过稃”是指为了丌发和维护软件及其相关产品所采取的一系列活动, 其中软件的相关产品包括项目计划、设计文档、源代码、测试用例和用户于册 等 s e t 9 5 。软件过程度量的同的是为了评价并改善软件过程,提高软件生产能 力,提高软件质量。因此过程的度量与分析是对过程进行控制,进而对过程进 行改进的前提。 对软件过程的度量周绕改善软件质量、提高生产效率和降低成本这三方面展 开,在这三大类度量的基础上,又可划分为六个类的度量:进度、资源和费用、 稳定性、质量、开发性能、技术完备性。这六个方面不是独立的是互相关联。 图中给出了它们之间的相互关系。过程度量数据可包括:规模、工作量、成本、 进度、生产率、缺陷、同行评审的覆盖范围和效率等 1 a n 2 0 0 3 。 一:表示反向关系+ :表示正向关系 图2 1 度量关系模型 从上图可以看出,技术越完备,软件开发过程的稳定性和产品的稳定性越强; 软件丌发过程性能越高,就能在相对较少的资源利用和人员投入情况下完成软 件生产;软件开发性能越好,软件生产进度就越快,软件过程性能越好,软件 质量就越好;软件过程和产品的稳定性越强,资源的利用和人员的投入就相对 少,加大物质和人力资源的投入就能加快软件生产的进度;过分注重进度往往 就会忽略对软件质量的控制,不过,软件质量越好,软件维护量就越小,软件 过程和软件产品就不会有大的变更,软件质量越差,软件维护量就越大,额外 投入的资源和费用就越多。 2 3 软件过程度量框架 软件过程度量是一个系统的过程,主要包括如下的活动:选择和定义度鼍、 制定度量计划、数据采集、度量分析、分析过程行为等活动。如图2 2 所示。 图2 - 2 软件过程度量框架 首先根据项目的商业目标选择和定义度量,并与项目整体计划相结合制定度 量计划。在度量计划中,确定度量活动的角色和职责等,同时将项目的里程碑 处或者任务的结束点定为度量分析的时间点,在这些时间点上进行度量的分析 活动,并在分析结果的基础上及时地采取措簏实施控制。在项目的执行过程中, 按照计划进行数据收集和度量分析,评估过程的性能。用适当的计算在控制图 上俩出度量数据,评估过程是否稳定。如果不稳定,则需要确定可归属的原凼。 如果稳定,则评估过程的能力,决定是变更过程或是继续改进过程。 2 4 度量计划 度量软件过程从制定计划开始。制定度量计划的过程分为三个阶段:确定过 程管理问题;选择和定义相应的产品和过程度量;把最终的度量活动集成到组 织当丽的软件过程中。如图2 - 3 所示: 8 篙日匝圈日宙日圈 图2 3 度量计划的二个_ e 要活动 度量计划活动的每个阶段都是建立在前面阶段的基础上。首先由目标和目的 确定过程问题。找出过程问题的方法包括以下步骤:( 1 ) 阐明商业目标和目的, 理解它们与软件过程的联系:( 2 ) 列出每个关键性过程的目标和与过程有关的 潜在问题的区域;( 3 ) 对潜在问题进行分组。确定过程问题以后,就可以选择 和定义度量元。可以使用目标驱动的过程度量建模方式进行度量定义。最后, 将已定义的度量过程与软件过程结合起来。 2 5 数据采集 度量数据的采集是软件过程度量中非常重要的活动,埘数据的分析以及在分 析基础采取的行动都是以采集的数据为基础。一旦选择和定义好了度量活动, 并且也计划好了执行实施措施,就可以开始采集数据。 数据采集是一个过程,包括采集数据、验证数据和保存数据等活动。数掘采 集过程必须与定义的软件过程完整的结合起来。软件组织要对数据采集过程进 行监控,确保采集到的数据及时、完整、正确和可靠。如果结果是可靠的,那 么采集过程肯定是稳定的和受控制的。 在开始数据采集工作前,要制定数据采集的规程,包括: 确定个人和组织的职责; 详细说明在何时何地以及怎样进行度量; 定义用于记录和报告结果的规范过程; 提供数据采集工具或者标准的填空表格以便于记录数据; 当另外的组织或软件过程介入时,会增加数据采集过程的复杂性。使用标准 的度量工具或规程,确保由不同的组织或个人使用相同的数据采集方法所采集 到的数据的一致性。 在分析度量数据之前,必须对记录的数据迸行检查和评估,以提高对过程分 析的可信度。在选择和定义所要度量的数据元素及在采集、记录和保存度量结 果的过程中,应遵守以下标准 f l o r 9 9 。 ( 1 ) 真实性:验证的数据必须是那些已经通过检查,保证是按照规格说明采 集的、无错误的。一般情况下,检查要确定记录值具有j f 确的类型,确保采 集或记录的数据符合它的规格说明:具有f 确的格式:记录的数值具有期望 的格式;记录的数值在规定的值域内;数据完整性:度量数据要有基本的 数据元素,还要包括相关定义以及理解和解释数值所需要的上下文环境信息: 9 通过数学计算得到的数值在数学上是f 确的。 ( 2 ) 同步性:当两个或多个属性的数值存发生时间上互相关联时,确保它们产 生的时间是同步的。 ( 3 ) 致性:确保相同类型的记录值具有相同的定义。 ( 4 ) 有效性:度量要清楚地定义,保证用于描述一个属性的值真实地反映该属 。件。 2 6 软件过程特性分析 2 6 1 软件过程性能 软件过程性能指的是项目定义软件过程执行情况的实际度量结果,侧重于过 程执行情况的度量,如过程输出的结果、耗费的资源( 工作量、成本支出及其他 材料耗费等) 、过程的进度和使用的技术方法等过程特性的实际结果的度量。软 件过程能力指按照组织标准软件过程或项目定义软件过程执行能得到的结果范 围。对过程能力的度量侧重于过程输出结果的特性的范围的度量,即过程产品质 量的度量。软件过程能力为软件组织承担下一个项目时可能达到的期望结果提 供了有效的预测手段。 软件过程能力基线是量化地描述软件过程能力的术语。过程能力基线化是采 集和分析项目中的过程数据,根据这些数据建立过程的参考点,这些参考点描 述了过程能够达到的结果范围,我们称这些参考点为过程能力基线。软件过程 能力基线一般关注质量、生产率、进度、缺陷、 作量分布等。 过程能力基线为进行项目估计从而制定合理的计划提供了重要的参考。同时 过程能力基线在项目管理和过程管理中也有重要作用并且为过程改进提供依 据。通过过程基线的量化在软件过程度量中,我们通过对过程性能的度量来量 化地评价一个软件过程满足客户和组织的质量、进度和成本等方面的要求的能 力。 2 6 2 理解数据的工具 度量中涉及到大量的数据,需要对这些数据进行整理和分析,找出其中蕴含 的信息才能达到度量的目的。当对度量数据进行分析时,需要对数据进行分类 和理解,包括组织和总结数据并寻找数据的模式,趋势和关系等。为简单、直 观的判断和分析所收集到的数据,采用质量管理常用的数据分析的图表_ 方法, 包括:显示过程特性和变量之间关系的散布图( s c a t t e r d i a g r a m sc h a r t s ) 、表 现过程变化趋势的运行图( r u nc h a r t s ) 、根据结果分析原因的因果图( c a u s ea n ( j e f f e c td i a g r a m s ) 、表示事件的发生频率和中心趋势的直方图( h i s t o g r a m s ) 、 o 栅栏图( b a rc h a r t s ) 、用于全面质量管理的基本方法艄雷托图( p a r e t oc h a r t s ) 等。 2 6 3 统计过程控制技术 采集数据的目的是作为行动的依据。无论数据代表什么或者数值如何表现, 都必须使用某种分析技术来提取和解释隐藏在数据中晌信息。对过程度量结果 的分析技术的研究主要集中于统计过程控制技术的应用上。统计过程控制是 种借助于数理统计1 具的过程控制方法,它利用统计工具及技术( 如控制图) 埘过程或过程输出进行分析,找出过程中的不确定凶素并及时消除,控制、管 理、改进过程产品的质量或过程能力,从而达到保证产品质量的目的。它能帮 助用户采取适当措施来保证过程处于统计意义的受控状态,并且帮助用户提岛 生产能力,以满足或超越顾客的期望 w h e e 9 2 。 s p c ( s o f t w a r ep r o c e s sc o n t r 0 1 ) 起源于制造业,现在也已经有不少将s p c 技术应用于软件行业的例子,它通过把过程度量获得的数据以图示的方式表现 出来,让用户能直观地看出过程中存在的波动、异常和过程的趋势。但是各种 控制图有其适用的范围。针对不同类型的数据需要使用不同的控制图进行分析, 否则可能得不到准确的信息。 控制图最先由w a s h e w h a r t 将数理统计应用于质量管理而创建的 s h e w 3 9 。 主要是用来度景过程偏差并评价过程稳定性。它以随机原因的质量特性波动为 基准来检验引起质量特性异常拨动的系统原因,从而判明生产过程是否处于统 计控制状态,以起到预防为主、稳定生产、保证质量的作用。稍后,d o n a l d 和 d e m i n g 对控制进行了改进,提出了用抽样检验代替全面检验的方法 d e m i 8 6 。 休哈控制图实际上是参数假设检验的一种应用( 小概率原理:发生概率很小 的随机事件在一次实验中是几乎不可能发生的) 。原假设h o 是生产在控制之内: 备择假设h 1 是超出了控制。控制上下限是榆验的临界点,不超出临界点时,接 受原假设h o :超出临界点,就拒绝原假设,接受各择假设h 1 。 它由中心线c e n t r a ll i n e ,上控制限u p p e rc o n t r o ll i m i t 和下控制限l o w e r c o n t r o ll i m i t 组成。然后在过程进行中,定期抽取子样,测量子样平均值,并 将“点子”标注在图上。根据这些点子是否落在控制界限内,可判断过程是否 正常,从而可从人、材料、原料、设备、方法和环境等方面采取措施。控制图 表的结构如图2 - 4 所示。其中: 中心线:通常为己观察的过程平均值。 控制极限:通常c l 士3 6 c l + 3 0 。 c l c l 一3 盯 时间( 或者时序号) 图2 - 4 控制表结构 控制i 限 ( u c l ) 中线 ( c l ) 控制f 限 ( l c l ) 在对个过程的稳定性进行度量分析时,首先找出描述过程性能的产品或过 程特征,选择适当的控制图类型,如xr 图、x m r 图,x s 图等。其次,将适当 的计算应用于度量数据,建立f 常过程性能的中心线和偏差限,最后将收集到 的度量数据绘制在控制图上,并与建立的中,t 3 线和偏差限相比较,分析过程行 为,评定过程性能的可预测性,并根据观测和分析的原因,对过程进行改进。 2 。7 度量过程和过程改进 改进过程的唯一合理的方法是测量过程的特定属性,并且基于这些属件丌发 “组有意义的度量,使用这组度量来提供引导改进策略的指标 k o c h 2 0 0 2 。软 件过程度量可以使组织掌握过程的性能,分析过程的实际性能和性能目标的差 异。如果是因为过程的执行没有遵守过程规程的原因,则依据过程规程制定过 程纠正措旌著纠正过程。如果是因为己执行的过程没有能力满足过程的性能目 标,则根据度量分析结果确定过程的潜在改进域,设定改进后的期望性能目标, 制定过程改进计划并改进过程。通过将改进后的过程性能的度量结果与期望的 性能目标相比较评价过程改进是否取得了期望的效果,并制定进- - 步改进的计 划。 使用度量来管理和改进软件过程,可以对软件产品和过程的质量特征进行量 化和分析,进而对生产活动的性能进行预测、控制和引导,以达到商、f k 和技术 的目标。此外,当正确地、持续地进行了软件的度量时,产品和过程的质量属 性的数据就为实施和管理过程改进活动提供有效的基础。 软件过程是不断改善的、不断进化的,度量过是软件过程的子过程,它也是 不断进化的,不同层次的软件过程具有不同的过程管理需求,由问题驱动的度 量过程就应随之发展以满足新的需求。度量过程进化可在以。- - ) l 个方面进行: 一是从项目目标度量发展到产品度量再到过程度量:二是从事后度量到软件过 程进行中度量;三是提高度量的决策支持能力,从反映软件过程状态,到预测 软件过程发展和过程控制;四是从分析单因素影响到综合考虑多因素影响:五 是从描述性度量到具有推理性的度量,分析原始度量数据,推导出新的度量。 2 8 本章小结 本章主要介绍了软件过程度量的基本理沦。分析了软件过程的过程度量模型 和过程度量的基本范畴,重点石升究了数据采集和过程分析技术,最后讨论了软 件过程度量和软件过程改进的关系,并对过程度量自身的改进进行了分析和研 究。 第三章基于目标驱动的过程度量建模 度量过程目标是根据组织和项日业务目标确定的,过程建模是有效进行过程 度量的基础。本章首先介绍g q m 和o q ( i ) m 度量建模方法,然后给出了改进的 基于目标驱动的软件过程度量建模方法。 3 1 目标驱动度量建模方法 由于软件可观察的属性太多,度量必须以自顶向下的方式进行定义,它必须 基于目标和模型。人们提出了许多目标驱动的度量方法,如 ( j a c q 9 7 s o l i 9 9 p a r k 9 6 等。它们的基本思想都是通过对目标的逐步分解,得到 所需的测量。 3 1 1 g q m 方法 g q m ( g o a l - - q u e s t i o n - - m e t r i c ,目标一问题度量) 模型是由m a r y l a n d 大学 的v i c t o rb a s i l i 及其助手提出的一种软件度量定义方法。g q m 方法基于这样一 个假设:对一个软件组织,要进行有目的的度量,首先必须明确其组织的目标 和各项目的目标,然后它必须为这些目标定义可操作的数据并进行收集,最厉 它还需要提供一种根据己确定的目标解释这些数据的框架 b a s i 9 4 1 。 如图3 - 1 所示,g q m 模型是一种层次模型,它包含三个层次:最上层是同 标( g o a l ) 层;对目标进行细化,构成问题( q u e s t i o n ) 层;问题层将关注的方 面分解为几个部分,对于每一个问题,可以进一步细化为几个度量项m e t r i c 。 在g q m 层次模型中,下一层是对上一层次的细化。 图3 1 g q m 模型 g q m 建模,可以应用于公司、部门或者任何个项目上。然而,任何层次 卜的建模,都需要事先分析度量对象和上f 环境的相关信息。问题定义要尽可 能洋绌地柬描述要实现的目标。 夺目标定义 建立度量目标的过程对g q m 建模起着关键作用。度量目标由软件组织的商 , i v 日标决定,通过对商业目标进行分解,并细化到每个具体的子过程和活动j :, 以这些子过程和活动所具有的j 度量实体为度_ 量对象来确定度量目标。一个目 标丰要受三个因素的控制,如图3 2 所示: o b e c t 劁3 - 2 目标的三维视图 i s s u e s ( 关注点) 描述了度量对象的质量重点,v i e w p o i n t ( 视角) 定义使用 度量的信息使用者,o b j e c t ( 对象) 描述了要度量对象,p u r p o s e s ( 目的) 描述 了理解、控制和改进要度量的对象。 夺问题定义 对于确定的每一个目标,能够以量化的方式来导出一些相关的问题,通常, 获得问题可以从一下几个方面来考虑: 对于特定目标陈述中的对象,应该抓住那些可以量化的特征? 例如: a ) 什么是当前同行评审的效率? b ) 实际同行评审过程是按照文档化的流程执行的吗? 结合模型中的侧重点,这些特征应该怎么来描述? 例如: a ) 同行评审的效率与其基线的偏差是多少? b ) 同行评审的效率正在提高吗? 结合模型中的侧重点,应该如何评价度量对象的这些特征? 例如: a ) 每人时发现的缺陷数量明显提高了吗? b ) 项目经理能够明显觉察到评审效率的提高吗? 夺选择度最项 一旦选好了应该回答的问题,并且确定其可以量化,便可以选择或构造一些 数量指标。度量是针对问题提取的软件开发过程中度量实体特征的量化信息。 对于问题层定义的每个问题都会有一组数据与之相对应,通过这些数据可以对 问题有个量化的答案。 目标驱动的度量方法的初衷并不是为了发展一套通用的、适应多种情况的度 量方案,而是为了给个人和幽队提供一种可适应的定义度量的过程,以获得对 所管理的对象的洞察 p a r k 9 6 。 3 1 2 g q ( i ) m 方法 经验证明,根据问题直接确定度量和数据元素,然后再将度量以可视化的形 式表示出来,虽然方便简单,但往往容易使得收集的数据偏离问题,没法很好 地回答问题。因此有必要在问题层和度量层之间增加指示器层,根据问题定义 指示器,并确定构建该指示器所需要的度量和数据元素。 # 内基梅隆大学软件工程研究所软件工程度量和分析组( s e m a ) 在g q m 模 型的基础上提出了利用g q ( i ) m 模型进行与目标相关的度量定义。g q ( i ) m 模型 在q u e s t i o n 层和m e t r i c 层之间增加了指示器层,即i n d i c a t o r 。指示器是一个或 多个度量( m e t r i c ) 的综合,是对软件产品或软件过程的某一方面特征的反映。存 软件过程度量中通常利用图表、文本、表格等形式的显示和报告来描述指示器。 g q m 和g q ( i ) m 方法在软件业中得到了广泛的应用,许多公司都发表了应 用g q m 的经验,例如 d a s k 9 2 b i r k 9 9 等。此外,也有不少人在实践经验的基 础上对它们进行了改进或补充,如s o l i n g e n 和b e r g h o u t s o l i 9 9 1 ,也有人开发了 度量工具来支持g q m 的实施 1 a v a 2 0 0 0 c h a 0 2 0 0 4 等。 3 2 改进的基于目标驱动的过程度量模型 度量定义在整个软件度量过程中处于核心地位,指导软件组织
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- xx市地下管网建设及设施更新改造工程环境影响报告书
- 中职金融基础试题及答案
- 绿色纺织新材料生产线项目实施方案
- 学校后勤仓库管理员聘用合同5篇
- 企业员工竞业禁止与商业秘密保护合同范本
- 离婚后未成年子女房产赠与监护责任及教育保障协议
- 离婚协议书范本财产分割版
- 石家庄汽车租赁公司节假日租车合同优惠政策
- 幼儿园教学教案设计:迷路原地等老师
- 全国运动会应急预案
- 新疆劳动就业白皮书课件
- 视觉障碍老人护理指南
- 宠物医院建设方案(3篇)
- 2025年中学生法治素养竞赛题库及答案
- 《“高效办成一件事”2025年度第二批重点事项清单》知识解读
- 2025年飞行器设计与工程师考试试卷及答案
- 2025年三级律师试题题库及答案
- 智能化系统施工方案及技术措施
- 收费员考试题库及答案
- 计算机视觉技术 课件全套 第1-5章 计算机视觉概述-图像噪声
- 智能课件自动生成技术解析
评论
0/150
提交评论