软件架构非功能需求——可靠性

是什么

可靠性指软件在异常情况下或在被非法、非常规使用时维持自身功能的能力。

可靠性体现在容错和健壮性这两个方面。

  • 容错

容错指软件发生故障时仍保持正常运行的能力。它保证软件能在异常情况下正常运行,并在内部完成故障的修复工作。

修复完成后,软件需要继续或从头开始执行异常位置的操作。比如分布式系统在发生通信异常时会先暂时切断连接,等问题修复完成后再重新连接,恢复软件的运行。

  • 健壮性

健壮性是保护软件不受非正常使用方式或非法输入影响的能力。具备该能力后,不论什么样的使用方式,软件都能准确迁移至系统定义的状态。

健壮性值保证软件能迁移至系统定义的状态,并不要求软件修复或重新执行引发异常的处理。

为什么

软件对可靠性的需求是不尽相同的。

比如大规模系统或关键的业务系统就不允许出现中断服务的情况,就算缩减功能,也要持续提供服务。

而供个人使用的软件就不需要如此强大的持续性了。相较于在危险状态下继续提供服务,这类软件大多选择保存数据重新启动。

因此,在设计软件架构时,我们要先明确软件对可靠性的需求。

怎么做

从容错的观点出发,我们可以让软件架构存在内部冗余(双重冗余等)。也可以采用故障弱化的设计,在软件发生故障时缩减软件提供的功能,只保留关键功能,保证处理继续运行。

从健壮性的观点出发,我们可以采用故障安全的设计,在发生故障时剥离发生故障的部分。也可以采用故障保护的设计,保证软件在用户进行了错误操作的情况下也能安全运行,避免故障发生。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值