Warum Software-Architektur?

Softwarearchitektur beschreibt die wesentlichen Strukturen und Mechanismen der Software auf den obersten Abstraktionsebenen in Form von Bausteinen des Systems und deren Beziehungen zueinander.
Die Gesellschaft und Unternehmen sind abhängig von Software. Diese Abhängigkeit birgt Risiken. Die Anforderungen an Software wachsen und die Komplexität steigt.

Wie können wir diesen Herausforderung gerecht werden?
Lösung:

Wir sind auf Software angewiesen!
Die IT entwickelt sich rasend schnell dadurch bieten sich eine Menge neuer Möglichkeiten.

  • Diese Möglichkeiten befähigen, Software zu entwickeln, die immer größere Teile der betriebswirtschaftlichen Prozesse eines Unternehmens übernehmen kann. Aus diesem Grund steigt der Grad der Abhängigkeit zwischen Unternehmen und Software weiter rasant.
  • Durch die vielen neuen Möglichkeiten bekommt die Software einen großen Funktionsumfang und nimmt somit an Komplexität zu.

Die Abhängigkeit birgt Risiken z.B. durch einen Fehler in einem Flugsicherungssystem können viele Menschenleben gefährdend werden. Aber auch ein Fehler in einer Software, die dem Unternehmen Wettbewerbsfähigkeit gewährleistet, kann schwerwiegende Folgen haben z.B. für den Unternehmenserfolg.

Komplexität
Um den wachsenden Anforderungen und der steigenden Komplexität gewachsen zu sein und die Risiken zu minimieren, sollten diese drei wesentlichen Ziele bei der Softwareentwicklung verfolgt werden:

  • Verkürzung der Entwicklungszeiten (Zeit)
  • Reduzierung der Wartungs- und Entwicklungskosten (Kosten)
  • Verbesserung der Qualität (Qualität)

Wiederverwendung
Um den Zielen gerecht zu werden muss der Grad der Wiederverwendung erhöht und der Entwicklungsprozess verbessert werden.
Die wiederverwendeten Module wurden schon in einem anderen System verwendet und ausführlich auf ihre Funktionalität und Qualität getestet. Durch die Übernahme dieser Module ist somit die Qualität erfüllt, es entstehen keine zusätzlichen Kosten oder zu kalkulierende Zeiten.

Entwicklungs- und Prozessverbesserung durch Softwarearchitektur
In den Bereichen Entwicklungs- und Prozessverbesserung spielt die Softwarearchitektur eine Schlüsselrolle. Durch die iterativ, inkrementellen Bewertung und Kommunikation des Entwurfs kann der Entwurf solange angepasst werden bis eine stabile und ausgereift Architektur gefunden wurde. Getroffene Entscheidungen sollten dokumentiert werden. Wichtig ist es, dass auch für andere Architekten nachvollzogen werden kann, aus welchen Gründen eine Entscheidung getroffen wurde. Bewährte, dokumentierte Entscheidungen ermöglichen anderen Architekten in den gleichen Situationen genau so oder ähnlich zu entscheiden. Das Wissen, welches sonst nur der einen Architekten besitzt, steht durch das Dokumentieren für alle zur Verfügung.

Risiko besser einschätzen
Softwarearchitektur befähigt Unternehmen bereits vor Implementierungsbeginn, fundierte Aussagen über die Qualitätsmerkmale und Risiken des Systems wie Laufzeiten, Robustheit oder Änderbarkeit zu treffen. Je eher im Entwicklungsprozess Risiken erkannt werden, desto eher kann der Softwarearchitekt die richtigen Maßnahmen treffen.