Lade Inhalt...

Unified Modeling Language (UML)

Definitionen, Beschreibungen, Notationen, Zielen und Einsatzbereiche der dreizehn Diagrammtechniken

Studienarbeit 2009 39 Seiten

Informatik - Wirtschaftsinformatik

Leseprobe

Inhalt

1 Abbildungs- und Tabellenverzeichnis

2 Einleitung

3 Definitionen und Begrifflichkeiten
3.1 UML als Sprache
3.2 Definition UML
3.3 Objekte
3.4 Klassen
3.5 Notationen
3.6 Attribute, Operation, Zusicherungen und Beziehungen
3.7 Assoziationen
3.8 Generalisierung
3.9 Spezialisierung

4 Stereotypen
4.1 Definition
4.2 Stereotypen
4.2.1 <<destroy>>
4.2.2 <<entity>>
4.2.3 <<control>>
4.2.4 <<interface>>
4.2.5 <<copy>>

5 Diagrammarten
5.1 Diagrammtypen
5.2 Strukturdiagramme
5.2.1 Klassendiagramm
5.2.2 Kompositionsstrukturdiagramm
5.2.3 Komponentendiagramm
5.2.4 Verteilungsdiagramm
5.2.5 Objektdiagramm
5.2.6 Paketdiagramm
5.3 Verhaltensdiagramme
5.3.1 Aktivitätsdiagramm
5.3.2 Anwendungsfalldiagramm
5.3.3 Interaktionsübersichtdiagramm
5.3.4 Sequenzdiagramm
5.3.5 Kommunikationsdiagramm
5.3.6 Zeitdiagramm
5.3.7 Zustandsdiagramm

6 Literaturverzeichnis

1 Abbildungs- und Tabellenverzeichnis

Abbildung 1: Notation Stereotypen

Abbildung 2: Klassendiagramm

Abbildung 3: Kompositionsstrukturdiagramm

Abbildung 4: Komponentendiagramm

Abbildung 5: Kompositionsstrukturdiagramm

Abbildung 6: Objektdiagramm

Abbildung 7: Paketdiagramm

Abbildung 8: Aktivitätsdiagramm mit Startknoten

Abbildung 9: Aktivitätsdiagramm mit Endknoten

Abbildung 10: Kontrollknoten

Abbildung 11: Hauptkomponenten eines Anwendungsfalles

Abbildung 12: Interaktionsübersicht

Abbildung 13: Sequenzdiagramm

Abbildung 14: Kommunikationsdiagramm

Abbildung 15: Zeitdiagramm

Abbildung 16: Zustandsdiagramm

Tabelle 1: Multiplizitäten in der UML

Tabelle 2: Notationen der Beziehungen im Anwendungsfall.

2 Einleitung

Die vorliegende Arbeit beschäftigt sich mit der Unified Modeling Language (UML). Im Rahmen der Veranstaltung Wirtschaftsinformatik 2 unter der Leitung von Professor Dr. G. wurden im Sommersemester 2009 Referate gehalten. Die UML schafft die Möglichkeit Systeme in Wort und Bild zu beschreiben. Darüber hinaus schafft es UML als Sprache zu fungieren und hilft somit Kommunikationshürden zu meisten.

Diese Hausarbeit behandelt alle dreizehn Diagrammtechniken der UML. Dabei wird speziell auf die Definitionen, Beschreibungen, Notationen, Zielen und Einsatzbereiche eingegangen. Für jede Diagrammtechnik wird, zum besseren Verständnis, ein Beispiel angeführt. Um ein Fundament für die Anwendung von UML zu schaffen, werden die wichtigsten Grundbegriffe vorher erläutert, um sie danach in den verschiedenen Diagrammtechniken beispielhaft anzuwenden. Die grundlegenden Begrifflichkeiten sind dafür notwendig, da die Diagrammarten diese voraussetzen. Ein weiterer grundlegender Abschnitt sind die Stereotypen. Stereotypen sind wichtige Bestandteile von UML-Profilen.

3 Definitionen und Begrifflichkeiten

In diesem Kapitel werden die wichtigsten Definitionen und Begrifflichkeiten der UML beschrieben. Dem Leser soll das nötige Basiswissen vermittelt werden, um in dem nachführenden Kapitel die Diagrammtechniken zu verstehen.

