Focus Issue on Legacy Information Systems and Business Process Change: Migrating Large-Scale Legacy Systems to Component-Based and Object Technology: The Evolution of a Pattern Language

The process of developing large-scale business critical software systems must boost the productivity both of the users and the developers of software, while at the same time responding flexibly to changing business requirements in the face of sharpening competition. Historically, these two forces were viewed as mutually hostile. Component-based software development using object technology promises a way of mediating the apparent contradiction. This paper presents a successful new approach that focuses primarily on the architecture of the software system to migrate an existing system to a new form. Best practice is captured by software patterns that address not only the design, but also the process and organizational issues. The approach was developed through four completed, successful live projects in different business and technical areas. It resulted in a still-evolving pattern language called ADAPTOR (Architecture-Driven and Pattern-based Techniques for Object Reengineering). This article outlines the approach that underlies ADAPTOR. It challenges popular notions of legacy systems by emphasizing business requirements. Architectural approaches to migration are then contrasted with traditional reverse engineering approaches, including the weakness of reverse engineering in the face of paradigm shifts. The evolution of the ADAPTOR pattern language is

[1]  Ian M. Graham,et al.  Migrating to object technology , 1994 .

[2]  John Daniels,et al.  Designing object systems: object-oriented modelling with Syntropy , 1995 .

[3]  D. R. Howe Data Analysis for Data Base Design , 1990 .

[4]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[5]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[6]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[7]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[8]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[9]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[10]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[11]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[12]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[13]  A. O'Callaghan ADAPTOR: a pattern language for the re-engineering of systems to object technology , 1998 .

[14]  David E. Delano Patterns mining , 1998 .

[15]  I R Graham Requirements engineering and rapid development: an object-oriented approach , 1998 .

[16]  James Martin,et al.  Object-oriented methods (UML ed., 2nd ed.): a foundation , 1997 .

[17]  Douglas C. Schmidt,et al.  Software patterns , 1996, CACM.

[18]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[19]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[20]  Linda Rising Patterns Handbook: Best Practices , 1997 .

[21]  Richard P. Gabriel,et al.  Patterns of Software: Tales from the Software Community , 1996 .

[22]  W. H. Tsang,et al.  Experience Report: SSADM-Designed System to Object-Oriented System , 1998, J. Object Oriented Program..

[23]  Kevin Lano,et al.  Object-oriented specification case studies , 1994 .

[24]  R. O'Neill A Hierarchical Concept of Ecosystems. , 1986 .

[25]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.