Reengineering of old systems to an object-oriented architecture
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Migrating legacy systems: gateways, interfaces & the incremental approach
Migrating legacy systems: gateways, interfaces & the incremental approach
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
A Method for Assessing Legacy Systems for Evolution
CSMR '98 Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering ( CSMR'98)
Reverse engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Legacy information systems and business process change: a patterns perpective
Communications of the AIS
Value-based decision model for renewal processes in software maintenance
Annals of Software Engineering
Legacy Information Systems: Issues and Directions
IEEE Software
Proceedings of the 26th International Conference on Software Engineering
Journal of Parallel and Distributed Computing
A case study in re-engineering to enforce architectural control flow and data sharing
Journal of Systems and Software
A formal mechanism for analysis and re-implementation of legacy programs
SE '08 Proceedings of the IASTED International Conference on Software Engineering
A model-driven process for the modernization of component-based systems
Science of Computer Programming
Hi-index | 0.00 |
The reengineering of legacy systems --- by which we mean those that have value and yet "significantly resist modification and evolution to meet new and constantly changing business requirements" --- is widely recognised as one of the most significant challenges facing software engineers. The problem is widespread, affecting all kinds of organisations; serious, as failure to reengineer can hamper an organisation's attempts to remain competitive; and persistent, as there seems no reason to be confident that today's new systems are not also tomorrow's legacy systems.This paper argues1. that the main problem is not that the necessary expertise does not exist, but rather, that it is hard for software engineers to become expert;2. that the diversity of the problem domain poses problems for conventional methodological approaches;3. that an approach via systems reengineering patterns can help.We support our contention by means of some candidate patterns drawn from our own experience and published work on reengineering. We discuss the scope of the approach, how work in this area can proceed, and in particular how patterns may be identified and confirmed.