Abstract

Software re-engineering projects such as migrating code from one platform to another or restructuring a monolithic system into a modular architecture are popular maintenance tasks. Usually, projects of this type have to conform to hard and soft quality constraints (or non-functional requirements) such as migrant system must run as fast as the original, or new system should be more maintainable than the original. This paper proposes a framework that allows for specific design and quality requirements (performance and maintainability) of the target migrant system to be considered during the re-engineering process. Quality requirements for the migrant system can be encoded using soft-goal interdependency graphs and can be associated with specific software transformations that need to be carried out for achieving the target quality requirement. These transformations can be applied as a series of iterative and incremental steps that pertain both to the design (architecture) and source code (implementation) levels. An evaluation procedure can be used at each transformation step to determine whether specific goals have been achieved.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call