UML - Unified Modelling Language
Unterpunkte dieser Seite
Einleitung
Superstructure Spezifikation
Classifier
Klassendiagramm
Assoziationen zwischen Klassen
Einleitung
Die aktuelle Version ist die UML 2.0. UML dient zur Modellierung von objektorientierten Softwaresystemen. Die UML definiert einige Diagramme und Notationen aber keine Vorgehensweise. Der Prozess der Softwareentwicklung ist nicht Aufgabengebiet der UML. Die UML besteht aus einem Metamodel
Superstructure Spezifikation
Die Superstrukture definiert die Elemente, die ein Benutzer der UML beim Modellieren verwenden kann. Die Infrastruktur beschreibt das MetaModel.
Classifier
Ein Classifier ist die Abstraktion einer Klasse. Die Klasse ist also eine konkrete Ausprägung eines Clasifiers. Der Clasifier ist Teil des Sprachdesigns der UML und ist somit Teil des UML Metamodels. Neben Klassen sind auch Datentypen, Signale, Aktoren, Use-Cases und viele Dinge mehr konkrete Ausprägungen eines Clasifiers.
Klassendiagramm
Für die UML ist ein Objekt eine konkrete Ausprägung einer Klasse. Ein Klasse fasst logisch zusammengehörige Daten und auf diesen Daten zulässige Operationen zusammen.
Assoziationen zwischen Klassen
Allgemeines
Ein Pfeil besteht aus einem Schaft und einer Spitze. Der Schaft kann eine durchgängige oder eine gestrichelte Linie sein. Die Spitze kann offen oder geschlossen sein. Eine geschlossene Spitze ist ein Dreieck, bei dem alle Kanten aufgemalt sind. Ein offener Pfeil ist ein Dreieck, bei dem die Grundseite nicht gemalt ist und das Dreieck an dieser Stelle also offen ist. Eine Spitze kann ausgefüllt oder unausgefüllt sein.
Association
Assoziationen stellen die Verbindungen zwischen den Klassen dar, die im Programm miteinander kommunizieren müssen. Assoziationen drücken die Verbindungen zwischen gleichberechtigten Klassen aus, die nur Services der jeweils anderen Klasse nutzen. Aggregation und Komposition sind Spezialfälle der Assoziation, bei der es sich nicht um eine Verbindung zwischen gleichberechtigen Klassen handelt, sondern um Beziehungen zwischen einer dominanten und einer dominierten Klassen handelt. Assoziationen besitzen Multiplizitäten, Richtungen und Rollen, die den Sinn der Verbindung beschreiben. Die Multiplizität drückt aus, mit wievielen Instanzen der jeweils anderen Klasse, die eine Klasse in verbindung gebracht werden kann. Die Multiplizität steht auf der gegenüberliegenden Seite einer Assoziation.
Aggregation
Eine Aggregation liegt vor, wenn eine Klasse auch ohne die anderen existieren kann, die andere Klasse ihre Aufgabe ohne die eine Klasse aber nicht erfüllen kann. Es wird mit einer Aggregation eine Teil-eines-Ganzen Beziehung modelliert. Eine Aggregation wird durch eine unausgefüllte Raute auf der Seite der Klasse dargestellt, die die andere Klasse enthält.
Komposition
Eine sehr starke Verbindung zwischen zwei Klassen wird als Komposition modeliert. Man bewertet die Stärke der Verbindung anhand der Lebenslinien der Objekte der Klassen, wenn die jeweils andere Lebenslinie endet.Eine Komposition wird verwendet, falls zwei Klassen gleichzeitig zerstört werden und sich während ihrer Lebenszeit gegenseitig brauchen und ohne den jeweils anderen ihre Aufgabe nicht erledigen können. Eine Komposition wird durch eine schwarze Raute auf der Seite der Klasse dargestellt, die die andere Klasse enthält.
Dependency
Wird dargestellt durch einen Pfeil mit offener Spitze und einem gestrichelten Pfeilschaft.
Generalization
Wenn eine Klasse B von einer Klasse A abgeleitet ist, dann ist B eine Spezialisierung von A und A ist eine Generalisierung von B, da A allgemeiner ist und weniger kann. Diese Assoziation der Ableitung drückt UML durch eine Generalization aus. Es handelt sich um einen Pfeil mit unausgefüllter geschlossener Spitze, der auf die Oberklasse (Generalisierung) zeigt und dessen Pfeilschaft ein durchgezogener Strich ist.
Realisation
Ein Interface kann von einer Klasse realisiert werden. In Java gibt es dazu das Schlüsselwort implements. Wenn eine Klasse ein Interface realisiert hat, dann besteht in UML Terminologie eine Realisationsbeziehung zwischen der Klasse und dem Interface.
zum Seitenanfang
zur Hauptseite
Letzte Änderung: 10.06.2006