《软件质量属性》课件

合集下载

软件体系结构课件_(第八课)质量属性

软件体系结构课件_(第八课)质量属性
命令/响应
心跳 异常
可以用层级形式组织 在不同进程 中操作 和命令/响应战术的区别是?
在一个进程中操作
什么是异常?
异常是对程序接口隐含假设的一种违反
例如:
Public
class void Transfer (Account from, Account to, Decimal amount)
质量属性
Review(复习)
几种常见的质量属性:
可用性 可修改性 性能 安全性 可测试性 易用性

可用性
和系统故障及其后果有关的质量属性 定义:?

平均正常工作时间 (平均正常工作时间 平均修复时间)
理解?
可理解为计算机在任一时刻正常工作的概率。
在何时需要强调可用性?
行初始化。(定期设置持久设备的系统状态 的检查点,并记录持久设备的所有状态变化 能够使备件设置为适当的状态)
备件
一般用于硬件/操作系统的解决方案
定期设置持久设备的系统状态的检查点,并记录持久设备 的所有状态变化能够使备件设置为适当的状态
状态记录
重启 出现故障
重新引入
Shadow操作
以前出现故障的组件可以在短时间

我们认为,解决该问题的关键,就是采用高可用
性的群集解决方案。在一个承担关键业务的计算 中心,采用多台主机共享一套存储设备存储业务 数据,主机之间通过物理连接形成一定的相互联 系,与相应的群集软件配合,可以实现如下功能: 当整套系统中出现任何一个单点故障,都有相应 的冗余部件代替发挥相应的功能,从而保证业务 的正常进行,在此过程中的物理设备和应用软件 的切换都不会被前端用户所察觉。
双机就绪模式

软件测试与软件质量PPT课件

软件测试与软件质量PPT课件

正确性描述软件在需求范围之内的行为,而健壮性描述软件在需求范 围之外的行为。
开发者往往把异常情况错当成正常情况而不作处理,结果降低了健壮
性。
第10页/共23页
3.功能性质量因素
3 可靠性
可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。
可靠性本来是硬件领域的术语。比如某个电子设备在刚开始工作时挺好的, 但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能 或性能就会失常。所以一个从设计到生产完全正确的硬件系统,在工作中未 必就是可靠的。
维护性
易分析性 易修改性 稳定性 可测试性
可移植性
第7页/共23页
适应性 易安装性 一致性 可替换性
2.软件质量属性和质量要素
•软 件 质 量 模 型 指 出 了 质 量 属 性 之 间 的 联 系 和 高 质 量 软 件 的 质 量 属 性 构成 软件质量模型存在的问题 1.上述这些质量属性之间“你中有我,我中有他”,非常缠绵。如果 测试人员每天要面对那么多的质量属性咬文嚼字,不久就会迂腐得像 孔乙己,因此我们有必要对质量属性做些分类和整合。 2.软件质量属性并没有提供具体的量化方法和评价指标。
软件测试人员必须为这些质量属性设计出具体的量化方法和评价指标 ,从而进一步设计和执行测试用例,得到具体的数据。 质 量 属 性 可 分 为 两 大 类 : “ 功第能8页性/共”23与页“ 非 功 能 性 ” 。
2. 软件质量属性和质量要素
2.3 十大软件质量因素
功能性质量因素:正确性,健壮性,可靠性 非功能性质量因素:性能,易用性,清晰性,安全性,可扩展 性,兼容性,可移植性
时隐时现的错误一般都属于可靠性问题,纠错的代价很高。例如当维护人员 十万火急地赶到现场时,错误消失了;等维护人员回家后,错误又出现了。…

软件质量PPT学习课件

