Static Evaluation of Software Architectures

  • Authors:
  • Jens Knodel;Dirk Muthig;Matthias Naab;Mikael Lindvall

  • Affiliations:
  • Software Engineering (IESE), Germany;Software Engineering (IESE), Germany;Software Engineering (IESE), Germany;Fraunhofer USA Center for Experimental Software Engineering Maryland

  • Venue:
  • CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

The software architecture is one of the most crucial artifacts within the lifecycle of a software system. Decisions made at the architectural level directly enable, facilitate, hamper, or interfere with the achievement of business goals, functional and quality requirements. Architecture evaluations play an important role in the development and evolution of software systems since they determine how adequate the architecture is for its intended usage. This paper summarizes our practical experience with using architecture evaluations and gives an overview on when and how static architecture evaluations contribute to architecture development. We identify ten distinct purposes and needs for static architecture evaluations and illustrate them using a set of industrial and academic case studies. In particular, we show how subsequent steps in architecture development are influenced by the results from architecture evaluations.