Softwarearchitektur

Eine Softwarearchitektur beschreibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Softwaresystems.  Die beschriebenen Komponenten bilden eine Zerlegung des Gesamtsystems, d. h., jedes Softwareelement ist einer Architekturkomponente eindeutig zugeordnet. Die Softwarearchitektur ist Teil des Softwareentwurfs, innerhalb dessen sie als Grobgliederung der Komponenten entsteht. Während der Softwareentwurf sich auch auf lokale Aspekte innerhalb des architektonischen Rahmens der Software bezieht und deshalb sehr detailliert sein kann, ist die Softwarearchitektur eine globale Eigenschaft des Gesamtsystems.

Im Rahmen der Softwareentwicklung repräsentiert die Softwarearchitektur die früheste Softwaredesign-Entscheidung (Architekturentwurf). Sie wird wesentlich durch nicht-funktionale Eigenschaften wie Modifizierbarkeit, Wartbarkeit, Sicherheit oder Performance bestimmt. Eine einmal eingerichtete Softwarearchitektur ist später nur mit hohem Aufwand abänderbar. Die Entscheidung über ihr Design ist somit eine der kritischsten und wichtigsten Punkte im Entwicklungsprozess einer Software. Zur grafischen Visualisierung von Softwarearchitekturen werden unterschiedliche Methoden eingesetzt. Beispielsweise:
 

  • Unified Modeling Language (UML)
  • Fundamental Modeling Concepts (FMC)


Mit der Bewertung von Softwarearchitekturen befasst sich die Softwarearchitekturbewertung.

Beispiel
Eine Architekturbeschreibung umfasst etwa im Falle einer Web-Anwendung den Aufbau des Systems aus Datenbanken, Web-/ Application-Servern, E-Mail- und Cachesystemen wobei häufig auch Diagramme (z. B. in der Unified Modeling Language) zum Einsatz kommen.


 

Abteilung: