Legacy Applications and OO Technology
Clients sometimes ask why they should bother to consider object oriented modeling in order to understand legacy applications. “Doesn’t the legacy code already contain all the requirements? Why bother modeling?” The following list suggests reasons for using OO technology that may be applicable, depending on the client situation:
- Means of connecting human understandable concepts to code (concept assignment problem, i.e. associating code with a functional requirement)
- Supplies a different view of an existing system as well as keys to evolving it
- Gathering requirements
- Discovering reuse potential
- Managing complexity in extended applications that mix OO and legacy
- Facilitating communication between company teams developing new technologies and teams working with the old technologies needed to maintain the legacy systems
- Demonstrating understanding of legacy application
- Providing UML and OO training to people working on legacy applications
Given that UML is a standard notation for OO technology, what is its role for legacy applications?
- Use analysis models to provide an overview of an application by making good use of natural language.
- Choose the level of detail for the design model to get closer to the code from the analysis model.
- Partition the application through relevant packages and manage dependencies.
- Understand rapidly the global static structure of an application.















