Abteilung für Informationswirtschaft
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified
Modeling Language
Michael Hahsler
Abteilung für Informationswirtschaft
Seite 2Dr. Michael Hahsler
Ziel dieses Sem inars• Verständnis von Objekt-Orientierung
– Was sind Klassen?
– Was ist Vererbung?
• Modellierung mit UML– Welche Diagramme gibt es?
– Wie liest und erstellt man dieseDiagramme
Abteilung für Informationswirtschaft
Seite 3Dr. Michael Hahsler
Das Wasserfall Modell• Analyse (WAS?)
– Erstellung der Problembeschreibung, Requirements– Abbildung der Realität im Objektmodell
• Design (WIE?)– Verfeinerung des Objektmodells– Beschreibung der Eigenschaften der Objekte
• Implementierung– Auswahl einer Programmiersprache– Programmieren, Testen, Dokumentieren– Wartung und Verbesserung
UML als
Notation
Abteilung für Informationswirtschaft
Seite 4Dr. Michael Hahsler
Objekte• „Dinge“ aus der realen Welt• Besitzen:
– Eigenschaften (Attribute)
– Verhalten (Methoden)
• Kommunizieren mit anderen Objekten(Nachrichten)
trinken
Abteilung für Informationswirtschaft
Seite 5Dr. Michael Hahsler
Nachrichten und Methoden• Nachrichten sind Signale von einem Objekt an ein
anderes.• Nachrichten lösen Methoden des anderen Objekts
aus.
trinken (einen Schluck)
Michael1. Dose
Nachricht
Abteilung für Informationswirtschaft
Seite 6Dr. Michael Hahsler
Kapselung• Objekte können Eigenschaften (Attribute) verbergen• Objekte können Methoden gegen Zugriff von außen
schützen• Die allgemein zugänglichen Methoden nennt man Interface
Wieviel Flüssigkeit ist in dieser Dose?
Kann jeder diese Dose verschließen?
Abteilung für Informationswirtschaft
Seite 7Dr. Michael Hahsler
Klassen• Bauplan für ähnliche Objekte.• Beschreibt Methoden und Attribute die das Objekt
bekommt.• Objekte (Instanzen) werden aus Klassen erzeugt
Volumen = x
Instanzierung
Abteilung für Informationswirtschaft
Seite 8Dr. Michael Hahsler
Vererbung (Inheritance)• Hierarchische Beziehung zwischen Klassen mit
ähnlichen Eigenschaften
Behälter
Dose Häferl Gießkanne
Abteilung für Informationswirtschaft
Seite 9Dr. Michael Hahsler
Polymorphismus• Griechisch: Vielgestaltigkeit• Gemeinsames Interface von verschiedenen Objekten
Behälter
Dose Häferl Gießkanne
Ich kenne das Interface
eines Behälters!
Was weiß ich daher über
Gießkannen?
Abteilung für Informationswirtschaft
Seite 10Dr. Michael Hahsler
Objekte und Abstraktion• Modellierung ist Vereinfachung• Modellierung ist Einschränkung• Was ist das Wesentliche?
Ist diese Nutzung des modellierten
Häferls vorgesehen?
Abteilung für Informationswirtschaft
Seite 11Dr. Michael Hahsler
Vorteile der Objekt-Orientierung• Objekte in Programmen entsprechen realen Objekten (von
Analyse bis zur Implementierung)• Modularität durch die Kapselung in Objekte• Wiederverwendung von Objektbibliotheken• Geringere Kosten bei Wartung• ...
Abteilung für Informationswirtschaft
Seite 12Dr. Michael Hahsler
Die UML NotationUse Cases
– Akteure, Szenarios
Klassendiagramme– Klassen, Beziehungen
CollaborationsdiagrammeAktivitätsdiagramm
– Ablaufmöglichkeiten
Sequenzdiagramme– Objekte, Interaktionen
State-Transition Diagramme– Internes Verhalten von Objekten
Anforderungen(Requirements)
Statische Sicht:log. Aufbau des
Systems
Dynamische Sicht:Interaktionen,
Abläufe
Abteilung für Informationswirtschaft
Seite 13Dr. Michael Hahsler
Akteure (Actor)• Akteure verwenden das System• Akteure stellen Anforderungen (Requirements) an das
System.
RolleKonsument Ein anderes
System
Darstellung in UML
Eine andere
Organisation
Abteilung für Informationswirtschaft
Seite 14Dr. Michael Hahsler
Use Case Diagram m e• Zeigen die benötigten Interaktionen zwischen dem System
und den Akteuren• Werden durch Szenarios beschrieben
(Normalfall + Problemfälle)• Grundlage für die Erstellung des Systems (müssen daher
vollständig sein!)• Grundlage für das Testen des Systems nach der
Erstellung
Wichtig: Use Cases beschreiben gewünschte Eigenschaftenund nicht das System wie es ist!
Abteilung für Informationswirtschaft
Seite 15Dr. Michael Hahsler
Beispiel: Use Case
Use Cases für eine KFZ Versicherung:– Versicherung abschließen– Versicherung kündigen– Versicherter bezahlt Prämie– Sachbearbeiter behandelt Schadensfall– Sachbearbeiter ändert Konditionen
Abteilung für Informationswirtschaft
Seite 16Dr. Michael Hahsler
Beispiel: Use Case
Fahrzeug-
halter
V. abschließen
Versicherung
Sachbearbeiter
V. kündigen
Konditionenändern
Schadensfallbehandeln
Prämie bezahlen
Abteilung für Informationswirtschaft
Seite 17Dr. Michael Hahsler
Beispiel: SzenarioSchadensfall behandeln:• Schaden wird von der Versicherung bezahlt
– Eigenverschulden– Fremdverschulden
• Fahrzeughalter bezahlt selbst• Gerichtsverhandlung• Andere Versicherung bezahlt• ...
Abteilung für Informationswirtschaft
Seite 18Dr. Michael Hahsler
Zusam m enfassung• Akteure und Anforderungen• Use Cases• Szenarios
Abteilung für Informationswirtschaft
Seite 19Dr. Michael Hahsler
Das Klassendiagram• Logischen Aufbau des Systems• Statischen Aspekte• Zusammenhänge und Beziehungen
Abteilung für Informationswirtschaft
Seite 20Dr. Michael Hahsler
KlassenKlassen sind die Baupläne für Objekte (Instanzen)
Klassenname
Attribute
Methoden
Darstellung in UML
Klassenname
Beispiel einer Klasse in UML
PKW
FarbeLeistung
Geschwindigkeit....
BeschleunigenBremsenLenken
...
KlasseObjekte (Instanzen)
oder
W59777: PKW
Rot
50km
Abteilung für Informationswirtschaft
Seite 21Dr. Michael Hahsler
Elemente Klassendiagram m I• Klassen
• Beziehungen (Paths/Associations)
• Richtung der Beziehungen (Navigability)
Klassenname
Klasse A Klasse Bspricht mit
Klasse A Klasse Bspricht mit
Abteilung für Informationswirtschaft
Seite 22Dr. Michael Hahsler
Elemente Klassendiagram m II• Kardinalitäten (Multiplicity)
• Aggregation (Aggregation/Composition)
• Generalisierung (Generalization)
Klasse A Klasse Bspricht mit1 0..*
besteht aus
1 *Auto Einzelteile
Einzelteil
Motor Karosserie ...
Abteilung für Informationswirtschaft
Seite 23Dr. Michael Hahsler
Elemente Klassendiagram m II• Abhängigkeiten (Dependencies)
• Anmerkungen oder Einschränkung
Klasse A Klasse Bbenötigt
PKW
PKW ist nur fahrtüchtig
mit: Räder, Karosserie,...
Abteilung für Informationswirtschaft
Seite 24Dr. Michael Hahsler
Beispiel: Klassendiagram m
PKW Einzelteil
Motor Karosserie
besteht aus
1 *
...verwendet
ZylinderFahrzeughalter
0..*
1
4
1besteht aus
PKW ist nur fahrtüchtig
mit: Räder, Karosserie,...
Abteilung für Informationswirtschaft
Seite 25Dr. Michael Hahsler
W ie kom m t man zu Klassen?• Analyse der Use Cases:
– Substantive sind Kandidaten für Klassen
– Verben sind Kandidaten für Methoden
• Auswahl der Klassen– Synonyme finden
– Unwichtige Klassen entfernen
– Wichtige Klassen hinzufügen (Brainstorming)
• Organisation der Klassen
Abteilung für Informationswirtschaft
Seite 26Dr. Michael Hahsler
Beispiel: KFZ VersicherungSzenario KFZ Versicherung: Ein Fahrzeughalter
muß für sein KFZ eine Versicherungabschließen. Er wird bei der Versicherung voneinem Sachbearbeiter betreut. Nach demAbschluß bekommt der Versicherte einenVertrag mit den genauen Versicherungsdatenund der Sachbearbeiter führt Unterlagen zuetwaigen Schadensfällen.
Abteilung für Informationswirtschaft
Seite 27Dr. Michael Hahsler
Eigenschaften von Klassen• Attribute
Was muß sich das Objektmerken können?
• MethodenWelche Eigenschaften solles haben?
PKW
FarbeLeistung
Geschwindigkeit....
BeschleunigenBremsenLenken
...
Abteilung für Informationswirtschaft
Seite 28Dr. Michael Hahsler
Beispiel: KFZ VersicherungKlasse Versicherung:• Welche Attribute?• Welche Methoden?
Versicherung
?
?
Abteilung für Informationswirtschaft
Seite 29Dr. Michael Hahsler
Zusam m enfassung• Was sind Klassen• Wie kommt man zu Klassen• Eigenschaften von Klassen• Beziehungen zwischen Klassen
Abteilung für Informationswirtschaft
Seite 30Dr. Michael Hahsler
Activity DiagramZweck:• Ablaufmöglichkeiten eines Systems
Aktivitäten sind zugeordnet:– Klassen
– Operationen
– einem Use Case
Abteilung für Informationswirtschaft
Seite 31Dr. Michael Hahsler
Beispiel: Kfz VersicherungSzenario Schadensfall: Ein Schadensfall tritt ein. Der
Sachbearbeiter wird informiert und bearbeitet denFall. Der Vorfall wird in den Versicherungsunterlagenvermerkt. Bei Verschulden durch denVersicherungsnehmer wird die monatliche Prämieerhöht.
Abteilung für Informationswirtschaft
Seite 32Dr. Michael Hahsler
Beispiel: Activity Diagram
Schaden feststellen
[Schaden ist gering]
[Schaden ist groß]
Selbstbezahlen
Schaden melden
Schadenvermerken
Mit andererVersicherung
verhandeln
{AND}
[eigenverschulden]
[fremdverschulden]
Prämieerhöhen
Abteilung für Informationswirtschaft
Seite 33Dr. Michael Hahsler
Sequence DiagramZweck:• Interaktion zwischen Objekten aus Szenarios• Identifikation von zusätzlichen Klassen und
MethodenBeinhaltet:• Objekte• Lebenszeit von Objekten• Nachrichten zwischen Objekten
Abteilung für Informationswirtschaft
Seite 34Dr. Michael Hahsler
Beispiel: KFZ VersicherungSzenario Versicherung abschließen: Ein
Fahrzeughalter beantragt eine KFZVersicherung. Der Antrag wird vom zuständigenSachbearbeiter geprüft. Nach erfolgreicherPrüfung wird ein Vertrag abgeschlossen.
Szenario Versicherung kündigen: Der Versichertekündigt die Versicherung. Der Sachbearbeiter löstden Vertrag auf.
Abteilung für Informationswirtschaft
Seite 35Dr. Michael Hahsler
Beispiel: Sequence DiagramKFZ Versicherung
:Fahrzeughalter :Sachbearbeiter
Ein V.: Versicherung
Versicherung beantragen (Daten)
Antrag prüfen
Vertrag erstellenVertrag schicken(Versicherungs#)
Kündigen (Versicherungs#)
Vertrag auflösen
bestätigen
Versicherungabschließen
Versicherungauflösen
Abteilung für Informationswirtschaft
Seite 36Dr. Michael Hahsler
Collaboration DiagramZweck:• Interaktion und Verflechtung zwischen Objekten• Alternativ zu Sequence DiagramsBeinhaltet:• Objekte• Struktur der Objekte• Sequenz von Nachrichten zwischen Objekten
Abteilung für Informationswirtschaft
Seite 37Dr. Michael Hahsler
Beispiel: KFZ VersicherungSzenario Versicherung abschließen: Ein
Fahrzeughalter beantragt eine KFZVersicherung. Der Antrag wird vom zuständigenSachbearbeiter geprüft. Nach erfolgreicherPrüfung wird ein Vertrag abgeschlossen.
Abteilung für Informationswirtschaft
Seite 38Dr. Michael Hahsler
Beispiel: Collaboration DiagramKFZ Versicherung
:Fahrzeughalter :Sachbearbeiter
Eine V.: Versicherung
1: Versicherung beantragen (Daten)2: Antrag prüfen
3: Vertrag erstellen
4: Vertrag schicken
(Versicherungs#)
Versicherungsdatenbank
Abteilung für Informationswirtschaft
Seite 39Dr. Michael Hahsler
Zusam m enfassung• Zwischen Objekten:
– Interaktionen
– Nachrichten
Abteilung für Informationswirtschaft
Seite 40Dr. Michael Hahsler
State Transition DiagramZweck:• Ablauf innerhalb eines ObjektsBeinhaltet:• Zustände (States)• Ereignisse (Events)• Übergänge zwischen Zuständen (Transitions)
Abteilung für Informationswirtschaft
Seite 41Dr. Michael Hahsler
Elemente: State Transition Diagram• Zustand
• Übergang(Ereignis)
Name
Ereignis(Argumente)
[Bedingungen]/Aktion
Aktivität
Abteilung für Informationswirtschaft
Seite 42Dr. Michael Hahsler
Beispiel: Kfz VersicherungSzenario Schadensfall: Ein Schadensfall tritt ein. Der
Sachbearbeiter wird informiert und bearbeitet denFall. Der Vorfall wird in den Versicherungsunterlagenvermerkt. Bei Verschulden durch denVersicherungsnehmer wird die monatliche Prämieerhöht.
Abteilung für Informationswirtschaft
Seite 43Dr. Michael Hahsler
Beispiel: Kfz VersicherungKfz Versicherung
Klasse Versicherung
Versichert BearbeitungSchaden tritt ein
kündigen
vermerken
Fertig [Eigenverschulden]/Prämie erhöhen
Fertig [Fremdverschulden]
Top Related