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

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Methodik: Objektorientierte Analyse
Objektorientierte Konzepte und Notation in UML
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Sequenzdiagramm.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
Lösungen
Objektorientierte Konzepte
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
5 Methoden und Werkzeuge zur Prozessmodellierung
Unified Modeling Language Repetition / Einführung zu UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Generalisierung/Spezialisierung Subtypisierung/Vererbung
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Zustandsübergangsdiagramme (1)
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Wenn alles so einfach wäre
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Objektorientierung.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Klassen und Klassenstruktur
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Unified Modeling Language UML
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Sichtbarkeit einschränken
Objektorientierte (OO) Programmierung
© Till Hänisch, 2002 BA Heidenheim Objekte und UML "You can model 80 percent of most problems by using about 20 percent of the UML." -- Grady Booch But.
Objektorientierte Programmierung Was ist das eigentlich ?
UML – Unified Modeling Language
 Präsentation transkript:

UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language 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

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

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

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

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?

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

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

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

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

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

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

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

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!

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

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

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

Zusammenfassung Akteure und Anforderungen Use Cases Szenarios

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

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)

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

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

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

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

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

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.

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

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

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

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

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.

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}

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

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.

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

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

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.

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

Zusammenfassung Zwischen Objekten: Interaktionen Nachrichten

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

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

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.

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

Zusammenfassung Zustände Übergänge