(5) 变换
  
��变换是再工程的核心活动。从7.10可以看到,再工程可在同一类视图或前一类视图上把一个软件视图的信息变换成为另一个视图的信息。例如,再工程变换可以是把源代码(属3类视图)变换成结构化源代码(3类视图)、更新的设计(2类视图)、修正的规格说明(1类视图),或是计算出的静态度量值(A3类视图)。再工程变换通常按某些准则来改进视图中的信息。软件重构则是变换源代码结构(语法和语义)的变换。
��正向工程也是一种变换。它是从较前类的软件视图变换到较后类的软件视图的活动。例如,从数据流图(DFD)生成源程序代码,就是正向工程的活动。
��变换也是逆向工程和设计恢复的基础。逆向工程与再工程十分相似,只是两者的原始视图和目标视图不同,逆向工程的目标视图一般在前一类视图。例如,把源代码变换成程序结构图,既可以看成是再工程,也可以看成是逆向工程。但把源代码变换成重构的源代码则不是逆向工程的工作,而是再工程的任务了。
��