分类:
2008-10-15 16:43:50
引言
50多年来计算事业的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。软件生产转向以改善软件过程为中心,是世界各国软件产业或迟或早都要走的道路。软件工业已经或正在经历着"软件过程的成熟化",并向"软件的工业化"渐进过渡。规范的软件过程是软件工业化的必要条件。
软件过程研究的是如何将人员、技术和工具等组织起来,通过有效的管理手段,提高软件生产的效率,保证软件产品的质量。
软件过程的理论研究与实践成果n 国际n 国内国 际
软件过程的三个流派:CMU-SEI的CMM/PSP/TSP SO 9000质量标准体系SO/IEC 15504(SPICE)
CMU-SEI的CMM/PSP/TSP
20世纪80年代中期国际软件产业界对软件的研究十分重视,因为在采用软件工程方法克服软件危机的过程中,人们认识到,软件是否完善是软件风险大小的决定因素。这方面的研究取得了重大的突破,其标志是1987年美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI)以W.S.Humphrey为首的研究组发表的研究成果"承制方软件工程能力的评估方法",该成果在1991年发展成为CMM(软件过程能力成熟度模型)。软件过程能力成熟度模型被国际软件界公认为软件工程学的一项重大成果。软件目前,软件能力成熟度模型2.0版已经修订问世。CMM在软件工程的实践方面已有很大的影响,在工业界已得到广泛接受。不仅已用于军事控制系统,而且已用于全球经济领域的主要组织。有数千个组织在利用CMM的软件过程改进。在美国,关于CMM模型的教程已经作为参考和研究的对象出现了,这样做是为了让CMM模型极其相关问题引起工业界的更密切地关注。基于CMM模型的工具如成熟度问题集,软件过程评估训练和软件能力评价训练已经在CMM中渐渐得到修订。近期的关于CMM的活动主要是发展关于CMM模型的不同版本。由于CMM并未提供有关实现CMM关键过程域所需的具体知识和技能,因此,美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI) 以W.S.Humphrey为首主持研究与开发了个体软件过程PSP(Personal software process)和群组软件过程TSP(Team Software Process),形成CMM/PSP/TSP体系。
ISO 9000质量标准体系
最初的软件质量保证系统是在70年代由欧洲首先采用的,其后在美国和世界其他地区也迅速地发展起来。目前,欧洲联合会积极促进软件质量的制度化,提出了如下ISO9000软件标准系列:ISO9001、ISO9000-3、ISO9004-2、ISO9004-4、ISO9002.这一系列现已成为全球的软件质量标准。除了ISO9000标准系列外,许多工业部门、国家和国际团体也颁布了特定环境中软件运行和维护的质量标准,如:IEEE标准729-1983、730-1984、Euro Norm EN45012等。
ISO/IEC 15504(SPICE)
CMM的方法很快就引起了软件界的广泛关注,1991年国际标准化组织采纳了一项动议,开展调查研究,在此后引发了一系列的研究工作,现已取得重要成果,产生了技术报告ISO/IEC 15504《信息技术-软件过程评估》,预计于今年产生正式标准。从该技术报告的内容来看,其基本的目的和思路,均与CMU/SEI的CMM相似。
目前,学术界和工业界公认美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI) 以W.S.Humphrey为首主持研究与开发的软件能力成熟度模型CMM是当前最好的软件过程,已成为业界事实上的软件过程的工业标准。
国内
学术界:中国生产力促进协会、北航SEI、中科院研究SEI等科研机构已于近几年在北京、上海、广州和深圳等地先后举办过多次报告会和研讨会,组织过课程学习和应用实验,开展了软件过程方面的研究与开发工作,并发表了多篇的研究成果和学术论文,在软件质量保障平台支撑环境也取得了一定的成果。
产业界:近两年来,CMM在我国获得了各界越来越多关注,业界有过多次关于CMM的讨论,国务院发布的《鼓励软件产业和集成电路产业发展的若干政策》对中国软件企业申请CMM认证给予了积极的支持,在第17条规定"对软件出口型企业CMM认证费用予以适当支持。"2000年中国村电脑节上还有CMM专题论坛,吸引了众多业内人士。鼎新、东大阿尔派、联想、方正、金蝶、用友、浪潮、创智、华为、东大阿尔派等大型集团或企业等都从1997——2000年起批企业都在进行研究、实验或实施预评估。其中鼎新公司从1997年着手进行CMM认证工作。1999年7月通过第三方认证机构的CMM2认证。东大阿尔派公司于2000年10月通过第三方认证机构的CMM2认证。2001年1月,联想软件经过英国路透集团的严格评估,顺利通过CMM2认证。
总体上讲,国内对软件过程理论的讨论与实践正在展开,目标是使软件的质量管理和控制达到国际先进水平,中国的软件产业获得可持续发展的能力。专家分析,在未来两三年内,国内软件业势必将出现实施CMM的高潮。从这一趋势看,中国的软件企业已经开始走上标准化、规范化、国际化的发展道路,中国软件业已经面临一个整体突破的时代。
软件质量保障体系的实施
根据一直以来对国际上软件过程理论与实践的发展、尤其是近几年来着重在CMM、PSP和TSP以及ISO软件过程标准草案等方面的研究工作,国内专家学者建议,软件过程的改善应该从三方面着手进行:o 软件能力成熟度模型CMM(Capability Maturity Model)
o 个体软件过程PSP (Personal Software Process)
o 群组软件过程TSP(Team Software Process)
三者各有侧重,但互为补充。
CMM
o 迄今为止学术界和工业界公认的有关软件工程和管理实践的最好的软件过程。
o 为评估软件组织的生产能力提供了标准。
o 为提高软件组织的生产过程指明了方向。
CMM软件过程成熟度模型概要*
1、 比较
在介绍CMM内容之前,首先概述一下不成熟软件组织与成熟软件组织的差异。在不成熟的软件单位,软件过程一般由实践者及其管理者在项目进程中临时拼凑而成,因而推迟进度和超出预算已成为惯例,产品质量难以预测,有时为了满足进度要求,常在产品功能和质量上做出让步。
然而,一个成熟软件组织具有在全组织范围内管理软件、开发过程和维护过程的能力,规定的软件过程被正确无误地通知到所有员工,工作活动均按照已规划的过程进行。并通过可控的先导性试验和费效分析使这些过程得到改进,对已定义过程中的所有岗位及其职责都有清楚的描述,和通过文档与培训使全组织有关人员对已定义的软件过程都有很好的理解,从而使其软件过程所导致的生产率和质量能随时间的推移得到改进。
表1给出了不成熟和成熟软件组织的比较,这种比较分析不仅是形成软件能力成熟模型的基础,也有利于理解该模型。
2、 CMM的一些基本概念
(1)软件过程:人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。
(2)软件过程能力:描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。
(3)软件过程性能:表示(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。
(4)软件过程成熟:一个特定软件过程被明确和有效地定义,管理测量和控制的程度。
(5)软件能力成熟度等级:软件开发组织在走向成熟的途中几个具有明确定义的表示软件过程能力成熟度的平台。
(6)关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程域,它们的实施对达到该成熟度等级的目标起到保证作用。这些过程域就称为该成熟度等级的关键过程域,反之有非关键过程域是指对达到相应软件成熟度等级的目标不起关键作用。归纳为:互相关联的若干软件实践活动和有关基础设施的一个集合。
(7)关键实践:对关键过程域的实践起关键作用的方针、规程、措施、活动以及相关基础设施的建立。关键实践一般只描述"做什么"而不强制规定"如何做".整个软件过程的改进是基于许多小的、渐进的步骤,而不是通过一次革命性的创新来实现的,这些小的渐进步骤就是通过一些着关键实践来实现。
(8)软件能力成熟度模型:随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力也伴随着这些阶段逐步前进,完成对软件组织进化阶段的描述模型。
[1]