Beratung Software-Architektur
Sie wissen nicht wo Sie anfangen sollen?
Buchen Sie einen Termin für eine kostenlose Erstberatung!
Die hohen Anforderungen in der heutigen Zeit erfordern eine moderne und durchdachte Softwarearchitektur.
Softwarearchitektur bezeichnet die Zusammensetzung der einzelnen Komponenten, wie sie miteinander agieren und auf welche Art und Weise sie implementiert werden sollen. So ist es für die Wartung, Kosten, Betrieb, Wiederverwendung und für den Support wichtig, eine gute Architektur zu haben.
Die Softwarearchitektur wird während dem Software-Design bestimmt und ist eines der ersten Schritte, die umgesetzt werden. Hierzu können auch Proof of Concepts verwendet werden, wodurch die Umsetzung der Softwarearchitektur getestet werden kann, bevor sie für das tatsächliche Produkt verwendet wird.
Eine gute Softwarearchitektur umzusetzen erfordert viel Analyse; dazu müssen einige Faktoren berücksichtigt werden, wie zum Beispiel:
-
Plattformen (Betriebssystem, Laufzeitumgebung),
-
Technologien (Programmiersprachen wie JavaScript und Java; Tools),
-
sowie die gewünschte Flexibilität,
-
Wiederverwendbarkeit,
-
Skalierbarkeit und
-
Kosten.
Außerderm ist ausschlaggebend, welche Art von Software entwickelt werden soll. So stehen einige Optionen zur Verfügung, darunter kann entschieden werden, ob ein Web Service, Desktop-App, Microservice, oder ein Kommandozeilenprogramm entwickelt werden soll. Wichtig für die Softwarearchitektur ist auch, ob eine Datenbank verwendet werden soll, wie das Netzwerk aussehen wird und wie die einzelnen Komponenten miteinander agieren sollen. Für die Bestimmung der Softwarearchitektur wird oft das FURPS-Prinzip als Hilfsmittel verwendet.
FURPS steht für:
-
Functionality (Funktionalität)
-
Usability (Benutzbarkeit)
-
Reliability (Zuverlässigkeit)
-
Performance (Effizienz)
-
Supportability (Wartbarkeit bzw. Änderbarkeit)
Nach der Festlegung der Softwarearchitektur muss diese nochmals überprüft werden, um etwaige Optimierungen hinzuzufügen. Dazu sollten auch die Entwickler gefragt werden, da sie ein tieferes Verständnis für die einzelnen Komponenten haben und abschätzen können, ob und inwieweit eine Architektur sinnvoll ist.
Sobald die Softwarearchitektur feststeht und das Software-Design abgeschlossen ist, wissen die Entwickler, wie sie die Software umzusetzen haben. Vor allem im DevOps ist die Softwarearchitektur maßgebend, da für das Bereitstellen der Software und dessen Betrieb die Softwarearchitektur bekannt sein muss. Die Softwarearchitektur nachträglich zu ändern kann sich als große Herausforderung herausstellen, denn in der Regel betrifft die Änderung der Architektur viele Komponenten im System und kann dafür sorgen, dass die Software grundlegende Änderungen benötigt, um der neuen Architektur gerecht zu werden. Daher ist es umso wichtiger, die Softwarearchitektur am Anfang gut zu durchdenken.