一、说明
  • 1.软件质量是指反映软件系统或软件产品满足规定或隐含需求的能力的特征和特性全体。软件质量管理是指对软件开发过程进行独立的检查活动,由质量保证、质量规划和质量控制3个主要活动构成
  • 2.软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产高质量的软件。
二、ISO/IEC 9126软件质量模型
2.1 说明
  • 1.ISO/IEC 9126软件质量模型由3个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。
  • 2.质量特性:功能性、可靠性、易使用性、效率、可维护性、可移植性。
2.2 功能性
  • 1.与一组功能极其指定的性质的存在有关的一组属性,功能是指满足规定或隐含需求的那些功能。
  • 2.适合性(适用性):与对规定任务能否提供一组功能以及这组功能是否适合有关的软件属性。
  • 3.准确性:与能够得到正确或相符的结果或效果有关的软件属性。
  • 6.互用性:与其他执行系统进行交互操作的能力相关的软件属性。
  • 7.依从性:使软件服从有关的标准、约定、法规及类似规定的软件属性。
  • 8.安全性:与避免对程序及数据的非授权故意或以意外访问的能力有关的软件属性。
2.3 可靠性
  • 1.与在规定的一段时间内和规定的条件下软件维持在其性能水平有关的能力
  • 2.成熟性:与由软件故障引起失效的频度有关的软件属性。
  • 3.容错性:与在软件错误或违反指定接口的情况下维持指定的性能水平的能力有关的软件属性。
  • 4.易恢复性:在与故障发生后,重新建立其性能水平并恢复直接受影响数据的能力,以及达到此目的所需的时间和努力有关的软件属性。
  • 5.软件的可靠性是指一个系统在给定时间间隔内和给定条件下无失效运行的概率
2.4 易使用性
  • 1.与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。
  • 2.易理解性:与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。
  • 3.易学性:与用户学习其应用(例如操作控制、输入、输出)所付出的劳动有关的软件属性。
  • 4.易操作性:与用户为进行操作和操作控制所付出的努力有关的软件属性。
2.5 效率
  • 1.在规定条件下,与软件的性能水平与所用资源量之间的关系有关的软件属性。
  • 2.时间特性:与响应和处理时间以及软件执行其功能时的吞吐量有关的软件属性。
  • 3.资源特性:与软件执行其功能时,所使用的资源量以及使用资源的持续时间有关的软件属性。
2.6 可维护性
  • 1.与进行规定的修改所需要的努力有关的一组属性
  • 2.易分析性:与为诊断缺陷或失效原因,或为判定待修改的部分所需努力有关的软件属性。
  • 3.易改变性:与进行修改、排错或适应环境变换所需努力有关的软件属性。
  • 4.稳定性:与修改造成未预料效果的风险有关的软件属性。
  • 5.易测试性:为确认经修改软件所需努力有关的软件属性。
2.7 可移植性
  • 1.与软件可从某一环境转移到另一环境的能力有关的一组属性。
  • 2.适应性:与软件转移到不同环境时的处理或手段有关的软件属性。
  • 3.易安装性:与在指定环境下安装软件所需努力有关的软件属性。
  • 4.一致性:使软件服从与可移植性有关的标准或约定的软件属性。
  • 5.易替换性:与一软件在该软件环境中用来替代指定的其他软件的可能和努力有关的软件属性。
三、Mc Call软件质量模型
  • 1.Mc Call软件质量模型从软件产品的运行、修正和转移3个方面确定了11个质量特性。
  • 2.Mc Call也给出了一个三层模型框架,第一层是质量特性,第二层是评价准则,第三层是度量指标。
  • 3.Mc Call软件质量模型图示。
    在这里插入图片描述
四、例题
4.1 例题1
  • 1.题目
1.ISO/IEC软件质量模型中,
易使用性是指与使用所需的努力和由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,
其子特性不包括(C)。

A.易理解性
B.易学性
C.易分析性
D.易操作性
  • 2.解析
1.易使用性的子特性有:易理解性、易学性、易操作性。
2.易分析性是可维护性的子特性,因此选C。
4.2 例题2
  • 1.题目
2.在ISO/EC软件质量模型中,可靠性是指在规定的一段时间内和规定的条件下,
软件维持在其性能水平的能力;其子特性不包括(D)

A.成熟性
B.容错性
C.易恢复
D.可移植性
  • 2.解析
1.可靠性的子特性有成熟性、容错性、易恢复性。因此选D
4.3 例题3
  • 1.题目
3.ISO/IEC 9126 软件质量模型中第一层定义了六个质量特性,
并为各质量特性定义了相应的质量子特性。子特性 (C)属于可靠性质量特性。
A.准确性
B.易理解性
C.成熟性
D.易学性
  • 2.解析
