软件再工程是指通过对目标系统的检查和改造,其中包括设计恢复(库存目录分析)、再文档、逆向工程、程序和数据重构以及正向工程等一系列活动,旨在将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式,以开发出质量更高、维护性更好的软件。软件再工程是预防性维护所录用的主要技术,是为了以新形式重构已存在软件系统而实施的检测、分析、受替,以及随后构建新系统的工程活动。这个过程包括其他一些过程,诸如逆向工程、文档重构、结构重建、相关转换以及正向工程等。软件再工程的目的是理解已存在的软件(包括规范、设计、实脱),然后对该软件重新实现以期增强它的功能,提高它的性能,或降低它的实现难度,客观上达到维持软件的现有功能并为今后新功能的加入做好准备的目标。