Design Decision Support for Evolvability and Variability.
Matthias Riebisch, Stephan Bode · Softwaretechnik-Trends · 2010
Introduction Business critical software systems have to be maintained for a long time in order to conserve their business value and for the constant provision of business services. However, frequent changes due to enhancements, business process optimization, or technological improvements have to be performed. As a consequence, evolvability and variability of software systems constitute important quality goals for business success. Architectural design or redesign and the proper consideration of quality goals is a complex task. Therefore, there is a need for design decision support for these goals. Recent architectural design methods and approaches, for example QASAR, Siemens’ 4 Views, or Attribute Driven Design (ADD), consider quality goals such as flexibility, or changeability. However, regarding evolvability and variability a general methodical support for architectural design decisions is rare. In our approach we provide guidance and a procedure for architectural decision-making regarding evolvability and variability. We explain how we integrate this in the architectural analysis and synthesis phases. With a goal-oriented procedure we decompose the quality goals related to change and reduce the damage to the architecture, the so-called architectural decay, due to a reduced change impact.