1. Startseite
  2. Wissen kompakt
  3. Anforderungsdiagramm

Anforderungsdiagramm

Inhaltsverzeichnis: DefinitionUrsprungBedeutung von AnforderungenIdeale Anzahl von ElementenRelationenVorteileDownloadHinweise

Wissen kompakt: Ein Anforderungsdiagramm visualisiert Anforderungen an ein System, Relationen zwischen Anforderungen und Beziehungen zu anderen Modellelementen.

Anforderungsdiagramm – die Visualisierung von Anforderungen an ein System

Ein Anforderungsdiagramm visualisiert Anforderungen oder Teile von Anforderungen, die an ein System oder eine Software gestellt werden. Es stammt aus der System Modeling Language (SysML) der Object Management Group (OMG) und fördert im Vergleich zu einer reinen textuellen Darstellung von Anforderungen das Verständnis über Zusammenhänge. Dieses Verständnis wird durch die Verwendung von unterschiedlichen Relationen – also Beziehungen, den Arten und den Richtungen der Beziehungen – vertieft.

Das Anforderungsdiagramm – im englischen als Requirement Diagram bezeichnet – liefert einen visuellen Überblick über Anforderungen und sorgt für eine größere Nachvollziehbarkeit in der Entwicklung.

Anforderungsdiagramm - die Visualisierung von Anforderungen an ein System

Ursprung des Anforderungsdiagramms

Im Jahr 2001 veröffentlichte die OMG in Zusammenarbeit mit dem International Council on Systems Engineering (INCOSE) einen Request for Proposal mit der Anforderung, basierend auf der Unified Modeling Language (UML) eine Notation zur Beschreibung von Systemen zu entwickeln. Das Ergebnis war die sogenannte Systems Modeling Language (SysML), die 2007 mit Version 1.0 veröffentlicht wurde. Im Dezember 2017 veröffentlichte die OMG ein Request for Proposal für die Systems Modeling Language Version 2, kurz RFP for SysML v2.

In der aktuellen Version definiert die SysML Strukturdiagramme, Verhaltensdiagramme und als eigenständiges Diagramm das Anforderungsdiagramm. Als Strukturdiagramme gelten das Blockdefinitions- und das Paketdiagramm sowie das interne Blockdiagramm.  Das Verhalten eines Systems lässt sich mit Aktivitäts-, Zustands-, Sequenz- und Anwendungsfalldiagrammen beschreiben.  Während die Paket-, Zustands-, Sequenz- und Anwendungsfalldiagramme der UML 2 Notation entsprechen, wurden das Blockdefinitionsdiagramm (als Variante des UML-Klassendiagramms), das Aktivitätsdiagramm sowie das interne Blockdiagramm modifiziert. Neu veröffentlicht wurden das Zusicherungs- und das Anforderungsdiagramm.

Die Bedeutung von Anforderungen

Eine Software oder ein System ohne Anforderungen zu entwickeln ist unmöglich. Ein System soll etwas tun und dieses Etwas entsteht durch die Realisierung von Anforderungen. Stakeholder verfolgen Ziele und sie erwarten, dass die entwickelte Lösung ihnen dabei hilft, ihre Ziele zu erreichen. Ziele sind jedoch zu grob, um daraus spezifische Eigenschaften eines Systems abzuleiten – hier helfen Anforderungen. Anforderungen konkretisieren Ziele. Auch bei der Verwendung von Abstraktionen wie Epics und Features, die Botschaft ist dieselbe: Anforderungen sind wesentlich für die Entwicklung einer Lösung, zumal Aktivitäten zur Realisierung, die Risikoabschätzung oder der Architekturentwurf darauf basieren.

Wichtig sind zwei Punkte:

  • Anforderungen an ein neues System müssen vollständig, widerspruchsfrei und präzise formuliert sein. Idealerweise lassen sich Anforderungen mit einem definierten Prozess ermitteln.
  • Und Abhängigkeiten und Zusammenhänge müssen vor der Implementierung möglichst klar sein – hier helfen Anforderungsdiagramme.

 

Die ideale Anzahl der Elemente im Anforderungsdiagramm

Tests haben ergeben, dass kurze Sätze leichter zu verstehen sind als lange Sätze. Das beste Textverständnis wird bei Sätzen mit 9 Worten erreicht. Sollten Diagramme also auch ungefähr 9 Elemente beinhalten? Wer Systeme entwickelt, stellt sich vielleicht auch eine solche Frage. Es gibt aber keine Formel oder Tests zur Bestimmung der idealen Anzahl von Modellelementen pro Diagramm und es gibt auch keine optimale Anzahl von Diagrammen zur Beschreibung von Systemen.

Wichtig ist, dass Sie durch ein Anforderungsdiagramm das Verständnis verbessern und Sie leicht erkennen, welche Informationen im Diagramm stecken oder welche fehlen. Entwickeln Sie das Anforderungsdiagramm im Team oder erläutern Sie es dem Team nach der Erstellung, wird das gemeinsame Verständnis gefördert und darum geht es beim Modellieren von Anforderungsdiagrammen hauptsächlich.

Relationen im Anforderungsdiagramm

