首页 > 知识点讲解
       容错设计技术
知识路径: > 测试技术的分类 > 可靠性测试 > 软件的可靠性设计与管理 > 软件可靠性设计 > 
相关知识点:3个      
        对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统、核反应堆安全控制系统等,可采用容错设计方法。常用的软件容错技术主要有三种方法:恢复块设计、N版本程序设计和冗余设计。
        . 恢复块设计。
        程序的执行过程可以看成是由一系列操作构成的,这些操作又可由更小的操作构成。恢复块设计就是选择一组操作作为容错设计单元,从而把普通的程序块变成恢复块。被选择用来构造恢复块的程序块可以是模块、过程、子程序、程序段等。
        一个恢复块包含有若干个功能相同、设计差异的程序块文本,每一时刻有一个文本处于运行状态。一旦该文本出现故障,则用备份文本加以替换,从而构成“动态冗余”。软件容错的恢复块方法就是使软件包含有一系列恢复块。
        . N版本程序设计。
        N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实行多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。为使此种容错技术具有良好的结果,必须注意以下两个方面:
        ①使软件的需求说明具有完全性和精确性。这是保证软件设计错误不相关的前提。因为软件的需求说明是不同设计组织和人员的惟一共同出发点。
        ②设计全过程的不相关性。它要求各个不同的软件设计人员彼此不交流,程序设计使用不同的算法、不同的编程语言、不同的编译程序、不同的设计工具、不同的实现方法和不同的测试方法。为了彻底保证软件设计的不相关性,甚至提出设计人员应具有不同的受教育背景,来自不同地域、不同的国家。
        . 冗余设计。
        改善软件可靠性的一个重要技术是冗余设计。在硬件系统中,在主运行的系统之外备用额外的元件或系统,如果出现一个元件故障或系统故障,则立即更换冗余的元件或切换到冗余的系统,则该硬件系统仍可以维持运行。在软件系统中,冗余技术的运用有所区别。如果我们采用相同两套软件系统作为互为备份,其意义不大,因为在相同的运行环境中,一套软件出故障的地方,另外一套也一定会出现故障。软件的冗余设计技术实现的原理是在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。
        从表面上看,设计开发完成同样功能但实现方法完全不同的两套软件系统,需要的费用可能接近于单个版本软件开发费用的两倍,但采用冗余技术设计软件所增加的额外费用肯定远低于重新设计一个版本软件的费用。这是因为大多数设计花费,例如文档、测试以及人力都是有可能复用的。冗余设计还有可能导致软件运行时所花费的存储空间、内存消耗以及运行时间有所增加,这就需要在可靠性要求和额外付出代价之间作出折衷。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有