You have complete flexibility to change the architecture without actually changing the code, thereby obtaining a detailed understanding of the work necessary to refactor. You can create or delete any of the abstractions, establish or remove dependencies, and specify rules. All changes made to the architecture are automatically remembered in a Worklist. Undo and redo capabilities make it easy to try alternate what-if architectures and to understand the impact of refactoring.
Users can maintain the architecture in Lattix Architect as the system is refactored over time. A powerful project update facility provides the ability to continuously update the model as code changes are made during the refactoring project and to identify any new architectural violations.
Lattix Architect provides a number of algorithms to help in the refactoring process. You will get suggestions on how to reorganize the system to improve modularity. The algorithms determine how to move elements from one part of the hierarchy to another to break cycles, and how to move subsystems so that the coupling and cohesion of subsystems can be improved.
Case Study - L.L. Bean
This paper recounts large retailer L.L. Bean's effort in restructuring its codebase. It describes the adoption of process improvements that support an architecture-based agile approach to development, governance, and maintenance. Read "Achieving Agility through Architecture Visibility".
Webinar - Refactoring Legacy Code to Reduce Technical Debt
This webinar shows you techniques on how to extract the design knowledge that is built into your legacy code.
- Make intelligent choices about when to refactor and when to rebuild
- Identify key components for reuse
- Make your code more modular through dependency management
- Implement architectural rules to prevent code erosion
If you would like to watch this webinar, please click here.