软件质量PPT学习课件
19
2.2.4 敏捷方法之极限编程
最简单的可能就是最有效的 极限编程适合
小团队 (2-10 programmers) “高风险” 快速变化或不稳定的需求 强调可测试性
格言
“沟通、简化、反馈、g
Kent Beck
20
极限编程XP基本思想和原则
个体和交互 可以工作的软件 客户合作 响应变化
体现。
✓ 质量的成本属性,也可以称为质量的经济性,质量越好的产品,带
给社会的损失就越小 。
✓ 社会属性,质量很多时候体现的是一种理念,是哲学而不仅仅是方
法,它与社会的价值观有直接的关系。
✓ 可测性。产品的质量好坏将取决对相应特征的衡量,质量的可测性决
定了质量的可控特性。
✓ 质量的可预见性:可以预测质量在不同过程中的结果 。
29
RUP模型迭代过程
30
2.3 软件缺陷
2.3.1 什么是软件缺陷 2.3.2 软件缺陷的产生 2.3.3 软件缺陷的分类
31
2.3.1 什么是软件缺陷 1、软件缺陷的定义
软件缺陷,常常又被叫做Bug(臭虫)。 软件缺陷是计算机系统或者程序中存在的任何 一种破坏正常运行能力的问题或错误,或者隐 藏的功能缺陷或瑕疵。缺陷会导致软件产品在 某种程度上不能满足用户的需要。
32
2.3.1 什么是软件缺陷
IEEE (1983) 729 软件缺陷一个标准的定义:
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错 误、毛病等各种问题;
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
缺点(defect) 谬误(fault) 问题(problem) 错误(error ) 异常(anomy)

软件体系结构5、软件质量属性1

软件体系结构5、软件质量属性1
◦ 关注构建某个所期望的系统的难易程度 ◦ 通过在架构层次上仔细关注系统的模块的分解,将这些模 块合理地分配给开发小组并限制模块之间(开发小组之间) 的依赖来实现 ◦ 最大程度地实现并行开发 ◦ 可构建性通常用成本和时间来进行衡量。影响因素如: ◦ 系统使用的部件与构建这些部件的工具之间的匹配 ◦ 对所要解决的问题以及解决方法的认知程度
•在开发过程中,首先也是常常唯一被考虑 的
软件功能性与体系结构
功能性在很大程度上独立于体系结构但需具体统筹考虑 ◦ 如果功能性是系统的唯一需求的话,系统可以通过各种可能的结 构来实现
◦ 如:单一模块实现整个系统
◦ 当某些质量属性很重要时,软件架构设计就需要限制各结构的功 能分配
◦ 如:为支持并发开发
◦ 如果不是这样,功能的选择将会确定安全性、性能、 可用性或易用性的级别
这并不是说任何级别的质量属性都是可以获得 的——》还是与相应的功能有一定关系
◦ 如:处理复杂的图形图像很难有很高的性能
但可以做到的是,对所选择的任何功能,设计 师将确定每个质量属性的相对级别
◦ 不同的架构,不同的设计方案选择,针对同样的功能 可能会得到不同的质量属性级别
需要关注功能性如何与其它质量属性交互,以及它是如何限制其它 质量属性的
质量属性
质量属性Quality Attributes:是软件系统在质 量方面的需求
◦ 性能 ◦ 可修改性 ◦ 可用性 ◦ 可移植性 ◦ 可伸缩性 ◦ 可扩展性 ◦ ……
质量属性在架构商业周期中 的位置
质量属性与功能性
从某种程度上说,功能与质量属性是正交的
商业质量属性
上市时间 成本和收益
所希望的系统生命期的长短
◦ 长:可修◦ 通用市场:可移植性、功能性、易用性 ◦ 大型专用市场:产品线

软件需求的质量保证PPT课件

软件需求的质量保证PPT课件

50
12
3.灵活性
• 灵活性就像我们所知道的可扩充性、增加性、 可延伸性和可扩展性一样,灵活性表明了在产品 中增加新功能时所需工作量的大小。
• 灵活性对于通过一系列连续的发行版本,并采用 渐增型和重复型方式开发的产品是很重要的。
• 实例:“一个至少具有6个月产品支持经验的软件 维护程序员可以在4个小时之内为系统添加一 个新格式的打印报表。"
• 为了指定只能以一种方式理解需求需要 做两件事:
– 在规格说明书中对使用的术语进行定义,对 它们的含义进行说明(词汇术语表)。
– 检查每项需求使用术语的方式都与它们的定 义相符。
50
38
5.可验证的需求
• 需求必须是可验证的或“可测试的”。 • “可验证的或可测试的”需要合理的定义良好
的无歧义的需求。 • 如果需求是不可验证的,则说明需求尚不明确,
50
18
9.可维护性
• 可维护性表明了在软件中纠正一个缺陷或做一 次更改的简易程度。
• 可维护性取决于理解软件、更改软件和测试软 件的简易程度,可维护性与灵活性密切相关。
• 高可维护性对于那些经历周期性更改的产品或 快速开发的产品很重要。你可以根据修复一个 问题所花费的平均时间和修复正确的百分比来 衡量可维护性。
50
27
1.正确的需求
• 一个SRS(需求集)是正确的,当且仅当其中 每条需求都代表了要构造系统所要完成 的事物。
• 只是简单地在文档中写一些信息是不能 保证正确的,任何自动设计工具也不能保 证正确。
50
28
需要和需求的全域
• 在一个软件项目中经 常发生的是遗漏区域A 表示的信息,意外地把 C区域表示的信息包括 进来。

软件质量属性

软件质量属性

1.阐述软件系统功能性和质量属性之间的关系
2.我们在软件开发实践中通常关心系统的哪几种质量属性
3.请写出性能质量属性的一般质量属性场景
题目解答:
1.软件系统功能性是指系统能够完成所期望的工作的能力,而质量属性则是高
于系统功能基本要求的,它是对多种更高层次需求的抽象描述,如安全、可靠、易用及易于修改等,显然它适用于多个特定系统而非一个。

由此我们可以看出,功能性和质量属性是正交的关系,即对应于相同的功能可以具有不同的质量属性。

2. 我们在软件开发实践中通常所关心的系统的质量属性有以下几种:
1)易用性(Usability):涉及到构架和非构架两个方面
2)可修改性(Modifiability):由划分功能的方式(构架)和模块中的编码技巧及注释(非构架)两方面决定
3)系统的性能(Performance):既受到构架的影响又受到具体算法的影响
4)安全性(Security)
5)可用性(Availability)
3. 性能与事件发生时,将要耗费系统多长时间做出响应有关.对性能进行分析,影响性能的因素包括:事件源的数量和到达模式,而到达系统的事件包括:周期性事件、随机事件或偶然事件。

根据我们所了解的,质量属性场景包括刺激源、刺激、环境、制品、响应和响应度量。

根据各个部分的具体要求结合系统性能,我们可以将性能的一般质量属性场景描述为:。

软件质量概念完美版PPT

软件质量概念完美版PPT

正确性(Correctness) 可使用性(Usability) 完整性(Integrity)
可靠性(Reliability) 效率(Efficiency)
McCall质量模型
7
ISO的软件质量评价模型
按照ISO/TC97/SC7/WG3/1985-130/N382,软件质量度量模型由三 在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量是至关重要的。 层组成 Product
可测试性(Testability) 在做质量评价时,需要有对质量进行度量的准则和方法。 灵活性(Flexibility)
软件质量需求评价准则(SQRC) 需要有在软件生存期中如何使用这些准则和方法的质量保证步骤,以及提高该项作业效率的工具
1976年 Boehm质量模型 软件质量度量和保证的条件 可靠性:同个软件的评价结果一致
软件质量概念 软件质量保证 软件可靠性
1
软件质量概念
软件质量的定义 软件质量特性 软件质量模型 软件质量的度量和评价
2
软件质量的定义
ANSI/IEEE Std 729-1983定义软件 质量为“与软件产品满足规定的和 隐含的需求的能力有关的特征或特 性的全体”。 软件需求是度量软件质量的基础。 不符合需求的软件就不具备质量。 质量/成本, 性价比
使 用 单 位 自 行 规 定
遵循性conformance
易替换性
10
11
软件质量的度量和评价
软件质量特性度量有两类:预测型 和验收型。 预测度量是利用定量或定性的方法, 估算软件质量的评价值。 验收度量是在软件开发各阶段的检 查点,对软件的要求质量进行确认 性检查的具体评价值。
12
度量有两种。 第一种叫做尺度度量,这是一种定 量度量。它适用于一些能够直接度 量的特性,例如,出错率定义为: 错误数/KLOC/单位时间。 第二种叫做二元度量,这是一种定 性度量。它适用于一些只能间接度 量的特性,例如,可使用性、灵活 性等等。

软件体系结构的质量属性ppt课件

软件体系结构的质量属性ppt课件

2 概念与方法
基于ISO9126-1建立体系结构质量模型 模型结构和ATAM类似,基于ISO9126-1构建。
什么是ISO9126-1标准? Software Quality Characteristics 更多资料可参阅: ISO/IEC 9126 in practice: What do we need to know?
软件体系结构的质量属性 2012/9/23
2 概念与方法
关于ISO9126-1质量模型 ISO9126-1广泛用于产品质量评估当中,作为评估质量的 一个State-of-art标准。 ISO9126-1包含六个高度独立的质量特性,质量特性在开 发的各个阶段作为外部确认和内部审查的目标,一旦获 得可测量的实体,就按照图中所示的过程精化。
软件体系结构的质量属性
Quality Characteristics for Software Architecture 魏海芳 2012/9/23
软件体系结构的质量属性 2012/9/23
内容
• 即将探讨的问题 • 概念与方法 • 案例 • 个人体会
软件体系结构的质量属性 2012/9/23
1 即将探讨的问题
2012/9/23
2 概念与方法
ISO9126-1质量模型框架
ISO9126-1质量模型的细化 软件体系结构的质量属性
2012/9/23
2 概念与方法
ISO9126-1质量模型框架应用于体系结构 一个特定的体系结构可以视为一种高级组件,同样由连 接器连接。按照ISO9126-1标准中的划分,组件每个特性 的质量属性都可以被度量。
1. 收集场景 2. 引出需求、约束和环境描述 3. 列出所有的候选体系结构风格/模式 4. 单独考虑每个属性来评估质量属性 5. 针对特定的体系结构风格确定质量属性对各个候选项的敏感性 6. 使用第5步中的鉴定结果

软件质量属性

软件质量属性
14
作业
从表12.1中确定若干可能对大作业案例项目的用户至关重要 的质量属性。为每个属性构想几个问题,这将有助于用户清 楚地表达他们的期望。根据用户的回答,为每一个重要属性 写出一两个具体的目标。
用Planguage自己编写一条质量属性需求。
15
12.6 实现非功能性需求
质量属性类型
完整性、互操作性、健壮性、易用 性、安全防护性
可能的 技术信 息类别
功能性 需求
可用性、有效性、灵活性、性、易用性
设计限 制
灵活性、可维护性、可移植性、可 靠性、可重用性、可测试性、易用 性
可移植性
设计原 则
实现限 制
虽然质量属性是非功能性 需求,但它们能够导致衍 生的功能性需求、设计原 则或其他类型的技术信息, 这些信息将产生期望的质 量特性。
为了达到产品特性的最佳平衡,我们必须在需求获取阶段识 别、指定相关的质量属性,并且为之确定优先级。如: 如果软件必须在多个平台上运行(可移植性),那么就不要 期望系统最大程度地满足易用性。 对于高度安全的系统,很难完全测试其完整性需求。可重 用的类组件或与其他应用程序的互操作可能会破坏其安全 机制。 高度健壮的代码将缺乏有效性,因为它要进行数据确认和 错误检查。 13
性能需求的Planguage版本:
AMBITION(目标) SCALE(度量单位) METER(计量) MUST(最低标准) PLAN(一般标准) base user platform DEFINED(定义的基础用户平台)
11
12.5 属性的折中方案
不可避免地要对某些属性 组合进行折中考虑。
3
12.2 定义质量属性
分析人员要求用户代表为每一个属性设一个等级 其范围是从1级(表示不必多加考虑的属性)到5级(表示极 其重要的属性)。

软件质量概念软件质量保证软件可靠软件配置管理课件

软件质量概念软件质量保证软件可靠软件配置管理课件

符合需求
软件产品应满足用户明确和隐 含的需求,实现预期的功能和 性能。
易用性
软件产品应易于理解、学习和 使用,提供友好的用户界面和 文档。
可维护性
软件产品应易于修改、扩展和 适应环境变化,降低维护成本。
软件质量属性
功能性
软件产品提供的功能 和服务应满足用户需 求,包括正确性、完 整性、安全性等。
可靠性
CMMI质量标准
包括功能性、可靠性、易用性、效率、可 维护性和可移植性等六个质量特性,每个 特性下包含若干子特性。
关注软件开发过程的成熟度,通过持续改 进和标准化流程来提高软件质量。
IEEE质量标准
敏捷开发质量标准
涉及软件需求、设计、编码、测试和维护 等各个阶段的质量标准,强调全生命周期 的质量管理。
第三章
软件质量保证。系统阐述质量保证原则、方法、 技术和工具,包括测试、评审、审计等。
第四章
软件可靠性。深入讲解可靠性概念、模型、度量方 法及其在软件开发中的应用。
第五章
软件配置管理。全面概述配置管理原理、流程、 技术和工具,包括版本控制、变更管理等。
第六章
总结与展望。对全文进行总结,并指出未来研究方向和 应用前景。
课件学习建议与要求
学习建议
建议学员在课前预习相关知识点,课后及时复习巩固,并结合实际项目经验加深对理论知识的理解。同时,鼓励 学员积极参与课堂讨论和案例分析,提高学习效果。
学习要求
要求学员掌握软件质量的基本概念、评价标准和方法,熟悉质量保证和可靠性的原理和技术,了解配置管理的基 本流程和工具。同时,要求学员具备一定的编程基础和项目管理经验,以便更好地理解和应用所学知识。
持续集成工具
如Jenkins、Travis CI等, 用于实现持续集成和持 续交付流程中的自动化 构建、测试和部署。

软件体系结构6、软件质量属性2

软件体系结构6、软件质量属性2

一个可用性场景样例
External
Unanticipated Normal Message Operame Operator Continue to Operate
可用性战术
可用性战术将会阻止错误发展成为故障
至少能够把错误的影响限制在一定范围内, 从而使修复成为可能
Normal, Record, Repair Time, Degraded Notify, Availability, Operation, Disable, Available/ Continue, Degraded (Normal/ Time Interval Degraded), Be Unavailable
Shadow操作
状态再同步
检查点/回滚
错误恢复战术: Voting
表决:运行在冗余处理器上的每个进程都具有相等的输入, 它们计算发送给表决者的一个简单的输出值。如果表决者检 测到某个单处理器的异常行为,就中止这一行为。
错误恢复战术: Voting(2)
主要用于纠正算法错误和处理器的故障
错误恢复战术: 备件Spare
是配置好以用于替代许多不同的故障组件的备用 计算平台。
出现故障时,必须将其重启为适当的软件配置, 并对其状态进行初始化 需要定期设置持久设备的系统状态的检查点,并 记录持久设备的所有状态变化,以使得备用件在需 要时能够设置为适当的状态 宕机时间常为分钟级 有的时候,新的组件在同一计算平台启动
备份服务器对主服务器进行监控: 如果它在一段时间内未从主服务器 收到任何更新,就开始调用主服务 器提供的Ping方法。
错误检测战术: Exception
当一个错误被发现时,抛出一个异常 异常处理程序通常在引入该异常的相同 进程中执行。

《软件质量属性》PPT课件

《软件质量属性》PPT课件

精选课件
5
构架和质量属性之间的关系
构架不能独自实现质量属性
构架为质量属性的实现打下了基础,但不关注实现细节的话, 这个基础就失去了意义。
复杂系统中,不能孤立地实现质量属性
例如,为了可靠性,增加冗余处理器和进程,保证不会因单 点故障使系统崩溃。但这样对安全性不利,系统会有更多的 地方可能会遭到入侵
其他如商业属性(上市时间)、概念属性等,在本课 程中不讨论精选课件 Nhomakorabea14
可用性Availability
Availability refers to the ability of a system to mask or repair faults such that the cumulative service outage period does not exceed a required value over a specified time interval
精选课件
16
Hazard analysis:is a technique that attempts to catalog the
hazards that can occur during the operation of a system.
Catastrophic灾难性
This kind of failure may cause a crash. This failure represents the loss of critical function required to safely fly and land aircraft.
质量属性 Quality Attribute
精选课件
1
主要内容
一、质量属性场景 二、理解质量属性 三、实现质量属性的战术 四、设计架构

