UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
1/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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
3/22
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
Beispiel PAP
Start
Eingabe:
Zahl
ERG = Zahl * Zahl
Ausgabe:
ERG
ja
Noch mal?
nein
Ende
4/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
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
6/22
UML
Klassendiagramme
Sequenzdiagramme
Anwendungsfalldiagramme
Aktivitätsdiagramme
Komponentendiagramme
Kollaborationsdiagramme
Verteilungsdiagramme
Zustandsdiagramme
Modellierung der
statischen Systemstruktur
Modellierung des dynamischen
Laufzeitverhaltens
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 HewlettPackard, i-Logix und Microsoft, arbeiten an der Weiterentwicklung.
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<<
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.
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.
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.
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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
13/22
Anwendungsfalldiagramm
Systemgrenze
Diagrammname
Ü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.
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.
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.
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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
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“.
17/22
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
18/22
Arten von Anwendungsfällen
Normaler
Anwendungsfall
Gewöhnlicher Anwendungsfall, der im Gegenteil zum essentiellen, auch
nicht-fachliche Rahmenbedingungen und Annahmen enthalten kann.
Abstrakter
Anwendungsfall
Die hier beschriebenen Sachverhalte und Abläufe kommen real, bzw. konkret nicht vor.
<secondary>
Sekundärer
Anwendungsfall
Beschreiben eine funktionale Zerlegung bestehender Anwendungsfälle.
<essential>
Essentieller
Anwendungsfall
Dieser Anwendungsfall ist abstrakt verallgemeinert, vereinfacht technologieneutral
implementierungsunabhängig. Er konzentriert auf das eigentlich Fachliche.
GeschäftsAnwendungsfall
Diese Anwendungsfälle fokussieren sich auf die geschäftliche Sicht.
<business>
GeschäftsAnwendungsfall
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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg
<Actor>
Am Anwendungsfall beteiligte Person
und Rolle der Person
<Actor>
Am Anwendungsfall beteiligtes
Technisches System und dessen Rolle
<Actor>
Am Anwendungsfall beteiligtes externes
System, das ein Zeitereignis auslöst
(Zeitgeber Betriebssystem)
20/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 OberAnwendungsfällen Verhalten und Bedeutung erben.
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.

Präsentation