Seite 1 Abteilung für Informationswirtschaft Abteilung für Informationswirtschaft UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Dr. Michael Hahsler 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
24
Embed
UML-Basics: Einführung in Objekt- Orientierte …UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Dr. Michael Hahsler
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Seite 1
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified
Modeling Language
ADV-SeminarLeiter: Dr. Michael Hahsler
Abteilung für Informationswirtschaft
Seite 2Dr. 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
Seite 2
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 3Dr. Michael Hahsler
Unterlagen zu UML• Buch
– M. Fowler, K. Scott: UML konzentriert, Addison-Wesley, München 2000 (ISBN 3-8273-1617-0)
• On-Line / Tools– Object Management Group (Spezifikationen)
http://www.omg.org/technology/uml/– Rational (Info und Tool)
– Link Sammlunghttp://wwwai.wu-wien.ac.at/~hahsler/work/adv/
Abteilung für Informationswirtschaft
Seite 4Dr. 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 alsNotation
Seite 3
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 5Dr. Michael Hahsler
Objekte• „Dinge“ aus der realen Welt• Besitzen:
– Eigenschaften (Attribute)– Verhalten (Methoden)
• Kommunizieren mit anderen Objekten(Nachrichten)
trinken
Abteilung für Informationswirtschaft
Seite 6Dr. 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
Seite 4
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 7Dr. 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 8Dr. 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
Seite 5
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 9Dr. Michael Hahsler
Vererbung (Inheritance)• Hierarchische Beziehung zwischen Klassen mit
ähnlichen Eigenschaften
Behälter
Dose Häferl Gießkanne
Abteilung für Informationswirtschaft
Seite 10Dr. 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 überGießkannen?
Seite 6
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 11Dr. Michael Hahsler
Objekte und Abstraktion• Modellierung ist Vereinfachung• Modellierung ist Einschränkung• Was ist das Wesentliche?
Ist diese Nutzung des modelliertenHäferls vorgesehen?
Abteilung für Informationswirtschaft
Seite 12Dr. 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• ...
Seite 7
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 13Dr. Michael Hahsler
Die UML Notation• Use-Case-Diagramm (Akteure, Szenarios)• Klassendiagramm (Klassen, Beziehungen)• Paket-Diagramm (Strukturierung der Darstellung)• Kollaborationsdiagramme (Zusammenwirken der
Ein Fahrzeughalter muß für sein KFZ eineVersicherung abschließen. Er wird bei derVersicherung von einem Sachbearbeiterbetreut. Nach dem Abschluß bekommt derVersicherte einen Vertrag mit den genauenVersicherungsdaten und der Sachbearbeiterführt Unterlagen zu etwaigen Schadensfällen.
Seite 14
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 27Dr. Michael Hahsler
Eigenschaften von Klassen• Attribute
Was muß sich das Objektmerken können?
• MethodenWelches Verhalten(Funktionen) soll das Objekthaben?
PKWFarbeLeistungGeschwindigkeit....
BeschleunigenBremsenLenken...
Abteilung für Informationswirtschaft
Seite 28Dr. Michael Hahsler
Beispiel: KFZ-VersicherungKlasse Versicherung:
– Welche Attribute?– Welche Methoden?
Versicherung
??
Seite 15
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 29Dr. Michael Hahsler
Zusammenfassung• Was sind Klassen• Wie kommt man zu Klassen• Eigenschaften von Klassen• Beziehungen zwischen Klassen
Abteilung für Informationswirtschaft
Seite 30Dr. Michael Hahsler
Paket-DiagrammZweck der Darstellung
– Es werden als Übersicht Gruppen von Diagrammenoder Elementen zusammengefaßt. Pakte enthaltenmehrere Klassen.
– Es werden Abhängigkeiten angegeben. EineAbhängigkeit bedeutet, dass das abhängige Paketdurch Änderungen im anderen Paket betroffen ist(Änderung des Codes oder neuerliche Kompilierungkann notwendig sein)
Seite 16
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 31Dr. Michael Hahsler
Beispiel: Paket-Diagram
Paket
Abhängigkeit
Generalisierung
Beispiel aus UML Kompakt von Günter Wahl
Abteilung für Informationswirtschaft
Seite 32Dr. Michael Hahsler
AktivitätsdiagrammZweck der Darstellung
– Ablaufmöglichkeiten eines Systems
Aktivitäten sind zugeordnet zu– Klassen– Operationen– einem Use Case
Seite 17
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 33Dr. Michael Hahsler
Beispiel: Kfz-VersicherungSzenario "Schadensfall"
Ein Schadensfall tritt ein. Der Sachbearbeiter wirdinformiert und bearbeitet den Fall. Der Vorfall wird inden Versicherungsunterlagen vermerkt. BeiVerschulden durch den Versicherungsnehmer wirddie monatliche Prämie erhöht.
Abteilung für Informationswirtschaft
Seite 34Dr. Michael Hahsler
Beispiel: Aktivitätsdiagramm
Schaden feststellen
[Schaden ist gering]
[Schaden ist groß]
Selbstbezahlen
Schaden melden
Schadenvermerken
Mit andererVersicherungverhandeln
{AND}
[eigenverschulden]
[fremdverschulden]
Prämieerhöhen
Szenario "Schadensfall"
Seite 18
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 35Dr. Michael Hahsler
SequenzdiagrammZweck der Darstellung
– Interaktion zwischen Objekten aus Szenarios– Identifikation von zusätzlichen Klassen und
Methoden
Enthält– Objekte– Lebenszeit von Objekten– Nachrichten zwischen Objekten
Abteilung für Informationswirtschaft
Seite 36Dr. Michael Hahsler
Beispiel: KFZ-VersicherungSzenario "Versicherung abschließen" Ein Fahrzeughalter beantragt eine KFZ-
Versicherung. Der Antrag wird vom zuständigenSachbearbeiter geprüft. Nach erfolgreicherPrüfung wird ein Vertrag abgeschlossen.
Szenario "Versicherung kündigen"Der Versicherte kündigt die Versicherung. Der
Ein Fahrzeughalter beantragt eine KFZ-Versicherung. Der Antrag wird vom zuständigenSachbearbeiter geprüft. Nach erfolgreicherPrüfung wird ein Vertrag abgeschlossen.
Zweck der Darstellung– Ablauf innerhalb eines Objekts
Enthält– Zustände (States)
– Ereignisse (Events)
– Übergänge zwischenZuständen (Transitions)
Name
Aktivität
Ereignis(Argumente)[Bedingungen]/Aktion
Abteilung für Informationswirtschaft
Seite 42Dr. Michael Hahsler
Beispiel: Kfz-VersicherungSzenario "Schadensfall"
Ein Schadensfall tritt ein. Der Sachbearbeiter wirdinformiert und bearbeitet den Fall. Der Vorfall wird inden Versicherungsunterlagen vermerkt. BeiVerschulden durch den Versicherungsnehmer wirddie monatliche Prämie erhöht.
Seite 22
Abteilung für Informationswirtschaft
Abteilung für Informationswirtschaft
Seite 43Dr. Michael Hahsler
Beispiel: Kfz-VersicherungKlasse Versicherung aus Szenario "Schadensfall"
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
KomponentendiagrammZweck der Darstellung
– Abhängigkeit zwischen den Softwarekomponenten(Quellcode, Binärcodekomponenten und ausführbarenProgrammen)
– Abhängigkeiten entsprechen den Abhängigkeiten imPaket-Diagramm