Domänenmodell stützt Kommunikation

13.10.2005
Von Matthias Scholze und Niklas Feuring 
Wenn sich die Projektmitglieder verschiedener Fachbereiche zu einer Arbeitssitzung treffen, sind Verständigungsprobleme an der Tagesordnung. Domänenmodelle helfen, die Kommunikationshürden zu senken.
Links die Form einer Domäne mit zwei Entitäten, rechts ein bereits ausgefeiltes Domänenmodell.
Links die Form einer Domäne mit zwei Entitäten, rechts ein bereits ausgefeiltes Domänenmodell.

Antoine de Saint-Exupéry sagte: "Die Sprache ist die Quelle aller Missverständnisse." Die Ursachen dafür sind Fehler in der Wahrnehmung der realen Welt sowie in der Wiedergabe des vorhandenen Wissens. Die Wahrnehmung hängt vom Erfahrungs- und Wissensstand, dem kulturellen, politischen oder religiösen Hintergrund sowie der aktuellen Situation des Betrachters ab. Wie verständlich Wissen wiedergegeben wird, hängt von den rhetorischen Fähigkeiten des Sprechers wie Beherrschung der Sprache, Fokussierung auf Kernaussagen und Detaillierungsgrad ab. Ein typisches Beispiel für Verständigungsprobleme sind die ersten Treffen von IT- und Fachabteilung, wenn es gemeinsam mit dem Dienstleister oder Hersteller um das Aufsetzen eines Softwareprojekts geht.

Fazit

Domänenmodelle sind ein leicht zu erlernendes und anzuwendendes Hilfsmittel für die Darstellung des Kontexts einer Domäne. Durch die schnellere Erfassbarkeit von Modellen im Gegensatz zu formalen Beschreibungen und die klare Verwendung von Bezeichnungen für Entitäten der Domäne und deren Beziehungen untereinander eignen sich Domänenmodelle als Grundlage für eine effiziente Kommunikation in Arbeitsgruppen.

Auswahl Modellierungswerkzeuge

Kommerzielle Produkte Frei verfügbare Werkzeuge

Aris, IDS-Scheer, Argo UML, University of California, www.ids-scheer.de; www.argouml.org;

Together, Borland, Eclipse UML, Omondo, www.borland.com/together; www.eclipseuml.com

Rational Rose XDE, IBM, Fujaba, Universität Paderborn, www.ibm.com/software; www.uni-paderborn.de/cs/fujaba;

Objectif, Microtool, Jude, ESM Inc., www.microtool.de/objectif; www.esm.jp/jude-web/en/index.html.

Literatur- empfehlungen

• Bernd Oestereich: Objektorientierte Softwareentwicklung mit der Unified Modeling Language; Oldenbourg Verlag, 6.Auflage, ISBN 3-486-27266-7;

nCraig Larman: Applying UML and Patterns - An introduction to object-oriented analysis and design and unified process, Prentice Hall PTR, 2nd ed., ISBN 0-13- 092569-1;

nUML 2 glasklar: Mario Jeckle u.a., Hanser Fachbuchverlag, 2005, ISBN 3-446-22575-7.

Hier lesen Sie …

• welche Bedeutung Domänenmodelle für die Kommunikation haben;

• wie ein Domänenmodell aufgebaut ist;

• welcher Detaillierungs- grad auf den drei Modellierungsebenen möglich ist.

Mehr zum Thema

www.computerwoche.de/go/

*78801: Eclipse und Co. Schlagen Rational-Tools;

*73076: Eclipse UML - Ein guter Kompromiss.

Weitere Informationen

zu Borland Jbuilder, Rational Software Architect und Oracle Jdeveloper unter

www.computerwoche.de/ productguide

Mit zunehmender Komplexität, Globalisierung, Teamarbeit und wachsendem Produktivitätsdruck wird das Thema effiziente Kommunikation noch wichtiger. Wie also lassen sich die Verständigungshürden senken? Ein erster Schritt in Richtung einer reibungslosen Kommunikation ist die Abbildung entsprechender Arbeits- oder Wissensgebiete in Form von Domänenmodellen.

Denken auf Modellbasis

Der Begriff Domäne kennzeichnet ein Arbeits- oder Wissensgebiet. Er dient der organisatorischen oder fachlichen Abgrenzung und ermöglicht eine Strukturierung durch die Unterteilung in Supra- und Subdomänen. Bekannte Beispiele für Supra- und Subdomänen sind die Darstellung von Unternehmensorganigrammen, die Wissenskataloge etwa der Suchmaschinen oder die Strukturierung von Ideen in Form von Mindmaps.

