t2informatik » Wissen kompakt » Anforderungsdiagramm

Was ist ein Anforderungsdiagramm?

Welche Relationen lassen sich darstellen und welche Vorteile bieten Anforderungsdiagramme?

Anforderungsdiagramm – Definition

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 liefert einen visuellen Überblick über Anforderungen und sorgt für eine größere Nachvollziehbarkeit in der Entwicklung.

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. Seit 2015 ist Version 1.4 verfügbar. Diese definiert 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.

Anforderungsdiagramm
\

Der Überblick

Mit einem Anforderungsdiagramm visualisieren Sie Anforderungen an ein System oder eine Software sowie deren Relationen. Ziel ist es, einen besseren Überblick über Zusammenhänge und somit ein besseres Verständnis zu gewinnen.

\

Die Beziehungen

Beziehungen zwischen Modellelementen lassen sich anhand der Beziehungsarten und Beziehungsrichtungen leicht erkennen.

\

Der Zugang zu Information

Idealerweise haben Sie auch aus einem Anforderungsdiagramm heraus Zugriff auf alle Anforderungssinformationen, also bspw. ID, Beschreibung, Lösungsskizze, Priorität, Aufwandsschätzung, Planung etc.

\

Zusätzliche Informationen

Anforderungsdiagramme lassen sich mit zusätzlichen Informationen anreichern. So werden Zusammenhänge deutlich - hier im Beispiel durch das Interesse des Stakeholders 1 oder die Verfeinerung von Feature 2 durch ein verknüpftes Diagramm.

\

Testfälle

Natürlich können Sie auch Testfälle in einem Anforderungsdiagramm visualisieren. So erkennen Sie leicht, für welche Anforderungen es bereits definierte Testfälle gibt.

Ideale Anzahl der Diagrammelemente

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.

Anforderungsdiagramme in der Praxis

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.

Vorteile bei 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.

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.

Anforderungsdiagramm Guide - t2informatik Download

Jetzt den Anforderungsdiagramm Guide kostenlos downloaden.

Alles Wichtige über das Anforderungsdiagramm, seine Vorteile und die Bedeutung von Anforderungen auf 6 Seiten zum Mitnehmen.

Hier klicken »

Herausforderungen für Unternehmen

Die Verwendung von Anforderungsdiagrammen

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.

Gerne stellen wir Ihnen Wissen, Erfahrung und 100% Leidenschaft für Ihre Softwareentwicklung und Anforderungsanalyse zur Verfügung. Wir helfen Ihnen bei der Erhebung, Strukturierung und Verwaltung von Anforderungen und achten dabei auf Konsistenz, Vollständigkeit und Nachvollziehbarkeit. Wir unterstützen Sie beim Identifizieren von technischen Zusammenhängen und der Verwendung von Anforderungsdiagrammen. Und wir planen und steuern Ihre Projekte mit diesen Anforderungen auf Basis definierter Prozesse.

Hier erfahren Sie mehr zum Thema Softwareentwicklung »

Weitere Details und Hintergründe ...
Share This