7.5.3 软件再工程
软件再工程通过转换遗留系统使系统更容易理解,从而提高了系统的可维护性。
再工程包括重新构建系统文档、修改和更新系统结构、使用高级编程语言转换源代码和数据重新工程。
与完全替代的软件演化方法相比,软件再工程有两个优点。
(1)低成本。重新设计在很大程度上重用了原始系统的部分,因此比重新开发系统的成本要小得多。(https://www.daowen.com)
(2)低风险。组织选择完全替换它所依赖的遗留系统存在很大的风险。相对而言,再工程的成功率要高得多。
一个典型的软件再工程过程模型如图7.3所示,它定义了五种类型的活动。在某些情况下,这些活动以线性顺序发生,但并不总是这样。在某些情况下,反向工程直接在原始程序下执行,然而有时根本不需要反向工程。

图7.3 典型的软件再工程过程模型