Upload
hilda-laske
View
105
Download
2
Embed Size (px)
Citation preview
OO Analyse und Entwurf für Anwender
Inhalt und Fahrplan
Dr. Michael Löwe
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
2
Objektorientierte Analyse und Entwurf
Lernziele
• Erlernen der objektorientierten Grundkonzepte• Erwerb von Grundkenntnissen über
– moderne System- und Software-Architekturen– Vorgehensmodelle bei der Softwareentwicklung– Notationen zur Beschreibung von Modelle
• Verstehen von objektorientierten Modellen • Erwerb der nötigen Fähigkeiten
– zur selbständigen fachlichen Analyse – zur selbständigen Modellierung moderner Lösungen
• Über neue Methoden zu neuen Lösungen
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
3
Objektorientierte Analyse und Entwurf
Inhalt der Ausbildung
• Kennzeichen objektorientierter Softwareentwicklung (1)
• Projektorganisation (2)
• Architektur (2)
• Objektorientierte Analyse (4)
• Objektorientierter Entwurf (5)
• Realisierung und Test (2)
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
4
Objektorientierte Analyse und Entwurf
Literatur zur Vertiefung
B. Oestereich. Objektorientierte Softwareentwicklung mit der Unified Modeling Language. Oldenbourg Verlag, München. 1997
OO Analyse und Entwurf für Anwender
I. Kennzeichen objektorientierter Softwareentwicklung
Dr. Michael Löwe
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
6
Objektorientierte Analyse und Entwurf
Lernziele
• Verständnis der Konzepte– Objekt– Klasse– Interaktion– Objektorientiertes System
• Erste Einsicht in die Abstraktionskonzepte– Klasse– Generalisierung/Vererbung– Aggregation
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
7
Objektorientierte Analyse und Entwurf
Inhalt
• Der Anspruch der Objektorientierung
• Was ist Objektorientierung?– Was ist ein Objekt?– Was ist eine Klasse? Was ist ein Datentyp?– Was ist Interaktion?– Was ist Abstraktion?
• Nutzen und Risiko für den Anwender
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
8
Objektorientierte Analyse und Entwurf
Der Anspruch der Objektorientierung
• So ist die Welt: Interaktion von Subjekten/Objekten• Zerlegung von Systemen in Komponenten
– Wiederverwendung– Anpaßbarkeit– Erweiterbarkeit
• Durchgängigkeit: OOA, OOD, OOP• Modellierungshilfsmittel auch für den Anwender• Schnellere Entwicklungszyklen
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
9
Objektorientierte Analyse und Entwurf
So ist die Welt: Interaktion von Objekten
• Menschliche KommunikationMenschen — Sprechakte
• Aufbau der NaturQuarks — Wechselwirkungen
• ProduktionMaterial und Werkzeuge — Fertigungsprozesse
• Klassische ProgrammierungProgramme — Transaktionmonitore
• usw.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
10
Objektorientierte Analyse und Entwurf
Objektorientierte Struktur
• Grundelemente von Systemen:– Materialien (Daten; Holz)– Werkzeuge (Programme; Hobel, Bohrer,etc.)– Prozesse (Dialoge, Batch Jobs; Möbelfertigung)
• Klassifikation von Materialien nach ihren Werkzeugen
• Zusammenfassung von Materialen und passenden Werkzeugen
• Trennung von Werkzeugen und Prozessen
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
11
Objektorientierte Analyse und Entwurf
Wiederverwendung, etc.
• Grundannahme: Die Dinge ändern sich:Prozesse häufig, Werkzeugen selten, Materialien fast gar nicht
• Wiederverwendung: Dieselben Werkzeuge in anderen Prozessen
• Anpaßbarkeit:Veränderung einiger Werkzeuge für neue Prozesse
• Erweiterbarkeit:Ergänzung neuer Werkzeuge für neue ProzesseErgänzung neuer Materialien mit ihren Werkzeugen
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
12
Objektorientierte Analyse und Entwurf
Durchgängigkeit
Objekte sind überall:• Analyse OOA
Objekte des Gegenstandsbereichs
• Entwurf OODAbbildung in DatenobjekteNutzung technischer Objekte: Persistenz, Kommunikation,...
• Programmierung OOPStandards: Mengen, Listen, Zahlen, Wahrheitswerte, etc.Oberflächen: Controls und ihre Events
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
13
Objektorientierte Analyse und Entwurf
Hilfsmittel auch für Anwender
Material und Werkzeuge liegen meist auf der Hand:• Kunde
– Umzug– Kontoänderung
• Vertrag– Abrechnen– Deckungsumfang erweitern– Stornieren
• RTE– Rückversicherungsordnung zuweisen
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
14
Objektorientierte Analyse und Entwurf
Version 3
Version 3
Version 2
Version 2
Version 1
Version 1
Schnellere Entwicklungszyklen
Klassischer Wasserfall:
AnforderungenAnforderungen
EntwurfEntwurf
RealisierungRealisierung
Test und EinführungTest und Einführung
4 Monate
4 Monate
4 Monate
Objektorientiertes Vorgehen:P
rototypP
rototyp
4 Monate
4 Monate
4 Monate
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
15
Objektorientierte Analyse und Entwurf
Was ist Objektorientierung?
• Was ist ein Objekt?
• Was ist ein Typ?
• Was ist eine Klasse?
• Was ist Interaktion?
• Was ist Abstraktion?– Objekte und Aggregation– Klassen und Vererbung
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
16
Objektorientierte Analyse und Entwurf
Was ist ein Objekt?
RealitätSache, Gegenstand; Gegenstand
des Wahrnehmens, Erkennens und Denkens [Wahrig]
Wie unterscheiden?Eigenschaften (z.B. rot, blau,...)
Nutzen (z.B. ordnen, heften,...)
Von Eigenschaften und Nutzen unabhängige Identität
Menge vergleichbarer Objekte ist ein Begriff
DatenverarbeitungIm laufenden System konkret
vorhandene und agierende Einheit. [Oestereich]
Wie unterscheiden?
Zustand
Schnittstelle zur Bearbeitung
Von Zustand und Schnittstelle unabhängige Identität
Menge vergleichbarer Objekte ist ein Typ
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
17
Objektorientierte Analyse und Entwurf
Was ist ein Objekt?
1
2
5
3
6
4
78
9
12
15
13
11
10
14
1716
Kreise Rechtecke
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
18
Objektorientierte Analyse und Entwurf
Was ist ein Objekt?
2
5
4 7
8
15
13
11
10
14
17
16
1
3
6 9
12
Weiß
rot
orange
gelb
grün
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
19
Objektorientierte Analyse und Entwurf
Was ist ein Objekt?
• Objekte existieren einfach so?• Objekte existieren, weil wir sie unterscheiden
können!• Objekte existieren weil wir die Unterschiede
benennen und begreifen können!• Objekte existieren, weil wir ihren Typ erkennen
können, weil wir uns einen Begriff machen!• Dasselbe Objekt kann unterschiedlich erkannt
bzw. typisiert werden.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
20
Objektorientierte Analyse und Entwurf
Was ist ein Datentyp?
• Ein Datentyp typisiert Objekte über anwendbare Operationen
• Beispiele – Integer; + , *, /, ...– Bool; and, or, xor, ...
• Mathematisches Modell: Algebra– Jede Algebra zu einem Datentyp hat für jede
Operation eine typgerechte Abbildung
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
21
Objektorientierte Analyse und Entwurf
Was ist eine Klasse
Zur „Modellierungzeit“:Die Beschreibung eines Datentyps
Mathematische Bedeutung:Die Klasse aller Objekte zu dem Datentyp
Bedeutung zur Laufzeit:Die Menge der jeweils existierenden Objekte, die
dem Datentyp der Klasse angehören.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
22
Objektorientierte Analyse und Entwurf
Klassifikation zur Laufzeit/Systemzustand
ObjekteZahlen
Verträge
KommunikationskanäleProzesse
Ganze Zahlen
Brüche
23
1
4
5
6
9 7
8
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
23
Objektorientierte Analyse und Entwurf
Was ist los in einem solchen System?
Was tun Objekte?
• Sie sind da!
• Manche kennen andere.
• Sie bieten Dienstleistungen (Operationen) an.
• Sie nutzen die Dienste eines anderen Objekts.
• Sie interagieren! (Beispiel graph. Oberfläche)
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
24
Objektorientierte Analyse und Entwurf
Was ist Interaktion?
Ein Objekt O1veranlaßt die Ausführung einer Operation eines anderen Objekts O2.
Dieser Interaktionsmechanismus ist das „Biotop“ (OO-Virtual Machine), in dem Objekte leben.
Ablauf: – O1 schickt Nachricht (message) an O2, welche Operation
ausgeführt werden soll. Dazu muß O1 das Objekt O2 kennen.– Das „Biotop überträgt die Nachricht– O2 verarbeitet die Nachricht, indem die spezifizierte Operation
ausgeführt wird.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
25
Objektorientierte Analyse und Entwurf
Was ist Abstraktion?
Verallgemeinerung zum Begriff, Begriffsbildung [Wahrig]
Äquivalenz, Kongruenz, Ähnlichkeit [Mathematik]
Konzentration auf‘s Wesentliche [Volksmund]
• Klasse ist die Abstraktion von konkreten Objekten• Generalisierung ist die Abstraktion von Klassen aus Klassen• Spezialisierung ist der Umkehrprozeß (Vererbung)• Aggregation ist die Abstraktion von Objekten aus Objekten• Zerlegung ist der Umkehrprozeß
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
26
Objektorientierte Analyse und Entwurf
Generalisierung/SpezialisierungObjekte
Zahlen
Verträge
KommunikationskanäleProzesse
Ganze Zahlen
Brüche
23
1
4
5
6
9 7
8
Sach
Haftpflicht
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
27
Objektorientierte Analyse und Entwurf
Aggregation
Vertrag besteht aus:
Risikospezifikation Bedingungswerk
Zahlungsbedingungen Besonderen Abreden
Die Operationen, die Vertrag anbietet, werden als koordinierteInteraktion der Vertragsbestandteile realisiert.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
28
Objektorientierte Analyse und Entwurf
Merke zur Abstraktion
• Aggregation ist die Zusammenfassung von Objekten zu Objekten. Welche Objekte aus welchen anderen Objekten bestehen
entscheidet sich zur Laufzeit
• Generalisierung ist die Zusammenfassung von Objekten zu Klassen und von Klassen zu Klassen. Welche Klassen aus welchen konkreten Objekten
bestehen, entscheidet sich zur Laufzeit.Welche Klassen aus welchen Klassen bestehen,
entscheidet sich zur Modellierungszeit
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
29
Objektorientierte Analyse und Entwurf
Zusammenfassung
Objekte sind selbständige Einheiten, die durch Ausführung von Operationen Dienste erbringen können.
Jedes Objekte hat einen Typ/Klasse, der/die beschreibt, welche Dienste das Objekt erbringen kann.
Objektorientierte Systeme bestehen aus Objekten. Ihre Dynamik kommt durch die Interaktion ihrer Objekte zustande.
Abstraktion in der Systembeschreibung ist– die Klassifikation von Objekten zu Klassen– die Generalisierung von Klassen zu Klassen
Abstraktion im Systemzustand ist die Aggregation von Objekten zu Objekten.
Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover
30
Objektorientierte Analyse und Entwurf
Ausblick
Lernziel heute: Grundlegendes OO-Paradigma
Lernziel nächster und übernächster Termin:
Es gibt nichts Gutes außer man tut es!– Objektorientiertes Vorgehensmodel
– Ergebnistypen
– Rollen und Aufgabenverteilung
– Spezialthema Test