Das Domänenmodell, auch als Fachbereichsmodell bezeichnet, ist die grafische Darstellung der in der Domäne enthaltenen Entitäten, deren Eigenschaften und der Beziehungen zwischen den Entitäten. Das Modell ermöglicht eine abstrakte, konzeptionelle Abbildung prinzipiell jedes Arbeits- oder Wissensgebietes. Domänenmodelle können für jedes erdenkliche Arbeits- oder Wissengebiet erstellt werden, da in jeder Domäne Entitäten und Entitätsbeziehungen enthalten sind.

Durch die Verwendung von Domänenmodellen ergeben sich folgende Vorteile:

- Reduktion des Aufwands bei der modellgestützten gegenüber der formalen Beschreibung einer Domäne, da die in den Modellierungselementen enthaltene Semantik stark komprimiert ist.

- Die Erfassbarkeit eines Modells ist zirka zehnmal höher als beim Lesen eines entsprechenden Textes, was besonders bei der heutigen Informationsflut stark entlastet.

- Änderungen sind schneller und einfacher zu integrieren, und durch die Änderung entstehende Inkonsistenzen oder Fehler sind aufgrund der schnelleren Erfassbarkeit leichter aufzudecken.

- Die im Domänenmodell enthaltenen Bezeichnungen für Entitäten, Attribute, Rollen und Beziehungsnamen sind die Basis für einen einheitlichen Sprachgebrauch und Grundlage für die Ausprägung eines Domänenglossars.

Zur Darstellung von Domänenmodellen wird das UML-Klassendiagramm empfohlen. Dieses bietet einerseits alle notwendigen Modellierungselemente und wird andererseits von zahlreichen Werkzeugen unterstützt. Eine Übersicht über 100 kommerzielle und frei verfügbare Tools steht unter www.jeckle.de/ umltools.html zur Verfügung - die Tabelle "Auswahl Modellierungswerkzeuge" nennt einige interessante davon.

Damit an dieser Stelle kein falscher Eindruck entsteht: Die Modellierung von Domänen wird oft mit der Entwicklung von Software verwechselt. Dies liegt an der aus der Softwareentwicklung entliehenen UML-Modellierungsnotation und an den eingesetzten Werkzeugen, die meist aus dem Bereich Softwareentwicklung stammen. Doch der Lernaufwand für den Entwurf von Domänenmodellen beschränkt sich auf wenige Stunden, da nur eine begrenzte Zahl von Modellierungselementen benötigt wird. Die Erfahrung zeigt, dass Gesprächspartner ohne Modellierungskenntnisse die Interpretation des Domänenmodells innerhalb einer Diskussion erfassen und bereits Änderungsvorschläge einbringen können. Insofern können Domänenmodelle auch als eine erste, leicht zu legende Basis verstanden werden, auf der dann zum Beispiel die komplexere Modellierung einer Fachanwendung erfolgen kann.

Ein weiterer Vorteil der Domänenmodellierung ist, dass es keinen vorgegebenen Detaillierungsgrad für die Modellierung gibt. Dadurch kann der Anwender mit den Basiselementen beginnen und das Modell bei Bedarf sukzessive verfeinern. Im Folgenden werden die drei Modellierungs-Levels "Basis", "Fortgeschrittener" und "Experte" beschrieben.

Basis-Level - erste Schritte

Im ersten Schritt sind die Entitäten einer Domäne zu ermitteln und durch ein Rechteck darzustellen, welches den Namen der jeweiligen Entität enthält. Entitäten sind verallgemeinernde, abstrakte Beschreibungen von Objekten mit gleichen Eigenschaften (Attribute). Das trifft beispielsweise auf alle Angestellten zu, da jedem Angestellten ein Name, ein Geburtsdatum, ein Einstellungsdatum etc. zugeordnet ist. Typischerweise handelt es sich bei den Entitäten um

- Personen (Kunde, Verkäufer, Ansprechpartner),

- Zustände eines Prozesses (Transaktion, Buchung, Abflug),

- Sachgegenstände (Vertrag, Rechnung, Auto, Haus) oder

- Infrastruktur (Firma, Abteilung, Zimmerplan).

Anschließend ist darzustellen, welche Entitäten miteinander in Beziehung stehen. Man beachte, dass eine Entität eine Beziehung zu sich selbst haben kann, womit in der Regel zwei unterschiedliche Instanzen einer Entität gemeint sind. Als Beispiel soll hier die Entität "Angestellter" dienen, bei der durch die Beziehung auf sich selbst die Unternehmenshierarchie abgebildet werden kann. Die Beziehung wird durch eine Linie zwischen den Entitäten dargestellt. Werden Entitäten aus unterschiedlichen Domänen modelliert, so können die Entitäten jeder Domäne durch ein Rechteck mit dem Namen der Domäne gruppiert werden.

