Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.

Ähnliche Präsentationen


Präsentation zum Thema: "UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler."—  Präsentation transkript:

1 UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language
Michael Hahsler

2 Ziel dieses Seminars Verständnis von Objekt-Orientierung
Was sind Klassen? Was ist Vererbung? Modellierung mit UML Welche Diagramme gibt es? Wie liest und erstellt man diese Diagramme

3 Das Wasserfall Modell UML als Notation Analyse (WAS?) Design (WIE?)
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

4 Objekte „Dinge“ aus der realen Welt Besitzen:
Eigenschaften (Attribute) Verhalten (Methoden) Kommunizieren mit anderen Objekten (Nachrichten) trinken

5 Nachrichten und Methoden
Nachrichten sind Signale von einem Objekt an ein anderes. Nachrichten lösen Methoden des anderen Objekts aus. trinken (einen Schluck) Michael 1. Dose Nachricht

6 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?

7 Klassen Bauplan für ähnliche Objekte.
Beschreibt Methoden und Attribute die das Objekt bekommt. Objekte (Instanzen) werden aus Klassen erzeugt Volumen = x Instanzierung

8 Vererbung (Inheritance)
Hierarchische Beziehung zwischen Klassen mit ähnlichen Eigenschaften Behälter Dose Häferl Gießkanne

9 Polymorphismus Griechisch: Vielgestaltigkeit
Gemeinsames Interface von verschiedenen Objekten Ich kenne das Interface eines Behälters! Was weiß ich daher über Gießkannen? Behälter Dose Häferl Gießkanne

10 Objekte und Abstraktion
Modellierung ist Vereinfachung Modellierung ist Einschränkung Was ist das Wesentliche? Ist diese Nutzung des modellierten Häferls vorgesehen?

11 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 ...

12 Die UML Notation Use Cases Klassendiagramme Collaborationsdiagramme
Anforderungen (Requirements) Use Cases Akteure, Szenarios Klassendiagramme Klassen, Beziehungen Collaborationsdiagramme Aktivitätsdiagramm Ablaufmöglichkeiten Sequenzdiagramme Objekte, Interaktionen State-Transition Diagramme Internes Verhalten von Objekten Statische Sicht: log. Aufbau des Systems Dynamische Sicht: Interaktionen, Abläufe

13 Akteure (Actor) Akteure verwenden das System
Akteure stellen Anforderungen (Requirements) an das System. Darstellung in UML Rolle Konsument Ein anderes System Eine andere Organisation

14 Use Case Diagramme 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 Eigenschaften und nicht das System wie es ist!

15 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

16 Schadensfall behandeln
Beispiel: Use Case Versicherung V. abschließen V. kündigen Fahrzeug- halter Sachbearbeiter Schadensfall behandeln Konditionen ändern Prämie bezahlen

17 Beispiel: Szenario Schadensfall behandeln:
Schaden wird von der Versicherung bezahlt Eigenverschulden Fremdverschulden Fahrzeughalter bezahlt selbst Gerichtsverhandlung Andere Versicherung bezahlt ...

18 Zusammenfassung Akteure und Anforderungen Use Cases Szenarios

19 Das Klassendiagram Logischen Aufbau des Systems Statischen Aspekte
Zusammenhänge und Beziehungen

20 Klassen Klassen sind die Baupläne für Objekte (Instanzen)
Darstellung in UML Beispiel einer Klasse in UML Klassenname PKW oder Farbe Leistung Geschwindigkeit .... Klassenname Attribute Methoden Beschleunigen Bremsen Lenken ... W59777: PKW Rot 50km Klasse Objekte (Instanzen)

21 Elemente Klassendiagramm I
Beziehungen (Paths/Associations) Richtung der Beziehungen (Navigability) Klassenname spricht mit Klasse A Klasse B spricht mit Klasse A Klasse B

22 Elemente Klassendiagramm II
Kardinalitäten (Multiplicity) Aggregation (Aggregation/Composition) Generalisierung (Generalization) 1 spricht mit 0..* Klasse A Klasse B besteht aus Auto Einzelteile 1 * Einzelteil ... Motor Karosserie

23 Elemente Klassendiagramm II
Abhängigkeiten (Dependencies) Anmerkungen oder Einschränkung benötigt Klasse A Klasse B PKW ist nur fahrtüchtig mit: Räder, Karosserie,... PKW

24 Beispiel: Klassendiagramm
PKW ist nur fahrtüchtig mit: Räder, Karosserie,... besteht aus Einzelteil PKW 1 * 0..* verwendet ... 1 Motor Karosserie 1 besteht aus 4 Fahrzeughalter Zylinder

25 Wie kommt 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

