@MISC{Massoni_introducingrefactoring, author = {Tiago Massoni}, title = {Introducing Refactoring to Heavyweight Software Methodologies}, year = {} }
Share
OpenURL
Abstract
Refactoring is the process of changing a software system aiming at organizing the design of the source code, making the system easier to change and less error-prone, while preserving observable behavior. This concept has become popular in agile software methodologies, such as Extreme Programming (XP), which maintains source code as the only relevant software artifact. Although refactoring was originally conceived to deal with source code changes, the concept can be extended to include similar transformations on structural models of the system. Such distinction might be useful to heavyweight software methodologies, such as the Rational Unied Process (RUP), in which models are primary forms of representation. In this paper we investigate the impact of refactoring on such software methodologies, primarily addressing consistency between software artifacts after refactoring and alternatives to auto-matization. We also extend the Rational Unied Process (RUP) with specic activities and guidelines for dealing with refactoring. 1