Home

SoftwareArchitektur

Softwarearchitektur beschreibt die grundlegende Organisation eines Softwaresystems auf einer hohen Abstraktionsebene. Sie legt die Subsysteme, deren Komponenten, deren Schnittstellen und die Kommunikations- sowie Laufzeitstrukturen fest. Architektur dient als Rahmen, der spätere Entscheidungen über Technologie, Plattform und Implementierung leitet und die Komplexität auf zentrale Prinzipien reduziert.

Ziele sind Qualitätseigenschaften wie Skalierbarkeit, Wartbarkeit, Zuverlässigkeit, Leistungsfähigkeit, Sicherheit und Portabilität. Gutes Architekturdesign unterstützt Frühphasen-Entscheidungen, erleichtert

Architektur umfasst verschiedene Perspektiven oder Ansichten, zum Beispiel Struktur-, Laufzeit- und Verteilungsansichten. Architekturdokumentation enthält Architekturentscheidungen (ADRs),

Typische Architekturstile oder Muster sind Layered Architecture, Microservices, Serviceorientierte Architektur, Event-getriebene Architekturen, client-server und modulare Monolithen.

Die Architektur ist iterativ und fortlaufend dokumentiert. Architekturen werden durch Reviews, Risikoanalysen, Metriken für Qualität und

Evolution,
ermöglicht
Parallelentwicklung
und
reduziert
Abhängigkeiten
zwischen
Komponenten.
Schnittstellenbeschreibungen,
Integrationsmuster
und
Qualitätsattributen.
Stakeholder
wie
Entwickler,
Betreiber,
Produktmanagement
und
Sicherheitsexperten
beteiligen
sich
an
der
Festlegung
von
Anforderungen
und
Kompromissen.
Die
Wahl
hängt
von
Kontext,
Anforderungen
und
operativen
Constraints
ab,
einschließlich
Teamgröße,
Infrastruktur
und
Sicherheitsanforderungen.
Prototyping
bewertet.
In
Cloud-
und
verteilten
Umgebungen
gewinnen
Aspekte
wie
Observability,
Containerisierung,
Continuous
Delivery
und
Deployment
an
Bedeutung.