软件体系结构课件质量属性
软件体系结构5_软件体系结构的质量属性
软件体系结构5_软件体系结构的质量属性
1. 性能(Performance):性能是衡量软件体系结构完成特定任务所需的时间和资源的能力。
在性能方面,主要关注的指标包括响应时间、吞吐量和资源利用率。
一个好的体系结构应能够支持大规模并发用户使用,而不会因为系统负载增加而导致性能下降。
2. 可用性(Availability):可用性是指软件体系结构在特定时间内处于可操作状态的能力。
可用性主要与系统的可靠性、容错性和可恢复性相关。
一个可靠的软件体系结构应能够及时响应用户需求,并尽量减少停机时间和故障恢复时间,提供稳定、可靠的服务。
3. 可靠性(Reliability):可靠性是指软件体系结构在给定的时间内正确执行其功能的能力。
可靠性与系统的错误率和故障率相关。
一个可靠的软件体系结构应能够预防和容忍异常情况,以确保正确的运行,保证数据的完整性和准确性。
4. 安全性(Security):安全性是指软件体系结构在防止未经授权的访问和保护用户数据等方面的能力。
软件体系结构应能够识别和阻止潜在的安全威胁,如恶意攻击、非法访问和数据泄露等。
安全性要求通常包括认证、授权、加密和审计等功能。
5. 可扩展性(Scalability):可扩展性是指软件体系结构能够在不同规模和负载下进行水平或垂直扩展的能力。
一个可扩展的软件体系结构应能够动态调整资源,并能够在需要时自动增加或减少处理能力,以适应不断变化的用户需求。
总之,软件体系结构的质量属性是衡量软件体系结构能力和性能的关键指标。
在设计软件体系结构时,需要充分考虑这些质量属性,以确保软件能够满足用户的需求,并具有高性能、可靠性、安全性和可扩展性。
软件体系结构课件_(第八课)质量属性
心跳 异常
可以用层级形式组织 在不同进程 中操作 和命令/响应战术的区别是?
在一个进程中操作
什么是异常?
异常是对程序接口隐含假设的一种违反
例如:
Public
class void Transfer (Account from, Account to, Decimal amount)
质量属性
Review(复习)
几种常见的质量属性:
可用性 可修改性 性能 安全性 可测试性 易用性
可用性
和系统故障及其后果有关的质量属性 定义:?
平均正常工作时间 (平均正常工作时间 平均修复时间)
理解?
可理解为计算机在任一时刻正常工作的概率。
在何时需要强调可用性?
行初始化。(定期设置持久设备的系统状态 的检查点,并记录持久设备的所有状态变化 能够使备件设置为适当的状态)
备件
一般用于硬件/操作系统的解决方案
定期设置持久设备的系统状态的检查点,并记录持久设备 的所有状态变化能够使备件设置为适当的状态
状态记录
重启 出现故障
重新引入
Shadow操作
以前出现故障的组件可以在短时间
我们认为,解决该问题的关键,就是采用高可用
性的群集解决方案。在一个承担关键业务的计算 中心,采用多台主机共享一套存储设备存储业务 数据,主机之间通过物理连接形成一定的相互联 系,与相应的群集软件配合,可以实现如下功能: 当整套系统中出现任何一个单点故障,都有相应 的冗余部件代替发挥相应的功能,从而保证业务 的正常进行,在此过程中的物理设备和应用软件 的切换都不会被前端用户所察觉。
双机就绪模式
软件质量属性
(1)正确性➢正确性是指软件按照需求正确执行任务的能力。
“正确性”的语义涵盖了“精确性”。
➢正确性无疑是第一重要的软件质量属性。
➢技术评审和测试的第一关都是检查工作成果的正确性。
(2)健壮性➢健壮性是指在异常情况下,软件能够正常运行的能力。
➢正确性描述软件在需求范围之内的行为,而健壮性描述软件在需求范围之外的行为。
➢开发者往往把异常情况错当成正常情况而不作处理,结果降低了健壮性。
➢健壮性有两层含义:一是容错能力,二是恢复能力。
从语义上理解,恢复不及容错那么健壮。
Unix容错能力很强,可惜不好用。
Windows容错能力较差,但是恢复能力很好,而且很好用。
占了90%的操作系统市场。
(3)可靠性➢可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。
➢平时软件运行得好好的,说不准哪一天就不正常了,如(千年等一回的“千年虫”问题)等。
➢软件可靠性分析通常采用统计方法➢时隐时现的错误一般都属于可靠性问题,纠错的代价很高。
例如当维护人员十万火急地赶到现场时,错误消失了;等维护人员回家后,错误又出现了。
…➢软件可靠性问题主要是在编程时候埋下的祸害(很难测试出来),应当提倡规范化程序设计,预防可靠性祸害。
(4)性能➢性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。
既要马儿跑得快,又要马儿吃的少。
➢性能优化的关键工作是找出限制性能的“瓶颈”,不要在无关痛痒的地方瞎忙乎。
➢性能优化就好像从海绵里挤水一样,你不挤,水就不出来,你越挤海绵越干。
(5)易用性➢易用性是指用户使用软件的容易程度➢导致软件易用性差的根本原因:理工科大学教育存在缺陷开发人员犯了“错位”的毛病软件的易用性要让用户来评价。
(6)清晰性➢清晰意味者所有的工作成果易读、易理解,可以提高团队开发效率,降低维护代价。
➢开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。
➢可理解的东西通常是简洁的。
(7)安全性➢这里安全性是指信息安全,英文是Security而不是Safety。
软件体系结构5、软件质量属性1
•在开发过程中,首先也是常常唯一被考虑 的
软件功能性与体系结构
功能性在很大程度上独立于体系结构但需具体统筹考虑 ◦ 如果功能性是系统的唯一需求的话,系统可以通过各种可能的结 构来实现
◦ 如:单一模块实现整个系统
◦ 当某些质量属性很重要时,软件架构设计就需要限制各结构的功 能分配
◦ 如:为支持并发开发
◦ 如果不是这样,功能的选择将会确定安全性、性能、 可用性或易用性的级别
这并不是说任何级别的质量属性都是可以获得 的——》还是与相应的功能有一定关系
◦ 如:处理复杂的图形图像很难有很高的性能
但可以做到的是,对所选择的任何功能,设计 师将确定每个质量属性的相对级别
◦ 不同的架构,不同的设计方案选择,针对同样的功能 可能会得到不同的质量属性级别
需要关注功能性如何与其它质量属性交互,以及它是如何限制其它 质量属性的
质量属性
质量属性Quality Attributes:是软件系统在质 量方面的需求
◦ 性能 ◦ 可修改性 ◦ 可用性 ◦ 可移植性 ◦ 可伸缩性 ◦ 可扩展性 ◦ ……
质量属性在架构商业周期中 的位置
质量属性与功能性
从某种程度上说,功能与质量属性是正交的
商业质量属性
上市时间 成本和收益
所希望的系统生命期的长短
◦ 长:可修◦ 通用市场:可移植性、功能性、易用性 ◦ 大型专用市场:产品线
Ch3-软件质量工程体系课件PPT
根据问题分析和评估结果,制定相应的改进 措施,包括优化流程、调整组织结构、加强 培训等方面。
改进计划
制定详细的改进计划,明确改进的目标、时间表、 责任人等,以确保改进措施的有效实施。
资源保障
为确保改进计划的顺利实施,需要提供必要 的资源保障,如人力、物力、财力等方面的 支持。
持续改进软件质量工程体系
05
软件质量工程体系的最佳实践
敏捷开发中的软件质量保证
01
敏捷开发方法
敏捷开发是一种灵活、快速响应变化的开发方法,强调团队合作、快速
迭代和持续反馈。在敏捷开发中,软件质量保证是至关重要的,以确保
软件满足客户需求和期望。
02
测试驱动开发
测试驱动开发是一种敏捷软件开发技术,它要求在编写任何生产代码之
软件应具备高效的性能,包括 响应时间、处理速度和资源利 用率等。
功能性
软件应满足用户需求,具备正 确的输入、输出、处理逻辑和 数据验证功能。
易用性
软件应易于学习、使用和维护, 提供良好的用户界面和交互体 验。
可维护性
软件应易于修改、调试和扩展, 以提高软件质量和降低维护成 本。
软件质量的重要性
提高用户体验
软件应具备高可靠 性,减少故障和错 误。
可维护性
软件应易于维护、 升级和改进。
选择合适的软件开发生ቤተ መጻሕፍቲ ባይዱ周期模型
瀑布模型
适用于需求稳定、开发周期长的项目。
迭代模型
适用于需求变化频繁、开发周期短的 项目。
敏捷开发模型
适用于需求变化快、产品复杂度高的 项目。
V模型
适用于强调测试和质量保证的项目。
建立软件质量保证团队
使用。
软件体系结构课件_(第九课)质量属性
▪
每天都是美好的一天,新的一天开启 。20.11.1820.11.1809:5209:52:5309:52:53Nov-20
▪
相信命运,让自己成长,慢慢的长大 。2020年11月18日星 期三9时 52分53秒 Wednesday, November 18, 2020
▪
爱情,亲情,友情,让人无法割舍。20.11.182020年 11月18日星期 三9时52分53秒20.11.18
▪
安全放在第一位,防微杜渐。20.11.1820.11.1809:52:5309:52:53November 18, 2020
▪
加强自身建设,增强个人的休养。2020年11月18日 上午9时 52分20.11.1820.11.18
▪
精益求精,追求卓越,因为相信而伟 大。2020年11月18日 星期三 上午9时 52分53秒09:52:5320.11.18
相关技术
▪ 防火墙: “防火墙”是一种形象的说法, 它其实就是一个把互联网与内部网(通常 这局域网或城域网)隔开的屏障。
▪ 它是一种由计算机硬件和软件的组合, 使互 联网与内部网之间建立起一个安全网关 ( scurity gateway), 从而保护内部网免受 非法用户的侵入。
防火墙
作业
▪ 请描述一下常见的错误检测战术(画图描 述)、错误恢复战术。
▪ 容错层次捕获应用程序间的交互的错误并从 中恢复。
容错视图
将视图彼此关联起来
▪ 分析从一个视图到另一个视图的映射,来更 深入地了解系统。
对“抽象通用服务”进行求精的战术: 应用程序的代码模板
总结
▪
生活中的辛苦阻挠不了我对生活的热 爱。20.11.1820.11.18Wednes day, November 18, 2020
软件体系结构评估.ppt
感谢你的欣赏
17
基于度量的评估技术都涉及三个基本活动:首先需要建立质量属 性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么 样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据 映射原则分析推导出系统的某些质量属性。因此,这些评估技术被认 为都采用了基于度量的评估方式。
基于度量的评估方式提供更为客观和量化的质量评估。这一评估方 式需要在软件体系结构的设计基本完成以后才能进行,而且需要评估 人员对待评估的体系结构十分了解,否则不能获取准确的度量。自动 的软件体系结构度量获取工具能在一定程度上简化评估的难度,例如 MAISA可从文本格式的UML图中抽取面向对象体系结构的度量。
(1)ATAM方法步骤简介; (2)获取和分析技术:效用树的生成,基于体系结构方法的获取/分 析,场景的映射等; (3)评估结果:所得出的场景及其优先级,用户理解/评估体系结构 的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的 一组体系结构方法和风格,一组所发现的风险点和无风险点、敏感点 和权衡点。
第8章:软件体系结构评估
☆ 软件体系结构评估概述 ☆ 软件体系结构评估的主要方式
☆ ATAM评估方法
2019-11-6
感谢你的欣赏
1
8.1 体系结构评估概述
◇ 评估所关注的质量属性: 1、 性能
性能是指系统的响应能力,即要经过多长时间才能 对某个事件做出响应,或者在某段事件内系统所能处理 的事件的个数。
2019-11-6
感谢你的欣赏
18
◇ 三种评估方式的比较
2019-11-6
感谢你的欣赏
19
8.3 ATAM评估方法
◇ ATAM评估的步骤
整个ATAM评估过程包括九个步骤,按其编号顺序分 别是描述ATAM方法、描述商业动机、描述体系结构、确 定体系结构方法、生成质量属性效用树、分析体系结构方 法、讨论和分级场景、分析体系结构方法(是第六步的重 复)、描述评估结果。
软件体系结构的质量属性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步中的鉴定结果
软件体系结构之质量属性
Creating the architecture
• Architects primarily work by using previouslytried solutions – Large scale: Patterns and styles – Small scale: Tactics • Styles, patterns, and tactics represent conceptual tools in the architect‘s ―tool bag.‖ • Professional architects always keep their tool bag up to date.
Patterns and styles
• Independent component patterns – Communication-processes – Event systems • Implicit invocation •Virtual machine patterns • Explicit invocation •Interpreters • Data flow patterns •Rule-based systems – Batch sequential •Call-return patterns – Pipe-and-filter •Main program and – Layers subroutine • Data-centered patterns •Object oriented – Blackboard – repository
• A tactic is a design decision that influences the control of a quality attribute response. We call a collection of tactics an architectural strategy.
软件体系结构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
当一个错误被发现时,抛出一个异常 异常处理程序通常在引入该异常的相同 进程中执行。
软件体系结构讲义华中科技大学
1.1.2 其它观点
观点1 软件架构是高层次的设计 观点2 软件架构是软件系统的总体结构 观点3 IEEE的定义:软件架构是一个程序或系统的组件结构、组件之间的相互联系及支配组件设计和进化的指导原则 观点4 Perry和Wo1f提出:软件架构是具有一定形式的结构化元素,包括处理元素、数据元素和连接元素。处理元素负责对数据进行加工,数据元素是被加工的信息,连接元素把架构的不同部分组合连接起来。
1.1.1 软件架构的定义
架构定义可以从下面六个方面来理解: 架构应建立在一定的设计原则之上,否则很容易失败。 系统可能由多个结构组成,其中任何一个结构都不能与构架等同。 每个软件系统都有自己的架构。 软件架构决定了各个组件。 只要某个组件的行为可以从其它组件的角度观察到或区别开,这样的行为就是软件架构的内容。 软件架构是抽象的,它不考虑实现、算法和数据表示的细节,而集中研究“黑盒”组件的行为和交互,是设计第一步。
事物有主要矛盾和次要矛盾之分。 开发系统时,首先要确定其软件构架。借助于构架,设计师可以分析众多风险承担者所提出的各种要求的优先级,并将这些要求转化为系统的各个特性,再针对它们在系统结构上做折衷,从而得到和谐的架构。
开发组织所关心的问题不同于客户,它对软件构架的影响分为3类: · 直接影响 如希望向产品线发展 ·长远影响 如行业布局 ·组织结构的影响 如软件外包 ·开发组织的开发团队的经验对设计师有影响,从而间接影响架构
软件架构的10个质量属性
软件架构的10个质量属性一般地,对于软件系统的需求而言,分为两类:功能性需求和非功能性需求。
软件系统的架构设计既要满足软件的功能性需求,还要满足软件的非功能性需求。
特别地,系统架构对软件非功能性需求的支撑成为架构的质量属性。
本文描述了软件的10个质量属性,但不意味着每个质量属性都会在架构设计中呈现,可以挑选对产品最重要的质量属性,然后进行实现。
1 可伸缩性随着用户或请求数量的增加,系统运行和操作的能力也随之增加。
在云平台上,可伸缩性可以通过机器的水平或垂直缩放或者简单地附加 AutoScalingGroup 来实现。
流量模式:了解系统的交通模式。
尽可能多地产生机器是不划算的,即使它的利用率不高。
•日行模式: 特定地区的交通在早上增加,晚上减少。
•全局/区域模式: 区域大量使用应用程序。
•突发流量: 许多用户都在请求资源,但是只有少数几台机器可以为突发的流量提供服务。
这些可能发生在高峰期或人口密集地区。
自动缩放: 能够迅速产生一些机器,以处理流量的爆发,当需求正在减少时,优雅地收缩。
延迟: 能够尽快为请求提供服务。
这还包括优化算法和在用户位置附近复制系统,以减少请求的往返。
2 可用性它以正常运行时间的百分比来衡量,并定义了系统正常运行和正常工作的时间比例。
可用性受到系统错误、基础设施问题、恶意攻击和系统负载的影响。
部署标记: 部署应用程序组件的多个独立副本,包括数据存储区区域部署: 将后端服务部署到一组地理节点中,每个节点都可以服务任何区域中的任何客户端请求。
3 可扩展性可扩展性度量扩展了系统的能力和实现扩展所需的工作。
扩展可以通过添加新功能或修改现有功能来实现,该原则规定在不损害当前系统功能的情况下进行增强。
模块化/可重用性: 可重用性和可扩展性使得技术可以以更少的开发和维护时间转移到另一个项目,同时增强了可靠性和一致性。
可插拔性: 能够轻松地插入其他组件,比如微内核架构。
4 一致性一致性保证每个读操作返回最近的写操作。
软件架构与质量属性研究
软件架构与质量属性研究软件架构是指在软件系统中,将系统的各个组件和子系统的关系和交互进行规划和组织的过程。
软件架构的设计要考虑多方面因素,包括系统的可维护性、可扩展性、可靠性、可移植性等。
而软件质量属性则是指软件系统的特定特征或属性,可以衡量软件系统在特定方面的优劣。
软件架构与质量属性的研究是非常重要的,因为软件系统的设计和开发过程中,软件架构决定了系统的整体结构和行为,而质量属性则决定了系统的可用性和性能等方面。
因此,研究软件架构与质量属性可以帮助开发人员在设计和开发过程中更好地把握系统的整体结构和特性,从而提高软件系统的质量和性能。
在软件架构研究中,有许多不同的架构模式和方法可以被应用和探索。
例如,面向对象的架构模式将系统分解为对象,通过封装和继承等机制来组织系统组件的关系。
而面向服务的架构模式则将系统分解为服务,并通过服务之间的交互来实现系统的功能。
此外,还有许多其他的架构模式和方法,如分层架构、客户-服务器架构、发布-订阅架构等。
在软件质量属性研究中,常常需要根据具体的软件系统需求和业务需求来确定重要的质量属性,并通过相应的指标和评估方法来衡量和评估系统的质量。
例如,对于一个大型的电商系统,其可靠性和可扩展性是非常重要的质量属性。
可靠性可以通过系统的错误处理和恢复机制等方面来评估,而可扩展性可以通过系统的扩展性和性能瓶颈等方面来评估。
此外,研究软件架构与质量属性还可以帮助开发人员更好地理解系统的需求和功能,从而提高系统的用户体验和满足用户的需求。
例如,在设计一个移动应用程序时,开发人员可以通过研究软件架构和质量属性来确定适合移动设备的架构模式和设计原则,从而提高应用程序的性能和用户体验。
总而言之,软件架构与质量属性的研究对于软件系统的设计和开发非常重要。
通过研究软件架构和质量属性,开发人员可以更好地理解和规划系统的整体结构和特性,从而提高软件系统的质量和性能。
软件架构和质量属性的研究也将继续在未来的软件开发过程中发挥重要的作用,为开发人员提供更多的指导和支持。
软件体系结构课件(第七课)质量属性
If there is a fault, a recovery will be very fast. The controller could send out requests to check if a process is down and expect a receipt to 储和管理海量的数据,并快速定位数据。该系
统能够提供目录服务,合理地管理数据;提供给用户查阅、下载、使用数 据的服务。当用户在系统中查找数据时,希望能够快速定位数据,提供服 务,平均响应时间最长不超过20秒。
保护数据版权,保证数据的安全性。科学数据存在着版权
的问题。在数据使用上,需要版权保护。此外,由于一些数据有其时效性 和保密性,所以在提供服务时需要对数据访问进行相应的安全控制。
可用性定义
是系统正常运行的时间比例。一般将系统可用性定义为:
平均正常工作时间 (平均正常工作时间 平均修复时间) 在计算可用性时,通常不考虑预定的停机时间 可理解为计算机在任一时刻正常工作的概率。
实现可用性的战术
战术:设计决策或策略,实现质量属性所采用的方
法或解决方案。
通过软件的执行才可见的质量因素
非执行可见的质量因素
例子:质量属性的分析
中国地球系统科学数据共享网: 提供科学数据共享服务的软件平台,要为科学数据共享提 供广泛的技术环境支持。
特点:数据来源分散。
科学数据的采集和获取,是从科学工作者的研 究工作中一点一滴地收集起来的。它们掌握在 各个科研院所、科研人员手中。因此,作为科 学数据共享网的主要服务内容——科学数据, 可能是分布在全国各地,甚至还可能来自国外。
质量属性场景(quality attribute scenario)
软件体系架构的质量属性
软件体系架构的质量属性摘要:软件架构(及软件架构设计师)重点关注的是质量属性。
本⽂从常见的六个质量属性,即可⽤性、可修改性、性能、安全性、可测试性、易⽤性写起,使读者对其有初步的认识和了解。
解决了在具体的软件开发环境中的质量属性是什么,怎么⽤,如何⽤好的问题。
只⽤遵循质量属性的原则,才能有好的设计思想,才能开发出好的软件产品。
关键字:质量属性、软件体系架构、架构设计软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。
架构的基本需求主要是在满⾜功能属性的前提下,关注软件质量属性。
软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。
⼀般将质量属性分为3类:系统的质量属性。
可⽤性,可修改性,性能,安全性,可测试性和易⽤性。
受架构影响的商业属性(上市时间)。
与架构本⾝相关的⼀些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。
1. 可⽤性(Availability)可⽤性与系统故障及其相关后果有关。
当系统不再提供其规范中所说明的服务时,就出现了系统故障。
所关注的⽅⾯有:(1)如何检测系统故障(2)系统故障发⽣的频度(3)出现故障时会发⽣什么情况(4)允许系统有多长时间⾮正常运⾏(5)什么时候可以安全地出现故障(6)如何防⽌故障的发⽣以及故障时要求进⾏哪种通知在计算可⽤性时,通常不考虑预定的停机时间(即停⽌服务),因为根据定义是”不需要“系统的。
这就导致会出现这种情况:系统停⽌运⾏,⽤户等待系统提供服务,但因为停机时间是预定的,因此不计⼊故障时间,也就不会影响可⽤性的数值。
可⽤性定义:可⽤性是指系统正常运⾏时间的⽐例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运⾏的速度来衡量的。
可⽤性⼀般场景:所关注的⽅⾯包括系统故障发⽣的频率、出现故障时会发⽣什么情况、允许系统有多长是将⾮正常运⾏、什么时候可以安全地出现故障、如何防⽌故障的发⽣以及发⽣故障时要求进⾏哪种通知。