当前位置:文档之家› 第九章软件质量和质量保证

第九章软件质量和质量保证

所谓关键过程域是指一系列相互关联的操作活动,这些 活动反映了一个软件机构改进过程时必须集中精力改进的几 个方面。只有一个软件机构的所有项目都达到某个关键过程 域的目标,该软件机构的以该关键过程域为特征的过程能力 才是规范化了的。
9.3.1.4软件能力成熟度模型的5个等级 CMM将软件过程的成熟度分为5个等级,如图所示
沈阳师范大学软件学院
24
9.3.1软件能力成熟度模型概述
9.3.1.4软件能力成熟度模型的5个等级
在 CMM中,等级越高,软件开发生产精度则越高,每单 位工程的生产周期也越短。
在CMM的5个等级中,除了初始级,其他4个等级均有若 干个指导软件机构改进软件过程的要点,称为关键过程域( Key Process Area,简称KPA)。
方面特性都合格,因此不能使用术语向潜在的用户说明软件产品具有 很高的质量。 由于缺乏对软件的度量,看不到清晰的实效,因而人们对所使用的软 件开发技术没有足够的信心。
沈阳师范大学软件学院
13
9.2.1软件度量概述
9.2.1.4软件度量工具
随着软件定量方法的重要性不断增加,市场上出现了 许多度量工具。然而,度量工具目前还是很混乱。因为没有 统一的度量标准规范,每种工具发明商家都是按照他们自己 的软件度量规范。Daich等根据分类学把度量工具分成了以 下几种:
具体内容 规模、成本、工作量、进度、生产力、风险、顾客满意度
产品度量 过程度量
理解和控制当前产品的质量
产品的功能性、可靠性、易使用性、效率、可维护性、可移
植性
理解和控制当前情况和状态,对过程进行改进 能力成熟度、管理、生命周期、生产率、缺陷植入率
和预测
沈阳师范大学软件学院
19
本节内容
9.3软件能力成熟度模型
软件过程能力(Software Process Capability):在遵循一个软件 过程后能得到的预期结果的范围。它可用来预测一个机构在承接一个 软件项目后,所能得到的最可能的结果。
软件过程性能(Software Process Performance):在遵循一个软件 过程后所得到的实际结果。
沈阳师范大学软件学院
21
9.3.1软件能力成熟度模型概述
9.3.1.2软件能力成熟度模型中的重要概念
过程(Pro目的而执行的所有步骤的系列”。
软件过程(Software Process):人们用于开发和维护软件及其相关产 品的一系列活动、方法、实践和革新。软件和其相关产品是指项目计 划、需求文档、设计文档、代码、测试用例、用户手册等。
明确和隐含需要的能力的特性的总和”,这里的实体是“可以单独描 述和研究的事物”,如产品、活动、过程、组织的体系等。 在ISO 9000:2000中,将质量定义为“一组固有特性满足要求的程度 ”。 至于软件质量,很容易从上述质量的定义中作扩展。IEEE对软件质量的 定 义如下。软件质量是: 系统、部件或过程满足顾客或者用户需要或期望的程度。 系统、部件或过程满足规定需求的程度。
第九章
软件质量和质量保证
沈阳师范大学软件学院
1
本章内容
9.1软件质量 9.2软件度量 9.3软件能力成熟度模型 9.4软件质量保证
沈阳师范大学软件学院
2
本节内容
9.1软件质量
9.1.1软件质量的含义 9.1.2软件质量模型
沈阳师范大学软件学院
3
9.1.1软件质量的含义
9.1.1软件质量的含义
首先来看一些关于质量的定义。 1970年,Juran和Gryna把质量定义为“适于使用”。 1979年,Crosby将质量定义为“符合需求”。 在GB/T 6583-ISO 8404(1994版)中,将质量定义为“反映实体满足
明确和隐含需要的能力的特性的总和”,这里的实体是“可以单独描 述和研究的事物”,如产品、活动、过程、组织的体系等。 在ISO 9000:2000中,将质量定义为“一组固有特性满足要求的程度 ”。 至于软件质量,很容易从上述质量的定义中作扩展。IEEE对软件质量的 定 义如下。软件质量是: 系统、部件或过程满足顾客或者用户需要或期望的程度。 系统、部件或过程满足规定需求的程度。
9.3.1软件能力成熟度模型概述 9.3.2软件能力成熟度模型的建立和评估 9.3.3能力成熟度模型集成CMMI
沈阳师范大学软件学院
20
9.3.1软件能力成熟度模型概述
9.3.1.1起源
卡内基· 梅隆大学软件工程研究所CMU/SEI( Carnegie Mellon University/ Software Engineering Institute )于1987年研究发布了软件过程成熟度框架,并 提供了软件过程评估和软件能力评价两种评估方法和软件成 熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软 件能力成熟度模型(the Capability Maturity Model For Software,简称SW-CMM),并发布了最早的SW-CMM 1.0版。 经过两年的试用,1993年SEI正式发布了SW-CMM1.1版,这 是目前使用最为广泛的版本。
指导软件机构提高软件开发管理能力。 降低软件承包商和采购者的风险。 评估软件承包商的软件开发管理能力。 帮助软件企业识别开发和维护软件的有效过程和关键实践
。 帮助软件企业识别为达到CMM更高成熟等级所必须的关键
实践。 增加软件企业的国际竞争能力。
沈阳师范大学软件学院
23
9.3.1软件能力成熟度模型概述
沈阳师范大学软件学院
17
9.2.3软件度量的三个方面
9.2.3.1软件度量的三个方面 软件度量贯穿于软件开发的整个生命周期。软
件度量包括3个方面:
项目度量 产品度量 过程度量
沈阳师范大学软件学院
18
9.2.3软件度量的三个方面
9.2.3.1具体情况如表所示
度量维度 项目度量
侧重点 理解和控制当前项目的情况和状态。
(4) 需要度量当前已存在的产品和过程的属性以便预测将来的产品。
沈阳师范大学软件学院
16
9.2.2软件度量的目标
9.2.2.2对软件工程师 研究上面列出的度量的目标和活动可以发现,
软件度量的目标可大致概括为两类。
使用度量来进行估计。这使得人们可以同步地跟踪一个特定的软件项 目。
应用度量来预测项目的一些重要的特性。但不能过分夸大这些预测的 作用,因为它们并不是完全正确的。
通用度量工具 小生境度量工具(Niche Metrics Tool) 静态分析工具 源代码静态分析工具 规模度量工具
沈阳师范大学软件学院
14
9.2.2软件度量的目标
9.2.2.1对管理者
(1) 需要度量软件开发过程中的不同阶段的费用。 (2) 为了决定付给不同的开发小组的费用,需要度量不同小组职员的
沈阳师范大学软件学院
9
本节内容
9.2软件度量
9.2.1软件度量概述 9.2.2软件度量的目标 9.2.3软件度量的三个方面
沈阳师范大学软件学院
10
9.2.1软件度量概述
9.2.1.1软件度量的含义
度量是指在现实的世界中把数字或符号指定给实体的某一 属性,以便以这种方式来根据已明确的规则来描述它们。
度量关注的是获取关于实体属性的信息。 那么什么是软件度量呢?软件度量(Software
Measurement)是对软件开发项目、过程及其产品进行数 据定义、收集以及分析的持续性量化过程,目的在于对项 目质量、过程质量及产品质量进行理解、预测、评估、控 制和改善。
沈阳师范大学软件学院
11
9.2.1软件度量概述
• ISO 9126模型定义了6个影响软件质量的
质量特性,而每个质量特性又可通过若干 子特性来测量,每个子特性在评价时要进 行定义并实施若干度量。
• ISO 9126质量模型使得软件最大限度地满
足用户的明确的和潜在的需求,且从用户 、开发人员、管理者等各类人员的角度全 方位地考虑软件质量。
图 ISO 9126质量模型
有必要把它们引入到公司中。
沈阳师范大学软件学院
15
9.2.2软件度量的目标
9.2.2.2对软件工程师
(1) 需要制定过程度量以监视不断演进的系统。这包括设计过程中的改动 、在不同的回顾或测试阶段发现的错误等等。
(2) 需使用严格的度量术语来指定对软件质量和性能的要求,以便使这些 要求是可测试的。
(3) 为了合格需要度量产品和过程的属性。例如,看一个产品是否合格要 看产品的一些可度量的特性如“β测试阶段少于20个错误”,“每个模 块的代码行不超过100行”,和开发过程的一些属性如“单元测试必须 覆盖90%以上的用例”等。
9.2.1.2软件度量的意义
在软件开发中,软件度量的根本目的是为了软件管理的需要,利用度 量来改进软件过程,以提高软件开发效率和软件质量。
通过软件度量,使人们能够可预测、可重复、准确地控制软件开发过 程和软件产品。
度量使得对软件质量的评价从定性走向了定量,避免了软件质量评价 的模糊性。
沈阳师范大学软件学院
软件过程成熟度(Software Process Maturity):一个具体的软件 过程被明确定义、管理、评价、控制和产生实效的程度。所谓成熟度 ,包含着能力的一种增长潜力,同时也表明了软件机构实施软件过程 的实际水平。
沈阳师范大学软件学院
22
9.3.1软件能力成熟度模型概述
9.3.1.3软件能力成熟度模型的作用 企业实施CMM模型可为企业带来如下好处:
用户对软件质量的理解。
沈阳师范大学软件学院
图 Boehm质量模型
8
9.1.2软件质量模型
9.1.2软件质量模型
相关主题