oo analyse und entwurf für anwender inhalt und fahrplan dr. michael löwe

30
OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

Upload: hilda-laske

Post on 05-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

OO Analyse und Entwurf für Anwender

Inhalt und Fahrplan

Dr. Michael Löwe

Page 2: 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

Page 3: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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)

Page 4: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 5: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

OO Analyse und Entwurf für Anwender

I. Kennzeichen objektorientierter Softwareentwicklung

Dr. Michael Löwe

Page 6: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan 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

Page 7: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 8: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 9: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 10: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 11: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 12: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 13: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 14: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 15: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 16: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 17: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 18: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 19: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 20: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 21: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 22: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 23: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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)

Page 24: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 25: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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ß

Page 26: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 27: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 28: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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

Page 29: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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.

Page 30: OO Analyse und Entwurf für Anwender Inhalt und Fahrplan Dr. Michael Löwe

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