Lesezeit: 2 Min.

„Was ist mein System?“ Sofortige Klarheit mit einem Kontext Diagramm.

"Was ist mein System?", "Ist diese Schnittstelle für uns relevant?", "Ich glaube für diesen Bereich sind wir nicht zuständig.", "Wo ist jetzt hier genau die Systemgrenze?"

Das „Kontext Diagramm“ ist für Software- und Systementwicklungen  essentiell. Dieser Artikel befasst sich mit diesem wichtigen Diagramm. Es werden darin Beispiele und Anleitungen gezeigt, welche helfen können selber Kontext Diagramme in Software- und Systementwicklungen zu erstellen um damit Klarheit zu erreichen.

Eine Software oder ein technisches System steht meist in Beziehung mit umgebenden Systemen. Dabei ist es häufig nicht trivial und nicht allen Beteiligten eines Entwicklungsprojektes per se klar, über welche Schnittstellen wie auf das zu entwickelnde System eingewirkt werden kann. Die Berücksichtigung dieser Umsysteme d.h. der entsprechenden Schnittstellen ist aber ein essentieller Aspekt einer Software oder Systementwicklung.

Die Herausforderungen

In diesem Zusammenhang höre ich immer wieder solche oder ähnliche Fragen und Aussagen:

  • „Was ist jetzt unser System?“
  • „Das gehört doch nicht mehr zu unserem System!“
  • „Ist diese Schnittstelle für uns relevant?“
  • „Ich glaube für diesen Bereich sind wir nicht zuständig.“
  • „Wo ist jetzt genau die Systemgrenze?“

Um solche Unklarheiten zu klären hilft das Kontext Diagramm.

Was ist ein Kontext Diagramm?

Ein Kontext Diagramm ist ein Diagramm, welches die Systemgrenze definiert und damit die Schnittstellen zur Umgebung aufzeigt. Es zeigt die umgebenden Systeme welche mit dem System interagieren. Es ist somit eine High-Level Sicht auf das System.

Nachfolgend einige Beispiele/Ausschnitte von Kontext Diagrammen:

Diese Beispiele obwohl sehr unterschiedlich in der Form, sind alles Kontext Diagramme aus realen Projekten. Jedes dieser Beispiele hat Ihren Zweck erfüllt.

Die Teile eines Kontext Diagramms

Das Wesentliche eines Kontext Diagramms sind die folgenden 4 Teile:

  1. Die Darstellung des Systems
  2. Die umgebenden Systeme, welche einen Zusammenhang (Schnittstelle) zum System haben
  3. Beziehungen zwischen dem System und umgebenden Systemen
  4. Eine Diagramm-Legende (Schlüssel, Key), welche die verwendete Notation und die Darstellungen definiert und erläutert

Das nachfolgende Kontext Diagramm beinhaltet all diese 4 Teile:

Ob nun ein informelles  Diagramm erstellt wird, so wie das Beispiel links, welches mit PowerPoint gezeichet wurde, oder ein formelles UML Diagramm (z.B. Use Case oder Klassendiagramm), ist  sekundär. Wichtig ist, dass alle 4 Teile vorhanden sind. Ein solches Kontext Diagramm ist dann klar, unmissverständlich und erfüllt seinen Zweck.

Aus meiner Erfahrung bringt es häufig Vorteile, ganz bewusst bekannte Symbole und Darstellungen und nicht immer abstrakte „Boxen“ zu verwenden. Das nachfolgende Diagramm ist ein gutes Beispiel dafür:

Erarbeitung eines Kontext Diagramms im Team

Wie ich anfangs erwähnt habe, ist die Abgrenzung, die Systemgrenze sowie die Schnittstellen zu den umliegenden Systemen nicht immer klar und offensichtlich. Häufig muss das im Team erarbeitet werden. Eine gut funktionierende Methode dies zu tun habe ich in der nachfolgenden Sketchnote zusammengefasst:

(Diese Sketchnote wurde mit dem iPad Pro dem Apple Pencil sowie mit der App „Paper“ von Fifty Three erstellt)

Die Klarheit, welche ein Kontext Diagramm liefert, ist nach meinen Erfahrungen immer wieder erstaunlich. Das Kontext Diagramm hilft aber auch in den nachfolgenden Prozessschritten innerhalb einer Software- und Systementwicklung. Um z.B. die Anforderungen oder Use Cases eines Systems zu ermitteln kann ausgehend von den Schnittstellen im Kontext Diagramm, das „System“ weiter verfeinert und damit definiert werden. Auch im Architekturprozess ist ein Kontext Diagramm häufig der Startpunkt für weitere Überlegungen. Siehe dazu diesen Blog: Architektur mit System – Ein systematischer Ansatz für die Erstellung von Software- und Systemarchitekturen.

Viel Erfolg beim Erreichen von Klarheit in Deinem nächsten Vorhaben.

Würde mich freuen, von Deinen Erfahrungen damit zu erfahren.

Matthias

1 Gedanke zu „„Was ist mein System?“ Sofortige Klarheit mit einem Kontext Diagramm.“

Schreiben Sie einen Kommentar

Weiterlesen:

  • 3 Quellen unnötiger Komplexität verhindern und damit einfacher Software entwickeln

    Die typischen Quellen unnötiger Komplexität in der Software-Entwicklung zeige ich im Video dieses Beitrages.

    Weiterlesen >

  • Jenseits des Codes – Warum Software-Architektur nicht nur für Entwickler relevant ist

    Software-Architektur ist nicht nur für Software Entwickler relevant. Was Du als Nicht-Software-Entwickler über Software -Architektur wissen solltest.

    Weiterlesen >

  • Wie passen Software-Architektur und Agilität zusammen?

    Agilität verspricht keine initialen schwergewichtigen Architekturen entwickeln zu müssen, sondern  inkrementell und iterativ basierend auf den Kundenanforderungen die Architektur aufzubauen. Funktioniert das wirklich?

    Weiterlesen >