本第9章软件质量保证.ppt
文本预览下载声明
第9章 软件质量保证 软件质量及质量保证的概念 软件质量保证过程中的数据 软件质量保证的实施 软件评审 软件可靠性与容错技术 9.1 软件质量及质量保证的概念 1、软件质量定义与软件质量的特性 软件质量是软件产品、体系或过程的一组固有特性满足用户和其他相关方要求的程度。 在1991年制定的《信息技术软件产品评价质量特性及使用指南》中对质量的定义是:与软件产品满足明确或隐含需求的能力有关的特性和特性的总和。 软件质量的特性: 在《信息技术软件产品评价质量特性及使用指南》定义了描述与评价软件产品质量的6个特性以及与其有关的 21个子特性(见教材P153)。6个特性为: ? 功能性 ? 可靠性 ? 易用性 ? 效率 ? 可维护性 ? 可移植性 2、软件质量保证的概念 软件质量保证(Software Quality Assurance,SQA)是一种应用于整个软件过程的庇护性活动,包含: ? 一种质量管理方法 ? 有效的软件工程方法和工具 ? 过程中采用的正式技术评审 ? 一种多层次的测试策略 ? 对软件文档及其修改的控制 ? 保证规程符合软件开发标准 ? 软件度量及报告机制 等等方面的内容。 9.2 软件质量保证过程中的数据 SQA过程中必然产生有关产品、过程和体系质量的多种数据,是进行下一步工作的决策依据,对于提高质量管理效果和改进质量管理过程至关重要。要收集、存储、及时分析和使用这些数据,才能做好质量保证工作。 质量数据有多种: ? 项目规模:FP表示软件大小,以功能点计数; ? 工作量E:表示项目的人力总投入,以人月 计数; ? 生产率: P=FP/E; ? 缺陷数:D1表示软件交付前发现的错误数, D2表示交付后发现的缺陷数; ? 质量:Q=D2/FP,表示每个功能点包含多少 交付后的缺陷数; ? 缺陷引入率 :DI=(D1+D2)/FP,整个项目生 存期中每 功能点发现的缺陷数; ? 缺陷排除率: DR=D1/DI 9.3 软件质量保证的实施 1、SQA小组的职责 SQA活动与两种不同的参与者相关:做开发工作的软件工程师和 独立的SQA小组。 软件开发人员对质量的考虑: 采用可靠的技术方法,进行正式的技术评审,严格的、按计划的测试软件。 SQA小组的职责是: 辅助开发人员得到高质量的产品,负责质量保证的计划、监督、记录、分析及报告工作。 2、SQA过程的进入与退出 ? 进入准则: ① 方针明确 ② 能力具备 ③ 项目已定义 ④ 已有SQAP制定规程和偏差处理规程 ? 退出准则: ①产品符合需求 ② 数据记录完整、受控 ? 进入SQA的输入与输出: 输入包括合同中的有关说明或协议,软件开发标准和规范,软件设计准则,软件测试标准或规范,软件配置管理规范,软件质量保证规范,软件质量数据采集规程等。 输出包括SQAP,项目采用的标准和规程,各种评审和审核活动的记录和报告、问题报告、问题解决报告和软件质量有关的其它数据。 3、SQA活动流程(见下图) 需要指出的是,软件测试与软件质量保证是由不同人员实施的两种不同过程,软件测试是软件开发过程的一个阶段,而软件质量保证贯穿于整个软件开发过程。 软件开发过程需要多人合作,不按照一定的标准、规程、准则去做,很难将众多的工作产品集成起来。不把开发过程分解为可控制的阶段并对每个阶段的工作和结果加以控制,很难保证产品的质量。
显示全部