© Excellent backgrounds/Shutterstock.com
Java Magazin
Wie wichtig ist Softwarearchitektur?

Wie wichtig ist Softwarearchitektur?

Ganz auf Softwarearchitektur zu verzichten, kann zum Problem werden. Das liegt daran, dass die Auswirkungen von „schlechter Architektur“ beträchtlich sein können. Es ist trotzdem immer wieder notwendig, über den Stellenwert von Architekturarbeit zu diskutieren. Und das ist auch nachvollziehbar, denn im echten Leben verdichten sich beim Architekten alle Probleme der Softwareentwicklung. Immer wenn was richtig schief geht, dann ist es auf die Softwarearchitektur zurückzuführen. Meistens sind erfahrene Architekten auch noch die mit Abstand teuersten Berater am Markt. Also lohnt es sich, das Geld in die Hand zu nehmen? Die kurze Antwort lautet: ja, aber man sollte es vermeiden.

Niklas Schlimm


Die Frage, ob Architektur wirklich wichtig ist, kann man auf unterschiedliche Art und Weise beantworten. Ich stelle im Folgenden vier unterschiedliche Argumentationslinien vor. Zunächst erfolgt eine kurze Betrachtung, wie sich Softwareentwicklung über die Jahre verändert hat. Das vermittelt ein gutes Gefühl dafür, ob und wann Softwarearchitektur wirklich wichtig ist. Auf Basis einer Fallstudie wird danach beschrieben, welche Ursachen und Folgen Architekturprobleme haben können. Dann drehen wir den Spieß um, denn Softwarearchitektur ist nicht nur eine gute Strategie zur Problemvermeidung. Es wird beschrieben, wie durch den Einsatz von Frameworks konkrete betriebswirtschaftliche Potenziale entstehen. Zuletzt beschreibe ich, warum Architektur für die Wettbewerbsfähigkeit des Unternehmens von zentraler Bedeutung ist.

Architektur eines Softwaresystems

In der Literatur gibt es viele Definitionen zum Begriff Architektur eines Softwaresystems. In [1] wird Architektur wie folgt definiert: „The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.“ Diese Definition ist nur teilweise zufriedenstellend. Sie weist auf den Strukturaspekt von Architektur hin, sowie darauf, dass die Strukturelemente in Beziehung stehen. Es geht hier um das Ergebnis von Architekturarbeit. Wenig intuitiv ist jedoch der dargestellte Hinweis auf die „extern sichtbaren Eigenschaften“. Es ist schwierig, bei einem imaginären Produkt wie Software von extern sichtbaren Eigenschaften zu sprechen. Alles, was einem Laien dazu einfällt, ist allenfalls die Benutzeroberfläche. Des Weiteren fehlt der Bezug zur Umgebung, zu den Stakeholdern, die ja die wichtigen architekturrelevanten Anforderungen an die Architektur definieren. Deswegen wird folgende Definition aus [2] ergänzt: „The architecture of a system constitutes what is essential about that system considered in relation to its environment.“ Über diese Definition wird der wichtige Aspekt ergänzt, dass es sich bei Architektur immer um die wirklich essenziellen Systemaspekte handelt. Ob was essenziell ist, ergibt sich aus der Beziehung zur Umwelt. Zum Beispiel daraus, welche Erwartungen die wichtigsten Stakeholder haben. Dieser Aspekt wird auch in [3] betont, wenn es heißt: „Software Architecture = { Elements, Form, Rationale }.“ Architektur entsteht immer aus einem bestimmten Grund („...

Java Magazin
Wie wichtig ist Softwarearchitektur?

Wie wichtig ist Softwarearchitektur?

Ganz auf Softwarearchitektur zu verzichten, kann zum Problem werden. Das liegt daran, dass die Auswirkungen von „schlechter Architektur“ beträchtlich sein können. Es ist trotzdem immer wieder notwendig, über den Stellenwert von Architekturarbeit zu diskutieren. Und das ist auch nachvollziehbar, denn im echten Leben verdichten sich beim Architekten alle Probleme der Softwareentwicklung. Immer wenn was richtig schief geht, dann ist es auf die Softwarearchitektur zurückzuführen. Meistens sind erfahrene Architekten auch noch die mit Abstand teuersten Berater am Markt. Also lohnt es sich, das Geld in die Hand zu nehmen? Die kurze Antwort lautet: ja, aber man sollte es vermeiden.

Niklas Schlimm


Die Frage, ob Architektur wirklich wichtig ist, kann man auf unterschiedliche Art und Weise beantworten. Ich stelle im Folgenden vier unterschiedliche Argumentationslinien vor. Zunächst erfolgt eine kurze Betrachtung, wie sich Softwareentwicklung über die Jahre verändert hat. Das vermittelt ein gutes Gefühl dafür, ob und wann Softwarearchitektur wirklich wichtig ist. Auf Basis einer Fallstudie wird danach beschrieben, welche Ursachen und Folgen Architekturprobleme haben können. Dann drehen wir den Spieß um, denn Softwarearchitektur ist nicht nur eine gute Strategie zur Problemvermeidung. Es wird beschrieben, wie durch den Einsatz von Frameworks konkrete betriebswirtschaftliche Potenziale entstehen. Zuletzt beschreibe ich, warum Architektur für die Wettbewerbsfähigkeit des Unternehmens von zentraler Bedeutung ist.

Architektur eines Softwaresystems

In der Literatur gibt es viele Definitionen zum Begriff Architektur eines Softwaresystems. In [1] wird Architektur wie folgt definiert: „The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.“ Diese Definition ist nur teilweise zufriedenstellend. Sie weist auf den Strukturaspekt von Architektur hin, sowie darauf, dass die Strukturelemente in Beziehung stehen. Es geht hier um das Ergebnis von Architekturarbeit. Wenig intuitiv ist jedoch der dargestellte Hinweis auf die „extern sichtbaren Eigenschaften“. Es ist schwierig, bei einem imaginären Produkt wie Software von extern sichtbaren Eigenschaften zu sprechen. Alles, was einem Laien dazu einfällt, ist allenfalls die Benutzeroberfläche. Des Weiteren fehlt der Bezug zur Umgebung, zu den Stakeholdern, die ja die wichtigen architekturrelevanten Anforderungen an die Architektur definieren. Deswegen wird folgende Definition aus [2] ergänzt: „The architecture of a system constitutes what is essential about that system considered in relation to its environment.“ Über diese Definition wird der wichtige Aspekt ergänzt, dass es sich bei Architektur immer um die wirklich essenziellen Systemaspekte handelt. Ob was essenziell ist, ergibt sich aus der Beziehung zur Umwelt. Zum Beispiel daraus, welche Erwartungen die wichtigsten Stakeholder haben. Dieser Aspekt wird auch in [3] betont, wenn es heißt: „Software Architecture = { Elements, Form, Rationale }.“ Architektur entsteht immer aus einem bestimmten Grund („...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang