Managing Variability in Software Architectures

This paper presents experience with explicitly managing variability within a software architecture. Software architects normally plan for change and put mechanisms in the architecture to support those changes. Understanding the situations where change has been planned for and recording the options possible within particular situations is usually not done explicitly. This becomes important if the architecture is used for many product versions over a long period or in a product line context where the architecture is used to build a variety of different products. That is, it is important to explicitly represent variation and indicate within the architecture locations for which change has been allowed. We will describe how the management of variations in an architecture can be made more explicit and how the use of variation points connected to the choices a customer has when ordering a product can help to navigate to the appropriate places in the architecture.

WHITE PAPER

Authors

Felix Bachmann

Len Bass

This library item is related to the following area(s) of work:

Software Product Lines

Software Engineering Institute
May 2001

For more information

Contact Us

info@sei.cmu.edu

412-268-5800