Architecture recovery for software evolution

Juan Carlos Dueñas, W. Lopes de Oliveira, Juan A. de la Puente · 2002

The maintenance is a costly activity in the life cycle of software-intensive systems, especially when they must as adapted to evolving requirements, which is more likely as the size of the system grows. Software architecture is a novel approach to the development of such systems, that guides the process focusing the architects' attention on the structure of the system being built, thus allowing a controlled evolution. This approach is applied for large systems or families of products with a long evolution path, and is usually performed once a successful system has been built, so in fact its application requires recovery techniques in order to obtain and incorporate as much information as possible. Furthermore, since these systems tend to be large, automatic aids must be used by engineers in the recovery tasks to do cost effective work. The article describes the experience of architectural recovery of a large telecommunication system, presents the characteristics of the architectural recovery process applied, reviews some of the available recovery techniques and organises their application for software architecture recovery.

Read the paper · More papers on PaperTik