【课程背景】
随着计算机技术迅猛发展,软件的销售量和使用量呈几何级数增长,软件的规模也越来越大,复杂性急剧提高。例如,航天飞机的飞行软件达50万行源代码,F-22战斗机更达150多万行源代码,软件失效已成为系统瘫痪的主要原因。根据美国国防部和NASA的统计,当今武器系统和航天项目中的软件可靠性比硬件系统大约低一个数量级。因软件故障而造成的重大事故也不乏其例,如F-18战斗机在海湾战争中,飞行控制软件共发生了500多次故障,爱国者导弹因软件问题误伤了28名美国士兵;阿里安5型火箭的发动机控制系统软件的错误导致飞行试验失败等。软件危机使得软件可靠性研究在国际上十分活跃。 总之,影响软件可靠性的因素很多,但总结起来包括:软件规模、运行剖面、软件内部结构、软件可靠性管理、软件可靠性测试与投入、软件可靠性设计技术、软件开发方法和软件开发环境等。软件的可靠性带来的问题也困扰着很多企业:随着计算机技术迅猛发展,软件的销售量和使用量呈几何级数增长,软件的