论文部分内容阅读
基于构件的软件系统可靠性的评估是指导软件设计、开发的重要方法,评估结果是衡量软件能否发布投入使用的重要指标。软件可靠性问题曾经导致许多严重事故的发生,因此基于构件的系统可靠性的评估在软件工程中有着非常重要的作用,评估技术越来越受到人们的重视。基于构件的软件系统可靠性的评估涉及到构件在系统中的可靠性的计算、构件可靠性对系统可靠性的敏感性分析、系统可靠性评估模型的建立以及系统可靠性的计算等问题。其中构件在系统中可靠性的计算,以及系统可靠性评估模型的建立是难点。由于人们在进行系统开发时所能获得的信息不同,因此要得到准确的评估结果,就要根据所获得的信息,采用恰当的方法构建可靠性评估模型对系统进行评估。本文综合运用概率论及数理统计、随机过程等理论,分别从构件可靠性评估模型选择方面、构件在系统中的有效行为方面、构件在系统中执行路径中所处的位置方面及构件连接方式方面探讨了基于构件的系统的可靠性的评估方法。主要工作如下:首先,由于基于构件的软件开发中构件的来源和特点可能会不同,在对系统进行可靠性评估时,所有构件采用某一固定模型将不能很好的评估系统的可靠性。为更准确的评估基于构件系统的可靠性,本文将单个构件的可靠性模型与基于构件的可靠性模型相结合,提出一种基于构件系统的可靠性优选评估方法。首先根据各构件的历史数据采用相应的选择算法,选择每个构件最适合的可靠性评估模型,使每个构件可靠性的评估偏差最小;然后再根据组成系统的构件之间的关系和构件的使用情况,对整个系统进行可靠性综合评估。该方法考虑了构件的历史数据以及各构件的使用情况,并针对每个构件选用了恰当的评估模型,因而比采用单一模型对可靠性进行评估更加准确。其次,针对目前基于构件的系统的可靠性评估方法没有充分考虑构件有效行为导致评估结果不准确的问题,进行了构件有效行为、构件有效可靠性确定方法及系统可靠性评估方法的研究。提出一种考虑了构件有效可靠性的评估方法。首先通过系统分析及设计模型抽取出场景规约中所描述的构件的有效行为;然后确定构件外部行为可靠性的评估方法,包括使用元数据获取可靠性方法、近似估算法及仿真测法;在此基础上讨论了三种构件有效可靠性的评估方法,包括近似计算法、直接计算法和动态获取法;最后采用Markov理论对系统进行可靠性建模,然后对整个系统进行可靠性评估。实验结果表明基于构件有效行为的系统可靠性评估方法能有效的提高评估的准确性。再次,基于构件的系统可靠性评估模型通常假定构件的可靠性为已知的值,并且未考虑同一构件在执行路径上不同位置的差别,以及同一构件的可靠性随时间增长的变化,因而评估结果与实际值偏差较大。本章针对这一问题,提出了一种基于构件执行路径的系统可靠性评估方法。首先给出了构件运行路径的使用概率的计算方法;然后讨论了根据系统运行时间及构件在执行路径上的位置确定构件的实际执行时间的方法,以及使用构件实际运行时间计算构件在不同执行路径上的实际可靠性的方法;给出了执行路径的可靠性和系统可靠性的计算方法,并讨论了可靠性的敏感性分析方法。实例验证结果表明该方法可以更合理地预测系统任意时间点的可靠性,并且不同时间点构件可靠性的变化对系统可靠性的影响是不同的。最后,针对现有基于构件系统可靠性模型未充分考虑组装代码可靠性的问题,提出了一种基于构件连接方式的系统可靠性评估方法。首先分析了构件的各种组装结构;然后根据各种组装结构分别讨论了对象连接式、接口连接式及插头插座式连接结构中组装代码的存在形式,组装代码可靠性的评估方法以及系统可靠性的评估方法;在上述研究成果的基础上讨论了混合结构可靠性的评估方法。最后通过实例验证了本文所提方法的有效性。考虑组装代码可靠性后的可靠性评估方法更符合实际情况,因而更具有实用性。综上所述,本文针对基于构件的系统的特点展开可靠性评估技术的研究。讨论了如何避免构件可靠性模型导致的评估误差,讨论了使用构件有效可靠性评估系统可靠性的方法,以及通过准确计算构件运行时间提高可靠性评估准确性的方法,最后还讨论了将组装代码考虑进来的评估方法,这样可以进一步提高系统可靠性评估的准确性。