Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

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

2 Abteilung für Informationswirtschaft Seite 2 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 3 Dr. 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

4 Abteilung für Informationswirtschaft Seite 4 Dr. Michael Hahsler Objekte Dinge aus der realen Welt Besitzen: – Eigenschaften (Attribute) – Verhalten (Methoden) Kommunizieren mit anderen Objekten (Nachrichten) trinken

5 Abteilung für Informationswirtschaft Seite 5 Dr. 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) Michael 1. Dose Nachricht

6 Abteilung für Informationswirtschaft Seite 6 Dr. 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?

7 Abteilung für Informationswirtschaft Seite 7 Dr. 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

8 Abteilung für Informationswirtschaft Seite 8 Dr. Michael Hahsler Vererbung (Inheritance) Hierarchische Beziehung zwischen Klassen mit ähnlichen Eigenschaften Behälter DoseHäferl Gießkanne

9 Abteilung für Informationswirtschaft Seite 9 Dr. Michael Hahsler Polymorphismus Griechisch: Vielgestaltigkeit Gemeinsames Interface von verschiedenen Objekten Behälter DoseHäferl Gießkanne Ich kenne das Interface eines Behälters! Was weiß ich daher über Gießkannen?

10 Abteilung für Informationswirtschaft Seite 10 Dr. Michael Hahsler Objekte und Abstraktion Modellierung ist Vereinfachung Modellierung ist Einschränkung Was ist das Wesentliche? Ist diese Nutzung des modellierten Häferls vorgesehen?

11 Abteilung für Informationswirtschaft Seite 11 Dr. 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...

12 Abteilung für Informationswirtschaft Seite 12 Dr. Michael Hahsler Die UML Notation Use Cases – Akteure, Szenarios Klassendiagramme – Klassen, Beziehungen Collaborationsdiagramme Aktivitä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

13 Abteilung für Informationswirtschaft Seite 13 Dr. Michael Hahsler Akteure (Actor) Akteure verwenden das System Akteure stellen Anforderungen (Requirements) an das System. Rolle Konsument Ein anderes System Darstellung in UML Eine andere Organisation

14 Abteilung für Informationswirtschaft Seite 14 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 15 Dr. 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

16 Abteilung für Informationswirtschaft Seite 16 Dr. Michael Hahsler Beispiel: Use Case Fahrzeug- halter V. abschließen Versicherung Sachbearbeiter V. kündigen Konditionen ändern Schadensfall behandeln Prämie bezahlen

17 Abteilung für Informationswirtschaft Seite 17 Dr. Michael Hahsler Beispiel: Szenario Schadensfall behandeln: Schaden wird von der Versicherung bezahlt – Eigenverschulden – Fremdverschulden Fahrzeughalter bezahlt selbst Gerichtsverhandlung Andere Versicherung bezahlt...

18 Abteilung für Informationswirtschaft Seite 18 Dr. Michael Hahsler Zusammenfassung Akteure und Anforderungen Use Cases Szenarios

19 Abteilung für Informationswirtschaft Seite 19 Dr. Michael Hahsler Das Klassendiagram Logischen Aufbau des Systems Statischen Aspekte Zusammenhänge und Beziehungen

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

21 Abteilung für Informationswirtschaft Seite 21 Dr. Michael Hahsler Elemente Klassendiagramm I Klassen Beziehungen (Paths/Associations) Richtung der Beziehungen (Navigability) KlassennameKlasse AKlasse B spricht mit Klasse AKlasse B spricht mit

22 Abteilung für Informationswirtschaft Seite 22 Dr. Michael Hahsler Elemente Klassendiagramm II Kardinalitäten (Multiplicity) Aggregation (Aggregation/Composition) Generalisierung (Generalization) Klasse AKlasse B spricht mit10..* besteht aus 1* AutoEinzelteile Einzelteil MotorKarosserie...

23 Abteilung für Informationswirtschaft Seite 23 Dr. Michael Hahsler Elemente Klassendiagramm II Abhängigkeiten (Dependencies) Anmerkungen oder Einschränkung Klasse AKlasse B benötigt PKW PKW ist nur fahrtüchtig mit: Räder, Karosserie,...

