80 likes | 194 Vues
In this lesson, we explore techniques for effectively dealing with legacy non-object-oriented software within modern object-oriented systems. Key objectives include understanding how to reuse and encapsulate non-OO code, recognizing necessary language features, and developing object-oriented encodings of existing systems. Emphasis is placed on maintaining well-defined interfaces, information hiding, and ensuring that non-OO software is completely encapsulated to facilitate integration. By adopting these strategies, developers can maximize maintainability and extensibility while effectively managing dual documentation for OO and non-OO software.
E N D
Lesson 11:Dealing With Legacy Systems Software Engineering II
Lesson Objectives • Understand how to reuse non-OO software • Learn how to encapsulate non-OO code • Recognize required language features • Learn how to develop object-oriented encapsulations of non-OO code • Learn how to manage dual documentation
LANGUAGE INTERFACING RULES • Language interface must maintain OO structure • No data coupling • Well defined interfaces • Information Hiding • Object-Oriented language should be main part of program • Helps keep as many OO features as possible • Maximum benefit of maintainability and extensibility
RULES TO ENCAPSULATE HERITAGE CODE INTO OBJECTS • Look for clean interfaces • If necessary, create “messages” to pass data - no data coupling allowed
REUSING NON-OO SOFTWARE SUMMARY • Non-OO software can be reused within OO systems • Non-OO software must be completely encapsulated • OO notation can be developed for encapsulated heritage software • OO documentation can be developed using the encapsulation