44
Abteilung für Informationswirtschaft UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler

UML- Basics : Einführung in Objekt- - Michael Hahsler · Abteilung für Informationswirtschaft UML- Basics : Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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]

Abteilung für Informationswirtschaft

Seite 44Dr. Michael Hahsler

Zusam m enfassung• Zustände• Übergänge