当前位置 工程之家 软件工程 正文 下一篇:

软件演化的过程

软件演化过程是软件演化和软件过程的统一。按ISO/IEC12207标准,软件过程是指软件生命期中的若干活动的集合。活动又称为工作流程,又可细分为子活动或任务。Lehman认为软件演化过程是一个多层次,多循环,多用户的反馈系统。从软件再工程的角度看,软件演化过程是对软件系统进行不断地再工程的过程,是软件系统在其生命周期中不断完善的系统动力学行为。

软件演化过程并非是顺序进行的,它是根据一定的环境迭代地、多层次地进行的。在软件演化过程中,不同粒度的活动都会发生,因此它必须更具有灵活性。通过观察和分析,软件演化过程模型中存在以下特征。

(1)迭代性

在软件演化过程中,由于软件系统必须不断地进行变更,许多活动要以比传统开发过程更高频率进行重复执行;在整个软件演化过程中存在着大量的呈迭代的活动,许多活动一次又一次地被执行。一次迭代过程类似于传统的瀑布模型,处理相应的活动。每次迭代在其结束时需要进行评估,判断是否提出了新的需求、结果是否达到了预定的要求,然后再进行下一个迭代过程。迭代性是软件演化过程的一个重要特性。

(2)并行性

在软件演化过程中,有许多并行的活动,而且这些活动的并行性比传统软件开发过程中的活动的并行性要高。如软件过程的并行、子过程的并行、阶段并行、软件发布版本之间的并行、软件活动之间的并行等。为了提高软件演化过程的效率,必须对软件演化过程进行并行性处理。

(3)反馈性

尽管促使软件系统进行演化的原因很复杂,但演化的推动力必然是从对需求的不满产生的。用户的需求和软件系统所处的环境是在不断地变化的,所以当环境变化后就必须作出反馈,以便于软件演化过程的执行。反馈是软件系统演化的基础和依据。

(4)多层次性

从不同的角度看,由于粒度的不同,软件演化过程包括不同粒度的过程和活动。为了减少这种复杂性,软件演化过程应被划分为不同的层次,低层模型是对高层模型的细化,而高层模型是对低层模型的抽象。

(5)交错性

软件演化过程中活动的执行并不像瀑布模型一样是顺序进行的,软件演化过程是连续性与间断性的统一,其活动的执行是交错着进行的。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/556.html
返回顶部