Softwarearchitektur ist der grundlegende Aufbau einer Software. Sie legt fest, aus welchen Teilen eine Anwendung besteht, welche Aufgabe jeder Teil hat und wie die Teile miteinander sprechen.
- Softwarearchitektur
Die Struktur einer Software aus Bausteinen, ihren Verantwortlichkeiten und Beziehungen, samt der Entscheidungen, die zu dieser Struktur geführt haben.
Beispiel: „Bei der Softwarearchitektur des Portals haben wir Kundendaten und Buchungen in getrennte Module gelegt, die nur über feste Schnittstellen reden.“Verwandt: Technologie-Stack, die Wahl der Techniken, mit denen eine Architektur umgesetzt wird.
Welche Entscheidungen zur Softwarearchitektur gehören
Ob die Anwendung ein Monolith wird oder aus Microservices besteht, wo die Daten liegen, wie Frontend und Backend zusammenarbeiten, welche Systeme angebunden werden und wie die Anwendung später wachsen kann. Muster wie MVC geben dabei eine bewährte Ordnung vor.
Kennzeichen einer Architekturentscheidung ist, dass sie sich später nur mit großem Aufwand ändern lässt.
Warum die Softwarearchitektur früh zählt
Weil sie alle folgenden Entscheidungen prägt. Eine Anwendung, deren Teile von Anfang an sauber getrennt sind, lässt sich erweitern, testen und von neuen Leuten verstehen. Eine, in der alles mit allem verflochten ist, wird mit jeder Änderung langsamer zu bearbeiten.
Was hier am Anfang gespart wird, kommt später als technische Schulden zurück.
Softwarearchitektur bei Websites
Bei den meisten Websites ist die Architektur durch das CMS weitgehend vorgegeben, und das ist ein Vorteil. Spannend wird sie, sobald eigene Funktionen dazukommen, etwa ein Kundenbereich oder Anbindungen an Warenwirtschaft und CRM: Dort entscheidet sich, ob der eigene Code neben dem CMS sauber getrennt bleibt.