Modellierung
Eintrag zuletzt aktualisiert am: 29.06.2009
Die Modellierung ist ein in Visual Studio bisher von Microsoft sehr vernachlässigter Baustein des Application Life Cycle Management (
ALM).
Bis Visual Studio 2005 gab es Modellierungsunterstützung nur durch
UML-Daigramme in Visio. Man konnte Code aus Klassendiagrammen erzeugen und Code in Klassendiagammen visualisieren. Aber es fehlt ein echte Round-Trip-Engineering. Zudem gab es nie eine Unterstützt für
UML 2,0. Im Jahr 2004 hatte Microsoft angekündigt, die eigene
UML-Unterstützung einzufrieren und stattdessen domänenspezifische Modellierungssprachen zu entwickeln.
Mit Visual Studio 2005 hat Microsoft dann eigene sogenannte domänenspezifische Modellierungswerkzeuge (Codename
Whitehorse) eingeführt. Mit
Ausnahme des Klassendesigners waren diese aber sehr schwach und ins keinster Weise mit
UML ebenbürtig. Die Modellierungswerkzeuge waren der bei weitem schwächste Teil von
VSTS.
Visual Studio 2010: Nach der Absage an
UML im Jahr 2004 setzt Microsoft in
Visual Studio 2010 mehr auf
UML denn je. Die Beta 1-Version unterstützt die
UML 2.1.1-Diagrammtypen Activity,
Use Case, Layer, Logical Class, Component und Sequence.
Hintergrund
Die Motivation, eine Alternative zu
UML zu schaffen, schöpfte Microsoft aus eigenen Untersuchungen zum Einsatz von
UML unter Kunden und Nichtkunden. Ergebnis dieser Studien war laut [
MSDN16], dass Softwarearchitekten in den meisten Fällen nur die
UML-Klassendiagramme einsetzen, die aber in den wenigsten Fällen später auch tatsächlich zur Generierung von Programmcode verwendet werden.
Mit
Microsoft Visio ist Codegenerierung aus
UML 1.3-Diagrammen bzw.
Reverse Engineering aus Programmcode möglich, aber kein echtes Round-Trip-Engineering. Die Bereitstellung von Werkzeugen für
UML 2.0 überließ Microsoft fortan Drittanbietern wie Borland und IBM Rational.
Microsoft setzte zunächst auf
DSLs: Mit eigenen
Domain Specific Languages möchte Microsoft konkretere Abstraktionen anbieten, die sich zur Codegenerierung besser eignen. Die Microsoft Tools for
Domain Specific Languages, ein Add-on für Visual Studio, erlauben den Softwarearchitekten, eigene grafische
DSLs und zugehörige Designer für Visual Studio zu entwer-fen, die genau auf ihre Problembereiche zugeschnitten sind. Microsoft meint, die im
UML 2.0-Standard unterstützte Schaffung von
UML-Untersprachen würde zu weitaus komplexeren Ergebnissen führen im Vergleich zum eigenen
DSL-Ansatz.
Im Jahr 2007 hat Microsoft dann aber erneut die Richtung gewechselt: Für die kommende Version von
VSTS (Codename
Rosario, erscheint ca. 2009 / 2010) hat Microsoft jetzt aber
UML wieder in der Entwicklung. Hier soll auch Round-Trip-Engineering möglich werden.
Die
VSTS-Modellierungswerkzeuge in Version 2005 / 2008 fasst Microsoft unter dem Oberbegriff Distributed
System Designer zusammen. Sie dienen der Entwicklung von verteilten Anwendungen mit dem Schwerpunkt auf serviceorientierten Architekturen.
VSTS 2005 / 2008 präsentiert sich mit vier verschiedenen Diagrammarten:
- Anwendungsdiagramm (Application-Diagramm),
- Diagramm für logische Datencenter (Logical Datacenter-Diagramm),
- Systemdiagramm (System-Diagramm) und
- Deployment-Diagramm.
Der Softwarearchitekt definiert zunächst Anwendungen im
Application Designer, deren Instanzen er im
System Designer in ein Softwaresystem verpackt. Im
Logical Datacenter Designer definiert er Computersyteme, auf die er im
Deployment Designer die Softwaresysteme verteilt. Durch die Festlegung von Anfor-derungen an die einzelnen
Komponenten einer Anwendung sowie von Eigenschaften der bereitgestellten Systeme können die
VSTS-Anwendungsdesigner bereits zur Entwicklungszeit auf einige Konfigurations-probleme hinweisen.
Die Designer liefern als Ausgabe die
XML-Sprache
System Definition Model (
SDM), die Microsoft in Zukunft als Eingabedaten für die Installation und Konfiguration von Windows-Systemen und -Anwendungen erlauben will. Heute schon möglich ist die Codegenerierung innerhalb der
Entwicklungsumgebung. Visual Studio erzeugt Projektrümpfe und einzelne Klassendateien.