Object-Oriented Reengineering Patterns - An Overview (original) (raw)
Related papers
Reengineering Techniques for Object Oriented Legacy Systems
Today’s software development is defined by continuous evolution of software products. These products are regularly updated during their usage. In most of the cases systems grow inevitably by adding new features or by changing the system architecture due to new technologies or business plans. It is more than a decade; objects oriented paradigm is adopted as the most efficient passage to build flexible software, and promptly supported by industry. Though, the benefits of object oriented paradigm are supported by many, but its usage does not necessarily result in general, adaptable systems. These huge systems are often suffering from improper use of object oriented techniques, like inheritance and the lack of object oriented methods being regulated towards the building of families of systems instead of developing single applications. These growing technologies make the systems more difficult to maintain and improve. So, there is growing demand for reengineering of object-based systems. The main intention of this paper is to discover important research directions in the area of reengineering of object oriented legacy systems, which necessitate further attention in order to build more effective and efficient reengineering technique for these systems. The paper first discusses the state of art in reengineering of legacy system and its need. Paper also discuss the benefits of component based system over object oriented system and later outlines the techniques for reengineering of object oriented legacy system. In this paper we presented statistical analysis based on more than a decade data.
2008
The ability to reengineer object-oriented legacy systems has become a vital matter in today's software industry. Early adopters of the object-oriented programming paradigm are now facing the problem of transforming their object-oriented “legacy” systems into full-fledged frameworks. To address this problem, a series of workshops has been organised to set up a forum for exchanging experiences, discussing solutions, and exploring new ideas.
Workshop on Object-Oriented Reengineering
2008
The ability to reengineer object-oriented legacy systems has become a vital matter in today's software industry. Early adopters of the object-oriented programming paradigm are now facing the problems of transforming their object-oriented “legacy” systems into full-fledged frameworks.
Using restructuring transformations to reengineer object-oriented systems
Submitted to WCRE
Applying object-oriented design methods and languages does not guarantee that the resulting software systems will be flexible and adaptable. The industrial partners in the FA-MOOS project have learned this lesson the hard way: they are now faced with large and rigid software systems that hamper them in meeting a diverse and evolving set of customer requirements. Object-oriented frameworks are touted as a promising solution, but it is unclear how to transform object-oriented legacy systems into frameworks. This paper proposes an approachi.e, a methodology and tools-for re-engineering object-oriented systems towards frameworks by means of high-level and low-level restructuring transformations that detect and resolve architectural and detailed design anomalies, and improve application flexibility and adaptability.
Reengineering legacy software to object-oriented systems
1994
NASA has a legacy of complex software systems that are becoming increasingly expensive to maintain. Reengineering is one approach to modemizing these systems. Object-oriented technology, other modem software engineering principles, and automated tools can be used to reengineer the systems and will help to keep maintenance costs of the modemhi systems down. The Software Technology Branch at the NASA/Johnson Space Center has been developing and testing reengineerhg methods and tools for several years. The Software Technology Branch is currently providing training and consulting support to several large reengineering projects at JSC, including the Reusable Objects Software Environment (ROSE) project, which is reengineering the flight analysis and design system (over 2 million lines of FORTRAN code) into object-oriented C++. Many important lessons have been learned during the past years; one of these is that the design must never be allowed to diverge from the code during maintenance and enhancement. Future work on open, integrated environments to support reengineering is being actively planned.
Report of the Fifth International Workshop on Object-Oriented Reengineering
Abstract. This paper reports on the results of the Fifth International Workshop on Object-Oriented Reengineering in Oslo on June 15, 2004. It enumerates the presentations made, classifies the contributions and lists the main results of the discussions held at the workshop. As such it provides the context for future workshops around this topic.
Reengineering of old systems to an object-oriented architecture
Conference proceedings on Object-oriented programming systems, languages, and applications - OOPSLA '91, 1991
Most of our present-day information systems have been in use for a long time. They have been developed using the system development methods, programming tools, data base handlers, etc. that were available when the development work started. Even if the systems are adapted to changed requirements from the surrounding world, the basic structure and the original technical and methodological ties have been retained. Our goal is to show how an object-oriented development method can be used to gradually modernize an old system, i.e re-engineer the system. We do this by showing how three typical cases of re-engineering are related to object-oriented development. The technique is based on experiences from real projects. The basis of our technology is system development using object-oriented technique. The technology implies that occurrences from the application domain are modelled as objects and associations between objects. The resulting system model will be used as a mapping between the occurrences of the application domain and programming elements in the existing system. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
Fifth International Workshop on Object-Oriented Reengineering
Lecture Notes in Computer Science, 2005
Analyzing historical information can show how a software system evolved into its current state, but it can also show which parts of the system are more evolution prone. Yet, historical analysis implies processing a vast amount of information which makes the interpretation difficult. To address this issue, we introduce the notion of history of source code artifacts as a first class entity and define measurements which summarize the evolution of such entities. We then use these measurements to define polymetric views for visualizing the effect of time on class hierarchies 1. We show the application of our approach on one large open source case study and reveal how we classify the class hierarchies based on their history.