Folgende Beziehungsarten lassen sich in Anforderungsdiagrammen verwenden:

  • Die Derive Requirement Relationship zur Ableitung von Anforderungen aus bestehenden Anforderungen.
  • Die Refine Relationship zur detaillierten Beschreibung einer Anforderung durch weitere Diagramme wie bspw. einem Use Case Diagramm.
  • Die Namespace Containment Relationship drückt aus, dass eine Anforderung in einer anderen Anforderung enthalten ist.
  • Die Satisfy Relationship zeigt, dass eine Anforderung von einem Designelement erfüllt wird.
  • Die Dependency Relationship drückt die inhaltliche Abhängigkeit einer Anforderung von einer anderen Anforderung aus.
  • Die Verify Relationship zur Verifikation einer Anforderung durch einen Testfall.
  • Die Copy Relationship kennzeichnet die Beziehung zwischen einer Anforderungskopie und ihrem Original.
  • Die Trace Relationship kann zur Verfolgung von Beziehungen genutzt werden, bspw. zur Verbindung von funktionalen zu nicht-funktionalen Anforderungen.

Manche Toolhersteller bieten die Verwendung von weiteren Beziehungen zwischen Elementen im Anforderungsdiagramm an:

  • Die Interest Relationship wird genutzt, wenn bspw. ein Stakeholder oder eine Persona Interesse an einer Anforderung hat.
  • Die Needs Relationship kommt zum Einsatz, wenn ein Stakeholder oder eine Persona die Lösung einer Anforderung benötigt.
  • Die Note Relationship hilft bei der Darstellung von zusätzlichen Erläuterungen oder Notizen.

 

Vorteile bei der Arbeit mit Anforderungsdiagrammen

Das Arbeiten mit Anforderungsdiagrammen bietet einige Vorteile:

  • Sie sind leicht zu erstellen und zu verstehen. Die Kommunikation über konkrete Informationen wird erleichtert und Zusammenhänge werden leichter identifiziert.
  • Fehlende Aspekte lassen sich leicht identifizieren, so dass sie bei der Ermittlung von weiteren Anforderungen helfen.
  • Die unterschiedlichen Beziehungsarten erleichtern die Nachvollziehbarkeit und fördern das Verständnis.
  • Sie sorgen für eine Ordnung und damit für eine höhere Qualität beim Arbeiten mit Anforderungen.
  • Im Vergleich zur reinen textuellen Beschreibung von Anforderungen erleichtern sie die detaillierte Arbeit an konkreten Aspekten, die wichtig für die Entwicklung sind.

Mit der steigenden Menge von Anforderungen geht häufig die Sorge einher, den Überblick über das gewünschte System zu verlieren. Hier könnten Anforderungsdiagramme helfen. Idealerweise zeichnen Sie ein Anforderungsdiagramm aber nicht einfach nur an einem Whiteboard oder mit einem Grafikprogramm, sondern erzeugen Sie mit einer professionellen Datenbank-gestützten Lösung. So können Sie Ihre Erkenntnisse für die Erhebung von neuen Anforderungen oder die Modellierung von Beziehungen direkt nutzen und müssen Ihre Ergebnisse nicht nachträglich dokumentieren oder in das Tool Ihrer Wahl übertragen. Damit ist es auch nicht wichtig, wie viele Diagramme sie erzeugen – Sie erzeugen einfach immer dann Diagramme, wenn Sie Zusammenhänge verstehen oder visualisieren wollen. Sie gewinnen dadurch Klarheit und steigern das gemeinsame Verständnis.

Anforderungsdiagramm Guide Download

Wollen Sie den Anforderungsdiagramm Guide kostenlos downloaden?

Alles Wichtige über Anforderungsdiagramme auf einen Blick.

  • Was ist ein Anforderungsdiagramm und wo hat es seinen Ursprung?
  • Welche Relationen lassen sich in einem Anforderungsdiagramm abbilden?
  • Was ist die ideale Anzahl von Diagrammelementen?
  • Welche Vorteile bieten Anforderungsdiagramme?
  • Herausforderungen und Tipps

Wissen auf 6 Seiten zum Mitnehmen.

Impuls zum Diskutieren:

Sind Anforderungsdiagramme auch in agilen Projekten sinnvoll? (Eine Meinung dazu finden Sie in diesem Beitrag.)

Hinweise:

Wenn Ihnen der Beitrag gefällt oder Sie darüber diskutieren wollen, teilen Sie ihn gerne in Ihrem Netzwerk. Und falls Sie sich für weitere Tipps aus der Praxis interessieren, dann testen Sie gerne unseren wöchentlichen Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter!

Interessieren Sie sich sich für weitere Erläuterungen, dann empfehlen wir Ihnen das kostenlose Requirements Engineering Whitepaper.

Und hier finden Sie ergänzende Informationen aus unserem t2informatik Blog:

t2informatik Blog: Kunden wissen nicht was sie wollen

Kunden wissen nicht was sie wollen

t2informatik Blog: Anforderungsmanagement mit Jira und Confluence

Anforderungsmanagement mit Jira und Confluence

t2informatik Blog: Agiles Requirements Engineering

Agiles Requirements Engineering

Eine professionelle Anforderungsanalyse ist die Basis einer erfolgreichen Entwicklung.
Wir suchen einen Requirements Engineer (m/w/d). Haben Sie Interesse?