1.功能准确,成熟可靠。
4.4 例题4
  • 1.题目
4.软件(C)的提高,有利于软件可靠性的提高。
A.存储效率
B.执行效率
C.容错性
D.可移植性
  • 2.解析
1.在软件错误或违反指定接口的情况下维持指定的性能水平的能力有关的软件属性。
2.容错能力越强,越可靠。
4.5 例题5
  • 1.题目
5.软件(A)是指一个系统在给定时间间隔内和给定条件下无失效运行的概率,
A.可靠性
B.可用性
C.可维护性
D.可伸缩性
  • 2.解析
1.软件的可靠性是指一个系统在给定时间间隔内和给定条件下无失效运行的概率。
2.软件的可用性是指软件在特定使用环境下为特定用户用于特定用途时所具有的有效性。
3.软件的可维护性是指与软件维护的难易程度相关的一组软件属性。
4.软件的可伸缩性是指是否可以通过运行更多的实例或者采用分布式处理来支持更多的用户。
4.6 例题6
  • 1.题目
6.在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境转移到另一环境的能力有关的一组属性,其子特性不包括(B)
A.适应性
B.易测试性
C.易安装性
D.易替换性
  • 2.解析
1.易测试性属于可维护性的范畴,不属于可移植性。
4.7 例题7
  • 1.题目
7.在ISO/IEC 9126软件质量模型中,软件质量特性(A)包含质量子特性安全性
A.功能性
B.可靠性
C.效率
D.可维护性
  • 2.解析
ISO/EC 9126软件质量模型,该模型的质量特性和质量子特性如下:
1.功能性(适合性、准确性、互用性、依从性、安全性)可靠性(成熟性、容错性、易恢复性);
2.易使用性(易理解性、易学性、易操作性)
3.效率(时间特性、资源特性)
4.可维护性(易分析性、易改变性、稳走性、易测试性):可移植性(适应性、易安装性、一致性、易替换性)。
5.安全性是功能特性的子特性。
4.8 例题8
  • 1.题目
8.按照ISO/IEC 9126软件质量度量模型定义,一个软件的可靠性的子特性包括(C)
A.容错性和安全性
B.容错性和适应性
C.容错性和易恢复性
D.易恢复性和安全性
  • 2.解析
1.1991年发布的ISO/EC 9126模型中,基本特性减少为6个:功能性、可靠性、易使用性、效率、可维护性和可移植性。
2.其中可靠性包括三个子特性,即成熟性、容错性和易恢复性。
3.而安全性是功能性的子特性,适应性是可移植性的子特性。
4.9 例题9
  • 1.题目
9.在ISO/EC 9126软件质量模型中,可靠性质量特性是指在规定的一段时间内和规定的条件下,软件维持在其性能
水平有关的能力,其质量子特性不包括(A)。
A.安全性
B.成熟性
C.容错性
D.易恢复性
  • 2.解析
1.可靠性质量属性包括:成熟性、容错性和易恢复性。
2.安全性应该是功能性子特性。
4.10 例题10
  • 1.题目
10.根据ISO/EC 9126软件质量模型中对软件质量特性的定义,可维护性质量特性的()子特性是指与为确认经修改软件所需努力有关的软件属性。
A.易测试性
B.易分析性
C.稳定性
D.易改变性
  • 2.解析
1.可维护性质量特性是指与软件维护的难易程度相关的一组软件属性,它包含了易分析性、稳定性、易测试性和易改变性4个子特性。
2.易分析性是描述诊断缺陷或失效原因、判定待修改程度的难易程度的特性。
3.稳定性是描述修改造成难以预料的后果的风险程度,风险程度越低,稳定性越好易测试性是描述测试已修改软件的难易程度的特性。
4.易改变性是描述修改、排错或适应环境变化的难易程度本题中,是说与为确认经修改软件所需努力有关的软件属性,也就是说要确认修改后的软件是否正确所要付出的努力,这应该是易测试性所描述的内容.
4.11 例题11
  • 1.题目
11.(D)不属于可修改性考虑的内容。
A.可维护性
B.可扩展性
C.结构重构
D.可变性
  • 2.解析
1.可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考查这些变更的代价衡量可修改性。可修改性包含四个方面。
(1)可维护性(maintainability)。这主要体现在问题的修复上:在错误发生后“修复”软件系统。为可维护性做好准备的软件体系结构往往能做局部性的修改并能使对其他构件的负面影响最小化。
(2)可扩展性(extendibility)。这一点关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。
(3)结构重构(reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。
(4)可移植性(portability)。可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无关的方式组织软件系统,其他软件系统和环境被提取出。可移植性是系统能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能是两者的结合。在关于某个特定计算环境的所有假设都集中在一个构件中时,系统是可移植的。 如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