14、实现软件可靠性:需求、策略与架构模式的交互

实现软件可靠性:需求、策略与架构模式的交互

1. 引言

软件可靠性在 ISO 9126 中被定义为“软件产品在特定条件下使用时,维持指定性能水平的能力”。该标准指出可靠性包含三个关键组成部分:容错性、可恢复性和成熟度(包括可用性)。容错性是指软件产品在出现软件故障或违反指定接口时,维持指定性能水平的能力;可恢复性是指软件产品在发生故障时,重新建立指定性能水平并恢复直接受影响数据的能力;成熟度是指软件产品避免因软件故障而导致失败的能力;可用性是指软件产品在给定时间点,在规定使用条件下,处于能够执行所需功能状态的能力。高度可靠的软件必须具备所有这些特性。

设计和实现高度可靠的软件极具挑战性。为使系统可靠而编写的软件要求极高,它可能会影响系统的大部分部分,并且需要大量的代码。例如,为 5ESS® 交换系统编写的数百万行代码中,超过一半用于错误处理。幸运的是,软件设计师基于丰富的经验,提出了许多提高软件可靠性的措施。这些措施被实现在软件中,旨在使软件能够容忍各种故障,包括但不限于硬件故障、数据错误或代码本身的漏洞。许多这样的措施已被充分理解并记录下来。

为了清晰和简化,我们将所有这些提高软件可靠性的措施都称为策略。Bass 等人确定的策略涵盖了可靠性的各个方面,包括如何检测故障(涉及容错性和成熟度)、如何为从故障中恢复做准备(涉及可用性和可恢复性)、如何在故障发生后进行恢复(涉及可恢复性)以及如何防止故障导致失败(涉及容错性和成熟度)。

然而,即使了解了这些可靠性策略,仍需在正在开发的系统中进行设计和实现。实施的难度部分取决于要实施的策略的性质。有些策略的实施需要在系统架构的几乎每个组件中编写一些代码,而其他策略的实施可能只会产生有限的影响。此外,给定的策略与不同的架

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值