M&M Software: Software-Architekten entwickeln maßgeschneiderte Lösungen

12.09.2013 -

Maßgeschneiderte Software-Lösungen sind Einzelanfertigungen und werden meist mit einem erheblichen Entwicklungsaufwand erstellt. Damit sind sie natürlich erheblich teurer als Massenware. Umso wichtiger ist es, dass die Software-Architektur nicht nur Ihre heutigen Anforderungen abdeckt, sondern auch zukünftige Erweiterungen und Anpassungen umsetzbar sind. Dies sicherzustellen ist die Aufgabe der Software-Architekten.

Auf dem Weg zur maßgeschneiderten Software-Lösung habe ich bereits in den vorherigen Teilen beschrieben, wieso eine dokumentierte Produktvision wichtig ist und wie die Anforderungen analysiert und dokumentiert werden können. Das dabei gewonnene Verständnis der Anforderungen ist für die Erarbeitung einer geeigneten Architektur unabdingbar. Ausgehend von den analysierten Anforderungen entwickeln die Architekten eine maßgeschneiderte, technische Lösung.

Ziel

In erster Linie muss die Architektur natürlich den heutigen Anforderungen entsprechen. Darüber hinaus sollten auch zukünftige Anforderungen möglichst ohne aufwändigen Umbau der bestehenden Architektur erfüllbar sein. Weitere Kriterien für eine gute Architektur könnten sein:

  • Die Architektur ist dokumentiert und leicht verständlich
  • Die Architektur erlaubt parallele Entwicklung
  • Die gewählte Technologie ist verfügbar und stabil
  • Die Architektur ist gut zu testen

Abwägen und Festlegen

Um die Kriterien zu erfüllen, müssen Architekten zunächst die für die Architektur relevanten Anforderungen identifizieren. Relevant könnten z. B. die folgenden Anforderungen sein:

  • Das System muss ohne Clientseitige Installation zu Recht kommen
  • Das System darf bei 100 aktiven Usern nicht länger als eine Sekunde für die Bearbeitung der Anfrage benötigen
  • Die Erweiterung des Systems um einen neuen Gerätetyp darf nicht mehr als fünf Personentage Aufwand erfordern

Nicht Architektur-relevant erscheinen die Anforderungen:

  • Der About-Dialog muss das Firmen-Logo zeigen
  • Der Text-Editor muss eine Selektion mit Curser-Tasten und Maus unterstützen

Nur die als Architekturtreiber identifizierten Anforderungen müssen beim Architekturentwurf weiter berücksichtigt werden. Auf Basis der identifizierten Architekturtreiber treffen die Architekten eine ganze Reihe von architektonischen Entscheidungen und legen damit die Details der Lösung Schritt für Schritt fest:

  • Architekturmuster (z. B. Client- Server oder Einzelplatz)
  • Technologie (z. B. JAVA oder Microsoft .NET)
  • Komponenten und deren Schnittstellen (Eigenentwicklung oder Zukaufkomponente)
  • Datenbank-Produkt
  • Immer gilt es, aus den möglichen Alternativen die optimale zu wählen

Bei ihren Entscheidungen müssen sich die Architekten bewusst machen, welche Anforderung des Auftraggebers auf die Entscheidung Einfluss nimmt. Am Ende müssen sich alle Architekturtreiber in den Architekturentscheidungen wiederfinden lassen. Der Auftraggeber wird fragen, wie wird meiner Anforderung „XY“ in der Architektur Rechnung getragen.

In vielen Fällen können Entscheidungen nicht spontan gefällt werden. Es müssen zunächst Prototypen erstellt werden, beispielsweise um die Stabilität einer neuen Technologie realistisch einschätzen zu können oder die zu erreichende Performance zu messen.

Testbarkeit sicherstellen

Architekten sind für die technische Lösung verantwortlich. Damit müssen sie auch sicherstellen, dass die Software testbar ist. Architekten legen deshalb schon beim Entwurf Wert darauf, dass Komponenten und Klassen isoliert getestet werden können. Für solche Unit-Tests kommen nur automatisch ablaufende Tests in Frage.

