Unified Modeling Language
=== Spracheinheit Informationsflüsse === [[Bild:Informationflow-1.png|right|thumb|200px|Beispiel eines Strukturdiagramms mit zwei Informationsflüssen]] Techniken, die die UML2 für die Spezifikation des Verhaltens eines Systems anbietet, liegen präzise semantische Modelle zugrunde. Dies gilt insbesondere für Verhaltensbeschreibungen mit Hilfe von [[Interaktion (UML)|Interaktion]]en oder [[Aktivität (UML)|Aktivität]]en, die zudem darauf ausgerichtet sind, das Verhalten eines Systems sehr feingranular zu spezifizieren. Soll das Modell eines Systems nur einige grundlegenden Informationsflüsse im System aufzeigen, eignen sich diese Techniken deshalb nur bedingt. Die Spracheinheit ''Informationsflüsse'', die in der UML2 neu eingeführt wurde, stellt Modellelemente zur Verfügung, um diese Situation zu verbessern. Sie bietet die Modellelemente [[Informationseinheit (UML)|Informationseinheit]] und [[Informationsfluss (UML)|Informationsfluss]] an, mit denen ein Modellierer Informationsflüsse in einem System auf hoher Abstraktionsstufe festhalten kann. Informationsflüsse können dabei eine Vielzahl von anderen Modellelementen der UML2 verbinden, insbesondere [[Klasse (UML)|Klasse]]n, [[Anwendungsfall (UML)|Anwendungsfälle]], [[Ausprägungsspezifikation (UML)|Ausprägungsspezifikation]]en, [[Akteur (UML)|Akteur]]e, [[Schnittstelle (UML)|Schnittstelle]]n, [[Port (UML)|Port]]s und noch einige mehr. Die UML2 gibt keinen Diagrammtyp für Informationsflüsse vor. Die graphische Notation für Informationsflüsse und Informationseinheiten kann in allen Strukturdiagrammen vorkommen.
=== Spracheinheit Interaktionen === [[Bild:Sequenzdiagramm-1.png|right|thumb|250px|Beispiel für die Spezifikation einer [[Interaktion (UML)|Interaktion]] mit Hilfe eines [[Sequenzdiagramm|Sequenzdiagramm]]]] Das [[Verhalten (UML)|Verhalten]] eines modellierten Systems kann in der UML2 auf unterschiedliche Art und Weise spezifiziert werden. Eine davon ist die Modellierung von [[Interaktion (UML)|Interaktion]]en. Eine Interaktion ist die Spezifikation eines Verhaltens, das am besten über den Austausch von Meldungen zwischen eigenständigen Objekten beschrieben wird. Die Spracheinheit stellt dafür die geeigneten Modellelemente zur Verfügung. Wer Interaktionen modelliert, geht davon aus, dass das modellierte System aus einem Netzwerk von Objekten besteht, die untereinander Meldungen austauschen. Schickt ein Objekt einem anderen Objekt eine Meldung, kann man zwei [[Ereignis (UML)|Ereignisauftritte]] identifizieren: erstens das Auftreten eines [[Ereignis (UML)|Meldungsereignis]]ses, wenn die Meldung vom ersten Objekt abgeschickt wird sowie zweitens eines Meldungsereignisses, wenn die Meldung beim zweiten Objekt ankommt. Weitere Ereignisse treten auf, wenn eine [[Aktion (UML)|Aktion]] oder ein anderes [[Verhalten (UML)|Verhalten]] im Kontext eines Objekts beginnt oder endet. Eine ''Spur'' (''trace'') bezeichnet eine Folge von solchen Ereignissen. Interaktionen spezifizieren nun ein Verhalten als zwei Mengen von Spuren, einer Menge ''gültiger'' und einer Menge ''ungültiger'' Spuren. Damit ist präziser gesagt, was wir meinen, wenn wir von Interaktionen sprechen: die ''Bedeutung'' ([[Semantik]]) einer Interaktion ist durch Mengen von Spuren gegeben. ''Modelliert'' werden Interaktionen jedoch als Mengen von [[Interaktion (UML)|Lebenslinie]]n, auf denen [[Aktion (UML)|Aktion]]en und andere [[Verhalten (UML)|Verhalten]]sweisen ablaufen und zwischen denen [[Interaktion (UML)|Nachricht]]en ausgetauscht werden. [[Interaktion (UML)|Interaktion]]en modelliert man graphisch in [[Kommunikationsdiagramm|Kommunikationsdiagramm]]en, in [[Sequenzdiagramm|Sequenzdiagramm]]en oder in [[Zeitverlaufsdiagramm|Zeitverlaufsdiagramm]]en. === Spracheinheit Klassen === [[Bild:Klassendiagramm-1.png|thumb|right|400px|Beispiel für ein [[Klassendiagramm (UML) | Klassendiagramm]], das Elemente aus der Spracheinheit ''Klassen'' verwendet]] Die Spracheinheit ''Klassen'' umfasst den eigentlichen Kern der Modellierungssprache. Sie definiert insbesondere, was man in der UML2 unter einer [[Klasse (UML)|Klasse]] versteht und welche Beziehungen zwischen Klassen möglich sind. In dieser Spracheinheit sind grundlegende Prinzipien der UML2 definiert. Die Metaklasse ''Element'' ist das Wurzelelement für alle anderen Modellelemente. Jedes Element kann andere Elemente besitzen, auch beliebig viele [[Kommentar (UML)|Kommentar]]e, die wiederum andere Elemente kommentieren können. Zwischen Elementen können [[Beziehung (UML2)|Beziehungen]] definiert werden. Elemente können benannt sein und gehören in diesem Fall zu einem [[Namensraum (UML) | Namensraum]]. Weiter können gewisse Elemente einen [[Typ (UML2)|Typ]] haben. Sie werden dann als ''typisierte Elemente'' bezeichnet. Einem Element kann eine [[Multiplizität (UML)|Multiplizität]] mit einer unteren und einer oberen Schranke zugeordnet sein. Diese Spracheinheit enthält vier Unterpakete. Das Unterpaket ''Kernel'' umfasst zentrale Modellierungselemente, die aus der ''UML 2.0 Infrastructure'' wiederverwendet werden. Dazu gehören die [[Klasse (UML) | Klasse]], die [[Ausprägungsspezifikation (UML) |Ausprägungsspezifikation]], der [[Namensraum (UML)|Namensraum]], das [[Paket (UML) | Paket]], das [[Attribut (UML) | Attribut]], die [[Assoziation (UML) | Assoziation]], die [[Abhängigkeitsbeziehung (UML) | Abhängigkeitsbeziehung]], der [[Paketimport (UML) | Paketimport]], die [[Paketverschmelzung (UML) | Paketverschmelzung]] und die [[Generalisierung (UML) | Generalisierung]]. Das zweite Unterpaket, ''AssociationClasses'', umfasst die Definition von [[Assoziationsklassen (UML2)|Assoziationsklassen]]. ''Interfaces'', das dritte Unterpaket, stellt die Definition von [[Schnittstelle (UML)|Schnittstelle]]n bereit. Schließlich deklariert das Unterpaket ''PowerTypes'' Modellelemente für die sogenannten [[PowerType (UML2)|PowerType]]s. Elemente aus dieser Spracheinheit werden meistens in [[Klassendiagramm (UML) | Klassendiagramm]]en, [[Objektdiagramm | Objektdiagramm]]en und [[Paketdiagramm | Paketdiagramm]]en dargestellt. === Spracheinheit Komponenten === [[Bild:Component-2.png|thumb|right|250px|Beispiel einer Komponente mit drei angebotenen und einer benötigten [[Schnittstelle (UML)|Schnittstelle]], sowie zwei [[Port (UML)|Ports]]]] Komponenten sind modulare Teile eines Systems, die so strukturiert sind, dass sie in ihrer Umgebung durch eine andere, äquivalente Komponente ersetzt werden könnten. In der [[Softwareentwicklung]] verwendet man insbesondere das Konzept der [[Softwarekomponente]], um ein Softwaresystem in modulare Teile zu gliedern. Die Spracheinheit ''Komponenten'' der UML2 stellt Konstrukte zur Verfügung, um Systeme, die aus Komponenten aufgebaut sind, zu modellieren. Das wichtigste Element ist die [[Komponente (UML) |Komponente]], die eine innere Struktur gegen außen abgrenzt. Die Spezifikation einer Komponente deklariert vor allem den von außen sichtbaren Rand und definiert damit eine [[Black Box]]-Sicht auf die Komponente. Sichtbar sind eine Menge von angebotenen und erforderlichen [[Schnittstelle (UML) |Schnittstelle]]n sowie allenfalls eine Menge von [[Port (UML) |Port]]s. Die Spracheinheit umfasst ferner den [[Konnektor (UML) | Delegations-]] und den [[Konnektor (UML) | Kompositionskonnektor]]. Der Delegationskonnektor verbindet Ports auf der Hülle einer Komponente mit Elementen im Innern der Komponente. Der Kompositionskonnektor verbindet angebotene Schnittstellen einer Komponente mit benötigten Schnittstellen einer anderen Komponente. Die Elemente dieser Spracheinheit werden meistens in [[Komponentendiagramm|Komponentendiagramm]]en, zum Teil aber auch in [[Klassendiagramm (UML)|Klassendiagramm]]en oder [[Verteilungsdiagramm]]en dargestellt. === Spracheinheit Kompositionsstrukturen === [[Bild:Kompositionsstrukturdiagramm-1.png|thumb|right|350px|Beispiel eines Kompositionsstrukturdiagramm, das Elemente aus der Spracheinheit ''Kompositionsstrukturen'' graphisch darstellt ]] Die Spracheinheit ''Kompositionsstrukturen'' bereichert die UML2 um einen neuen Ansatz für die Modellierung der inneren Struktur eines zusammengesetzten Ganzen. Das „Ganze“ wird dabei als [[Gekapselter Classifier (UML2) | gekapselter Classifier]] modelliert, für die „Teile“ stellt diese Spracheinheit die [[Part (UML2) | Part]]s zur Verfügung. Untereinander können Parts durch [[Konnektor (UML) | Konnektor]]en verbunden sein. Der gekapselte Classifier steht also für ein System mit klarer Abgrenzung von Innen und Außen, dessen innere Struktur mit Hilfe von Parts und Konnektoren spezifiziert ist. Damit die Grenze zwischen Innen und Aussen zumindest teilweise durchlässig ist, kann der gekapselte Classifier auf der Hülle über eine Menge von Ein- und Ausgangspunkten, so genannten [[Port (UML) | Port]]s, verfügen. Elemente aus dieser Spracheinheit werden meistens in [[Kompositionsstrukturdiagramm]]en dargestellt.
=== Spracheinheit Modelle === Die Spracheinheit ''Modelle'' umfasst nur ein Modellelement: das [[Modell (UML) | Modell]]. === Spracheinheit Profile === [[Bild:Stereotype-4.png|right|400px|thumb|Beispiel für die Definition und die Anwendung eines vereinfachten Profils für die Organisationsmodellierung]] Die UML2 stellt mit der Spracheinheit ''Profile'' einen leichtgewichtigen Erweiterungsmechanismus zur Verfügung, mit dem sie spezifischen Einsatzgebieten angepasst werden kann. Der Mechanismus wird als leichtgewichtig bezeichnet, weil er das Metamodell der UML2 unverändert lässt, oft ein entscheidendender Vorteil, denn auf dem Markt erhältliche Werkzeuge für die Erstellung und Pflege von UML2-Modellen können oft nur mit Modellen basierend auf dem standardisierten UML2-Metamodell umgehen. Die UML2 umfasst in ihren Spracheinheiten verschiedene Möglichkeiten für die Modellierung der Struktur und des Verhaltens eines Systems, muss dabei aber auf einer generischen Ebene bleiben. Sie verwendet zum Beispiel die generischen Begriffe [[Aktivität (UML)|Aktivität]] oder [[Artefakt (UML)|Artefakt]] und kennt den spezifischen Begriff [[Geschäftsprozess]] aus der Geschäftsmodellierung oder [[Enterprise Java Beans]] der [[Java (Programmiersprache)|Java]]-Plattform nicht. Falls diese Begriffe in der Modellierung benötigt werden, müssen sie über den Erweiterungsmechanismus der Profile zur UML2 hinzugefügt werden. Auch spezielle Notationen, zum Beispiel eine realistischere Zeichnung anstelle des Strichmännchens, das einen [[Akteur (UML)|Akteur]] darstellt, können der UML2 mit Hilfe der Profile hinzugefügt werden. Weiter können Profile Lücken in der Definition der Semantik der UML2 schließen, die dort absichtlich für spezifische Einsatzgebiete offen gelassen wurden (engl. ''semantic variation points''). Schließlich können Profile [[Einschränkung (UML2)|Einschränkung]]en definieren, um die Art und Weise zu beschränken, wie ein Element aus der UML2 verwendet wird. Mit Hilfe des Erweiterungsmechanismus der Profile kann das Metamodell der UML2 jedoch nicht beliebig angepasst werden. So können zum Beispiel keine Elemente aus dem Metamodell der UML2 entfernt, keine Einschränkungen aufgehoben und keine echten neuen Metaklassen, sondern nur Erweiterungen ([[Stereotyp (UML)|Stereotyp]]en) von bestehenden Metaklassen, deklariert werden. Die Spracheinheit definiert zunächst das Konzept eines [[Profil (UML)|Profil]]s. Ein Profil ist eine Sammlung von [[Stereotyp (UML)|Stereotyp]]en, und definiert die eigentliche Erweiterung. Ein Profil ''ist'' ein Paket und wird auf andere [[Paket (UML)|Paket]]e [[Profil (UML)|''angewendet'']], womit die Erweiterung, die das Profil definiert, für das entsprechende Paket gilt. Die UML2 kennt keinen speziellen Diagrammtyp für Profile. Die graphischen Notationen für Elemente aus dieser Spracheinheit kommen sowohl in [[Paketdiagramm|Paketdiagramm]]en als auch in [[Klassendiagramm (UML)|Klassendiagramm]]en vor. === Spracheinheit Schablonen === Die Spracheinheit Schablonen ''(Templates)'' ist nur auf Schicht 3 definiert und umfasst das Metamodellpaket AuxilliaryConstructs::Templates. Dies dient der Parametrisierung von [[Klassifizierer (UML)|Klassifizierern]], [[Klasse (UML)|Klassen]] und [[Paket (UML)|Paketen]]. === Spracheinheit Verteilungen === [[Bild:Verteilungsdiagramm-1.png|thumb|right|200px|Beispiel eines [[Verteilungsdiagramm]]s mit einem [[Knoten (UML)|Knoten]] und zwei [[Artefakt (UML)|Artefakt]]en]] Die Spracheinheit ''Verteilungen'' (engl. ''Deployments'') ist auf ein sehr spezifisches Einsatzgebiet ausgerichtet, nämlich auf die Verteilung von lauffähiger [[Software]] in einem [[Netzwerk]]. Die UML2 bezeichnet eine so installierbare Einheit als [[Artefakt (UML)|Artefakt]] und geht davon aus, dass diese auf [[Knoten (UML)|Knoten]] installiert werden. Knoten können entweder [[Knoten (UML)#Gerät|Gerät]]e oder [[Knoten (UML)#Ausführungsumgebung|Ausführungsumgebung]]en sein. Eine [[Abhängigkeitsbeziehung (UML)#Verteilungsbeziehung|Verteilungsbeziehung]], das heißt eine spezielle [[Abhängigkeitsbeziehung (UML)|Abhängigkeitsbeziehung]], modelliert, dass ein Artefakt auf einem Knoten installiert wird. Elemente aus dieser Spracheinheit werden normalerweise in [[Verteilungsdiagramm]]en dargestellt.
=== Spracheinheit Zustandsautomaten === == Darstellung in Diagrammen == Die UML2 kennt sechs Strukturdiagramme: das [[Klassendiagramm (UML) | Klassendiagramm]], das [[Kompositionsstrukturdiagramm]] (auch: Montagediagramm), das [[Komponentendiagramm | Komponentendiagramm]], das [[Verteilungsdiagramm]], das [[Objektdiagramm | Objektdiagramm]] und das [[Paketdiagramm | Paketdiagramm]]. Dazu kommen sieben Verhaltensdiagramme: das [[Aktivitätsdiagramm | Aktivitätsdiagramm]], das [[Sequenzdiagramm | Sequenzdiagramm]], das [[Kommunikationsdiagramm | Kommunikationsdiagramm]], das [[Interaktionsübersichtsdiagramm | Interaktionsübersichtsdiagramm]], das [[Zeitverlaufsdiagramm | Zeitverlaufsdiagramm]], das [[Anwendungsfalldiagramm | Anwendungsfalldiagramm]] (auch: Nutzfalldiagramm) und das [[Zustandsdiagramm (UML2) | Zustandsdiagramm]]. Die Grenzen zwischen den dreizehn Diagrammtypen verlaufen weniger scharf, als diese Klassifizierung vermuten lässt. Die UML2 verbietet nicht, dass ein Diagramm graphische Elemente enthalten darf, die eigentlich zu unterschiedlichen Diagrammtypen gehören. Es ist sogar denkbar, dass Elemente aus einem Strukturdiagramm und aus einem Verhaltensdiagramm auf dem gleichen Diagramm dargestellt werden, wenn damit eine besonders treffende Aussage zu einem Modell erreicht wird. Die UML2 geht aber in anderer Hinsicht weit formaler mit Diagrammen um als die UML 1.4. Neu definiert die UML2 unter dem Namen ''UML 2.0 Diagram Interchange'' ein Austauschformat für Diagramme, so dass unterschiedliche Werkzeuge, mit denen Modelle basierend auf der UML2 erstellt werden, die Diagramme austauschen und wiederverwenden können. In der UML 1.x war das nur für die Repository-Modelle ''hinter'' den Diagrammen möglich, aber nicht für die eigentlichen Diagramme. === Erstellen von Diagrammen === Diagramme der UML2 können auf verschiedene Arten erstellt werden. Wenn die Notation der UML2 als gemeinsame Sprache eingesetzt wird, um in einem Analyseteam Entwürfe von Analysemodellen an der Weißwandtafel (''Whiteboard'') festzuhalten, reichen Stifte und Papier als Werkzeug. Häufig werden Diagramme der UML2 jedoch mit Hilfe von speziellen Programmen erstellt, die man in zwei Klassen einteilen kann. Die erste Gruppe von Programmen helfen beim Zeichnen von Diagrammen der UML2, ohne dass sie die Modellelemente, welche den graphischen Elementen auf den Diagrammen entsprechen, in einem Repository ablegen. Zu dieser Gruppe gehören alle Programme zum Erstellen von Zeichnungen, zum Beispiel ''Visio'' als kommerzielles bzw. ''Dia'' als gemeinfreies Werkzeug. Die zweite Gruppe besteht aus Programmen, die die Erstellung von Modellen und das Zeichnen von Diagrammen der UML2 unterstützen, zum Beispiel ''Rational Software Architect'' als kommerzielles bzw. ''ArgoUML'' als gemeinfreies Werkzeug. Mitte 2005 gab es jedoch noch kein verfügbares Werkzeug in der zweiten Gruppe, das alle dreizehn Diagrammarten aus der UML2 vollumfänglich unterstützt hat. == Austausch von Modellen und Diagrammen == Damit Modelle von einem Werkzeug ans andere übergeben werden können, definiert die [[Object Management Group]] ein standardisiertes Austauschformat, das auch für UML-Modell eingesetzt wird. Das Format basiert auf der Auszeichnungssprache [[XML]] und heißt [[XML Metadata Interchange]] (XMI). Die Grundlage für die Austauschbarkeit ist das [[MOF]] auf dessen Konzept beide Sprachen, XMI und UML, beruhen. Für die UML-Versionen 1.x sah das Format keine Möglichkeit vor, Diagramme in einem standardisierten Format auszutauschen, was von vielen Anwendern der UML als wesentliche Lücke wahrgenommen wurde. Parallel zur Entwicklung der UML2 hat die OMG deshalb auch das standardisierte Austauschformat XMI überarbeitet. Unter anderem wurde die beschriebene Lücke geschlossen, indem die Spezifikation unter dem Namen ''[[Diagram Interchange | UML 2.0 Diagram Interchange]]'' um ein Format für den Austausch von Diagrammen erweitert wurde. Ein Austausch mit anderen Modellierungssprachen ist auch mittels Modell- zu Modell-Transformation möglich. Hierzu hat die [[OMG]] den Standard [[MOF QVT]] definiert. Im Gegensatz zu einem reinen Austauschformat, kann eine Transformation auch eine eigene Semantik enthalten. So kann zum Beispiel festgelegt werden wie ein Klassenmodell auf ein ER-Modell abzubilden ist. Die damit einhergehende Flexibilität ist insbesondere auch beim Austausch zwischen Werkzeugen nützlich, da verschiedene Anbieter praktisch immer auch individuelle Varianten des UML-Metamodells haben. == Literatur == * Heide Balzert, ''Lehrbuch der Objektmodellierung'', Spektrum Akademischer Verlag, 1999, ISBN 3-8274-0285-9 * Heide Balzert: ''UML 2 in 5 Tagen'', W3L, 2005, ISBN 3937137610 * [[Grady Booch|G.Booch]], [[James Rumbaugh|J.Rumbaugh]], [[Ivar Jacobson|I.Jacobson]]: ''Das * M. Born, E. Holz, O. Kath: ''Softwareentwicklung mit UML 2'', Addison-Wesley, 2004, ISBN 3-8273-2086-0 * B. Brügge, A. H. Dutoit: ''Objekt-orientierte Softwaretechnik mit UML, Entwurfsmustern und Java'', Pearson Studium, 2004, ISBN 3827370825 * [[Martin Fowler|M. Fowler]]; Kendall, Scott: ''UML konzentriert'', Addison-Wesley Verlag, 2000, ISBN 3-8273-1617-0 * [[Martin Fowler|M. Fowler]]: ''UML Distilled'', 3. Auflage, Addison-Wesley, 2003, ISBN 0-321-19368-7 * M. Hitz, G. Kappel, E. Kapsammer, W. Retschitzegger: ''UML@Work'', Dpunkt Verlag, 2005, ISBN 3898642615 * [[Mario Jeckle|M. Jeckle]], C. Rupp, J. Hahn, B. Zengler, S. Queins: ''UML 2 glasklar'', Hanser-Verlag, 2003, ISBN 3-446-22575-7 * B. Kahlbrandt: ''Software Engineering mit der Unified Modeling Language'', Springer, 2001, ISBN 3540416005 * Christoph Kecher: "UML 2.0 - Das umfassende Handbuch" Galileo Computing, 2005, ISBN 3-89842-573-8 * B. Oestereich: ''Objektorientierte Softwareentwicklung mit der UML 2.0'', Oldenbourg Verlag, 2004, ISBN 3486272667 * Dan Pilone: ''UML – kurz & gut'', [[O'Reilly]], ISBN 3-89721-263-3 * B. Rumpe, ''Modellierung mit UML'', Springer Verlag, 2004, ISBN 3540209042 * Sinan Si Alhir: ''Learning UML'', [[O'Reilly]], ISBN 0-596-00344-7 * H. Störrle: ''UML 2 für Studenten'', Pearson Studium Deutschland, 2005, ISBN 3827371430 * H. Störrle: ''UML 2 erfolgreich einsetzen'', Addison-Wesley, 2005, ISBN 3827322685 * T. Weilkiens, B. Oestereich: ''UML2 Zertifizierung'', Dpunkt Verlag, 2004, ISBN 3898642941 * W. Zuser, T. Grechenig, M. Köhle: ''Software Engineering mit UML und dem Unified Process'', Pearson Studium, 2004, ISBN 3827370906 == Weblinks == === Spezifikationen zur UML2 === * [http://www.omg.org/cgi-bin/apps/doc?ptc/03-09-15.pdf ''UML 2.0 Infrastructure Final Adopted Specification''] (PDF) * [http://www.omg.org/cgi-bin/apps/doc?ptc/04-10-02.zip ''UML 2.0 Superstructure FTF convenience document''] (ZIP) * [http://www.omg.org/cgi-bin/apps/doc?ptc/03-10-14.pdf ''UML 2.0 OCL Final Adopted specification''] (PDF) * [http://www.omg.org/cgi-bin/apps/doc?ptc/03-10-04.pdf ''MOF 2.0 Core Final Adopted Specification''] (PDF) * [http://www.omg.org/cgi-bin/apps/doc?ptc/03-09-01.pdf ''UML 2.0 Diagram Interchange Final Adopted Specification''] (PDF) === Weitere === * [http://www.uml.org/ Website der OMG zur UML] (englisch) * [http://www.uml-sig.de/ UML Special Interest Group] (deutsch) * [http://www.lmtm.de/mailman/listinfo/uml UML-Mailingliste] * [http://ivs.cs.uni-magdeburg.de/~dumke/UML/index.htm UML-Tutorial], [http://www.lebensland.de/tech_uml.html UML-Kurzanleitung] gute Einführungen für Einsteiger (deutsch) * [http://www.cetus-links.org/oo_uml.html Cetus Links] Eine Linksammlung rund um objektorientierte Belange * [http://www.oose.de/notationuml14.htm UML 1.x und UML 2.0 Notationsübersicht] (PDF) * [http://www.sophist.de/webUMLGlossar.nsf UML 2.0 - Glossar] Deutsch und Englisch, mit Begriffserklärungen * [http://www.jeckle.de/umltools.html UML-Werkzeugübersicht] enthält eine Übersicht über viele UML-Werkzeuge und ihre Fähigkeiten * [http://www.highscore.de/uml/ Der moderne Softwareentwicklungprozess mit UML] Online-Buch zur UML (deutsch) * [http://www.gentleware.com/index.php?id=19/ UML Glossary] Bebildertes UML Glossar (englisch) * [http://www.itemis.de/cm3 itemis CM3] Das Open Source Projekt CM3 bietet die Möglichkeit beliebige UML-Tools fachlich anzupassen, um so der Komplexität von großen Modellen gerecht zu werden. CM3 ist Bestandteil des Projektes Open Architectureware. * [http://www.objectsbydesign.com/tools/umltools_byPrice.html ObjectsByDesign] Übersicht über UML Entwicklungssoftware *Artikel "[http://www.tecchannel.de/entwicklung/programmierung/430913/index.html Modellierung mit UML - Teil 2: Konzepte]" von [[Bernd Brügge]] und [[Allen H. Dutoit]] *Arbeitspapier "[http://geb.uni-giessen.de/geb/volltexte/2004/1634/ Objektorientierte Prozeßmodellierung mit der UML und EPK]" von [[Jörg Dandl]] *Dissertation "[http://www.opus.ub.uni-erlangen.de/opus/volltexte/2004/98/ Geschäftsprozessmodellierung mit der "Unified Modeling Language (UML)"]" von [[David Kreische]] *Workshop "[http://www.wifo.uni-mannheim.de/uml-workshop97/bericht.html Einsatz, Bewertung und Stand der Unified Modeling Language (UML)]" von [[Johannes Fasolt]] == Siehe auch == * [[MOF QVT]] (Modell Transformation) * andere Familien von Modellierungsmethoden und -sprachen: ** [[IDEF]] ** EXPRESS (siehe [[STEP (Format)|STEP]]) [[Kategorie: UML| ]] [[Kategorie: Objektorientierte Programmierung]] [[ca:UML]] [[cs:Unified Modeling Language]] [[da:UML]] [[en:Unified Modeling Language]] [[es:Lenguaje Unificado de Modelado]] [[fi:UML-mallinnus]] [[fr:Unified Modeling Language]] [[gl:Linguaxe Unificada de Modelado]] [[he:UML]] [[it:Unified Modeling Language]] [[ja:統一モデリング言語]] [[lt:Unified Modeling Language]] [[nl:Unified Modeling Language]] [[pl:UML]] [[pt:UML]] [[ro:UML]] [[ru:UML]] [[sk:Unified Modeling Language]] [[sl:Unified Modelling Language]] [[sv:UML]] [[uk:UML]] [[vi:Ngôn ngữ mô hình hóa thống nhất]] [[zh:统一建模语言]]
Diese Version des Artikels stammt vom 20.03.2006.
Der Inhalt dieser Seite basiert auf dem Artikel „Unified Modeling Language“ aus der freien Enzyklop�die Wikipedia und ist unter der GNU-Lizenz f�r freie Dokumentation ver�ffentlicht. Auf der Wikipedia-Seite ist eine Liste der Autoren einzusehen.