3.1 UML als Sprache

Um einen Einstieg in die UML zu bekommen, ist es von grundlegender Bedeutung UML als Sprache zu verstehen. Daraus folgt, dass die UML über eine Syntax und eine Semantik verfügt. Eine Syntax ist die Definition aller Wörter oder Programme, die in einer Sprache formuliert werden können und die Semantik beschreibt die Bedeutung der zulässigen Wörter. Diese Sprache folgt Regeln, wie ihre Sprachelemente eingesetzt werden können und welche Bedeutung hinter diesen Elementen steht. UML ist aber keine reine bildliche Sprache, sondern verfügt über einen Kontext der hinter den Diagrammen steht. Dieser Kontext zeigt, in welchen Beziehungen die Elemente in einer Kommunikationssituation zueinander stehen. UML findet vorwiegend seinen Einsatz in dem Entwerfen von Software, Aufzeichnung von Anforderungen und Analyse von Einzelheiten der Systeme, wie die Kommunikation von Geschäfts- oder Softwareprozesse und die Dokumentation von Systemen, Prozessen und Organisationen.[1]

3.2 Definition UML

In diesem Kapitel werden die verschiedenen Definitionsarten der UML aufgezeigt. Es werden die Definitionen der UML-Entwickler Bernd Oestereich, Grady Booch, James Rumbaugh und Ivar Jacobsen miteinander verglichen. Die erste Definition führt der Bernd Oestereich an: „Die Unified Modeling Language ist eine Sprache und Notation zur Spezifikation, Konstruktion, Visualisierung und Dokumentation von Modellen für Softwaresysteme.“[2] Um einen Überblick aller Definitionen der wichtigen Mitwirkenden von UML aufzuzeigen, wird die Definition von Grady Booch, James Rumbaugh und Ivar Jacobsen der von Bernd Oestereich gegenüber gestellt. Darin heißt es: „Die vereinheitliche Modellierungssprache UML ist eine standardisierte Sprache, die zur Anfertigung von Softwarebauplänen dient. Mit Hilfe von UML lassen sich die Artefakte softwareintensiver Systeme visualisieren, spezifizieren, konstruieren und dokumentieren.“[3] Die folgende Hausarbeit wird anhand der Definition von Bernd Oestereich erstellt. Die Gliederung und Definitionen der Grundlagen orientieren sich an der Literatur von Bernd Oestereich.

Die UML kann für die ständigen wachsenden Anforderungen der IT-Branche genutzt werden. Die Komplexität der Systeme steigt kontinuierliche an und so wird eine Modellierungssprache unabdingbar. UML weist einen breiten Anwendungsbereich für die Modellierung von Systemen auf. Sie bietet den Entwicklern die Möglichkeit, den Entwurf und die Entwicklung von Prozessen oder Abläufen für Softwaremodellierungen auf einer einheitlichen Basis zu erstellen und zu diskutieren. Sie basiert auf einem objektorientierten Ansatz und wurde 1997 von der „Object Management Group“ (OMG) standardisiert.

Das Ziel der UML kann als die Modellierung eines bestimmten Problembereiches beziehungsweise Realitätsausschnitts mit Hilfe von Objekten und Klassen verstanden werden. UML stellt dazu entsprechende Sprach- beziehungsweise Modellierungs-konzepte und eine grafische Notation zur Verfügung. Das Resultat einer Modellierung mit UML stellen Modelle und die damit verbundene grafische Form von Diagrammen dar. Ein jedes Modell stellt eine Abstraktion der Realität dar und versucht diese aus einer bestimmten Sichtweise widerzuspiegeln. Um verschiedene Aspekte eines Realitätsausschnitts aufzuzeigen, kann dieser durch mehrere Modelle beschrieben werden, die unterschiedliche Sichten darstellen.

UML ist allerdings keine Methode. Sie ist ein Satz von Notationen zur Formung einer allgemeinen Sprache, für die Entwicklung von Systemen. Eine Methode hingegen beinhaltet Empfehlungen zur Vorgehensweise bei Entwicklungsprozessen.

Um UML erfolgreich zu nutzen, ist es notwendig eine passende Methode zu entwickeln,

die die UML unterstützt.[4]

3.3 Objekte

Die Objektorientierung basiert auf der Methode die Gegenstände der realen Welt als Objekte darzustellen. Objekte sind demnach Exemplare einer Instanz. Diese sind Abstraktionen der realen Welt. Demzufolge verfügen Objekte über Eigenschaften und Verhaltensweisen. Eigenschaften werden Attribute genannt und beschreiben die Struktur, ihre Bestandteile und die in ihnen enthaltenen Informationen der Objekte. Das Verhalten wird durch Methoden beschrieben.[5] Wir führen ein Beispiel aus der Praxis eines Logistikers an. Als Attribute des Objektes „Palette“ wäre beispielsweise die Materialart, die Breite und die Länge anzunehmen.[6]

3.4 Klassen

Der Begriff „Klasse“ ist ein wesentlicher Bestandteil der objektorientierten Modellierungssprachen. Er findet in alle Bereichen und Diagrammtechniken seinen Einsatz und wird wie folgt definiert: „Eine Klasse ist die typische Beschreibung einer Instanziierungsvorschrift für Objekte, die deren Zusammensetzung, statische Vererbung und Zugriffsrechte berücksichtigt, sowie Daten und Operationen im Sinne abstrakter Datentypen deklarativ miteinander verbindet.“[7] Objekte ähnlicher Attribute und Methoden können in Klassen zusammengefasst werden. Dies dient in erster Linie der besseren Verwaltung gleichartiger Objekte. Zudem werden Objekte aus der jeweiligen Klasse heraus erzeugt. Sie dient somit als Konstruktionsvorlage.[8]

Klassen, die keine Attribute oder Methoden besitzen, werden als abstrakte Klasse bezeichnet. Aus diesen Klassen können keine Objekte generiert werden. Erst nach Implementierung von Methoden und Attributen in den abgeleiteten Klassen können weitere Objekte von dieser Klasse generiert werden. Rein formal besteht bei UML kein Unterschied zu einer normalen Klasse. Um diese allerdings sie für den Entwickler oder Projektbeteiligte erkennbar zu machen, wir das Wort „abstrakt“ in geschweiften Klammern unter den Klassennamen geschrieben oder der Klassenname wir kursive dargestellt.[9]

Als Beispiel kann der Oberbegriff Palette dienen. Von ihm kann man die konkreten Begriffe Euro-, Einweg-, Chep-, usw. ableiten. Von jedem dieser konkreten Begriffe können Exemplare erzeugt werden, z.B. ein Europalette mit der Breite 800 mm. Eine abstrakte Klasse ist also eine Oberklasse für Unterklassen.

Schnittstellenklassen spezifizieren das externe Verhalten von Klassen und enthalten in abstrakter Form Signaturen und Beschreibungen von Operationen. Sie sind abstrakte Klassen mit dem Stereotyp "interface". Klassen, die alle von einer Schnittstellenklasse geforderten Operationen bereitstellen können sind eine Umsetzung dieser Schnittstelle. Eine Klasse kann mehrere Schnittstellen anbieten.[10]

3.5 Notationen

Eine wichtige Begrifflichkeit in der UML ist die Notation. Notationen sind grafische Elemente, die man in den Modellen sieht. Sie ist ebenfalls die Deklaration von Gegenständen, die nach vorgegebenen Regeln eingesetzt werden. Jede Diagrammtechnik, die in späteren Kapiteln noch erläutert werden, besitzt seine eigenen Notationselemente und bedient sich ebenfalls an den Grundlagen.

3.6 Attribute, Operation, Zusicherungen und Beziehungen

Dieser Abschnitt beschäftigt sich mit den Eigenschaften von Klassen. Es werden Attribute, Operations, Zusicherungen und Beziehungen definiert. Diese vier Elemente bilden wichtige Grundlagen für alle Diagrammtechniken.

