Software Architektur

Software Architektur definiert und organisiert grundlegende Entscheidungen zum Systemdesign.

Software Architektur ist erfolgsentscheidend:

Die Software Architektur ist dabei eine für den Unternehmenserfolg relevante Sammlung von Entscheidungen zum Software Design und darauf gerichtete Prozessen die, sofern diese Informationen unzureichend definiert sind, ein Software-Projekt zum scheitern bringen können.

Eine gute Softwarearchitektur berücksichtigt:

  • die Beschreibung der Elemente aus denen ein Softwaresystem besteht
  • Interaktionen zwischen diesen Elementen
  • Entwurfsmuster (Pattern) die durch die Softwarekomposition leiten
  • geltende Bedingungen (Contraints) für die Entwurfsmuster

Gute Software Architektur erfüllt alle Ziele zu denen die Software genutzt wird perfekt.

Definition Software Architektur nach Len Bass

„Die Software Architektur eines Systems ist das Set der Strukturen, die benötigt werden um Entscheidungen über das System zu treffen, welche die Software-Elemente, die Relationen zwischen ihnen und die Eigenschaften von beiden betreffen.“

Software Architektur ist zugleich Prozess und Gegenstand

Softwarearchitektur dient der Umsetzung einer Software-Spezifikation. Softwarearchitekturen sind in Form von Dokumentation und visuellen Darstellungen des Softwaredesigns sowohl Gegenstand wie zugleich Prozess.

Damit umfasst Software Architektur zum einen den Prozess des Architekturentwurfs von Software und IT-Systemen und erfordert somit eine Reihe strategischer Entscheidungen wie zugleich die optimale Präsentation und Organisation der Ergebnisse dieses Prozesses, z.B. in Form von Diagrammen und der Architekturdokumentation.

Informationen zur Software Architektur für alle Projektbeteiligten

In der Praxis ist es nicht ausreichend, nur einige Architektursichten zu beschreiben. Informatiker, Software-Ingenieure und Software-Entwickler benötigen vorrangig technisches Wissen, z.B. darüber, wie die Software Architektur erstellt wurde und warum sie so ist.

Andere Prozessbeteiligte im Unternehmen wie die Geschäftsleitung oder das Controlling haben einen gänzlich anderen Informationsbedarf in Bezug auf die Software-Architektur, z.B. in Bezug auf Kosten, Kostentreiber oder rein in Bezug auf strategische Unternehmensziele.

Prozesswissen zur Architekturbewertungen von Software

Prozesswissen ist unverzichtbar um eine Architekturbewertung von Software vorzunehmen. Sind alle relevanten Unternehmensprozesse über die Softwarearchitektur optimal abgedeckt?

Das Management und Entscheider im Unternehmen hingegen benötigen vorwiegend strategische Informationen beispielsweise wie Prozesse der Software ineinander greifen. Diese unterschiedlichen Informationsbedürfnisse sind in der Dokumentation durch Darstellung verschiedenartiger Softwaresichten einer Softwarearchitektur zu berücksichtigen.

Erfolgreich durch gute Dokumentation von Software Architektur

Dokumentation der Software Architektur ist das Festhalten und Aufbereiten architektonischer Entwurfsentscheidungen von Software und IT-Systemen. Das Dokumentieren von Softwarearchitektur vor, während und nach der Entwicklung dient zugleich:

  • der Einsparung von Kosten für Software und IT-Systeme
  • Effizienz bei Software-Entwicklung
  • ermöglicht schnellste Anpassung von Software
  • realisiert langlebige Software
  • höchste Qualität von Software in Funktion, Design und Anwendung

Software dient immer den Unternehmenszielen

Software wird nie zum Selbstzweck, sondern zur optimalen Erreichung von Unternehmenszielen erstellt. Heute ist Softwareentwicklung bei weitem kostenintensiver als die Kosten der für den Betrieb erforderlichen Hardware. Eine gute Softwarearchitektur unterstützt immer zugleich die primären Unternehmensziele.

Fehler in der Software Architektur finden

Software Entwickler, Service-Mitarbeiter und Software Tester sind ständig auf der Suche nach Bugs und Fehlerquellen innerhalb der Software Architektur. Das systematische Aufspüren von Designfehlern bietet ein beträchtliches Optimierungspotential. Beim Auffinden eines Fehlers in dem Softwaresystem ist relevant welcher Konstruktionsfehler das Problem verursacht hat und welche weiteren Prozesse von dieser fehlerhaften Entscheidung abhängen. Das erlaubt Rückverfolgbarkeit und gibt dem Betreiber eines Softwaresystems jederzeit die Möglichkeit in systematischer Weise ein Rollback durchzuführen.

Grundlegende Regeln für Software Architektur

  1. Software-Strategie: Strategische Entscheidungen in Bezug auf die Software-Anforderungen bestimmen die gesamte Software-Architektur.
  2. Durchdachtes Systemdesign: Für resultierende Design-Artefakte innerhalb der Software Architektur sind Änderungen in der Regel schwierig und kostenintensiv.
  3. Skalierbarkeit: Alle für die Software Architektur relevanten Eigenschaften wie grundlegende Systemfunktionen, Performance und Sicherheit sind für absehbare Szenarien in der Zukunft vorab zu berücksichtigen.
  4. Unternehmensziele beachten: Alle Software Architektur Entscheidungen müssen sich aus Anforderungen und Unternehmenszielen ableiten lassen. Es gilt: Keine Entscheidung ohne einen guten Grund.

Vorteile durch sorgfältig geplante Software Architektur

  • Effiziente Softwareentwicklung
  • Performance gezielt steigern
  • Zeiteinsparung realisieren
  • Software-Budget optimieren
  • gezielt Risiken minimieren
  • kompakte Software in Umfang und Funktion designen
  • wertvolles Wissen zu Software im Unternehmen erhalten und bewahren

Normen für Software-Architektur

Die Norm ISO 42010 definiert Art und Umfang der Architekturbeschreibung für Software-Systeme und Software Engineering. In der Dokumentation einer Software Architektur sind grundlegende Konzepte oder Eigenschaften eines IT-Systems in ihrer Umgebung, inklusive ihrer einzelnen Elemente, Beziehungen und Grundsätze des Softwaredesigns und der Software-Evolution festzuhalten.

Ähnliche Einträge

Zum Glossar

Neuer Artikel!