Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OO Analyse und Entwurf für Anwender

Ähnliche Präsentationen


Präsentation zum Thema: "OO Analyse und Entwurf für Anwender"—  Präsentation transkript:

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

2 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Literatur zur Vertiefung
B. Oestereich. Objektorientierte Softwareentwicklung mit der Unified Modeling Language. Oldenbourg Verlag, München. 1997 Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

5 OO Analyse und Entwurf für Anwender
I. Kennzeichen objektorientierter Softwareentwicklung Dr. Michael Löwe

6 Prof. Dr. Michael Löwe, FHDW, Hannover
Lernziele Verständnis der Konzepte Objekt Klasse Interaktion Objektorientiertes System Erste Einsicht in die Abstraktionskonzepte Generalisierung/Vererbung Aggregation Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

7 Prof. Dr. Michael Löwe, FHDW, Hannover
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 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 So ist die Welt: Interaktion von Objekten
Menschliche Kommunikation Menschen — Sprechakte Aufbau der Natur Quarks — Wechselwirkungen Produktion Material und Werkzeuge — Fertigungsprozesse Klassische Programmierung Programme — Transaktionmonitore usw. Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

10 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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prozesse Ergänzung neuer Materialien mit ihren Werkzeugen Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

12 Prof. Dr. Michael Löwe, FHDW, Hannover
Durchgängigkeit Objekte sind überall: Analyse OOA Objekte des Gegenstandsbereichs Entwurf OOD Abbildung in Datenobjekte Nutzung technischer Objekte: Persistenz, Kommunikation,... Programmierung OOP Standards: Mengen, Listen, Zahlen, Wahrheitswerte, etc. Oberflächen: Controls und ihre Events Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

13 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 Schnellere Entwicklungszyklen
Klassischer Wasserfall: Objektorientiertes Vorgehen: Version 3 Anforderungen Version 2 4 Monate Version 1 4 Monate 4 Monate 4 Monate Entwurf Prototyp 4 Monate Realisierung 4 Monate Test und Einführung Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

15 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 Prof. Dr. Michael Löwe, FHDW, Hannover
Was ist ein Objekt? Realität Sache, 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 Datenverarbeitung Im 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 Prof. Dr. Michael Löwe, FHDW, Hannover
Was ist ein Objekt? Kreise Rechtecke 9 2 15 1 11 3 10 4 16 17 5 7 14 8 13 12 6 Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

18 Prof. Dr. Michael Löwe, FHDW, Hannover
Was ist ein Objekt? orange 8 rot 14 gelb 16 15 2 17 10 4 7 13 11 Weiß 1 3 6 9 12 5 grün Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

19 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Klassifikation zur Laufzeit/Systemzustand
Objekte Zahlen 4 1 5 Brüche 6 Verträge Ganze Zahlen 3 2 9 Prozesse 7 Kommunikationskanäle 8 Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

23 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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Generalisierung/Spezialisierung
Objekte Zahlen Verträge Kommunikationskanäle Prozesse Ganze Zahlen Brüche 2 3 1 4 5 6 9 7 8 Haftpflicht Sach Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

27 Prof. Dr. Michael Löwe, FHDW, Hannover
Aggregation Vertrag besteht aus: Risikospezifikation Bedingungswerk Zahlungsbedingungen Besonderen Abreden Die Operationen, die Vertrag anbietet, werden als koordinierte Interaktion der Vertragsbestandteile realisiert. Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover

28 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Prof. Dr. Michael Löwe, FHDW, Hannover
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 Kennzeichen Prof. Dr. Michael Löwe, FHDW, Hannover


Herunterladen ppt "OO Analyse und Entwurf für Anwender"

Ähnliche Präsentationen


Google-Anzeigen