处，选择要保留的内容，并且避免可能出现的冲突。双向工程支援迭代式的开发流程。在模型和工件同步后，可以选择继续修改程式，或是修改模型。可以进行任意次数、任意方向的同步。
双向工程的例子.最常见的双向工程例子可能是在UML（统一建模语言）模型以及其对应程式码之间的同步。许多商用软体以及研究用的原型工具支援这类的双向工程，例如、、ESS-Model、及Fujaba等，Fujaba软体的文件中有提到软体可以识别设计模式。一般而言，针对UML的类别图，可以支援一定程度的双向工程，不过像是