Diese sichern fertiggestellte Features gegen unerwünschte Änderungen und tragen so später zur Erweiterbarkeit bei. Unit-Tests sind aber nur effizient machbar, wenn bereits beim Architekturentwurf auf die Testbarkeit geachtet wird. Ebenso wichtig ist es bereits beim Architekturentwurf eine Strategie für den Systemtest zu entwickeln: Eine weitere Aufgabe in der Verantwortung der Architekten.

Dokumentieren und Kommunizieren

Neben dem eigentlichen Entwurfsprozess müssen sich die Architekten um die Dokumentation der gefundenen Lösung kümmern. Dazu erstellen sie verschiedene Sichten:

  • Kontext-Sicht: Systemgrenzen und Nachbarsysteme
  • Baustein-Sicht: Komponenten, Klassen, Interfaces werden in Beziehung zu einander gebracht
  • Laufzeit-Sicht: Abläufe (Aufrufe) zwischen Komponenten und Klassen werden visualisiert
  • Datensicht: Wie werden die Daten in der Datenbank organisiert

Die verschiedenen Sichten dienen ausschließlich dazu, die entwickelte Architektur verständlich zu kommunizieren. Architekten achten darauf, dass jede Sicht nur die dazu erforderlichen Details enthält. Neben den grafischen Sichten wird erklärender Text eingesetzt. Insbesondere Architekturentscheidungen sollen nachvollziehbar begründet werden.

Hilfreich ist darüber hinaus eine Kurzfassung der Architektur in Form einer Folienpräsentation. Diese kann beispielsweise beim Projekt-Kickoff benutzt werden, um den Entwicklern den Einstieg in die Architektur zu erleichtern. Oder um die Architektur dem Auftraggeber vorzustellen.

Stellenprofil: Software Architekt

Erfolgreiche Architekten zeichnen sich durch folgende Eigenschaften aus:

  • Erfahrung im Anwendungsumfeld („Fachlichkeit“)
  • Erfahrung mit Software-Technologien
  • Bereit Verantwortung zu übernehmen und Entscheidungen zu fällen; auch wenn noch nicht alle Details bekannt sind
  • Gespür für zukünftige Anforderungen
  • kommunikativ und teamfähig

Besser als ein erfahrender Architekt sind zwei erfahrende Architekten! Gerade bei Entwurfsentscheidungen ist die Möglichkeit zur Diskussion mit einer zweiten Person ein großer Vorteil.

So geht's weiter

Jetzt weiß Ihr „Software-Schneider“ ganz genau was zu tun ist. Er kennt Ihre Anforderungen und hat sich Klarheit über die erforderliche Lösung verschafft. Mit diesem Wissen ist er in der Lage die weitere Umsetzung fundiert abzuschätzen (Kosten) und das Entwicklungsprojekt zu planen (Termin). Die weitere Projektabwicklung erfolgt iterativ. Mit jeder Iteration bekommen Sie eine ausführbare Version Ihres Produkts und können Einfluss auf den Projektverlauf nehmen.

 

 

 

Top Feature

inspect award 2025


Die Abstimmung für den inspect award 2025 läuft.

Stimmen Sie jetzt ab!

Digitaler Event-Kalender 2025

Jetzt an den Events teilnehmen, live oder on demand. 

Zur Seite

Fokus Nachhaltigkeit

Lesen Sie Fachbeiträge, News und Interviews zum Thema

Zur Microsite

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2025 sind jetzt verfügbar! Laden Sie sie hier herunter.

Top Feature

inspect award 2025


Die Abstimmung für den inspect award 2025 läuft.

Stimmen Sie jetzt ab!

Digitaler Event-Kalender 2025

Jetzt an den Events teilnehmen, live oder on demand. 

Zur Seite

Fokus Nachhaltigkeit

Lesen Sie Fachbeiträge, News und Interviews zum Thema

Zur Microsite

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2025 sind jetzt verfügbar! Laden Sie sie hier herunter.