CMM在对日软件开发中的应用
软件外包已经成为全球IT行业的大趋势,我国由于地缘、文化、历史传承等多方面的优势,迅速成为日本软件制造、服务的外包基地。但是日本企业普遍有一个特点,就是对质量要求相当严格,可以说是精益求精。因此如何提升企业在对日软件开发上的软件过程管理能力是对日软件出口企业亟待解决的问题。CMM作为软件过程改进的指南及评估标准,已经得到了众多国家软件产业界的认可,并且在北美、欧洲和日本等国家及地区得到了广泛的应用。CMM正是解决我国众多对日软件出口企业软件过程管理能力的利器。
2CMM简介
CMM(CapabilityMaturityModel,能力成熟度模型)是由美国卡内基梅隆大学的软件工程研究开发的软件过程持续改进模型。最初是受美国国防部委托,开发一种模型,用以评估软件承包商能力,并且给出帮助软件组织改进软件过程的过程能力成熟度框架。而后,随着逐步地完善及扩展,现在它已成为在全世界推广实施的一种软件评估标准,用于软件开发过程和软件开发能力的评估和改进。
CMM把软件开发机构按照不同开发水平划分为5个级别:lnitial(初始化)、Repeatable(可重复)、Defined(已定义)、Managed(已管理)和Optimizing(优化中)。它是一个由低到高的演进框架。
3对日软件过程管理的CMM解决方案
3.1CMM解决方案概述
本文中,作者针对对日软件开发企业所面临的问题,结合国内外已有的研究成果以及作者本人在对日软件外包企业多年的软件开发和管理经历,提出了对日软件开发的CMM解决方案。
本方案在CMM2级和3级的基础上对若千KPA进行了裁减和修改,尤其是针对对日软件开发过程中的某些重点问题对某些若千关键过程域(KPA,KeyProcessArea)的关键实践进行了提炼、合并形成了新的关键过程一变更管理过程,作为对日软件外包项目中的一个关键过程域,它将对变更进行更为系统和有效的管理。本方案重点研究了对日软件外包项目中的需求管理、变更管理、项目计划和跟踪、质量保证、配置管理及培训等若千过程。每个过程都体现了若千个关键过程域在实际对日软件开发过程中的应用。重点通过对每个过程的责任人、输入、入口准则、过程活动、出口准则及输出等几个方面的描述,达到解决该过程中现存问题的目的。3.2CMM解决方案在实际对日软件外包项目中的应用分析。
本节以一个实施了本方案的典型的对日软件外包项目为例,通过数据的分析与比较,验证了本方案在提升对日软件出口企业软件过程管理能力方面的成效。
3.2.1测试数据分析
本项目有效代码行共81528行,在集成测试全部完成后—共发现1521个缺陷,其中通过代码复查发现缺陷940个,占总缺陷数的61.8%。在最后交付后由日方进行的系统测试中发现了14个缺陷,仅占总缺陷数的0.92%。通过代码复查来查找和排除缺陷大大提高了单体测试和集成测试的工作效率,同时也降低了错误在后期被发现的可能性。经过统计,我们发现通过代码复查缺陷发现率为9个/小时,而单体测试中缺陷发现率为4.5个/小时。代码复查的缺陷修复率达到3.3分钟/个,而单体测试则要13.2分钟/个。由此可见代码复查是非常有效的一种错误排除手段。
同时,通过对缺陷报告的统计,我们得出了下面的缺陷严重程度分布图,其中A类缺陷最为严重,可能导致整个系统的瘫痪。B类缺陷将使得某一特定功能无法完成。C类缺陷可以通过其他类似功能的途径来避免。D类缺陷属于轻微缺陷,不影响到业务功能的实现。通过图2我们可以看出本项目主要的缺陷都集中于D类缺陷。无缺陷比率是在给定的阶段内没有缺陷的产品部件所占的百分比。通过无缺陷比率曲线可以看出在整个开发过程中软件质量是如何提高的。高质量的软件它的缺陷比率曲线应当呈一个递增状态,到最后达到一个高的质量标准。此处我们根据每个测试阶段无缺陷的程序数所占的百分比来计算出这三个项目的无缺陷比率。
从可以看出本项目的无缺陷比率呈一个上升的趋势,说明随着项目的推进,项目的质量在得到不断地提升。虽然在前期的代码复查中发现了较多的问题,但这使得后期遗留下来的问题得以减少,从而降低了整个测试阶段的成本。相比较来看,项目2未进行代码复查的工作(因此Review阶段的无缺陷比率是100°%),导致单体测试时发现了较多的缺陷,同时在软件交付后仍遗留了较多的缺陷。项目1则介于两者之间,由于它没有执行严格的软件过程控制,因此对于整体质量的把握并不是很好。但由于采取了诸如代码复查等控制质量的措施,使得它的整体质量也呈一个较好的走势。本方案在CMM能力成熟度模型的基础上,结合对日软件外包项目独有的特点,针对其在开发过程中所存在的问题,在保证目标完整性的前提下对CMM中的KPA加以修改和裁剪,同时创新性地对若千KPA进行提炼及合并,提出了基于CMM理论的对日软件外包项目的软件过程方法,并通过在一个典型的对日软件外包项目中的实际应用的数据分析与比较,得出本方案在提升对日软件出口企业软件过程管理能力方面的成效。
上一篇:印刷微电子设计软件 需求分祈