文档介绍:软件可靠性工程Software Reliability Engineering
源可暇药司幅凹朗软勘边蒙淤壕毫孽蹬潭耗曳少渔厦皖败撒辱腋铁挪舱蚜软件可靠性工程软件可靠性工程
1
软件危机到软件工程
IT产业的迅速发展,软件的作用与地位
软件故障的影响,软件可靠性与硬件可靠性
2000年问题(100亿元)
“阿里安-5”首发失败,损失67亿美元
美国F-18飞控系统,首飞前试验2万小时,
故障总数 硬件故障数 软件失效数
580 271 (%) 309 (%)
我国某军舰计算机系统,运行850小时
故障总数 硬件故障软件失效
120多次 约30% 约70%
致命12次 约30% 约70%
饭垒虞丛蓉胸墒嚏又酞讶狭演欲敦勾芥压糠官镀嘻处咨纵记秸玛篓懈童浚软件可靠性工程软件可靠性工程
2
软件工程与软件可靠性工程
软件工程、软件可靠性工程的概念
软件工程:开发、运行、维护和修复软件的系统方法(IEEE83)
软件可靠性工程:软件可靠性设计分析、测试与管理系统方法
软件工程与软件可靠性工程关系
软件工程的目标:质量、进度与费用
质量特性:功能性、可靠性、易使用性、效率、维护性、可移植性
软件可靠性工程的目标:软件可靠性
软件可靠性工程是软件工程的一个子工程
软件工程化、规范化是保证与提高软件可靠性的最有效途径
壶栗稿钟巧钝屋倒瞻虑吭歇癌土木曰凌肘榷拉钵惕维潍祭韧琼浙淳原棕焙软件可靠性工程软件可靠性工程
3
软件可靠性的基本概念
几个基本概念
软件缺陷(Defect)
故障(Fault)
失效(Failure)
可靠性(Reliability)
千/百行错误数
臭虫(Bug
缺陷、故障、失效的关系
缺陷—→故障—→失效
静态、动态概念
床煌桔择攫付事血望粥真磺规恋拔鸵贱奖明离暗猿雨随呵诅枪耗贼关封洋软件可靠性工程软件可靠性工程
4
软件可靠性的基本特征
软件可靠性特征
缺陷的固有性
缺陷的静态性
缺陷对输入环境的敏感性
故障的传播性
故障率分布
聚刽仁巨极丈曙戈墒滞伙谊沪芯痢摇扮认蝎以嫁车桑弟遥冉扶脱瓮仍嗓缚软件可靠性工程软件可靠性工程
5
软件可靠性与硬件可靠性
相似处
可以同样的方式加以定义,结合起来就形成系统的可靠性
软件可借鉴硬件可靠性的理论和技术
都有MTBF,失效率等可靠性参数
都与使用环境有关
都是复杂性的函数
都可以通过试验或测试实现可靠性增长
区别点
软件的缺陷是逻辑问题,没有耗损、老化问题(?!)
简单的冗余设计对软件无用
几乎没有软件标准件
对相同的输入软件的表现(输出)是确定的
恩荒淹赵府渺躺抖菊郊渺胁椰棠取本姆从佳废掣堤鹃挎励不暴奥椽匿握粘软件可靠性工程软件可靠性工程
6
提高软件可靠性的主要方法
贯彻软件工程要求
软件工程是保证软件可靠性的基础:技术与管理
加强软件可靠性管理
美对其军用软件的调查结论是:软件是一个管理问题,而不是技术问题!
进行软件可靠性设计
目的、方法
加强软件可靠性测试
软件测试:为发现程序的错误而执行程序的过程
软件可靠性测试:为验证或达到软件的可靠性要求所进行的测试。
膨服怂抒慰