什么样的可靠性是指在软件异常、不正当、不正规地使用时维持自己功能的能力。
可靠性体现在容错和健壮性两个方面。
容错容错是指在软件发生故障时仍能正常工作的能力。 保证软件在异常状态下正常运行,内部完成故障修复工作。
修复完成后,软件必须继续或从头运行异常位置的操作。 例如,分布式系统在发生通信异常时暂时断开连接,在问题修复完成后重新连接,恢复软件的操作。
健壮性健壮性是保护软件免受非正常使用和非法输入的能力。 有了这个功能,无论使用什么方法,软件都可以准确地转换到系统定义的状态。
鲁棒性值确保软件可以迁移到系统定义的状态,而不是要求修复软件或重新执行导致异常的操作。
为什么对软件可靠性的需求不同?
例如,大系统或重要业务系统不允许中断服务,即使缩小功能也要持续提供服务。
个人使用的软件不需要那么强的持久性。 与在危险的情况下继续提供服务相比,这种软件往往会选择保存并重新启动数据。
因此,在设计软件体系结构时,需要明确软件对可靠性的需求。
从容错能力的角度来看,如何使软件体系结构具有内部冗馀(如双重冗馀)? 如果软件发生故障,也可以采用故障弱化的设计,以缩小软件提供的功能,只保留关键功能,确保处理的继续。
从健壮性的观点出发,可以采用故障时剥离故障部分的故障安全设计。 也可以采用故障安全设计,确保即使用户操作不正确,软件也能安全运行,不会出现故障。