文档介绍:软件可靠性工程进展
SY1014138 陶小创
1 引言
软件可靠性工程是以保证和提高软件可靠性为目标,采取系统化的技术,通 过工程化方法加以实施并对其过程进行工程化管理的过程技术。软件可靠性工程 是软件工程研究与实践的必然结果,是可映现有模型 在理论和实际应用中的差别,根据不同的对象特征,为用户提供合适的模型。
虽然软件可靠性模型数量庞杂,但不同模型之间依然存在着一定的关联性, 在模型比较的基础上,通过模型合并,可实现模型统一。大多数软件可靠性模型 将故障行为描述为随机过程或Marko v过程,为导出模型的解析表达式,先验分 布主要采用均匀分布、丫分布和0分布三种。从J—M模型、Shooman模型和Musa 模型的表达式、假设条件、使用方法等来看,具有九二k * y的形式,在这种意义 下,它们是等价的。二项式模型与Poission模型可相互转化,从Bayse观点来看, 从二项式模型可推导出指数类Poission形式模型。Bayse模型类中的L一V模型, 当屮(i)=卩时,即是二项式模型中的Pareto类模型。用已有模型预计软件可靠性 往往存在着偏差。当给定或已知参数分布时,极大似然估计是模型参数估计的基 本方法,有利于对预计的改进。最小二乘法能很好地代替极大似然估计,对中小 样本,具有较小的偏差和较快的收敛性。Bayes方法提供了一种将先验知识综合 到估计过程中的方法,为把不同数据源综合起来提供了有效的手段,然而其分析 和计算极为复杂。
3可靠性度量
确定度量体系和度量准则,利用有效的可靠性数据和模型,对软件可靠性进 行度量是获得客观数据,进行可靠性预测,开展可靠性分析,实施可靠性管理的 基础。随着软件工程研究的深入,软件可靠性度量得到了前所未有的重视,取得 了一定成效。但鉴于起步较晚以及软件本身所固有的特性,软件可靠性度量远不 如硬件可靠性度量成熟,也尚未构成体系。基于产品和过程的度量对软件规模、 进度、成本、质量等度量具有显著的作用,但对于可靠性度量却遇到了不小的障 碍,庆幸的是,基于目标驱动的度量为此注入了新的活力。ISO/IEC 9126给出 的39种度量对软件质量特性及子特性测量进行了系统刻画且直接或问接与软件 可靠性度量相关,IEEE Std一982为软件可靠性度量提供指南,是迄今为止软件 可靠性度量最重要的依据o 1Z]。IS09000、CMM、RUP、XP等为了支持产品和过 程度量,采纳了这些规范的度量行为描述,将其作为标准中定义的模型构成部分。 Everett研究了软件生命周期过程中各阶段可靠性度量的作用及工作流程,奠定了 软件可靠性度量的基础。但是,Everett的研究没有能够涉及到软件生命周期过程 中的不同阶段,也没有提出不同软件工作产品的度量体系以及如何实施度量等实 质性问题。主要的可靠性度量元包括失效率、失效强度、残留缺陷、可靠度、平 均无失效时间和可用度等。软件故障和差错定义是软件可靠性度量的基础,可按 技术度量和管理度量将其落实到软件生命周期的每个阶段。但不论哪个阶段,软 件可靠性度量的目的是面向用户和开发人员并以用户和开发人员共同熟悉的形 式对软件可靠性目标和任务加以度量。软件可靠性分析和设计过程中,常常利用 故障模型对不同故障表现进行抽象。故障模型可以在各个级别上建立,建立的级 别越低,故障处理的代价也