22
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

Embed Size (px)

Citation preview

Page 1: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22

Page 2: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/22

Objektorientierte Modellierung

Einleitung

Zu Zeiten der strukturierten Programmierung hat für die grafische

Darstellung der Programme ein Programmablaufplan (PAP) oder ein

Strukturgramm ausgereicht. Mit der Größe des Programms vergrößerte

sich auch die grafische Darstellung.

Mit der Entwicklung der objektorientierten Programmierung musste auch in

Richtung Darstellung und Design umgedacht werden.

Page 3: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/22

Page 4: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

Eingabe:Zahl

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/22

StartBeispiel PAP

Ende

ERG = Zahl * Zahl

Ausgabe:ERG

Noch mal?

nein

ja

Page 5: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/22

Was ist UML?

Die Modellierungssprache UML (unified modelling language) stellt eine

grafische Sprache zu Visualisierung, Spezifikation, Konstruktion und

Dokumentation der verschiedenen Elemente von Modellen für

Softwaresysteme (Informationssysteme) zur Verfügung.

UML bietet vier Diagrammarten für die Beschreibung statischer

Systemstrukturen und ebenfalls vier Diagrammarten zur Beschreibung des

dynamischen Laufzeitverhaltens

Page 6: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/22

UML

Klassendiagramme

Anwendungsfall-diagramme

Komponenten-diagramme

Verteilungs-diagramme

Sequenzdiagramme

Aktivitäts-diagramme

Kollaborations-diagramme

Zustands-diagramme

Modellierung der

statischen Systemstruktur

Modellierung des dynamischen

Laufzeitverhaltens

Page 7: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/22

Wie ist UML entstanden?

„Design first“ ist eine Forderung von Softwareentwicklern der OOP

(objektorieniterte Programmierung). Deshalb entstanden verschiedene

Designmethoden und Notationsweisen.

Um einen unsinnigen Streit zu vermeiden, schlossen sich drei Entwickler unter

dem Dach der Firma Rational zusammen.

James Rumbaugh, Ivar Jacobson und Grady Booch, bekannt unter dem Namen

„drei Amigos“, entwickelten eine Unified Method (UM). Diese Entwicklung wurde

unter dem Namen UML fortgeführt.

1997 wurde UML von der OMG (Object Management Group), einer Non Profit

Organisation, zum Standard erklärt. Zu der OMG gehören über 800 Mitglieder

(IBM, Oracle, Philips, Siemens, Sun und einige Universitäten). Die ISO ist

ebenfalls dabei, UML als Standard einzuführen.

UML ist durchaus noch nicht fertig. Renommierte Unternehmen, wie Hewlett-

Packard, i-Logix und Microsoft, arbeiten an der Weiterentwicklung.

Page 8: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 8/22

Wie komme ich zu UML?

Einige Entwickler bieten UML-Tools an. Nicht alle Tools beherrschen alle

Diagrammarten und kaum ein (eigentlich keiner) Entwickler seine Software als

Freeware an.

Aber Trial-Versionen sind durchaus verfügbar. Als ein umfangreiches Tool kann

„Rational Rose“ angesehen werden.

Rational Rose kann als Trial Version gedownloadet werden.

Alternativen gibt es unter:

>>http://www.jeckle.de/umltools.htm<<

Page 9: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 9/22

Vorteile von UML

Es ist schwer, Vorteile zu finden, wenn es nicht viele Alternativen gibt. Dennoch

lohnt es sich, folgende Aspekte im Auge zu behalten.

• Mit UML lassen sich bestimmte Aspekte eines Problembereiches auf einer

vorgegebenen Abstraktionsebene grafisch repräsentieren und bietet damit

mehrere Sichtweisen.

• UML bietet eine Schnittstelle bei der Kommunikation zwischen den

Entwicklern untereinander, bzw. zwischen Entwickler und Kunde.

• Einige Tools, wie z.B. „Rational Rose“, bieten einen Codegenerator. Damit ist

es möglich, einen Quellcode über das UML-Tool zu erstellen. Mit „Rational

Rose“ ist es beispielsweise möglich, einen Visual Basic Code zu generieren.

Page 10: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 10/22

