5.软件工程化与软件可靠性?
在近可能短的开发周期内向用户提供高可靠软件是软件工程师的艰巨任务。提供有效的软件可靠性评测方法,要求软件的开发从“自编、自导、自演”的初级模式向工程化方向转化。
软件工程是一项新兴的系统工程,软件的工程化提出了一些软件开发的基本原则和要求。其中,为保证大型软件的可靠性,必须遵循的原则包括:?
1)软件的设计(design)、编码(coding)、测试(testing)由不同的人员完成,独立的验证/确认(IV&V)、象硬件那样设计、生产、检验分开;?
2)软件开发和使用过程具有可追溯性,象硬件有设计图纸、生产记录、检验结果那样有各种文档;?
3)像硬件那样尽可能使用标准件(标准子程序/模块)和成熟技术(经过验证的开发过程和算法)。?
软件工程、软件可靠性工程研究与应用的共性技术包括:?
1)软件故障树分析(S-FTA)?
2)软件故障模式和影响分析(S-FMEA)?
3)危险性分析?
4)软件潜在通路分析?
5)安全性分析(Petri Net等)。?
6)软件的避错(fault avoidance)、排错(fault removal)、容错(fault tolerance)、预错(fault forcasting)等。?
软件可靠性的提高依赖于软件工程化的步伐。??
参考文献?
1.Pham,H,Software Reliability and Testing,IEEE Computer Society Press,1996.?
2.Jelinski,Z.,and P.B.Moranda,W.Freiberger ed.,Statistical ComputerPerformance Evaluation,Academic Press,New York,1972.?
3.Schick,G.J.,and R.W.Wolerton,“An Analysis of Competing Software Reliability Models”,IEEE Trans.Software Engineering,Vol.SE-4,No.2,Mar.,1978.
4.Michael R.Lyu,Handbook of Software Reliability Engineering,Computing Mc GrawHill,New York,1996.?
5.何国伟主编 软件可靠性,国防工业出版社,1998。?
6.IEEE Std 6 10.12-1990,Glossary of Software Engineering Terminology.
7.Shooman,M.L,"Structure Models for Software Reliability Prediction”Proc,International Conference of Software Engineering.,IEEE Cs Press,Los Alamitos,Califolia.,1984.?
8.Yamada,S "S-shaped Software Reliability Growth Models and Their Applications”,IEEETrans.Reliability,Vol.R-33,No.4,Oct.1984.?
9.Musa.J.D.A Logarithmic Poisson Execution Time Model For Software Reliability Measurement,Proc.7th International Conf.Software Ing.,1984.
10.Littlewood,B.,“Software Reliability Model for Modular Program Structure”,IEEE Trsans.Reliability,Vol.R-28,No.3,Aug.1979.
原文转自:http://www.ltesting.cn/deltestingde/