软件可靠性分析、评估
目的
软件的安全可靠性是衡量软件好坏的一个重要标准,安全性指与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。通常,软件可靠性的度量是对软件系统在规定的环境内,指定输入范围时无故障工作的概率的描述。因此,将软件可靠性定义为“在规定时间内,规定的条件下,软件不引起系统失效的概率”,这个概率是输入和系统利用的函数,也是潜在的软件故障发生的函数。
软件可靠性与硬件可靠性存在很多不同之处,主要的差别有:
(1)软件的寿命与它的失效率无关。如果软件过去可以运行,其他各项保持不变(即硬件、软件或接口无改变),将来也可以运行,软件没有生锈或用坏等硬件的机理耗损。
(2)软件应用的频度不影响软件可靠性。同一个软件可以重复使用,并且如果第一次使用时不失败,以后任何一次同样的使用(硬件、软件或接口无改变,输入范围不变)也不会失败。与之相反,用旧的物理元器件会导致失效。
(3)当用户界面标准更改且硬件被废弃不用时,软件也没用了;
(4)除了记录、保存或转换用的媒体外,软件不像硬件那样可以触摸到。判断硬件产品的典型手段包括观察尺寸、分析组成成分、查看装配质量(形状、装配和涂层),以及分析使用是否符合技术规范。例如,可观察两个齿轮的啮合程度,或晶体管是否达到电路要求的电流量,这些物理概念均不适用于软件。
(5)不能用硬件的方法在使用前判断软件,例如没有等效的进货检查。
(6)软件能被测试前,软件必须和硬件匹配。如果发现失效,问题可能出在硬件、软件或硬件/软件接口的某个未曾预料的交互作用中。
(7)通常硬件可以在或不在一个给定的应用环境中工作,除非全部失效,软件按照其复杂性和功能性有不同的成功等级。
(8)尽管不可执行,技术文件通常被认为是软件的一部分。未能全面地或准确地描述运行过程的技术文件,被认为是像软件崩溃一样重大的失效。当一位用户期望在线帮助而没有得到时(或者因为没有被激活,或者因为提供的文件不完整或不正确) ,软件未满足用户的要求,因此不是非常可靠。相反,在评价硬件可靠性时通常不涉及技术文件。
由于软件可靠性与硬件可靠性的差异,使得软件可靠性的设计、分析、评估存在较大的困难。如何对软件产品进行可靠性分析、可靠性评估,确认软件的可靠性水平,是装备研制单位、企业关注的问题。
由于软件生命周期过程中,在需求分析、设计、代码实现、测试等都产生各种各样的数据,这些数据是否能够用于软件产品的可靠性分析、如何应用,是企业急需解决的问题。
目标
通过规范化梳理软件全生命周期的数据资源,基于软件构件进行软件的可靠性预计、设计分析、验证评估。基于构件的软件可靠性分析、评估手段,在实施过程中,更为可操作,且与软件的功能、性能测试工作紧密结合,最大化缩短软件产品的研发周期。
价值
通过软件可靠性的预计、软件可靠性分析、软件可靠性评估,在软件不同的寿命阶段,量化掌握软件产品的可靠性水平,并根据可靠性水平,有针对性的实施可靠性增长计划,将软件的可靠性问题暴露在设计早期阶段,降低软件的使用风险。
软件可靠性预计、分析评估服务内容
- 开展软件可靠性测试性服务。
- 支持根据Lloyd- Lipow模型、穆沙(Musa)、普特内姆(Rayleigh)模型、Jelinski-Moranda模型、Goel-Okumoto模型、Littlewood-Verrall模型、Nelson模型、Seeding模型米尔模型、罗姆实验室RL-TR-92-52、RL-TR-92-15的预计模型、航空软件可靠性预计模型等进行软件可靠性预计服务。
- 提供基于软件构件的可靠性评估服务,可根据GJB/Z 161《军用软件可靠性评估指南》、IEEE Std 1633-2008、RL-TR-92-52、RL-TR-92-15等标准要求进行可靠性评估。
- 提供复杂关键设备/关键系统的软件可靠性评估,包括指控系统、空管系统、指挥系统等各种关键复杂系统的软件可靠性评估。
- 提供软件可靠性技术培训以及软件可靠性预计与评估工具。
工程案例、效果
某单位的控制系统,包含了各种各样的构件的功能、性能测试数据,如何规划可靠性测试,如何根据这些测试数据,给出量化的软件可靠性评估结果,是该单位急需解决的问题。结合GJB/Z 161标准要求,设计了软件可靠性评估方案,并研发了软件可靠性评估工具,指导用户进行了软件可靠性评估。
如果您有软件可靠性预计、评估及相应软件工具服务需求,请qy球友会客服,我们竭诚为您服务。