Visuelle Modellierung
Das Verfahren der visuellen Modellierung ist die Verwendung semantisch reichhaltiger grafischer und textorientierter Designnotationen für die Erfassung von Softwaredesigns.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Abbildung zur visuellen Modellierung

Visuelle Modellierung ermöglicht eine höhere Abstraktion

Was ist visuelle Modellierung?

Visuelle Modellierung ist die Verwendung semantisch reichhaltiger grafischer und textorientierter Designnotationen für die Erfassung von Softwaredesigns. Eine Notation wie UML unterstützt eine höhere Abstraktionsstufe unter gleichzeitiger Einhaltung einer strengen Syntax und Semantik. Auf diese Weise wird die Kommunikation im Designteam während der Erstellung und Prüfung des Designs verbessert, weil die Leser das Design erörtern können. Visuelle Modellierung ist eine unmissverständliche Basis für die Implementierung.

Warum wird Modellierung verwendet?

Ein Modell ist eine vereinfachte Sicht eines Systems. Es zeigt die wesentlichen Bestandteile des Systems aus einer bestimmten Perspektive und verbirgt die unwesentlichen Details. Modelle sind in folgender Hinsicht hilfreich:

Besseres Verständnis komplexer Systeme

Modelle gewinnen mit zunehmender Komplexität der Systeme an Bedeutung. Eine Hundehütte kann beispielsweise ohne Entwurf gebaut werden. Wenn Sie sich jedoch Häuser oder sogar Wolkenkratzer vorstellen, wird klar, dass Entwürfe unerlässlich sind.

Eine kleine Anwendung, die von einer Person in einigen wenigen Tagen erstellt wird, ist in ihrer Gesamtheit wahrscheinlich einfach zu verstehen. Ein E-Commerce-System mit Zehntausenden von Quellcodezeilen (SLOC, Source Lines of Code) oder ein Steuerungssystem für den Luftverkehr mit Hunderttausenden von SLOCs hingegen ist für eine Person allein nicht mehr so leicht verständlich. Durch die Erstellung von Modellen kann sich ein Entwickler ein umfassendes Bild des Systems machen, verstehen, wie Komponenten interagieren und schwerwiegende Mängel feststellen.  

 Im Folgenden sind einige Beispiele für Modelle aufgeführt:

  • Anwendungsfälle, die das Verhalten unmissverständlich spezifizieren
  • Klassendiagramme und Datenmodelldiagramme, die das Design erfassen
  • Zustandsübergangsdiagramme, die dynamisches Verhalten modellieren

Die Modellierung ist wichtig, weil sie dem Team hilft, die Struktur und das Verhalten des Systems zu visualisieren, zu erstellen und zu dokumentieren, ohne sich in der Komplexität zu verlieren.

Designalternativen kostengünstig untersuchen und vergleichen

Einfache Modelle können kostengünstig erstellt und geändert werden, um Designalternativen zu untersuchen. Innovative Ideen können erfasst und von anderen Entwicklern geprüft werden, bevor in eine teure Codeentwicklung investiert wird. Gekoppelt mit einer iterativen Entwicklung hilft die visuelle Modellierung Entwicklern, Designänderungen zu bewerten und diese Änderungen dem gesamten Entwicklungsteam zu vermitteln.

Grundlage für die Implementierung bilden

Heutzutage setzen viele Projekte objektorientierte Programmiersprachen ein, um wiederverwendbare, änderungstolerante und stabile Systeme zu entwickeln. Vor diesem Hintergrund ist es umso wichtiger, Objekttechnologie im Design zu verwenden. Rational Unified Process (RUP) erzeugt ein objektorientiertes Designmodell, das die Basis für die Implementierung bildet.

Mit der Unterstützung entsprechender Tools kann ein Designmodell verwendet werden, um ein erstes Codeset für die Implementierung zu generieren. Diese Vorgehensweise wird als Entwicklung, "Forward Engineering" oder "Codegenerierung" bezeichnet. Designmodelle können auch erweitert werden, so dass sie genügend Informationen enthalten, um das System zu erstellen.

Mit Rückentwicklung (Reverse-Engineering) können aus vorhandenen Implementierungen Designmodelle generiert werden. Diese Vorgehensweise kann zur Auswertung vorhandener Implementierung eingesetzt werden.   

"Round Trip Engineering" kombiniert die Forward- und Reverse-Engineering-Techniken, um ein konsistentes Design und konsistenten Code sicherzustellen. Kombiniert mit einem iterativen Prozess und den richtigen Tools können mit Round Trip Engineering Design und Code in jeder Iteration synchronisiert werden.

Anforderungen präzise erfassen

Bevor ein System erstellt wird, ist ein entscheidender Punkt die Erfassung der Anforderungen. Wenn die Anforderungen in einem präzisen und unmissverständlichen Modell spezifiziert werden, stellen Sie damit sicher, dass alle Stakeholder die Anforderungen verstehen und sich darauf einigen können.   

Ein Modell, das das externe Verhalten des Systems von der Implementierung trennt, ermöglicht Ihnen, sich auf die beabsichtigte Verwendung des Systems zu konzentrieren, ohne von Implementierungsdetails erdrückt zu werden.

Entscheidungen unmissverständlich vermitteln

RUP verwendet die Unified Modeling Language (UML), eine konsistente Notation, die gleichermaßen für System Engineering und Business Engineering angewendet werden kann. Eine Standard-Notation dient folgenden Zwecken (siehe [BOO95]):

  • "Sie dient als Sprache für die Vermittlung von Entscheidungen, die nicht klar auf der Hand liegen und nicht aus dem Code selbst abgeleitet werden können."
  • "Sie stellt eine reichhaltige Semantik für die Erfassung aller wichtigen strategischen und taktischen Entscheidungen bereit."
  • "Sie bietet eine Form, die konkret genug ist, dass Personen darüber nachdenken können, und die von Tools bearbeitet werden kann."

UML ist die Konvergenz von Best Practices in der Softwaremodellierung aus der gesamten Objekttechnologiebranche. Weitere Informationen zu UML finden Sie auf der IBM Website http://www-306.ibm.com/software/rational/uml/.