Was ist eine Software-Architektur? Definition und Einordnung
Was ist eine Software-Architektur per Definition? Software-Architektur legt den anfänglichen Grundstein für die Softwareentwicklung fest. Sie beschreibt die strukturelle Stellung entscheidender Komponenten eines Softwaresystems zueinander (Komponentisierung) und wie diese ineinandergreifen oder mit externen Systemen zusammenspielen.
Wodurch zeichnet sich eine gute Software-Architektur aus?
Eine gut konstruierte Software-Architektur erlaubt Entwicklern und anderen am Softwareprojekt Beteiligten, den Aufbau des Systems verständlich nachzuvollziehen. Sie inkorporiert und berücksichtigt:
- Flexibilität, Skalierbarkeit und Erweiterbarkeit, damit die Software für schnelllebige oder wechselnde Anforderungen angepasst werden kann
- Wartbarkeit des Softwaresystems, sodass Fehler schnell gefunden und behoben werden können
- Benutzeranforderungen, um eine User-freundliche Anwendung zu gewährleisten
- Design-Prinzipien wie zum Beispiel Modularität, Kohäsion und Kopplung
Best Practices
Diese Best Practices beim Erstellen oder Überarbeiten einer Software-Architektur haben sich im Allgemeinen bewährt:
- Nutzung bewährter Architekturmuster, z. B. Client-Server-Modell oder Schichtenarchitektur
- Verwendung von Modulen oder Komponenten, um die Komplexität der Architektur zu reduzieren und ihre Wiederverwendbarkeit zu erhöhen
- Einsatz von Techniken wie Domain-Driven Design oder modellgetriebener Entwicklung
- klare Trennung zwischen Geschäftslogik und Infrastruktur, um eine hohe Kohäsion und geringe Kopplung zu erreichen
- Dokumentation der Architektur bzw. Erstellen von Architekturdiagrammen
- regelmäßige Überprüfung und Verbesserung der Architektur im Laufe des Projekts
Bedeutung der Software-Architektur in der Softwaremodernisierung
Die Modernisierung einer Legacy-Anwendung kann verschiedene Auswirkungen auf die Software-Architektur haben, abhängig von den Zielen der Modernisierung und den spezifischen Herausforderungen des Projekts.
In vielen Fällen findet ein Plattform-Wechsel statt (z. B. von einer veralteten Hardware auf Cloud-Server), was Änderungen in der Architektur erfordert, um die neuen Plattformanforderungen zu erfüllen. Die Wahl der Plattform ist von entscheidender Bedeutung in der Softwarearchitektur, da sie die Grundlage für die Bereitstellung und Ausführung der Software darstellt.
Doch auch wenn Unternehmen nur die Benutzerfläche einer Software modernisieren lassen (UI/UX-Redesign), kann das Anpassungen an der Architektur erfordern, um neue UI-Technologien oder -Ansätze zu unterstützen.
Was macht ein Software-Architekt?
Ein Software-Architekt ist mit der konzeptionellen Entwicklung von Software betraut, vom ersten Entwurf bis zur Testphase der Anwendung. Seine grundlegende Aufgabe ist es, eine gut strukturierte sowie robuste Software-Architektur zu erarbeiten, die den Anforderungen des Projekts entspricht und zukünftige Änderungen erleichtert. In diesem Prozess steht der Software-Architekt im Austausch mit Stakeholdern und Developern.
Sie interessieren sich für Anwendungsentwicklung und Anwendungsmodernisierung? Neben diesem Beitrag zur Definition von Software-Architektur finden Sie weitere Erläuterungen und Begriffsklärungen in unserem IT-Glossar!