UML Syntax und Semantik

Syntax [lat., griech.]

Eigentlich Zusammenstellung, weitere Bedeutungen:

In einer Sprache übliche Verbindung von Wörtern zu Wortgruppen und Sätzen.

(Sprachwissenschaft)

Ist die Lehre vom Bau des Satzes als Teilgebiet der Grammatik.

Semantik [griech.]

Eigentlich Bezeichnen, weitere Bedeutung:

Teilgebiet der Linguistik, die sich mit den Bedeutungen sprachlicher Zeichen und

Zeichenfolgen befasst.

Syntax und Semantik sind immer Gegenstand von Reformen, was Nachteile

beim Lernen und Lehren mit sich zieht.

Page 11: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 11/22

Um mit natürlich formalen Sprachen zu arbeiten, ist es notwendig, Semantik

und Syntax zu beherrschen.

Sätze, wie „Studenten lieben das Leser“, sind syntaktisch falsch, da die

Kombination „das Leser“ grammatisch nicht zueinander passt. Aus diesem

Grund könnte es zu Fehlinterpretationen kommen. Sätze, wie „Dozenten lügen

immer“, sind zwar syntaktisch richtig, aber semantisch höchst zweifelhaft.

Die formalen Sprachen in der Informatik sind semantisch schwer zu

beschreiben, syntaktisch meist jedoch unproblematisch. Sie werden mit einer

formalen Grammatik definiert. Neulinge können schnell die Regeln der Sprache

erlernen. Zudem gibt es Tools (Übersetzungsprogramme), die syntaktische

Fehler sofort aufdecken.

Page 12: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 12/22

Für UML gilt dies nicht!

Als grafische Sprache entzieht sich UML einer rigorosen Definition.

Es gibt zwar ein Konzept der Graphgrammatik, dies ist aber umständlich

beschrieben.

UML wird daher verbal durch Beispiele beschrieben. Zur Unterstützung gibt es

ein UML-Metamodell, das man allerdings erst versteht, wenn man UML

beherrscht.

Page 13: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 13/22

Übungsbeispiel:

Gegeben sind die Geschäftsprozesse einer Werkzeugausgabe. Ein ständiger

Mitarbeiter registriert den Einkauf neuer Werkzeuge (z.B. Bohrer). Ein andere

Mitarbeiter der Firma entleiht die Werkzeuge und füllt entsprechende

Entnahmescheine aus. Defekte Werkzeuge werden durch den zuständigen

Mitarbeiter ausgetragen.

Anwendungsfalldiagramm

Systemgrenze

Diagrammname

Page 14: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 14/22

Diagrammtypen der UML

Anwendungsfalldiagramm (engl. use case diagram)

Ein Anwendungsfalldiagramm zeigt Akteure, Ereignisse und Anwendungsfälle,

also wer das System benutzt und was er damit anfängt. Akteure können

Personen oder andere, externe Systeme sein. Sie repräsentieren damit immer

die externe Sicht auf das System. Ein einfaches Rechteck symbolisiert die

Systemgrenzen. Eine Menge von Akteuren können rechts oder links vom

System angesiedelt werden.

Anwendungsfälle werden als Ellipsen innerhalb der Systemgrenzen dargestellt.

Anwendungsfälle werden mit den dazugehörigen Akteuren durch Linien

verbunden. Die Bezeichnung der Anwendungsfälle kann innerhalb oder

außerhalb der Ellipsen stehen. Letzteres hat den Vorteil, stets gleich große

Ellipsen sein zu können, was von einigen Tools bevorzugt wird.

Page 15: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 15/22

Aufgabe Anwendungsfalldiagramm

Stellen Sie in Form eines Anwendungsfalldiagramms die Funktionsvorgänge

einer Bibliothek dar.

Page 16: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 16/22

Anwendungsfall

Andere Begriffe: engl. use case, Nutzungsfall, Szenario, Skript

Definition Anwendungsfall

Ein Anwendungsfall beschreibt eine Menge von Aktivitäten eines Systems aus

der Sicht seiner Akteure, die für die Akteure zu einem wahrnehmbaren Ergebnis

führen. Ein Anwendungsfall wird immer durch einen Akteur initiiert. Ein

