Visuelle Modellierung ermöglicht eine höhere Abstraktion
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.
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:
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.
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.
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.
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.
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/.
|