系统可靠性分析与设计相关知识总结

一、软件可靠性定义

        软件可靠性使软件产品在规定的条件下规定的时间区间完成规定的功能的能力。是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力

        规定的条件:直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件(软件运行时的外部输入条件)

        规定的时间区间:软件的实际运行时间区间

        规定功能:为提供给定能力,软件产品所必须具备的功能。

        软件可靠性和硬件可靠性的区别:

                1. 复杂性软件内部逻辑高度复杂,硬件则相对简单。设计错误是导致软件失效的主要

                                   原因。

                2. 物理退化硬件失效主要是因为物理退化,软件不存在物理退化

                3. 唯一性软件是唯一的,软件复制不改变本身,而任何两个硬件是不可能绝对相同。

                4. 版本更新周期软件更新较快,硬件更新较慢

二、关键可靠性的定量描述

        规定时间的三种概念:

                ​​​​​​​1. 自然时间:日历时间;

                2. 运行时间:软件从启动开始,到运行结束的时间段

                3. 执行时间:软件运行过程中,CPU执行程序指令所用时间总和(最准确,效果最好

        失效概率: 

                失效概率可以看作是一个随机函数F(t),有如下特征:

                1. F(0) = 0;程序在运行初始时刻的失效概率为0

                2. F(t)随时间的增加单调递增 

                3. F(+∞) = 1;失效概率随时间增长趋向于1

        可靠度:

                可靠性最为直接的表示方式,可靠度就是软件系统在规定的条件下、规定时间内不发生

        失效的概率。可靠度R(t) = 1 - F(t)

                串联系统可靠度:R = R1 x R2 x .... x Rn

                串联系统是效率:F = F1 + F2 + ... + F3

                并联系统可靠度:1 - (1-R1) x (1-R2) x .... x (1-Rn)

        失效强度:

                单位时间内软件系统出现失效的概率。F(t)的斜率.

        平均失效前时间(MTTF):

                平均失效前时间也被称为平均无故障时间:MTTF = 1/F(t)

       平均故障间隔时间(MTTR):

                失效或维护中所需要的平均时间

        平均故障间隔时间(MTBF):

                系统出现失效到下一次出现失效的平均时间。MTBF = MTTF + MTTR

                系统可靠性=MTTF/(MTTF+MTTR)

        影响软件可靠性的因素 :

                1. 运行环境

                2. 软件规模

                3. 软件内部结构

                4. 软件的开发方法和开发环境

                5. 软件的可靠性投入

三、软件可靠度的建模方法和模型分类

        可靠性模型的组成:

                1. 模型假设:模型是实际情况的简化或规范化

                2. 性能度量:软件可靠性模型的输出量

                3. 参数估计方法:某些可靠性独立无法直接获得,需要间接确定可靠性度量的值

                4. 数据要求:可靠性模型要求一定的输入数据,即可靠性数据

        一个好的可靠性模型应该包含以下特性:

                1. 基于可靠的假设; 2. 简单; 3. 计算一些有用的量;4. 给出未来失效行为的好的映

                射;5. 可广泛应用

        可靠性模型的三个假设:

                1. 代表性假设:软件测试用例的选取代表软件实际的运行剖面

                2. 独立性假设:软件的失效时独立发生的

                3. 相同性假设:所有软件失效的后果相同

        可靠性模型分类:

                ​​​​​​​1. 种子法模型

                        种子法模型利用捕获一再捕获抽样技术估计程序中的错误数,在程序中预先有意播

                种一些设定的错误种子,根据测试出的原始错误数和发现的诱导错误的比例来估算残余

                错误数优点:简单易行缺点:诱导错误的种子与实际的原始错误之间的类比性估量

                困难

                2. 失效率类模型:

                        用来研究程序的失效率

                3. 曲线拟合类模型:

                        用回归分析的方法研究软件复杂性、缺陷型、失效率等,包括参数法和非参数法

                4. 可靠性增长模型:

                        用增长函数来表述软件的改进过程。

                5. 程序结构分析模型:

                        根据程序、子程序及其相互调用关系形成一个可靠性分析网络

                6. 输入域分类模型:

                        从软件输入域中的某些样本的点运行程序,根据这些样本点在实际环境中的使用的

                概率测试运行时的成功/失效率,推断软件的使用可靠性。

                7. 执行路径分析方法模型:

                        先计算程序各逻辑路径的执行概率和程序中错误路径的执行概率,再综合出该软件

                的使用可靠性

                8. 非齐次柏松过程模型

                        以软件测试过程中单位时间的失效从设计为独立柏松随机变量,来预测今后软件在

                某使用时间点的累积失效数

                9. 马尔可夫过程模型

                        完成改错的线性死亡模型

                        不完全改错的线性死亡模型

                        完全改错的非静态线性死亡模型

                10.贝叶斯分析模型

                        利用失效率的实验前分布和当前的测试失效信息,来评估软件的可靠性                

四、软件可靠性设计

        一、恢复快设计

                主块验证失败时,备用块介入执行。设计时应该保证实现主块和备用块之间的独立性

        必须保证验证测试程序的正确性

                

        二、N版本程序设计

                核心是通过设计多个模块或不同版本,对于相同初始条件和相同输入的操作,对结果实

        时多数表决

                需要注意的地方:
                        1. 使软件的需求说明具有完全性和精确性,这是保证软件程序错误不想管的前提。

                        2. 设计过程的不相关性,完全独立

                与传统软件开发相比,N版本程序设计增加了:

                        1. 相异成分规范评审;2. 相异成分确认;3.背对背测试

        三、恢复块设计和N版本设计比较

恢复快设计N版本设计
硬件运行环境单机联机
错误检测方式验证程序测试表决
恢复策略向后恢复向前恢复
实时性

                 向前恢复:使当前的计算继续,把程序恢复成连贯的正确状态,弥补当前状态的不连

                                    贯情况。

                 向后恢复:系统恢复到掐一个正确状态,继续执行。

        四、冗余设计

                如果一个原价出现故障或系统故障,则立即更换冗余的元件或切换到冗余的系统,则该

        硬件系统仍可以维持运行。

                双机容错机制(集群的前生):

                        1. 双机热备:主机出现故障,备用机启动(心跳连接、效率低)

                        2. 双机互备:同时提供不同的服务,发生异常时接管(互为备份)

                        3. 双机双工模式:同时提供相同的服务。

        五、防卫式程序设计

                对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误恢复代码,

        使得错误发生时,程序能撤销错误状态,恢复到一个已知的正确状态中去。是一种代码层面

        的预防机制,如tray- catch语法。

                实现策略:错误检测、破坏估计、错误恢复

五、软件可靠性评价过程

         1. 选择可靠性模型

                模型假设的适用性:模型假设是可靠性模型的基础

                预测能力与质量:指模型根据现在和历史的可靠性数据,预测将来的可靠性和失效概率

                                               的能力,以及预测结果的准确程度。

                模型输出值能够满足可靠性评价需求:1. 当前的可靠度;2. 平均无失效时间;3. 故障密

                                                                              度;4. 期望达到规定可靠性目标的日期;5. 达到规

                                                                              定的可靠性目标的成本要求

                使用模型的简便性:

                       1. 模型需要的数据在软件系统中应该易于收集,投入成本不能超过可靠性计划的预

                       算

                        2. 模型应该简单易懂

                        3. 模型应该便于使用,最好能用工具实现数据的输入

        2. 收集可靠性数据

                可靠性数据主要是指软件失效数据,是软件可靠性评价的基础,主要是在软件测试,实        

        施阶段收集的。可靠性数据收集中存在的问题:

                1. 可靠性数据的规范不统一

                2. 数据收集同坐的连续性不能保证

                3. 缺乏有效的数据收集手段

                4. 数据的完整性不能保证

                5. 数据质量和准确性不能保证

        解决方法有:

                1. 及早确定所采用的可靠性模型,以确定需要收集的可靠性数据,并明确定义可靠性数

                据规范中的一些数据和记录方法

                2. 制订可实施性较强的可靠性数据收集计划,指定专人负责,按照统一的规范收集记录

                可靠性数据

                3. 重视软件测试特别是可靠性测试测试的测试数据的整理和分析

                4. 充分利用数据库来完成可靠性数据的存储和统计分析

        3. 软件可靠性评估和预测

                主要目的:为了评估软件系统的可靠性状况和预测将来一段时间内的可靠性水平

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《航天任务分析和系统设计.pdf》主要介绍了航天任务的分析和系统设计相关知识。航天任务的分析是指通过对任务的需求、目标、限制条件和影响因素等进行综合分析和评估,得出任务的可行性和可行性分析结果。而航天任务的系统设计是指在任务分析的基础上,根据任务的要求和目标,采用系统工程的原则和方法,制定出相应的航天任务系统设计方案。 该文件首先介绍了航天任务分析的基本概念和步骤。航天任务分析的基本概念包括了任务需求分析、任务目标分析、任务限制条件分析和任务影响因素分析等。任务需求分析是指对任务进行详细的分析和研究,确定任务的需求和目标。任务目标分析是指对任务的目标进行分析和评估,确定任务的目标是否符合实际情况。任务限制条件分析是指对任务的限制条件进行分析和评估,确定任务的限制条件是否符合任务的实际需求。任务影响因素分析是指对任务的影响因素进行分析和评估,确定任务的影响因素对任务的影响程度。 该文件还介绍了航天任务的系统设计的基本原则和方法。航天任务的系统设计是指根据任务分析的结果,制定出相应的系统设计方案。系统设计的基本原则包括系统的完整性、灵活性、可靠性、经济性和安全性等。系统设计的基本方法包括需求分析、概念设计、详细设计和评估等。 总体而言,《航天任务分析和系统设计.pdf》从航天任务分析和系统设计的角度对航天任务进行了详细介绍和分析,对航天任务的实施具有重要意义。通过阅读和学习该文件,可以更好地理解航天任务分析和系统设计相关知识,提高航天任务的执行水平和效果。 ### 回答2: 《航天任务分析和系统设计.pdf》是一份关于航天任务分析和系统设计的文件。航天任务分析是指对航天任务的目标、需求、限制、影响因素以及任务执行步骤进行全面分析的过程。而系统设计则是指根据分析结果,对航天任务所需系统的组织结构、功能模块、数据流动、性能要求等进行详细规划的过程。 该文件主要内容包括以下几个方面: 1.航天任务概述:对航天任务的目标、背景、意义进行介绍,明确任务的重要性和价值。 2.任务需求分析:对航天任务的各项需求进行深入分析,包括任务执行环境、任务目标、任务执行时间、任务执行资源等。 3.任务限制和影响因素分析:对航天任务执行过程中可能存在的限制和影响因素进行识别和分析,包括经济、技术、法律等方面的限制。 4.任务执行步骤分析:对航天任务执行的关键步骤和流程进行详细分析,包括任务准备、任务执行、任务监控等。 5.系统设计:基于任务分析的结果,对航天任务所需的系统进行设计,包括系统的组织结构、功能模块、数据流动、性能要求等。 6.系统评估:对设计的系统进行全面评估,包括技术可行性、资源可行性、实施可行性等方面的评估。 7.总结和展望:对航天任务分析和系统设计的结果进行总结,并展望未来的发展方向和可能存在的挑战。 通过对《航天任务分析和系统设计.pdf》的研读和理解,可以获得全面的航天任务分析和系统设计知识,对于航天任务的规划和执行具有指导作用。 ### 回答3: 《航天任务分析和系统设计.pdf》是一份关于航天任务分析和系统设计的文件。航天任务分析是指对航天任务进行全面而系统的分析研究,旨在确定任务目标、分析任务需求,并制定相应的任务规划和任务方案。而航天系统设计则是根据航天任务的特点和要求,设计出相应的航天系统。 文件中,首先介绍了航天任务分析的意义和目的。航天任务分析是为了保证航天任务的安全和顺利进行,需要对任务的各个方面进行全面而细致的分析和研究,以确保任务目标的实现。在任务分析过程中,需要对任务的需求、技术、资源、风险等方面进行综合考虑,制定出科学合理的任务规划和任务方案。 接着,文件详细阐述了航天系统设计的重要性和内容。航天系统设计是为了满足航天任务的需求,设计出具有可行性和可靠性的系统。航天系统设计包括对系统的功能需求、性能指标、技术指标、结构布置、器件选型等方面进行设计和优化。同时,还需要考虑系统的可靠性、安全性、可维护性等因素,确保系统能够在极端环境下正常运行。 最后,文件中还对航天任务分析和系统设计的流程和方法进行了介绍。通过对任务需求和系统要求的分析,确定任务目标和系统设计目标;通过对技术可行性和资源评估,确定任务方案和系统方案;通过模型仿真和实验验证,对系统进行性能和可靠性分析,优化系统设计;最终形成完整的航天任务分析和系统设计报告。 综上所述,《航天任务分析和系统设计.pdf》是一份介绍航天任务分析和系统设计的文件,它详细介绍了任务分析的意义和目的,系统设计的重要性和内容,以及任务分析和系统设计的流程和方法。这份文件对于航天任务的顺利进行和系统设计的科学合理具有重要的参考价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andrew-ZhangJinyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值