软件质量工程的标准和模型

2021-06-30  本文已影响0人  python测试开发

本文定义并描述ISO 9000和IEEE软件标准,以及SEI能力成熟度模型集成(CMMI)的开发、服务和获取评估模型。

软件工程协会(SEI Software Engineering Institute)将标准定义为 "制定并用于规定获取、开发或服务的一致方法的正式要求,"(SEI 2010)。标准通过对规则、要求、指南或特征的说明,为软件开发和其他活动定义了一种有规律的、一致的方法。标准旨在促进社区或组织的最佳利益,并应以科学、技术和实践经验的综合成果为基础。

在指定、开发、审查、审计、评估或测试一个系统、过程或产品时,标准被用作比较的基础。当一个组织和/或其人员将标准中所说的应该做的事情与该组织和/或其人员实际所做的事情相比较时,就符合了标准。当标准要求的内容与产品的实际特性、内容或状态相匹配时,产品就符合了标准。一个标准通常是由标准实践规定的,或者是由指定的标准机构(ISO、IEC、IEEE、OMG等)定义的。标准可以指定对项目或活动的要求,包括。

在组织层面,标准使专业人员更容易在组织内的项目和产品团队之间流动,减少了培训所需的努力。通过使用标准,组织内不同小组开发的软件更加一致和统一,因此更容易集成和重复使用。事实上,每个人都知道并理解获取、开发和/或维护软件产品的标准方式,这就允许用统一的方法来审查产品和项目的状态。

在行业层面上,标准可以通过提供良好的实践机会来提高学科的专业性,这些实践是由软件行业有经验的从业者定义的。许多公司以ISO和IEEE标准为基准,作为改进自己的流程和实践的基础。标准还可以帮助将新的技术和方法引入软件行业。例如,来自对象管理小组(OMG 2015)的系统建模语言(SysML)标准帮助引入了一种一致的方法,可用于指定、分析、设计、验证和确认系统和系统中的面向对象的需求和设计。

应该注意的是,指南(guidelines)与标准不同。标准和指南通常都是由一些权威机构发布的。然而,标准定义了要求,而指南定义了建议的实践、建议、方法或程序,被认为是良好的实践,但不是强制性要求。

模型是对一个项目或过程从一个特定角度的抽象表述。一个模型表达了一个项目或过程的某些方面的基本内容,而没有给出不必要的细节。模型的目的是使有关人员能够思考、讨论和理解这些基本要素,而不被过多或复杂的细节所困扰。与标准不同,模型是沟通的工具,而不是强制性要求。用于开发的能力成熟度模型集成(CMMI)(SEI 2010)和生命周期模型(瀑布式、V型或螺旋式)是模型的例子。

ISO 9000

国际标准化组织(ISO)是一个由国家标准机构(ISO成员机构)组成的全球联盟"(ISO 2015)。ISO制定了9000系列标准,以定义质量管理和质量保证领域的良好做法。这些标准定义了质量管理系统的基本、第一层次。它们的实施并不能保证高质量。
在ISO 9000系列中,核心标准包括。

ISO还提供了一套辅助标准/指南,以帮助组织建立和改进其质量管理体系、流程或活动。这些支持性标准/指南的清单包含在ISO 9001:2015标准(ISO 2015)的附件B中。
ISO 9000系列标准基于七项质量管理原则,适用于任何组织,包括软件、制造和/或服务,包括。(ISO 2015; ISO 2015a)

IEEE软件工程标准

IEEE计算机协会的软件和系统工程标准委员会制定并维护一套软件和系统工程标准。这套IEEE标准并不总是被逐字逐句地使用,但它们被广泛地用作基准、模板和行业良好实践的例子,各组织根据自己的具体要求进行调整。对于确定其软件流程的组织,这些标准可以提供指导,最大限度地减少时间和精力。这些标准也可以作为检查清单,帮助验证重要项目不被忽视。

ISO 9001:2015和CMMI模型为良好的软件质量工程实践集提供了路线图,而IEEE的软件和系统工程标准则提供了更详细的 "如何做 "的信息和指导。截至本出版物发布之日,IEEE软件和系统工程标准的当前列表包括以下与注册软件质量工程师(CSQE)知识体系主题密切相关的标准。请参阅IEEE软件和系统工程标准网站,了解这些和其他IEEE软件和系统工程标准的最新版本。

