什么是软件再工程
软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。最大限度地重用既存系统的各种资源是再工程的最重要特点之一。从软件重用方法学来说,如何开发可重用软件和如何构造采用可重用软件的系统体系结构是两个最关键问题。不过对再工程来说前者很大一部分内容是对既存系统中非可重用构件的改造。软件工程再工程是以软件工程方法学为指导,对程序全部重新设计、重新编码和测试,为此可以使用case工具(逆向工程和再工程工具)来帮助理解原有的设计。在软件再工程的各个阶段,软件的可重用程度都将决定软件再工程的工作量。
主要活动
在不破坏软件的前提下,将旧版.NET软件迁移到更加灵活、广泛和可维护的架构中;
采用MVC、MVP和MVVM模式重构Web应用程序;
提出正确的问题,以预测可能发生的重构问题;
规划和组织再工程项目,在恰当的时间将合适的技术运用到每一个任务;
采用创新的双重测试使得单元测试更加有效;
应用依赖倒置打破紧耦合,并促进开发和测试;
应用源代码控制、缺陷跟踪和持续集成;
在未接触业务逻辑之前,通过“清理”旧版解决方案进行改善;
建立坚实的开发基础结构以支持再工程项目;
重构服务,涵盖知识库、域模型和命令调度程序的使用等高级技术;
重构控制器/视图或视图模型/视图对。