文档详情

电大教学03软件设计基础.ppt

发布:2017-06-18约1.21万字共92页下载文档
文本预览下载声明
* 可信属性 可靠性(Reliability):在规定的环境下和规定的时间内,软件无失效运行的概率; 可靠安全性(Safety):软件运行不引起危险、灾难的能力; 保密安全性(Security):软件系统对数据和信息提供保密性、完整性、可用性、真实性保障的能力; 可生存性(Survivability):软件在受到攻击或失效出现时连续提供服务并在规定时间内恢复所有服务的能力; 实时性(Real Time):软件在指定的时间内完成反应或提交输出的能力。 成本-可信曲线 由于需要附加的设计、实现和验证开销,提高可信行性将极大的增加开发成本 指数曲线 (2)容错设计 为了保证高可信系统即使在极端条件下也能按其规格说明执行,对硬件和软件同时采用容错计算非常重要。 硬件容错对所有关键硬件部件进行备份。 为了保护软件免受软件故障的影响,软件逻辑和数据也必须被备份。 软件容错设计是使得软件能发现失效危险并从临失效状态恢复的软件设计技术,有两种主要的软件容错设计方法: 恢复块(Recovery Blocks) N-版本(N-version)编程 1)恢复块技术 检测到错误后将执行软件模块的另一个不同版本。在执行模块的一个版本前,首先要创建检查点,这有助于在该版本执行失败后恢复状态,并为检测到错误后执行下一个版本提供有效的起始点。 2)N- 版本编程 N—版本编程是一种多版本技术,关键模块的不同版本被设计成满足同样的基本需求,每个版本完成同样的任务,但却使用不同的方式。这些版本同时执行,它们的输出结果提交给一个表决系统以决定正确的结果,对输出正确性的判断基于对所有输出的比较,出现不一致的情况时利用多数表决决定最优先的结果。 设计多样性 恢复块技术和N-版本编程都是基于设计多样性 当不同的开发者采用不同方法实现相同的需求时,一个合理的假设是不同版本的软件不大可能包含相同的缺陷,因此,也就不会产生相同的失效。 设计多样性可以通过以下多种方式达到: 使用不同的设计方法来实现需求。 使用不同的程序设计语言来完成实现。 使用不同的开发工具,且在不同的开发环境中完成。 明确要求在实现某些关键过程时使用不同的算法。 (3)软件失效模式和影响分析 软件失效模式和影响分析(Failure Model and Effects Analysis,FMEA)主要是在软件开发阶段的早期(需求阶段和设计阶段),通过识别软件失效模式,研究分析各种失效模式产生的原因及其造成的后果,寻找消除和减少其有害后果的方法,以尽早发现潜在的问题,并采取相应的措施,从而提高软件的可靠性和安全性。 FMEA目的在于分析各种失效模式对系统的影响,从而在软件实现之前为改进设计质量提供依据。 相关概念 软件失效(software failure)。软件失效就是泛指程序在运行中丧失了全部或部分功能、出现偏离预期的正常状态的事件。 软件失效模式(software failure mode)。软件失效模式是指软件失效的不同类型,通常用于描述软件失效发生的方式以及对设备运行可能产生的影响。 软件失效的影响(software failure effect)。软件失效的影响是指软件失效模式对软件系统的运行、功能或状态等造成的后果。 FMEA分析方法 软件系统级FMEA:在软件设计阶段的早期,对软件体系结构进行安全性评估,在此阶段进行体系结构的修改代价较低,分析对象是设计阶段早期的高层次子系统、部件、模块以及它们之间的关系。 软件详细级FMEA:在详细设计完成后进行,验证详细设计是否满足安全性设计要求,分析对象是至少已完成过程设计、由伪代码或其他方式描述的模块。 软件系统级FMEA过程 如何描述和刻画系统级FMEA的分析对象,即如何描述目标软件系统的层次结构以及层次结构中各个模块之间的依赖关系是系统级FMEA分析需要关注和解决的关键问题。只有正确、充分地描述了目标软件系统的逻辑单元、层次结构和各个模块之间的依赖关系,才可能找出每个单元可能存在的、危害整个系统安全运行的失效模式,并根据模块间的依赖关系高效的分析失效的原因、影响和后果,然后在设计时有针对性的采取相应的改进措施,以保证最终系统安全的运行。 (4)软件故障树分析 软件故障树分析(Fault Tree Analysis,FTA)就是在软件系统设计过程中,通过对可能造成系统故障的各种因素(包括硬件、软件、环境、人为因素等)进行分析,画出逻辑框图(即故障树),从而确定系统故障原因的各种可能组合,采取相应的纠正措施,是提高系统可靠性的一种设计分析方法。 将不希望发生的事件(故障)作为顶级事件,然后从该事件向下分解。最主要的用途是把顶级关键事件转换为在子系统或模块级别必须防止的事件,然后利用经验确定有害事件的潜在原因。 故障树的构造过程 故障分析是构造故障
显示全部
相似文档