05 第5章 软件质量属性-(1)PPT课件

05 第5章 软件质量属性-(1)PPT课件
15
质量目标与商业目标
商业目标决定质量目标
✓ 企业的根本目标是为了获取尽可能多的利润,而不是生产完美无缺 的产品。如果企业销售出去的软件的质量比较差,轻则挨骂,重则 被退货甚至被索赔,因此为了提高用户对产品的满意度,企业必须 提高产品的质量。但是企业不可能为了追求完美的质量而不惜一切 代价,当企业为提高质量所付出的代价超过销售收益时,这个产品 已经没有商业价值了,还不如不开发。
✓ 软件质量是许多质量属性的综合体现,各种质量属性反映了 软件质量的方方面面。人们通过改善软件的各种质量属性, 从而提高软件的整体质量。
9
质量目标与商业目标
具有质量的软件是那些与它们的最初目的相 一致的软件。
高质量的软件符合商业目标和用户需求。 它具有正确的功能和优良的属性。
$oftwar
10
Extensibility Security 21
Maintainability
质量目标与商业目标
质量属性场景
✓ 质量属性场景由以下六部分组成:
刺激源(Stimulus Source):某个生成该刺激的实体。 刺激(Stimulus):刺激达到系统时需要考虑的条件。 环境(Environment):该刺激在某些条件下发生。 制品(Artifact):被刺激的对象,可以是系统或系统的一部分。 响应(Response):在刺激达到后采取的行动。 响应度量(Response Measure):以某种方式对其进行度量,对
需求进行测试。
22
质量目标与商业目标
质量属性场景
23
质量目标与商业目标
质量属性场景
24
质量目标与商业目标
质量属性场景样例
✓ 可修改性场景:
刺激源:开发人员 刺激:希望改变用户界面 环境:设计时 制品:代码 响应:修改不产生副作用 响应度量:在3小时内

12软件的质量属性

