Changing Software Architecture and Refactoring
Recently a tendency has arisen towards lifecycle growth of successful program projects. As a result, the volume of the ancestral code supported by the community of developers also grows. This fact helps explain the exceptional importance of tasks related to facilitating the development of the existing program code. At the same time, these tasks receive little attention from the scientific community and tool developers. As a result, contemporary methodologies overestimate the significance of the initial stage of a program system’s life cycle and practically neglect its further evolution. Therefore, there is currently an apparent lack of methodologies and efficient tools for supporting work with a corresponding code.
The situation changes when the question of how transformations can be used systemically as a centrally organizing principle in the process of the development and support of the existing software arises. However, the majority of researchers study transformations at a very narrow angle: as transformations at the level of the initial code, refactoring. Meanwhile, there are practically no studies dealing with transformations at a higher level of abstraction, i.e. at the level of software architecture. At the same time, many scenarios of the support and development of the existing code presuppose a change in the architecture of the existing system. Therefore, the development of the methodology and supporting tools aimed at the organization of a foreseeable and manageable process of changing software architecture is very interesting.
See Softage case study on phone number recognizer refactoring here: Phone Number Recognizer refactoring



No Comments »