软件工程基础知识-软件质量

软件质量是指反映软件系统或软件产品满足规定或隐含要求的能力的特征和特性全体。软件质量保证是为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划。有组织的活动,其目的是生产该质量的软件。

一、软件质量特性

ISO/IEC 9126软件质量模型由3个层次组成∶第一层是质量特性∶第二层是质量子特性∶第三层是度量指标。该模型的质量特性和质量子特性的含义如下。

(1) 功能性。与一组功能及其指定的性质的存在有关的一组属性。功能是指能演足规定或隐含需求的那些功能。

  • 适合性:与规定任务能否提供一组功能以及这组功能能否适合有关的软件属性。
  • 准确性:与能否得到正确的或相符的结果或效果有关的软件属性。
  • 互用性:与同其他指定系统进行交互操作的能力有关的软件属性。
  • 依从性:使软件服从有关的标准、约定、法规及类似规定的软件属性。
  • 安全性:与避免对程序及数据的非授权故意或意外访问的能力有关的软件属性。

(2)可靠性。与在规定的一段时间内和规定的条件下,软件维持其性能水平有关的能力。

  • 成熟性:与由软件故障引起失效的频度有关的软件属性。
  • 容错性:与在软件错误或违反指定接口情况下,维持指定的性能水平的能力有关
的软件属性。
  • 易恢复性:与在故障发生后重新建立其性能水平并恢复直接受影响数据的能力。
以及为达此目的所需的时间有关的软件属性。

(3)易使用性。与为使用软件所需的努力和由一组规定的或隐含的用户对如此使用所做的评价有关的一组属性。

  • 易理解性:与用户为理解逻辑概念及其应用范围所花的努力有关的软件属性。
  • 易学性:与用户为学习其应用(如操作控制、输入、输出)所需努力有关的软件照性。
  • 易操作性:与用户为进行操作或操作控制所需努力有关的软件属性。

(4)效率。与在规定条件下,软件的性能水平与所用资源量之间的关系有关的一组属性。

  • 时间特性:与响应和处理时间以及软件执行其功能时的吞吐量有关的软件属性。
  • 资源特性:与软件执行其功能时所使用的费源量以及使用资源的持续时间有关的
软件属性。

(5)可维护性。与进行规定的修改所需努力有关的一组属性。

  • 易分析性:与为诊断缺陷或失效原因,或为判定待修改的部分所需努力有关的软
件属性。
  • 易改变性:与进行修改、调试或适应环境变化所需努力有关的软件属性。
  • 稳定性:与修改造成未预料后果的风险有关的软件属性。
  • 易测试性:与确认修改软件所需努力有关的软件属性。

(6)可移植性。与软件从一种环境转移到另一种环境的能力有关的一组属性。

  • 适应性:与软件无须采用特别为该软件准备的处理手段就能适应规定的环境有关
的软件属性。
  • 易安装性:与在指定环境下安装软件所需努力有关的软件属性。
  • 一致性:使软件服从与可移植性有关的标准或约定的软件属性。
  • 易替换性:与软件在该软件环境中用来替代指定的其他软件的可能和努力有关的
软件属性。

二、软件质量保证

软件质量保证包括与以下7个主要活动相关的各种任务。

(1)应用技术方法。软件质量保证首先从一组技术方法和工具开始,这些方法和工具帮助分析人员形成高质量的规格说明和高质量的设计。

(2)进行正式的技术评审。这是一种由技术人员实施的程式化会议,其唯一的目的是揭露质量问题。
(3) 测试软件。软件测试组合了多种测试策略,这些测试策略带有一系列有助于有效地检测错误的测试用例及设计方法。

(4)标准的实施。多数情况下,标准由客户或某些章程确定。与标准是否一致的评估可以被软件开发者作为正式技术评审的一部分来进行。

(5)控制变更。变更控制过程通过对变更的正式申请、评价变更的特性和控制变更的影响等直接提高软件的质量。变更控制应用于软件开发期间和较后的软件维护阶段。

(6)计量。其包括某些技术上的和面向管理的计量。

(7)记录保存和报告。为软件质量保证提供收集和传播软件质量保证信息的过程。评审、监察、变更控制、测试和其他软件质量保证活动的结果必须变成项目历史记录的一部分,并且应当把它传播给需要知道这些结果的开发人员。

三、软件评审

通常把“质量”理解为“用户满意程度”。为了使得用户满意,有以下两个必要条件。

(1)设计的规格说明书符合用户的要求。这称为设计质量。

(2)程序按照设计规格说明所规定的情况正确执行,这称为程序质量。

设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。

程序质量评审通常是从开发者的角度进行评审,与开发技术直接相关。它是着眼于软件本身的结构,与运行环境的接口以及变更带来的影响而进行的评审活动。

四、软件容错技术

1) 容错软件定义

归纳容错软件的定义,有以下4种。

(1) 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。


(2)规定功能的软件。在一定程度上能从错误状态自动恢复到正常状态。则称之为容错软件。


(3) 规定功能的软件,在发生借误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。


(4) 规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。

2) 容错的一般方法

实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常冗余技术分为4类,即结构冗余、信息冗余、时间冗余和冗余附加技术。

未完待续。。。

更多知识传送:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年12月27日
下一篇 2023年12月27日

相关推荐