Dieser Wissensbaustein zielt indirekt auf die Ausführbarkeit von UML-Modellen, da Beschreibungen nicht vom Model Compiler ausgewertet werden (können ...:-). Trotzdem ist eine Beschreibung für die korrekte Modellierung notwendig, da Modelle für sich betrachtet nur Aussagen über die Korrektheit der Syntax liefern. Die korrekte Modellierung der Semantik hingegen kann nur gegenüber den Anforderungen und (oftmals) den Modellbeschreibungen geprüft werden. Daher sollten zu den Modellen jeweils Modellbeschreibungen angefertigt werden.
Basis der Beschreibungen?
Diese sollten einerseits die Anforderungen (oder zumindest einen entsprechenden Verweis) enthalten, aus denen sie erstellt worden sind und dazu ggf. Entscheidungen zu deren Realisierung sowie Erklärungen falls notwendig.
Wie sollte beschrieben werden?
Letztere sind analog zu Quellcodekommentaren zu verstehen, d.h. man sollte nicht dazu übergehen die Sprache bzw. den offensichtlichen semantischen Anteil der Modelle zu beschreiben, wie z.B. (in C++)
i = i2++; // i wird auf den Wert von i2 gesetzt und anschließend wird i2 um den Wert Eins erhöht
sondern demzufolge eher den Anteil der nicht offensichtlich ist (zugegebenerweise sind diese Variablennamen dazu auch nicht wirklich geeignet).
Womit sollte beschrieben werden?
Zudem spricht grundsätzlich (sofern die Entwicklungsumgebung dies unterstützt) nichts dagegen Bilder zur Verdeutlichung zu benutzen.
Womit sollte beschrieben werden?
Des weiteren sollte man so exakt wie möglich beschreiben, um Uneindeutigkeiten möglichst zu vermeiden. Dies umschließt insbesondere die Verwendung des identifizierten Domänenvokabulars.
Was sollte beschrieben werden?
Neben statischen Modellelementen wie Klassen, Attribute und Beziehungen lassen sich auch Abläufe (z.B. Sequenzdiagramme) beschreiben.
Dabei ist darauf zu achten, dass die Beschreibung plattformunabhängig durchgeführt wird, um nicht im Vorfeld Implementierungsentscheidungen vorweg zu nehmen.