随着信息社会的来临,软件质量的重要性日益显现,软件质量必须在设计和开发过程中加以控制的观点,成为各界共识,各种软件过程评估模型陆续涌现。本文在简单介绍20世纪80-90年代出现的美国SEI CMM模型、贝尔加拿大Trillum模型和欧洲Bootstrap模型的基础上,着重介绍了国际标准化组织(ISO)和国际电工委员会(IEC)联手制订“信息技术-过程评估标准”的过程。该标准项目于1993年启动,经过近8年的SPICE试验阶段后,从2001年开始,进入正式标准制订阶段。正式标准由5个标准构成,现在已经发布3个,其余2个标准亦将于2006年之前完成发布。展望未来,这套标准必将成为国际上软件和信息技术过程评估标准的主流。
一、ISO/IEC 联合信息技术委员会
1、历史源革
ISO/IEC 联合信息技术委员会(ISO/IEC JOINT TECHNICAL COMMITTEE FOR INFORMATION TECHNOLOGY )是国际标准化组织(ISO)和国际电工委员会(IEC)联合组建的第一个标准化技术委员会,其编号为JTC1。它在ISO和IEC共同领导下,承担信息技术领域国际标准制定工作,其重要性和影响力非同一般。
国际标准化组织和国际电工委员会这两大国际顶尖的标准化机构,长期以来,形成了即有明确的业务分工,同时相互协作的良性互动关系,具体的说,IEC负责电工技术领域的国际标准制定工作,其它领域则由ISO负责。
20世纪八十年代,信息技术进入高速发展时期,信息技术的应用突破了传统行业界限,广泛渗透到国民经济和社会生活各个领域,ISO和IEC领导层,敏锐的把握住这个重大技术动向,决定成立联合技术委员会来共同应对面临的挑战。1987年原ISO/TC 97、IEC/TC 83 和IEC// SC 47B 合并,共同组成 ISO/IEC JTC1( 以下简称为JTC1 )。JTC1的成员是各个国家的具有代表资格的标准化团体,现有P(Participating)成员27个,O ( Observer )成员39个,此外还有38个联系 ( Liaison )成员,联系成员是与信息技术标准化有关的各种机构,其中包括16个ISO和IEC的相关专业技术委员会。
JTC1的秘书处设在美国,由美国国家标准化所 (ANSI)负责日常工作。我国是JTC1的P成员国,由中国国家标准化管理委员会代表参加JTC1的活动
JTC1下设18个分技术委员会,分别负责各自专业范围的标准制定工作,参加JTC1标准制定的专家遍布全球,总数达2100多名。
2、 ISO/IEC JTC1/SC7 软件和系统工程分技术委员会
ISO/IEC JTC1/SC7是ISO/IEC第一联合技术委员会的第七分技术委员会的简称,成立于1987年,1991年正式命名为软件工程( Software Engineering )分技术委员会,2000年更名为软件和系统工程(Software and System Engineering )分技术委员会。
ISO/IEC JTC1规定SC7标准化工作的范围是:与软件产品和系统工程有关的过程、支持工具和支持技术。根据这个要求,SC7分技术委员会提出了下列六个工作领域:
1) 软件和系统工作过程;
2) 软件系统产品;
3) 企业架构;
4) 软件工程环境;
5) 软件工程知识体;
6) 软件资产管理。
3、 ISO/IEC JTC1/SC7组成成员
ISO/IEC JTC1/SC7共有澳大利亚、中国、法国、德国、以色列、意大利、日本、韩国、美国、英国等27个P成员和16个O成员,
ISO/IEC JTC1/SC7现任主席是F. Coallier(加拿大) ,秘书处由加拿大标准化局承办, 我国国家标准化局代表我国参加ISO/IEC JTC1/SC7的活动。
二、制订“信息技术-过程评估标准”的历史背景
20世纪80年代软件质量的重要性日益显现,软件的质量必须在软件设计和开发过程中加以控制和保证的观点,成为软件工程界共识。在这种思想指导下,各种软件过程评估模型陆续涌现,其中最具影响的是美国SEI 的CMM模型,贝尔加拿大的Trillum模型和欧洲的Bootstrap模型。这些模型即有共性,也各具特点,其强调的重点不尽相同。客观的说各个模型是互补的,不存在本质冲突,然而就具体软件开发商而言,面对不同的客户,必须按其特殊的要求,建立不同的管理和评估系统,势必增加企业运营成本,很难适应。
1、美国SEI的CMM模型
“能力成熟度模型(CMM)”是由美国卡内基梅隆大学软件工研究所开发的,1987年开始研究,从1987年SEI推出SW-CMM框架开始,1991年推出CMM 1.0 版,1993年推出CMM 1.1 版,2000年推出CMMI-SE/SW 1.0版,现在普遍使用的是1.1版。CMM模型从1级至5级区分五个不同的成熟度等级,按照软件企业的具体情况将企业定位于相应的级别。CMM的一个重要思想是帮助一个组织通过基于模型的过程改进,达到使其软件过程向更高的成熟度等级迈进的目标。在这个过程中,一个组织必须建立起自己的软件过程并跟据CMM模型的要求对过程进行评估。根据评估的结果来进一步改进自己的软件过程,然后再一次评估,以期达到更高的成熟都等级,或者防止软件过程成熟度能力退化。如此反复循环,最终使一个组织的软件过程能力趋于更加成熟。
2、 贝尔加拿大的Trillum模型
这是一个主要用于嵌入式软件开发和支持的能力评估模型,由加拿大贝尔,北方电讯和贝尔北方研究中心共同开发,Trillum模型以CMM模型为基础,同时有新的发展。
Trillum模型的特点包括:模型的架构是建立在路线图的基础上;模型不仅适用于软件同时适用于硬件;模型强调以用户为关注的焦点;模型包括技术成熟度;模型主要面向通讯产品。
3、Bootstrap 方法
Bootstrap是欧洲的软件公司和大学在上世纪联合进行的一个信息技术战略性的研究项目,目的是开发出软件过程评估和改进的方法,项目于1993年完成。Bootstrap改进和发展了SEI为美国国防服务的CMM模型,使其可用于欧洲的软件企业,包括众多的管理、银行、保险等与国防无关的企业,Bootstrap引用了ISO 9000-3和ESA PSS-05等软件标准,设计了非常详细的过程质量属性结构,包括组织资源管理、测试方法、寿命周期技术等17个属性,改进了CMM的问卷表,改进了CMM成熟度计算方法,使其可用于过程每一个质量属性,从而得到一个过程质量剖面。Bootstrap 适用于各类软件企业,包括中小型企业和综合性企业中的软件设计部门,在欧洲Bootstrap有很大的影响。
三、从SPICE试验到ISO/IEC TR 15504技术报告
1、 ISO/IEC 的SPICE 标准制订项目
20世纪90年代初,ISO/IEC 第一联合技术委员会注意到软件过程改进和评估的重要性以及由于缺乏统一的国际标准给软件产业造成的的困境,于1993年在SC 7设立第十工作组,发起了制订ISO/IEC 15504系列标准的前期工作。项目名称是“软件过程改进和能力测定”(Software Process Improvement and Capability Determination),简称SPICE。第一联合技术委员会同时决定SPICE项目可以不按正常程序,加快进行。
SPICE项目有三个主要目的:
1)为软件过程评估标准拟订草稿;
2)根据草稿进行试验;
3)努力推动软件产业界过程评估。
1994年,SPICE项目的基准文件出台。同时ISO/IEC第一联合技术委员会决定在全球范围,以基准文件为基础,展开大规模试验,目的是验证文件的实用性,收集试验数据。为此在全球设立五个技术中心,负责试验的推动和管理。
SPICE试验分三个阶段进行,第一阶段:从1994年至1996年9月,主要目的是对文件的关键部分进行验证,包括过程管理模型、实施评估指南、评分过程需求、评估工具构建、选择指南。全球各地共有35个项目参加了第一阶段的试验。
第二阶段:从1996年9月至1998年10月,全球各地共有几百个项目参加了试验,目的是:评价全部基准文件的实用性和一致性;评价过程管理模型能否体现软件工程和管理的基础实践;评价评估结果的可重复性;评价文件要求的正确性;评价过程能力测定指南的可使用性;评价过程改进指南的可使用性;评价在不同环境中评估框架的可移植性。
本阶段的试验结果为标准的正式制订积累了丰富的实践经验。
第三阶段:从1998年10月至今,目的是验证SPICE的总体目标和标准的需求,由于这时ISO/IEC 15504 TR (技术报告)已经发布,本阶段SPICE 试验的一个重要目的是为修改ISO/IEC 15504 TR (技术报告),将其上升为正式的国际标准提供依据。
2、ISO/IEC 15504 TR 系列技术报告
在SPICE 试验成功进行的基础上,1998年ISO/IEC JTC1正式发布了ISO/IEC 15504 TR系列技术报告, ISO/IEC 15504 TR由9部分组成,他们是:
1) ISO/IEC TR 15504-1:1998 信息技术- 软件过程评估- 第一部分:概念和介绍性指南;
2) ISO/IEC TR 15504-2:1998 信息技术- 软件过程评估- 第二部分:过程和过程能力的参考模型;
3) ISO/IEC TR 15504-3:1998 信息技术- 软件过程评估- 第三部分:实施评估;
4) ISO/IEC TR 15504-4:1998 信息技术- 软件过程评估- 第四部分:实施和指标指南;
5) ISO/IEC TR 15504-5:1998 信息技术- 软件过程评估- 第五部分:过程评估模型;
6) ISO/IEC TR 15504-6:1998 信息技术- 软件过程评估- 第六部分:评估员资格指南
7) ISO/IEC TR 15S04-7: 1998 信息技术- 软件过程评估- 第七部分:用于过程改进指南;
8) ISO/IEC TR 15504-8:1998 信息技术- 软件过程评估- 第八部分:确定供应者过程能力应用指南;
9 )ISO/IEC TR 15504-9:1998 信息技术- 软件过程评估- 第九部分:词汇
3、ISO/IEC 15504 TR的特征
1)在ISO和IEC 两个国际标准化组织中,技术报告(TR)属于标准信息文件,不具正式标准文件的地位,可以由技术委员会的P成员,以简单多数表决方式通过,由ISO和IEC秘书处发布,适用于标准的试验期。ISO/IEC 15504 TR是在SPICE试验已经进行了一段时间并取得积极成果之后制订和发布的,显然还具有向正式标准过渡的特征。
2) ISO/IEC 15504 TR 是一个过程评估的框架,而不仅是一个过程评估模型。这是它与其他软件过程评估模型的一个显著区别。此外ISO/IEC 15504 TR不具排他性,只要满足基本框架的要求,就可以与其他评估模型配合使用。事实上,在ISO/IEC 15504 TR制订过程中,先期开发软件过程评估模型的国家和单位,都在文件制订过程中发挥了重要的影响。关于这一点,在图4中已经清楚的显示出。
3)在ISO/IEC 15504 TR的9个组成部分中,15504-2和15504-3 最具关键作用,15504-2是应用软件过程评估和改进模型的基础,15504-3规定了实施评估的要求。
4) ISO/IEC TR 15504-2中的模型设计为二维模型,即能力维和过程维。
5)ISO/IEC TR 15504-2中一共包括29个过程,这些过程分为5组。即:用户供应者过程(CUS),工程过程(ENG)、支持过程(SUP)管理过程(MAN)、组织过程(ORG)
6)对于每个过程,其过程能力的测定分为6个级别,即不完全级(0),已执行级(1)、已计划和跟踪级(2)、已建立级(3)、可预测级(4)、优化级(5)。
四、从技术报告到 ISO/IEC 15504 正式标准
1、ISO/IEC 15504 标准制订现状
1998年ISO/IEC TR 15504 的9个文件发布后,ISO/IEC JTC1/SC7一方面在世界各地继续大力推动SPICE试验,同时根据反馈的信息,积极着手制订正式标准,经过6年努力,取得重要进展,现在,已经正式发布标准3个,按时间先后顺序,它们是
1) ISO/IEC 15504-2:2003 信息技术-过程评估-第二部分:实施评估
发布时间:2003年10月30日。
2) ISO/IEC 15504-3:2004 信息技术-过程评估-第三部分:实施评估指南
发布时间:2004年1月6日。
3) ISO/IEC 15504-4:2004 信息技术-过程评估-第四部分:过程改进和过程能力测定应用指南。
发布时间:2004年7月2日。
现在正在制订的标准有两个,它们是
1) ISO/IEC FDIS 15504-1信息技术-过程评估-第一部分:概念和词汇
标识符‘FDIS’表示,文件属于最终国际标准草案,正在提交各成员国表决,2004年年底,可望正式发布。
2) ISO/IEC CD 15504-5信息技术-过程评估-第五部分:过程评估模型范例
标识符‘CD’表示,文件属于技术委员会草稿,处于标准制订中期,估计最迟将在2006年正式发布。
2、已发布的标准内容简介
1) ISO/IEC 15504-2:2003
ISO/IEC 15504-2:2003 定义实施过程评估要求,作为使用过程改进和能力测定的基础。过程评估建立在二维模型之上,包括过程维和能力维。过程维由外部的过程参考模型(PRM)提供,PRM用来定义一个过程集合,过程由陈述过程的目的和结果来表征。能力维由测量框架组成,包括6个过程能力级别和与其相连的过程属性,评估输出称为过程剖面,由每个过程评估获得的分数的集合构成,同时也包括该过程达到的能力等级。
ISO/IEC 15504-2:2003确定过程能力测量框架和确定下述事件的要求:
实施评估;
过程参考模型;
过程评估模型;
验证过程评估一致性。
ISO/IEC 15504-2:2003确定的过程评估要求,构成一套完整的结构,它的特点是:容易进行自评估;提供了用于过程改进和能力测定的基础;考虑了评估的过程在执行中的前后关系;评定过程的分数;关注过程达到其目的的能力;在组织的所有领域的可应用性;为各组织之间提供客观基准。
ISO/IEC 15504-2:2003中规定了要求的最小集合,使其能够保证评估结果的客观、公正、一致和可重复,保证被评估过程具有代表性。当过程评估的范围相似时,评估结果可以相互比较。关于这方面的问题,ISO/IEC 15504-4将提供指南。
2) ISO/IEC 15504-3:2004
ISO/IEC 15504 为过程评估提供框架,这个框架可用于组织的计划、管理、监督、控制和改进采办、供应、开发运行、产品和服务的演变和支持。ISO/IEC 15504-3提供指南以满足ISO/IEC 15504-2规定的、执行评估要求的最小集合,提供过程评估的总的看法,提供下列指南,解释这些要求。
(1) 执行评估;
(2) 过程能力测量框架;
(3) 过程参考模型和过程评估模型;
(4) 选择和应用评估工具;
(5) 评审员资格;
(6) 验证一致性;
ISO/IEC 15504-3还提供了一个符合ISO/IEC 15504-2 4.2节要求的评估过程样本文件。
3) ISO/IEC 15504-4:2004
ISO/IEC 15504 为过程评估提供了一个框架,这个框架可用于组织的计划、管理、监督、控制和改进采办、供应、开发运行、产品和服务的演变和支持。15504-4为在过程改进和过程能力测定中,怎样利用过程评估,提供指南。在一个过程改进(PI)的环境中,过程评估利用选择的过程和能力,提供了表征一个组织单元的方法。分析过程评估的结果,对照一个组织单元的业务目标可以识别这些过程的效力、弱点和风险。这个结果反过来有助于确定这些过程对实现企业目标是否有效并提供改进动力。
对于承担的特定项目,在指定的组织单元内选择的过程,过程能力测定(PCD)关注这些过程评估的结果,以识别其效力、弱点、和危险。过程能力测定为选择供应商提供基本的输入,在这种情况下,经常用术语供应商能力测定来表示。
ISO/IEC 15504-4:2004 叙述了PI 和 PCD,叙述了如何配置PI 和 PCD。ISO/IEC 15504-4:2004为下列事项提供指南:
利用过程评估;
选择过程参考模型;
设定目标能力;
定义评估输入;
从评估输出推断过程相关的危险;
过程改进的步骤;
过程能力测定的步骤;
评估输出分析的可比性。
3、ISO/IEC 15504 和ISO/IEC TR 15504 (SPICE)比较
ISO/IEC 15504 是在ISO/IEC TR 15504 (SPICE)的基础上制订的正式国际标准,这个标准在总结SPICE试验的基础上,继存了ISO/IEC TR 15504 (SPICE)的基本思想和方法的同时,也发生了若干引人注目的变化,
1) 标准的名称发生变化
以ISO/IEC 15504-2:2003为例,该标准的名称是ISO/IEC 15504-2:2003 Information technology -- Process assessment -- Part 2: Performing an assessment。而ISO/IEC TR 15504-2:1998 的名称是ISO/IEC TR 15504-2:1998 Information Technology - Software process assessment - Part 2: A reference model for processes and process capability。
可见标准的正式名称已从信息技术- 软件过程评估,改变为信息技术-过程评估。
这个变化表明,标准适用范围已由单纯的软件过程,扩大到信息技术的过程。范围扩大之后对软件的过程评估又有什么影响,现在还难于作出准确的分析。
2) 标准结构的变化
ISO/IEC TR 15504 (SPICE)是由9个部分组成.
正式标准将ISO/IEC TR 15504的9个部分进行了调整、和合并和修改,使标准更加精简。其主要变更如下:
(1) ISO/IEC TR 15504-1 和ISO/IEC TR 15504-9合并、修改为ISO/IEC FDIS 15504-1信息技术-过程评估-第一部分:概念和词汇。
(2) ISO/IEC TR 15504-3修改后命名为ISO/IEC 15504-2:2003 信息技术-过程评估-第二部分:实施评估。
(3)ISO/IEC TR 15504-4 和ISO/IEC TR 15504-6 合并、修改后命名为ISO/IEC 15504-3:2004 信息技术-过程评估-第三部分:实施评估指南
(4) ISO/IEC TR 15504-4 和ISO/IEC TR 15504-6合并、修改后命名为ISO/IEC 15504-4:2004 信息技术-过程评估-第四部分:过程改进和过程能力测定应用指南
(5)ISO/IEC TR 15504-2 和ISO/IEC TR 15504-5合并、 修改后命名为ISO/IEC CD 15504-5信息技术-过程评估-第五部分:一个过程评估模型范例
3) 关于过程评估模型
(1) 预计在2005年发布的ISO/IEC 15504-5信息技术-过程评估-第五部分:过程评估模型范例中,将对评估模型作出比ISO/IEC TR 15504-2更加详细和完备的叙述。过程评估模型由2维构成,即过程维和能力维。
(2)ISO/IEC 15504-5中评估模型的过程维,不再采用ISO/IEC TR 15504-2的描述和分类,而是由一个外部参考模型提供,简称为PRM。 同时过程的划分采用和ISO/IEC 12207标准接轨,ISO/IEC 12207的名称是‘信息技术-软件寿命周期过程’,是ISO/IEC JTC1 于1995年制订, 该标准被软件产业界认为是建立‘软件寿命周期过程及与之相连的任务、活动的最佳实践源泉’。采用同样由JTC1制订的ISO/IEC 12207来定义模型的过程维,非常合理。然而由于ISO/IEC 12207是早在1995年制订,在使用中发现与ISO/IEC 15504-5中评估模型的过程维的要求还存在某些细微的差距,因此在2002年发布了12207的修改版本ISO/IEC 12207:1995/Amd 1:2002,
(3)模型的能力维是一个测量的框架,具有6个过程能力级别和与其相连的过程属性。在修改的过程中注意了将过程维与ISO 9001:2000 相联系,经过这样的修改,ISO 9001:2000已经能够和ISO/IEC 15504的框架相兼容。
文章来源于领测软件测试网 https://www.ltesting.net/