论文部分内容阅读
近几年,基于构件的软件开发方法正逐步成为软件开发的热点和主流方法。但是,一方面,构件的即插即用性质带来了此类软件体系结构的灵活性和易变性,因此,相比较于传统软件质量来说,在开发过程中此类软件的质量更加具有突变性,也更加难以预测;另一方面,此类软件在本质上的增量式、迭代式开发特点,决定了在开发过程中它们的构成成分(即:构件)的选择或然性以及需求和实际构成成分之间绑定的延迟性,加上构件的封装特性所带来的内部细节的不可见性,使得此类软件的质量估计常常在不完全信息的前提下进行。因此,如何确保在COTS(Commercial Off-the-Shelf)构件的基础上构建的软件的质量,如何在软件开发过程中准确地监测和把握软件质量,尤其是可靠性,成为挑战性问题。为解决该问题,研究人员提出了各种基于构架的可靠性分析技术和方法。但这些方法在两个方面仍有不足,一是它们大多基于可用信息的子集进行分析;二是它们大多没有考虑可靠性的环境依赖性质,即同一个构件在不同的环境中可能表现出不同的可靠性。因此,本文以基于构件软件的开发模型为基础,提高可用信息利用的充分性和自然性:同时,借鉴基于软件行为和场景的方法,提高可靠性估计的准确性。在研究中,本文首先通过基于构件软件及其开发过程的原理性分析,提出了刻画软件可靠性规约的基于序列的场景模型,并从软件行为的角度给出了相关算子的定义;然后借助OCL(Object Constraint Language)描述序列之间的关系,给出了模拟软件行为的场景的合成方法,和扩展UML序列图的场景模型构造方法:最后,给出了基于场景的软件可靠性分析方法。在上述研究的基础上,本文在Eclipse环境下设计并实现了基于场景的构件软件可靠性分析工具SoBSRA。该工具支持基于构件软件的可靠性规约描述,支持基于序列的场景模型建模,支持序列和场景的合成,以及支持构件软件的可靠性分析等。论文针对基于构件软件及其开发过程的特点,给出的基于场景的构件软件可靠性分析方法适用于基于构件软件的动态开发过程的各个阶段。其支持工具以UML序列图扩展为基础,与基于构件软件开发过程和通用开发环境Eclipse自然衔接,提高了方法的实用性和易用性。论文工作还可以延伸到基于构件软件的测试和面向服务软件的质量保证。