www.wikidata.de-de.nina.az
UML ist eine Weiterleitung auf diesen Artikel Weitere Bedeutungen sind unter UML Begriffsklarung aufgefuhrt Die Unified Modeling Language vereinheitlichte Modellierungssprache kurz UML ist eine grafische Modellierungssprache zur Spezifikation Konstruktion Dokumentation und Visualisierung von Software Teilen und anderen Systemen 2 Sie wird von der Object Management Group OMG entwickelt und ist sowohl von ihr als auch von der ISO ISO IEC 19505 fur Version 2 4 1 3 genormt Im Sinne einer Sprache definiert UML dabei Bezeichner fur die meisten bei einer Modellierung wichtigen Begriffe und legt mogliche Beziehungen zwischen diesen Begriffen fest Die UML definiert weiter grafische Notationen fur diese Begriffe und fur Modelle statischer Strukturen und dynamischer Ablaufe die man mit diesen Begriffen formulieren kann Unified Modeling LanguageBasisdatenParadigmen ModellierungsspracheErscheinungsjahr 1990er JahreDesigner Grady Booch Ivar Jacobson James RumbaughEntwickler Object Management GroupAktuelle Version 2 5 1 Dezember 2017 1 Wichtige Implementierungen DiverseDialekte SysMLStandardisierungen UML 2 4 1 Infrastructure Specification englisch PDF UML 2 4 1 Superstructure Specification englisch PDF UML Specification in allen VersionenBeeinflusst von OOSE RDD OMT OBA OODA SOMA MOSES OPEN OMLBeeinflusste SysMLBetriebssystem entscheidend ist worauf das UML Werkzeug lauft falls dieses eine automatische Ubersetzung unterstutzt siehe UML Werkzeug Quelltexterzeugung und UML Werkzeug Programmewww omg org spec UML Die UML ist die dominierende Sprache fur die Softwaresystem Modellierung Der erste Kontakt zur UML besteht haufig darin dass Diagramme in UML im Rahmen der Softwareentwicklung zu erstellen zu verstehen oder zu beurteilen sind Auftraggeber und Fachvertreter prufen und bestatigen zum Beispiel Anforderungen an ein System die Wirtschaftsanalytiker bzw Business Analysten in Anwendungsfalldiagrammen in UML festgehalten haben Softwareentwickler realisieren Arbeitsablaufe die Wirtschaftsanalytiker bzw Business Analysten in Zusammenarbeit mit Fachvertretern in Aktivitatsdiagrammen beschrieben haben Systemingenieure implementieren installieren und betreiben Softwaresysteme basierend auf einem Implementationsplan der als Verteilungsdiagramm vorliegt Die grafische Notation ist jedoch nur ein Aspekt der durch UML geregelt wird UML legt in erster Linie fest mit welchen Begriffen und welchen Beziehungen zwischen diesen Begriffen sogenannte Modelle spezifiziert werden Diagramme in UML zeigen nur eine graphische Sicht auf Ausschnitte dieser Modelle UML schlagt weiter ein Format vor in dem Modelle und Diagramme zwischen Werkzeugen ausgetauscht werden konnen Inhaltsverzeichnis 1 Entstehungsgeschichte 1 1 Von den Anfangen zur Unified Modeling Language 1 x 1 2 Entstehungsgeschichte der Unified Modeling Language 2 2 Strukturierung 2 1 Teilspezifikationen 2 2 Metamodellierung 2 3 Spracheinheiten 2 4 Einteilung der Spracheinheiten in Schichten 3 Spracheinheiten 3 1 Aktionen 3 2 Aktivitaten 3 3 Allgemeines Verhalten 3 4 Anwendungsfalle 3 5 Informationsflusse 3 6 Interaktionen 3 7 Klassen 3 8 Komponenten 3 9 Kompositionsstrukturen 3 10 Modelle 3 11 Profile 3 12 Schablonen 3 13 Verteilungen 3 14 Zustandsautomaten 4 Diagramme 4 1 Diagrammtypen 4 2 Erstellen von Diagrammen 5 Austausch von Modellen und Diagrammen 6 Siehe auch 7 Literatur 7 1 Zur Zertifizierung 7 2 Gekoppelt mit Vorgehensmodellen 8 Weblinks 8 1 Spezifikationen zur UML2 8 2 Weitere 9 EinzelnachweiseEntstehungsgeschichte BearbeitenDie erste Version von UML entstand in den 1990er Jahren als Reaktion auf zahlreiche Vorschlage fur Modellierungssprachen und Methoden welche die zu dieser Zeit aufkommende objektorientierte Softwareentwicklung unterstutzen sollten Die erste Folge von Sprachversionen auch bekannt unter dem Namen UML 1 x wurde 2005 durch eine grundlegend uberarbeitete Version oft als UML2 bezeichnet abgelost Von den Anfangen zur Unified Modeling Language 1 x Bearbeiten nbsp Historie der objektorientierten Methoden und NotationenDie Vater von UML insbesondere Grady Booch Ivar Jacobson und James Rumbaugh auch Die drei Amigos genannt waren in den 1990er Jahren bekannte Vertreter der objektorientierten Programmierung Sie hatten alle bereits ihre eigenen Modellierungssprachen entwickelt Als sie zusammen beim Unternehmen Rational Software beschaftigt waren entstand die Idee die verschiedenen Notationssysteme strukturiert zusammenzufuhren Eine Vielzahl von unterschiedlichen Modellierungssprachen hatte direkten oder indirekten Einfluss auf die Konzeption von UML darunter OOSE RDD OMT OBA OODA SOMA MOSES und OPEN OML Als Resultat dieser Bemuhungen entstand die UML Die Standardisierung Pflege und Weiterentwicklung der Sprache wurde an die OMG ubergeben die die Sprache am 19 November 1997 als Standard akzeptierte Entstehungsgeschichte der Unified Modeling Language 2 Bearbeiten Im August 1999 stiess die OMG die Entwicklung von UML2 an indem sie einen entsprechenden Request for Information RFI publizierte Ein Jahr spater im September 2000 bat die OMG ihre Mitglieder und weitere interessierte Kreise um Vorschlage fur UML2 Gemass der neu fur UML2 definierten Architektur publizierte die OMG drei Requests for Proposals RFP einen UML 2 0 Infrastructure RFP einen UML 2 0 Superstructure RFP und einen UML 2 0 OCL RFP Wer Vorschlage einreichen wollte hatte dazu ungefahr ein weiteres Jahr Zeit In einer ersten Runde reichten verschiedene Gruppen und Einzelpersonen Entwurfe ein Mitte 2002 lagen von diesen Konsortien mehrmals uberarbeitete und konsolidierte Antworten auf einzelne Request for Proposals vor Erst im Oktober 2002 konnten dann beim Treffen der zustandigen Arbeitsgruppe in Helsinki alle Vorschlage fur die UML 2 0 Infrastructure und die UML 2 0 Superstructure prasentiert werden Einen Termin fur eine weitere uberarbeitete Version der Vorschlage legte die Arbeitsgruppe auf Anfang Januar 2003 fest Die Hauptschwierigkeit bestand nun darin die unterschiedlichen Entwurfe zu einer Spezifikation zu verschmelzen Einerseits wurde Kritik laut dass sich die unterschiedlichen Philosophien in den eingereichten Vorschlagen nur schwerlich wurden bereinigen lassen andererseits reichte im Januar 2003 ein neues Konsortium unter dem Namen 4M einen Vorschlag UML4MDA ein der die Differenzen zwischen den bisherigen Spezifikationen zu uberbrucken versuchte Im Marz 2003 empfahl die zustandige Arbeitsgruppe die Vorschlage des Konsortiums U2 fur die UML 2 0 Infrastructure und fur die UML 2 0 OCL zur Freigabe im Mai dann auch fur die UML 2 0 Superstructure des gleichen Konsortiums so dass ab Juni 2003 drei Finalization Task Forces der OMG die Arbeit aufnehmen konnten um die Teilspezifikationen abzuschliessen Die Task Forces konnten ihre Arbeit jedoch nicht wie geplant bis zum April 2004 abschliessen und grundeten deshalb eine zweite Finalization Task Force die die verbleibenden Probleme bis zum September 2004 losen sollte Im September 2004 konnten schliesslich alle Finalization Task Forces ihre Arbeit beenden Fur die UML 2 0 OCL 4 und die UML 2 0 Infrastructure 5 lagen damit endgultig abgenommene Dokumente Final Adopted Specification vor Nur bei der UML 2 0 Superstructure schien sich dieser letzte Schritt noch etwas zu verzogern im Marz 2005 bot der OMG Webauftritt weiterhin nur ein temporares Dokument mit der informellen Bezeichnung UML 2 0 Superstructure FTF convenience document zum Herunterladen an Am 21 Oktober 2008 wurde die Beta 1 von UML Version 2 2 durch die OMG veroffentlicht die dann im Februar 2009 in der finalen Version vorlag 6 Neu hinzugekommen ist in der Version 2 2 das Profildiagramm um eigendefinierte Stereotyp Sammlungen strukturieren zu konnen Im Mai 2010 wurde UML 2 3 veroffentlicht Diese Version enthielt vor allem Fehlerkorrekturen am Metamodell und Scharfungen der Semantik von Modellelementen im Spezifikationsdokument der UML Die Version 2 5 wurde im Juni 2015 veroffentlicht Die derzeit aktuelle Version 2 5 1 wurde im Dezember 2017 veroffentlicht Strukturierung BearbeitenDer Umfang der UML ist wahrend der Entwicklung von UML 1 0 bis UML 2 laufend gewachsen Sowohl fur die Entwicklung von UML 2 als auch fur die Vermittlung die Anwendung und nicht zuletzt fur die Lesbarkeit der UML 2 Spezifikation ist eine Strukturierung sehr wichtig Was in den ersten Versionen von UML in einem Dokument spezifiziert werden konnte muss deshalb fur UML 2 in Teilspezifikationen aufgeteilt werden In den folgenden Abschnitten wird der Aufbau von UML 2 beschrieben Teilspezifikationen Bearbeiten UML2 ist in drei Teilspezifikationen aufgeteilt Die UML 2 0 Infrastructure Specification legt das Fundament fur UML2 indem sie die am haufigsten verwendeten Elemente von UML2 und die Modellelemente beschreibt die die restlichen Modellelemente spezialisieren In diesem Dokument werden Konzepte wie die Klasse die Assoziation oder die Multiplizitat eines Attributs spezifiziert Die UML 2 0 Superstructure Specification baut auf dem Fundament der UML 2 0 Infrastructure Specification auf und definiert die Modellelemente von UML2 die sich fur bestimmte Einsatzzwecke eignen Typische Konzepte die in diesem Dokument spezifiziert werden sind der Anwendungsfall die Aktivitat oder der Zustandsautomat Schliesslich spezifiziert das Dokument mit dem Titel UML 2 0 Object Constraint Language die Object Constraint Language 2 0 OCL2 Ein weiterer vierter Teil beschaftigt sich nicht mit dem semantischen Modell von UML sondern spezifiziert das Layout der Diagramme Dieses Dokument tragt den Titel UML 2 0 Diagram Interchange und ist eine Neuerung in UML 2 0 UML 1 x kannte kein standardisiertes Format mit dem das Diagramm Layout zwischen unterschiedlichen Werkzeugen ausgetauscht werden konnte Die semantischen Informationen in einem UML Modell konnte ein Werkzeug auch bisher an ein anderes Werkzeug ubergeben das Aussehen der Diagramme das heisst die Positionen und Grosse einzelner Diagrammelemente ging dabei aber verloren Diagram Interchange DI soll dieses Manko beseitigen Metamodellierung Bearbeiten nbsp Hierarchie der MetamodellierungAhnlich wie sich naturliche Sprachen in Lexika oder Grammatiken selbst beschreiben wurde auch UML als ein Sprachwerkzeug konzipiert das sich mit einigen Sprachbestandteilen selbst erklart Die Sprachkonzepte sind dazu in vier Schichten M0 bis M3 gegliedert Mit der Meta Object Facility MOF werden Modellelemente von UML2 spezifiziert und dadurch zum Beispiel mit dem Format Meta Interchange XMI austauschbar Diese MOF ist auf Ebene M3 und stellt eine der vier Schichten dar Es ist die Metasprache der Metasprachen das Metametamodell und beinhaltet grundlegende Elemente wie Pakete Klassen Attribute und Assoziationen Die Metasprache UML2 M2 ist in MOF definiert und stellt die bekannten Sprachmerkmale zur Verfugung uber die Konzepte von MOF hinaus auch noch Anwendungsfalle Zustandsautomaten und mehr Die in der Praxis erstellten UML Modelle befinden sich auf der Ebene M1 Damit werden die Objekte der M0 Schicht dargestellt Dies sind die konkreten Laufzeitinstanzen des Systems UML 2 0 ist also wie auch UML1 x auf der dritten von vier Metamodellierungsebenen eingeordnet Zu UML 1 x besteht jedoch ein wesentlicher Unterschied Die auf den Ebenen M2 und M3 verwendeten Modellierungssprachen also MOF und UML teilen sich die gemeinsame Spracheinheit der Infrastrukturbibliothek Infrastructure Library Sie wird in der UML 2 0 Infrastructure definiert und bildet einen Kern der grundlegenden Modellierungselemente der sowohl in der UML 2 0 Infrastructure als auch in der UML 2 0 Superstructure und in der MOF 2 0 eingesetzt wird Spracheinheiten Bearbeiten Die UML 2 0 Superstructure ist auf einer ersten Ebene modular in Spracheinheiten englisch language units aufgebaut Eine Spracheinheit umfasst eine Menge von eng zusammenhangenden Modellierungselementen mit denen ein Benutzer einen ausgewahlten Aspekt eines Systems mit einem bestimmten Formalismus modellieren kann Die Spracheinheit Aktivitaten englisch Activities umfasst zum Beispiel Elemente fur die Modellierung eines Systemverhaltens das sich am besten mit dem Formalismus von Daten und Kontrollflussen darstellen lasst Einteilung der Spracheinheiten in Schichten Bearbeiten Auf einer dritten Stufe sind die meisten Spracheinheiten in mehrere Schichten englisch Compliance Level gegliedert Die unterste Schicht umfasst jeweils die einfachsten und am haufigsten verwendeten Modellierungselemente wahrend hohere Schichten zunehmend komplexere Modellierungselemente einfuhren Die Spracheinheit Aktivitaten umfasst beispielsweise FundamentalActivities als unterste Schicht und darauf aufbauend die Schicht BasicActivities FundamentalActivities definiert zunachst nur dass Aktivitaten strukturell aus hierarchisch geschachtelten Gruppen von Aktionen bestehen BasicActivities erweitert dieses Gerust um Kanten und weitere Hilfsknoten zu einem Graphen den man in UML2 dann visuell als Aktivitatsdiagramm darstellt Spracheinheiten Bearbeiten nbsp Beispiel der graphischen Notation fur eine Aktion mit zwei Eingabe und einem AusgabepinAktionen Bearbeiten Die Spracheinheit Aktionen englisch actions umfasst die Definition der Aktionen in UML2 Aktionen sind die elementaren Bausteine fur die Modellierung eines Verhaltens Sie konnen Eingabewerte uber sogenannte Eingabepins entgegennehmen und Ausgabewerte an sogenannten Ausgabepins produzieren UML2 definiert in dieser Spracheinheit mehrere Gruppen von grundlegenden Aktionen siehe Aktion Aktivitaten BearbeitenDie Aktivitat ist das zentrale Element der Spracheinheit Aktivitaten Sie ist gleichzeitig eine Neuerung von UML2 gegenuber UML 1 4 Eine Aktivitat ist ein Modell fur ein Verhalten Sie besteht aus Aktionen zwischen denen Kontroll und Datenflusse existieren Ein Aktivitatsdiagramm stellt das dynamische Verhalten eines Software Systems dar nbsp Spaghetti Kochen modelliert als AktivitatAktivitaten haben die Struktur eines Graphen Knoten dieses Graphen sind Aktionen sowie Punkte an denen die Flusse zwischen den Aktionen kontrolliert werden Kanten stehen fur Daten und Kontrollflusse Das Sprachpaket Aktivitaten definiert alle Typen von Knoten und Kanten die fur die Modellierung von Aktivitaten benotigt werden Knoten werden in Objekt und Kontrollknoten unterschieden Kanten analog dazu in Objekt und Kontrollflusse Komplexere Aktivitaten konnen verschachtelt und mit Kontrollstrukturen modularisiert werden Aktivitaten werden graphisch in Aktivitatsdiagrammen modelliert Allgemeines Verhalten Bearbeiten Die Spracheinheit Allgemeines Verhalten umfasst die allgemeinen Modellelemente fur die Spezifikation des Verhaltens eines mit UML2 modellierten Systems Hier sind die Modellelemente zusammengefasst die fur die Spezifikation von Aktivitaten Interaktionen oder Zustandsautomaten benotigt werden Die Spracheinheit definiert die Gemeinsamkeiten jeder Verhaltensbeschreibung und dass eine aktive Klasse ein eigenes Verhalten haben kann Verhalten in einem System das mit UML2 modelliert ist startet immer aufgrund von diskreten Ereignissen Dieses Sprachpaket definiert welche Arten von Ereignissen UML2 unterstutzt Die Behandlung der Zeit wird ebenfalls weitgehend in diesem Sprachpaket geregelt Es definiert Metaklassen fur die Beobachtung der Zeit TimeObservationAction fur die Notation von Zeitausdrucken TimeExpression fur die Definition von Zeitintervallen TimeInterval sowie fur das Konzept einer zeitlichen Dauer Duration nbsp Beispiel fur die graphische Darstellung zweier Anwendungsfalle und eines AkteursAnwendungsfalle Bearbeiten Die Spracheinheit Anwendungsfalle englisch use cases stellt Elemente fur die Modellierung von Anforderungen an ein System zur Verfugung Das wichtigste Element ist der Anwendungsfall Anwendungsfalle halten fest was ein System tun soll Das zweite wichtige Element ist der Akteur Akteure spezifizieren wer im Sinne einer Person oder was im Sinne eines anderen Systems etwas mit dem System tun soll Graphisch werden Anwendungsfalle in Anwendungsfalldiagrammen dargestellt nbsp Beispiel eines Strukturdiagramms mit zwei InformationsflussenInformationsflusse Bearbeiten Den Techniken die UML2 fur die Spezifikation des Verhaltens eines Systems anbietet liegen prazise semantische Modelle zugrunde Das gilt insbesondere fur Verhaltensbeschreibungen mit Hilfe von Interaktionen oder Aktivitaten die zudem darauf ausgerichtet sind das Verhalten eines Systems sehr feingranular zu spezifizieren Soll das Modell eines Systems nur einige grundlegende Informationsflusse im System aufzeigen eignen sich diese Techniken deshalb nur bedingt Die Spracheinheit Informationsflusse die in UML2 neu eingefuhrt wurde stellt Modellelemente zur Verfugung um diese Situation zu verbessern Sie bietet die Modellelemente Informationseinheit und Informationsfluss an mit denen ein Modellierer Informationsflusse in einem System auf hoher Abstraktionsstufe festhalten kann Informationsflusse konnen dabei eine Vielzahl von anderen Modellelementen von UML2 verbinden insbesondere Klassen Anwendungsfalle Auspragungsspezifikationen Akteure Schnittstellen Ports und noch einige mehr UML2 gibt keinen Diagrammtyp fur Informationsflusse vor Die graphische Notation fur Informationsflusse und Informationseinheiten kann in allen Strukturdiagrammen vorkommen Interaktionen Bearbeiten nbsp Beispiel fur die Spezifikation einer Interaktion mit Hilfe eines SequenzdiagrammsDas Verhalten eines modellierten Systems kann in UML2 auf unterschiedliche Art und Weise spezifiziert werden Eine davon ist die Modellierung von Interaktionen Eine Interaktion ist die Spezifikation eines Verhaltens das am besten uber den Austausch von Meldungen zwischen eigenstandigen Objekten beschrieben wird Die Spracheinheit stellt dafur die geeigneten Modellelemente zur Verfugung 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 Ereignisauftritte identifizieren erstens das Auftreten eines Meldungsereignisses 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 oder ein anderes Verhalten im Kontext eines Objekts beginnt oder endet Eine Spur trace bezeichnet eine Folge solcher Ereignisse Interaktionen spezifizieren nun ein Verhalten als zwei Mengen von Spuren einer Menge gultiger und einer Menge ungultiger Spuren Damit ist praziser 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 Lebenslinien auf denen Aktionen und andere Verhaltensweisen ablaufen und zwischen denen Nachrichten ausgetauscht werden Interaktionen modelliert man graphisch in Kommunikationsdiagrammen in Sequenzdiagrammen oder in Zeitverlaufsdiagrammen Klassen Bearbeiten nbsp Beispiel fur ein Klassendiagramm das Elemente aus der Spracheinheit Klassen verwendetDie Spracheinheit Klassen umfasst den eigentlichen Kern der Modellierungssprache Sie definiert insbesondere was man in UML2 unter einer Klasse versteht und welche Beziehungen zwischen Klassen moglich sind In dieser Spracheinheit sind grundlegende Prinzipien von UML2 definiert Die Metaklasse Element ist das Wurzelelement fur alle anderen Modellelemente Jedes Element kann andere Elemente besitzen auch beliebig viele Kommentare die wiederum auch mehrere andere Elemente kommentieren konnen Zwischen Elementen konnen Beziehungen definiert werden Elemente konnen benannt sein und gehoren in diesem Fall zu einem Namensraum Weiter konnen gewisse Elemente einen Typ haben Sie werden dann als typisierte Elemente bezeichnet Einem Element kann eine Multiplizitat mit einer unteren und einer oberen Schranke zugeordnet sein Diese Spracheinheit enthalt vier Unterpakete Das Unterpaket Kernel umfasst zentrale Modellierungselemente die aus der UML 2 0 Infrastructure wiederverwendet werden Dazu gehoren die Klasse die Auspragungsspezifikation der Namensraum das Paket das Attribut die Assoziation die Abhangigkeitsbeziehung der Paketimport die Paketverschmelzung und die Generalisierung Das zweite Unterpaket AssociationClasses umfasst die Definition von Assoziationsklassen Interfaces das dritte Unterpaket stellt die Definition von Schnittstellen bereit Schliesslich deklariert das Unterpaket PowerTypes Modellelemente fur die sogenannten PowerTypes Elemente aus dieser Spracheinheit werden meistens in Klassendiagrammen Objektdiagrammen und Paketdiagrammen dargestellt Komponenten Bearbeiten nbsp Beispiel einer Komponente mit drei angebotenen und einer benotigten Schnittstelle sowie zwei PortsKomponenten sind modulare Teile eines Systems die so strukturiert sind dass sie in ihrer Umgebung durch eine andere aquivalente Komponente ersetzt werden konnten In der Softwareentwicklung verwendet man insbesondere das Konzept der Softwarekomponente um ein Softwaresystem in modulare Teile zu gliedern Die Spracheinheit Komponenten von UML2 stellt Konstrukte zur Verfugung um Systeme die aus Komponenten aufgebaut sind zu modellieren Das wichtigste Element ist die Komponente die eine innere Struktur gegen aussen abgrenzt Die Spezifikation einer Komponente deklariert vor allem den von aussen sichtbaren Rand und definiert damit eine Black Box Sicht auf die Komponente Sichtbar sind eine Menge von angebotenen und erforderlichen Schnittstellen sowie allenfalls eine Menge von Ports Die Spracheinheit umfasst ferner den Delegations und den Kompositionskonnektor Der Delegationskonnektor verbindet Ports auf der Hulle einer Komponente mit Elementen im Innern der Komponente Der Kompositionskonnektor verbindet angebotene Schnittstellen einer Komponente mit benotigten Schnittstellen einer anderen Komponente Die Elemente dieser Spracheinheit werden meistens in Komponentendiagrammen zum Teil aber auch in Klassendiagrammen oder Verteilungsdiagrammen dargestellt Kompositionsstrukturen Bearbeiten Die Spracheinheit Kompositionsstrukturen englisch Structures bereichert UML2 um einen neuen Ansatz fur die Modellierung der inneren Struktur eines zusammengesetzten Ganzen Das Ganze wird dabei als gekapselter Classifier modelliert fur die Teile stellt diese Spracheinheit die Parts zur Verfugung Untereinander konnen Parts durch Konnektoren verbunden sein Der gekapselte Classifier steht also fur ein System mit klarer Abgrenzung von Innen und Aussen dessen innere Struktur mit Hilfe von Parts und Konnektoren spezifiziert ist Damit die Grenze zwischen Innen und Aussen zumindest teilweise durchlassig ist kann der gekapselte Classifier auf der Hulle uber eine Menge von Ein und Ausgangspunkten sogenannten Ports verfugen Elemente aus dieser Spracheinheit werden meistens in Kompositionsstrukturdiagrammen dargestellt Modelle Bearbeiten Die Spracheinheit Modelle umfasst nur ein Modellelement das Modell Profile Bearbeiten nbsp Beispiel fur die Definition und die Anwendung eines vereinfachten Profils fur die OrganisationsmodellierungUML2 stellt mit der Spracheinheit Profile englisch Profiles einen leichtgewichtigen Erweiterungsmechanismus zur Verfugung mit dem sie spezifischen Einsatzgebieten angepasst werden kann Der Mechanismus wird als leichtgewichtig bezeichnet weil er das Metamodell von UML2 unverandert lasst oft ein entscheidender Vorteil denn auf dem Markt erhaltliche Werkzeuge fur die Erstellung und Pflege von UML2 Modellen konnen oft nur mit Modellen basierend auf dem standardisierten UML2 Metamodell umgehen UML2 umfasst in ihren Spracheinheiten verschiedene Moglichkeiten fur die Modellierung der Struktur und des Verhaltens eines Systems muss dabei aber auf einer generischen Ebene bleiben Sie verwendet zum Beispiel die generischen Begriffe Aktivitat oder Artefakt und kennt den spezifischen Begriff Geschaftsprozess aus der Geschaftsmodellierung oder Enterprise JavaBeans der Java Plattform nicht Falls diese Begriffe in der Modellierung benotigt werden mussen sie uber den Erweiterungsmechanismus der Profile zu UML2 hinzugefugt werden Auch spezielle Notationen zum Beispiel eine realistischere Zeichnung anstelle des Strichmannchens das einen Akteur darstellt konnen UML2 mit Hilfe der Profile hinzugefugt werden Weiter konnen Profile Lucken in der Semantik Definition der UML2 schliessen die dort absichtlich fur spezifische Einsatzgebiete offen gelassen wurden englisch semantic variation points Schliesslich konnen Profile Einschrankungen definieren um die Art und Weise zu beschranken wie ein Element aus UML2 verwendet wird Mit Hilfe des Erweiterungsmechanismus der Profile kann das Metamodell von UML2 jedoch nicht beliebig angepasst werden So konnen zum Beispiel keine Elemente aus dem Metamodell von UML2 entfernt keine Einschrankungen aufgehoben und keine echten neuen Metaklassen sondern nur Erweiterungen Stereotype bestehender Metaklassen deklariert werden Die Spracheinheit definiert zunachst das Konzept eines Profils Ein Profil ist eine Sammlung von Stereotypen und definiert die eigentliche Erweiterung Ein Profil ist ein Paket und wird auf andere Pakete angewandt womit die Erweiterung die das Profil definiert fur das entsprechende Paket gilt UML2 kennt seit der UML 2 2 einen speziellen Diagrammtyp fur Profile Die graphischen Notationen fur Elemente aus dieser Spracheinheit kommen sowohl in Paketdiagrammen als auch in Klassendiagrammen vor Schablonen Bearbeiten Die Spracheinheit Schablonen englisch Templates umfasst Modellelemente fur die Parametrisierung von Klassifizierern Klassen und Paketen Verteilungen Bearbeiten nbsp Beispiel eines Verteilungsdiagramms mit einem Knoten und zwei ArtefaktenDie Spracheinheit Verteilungen englisch Deployments ist auf ein sehr spezifisches Einsatzgebiet ausgerichtet namlich auf die Verteilung von lauffahiger Software in einem Netzwerk UML2 bezeichnet eine so installierbare Einheit als Artefakt und geht davon aus dass diese auf Knoten installiert werden Knoten konnen entweder Gerate oder Ausfuhrungsumgebungen sein Eine Verteilungsbeziehung das heisst eine spezielle Abhangigkeitsbeziehung modelliert dass ein Artefakt auf einem Knoten installiert wird Elemente aus dieser Spracheinheit werden normalerweise in Verteilungsdiagrammen dargestellt Zustandsautomaten Bearbeiten nbsp Beispiel eines Zustandsautomaten fur die Zustande eines Buchs in einer offentlichen BibliothekDie Spracheinheit Zustandsautomaten englisch state machines umfasst Modellelemente die fur die Modellierung von Zustandsautomaten eingesetzt werden UML2 setzt Zustandsautomaten in erster Linie fur die Spezifikation des Verhaltens eines Systems ein So kann ein Zustandsautomat zum Beispiel das Verhalten der Instanzen einer aktiven Klasse modellieren Zusatzlich konnen Zustandsautomaten aber auch eingesetzt werden um eine zulassige Nutzung einer Schnittstelle oder eines Ports zu spezifizieren Der Zustandsautomat modelliert dabei zum Beispiel in welcher Reihenfolge Operationen einer Schnittstelle aufgerufen werden durfen Im ersten Fall spricht man von einem Verhaltenszustandsautomaten im zweiten von einem Protokollzustandsautomaten Zustandsautomaten werden graphisch in Zustandsdiagrammen dargestellt Diese sind in UML eine Variante der klassischen Statecharts Diagramme BearbeitenDiagrammtypen Bearbeiten Die Diagramme in UML lassen sich in zwei Hauptgruppen aufteilen Strukturdiagramme und Verhaltensdiagramme nbsp Hierarchie von Diagrammen in UML 2 2 die in Form eines Klassendiagramms dargestellt wurde nbsp UML Diagrammubersicht Auswahl UML2 3 kennt sieben Strukturdiagramme das Klassendiagramm das Kompositionsstrukturdiagramm auch Montagediagramm das Komponentendiagramm das Verteilungsdiagramm das Objektdiagramm das Paketdiagramm und das Profildiagramm Dazu kommen sieben Verhaltensdiagramme das Aktivitatsdiagramm das Anwendungsfalldiagramm auch Use Case o Nutzfalldiagramm genannt das Interaktionsubersichtsdiagramm das Kommunikationsdiagramm das Sequenzdiagramm das Zeitverlaufsdiagramm und das Zustandsdiagramm Die Grenzen zwischen den vierzehn Diagrammtypen verlaufen weniger scharf als diese Klassifizierung vermuten lasst UML2 verbietet nicht dass ein Diagramm graphische Elemente enthalt die eigentlich zu unterschiedlichen Diagrammtypen gehoren 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 UML2 geht aber in anderer Hinsicht weit formaler mit Diagrammen um als UML 1 4 Neu definiert UML2 unter dem Namen UML 2 0 Diagram Interchange ein Austauschformat fur Diagramme so dass unterschiedliche Werkzeuge mit denen Modelle basierend auf UML2 erstellt werden die Diagramme austauschen und wiederverwenden konnen In UML 1 x war das nur fur die Repository Modelle hinter den Diagrammen moglich aber nicht fur die eigentlichen Diagramme Erstellen von Diagrammen Bearbeiten Diagramme von UML2 konnen auf verschiedene Arten erstellt werden Wenn die Notation von UML2 als gemeinsame Sprache eingesetzt wird um in einem Analyseteam Entwurfe von Analysemodellen an der Weisswandtafel Whiteboard festzuhalten reichen Stifte und Papier als Werkzeug Haufig werden Diagramme von UML2 jedoch mit Hilfe von speziellen Programmen UML Werkzeugen erstellt die man in zwei Klassen einteilen kann Programme in der ersten Gruppe 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 gehoren alle Programme zum Erstellen von Zeichnungen Die zweite Gruppe besteht aus Programmen die die Erstellung von Modellen und das Zeichnen von Diagrammen von UML2 unterstutzen Siehe auch UML WerkzeugAustausch von Modellen und Diagrammen BearbeitenDamit Modelle von einem Werkzeug an andere ubergeben werden konnen definiert die Object Management Group ein standardisiertes Austauschformat das auch fur UML Modelle eingesetzt wird Das Format basiert auf der Auszeichnungssprache XML und heisst XML Metadata Interchange XMI Die Grundlage fur die Austauschbarkeit ist das MOF auf dessen Konzept beide Sprachen XMI und UML beruhen Fur die UML Versionen 1 x sah das Format keine Moglichkeit vor Diagramme in einem standardisierten Format auszutauschen was von vielen Anwendern als wesentliche Lucke wahrgenommen wurde Parallel zur Entwicklung von UML2 hat die OMG deshalb auch das standardisierte Austauschformat XMI uberarbeitet Unter anderem wurde die beschriebene Lucke geschlossen indem die Spezifikation unter dem Namen UML 2 0 Diagram Interchange um ein Format fur den Austausch von Diagrammen erweitert wurde Ein Austausch mit anderen Modellierungssprachen ist auch mittels Modell zu Modell Transformation moglich Dazu 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 Flexibilitat ist insbesondere auch beim Austausch zwischen Werkzeugen nutzlich da verschiedene Anbieter praktisch immer auch individuelle Varianten des UML Metamodells haben Siehe auch BearbeitenRational Unified Process Round Trip Engineering UML WerkzeugVerwandte OMG Initiativen und Sprachempfehlungen modellgetriebene Architektur MDA MOF 2 Query Views Transformations QVT Object Constraint Language OCL Modeling and Analysis of Real Time and Embedded systems MARTE Systems Modeling Language SysML Weitere Modellierungsmethoden und Sprachfamilien EXPRESS siehe STEP Fundamental Modeling Concepts FMC IDEFLiteratur BearbeitenHeide Balzert UML 2 in 5 Tagen W3L 2005 ISBN 3 937137 61 0 H Baumann P Grassle Ph Baumann UML 2 projektorientiert Galileo Computing 2007 ISBN 978 3 8362 1014 0 Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2 0 Addison Wesley 2006 ISBN 978 3 8273 2570 9 ubersetzt aus dem Amerikanischen M Born E Holz O Kath Softwareentwicklung mit UML 2 Addison Wesley 2004 ISBN 3 8273 2086 0 B Brugge A H Dutoit Objekt orientierte Softwaretechnik mit UML Entwurfsmustern und Java Pearson Studium 2004 ISBN 3 8273 7082 5 M Fowler Scott Kendall UML konzentriert Addison Wesley 2000 ISBN 3 8273 1617 0 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 3 89864 261 5 B Kahlbrandt Software Engineering mit der Unified Modeling Language Springer 2001 ISBN 3 540 41600 5 Christoph Kecher Alexander Salvanos UML 2 5 Das umfassende Handbuch Rheinwerk Computing 2015 ISBN 978 3 8362 297 77 Bernd Oestereich Axel Scheithauer Analyse und Design mit UML 2 5 Objektorientierte Softwareentwicklung R Oldenbourg Verlag 2013 ISBN 978 3 486 72140 9 Dan Pilone UML kurz amp gut O Reilly ISBN 3 89721 263 3 Bernhard Rumpe Modellierung mit UML 2 Auflage Springer Berlin 2011 ISBN 978 3 642 22412 6 Chris Rupp Stefan Queins Barbara Zengler UML 2 glasklar Praxiswissen fur die UML Modellierung Hanser Verlag 2007 ISBN 978 3 446 41118 0 Sinan Si Alhir Learning UML O Reilly Verlag ISBN 0 596 00344 7 H Storrle UML 2 fur Studenten Pearson Studium Deutschland 2005 ISBN 3 8273 7143 0 H Storrle UML 2 erfolgreich einsetzen Addison Wesley 2005 ISBN 3 8273 2268 5 M Winter Methodische Objektorientierte Softwareentwicklung dpunkt verlag 2005 ISBN 978 3 89864 273 6Zur Zertifizierung Bearbeiten Tim Weilkiens B Oestereich UML2 Zertifizierung dpunkt verlag 2004 ISBN 3 89864 294 1 Tim Weilkiens B Oestereich UML2 Zertifizierung Intermediate Stufe dpunkt verlag 2005 ISBN 3 89864 312 3 Tim Weilkiens B Oestereich UML 2 0 Zertifizierungsvorbereitung Fundamental Intermediate und Advanced dpunkt verlag 2006 ISBN 3 89864 424 3Gekoppelt mit Vorgehensmodellen Bearbeiten Bernhard Rumpe Agile Modellierung mit UML Codegenerierung Testfalle Refactoring 2 Auflage Springer Berlin Juni 2012 ISBN 978 3 642 22429 4 W Zuser T Grechenig M Kohle Software Engineering mit UML und dem Unified Process Pearson Studium 2004 ISBN 3 8273 7090 6Weblinks Bearbeiten nbsp Wiktionary UML Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen nbsp Commons Unified Modeling Language Album mit Bildern Videos und Audiodateien Spezifikationen zur UML2 Bearbeiten OMG Unified Modeling Language TM OMG UML Version 2 5 1 englisch PDF OMG Unified Modeling Language TM OMG UML Version 2 5 englisch PDF UML 2 4 1 Infrastructure Specification englisch PDF UML 2 4 1 Superstructure Specification englisch PDF UML Specification in allen VersionenWeitere Bearbeiten Ubersicht UML Tools MOF 2 0 Core Specification englisch PDF MOF 1 4 Specification englisch PDF Website der OMG zur UML englisch Der moderne Softwareentwicklungsprozess mit UML Online Buch zur UML deutsch Death by UML Fever Ein kritischer Artikel uber UML erschienen in den Communications of the ACMEinzelnachweise Bearbeiten omg org OMG Formal Versions of UML Teil 1 der Spezifikation der Sprache Infrastruktur Grady Booch The unified modeling language user guide Boston 1998 S 15 Webseite der OMG Memento vom 7 August 2011 im Internet Archive UML 2 0 OCL UML 2 0 Infrastructure Abgerufen am 24 Juli 2023 omg org spec UML 2 2Normdaten Sachbegriff GND 4469781 8 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Unified Modeling Language amp oldid 235759518