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.