|
应管理员大哥的要求,开个新帖,简单谈一下软件可靠性(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施行过程中也会面临许多挑战:
--因为软件模型的建立是在产品测试数据采集之后,此时产品设计已经基本成型或完成,所以对于重大的设计变化来说可能为时已晚。
--产品研发中的测试可能无法模拟出产品实际的运行环境,因此数据采集覆盖面是有限的。
--有限的可靠性测试数据可能会导致可靠性评估的不准确。
--软件可靠性预测模型纷繁众多,往往让人不知如何选择。
--软件可靠性预测的验证也不容易。
尽管面对种种挑战与困难,但是软件可靠性的重要毋庸置疑。公司也应给予其应有的重视。如果我们在设计产品时,不时刻铭记植入可靠性的必要,那么我们的竞争者们则会毫不犹豫地那么做。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?-注 册-
×
|