Level für Fortgeschrittene

Auf den nächsten Ebenen (für Fortgeschrittene) werden die im Basis-Level identifizierten Entitäten und Beziehungen verfeinert. Für die Entitäten sind die dazugehörigen Attribute zu definieren. Diese beschreiben die Eigenschaften der Entität wie beispielsweise Name, Status, Typ oder Datum. Die Darstellung erfolgt in einem Rechteck, das die Namen der Attribute enthält und unter dem Rechteck der Entität angeordnet wird. Im nächsten Schritt werden die vorhandenen Beziehungen um die so genannte Kardinalität erweitert. Diese gibt die Anzahl an Beziehungen an, die zwischen den Instanzen von Entitäten auftreten können (n = genau n Beziehungen, n..m = n bis m Beziehungen, * = keine oder eine unbeschränkte Anzahl an Beziehungen und + = eine oder eine unbeschränkte Anzahl an Beziehungen).

Die Kardinalität wird jeweils am Anfang und am Ende der Beziehungslinie notiert, wobei sie sich immer auf ein Objekt der gegenüberliegenden Entität bezieht. Beispiel: "Ein Angestellter steht mit genau einem Angestellten in Beziehung" und "Ein Angestellter steht mit keinem oder einer unbeschränkten Anzahl an Angestellten in Beziehung". Allerdings bleibt dem Betrachter bei diesem Beispiel der Sinn der Beziehungen unter Umständen noch verborgen. Das ändert sich erst im nächsten Modellierungs-Level.

Die Expertenebene

Im Experten-Level geht es noch einmal darum, die Semantik der Beziehungen durch die Einführung von Beziehungsnamen und Rollen zu verbessern. Der Beziehungsname beschreibt anhand eines Verbs die Beziehung von Entität A zu Entität B. Man beachte, dass dies für die Beziehung von A nach B und B nach A gegebenenfalls separat zu spezifizieren ist. Die Leserichtung wird mit einem kleinen ausgefüllten Dreieck (Pfeil) am Verb gekennzeichnet.

Eine Entität kann unter Umständen in Zusammenhang mit einer Beziehung eine definierte Rolle einnehmen. Diese notiert man an der Verbindungsstelle von Entität und Beziehung. Die Einführung von Beziehungsnamen und Rollen führt zu einer deutlich besseren Verständlichkeit einer Beziehung. Durch die Erweiterung des Beispiels aus dem Fortgeschrittenen-Level wird dies deutlich: "Ein Angestellter in der Rolle als Mitarbeiter ist genau einem Angestellten in der Rolle als Manager zugeordnet" und "Ein Angestellter in der Rolle als Manager ist verantwortlich für keinen oder eine unbeschränkte Anzahl an Angestellten in der Rolle als Mitarbeiter".

Es ist nicht immer notwendig, eine Domäne im Experten-Level darzustellen. Während eines Arbeitstreffens reicht meist schon der Basis-Level als Gesprächsgrundlage aus, der je nach Bedürfnissen iterativ präzisiert werden kann. Weiterführende Modellierungsmöglichkeiten wie die des UML-Klassendiagramms können bei Bedarf verwendet werden.

Ausprägung eines Glossars

Ein Domänenmodell ist eine ideale Grundlage für die Erstellung eines Glossars, da es alle in einer Domäne verwendeten Begriffe enthält. Dazu gehören die Bezeichnungen der Entitäten, Attribute, Rollen und Beziehungen. Im Kontext der Domäne und des Benutzerkreises ist zu überprüfen, inwieweit eine Definition erforderlich ist. Für jeden Begriff im Glossar sollten eine ausführliche Definition, eine Auflistung von Abkürzungen, Akronymen und Synonymen, die Beziehung zu anderen Begriffen im Glossar sowie externe Referenzen (Zusatzinformationen, Publikationen etc.) beschrieben werden.

Eine wichtige Voraussetzung für den Nutzen und die Akzeptanz eines Glossars ist ein unbeschränkter und einfacher Zugriff, die Aktualität und die Darstellungsform. Für den Zugriff auf das Glossar bietet sich die Integration beispielsweise in einen Intranet-Auftritt einer Arbeitsgruppe an. Als Darstellungsmedium empfiehlt sich HTML. Hier sind besonders die Möglichkeiten der Verlinkungen (Hyperlinks) zwischen den Begriffen und zu externen Referenzen für die Benutzung und Lesbarkeit eines Glossars von Vorteil. Das Beispiel eines Glossars für die Domänenmodellierung steht unter www.quality-brain.com/ glossary zur Verfügung. (ue)