论文部分内容阅读
今天,软件的提交形态已从产品形态向服务形态转换,软件需要根据用户的需求和技术的变化不断改变。这种改变的频率越来越高,推动软件从低级走向高级、从幼稚走向成熟。此时,人们用术语“演化”(evolution)来描述这种不断的改变,可以将演化看成是经常的、持续不断的软件再工程。软件演化已成为软件生存周期中最重要的形态之一;同时,软件过程在提高软件演化的效率和质量方面也发挥着重要的作用。正是如此,软件过程和软件演化的多学科交叉成为软件工程中的一个关键领域。一个良好的软件过程能够有效地促进软件演化的成功实施,反之,将导致软件演化的失败。
软件演化时,应当具有什么样的过程呢?或者说,什么样的软件过程才能有效支持软件的演化呢?软件演化的过程表现出了明显不同于传统软件过程的特征。因此,对支持软件演化的软件过程(简称软件演化过程)研究摆在了我们面前。
本文根据L.Osterweil曾提出的“软件过程也是软件”观点,把具有独立功能的软件过程模型看成是构件,提出了支持软件演化过程的过程模型ESDDM,给出了软件演化过程构件的分类和描述,并建立由这些过程模型构成的过程构件库体系结构,提出了一种新型的基于动态竞争的层次型演化过程构件库,以及基于动态竞争的前后端构件库的调度算法,从而支持适当的演化过程构件进入演化过程构件库,进而支持过程的重用。
本文将模糊数学的解决方法引入到演化过程构件库中,用模糊聚类的方法对构件进行分类。由于构件检索是不确定的,检索结果是一个相似构件集,必须从中确定最合适的那个构件,而影响构件评判的因素有多个,每个因素的重要程度又各不相同,为此,本文提出了相似构件集的模糊综合评判算法对检索结果进行评判。