Software Reengineering Patterns
暂无分享,去创建一个
The problem of reengineering of legacy systems, in the widest sense, is widely recognised as one of the most signiicant challenges facing software engineers. So-called legacy systems are normally, but not necessarily, large systems built in an era before encapsulation and com-ponentisation were regarded as fundamental tenets of design. Through a gradual process of accretion and change, they have become devoid of useful structure. This makes them hard, expensive or impossible to modify in order to meet changes in the business processes. Legacy systems , whilst often essential to the running of an organisation, also inhibit change in that organisation. The problems of legacy systems are not limited to any one kind of organisation: large corporations and SMEs both suuer. Moreover, there seems no reason to be conndent that today's new systems are not also tomorrow's legacy systems. The problem of reengineering legacy systems is probably here to stay. In this paper we introduce the idea of software reengineering patterns, which adapt the ideas of design patterns to identify lessons in successful reengineering projects and to make these lessons available to new projects. This is done in the context of component based reengineering, which has been the focus of considerable hope in the reengineering community , but which has delivered limited successes so far. These ideas are developed in terms of some introductory examples taken from real projects.
[1] Ralph Johnson,et al. design patterns elements of reusable object oriented software , 2019 .
[2] Michael Stonebraker,et al. Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach , 1995 .
[3] Linda Northrop,et al. Enterprise Framework for the Disciplined Evolution of Legacy Systems , 1999 .