《软件工程》-软件质量管理

【前言】
软件质量概念
软件质量保证
软件可靠性
软件配置管理
【内容】
一.软件质量概念
1.软件质量定义
软件质量是“反映实体满足明确的和隐含的需求的能力的特性的总和”。
2.软件质量特性
定义一个软件的质量,就等价于为该软件定义一系列质量特性。
人们通常把影响软件质量的特性用软件质量模型来描述。
3.软件质量模型
1976年 Boehm质量模型
在这里插入图片描述
1979年 McCall质量模型
在这里插入图片描述
1985年 ISO质量模型
在这里插入图片描述
4.件质量的度量和评价
软件质量特性度量有两类:预测型和验收型。
预测度量是利用度量或定性的方法,估算软件质量的评价值,以得到软件质量的比较准确地估算值。
验收度量是在软件开发各阶段的检查点,对软件的要求质量进行确认行检查的具体评价值,它是对开发过程中的预测进行评价。
二.软件质量的保证
1.质量保证的概念
是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量的。
软件的质量保证就是向用户及社会提供满意的高质量的产品。
2.软件质量保证的主要任务
为了提高软件的质量和软件的生产率,软件质量保证的主要任务大致可归结为8点。
(1)用户要求定义
(2)力争不重复劳动
(3)掌握开发新软件的方法
(4)组织外部力量协作的方法
(5)排除无效劳动
(6)发挥每个开发者的能力
(7)提高软件开发的工程能力
(8)提高计划和管理质量能力
3.质量检验的原则
用户要求的是产品所具有的功能,这是“真质量”。靠质量检验,一般检查的是“真质量”的质量特性。
能靠质量检验的质量特性,即使全检验,也只是代表产品的部分质量特性。
软件质量保证体系
软件的质量保证活动,是涉及各个部门的部门间的活动。
4.软件质量保证体系
规定在项目的哪个阶段进行评审及如何评审;
规定在项目的哪个阶段应当产生哪些报告和计划;
规定产品各方面测试应达到的水平;
在每次评审和测试中发现的错误如何修正。
5.质量保证的实施
软件质量保证的实施需要从纵向和横向两个方面展开。
要求所有与软件生存期有关的人员都要参加
要求对产品形成的全过程进行质量管理
6.软件的质量设计
Target:以用户要求和开发方针为依据,对质量需求准则、质量设计准则的各质量特性设定质量目标。
Plan:设定适合于被开发软件的评测检查项目(质量评价准则)。研讨实现质量目标的方法或手段。
Do:制作高质量的规格说明和程序。在接受质量检查前先做自我检查。
Check:以Plan阶段设定的质量评价准则进行评价。计算结果用质量图的形式表示出来。
Action:对评价发现的问题进行改进活动,如果实现并达到了质量目标就转入下一个工程阶段。这样重复“Plan”到“Action”的过程,直到整个开发项目完成。
在这里插入图片描述
三.软件可靠性
1.软件生存期与软件寿命的关系
一切有生命的东西都有一个“寿命”。
从软件工程的角度来说,软件产品的寿命是指软件的整个生存期。
从软件用户的角度来看,更关心的是软件在交付使用后的情况如何。
希望用一个指标平均失效间隔时间MTBF(MeanTime Between Failure)来表明,在规定的要求和条件下,能在多大的程度上依赖这个软件来完成任务。
我们把在使用期间软件能够正常工作的持续时间叫做软件的使用寿命。
2.在软件工程中常用的定义
故障:软件内在的缺陷
错误:故障的暴露,导致软件出错
失效:对错误不做任何修改,使得系统输出不能满足用户要求。
3.软件可靠性的定义
软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功地运行程序的概率。
4.测试中的可靠性分析
在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量是至关重要的:
推测错误的产生频度,即推测错误产生的时间间隔。
推测残留在程序中的错误数。
评价测试的精确度和覆盖率。
测试精确度和测试覆盖度的评价
在软件测试过程中累积发现的故障数,可用带有平均值函数m(t)的非齐次泊松过程(NHPP)来描述:
在这里插入图片描述
其中,N是在测试中可能发现的故障总数,b是故障发现率。
当N一定时,b越大,在短期内发现的故障越多。
四.软件配置管理
在软件建立时变更是不可避免的,因为在进行变更前没有仔细分析,或没有进行变更控制,变更加剧了项目中软件人员之间的混乱。
协调软件开发使得混乱减到最小的技术叫做配置管理。
1.软件配置管理的概念
软件配置管理,简称SCM,是一种“保护伞”活动,它应用于整个软件工程过程。
2.软件配置管理目标
标识变更、控制变更、确保变更正确地实现、向其他有关的人报告变更。
3.基线(Baseline)
基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。
基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/frj0260/article/details/85223804