软件过程度量技术实施策略Word文档格式.docx
- 文档编号:19855826
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:56
- 大小:389.53KB
软件过程度量技术实施策略Word文档格式.docx
《软件过程度量技术实施策略Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件过程度量技术实施策略Word文档格式.docx(56页珍藏版)》请在冰豆网上搜索。
摘要
随着计算机科学技术的快速发展,软件的应用领域逐步推广,软件规模和成本逐渐增大。
因此,软件学界引入工程学的管理方法,来解决软件开发的问题,软件工程应运而生。
经过多年的发展,软件工程成为一门成熟的理论方法学科,广泛运用于软件的开发和管理。
软件度量是软件工程中的新兴的研究领域,其主要内容就是通过度量(测量)的手段对软件工程中的各要素进行量化的处理。
软件度量已经发展成为一门至关重要的软件工程学科。
过去,许多软件组织都将度量视为额外的、非增值的任务;
现在,度量已经成为一项基本的软件工程实践活动,包括在软件工程研究所的能力成熟度模型集成的二级成熟级需求及相关的商业软件过程标准中。
而软件过程度量是软件度量的三大类之一,它度量的对象是软件相关活动的集合。
在中国的软件企业中,由于没有采用好的管理方法,因此在软件过程管理方面始终与发达国家甚至印度有不小的差距。
而基于度量的软件过程管理是迄今为止较为先进的管理方法,其基础就是软件过程度量。
在研究软件过程度量实施框架的基础上,对每一个环节提出了具有实用性的操作策略:
度量的范畴是采用目标-问题-度量方法从能力成熟度模型集成或能力成熟度模型的目标中获得;
数据的收集是采用基于对象的收集方法;
度量数据的应用是采用构造性成本模型对工作量进行估计。
旨在为中国的软件企业提出一套完整的软件过程度量的解决方案。
关键词:
软件工程度量能力成熟度模型目标-问题-度量方法
构造性成本模型
Abstract
Withtherapiddevelopmentofcomputertechnology,softwareapplicationshavebeenspreadwidely.Theirsizeandcosthavebeenincreasedaswell.SosoftwarescienceintroducesthemanagementofSoftwareEngineeringtosolvetheproblem.SoftwareEngineeringhasbeencreatedastimepast.Developingforalongtime,SoftwareEngineeringhasbecomeanexcellenttheory,whichhasbeenwidelyappliedinthesoftwaredevelopmentormanagement.
SoftwareMetricsisanewfieldinSoftwareEngineering.ThecontentofSoftwareMetricsistomanagetheessentialofSoftwareEngineeringwiththemethodofmeasurement.SoftwareMetricshasbecomeoneofthemostimportantsubjectsinSoftwareEngineering.Inthepast,SoftwareMetricswasconsideredasanextrataskbymostSoftwareEngineeringorganizations.ButnowSoftwareMetricshasbecomeanessentialpractice.Obviously,SoftwareMetricshasbecometherequestofCMMI(CapabilityMaturityModelIntegration).AndSoftwareProcessMetricsisapartofSoftwareMetrics.TheobjectsofSoftwareProcessMetricsaretheactivitiesinSoftwareEngineering.
ThesoftwareenterprisesofChina,whichusednottohaveanygoodwayinmanagement,havealongdistancebetweendevelopedcountriesorevenIndia.However,themanagementbasingonSoftwareProcessMetricsismoreadvancedatpresent.AnditsfoundationistheSoftwareProcessMetrics.ThisthesishasputforwardtheveryusefuloperationstrategytoeverylinkbystudyingtheSoftwareMetricsimplementationframe.ThemetricscategoryisfoundfromthegoalofCMM(CapabilityMaturityModel)andCMMI-SW(CapabilityMaturityModelIntegrationforSoftware)byusingGQM(Goal/Question/Metric)method,themetricsdataiscollectedbyusingobject-basedmethodandthentheworkloadisestimatedbyusingthemetricsdataandCOCOMO2(COnstructiveCOstMOdel2)model.TheaimistoprovidethesolutionofSoftwareProcessMetricsforsoftwareenterprisesofChina.
Keywords:
SoftwareEngineeringMetricsCMMGQMCOCOMO
目录
摘要I
AbstractII
1绪论
1.1课题的研究背景
(1)
1.2课题的研究目的和意义
(1)
1.3国内外研究概况
(2)
1.4论文的主要研究内容(3)
2软件度量的基本理论
2.1软件度量的基本概念(4)
2.2软件度量的应用范围(4)
2.3软件度量的分类(5)
2.4软件过程度量的内容(5)
2.5软件过程度量的实施过程(6)
2.6本章小结(7)
3软件过程度量的实施策略
3.1基于CMM/CMMI-SW目标的软件过程度量的定义(8)
3.2软件过程度量数据的获取(15)
3.3软件过程度量数据的应用(21)
3.4本章小结(33)
4软件过程度量实施策略的实际应用
4.1背景项目的介绍(34)
4.2SWOA度量范畴的定义(37)
4.3SWOA度量数据的收集(39)
4.4度量数据的应用(41)
4.5本章总结(44)
5全文总结
5.1全文总结(45)
5.2后继工作(46)
致谢(47)
参考文献(48)
LordKalvin曾说过:
当你能够度量你所谈论的事物,并且用数字把它表达出来,那你对此事物已经有所了解。
当你无法度量它,则你的知识并不足以了解它[1]。
软件亦是如此,如果软件工程想成为研究软件过程及其相关内容的科学,那它就必须以数学为基础。
自从软件这个名词伊始,软件工程的学者前辈们就没有放弃将软件工程发展成为一门严谨学科的追求。
另一方面,在软件企业中,企业为了能以最低的风险和成本做出最好的软件,迫切需要对开发过程的控制。
而控制的前提就是要能够度量,于是软件企业也迫切的需要软件度量。
1.1课题的研究背景
随着信息化总体水平的提升,软件工程的各种开发技术被不断引入这个行业。
如何衡量软件技术的有效性;
如何评价所采用的软件开发过程模式的合理性;
如何确认最终的软件产品是否符合既定的需求和质量标准是软件项目管理中的常见问题。
回答这些问题的是一门新兴的学科——软件度量。
通过度量可以获得软件评估的依据、跟踪软件开发的进展情况、评估程序代码的质量、帮助确定软件最合适的实施方案。
曾几何时,软件度量还是一项高深莫测的工作。
如今,它已经演变成为良好软件工程技术的一个不可或缺的要素。
绝大多数软件开发人员都需要通过对软件特性的测量来了解一些情况,比如,软件需求是否一致或完整;
设计的质量如何;
代码是否为即将进行的测试准备就绪。
精干的项目经理都要通过对过程和产品的属性进行测量,来确定软件的发布时间和预算的执行情况;
聪明的客户都要通过对最终产品的某些方面进行测量,来判断产品是否满足需求,以及产品的质量是否达到了让人放心的程度;
另外,维护人员也需要通过测量工作来对当前产品进行评估,以做出是否需要对产品进行升级和改进的判断。
1.2课题的研究目的和意义
现阶段,我国的软件行业正在如火如荼地发展着,但是无论从规模还是从年限都无法和发达国家相比,甚至于出现了一个奇怪的现象:
当软件公司发展到一定的规模的时候就停滞不前,而导致这种状况的原因不是没有项目、资金和人才,而是没有高效的管理。
当企业开发的项目达到一定规模的时候,原本落后的企业制度和管理方法就不能适应新的需要,而最终阻碍企业的进一步的发展。
事实上,企业本身和企业管理方法的关系,就如同生产力和生产关系:
当企业的管理制度落后于企业发展的需要时,就是要革除它的时候。
基于度量的管理方法现在正在被一部份的中国软件企业特别是大型的软件企业所接受。
基于度量的管理方法就是指企业的高级管理人员通过度量的原始数据或者处理后的数据来真正了解项目的各个方面的发展情况,而后根据数据来进行管理上的种种决策。
既然有基于度量的管理方法,就必须先有度量本身。
其实在其他的工业部门,度量都已经得到了广泛的应用。
在计算机硬件生产部门的度量可以大部分照搬原来工业部门的度量方法。
然而,计算机软件生产和硬件生产的方法几乎无法互通,所以软件度量方法和策略就需要重新研究。
从有软件工程这个概念开始,就有了研究软件度量的先驱,在西方的发达国家里,软件度量的研究已经取得了一定的成果,在我国的研究也有一定的发展。
但是理论归理论,企业迫切需要的是怎样把理论运用到实际的项目管理中去,也就是说现在的软件企业需要一种实施软件度量的方法。
1.3国内外研究概况
国外关于软件过程度量的研究已有了一定的成果,例如GQM模型(GQM模型是20世纪80年代中期由美国马里兰大学的教授VictorR.Basili提出的一种面向目标的、自上而下由目标逐步细化到度量的度量定义方法),还有在GQM基础上提出的GQ(I)M模型(由卡内基·
梅隆大学软件工程研究所软件工程度量和分析组(SEMA)在GQM模型的基础上提出)[2]。
而中国的软件企业在软件过程度量的方法上都尚且处于摸索阶段,更不用说应用定量的方法去进行软件过程管理了。
在国外CMM(CMMI-SW)已经得到了绝大多数软件公司的认同。
在中国,由于软件业的蓬勃发展,走向世界成为了中国软件企业做大做强的重要途径,所以加强企业本身的实力从而适应国际竞争就显的尤为重要[3]。
因此关于CMM(CMMI-SW)的研究在中国正在全面的展开,而作为CMM(CMMI-SW)中的核心部分——软件过程度量管理的研究更是成为了研究的重要方面。
测量是工程技术领域中一个不可或缺的要素,随着近来软件工程领域的长足发展,测量技术也逐渐的融入到了软件工程领域,并成为良好软件工程的一个重要的组成部分,因为“凡是不可测量的,便是不能对其进行控制的”[4]。
测量有助于对软件开发中的各项活动进行了解和控制,有助于过程和产品的改进。
随着CMM在中国的发展和广泛繁荣应用,对软件开发中的过程、产品和资源进行量化的观点已被越来越多的人认同,由此也推动了对软件度量的研究,现在有很多的大型的软件公司都通过基于度量的管理方法来管理自己的项目,联想软件就是其中之一,公司内部有一套软件过程度量的方法,并且还在不断的完善中。
1.4论文的主要研究内容
联想软件是中国率先通过CMM4的软件企业之一,而软件过程度量是CMM/CMMI-SW的过程域相关内容,其本身已深深的嵌入到CMM/CMMI-SW的各个级别中去了。
联想软件有了几年的CMM的经验,在软件过程度量上已有了自己的一套实施方法,本人在联想软件武汉分中心实习期间,通过项目的实际参与,有幸亲身经历了联想软件的软件过程度量实施的全过程。
本文的研究内容主要包括以下几个方面:
1)本文将首先介绍软件度量和软件过程度量的基本理论。
2)本文将研究软件过程度量框架在企业级项目上的应用,主要包括以下几个方面:
软件过程度量范畴的定义方法;
软件过程度量数据的收集方法;
软件过程度量数据的分析和应用。
(1)软件过程度量范畴的定义方法:
在定义软件度量范畴的时候本文采用GQM法(Goal/Question/Metric),利用CMM/CMMI-SW的每个过程域的目标作为GQM的G,最终获得M的做法。
不过对于CMM/CMMI-SW的所有目标要有所裁减。
(2)软件过程度量数据的收集:
本文将介绍各种数据收集方法的,并比较它们的优劣,在最后给出各个软件度量范畴的数据收集时机和数据来源。
(3)软件过程度量数据的分析和应用:
在研究数据的应用的时候,本文具体给出COCOMO2工作量模型的定义以及其成本驱动器的数值确定方法。
3)在文章的最后将以本人在联想软件参与的一个企业级WEB应用项目为例,具体而详细的给出软件过程度量框架的实施过程。
度量是人们日常生活中的基本要素,度量已经成为一项司空见惯的活动,其优点是显而易见的。
并且,人们对度量已广泛认可。
在下面,本文将介绍软件工程领域的度量。
2.1软件度量的基本概念
在研究软件过程度量的开始,我们首先就要对软件工程的定义与基本的概念有一些了解。
FritzBauer在NATO会议上给出了软件工程的一个定义:
软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则。
[IEE93]给出了一个更为综合的定义:
软件工程将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中[5]。
在IEEE中的软件工程的定义中明确的给出了度量这个词,可见软件度量的重要性,而软件度量的定义是什么呢。
软件度量(softwaremetrics)是对一个系统、构件或过程具有的某个给定属性的度的一个定量测量。
2.2软件度量的应用范围
软件度量的成果可用于软件的过程、产品的改进,具体来说有以下一些具体的应用[6]:
(1)成本和工作量的估计
(2)生产率度量模型
(3)质量模型和度量
(4)性能评估和模型
(5)结构和复杂度模型
(6)方法和工具评估
由于度量的应用很多,本文将对其在成本和工作量的估计上的应用作具体的阐述,详细内容请见第3.3节。
2.3软件度量的分类
软件度量根据活动职责的不同分为三类:
(1)过程(process):
是软件相关活动的集合。
(2)产品(product):
是从一个过程的活动中产生的任何制品、交付物或者是文档。
(3)资源(resource):
是一个过程活动需要的实体。
过程通常是与某一时间表联系的。
也就是说,过程中的活动都是根据时间以某种方式进行排序或相关的,这样,一个活动在开始之前,另一个活动必须结束。
资源和产品是过程相联系的。
每个过程活动都有与其使用的资源和产品,也有其产品的产品。
因此,一个活动的产品可以提供给另一个活动。
例如,设计文档是设计活动的产品,但随后又是编码活动的输入。
对于每一类测量实体,将分为内部属性(internalattribute)和外部属性(externalattribute)。
产品、资源和过程的内部属性是指能够仅仅根据产品,过程或资源本身进行测量的属性。
换句话说,内部属性可以包括分析产品、过程或资源本身来进行测量,独立于起行为。
产品、资源和过程的外部属性是指只有考虑到产品、过程或资源如何与其环境相关的部分才能进行测量的属性。
这里,过程、产品和资源的行为很重要,而不是实体本身很重要。
2.4软件过程度量的内容
软件过程度量的内容主要是软件过程中的活动或实体,如:
编码规格说明、详细设计、编码过程等。
在通常条件下,有些软件开发活动和过程的问题,测量能够帮助我们找到答案。
但是只有有限的内部过程属性可以直接的测量,其外部的属性主要通过内部属性来反映,部分软件过程度量的相关内容及其属性,如表2-1所示:
表2-1软件过程属性表
实体
内部属性
外部属性
编码规格说明
时间,工作量,需求变更的次数
质量,成本,稳定性
详细设计
时间,工作量,发现的故障数
成本,成本收益
测试
时间,工作量,发现的编码故障数
成本,成本收益,稳定性
2.5软件过程度量的实施过程
软件过程度量的实施过程主要包括以下几个流程:
(1)定义度量
(2)数据收集
(3)分析评估
(4)过程优化
根据以上几点,可以得到软件过程度量实施过程,如图2-1所示:
图2-1过程度量实施过程图
(1)定义度量:
可以采用GQM方法定义将要测量的范畴。
首先必须定义出目标,再由目标提出相应得问题,问题的答案整理一下就可以成为度量的范畴了,可见度量范畴定义的难点就是目标的选取。
(2)数据收集:
针对设置的度量目标和范畴制定数据收集计划,并进行数据收集。
该活动根据已定义的度量操作进行数据的采集,记录及存储。
此外,数据还应经过适当的校验以确认有效性。
在进行该项活动时应具有一定的针对性,对于不同的项目或活动所需要的实际数据量是有差别的,而且对活动状态的跟踪也是非常重要的。
(3)分析评估:
该项活动包括分析数据及准备报告,并提交报告,当然进行评审以确保报告足够的确实性是有必要的。
这些程序步骤可能会需要更新,因为报告可能没有为使用者提供有益的帮助或使用者对报告中的内容不理解,在这两种情况下,都应回馈并更新度量过程以再进行数据分析。
对收集的数据进行分析和评估,同时运用数据对项目的发展进行预测,支持项目经理或者高级管理部门的决策。
(4)过程优化:
过程优化其本质是对在度量过程中发现的软件过程中存在的问题进行改正,优化企业的软件过程。
由于其内容主要与公司管理有关,而各个公司的情况不同,所以改进的方法要因地制宜,在本文中就不再提出自己的策略了。
2.6本章小结
本章介绍了一些软件度量以及软件过程度量的基本理论,本章中理论的说明比较有限,主要是为下文介绍软件过程度量实施过程作理论铺垫。
如果有感兴趣的读者可以参考软件度量的相关书籍,了解更多的软件度量方法的知识。
本文还概括的介绍了一下软件过程度量的实施框架,其目的是为下文的行文奠定基础。
在下文的内容中本文将详细的介绍软件过程度量的实施,并为每一步的工作提出一定的策略。
在这里章中,本文将介绍软件过程度量框架的具体的实施策略,本文将就软件过程度量的各个阶段提出实施性很强的策略,并在进行软件过程度量的数据的应用——软件过程预测的环节中提出了COCOMO扩展模型以及模型数据的获得方法。
3.1基于CMM/CMMI-SW目标的软件过程度量的定义
TomGilb提出了下列定律:
一个没有明确目标的项目,是不可能明确地实现其目标的。
软件过程度量的目标可以采用多种方法获得,其主要的方法就是采用最常用的GQM方法,但是为了解决GQM中G的确定问题,本文采用了基于CMM/CMMI-SW的方法[7][8]。
CMMI-SW是CMM的升级版本,其本身就是很好的软件企业的能力的测定标准,把它们的要求作为获得度量的方法,可以达到事倍功半的效果。
3.1.1CMM与CMMI-SW及其比较分析
表3-1CMM的关键过程域
等级编号
等级名称
关键过程域
1
初始级
无
2
可重复级
需求管理
软件项目计划
软件项目跟踪与监控
软件转包合同管理
软件质量保证
软件配置管理
3
已定义级
组织过程聚焦
组织过程定义
集成软件管理
软件产品工程
组织培训
组间协调
同行评审
4
已管理级
定量过程管理
软件质量管理
5
优化级
缺陷预防
技术改革管理
过程变更管理
SEI成立以后,根据美国联邦政府,特别是美国国防部要求SEI提供一种用来评价软件承制方能力的方法,并立即开始着手进行软件过程管理的研究。
1986年11月,SEI在MITRE公司协助下,开始开发过程成熟度框架,用于帮助机构改进其软件过程。
1987年9月,SEI发布了软件过程成熟度框架的一个简短描述。
不久之后,该框架在汉弗莱的著作ManagingtheSoftwareProcess中做了扩充。
汉弗莱开发了两种方法(软件过程评估和软件成熟度评价)和一个成熟度问卷,用以评估软件开发机构的软件过程成熟度。
在软件过程成熟度框架和1987年成熟度问卷采用4年后,SEI将成熟度框架发展为软件能力成熟度模型——CMM(CapabilityMaturityModel),现在CMM已完全融合到了软件工程之中了。
CMM的关键过程域如表3-1所示[9]:
众所周知,CMM的过程改进对于提高软件开发的质量和生产效率是极其有效的手段,并推动了软件产业的发展[10]。
那为什么还要开发和应用CMMI(CapabilityMaturityModelIntegration)呢[11]?
主要原因有3个:
一是软件项目的复杂性的快速增长使过程改进的难度增大;
二是软件工程的并行与多学科组合;
三是实现过程改进的效益。
现在业界使用的CMMI最新模型是2002年发布的1.1版本系列,它们是CMMI-SE/SW/IPPD、CMMI-SE/SW/IPPD,CMM-SE/SW、CMMI-SW。
由于CMMI是可扩充的产品集合,因此今后可能还会有新模型出现。
CMMI-S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 过程 度量 技术 实施 策略
![提示](https://static.bdocx.com/images/bang_tan.gif)