Softwarearchitektur
Die Architektur eines Softwaresystems legt technische Strukturen und Anforderungen fest, die bei der Programmierung berücksichtigt werden müssen. Bei der Softwarearchitektur geht es darum, grundlegende strukturelle technologische Entscheidungen zu treffen.
Beim Entwurf einer Softwarearchitektur greift man auf moderne und klassische dokumentierte Architekturmuster zurück. Diese bieten Vorlagen für die grundlegende Organisation und Interaktion von Softwarekomponenten. Beispiele für Architekturmuster sind Client-Server, Schichtenarchitektur, Serviceorientierte Architektur und Microservices.
Initiale vs. Evolutionäre Softwarearchitektur
Die Idee einer initialen oder sehr frühen endgültigen Festlegung aller Details einer Softwarearchitektur geht von der Annahme aus, dass eine Änderung der grundlegenden strukturellen technologischen Entscheidungen nach der Implementierung zu kostspielig sein könnte, um sie durchführen zu können.
Dieser Auffassung ist aber zu entgegnen, dass initiale Annahmen falsch oder unvollständig sein können, dass Fehlentscheidungen getroffen werden können, dass Anforderungen geändert werden müssen und dass bei den Projektbeteiligten ein Lernprozess stattfindet, was insgesamt zur Folge haben kann, dass eine initial definierte Softwarearchitektur unzureichend sein kann und verbessert werden muss.
In agilen Projekten bevorzugt man daher eine evolutionäre Softwarearchitektur. Sie soll sicherstellen, dass technisches Design und Architektur der Software im Laufe der Entwicklung ständig an die Anforderungen angepasst werden kann.
Architekturmuster
Klicken Sie auf eine der hier aufgeführten Schaltflächen, um mehr über die aufgeführten Architekturmuster zu erfahren, insbesondere wofür ich sie verwendet habe.
Architekturthemen
Klicken Sie auf eine der hier aufgeführten Schaltflächen, um mehr über Architekturthemen zu erfahren, insbesondere wofür ich sie verwendet habe.
Projekte
Softwarearchitektur habe ich in den folgenden Softwareprojekten als Dienstleistung erbracht.