OO Analyse und Entwurf für Anwender

Slides:



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

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Objektorientierung Auffassung der Software als eine Sammlung
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Diskrete Mathematik II Marc Zschiegner
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Warum Objektorientierung?
Kapitel 4 Datenstrukturen
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
K-Modeler Engineering
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender
OO Analyse und Entwurf für Anwender
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
OO Analyse und Entwurf für Anwender
OO Analyse und Entwurf für Anwender
Übung zum Thema Architektur
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
Grundschutztools
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
UML Begleitdokumentation des Projekts
Objektorientierte Modellierung und Simulation technischer Systeme Vertiefungsveranstaltung im Studiengebiet SSG WS2006/2007 André Nordwig, Christoph Nytsch-Geusen.
Simulation komplexer technischer Anlagen
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Software Engineering SS 2009
12. Vorlesung: Aktivitätsdiagramme
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 12. Sitzung WS 02/03.
Unified Modeling Language Repetition / Einführung zu UML
Gestaltung von Folien mit Powerpoint
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Konzepte der objektorientierten Programmierung
Auslegung eines Vorschubantriebes
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientierte Analyse
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Mathematik 1. Studienjahr Modul M1: Elemente der Mathematik
Schneider. Event. Kommunikation.
Analyseprodukte numerischer Modelle
Wenn alles so einfach wäre
Objektorientierung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Unified Modeling Language UML
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Geoinformation I Lutz Plümer
OO Analyse und Entwurf für Anwender XII. Entwurfsmuster Dr. Michael Löwe.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Sichtbarkeit einschränken
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung Was ist das eigentlich ?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
OO Analyse und Entwurf für Anwender
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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