Attribute sind strukturelle Merkmale einer Klasse und beschreiben die Struktur von Objekten, welche in dieser Klasse vorkommen. Es besitzt einen Namen und einen Typ. Die verwendeten Attribute können mit einer Sichtbarkeitsvorgabe versehen werden (- = private, + = public, # = protected), welche den Zugriff auf die Informationen für den User festlegen.

Um das Verhalten der Klassen darzustellen, werden Operations genutzt. Operations sind Modellelemente, die das Ziel verfolgen das Verhalten der Klassen zu beschreiben.

Eine Klasse verfügt über Regeln, Bedingungen und Voraussetzungen, die die Objekte erfüllen müssen. Um diese darstellen zu können werden Zusicherungen verwendet. „Bei einer Zusicherung handelt es sich um eine Eigenschaft, von der man immer erwartet, dass sie wahr ist.“[11] Zusicherungen beschreiben dieses Anforderungsprofil und werden hinter dem Attributnamen in geschweiften Klammern angeordnet. Zusicherungen werden in die Kategorien Strukturbezogene und Verhaltensbezogene Zusicherungen eingeteilt. Strukturbezogene Zusicherungen begrenzen die Art und Weise, wie Objekte untereinander Assoziationen eingehen können und verhaltensbezogene Zusicherungen begrenzen die Art und Weise, wie Prozesse ausgeführt werden.[12]

Ein weiteres wichtiges Grundelement sind Beziehungen in der UML. „Eine Beziehung zwischen Klassen ist eine semantische Verknüpfung von zwei oder mehreren Klassen.“[13] Beziehungen werden in drei Formen unterschieden. Die erste Form ist die Vererbungsbeziehung, in der die Generalisierung und Spezialisierung behandelt wird, die zweite Form ist die Nutzungsbeziehung und die Dritte ist die Importbeziehung. In der UML trägt die Vererbungsbeziehung eine wichtige Rolle. Generalisierung und Spezialisierung werden noch gesondert definiert.[14]

3.7 Assoziationen

Als sehr wichtige Grundlage zur Darstellung von Beziehungen dienen der UML Assoziationen. Assoziationen werden wie folgt definiert: „Eine Assoziation repräsentiert die Beziehungen zwischen verschiedenen Objekten einer oder mehreren Klassen.“[15] Es ist die allgemeinste Form der Darstellung von Beziehungen zwischen zwei Klassen in einem objektorientierten System. Diese Beziehung kann durch eine oder zwei Rollen ausgeführt werden.

Assoziationen geben die Sichtweise eines relationalen Musters wieder. Diese Relationen werden als Tabellen hinterlegt und ihre Beziehungen fragen über dynamische Anfragen diese Tabellen an. In objektorientierten Systemen werden Objekte über ihre Identität erkannt und nicht darüber welche Anzahl an Werten ihrer Attribute sie enthält. Somit sind Assoziationen ein geeignetes Werkzeug, um wertbezogene Zuordnungen in einem Objektnetz darzustellen.[16]

[...]


[1] Vgl. Pilone, Dan, Pitman, Neil, 2006, S. 2

[2] Oestereich, Bernd 2005, S. 209

[3] Booch, Grady, Rumbaugh, James, Jacobsen, Ivar, 2005, S. 37

[4] Vgl. Oestereich, Bernd 2005, S. 209

[5] Oestereich, Bernd, 2005, S. 42

[6] Vgl. Balzert, Heide, 2005, S. 11 - 12

[7] Burkhardt, Rainer, 1999, S.23

[8] Vgl. Burkhardt, Rainer, 1999, S.23

[9] Vgl. Oestereich, Bernd, 2005, S.56

[10] Vgl. Oestereich, Bernd, 2005, S.76

[11] Martin, James, Ordell, James J. , 1999, S. 266

[12] Vgl. Martin, James, Ordell, James J. , 1999, S. 266 - 267

[13] Neumann, Horst A., 1998, S. 18

[14] Vgl. Neumann, Horst A., 1998, S. 18

[15] Oestereich, Bernd, 2005, S. 57

[16] Vgl. Fowler, Martin, Scott, Kendall, 1998, S. 65

Details

Seiten
39
Jahr
2009
ISBN (eBook)
9783640519187
Dateigröße
700 KB
Sprache
Deutsch
Katalognummer
v141921
Note
Schlagworte
Unified Modeling Language Definitionen Beschreibungen Notationen Zielen Einsatzbereiche Diagrammtechniken

Autor

Teilen

Zurück

Titel: Unified Modeling Language (UML)