26 Beispiel: KFZ Versicherung
Szenario KFZ Versicherung: Ein Fahrzeughalter muß für sein KFZ eine Versicherung abschließen. Er wird bei der Versicherung von einem Sachbearbeiter betreut. Nach dem Abschluß bekommt der Versicherte einen Vertrag mit den genauen Versicherungsdaten und der Sachbearbeiter führt Unterlagen zu etwaigen Schadensfällen.

27 Eigenschaften von Klassen
Attribute Was muß sich das Objekt merken können? Methoden Welche Eigenschaften soll es haben? PKW Farbe Leistung Geschwindigkeit .... Beschleunigen Bremsen Lenken ...

28 Beispiel: KFZ Versicherung
Klasse Versicherung: Welche Attribute? Welche Methoden? Versicherung ? ?

29 Zusammenfassung Was sind Klassen Wie kommt man zu Klassen
Eigenschaften von Klassen Beziehungen zwischen Klassen

30 Activity Diagram Zweck: Ablaufmöglichkeiten eines Systems
Aktivitäten sind zugeordnet: Klassen Operationen einem Use Case

31 Beispiel: Kfz Versicherung
Szenario Schadensfall: Ein Schadensfall tritt ein. Der Sachbearbeiter wird informiert und bearbeitet den Fall. Der Vorfall wird in den Versicherungsunterlagen vermerkt. Bei Verschulden durch den Versicherungsnehmer wird die monatliche Prämie erhöht.

32 Beispiel: Activity Diagram
Schaden feststellen Selbst bezahlen [Schaden ist gering] [Schaden ist groß] Schaden vermerken Schaden melden Prämie erhöhen [eigenverschulden] Mit anderer Versicherung verhandeln [fremdverschulden] {AND}

33 Sequence Diagram Zweck: Interaktion zwischen Objekten aus Szenarios
Identifikation von zusätzlichen Klassen und Methoden Beinhaltet: Objekte Lebenszeit von Objekten Nachrichten zwischen Objekten

34 Beispiel: KFZ Versicherung
Szenario Versicherung abschließen: Ein Fahrzeughalter beantragt eine KFZ Versicherung. Der Antrag wird vom zuständigen Sachbearbeiter geprüft. Nach erfolgreicher Prüfung wird ein Vertrag abgeschlossen. Szenario Versicherung kündigen: Der Versicherte kündigt die Versicherung. Der Sachbearbeiter löst den Vertrag auf.

35 Beispiel: Sequence Diagram
KFZ Versicherung :Fahrzeughalter :Sachbearbeiter Versicherung beantragen (Daten) Versicherung abschließen Antrag prüfen Vertrag schicken(Versicherungs#) Vertrag erstellen Ein V.: Versicherung Kündigen (Versicherungs#) Versicherung auflösen Vertrag auflösen bestätigen

36 Collaboration Diagram
Zweck: Interaktion und Verflechtung zwischen Objekten Alternativ zu Sequence Diagrams Beinhaltet: Objekte Struktur der Objekte Sequenz von Nachrichten zwischen Objekten

37 Beispiel: KFZ Versicherung
Szenario Versicherung abschließen: Ein Fahrzeughalter beantragt eine KFZ Versicherung. Der Antrag wird vom zuständigen Sachbearbeiter geprüft. Nach erfolgreicher Prüfung wird ein Vertrag abgeschlossen.

38 Beispiel: Collaboration Diagram
KFZ Versicherung Versicherungsdatenbank 1: Versicherung beantragen (Daten) 2: Antrag prüfen 4: Vertrag schicken (Versicherungs#) :Fahrzeughalter :Sachbearbeiter 3: Vertrag erstellen Eine V.: Versicherung

39 Zusammenfassung Zwischen Objekten: Interaktionen Nachrichten

40 State Transition Diagram
Zweck: Ablauf innerhalb eines Objekts Beinhaltet: Zustände (States) Ereignisse (Events) Übergänge zwischen Zuständen (Transitions)

41 Elemente: State Transition Diagram
Zustand Übergang (Ereignis) Name Aktivität Ereignis(Argumente) [Bedingungen]/Aktion

42 Beispiel: Kfz Versicherung
Szenario Schadensfall: Ein Schadensfall tritt ein. Der Sachbearbeiter wird informiert und bearbeitet den Fall. Der Vorfall wird in den Versicherungsunterlagen vermerkt. Bei Verschulden durch den Versicherungsnehmer wird die monatliche Prämie erhöht.

43 Beispiel: Kfz Versicherung
Klasse Versicherung kündigen Versichert Bearbeitung Schaden tritt ein vermerken Fertig [Eigenverschulden]/Prämie erhöhen Fertig [Fremdverschulden]

44 Zusammenfassung Zustände Übergänge


Herunterladen ppt "UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler."

Ähnliche Präsentationen


Google-Anzeigen