Post on 05-Apr-2015
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
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
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
Anwendungsfall-diagramme
Komponenten-diagramme
Verteilungs-diagramme
Sequenzdiagramme
Aktivitäts-diagramme
Kollaborations-diagramme
Zustands-diagramme
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 Hewlett-
Packard, 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
Ü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
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 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“.
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.
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 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
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.
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.