软件再工程是对成品软件系统进行再次开发.软件维护期的适应性维护、完善性维护和预防性维护都属于再工程范畴。与从无到有的软件开发不同,再工程面对的不是原始需求.而是已经存在的软件系统.是从已经存在的软件起步开发出新软件的过程很多遗产系统正在被逐步地利用起来.但利用遗产系统的同时。会遇到许多困难。最重要的一个问题就是:现有的遗产系统没有好的可演化性.这样就使得我们无法利用简单的方法把遗产系统转化为一个新的系统。在这种情形下.再工程变得越来越重要。通过再工程提供的一整套严格定义的方法和活动,可以有效地使遗产系统得到再利用,提高其可演化性.适应新的软件生存周期模型的需求。