软件可靠性(Software Reliability Engineering)
应管理员大哥的要求,开个新帖,简单谈一下软件可靠性(SoftwareReliabilityEngineering)。软件可靠性的话题实际上很大,水也很深。因本人能力粗浅,以及时间和篇幅有限,我只能浅尝则止,在概念的普及上做些工作。如有不当之处,还请各位同仁予以指正。软件可靠性的定义是:“计算机程序在规定的应用环境和时间下无故障运行的概
率。”(theprobabilityoffailure-freeoperationofacomputerprograminaspecifiedenvironmentforaspecifiedtime)
大家可以到维基百科上查到相关资料。
http://en.wikipedia.org/wiki/Software_reliability#Software_reliability
我这里对定义稍作补充:“软件可靠性工程就是针对以软件为基础的系统(产品)以及客户对此系统(产品)的可靠性要求和关注点,所做出的对于产品操作行为和环境的定量分析。”
而一个系统的可靠性是由Mechanical/Electrical/Software三部分组成,相辅相成、缺一不可。
软件可靠性工程(SRE)已经被众多全球知名公司和组织作为技术标准和最佳实践(BestPractice)所运用,例如AT&T,Lucent,IBM,NASA,Microsoft等等。
为什么SRE如此重要呢?简而言之,就是拥有SRE的流程的公司,可以使无论是产品还是自身在全球市场上都更具竞争力。通过使用SRE,可以更好地为客户提供更可靠、更快速、更经济的产品软件方案。
SRE的基本流程如下图所示。主要模块有四个:
--定义可靠性目标和要求
--制定软件运行剖面
--建立可靠性模型
--验证产品可靠性
当然,在SRE施行过程中也会面临许多挑战:
--因为软件模型的建立是在产品测试数据采集之后,此时产品设计已经基本成型或完成,所以对于重大的设计变化来说可能为时已晚。
--产品研发中的测试可能无法模拟出产品实际的运行环境,因此数据采集覆盖面是有限的。
--有限的可靠性测试数据可能会导致可靠性评估的不准确。
--软件可靠性预测模型纷繁众多,往往让人不知如何选择。
--软件可靠性预测的验证也不容易。
尽管面对种种挑战与困难,但是软件可靠性的重要毋庸置疑。公司也应给予其应有的重视。如果我们在设计产品时,不时刻铭记植入可靠性的必要,那么我们的竞争者们则会毫不犹豫地那么做。 回复1#winosor
谢谢winosor的热心,暂时还看不太懂,只是公司有软件部,有客户问到这块工作怎么做.很想了解一下.
另外我看到MIL-HDBK-338的第9章,对软件可靠性也有很多内容,欢迎大家下载后仔细看看,一起讨论.
内容有:软件错误分类/软件可靠性模型/利用软件可靠性模型进行计算的示例/
提高软件可靠性的方法中文版从第424-----460页有介绍.不知道winosor有否详细研究过该手册对软件可靠性的介绍.
相关资料:Mil-Hdbk-338B.pdfMil-Hdbk-338.pdf中文版 回复2#admin
并没有研究过。多谢admin指点,回去好好看看。
公司内部有guideline和培训资料。以后找些案例出来分享。 谢谢分享!!! 软件可靠性
听起来真摸不着边阿 软件的可靠性很少做吧,软件的压力测试属不属于可靠性呢 谢谢分享 软件可靠性不可以量化吧,软件的可靠性是以SIL(safetyintegretylevel)来评价的,SIL分为四级,4级是最高级别,有专门的验证机构(比如德国莱茵公司)作为第三方认证机构来做这些。
软件可靠性基础 谢谢分享!!!
页:
[1]
2