Anwendungsfall ist eine komplette, unteilbare Beschreibung.

Anwendungsfälle beschreiben Geschäftsprozesse und Geschäftsvorfälle in der

Interaktion zwischen Akteur und System. Ein Anwendungsfall beschreibt daher

Anforderungen an das System, d.h. was es leisten muss, aber nicht, wie er

dieses leisten soll.

Page 17: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 17/22

Es sind folgende Regeln zu beachten:

• An jedem Anwendungsfall ist mindestens ein Akteur beteiligt.

• Jeder Anwendungsfall hat einen fachlichen Auslöser.

• Jeder Anwendungsfall produziert ein relevantes fachliches Ergebnis mit

„geschäftlichen Wert“.

Page 18: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 18/22

Arten von Anwendungsfällen

Normaler Anwendungsfall

AbstrakterAnwendungsfall

<secondary>Sekundärer

Anwendungsfall

<essential>Essentieller

Anwendungsfall

<business>Geschäfts-

Anwendungsfall

Geschäfts-Anwendungsfall

Gewöhnlicher Anwendungsfall, der im Gegenteil zum essentiellen, auch nicht-fachliche Rahmenbedingungen und Annahmen enthalten kann.

Die hier beschriebenen Sachverhalte und Abläufe kommen real, bzw. konkret nicht vor.

Beschreiben eine funktionale Zerlegung bestehender Anwendungsfälle.

Dieser Anwendungsfall ist abstrakt verallgemeinert, vereinfacht technologieneutralimplementierungsunabhängig. Er konzentriert auf das eigentlich Fachliche.

Diese Anwendungsfälle fokussieren sich auf die geschäftliche Sicht.

Page 19: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 19/22

Akteur

Verwandte Begriffe: actor, stakeholder, Beteiligter, Ereignis Event, Externes

System, dialog boundary, control, entity

Definition

Ein Akteur ist eine außerhalb des zu realisierenden Systems liegende Einheit, die

an der in einem Anwendungsfall beschriebenen Interaktion mit dem System

beteiligt ist. Er kann Mensch (Benutzer) oder technisches System

(Betriebssystem) sein.

Eine Person, die im Geschäftsvorfall mehrere Rollen ausübt, wird im Diagramm

auch entsprechend der Rollen mehrfach aufgeführt.

Notation

Akteure können als Textuelles Stereotyp, als visuelles Stereotyp oder in

gemischter Form vorliegen.

Page 20: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 20/22

<Actor>Am Anwendungsfall beteiligte Person

und Rolle der Person

<Actor>Am Anwendungsfall beteiligtes externes

System, das ein Zeitereignis auslöst(Zeitgeber Betriebssystem)

<Actor>Am Anwendungsfall beteiligtes

Technisches System und dessen Rolle

Page 21: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 21/22

Anwendungsfallbeziehungen

In der UML sind drei Beziehungen definiert.

<<include>>

Mit der include-Beziehung lässt sich darstellen, dass innerhalb eines

Anwendungsfalls ein anderer Anwendungsfall vorkommt.

Er eignet sich, um Redundanzen zu vermeiden.

<<extend>>

Mit dieser Beziehung lässt sich ausdrücken, dass ein Anwendungsfall unter

bestimmten Umständen an einer bestimmten Stelle durch einen so genannten

Erweiterungspunkt (extension point) durch einen anderen erweitert wird.

Spezialisierung Generalisierung

Mit der Generalisierung können Unter-Anwendungsfälle von den Ober-

Anwendungsfällen Verhalten und Bedeutung erben.

Page 22: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/22

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 22/22

Attribute

Attribute werden mindestens mit ihrem Namen aufgeführt und können

zusätzliche Angaben zu ihrem Typ (d.h. ihrer Klasse), einen Initialwert,

Eigenschaftswert und Zusicherungen enthalten. (Definition Attribute erfolgt

später)

Operationen

Operationen werden ebenfalls mindestens mit ihrem Namen, zusätzlich durch

ihre möglichen Parameter, deren Klasse und Initialwert, sowie eventuelle

Eigenschaftswerte und Zusicherungen notiert.