24 Abteilung für Informationswirtschaft Seite 24 Dr. Michael Hahsler Beispiel: Klassendiagramm PKWEinzelteil MotorKarosserie besteht aus 1*... verwendet Zylinder Fahrzeughalter 0..* besteht aus PKW ist nur fahrtüchtig mit: Räder, Karosserie,...

25 Abteilung für Informationswirtschaft Seite 25 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 26 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 27 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 28 Dr. Michael Hahsler Beispiel: KFZ Versicherung Klasse Versicherung: Welche Attribute? Welche Methoden? Versicherung ? ?

29 Abteilung für Informationswirtschaft Seite 29 Dr. Michael Hahsler Zusammenfassung Was sind Klassen Wie kommt man zu Klassen Eigenschaften von Klassen Beziehungen zwischen Klassen

30 Abteilung für Informationswirtschaft Seite 30 Dr. Michael Hahsler Activity Diagram Zweck: Ablaufmöglichkeiten eines Systems Aktivitäten sind zugeordnet: – Klassen – Operationen – einem Use Case

31 Abteilung für Informationswirtschaft Seite 31 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 32 Dr. Michael Hahsler Beispiel: Activity Diagram Schaden feststellen [Schaden ist gering] [Schaden ist groß] Selbst bezahlen Schaden melden Schaden vermerken Mit anderer Versicherung verhandeln {AND} [eigenverschulden] [fremdverschulden] Prämie erhöhen

33 Abteilung für Informationswirtschaft Seite 33 Dr. Michael Hahsler Sequence Diagram Zweck: Interaktion zwischen Objekten aus Szenarios Identifikation von zusätzlichen Klassen und Methoden Beinhaltet: Objekte Lebenszeit von Objekten Nachrichten zwischen Objekten

34 Abteilung für Informationswirtschaft Seite 34 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 35 Dr. Michael Hahsler Beispiel: Sequence Diagram KFZ Versicherung :Fahrzeughalter:Sachbearbeiter Ein V.: Versicherung Versicherung beantragen (Daten) Antrag prüfen Vertrag erstellenVertrag schicken(Versicherungs#) Kündigen (Versicherungs#) Vertrag auflösen bestätigen Versicherung abschließen Versicherung auflösen

36 Abteilung für Informationswirtschaft Seite 36 Dr. Michael Hahsler Collaboration Diagram Zweck: Interaktion und Verflechtung zwischen Objekten Alternativ zu Sequence Diagrams Beinhaltet: Objekte Struktur der Objekte Sequenz von Nachrichten zwischen Objekten

37 Abteilung für Informationswirtschaft Seite 37 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 38 Dr. Michael Hahsler Beispiel: Collaboration Diagram KFZ Versicherung :Fahrzeughalter:Sachbearbeiter Eine V.: Versicherung 1: Versicherung beantragen (Daten) 2: Antrag prüfen 3: Vertrag erstellen 4: Vertrag schicken (Versicherungs#) Versicherungsdatenbank

39 Abteilung für Informationswirtschaft Seite 39 Dr. Michael Hahsler Zusammenfassung Zwischen Objekten: – Interaktionen – Nachrichten

40 Abteilung für Informationswirtschaft Seite 40 Dr. Michael Hahsler State Transition Diagram Zweck: Ablauf innerhalb eines Objekts Beinhaltet: Zustände (States) Ereignisse (Events) Übergänge zwischen Zuständen (Transitions)

41 Abteilung für Informationswirtschaft Seite 41 Dr. Michael Hahsler Elemente: State Transition Diagram Zustand Übergang (Ereignis) Name Ereignis(Argumente) [Bedingungen]/Aktion Aktivität

42 Abteilung für Informationswirtschaft Seite 42 Dr. Michael Hahsler 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 Abteilung für Informationswirtschaft Seite 43 Dr. Michael Hahsler Beispiel: Kfz Versicherung Kfz Versicherung Klasse Versicherung VersichertBearbeitung Schaden tritt ein kündigen vermerken Fertig [Eigenverschulden]/Prämie erhöhen Fertig [Fremdverschulden]

44 Abteilung für Informationswirtschaft Seite 44 Dr. Michael Hahsler Zusammenfassung Zustände Übergänge


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

Ähnliche Präsentationen


Google-Anzeigen