应该注意的是,除了ISO 9000系列标准外,还有许多ISO/IEC信息技术、软件工程、系统和软件工程标准通过ISO/IEC JTC 1/CS 7编写/正在编写。这些标准中的一些已经被IEEE采用,另一些可能在未来取代上面列出的现行IEEE标准。目前的ISO/IEC标准的清单可以在http://www.iso.org/iso/home/store/catalogue_tc/catalogue_tc_browse.htm?commid=45086 上找到)。

能力成熟度模型集成(CMMI

软件工程协会(SEI)推动软件工程从一种临时的、劳动密集型的活动演变为一门由技术管理和支持的学科。根据SEI的网站,SEI的主要工作领域包括。

作为这项工作的一部分,SEI建立了CMMI模型(现在由CMMI协会支持),其目的是传达一套良好的实践,供追求企业范围内流程改进的组织使用。由此产生的CMMI框架允许生成多个CMMI模型,这取决于表现形式(阶段性或持续性)和学科。

能力成熟度模型集成(CMMI)用于开发(CMMI-DEV)(SEI 2010)。为组织提供良好实践的路线图,以改善他们的产品开发实践,从而生产出高质量的产品,满足客户、用户和其他利益相关者的需求。
服务的能力成熟度模型集成(CMMI)(CMMI-SVC)(SEI 2010a)。为有意为客户和用户提供高质量服务的组织提供良好实践路线图用于采购的能力成熟度模型集成(CMMI)(CMMI-ACQ)(SEI 2010b)。为组织提供良好实践的路线图,以改善其产品和服务获取实践,从而启动和管理高质量产品和服务的获取,满足客户、用户和其他利益相关者的需求。

在阶段性表述中,三个CMMI模型中的每一个都被细分为五个级别(或阶段),用来衡量组织的成熟度。每个模型都包括一个四级结构(2到5级)的良好实践,旨在提高产品和服务质量,以及项目绩效。在这三个CMMI模型的阶段性表示中,从2到5的每个级别都是由过程领域组成的。


每个CMMI过程领域都是用详细的要求、期望和信息组件来定义的,包括。

举例来说,CMMI的发展测量和分析过程领域的具体目标(SG)和具体实践(SP)是。(SEI 2010)

所有三个CMMI模型都有相同的2级和3级通用目标(GG)及其相关的通用实践(GP)。(SEI 2010; SEI 2010a; SEI 2010b)

在评估一个组织的成熟度水平时,阶段性表示中的过程领域是累积的。一个组织要达到2级成熟度,就必须。
通过实施所有相关的具体实践或可接受的替代实践,实现所有2级流程领域的所有具体目标。

通过实施所有相关的通用实践或可接受的替代实践,实现每个2级过程领域的所有2级通用目标。

为了向前迈进并达到3级成熟度,哪个组织将不得不。
通过实施每个二级流程领域的所有相关通用实践或可接受的替代实践,为每个通用目标增加实现所有三级通用目标的机会
通过实施所有相关的具体做法或可接受的替代做法,实现所有三级过程领域的所有具体目标。
通过实施每个3级过程领域的所有相关通用做法或可接受的替代做法,实现每个3级过程领域的所有2级和3级通用目标。
由于在分阶段表述中没有通用的4级或5级目标,为了向前迈进并达到4级成熟度,一个组织必须通过实施所有相关的具体实践或可接受的替代实践来实现所有4级流程领域的所有具体目标。为了向前迈进并达到5级成熟度,一个组织必须通过实施所有相关的具体实践或可接受的替代实践,来实现所有5级流程领域的所有具体目标。

到目前为止,我们只讨论了CMMI的阶段性表示。在连续表示法中,使用了相同的过程领域。然而,在连续表示法中,每个过程领域被独立地评估为能力水平,指定为0级到3级,并描述如下,而不是组织被评估为成熟度水平。

实现高成熟度是通过同等的阶段性概念来实现的。一旦所有的2级和3级过程领域的分阶段表示达到了3级能力,4级高成熟度则通过组织过程绩效和量化项目管理过程领域达到3级能力来实现。一旦达到4级高成熟度,5级高成熟度将通过在因果分析和解决以及组织绩效管理方面达到3级能力而达到。

人员能力成熟度模型

除了三个CMMI模型之外,还有一个人员能力成熟度模型(P-CMM)(SEI 2009)。该模型提供了一个良好实践的路线图,以帮助组织解决其关键的人员问题,并改善管理和发展组织的员工队伍的过程。

上一篇 下一篇

猜你喜欢

热点阅读