Using Patterns to Capture Architectural Decisions

  • Authors:
  • Neil B. Harrison;Paris Avgeriou;Uwe Zdun

  • Affiliations:
  • Utah Valley State College;University of Groningen;Vienna University of Technology

  • Venue:
  • IEEE Software
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

All of software design involves developers making decisions and reifying those decisions in code. The decisions made during software architecting are particularly significant, as they have systemwide implications, especially on quality attributes. However, architects often fail to document their decisions well. This leads to architectural erosion: decisions made during later development might conflict with the original architectural decisions and thus cause significant system disruptions. Researchers are investigating various methods and tools to help architects effectively document their decisions. However, such documentation remains difficult, so we often lose knowledge of key architectural decisions. Architecture patterns can be an important way to capture and recover this knowledge. They are easy to use and provide a rich set of information about rationale, consequences, and related decisions. This article is part of a special issue on software patterns.