Proceedings Eighth Working Conference on Reverse Engineering (2001)
Oct. 2, 2001 to Oct. 5, 2001
Ladan Tahvildari , University of Waterloo
Kostas Kontogiannis , University of Waterloo
John Mylopoulos , University of Toronto
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 "the migrant system must run as fast as the original", or "the new system should be easily 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 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 the 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.
Program understanding, software quality, requirements engineering, software maintenance, design patterns, software re-engineering
J. Mylopoulos, K. Kontogiannis and L. Tahvildari, "Requirements-Driven Software Re-engineering Framework," Proceedings Eighth Working Conference on Reverse Engineering(WCRE), Suttgart, Germany, 2001, pp. 71.