12软件的质量属性
1) 通过定义不悦人意行为(一种反向需求),你可以 设计出强制系统表现出那些行为的测试用例。 2) 如果你不能强制系统,那么你可能达到了你的属 性目标。
这种方法最适用于要求安全性能很高的应用 程序。
SQE-GYG
12/18
第 12 章 软件的质量属性
12.3 属性的取舍
P159
对一些特定的属性对进行取舍是 不可避免地也是必要的。 用户和开发者必须确定哪些属性 比其它属性更为重要,并定出优先 级。
SQE-GYG
5/18
在不成功的项目中,80%是由于质量问题。
第 12 章 软件的质量属性
12.0 质量的定义与意义
P149
软件质量的意义
除功能需求外,软件质量属性的特性,称为系统的 非功能需求。 这些特性包括:系统的易用性、执行速度、可靠性, 处理异常情况的能力与方式等。 在决定系统的成功或失败的因素中,满足非功能需求 往往比满足功能需求更为重要。 如果你在需求的获取阶段不去探索客户对质量的期 望,结果可能是客户失望和开发者沮丧。
对一些特定的属性对进行取舍是不可避免地也是必 要的。
SQE-GYG
17/18
第 12 章 软件的质量属性
体会
必须让参加项目的每个人从进入需求这一刻 就牢牢记住:
软件质量从需求开始。 质量是软件企业的生命线! 21世纪再不重视软件质量的企业恐 怕连生存的机会都没有。
谢谢大家
SQE-GYG
18/18
在软件中,其自身不能实现质量特性的合理平衡。 在需求获取的过程中,加入对质量属性期望的讨论, 并把你所了解的写入软件需求规格说明中。这样, 才有可能提供满意的产品。
SQE-GYG
16/18
第 12 章 软件的质量属性
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12
一、质量属性场景
《软件质量属性》
13
我们通常考虑如下质量属性
系统质量属性
可用性Availability 可修改性 性能 安全性 可测试性 易用性
其他如商业属性(上市时间)、概念属性等,在本课 程中不讨论
《软件质量属性》
14Βιβλιοθήκη 可用性Availability
Availability refers to the ability of a system to mask or repair faults such that the cumulative service outage period does not exceed a required value over a specified time interval
质量属性 Quality Attribute
《软件质量属性》
1
主要内容
一、质量属性场景 二、理解质量属性 三、实现质量属性的战术 四、设计架构
《软件质量属性》
2
质量属性的定义
A quality attribute (QA) is a measurable or testable property of a system that is used to indicate how well the system satisfies the needs of its stakeholders.
2. Quality attribute requirements
These requirements are satisfied by the structures and behaviors of the architecture.
3. Constraints:a design decision that’s already
可用性,通常关注如下方面:
系统故障发生的频度、出现故障时会发生什么情况(会出人 命吗)、允许系统非正常运行多久、如何防止故障发生、发 生故障时通知给哪里,等
区分故障failure\错误error\过错、责任fault
故障产生的原因即过错责任
Fault和failure之间的状态,称之为error
《软件质量属性》
5
构架和质量属性之间的关系
构架不能独自实现质量属性
构架为质量属性的实现打下了基础,但不关注实现细节的话, 这个基础就失去了意义。
复杂系统中,不能孤立地实现质量属性
例如,为了可靠性,增加冗余处理器和进程,保证不会因单 点故障使系统崩溃。但这样对安全性不利,系统会有更多的 地方可能会遭到入侵
《软件质量属性》
16
Hazard analysis:is a technique that attempts to catalog the
hazards that can occur during the operation of a system.
Catastrophic灾难性
This kind of failure may cause a crash. This failure represents the loss of critical function required to safely fly and land aircraft.
刺激 刺激源
制品 环境
响应
响应度量
《软件质量属性》
9
质量属性的一般场景
《软件质量属性》
10
可用性场景的一个例子
外部 系统
未曾 预料 的消 息
进程
正常 操作
通知操 作员继 续操作
没有停机
《软件质量属性》
11
可修改性场景的一个例子
希望
改变
开发
用户
人员 界面
代码
修改不
设计时 产生副 作用
3小时内
《软件质量属性》
刺激源stimulus source
核 心
生成刺激的实体(计算机、人-可信或不可信)
响应response
刺激到达后采取的反应
响应度量response measure
对响应效果进行度量
环境:
刺激发生时的各种条件
制品:
可能是系统,或系统的一部分
《软件质量属性》
8
用如下方式描述质量属性场景
系统的功能不能决定系统的架构 质量是系统的属性,而功能是系统的目标
《软件质量属性》
4
构架和质量属性之间的关系
质量属性不完全依赖于设计、实现和部署
易用性涉及构架和非构架两方面的问题
- 系统能否为用户提供取消操作?——这一类属于构架层次的问题 - 什么样的布局最直观?什么样的字体最清晰?——这属于详细设计
质量属性是一个系统的可测量或可测试的属性,它被用来描 述系统满足利益相关者需求的程度
本章任务
怎样描述质量属性
怎样达成质量属性
怎样应用质量属性(在架构决策时)
《软件质量属性》
3
系统的架构、功能和质量属性
软件开发时人们往往关注功能
实情:导致软件系统修改的主因不是功能,而是系统难以维 护、扩展、被黑客破坏等。
《软件质量属性》
15
可用性Availability
通常,将可用性定义为
α=
平均正常工作时间(MTBF)
平均正常工作时间(MTBF)+平均修复时间(MTTR)
不计算正常停机时间
where MTBF refers to the mean time between failures and
MTTR refers to the mean time to repair.
《软件质量属性》
6
质量属性的来源:3类需求
1. Functional requirements
These requirements are satisfied by including an appropriate set of responsibilities within the design.
been made. satisfied by accepting the design decision and
reconciling it with other affected design decisions.
《软件质量属性》
7
描述质量属性需求的6个部分
刺激stimulus
是到达系统的事件event
的部分,不属于构架设计。
可修改性:
- 划分功能的方式——这属于架构层次的问题
- 模块中的编码技巧——非架构层次问题
系统性能:
- 组件间通讯数量、分配给每个组件的功能、资源共享的方式,等, 这些都属于架构层次的问题
- 实现某功能采用的算法、如何编码这些算法,等,都会影响系统
性能,但属于非构架层次的问题。
相关文档
最新文档