Was ist eine Zachman Matrix, und wie hilft diese in der Systementwicklung?

Eine der Herausforderung des Systemarchitekten ist es, alle Disziplinen zu überwachen und die Anforderungen aller Stakeholder unter einen Hut zu bekommen. Dazu gibt es eine Anzahl von Frameworks.

Das Zachman-Framework ist ein Rahmen, der dafür herangezogen werden kann. Eine Konkrete Anwendung des Zachman-Frameworks im Systems Engineering ist das MagicGrid von Dassault (ehemals No Magic). Auch wenn es von einem Hersteller eines Modellierungswerkzeugs entwickelt wurde, um dieses Werkzeug zu promoten, so ist MagicGrid Werkzeugneutral und kann mit jedem SysML-Werkzeug eingesetzt werden.

Die Zachman-Matrix

Das Zachman-Framework wurde bereits 1987 in dem Paper A framework for information systems architecture vorgestellt. Zachman macht zwei Beobachungen:

  • Komplexe Produkte benötigen unterschiedliche Beschreibungen (Sichten), die die Bedürfnisse der verschiedenen Nutzergruppen widerspiegeln.
  • Das selbe Produkt kann auf unterschiedliche Weisen beschrieben werden, um unterschiedliche Aspekte abzubilden.

Diese Ideen sind inzwischen im Systems Engineering gut verstanden. Vielleicht wird jetzt auch klar, warum es die Basis für Dassault’s MagicGrid ist: Ein Modell, auf welches es viele Sichten geben kann, ist für diesen Ansatz prädestiniert.

Hier muss ich aber schon vorweg greifen: Zachman betont explizit, dass es sich in der Matrix nicht (nur) um Sichten handelt. Das Modell ist interessant, dass es sich wirklich um unterschiedliche Modelle handelt. Doch diese Modelle können verzahnt sein. Wenn sie das sind, dann können bestimmte Aspekte eines Systemmodells auf Konsistenz geprüft werden. Doch eine zentrale Idee ist, dass es zwischen den Zellen der Matrix keine Redundanz gibt.

Die Matrix setzt dieses Konzept um, indem es für jede Perspektive eine Spalte anlegt und für jede Rolle eine Zeile. Wie das allgemein aussieht ist in der Wikipedia gut beschrieben. Wie das MagicGrid das konkret für das Systems Engineering umsetzt, ist weiter unten zu sehen.

MagicGrid

Das MagicGrid ist eine Zachman-Matrix für modellbasiertes Systems Engineering (MBSE). Neben der hier abgebildeten Matrix gibt es auch von Dassault einen nützlichen Einseiter, der zeigt, welche SysML-Modelle sich für welche Zelle in der Matrix eignen.

Pfeiler


Anforderungen

Verhalten

Struktur

Parameter

Domäne

Problem

Black Box

Stakeholder-Anforderungen

Use Cases

System-Kontext

Metrik für Effektivität

Glass Box

Funktionale Analyse

Logische Subsystem-Kommunikation

Metrik für Effektivität der Subsysteme

Lösung

System-Anforderungen

System-Verhalten

System-Struktur

System-Parameter

Subsystem-Anforderungen

Subsystem-Verhalten

Subsystem-Struktur

Subsystem-Parameter

Komponenten-Anforderungen

Komponenten-Verhalten

Komponenten-Struktur

Komponenten-Parameter

Implementation

Physikalische Anforderungen

Software, Elektrik, Mechanik, …

Zwei Aspekte dieser Matrix sind bemerkenswert, und machen sie für ein breiteres Publikum interessant:

  1. Das System kann in beliebig viele Ebenen unterteilt werden und skaliert dadurch sehr gut. Für kleinere Systeme kann die Subsystem-Ebene auch weggelassen werden.
  2. So wie hier beschrieben ist die Matrix nicht Modellierungs-spezifisch. Sie kann also auch mit wenig, oder gar keiner Modellierung angewendet werden. Allerdings würde ich behaupten, dass wir bei den heutigen Systemen kaum ohne Modellierung auskommen.

Fazit

Die Zachman-Matrix ist ein nützliches Werkzeug, auch jenseits des Systems Engineering. Im Systems Engineering selbst ist es ein kompaktes, praktisches Werkzeug, um die Arbeit zu strukturieren.

Wer diesen Ansatz im Kontext des MBSE anwenden möchte, dem kann ich das kostenlose Magicgrid Book of Knowledge ans Herz legen (registrierungspflichtig). Das Buch ist zwar für MagicDraw geschrieben, kann aber mit beliebigen SysML-Werkzeugen genutzt werden.

Photo by Josh Riemer on Unsplash


jastram

Creator and Author of SE-Trends