需求变化是导致软件演化的根本原因.而问题空间与解空之间存在的缺口是软件难以成功演化的根源。通过系统接口.把变化的需求与支持它的特征迹联系起来.定义了基于需求和特征迹的软件演化。根据需求的不同,把软件演化分为功能演化、非功能演化和环境演化.并对软件演化方法进行了讨论。根据特征迹的私有消息、局部消息和公有消息之间的关系。对演化影响进行了定量分析,得到了可演化软件的一些性质。基于特征迹的软件演化,有利于演化定位、演化管理和演化的验证.
Require variations are the essential cause of Software Evolution (SE),the gap between problem domain and solution domain is the difficult root of SE success.Requires and feature traces supporting requires are associated with system interfaces,SE is defined based on them.SE is classfied into function evolution,non-function evolution and eviroment evolution according to different kinds of requires,and it is discussed how to evolve softwares.According to the dependency relations among private messages,local messages and public messages,the effect of SE is analyzed quantitatively,some characters of evolvable software are gained.SE based on requires and feature traces is propitious to evolution location,evolution management and evolution verification.