软件质量模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
McCall提出了表明软件质量的11个质量特性,表1 给出了McCall提出的11个质量特性及其含意。
表1 McCall提出的质量特性
质量特性 正确性
Correctness 可靠性
Reliability


程序能够满足规格说明和 完成用户业务目标的程度
程序能够按要求的精度实 现其预期功能的程度
可回答的问题 它做了该做的事吗?
18
自描述性: 源代码提供自身描述的程度。 简洁性: 程序易于理解的程度。 通用性: 程序各构件潜在的应用范围。 硬件独立性:软件与运行它的硬件之间的相关程度。 软件独立性:程序与非标准编程语言性质、
操作系统特性、以及其他环境 限制的无关程度。 通信共用性: 使用标准接口、协议和带宽的
工具性


运 行
效率
可审计性
完整 性
使用 性
图5 McCall等人提出的软件质量模型
9
主要用途
质量因素 正确 性
评价准则
可靠 性 产

运 行
效率
完整 性
可训练性
使用 性
可操作性
图6 McCall等人提出的软件质量模型
10
主要用途
质量因素
评价准则
维护性
一致性 工具性

简明性

修 改
测试性
模块性
自描述性
境转移到另一硬件配置和/或环 台机器上用
境所需的工作量
它吗?
可重用性 Reusability
程序可被用于与其实现功能相 可以重复使
关的其他应用问题的程度
用它的某些
部分吗?
互操作性
一系统与另一系统协同运行所 它能够与另
Interoperability 需的工作量
外系统联接 吗?
4
用户对于已投人使用的软件,会关心软件运行以后表现出来的运行 特性,修正特性和转移特性。也即从这3个方面理解上述11个质量 特性,于是我们把11个质量特性分为3组,使其分别录属于上述3 个方面,请参见图1。
维护性 灵活性 测试性
修转 正移
可移植性 可重复用 互操作性
运行
正确性 可靠性
效率
完整性 使用性
图1 在运行阶段用户的质量特性观点
5
主要用途
质量因素
评价准则
正确 性
可跟踪性
可靠 性
完整性


运 行
效率
一致性
完整 性
使用 性
图2 McCall等人提出的软件质量模型
6
主要用途
质量因素
评价准则
正确 性
洁、清晰和可理解的程度。
17
安全性:控制或保护程序和数据机制的有效性。 工具性:程序监视自身运行和识别出现错误的程序。 简明性: 程序代码的紧密程度。 可训练性:程序使新用户使用该系统的辅助程度。 可操作性: 程序操作的难易程度。 可审计性: 检查与标准是否符合的难易程度。 可扩充性:系结构、数据或过程设计可扩充的程度。 模块性 : 程序各构件的功能独立性。
灵活性
简洁性
图7 McCall等人提出的软件质量模型
11
主要用途
质量因素
评价准则
维护性
复杂性
工具性
产 品
可审计性
修 改
测试性
模块性
自描述性
灵活性
简洁性
图8 McCall等人提出的软件质量模型
12
主要用途
质量因素
评价准则
维护性
一致性
复杂性

简明性

修 改
测试性
可扩充性
模块性
灵活性
简洁性
图9 McCall等人提出的软件质量模型
质量属性
虽然有许多产品特性可以称为质量属性(Quality Attribute),但是在许多系统中需要认真考虑的仅是 其中的一小部分。如果开发者知道哪些特性对项目 的成功至关重要,那么他们就能选择软件工程方法 来达到特定的质量目标。根据不同的设计可以把质 量属性分类。一种属性分类的方法是把在运行时可 识别的特性与那些不可识别的特性区分开。 另一种方法是把对用户很重要的可见特性与对开发 者和维护者很重要的不可见特性区分开。 那些对开发者具有重要意义的属性使产品易于更改、 验证,并易于移植到新的平台上,从而可以间接地 满足客户的需要。
程度。 数据共用性: 在整个程序中使用标准数据结
构和类型的程度。
19
国际标准和国家标准规定的质量特性标准中规定 了6个质量特性及其相关的21个质量子特性(如图 13所示)。6个质量特性的含义在表2中给出。
20
特性
功能性 Functionality
可靠性 Reliability
子特性
适合性 准确性 互操作性 依从性 安全性 成熟性 容错性 易恢复性
它总能准确地工作 吗?
2
效率 Efficiency 完整性 Integrity 可用性 Usability
可维护性 Maintainability
测试性 Testability
程序实现其功能所需要的 计算机资源量
软件或数据不受未授权人 控制的程度
学习、操作程序、为其准 备输入数据、解释其输出 的工作量
质量因素 移植性
复用性
共运行性 图12 McCall等人提出的软件质量模型
评价准则
模块性 通用性 通信共用性 数据共用性
16
• 可跟踪性:沿一个设计说明或一个实际程序 构件返回到需求的能力。
• 完整性: 所需功能实现的程度。 • 一致性: 在整个软件开发项目中使用统一
的设计和文档编制技术的程度。 • 容错性:当程序出错时,造成破坏的程度。 • 准确性: 计算和控制的精确程度。 • 执行效率:程序的运行时间。 • 复杂性 : 程序结构化、模块化、简明、简
通用性
13
主要用途
质量因素
评价准则
移植性
模块性
自描述性

品 转 移
复用性
通用性
硬件独立性
共运行性
软件独立性
图10 McCall等人提出的软件质量模型
14
主要用途
质量因素
评价准则
移植性
模块性
自描述性


转 移
复用性
通用性
硬件独立性
共运行性
软件独立性
图11 McCall等人提出的软件质量模型
15
主要用途 产 品 转 移
对运行的程序找到错误并 排除错误的工作量
为保证程序执行其规定的 功能所需的测试工作量
它能在硬件上尽 力工作吗? 它是安全吗?
它可用吗?
它可调整吗?
它可测试吗?
3
灵活性
修改运行的程序所需的工作量 它可修改吗?
Flexibility
可移植性 Portability
将程序从一种硬件配置和/或环 可以在另一
一致性
可靠 性
容错性

品 运
效率
准确性

wk.baidu.com
完整 性
执行效率
模块性
使用 性 图3 McCall等人提出的软件质量模型
简洁性
7
主要用途
质量因素
评价准则
正确 性
执行效率
可靠 性
简明性


运 行
效率
可操作性
完整 性
使用 性
图4 McCall等人提出的软件质量模型
8
主要用途
质量因素
评价准则
正确 性
安全性
可靠 性
相关文档
最新文档