Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 4.5.1 Mar 2013 Seite 1 Objektorientierter Entwurf (OOD) Übersicht Das Ziel des OO-Designs (OOD) ist.

Ähnliche Präsentationen


Präsentation zum Thema: "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 4.5.1 Mar 2013 Seite 1 Objektorientierter Entwurf (OOD) Übersicht Das Ziel des OO-Designs (OOD) ist."—  Präsentation transkript:

1 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 1 Objektorientierter Entwurf (OOD) Übersicht Das Ziel des OO-Designs (OOD) ist es, die endgültige Architektur festzulegen durch Teil 1: Anbindung der Fachklassen an weitere Systeme: – Benutzeroberfläche (mit MVC) – Datenhaltung (Datenbank-Lösung oder Programmierkonzepte) – Schnittstellen (incl. Nutzung von eigenen Klassenbibliotheken) Teil 2: Optimierung des OO-Modells (OOA OOD): – Erweiterung um wichtige Details – Anpassung an die Programmiersprache Alle Namen des OOD-Modells müssen der Syntax der Ziel-Programmiersprache entsprechen (in der Praxis so üblich), ggfs müssen Bezeichnungen aus dem OOA-Modell umgewandelt werden. Namen der Klassen-Operationen müssen mit einem Verb beginnen möglichst keine Abkürzungen, außer wenn allgemein bekannt konsistente Verwendung über das gesamte Modell Hinweis: Ab dieser Stelle im Entwicklungsprozeß verschwindet das fachspezifische OO-Modell und macht einem IT-spezifischen OO-Modell Platz. Christoph Riewerts, © Prof. Dr. Helmut Balzert V2.0

2 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 2 GUI-System auswählen (z.B. Java-GUI mit swing) Jedes GUI-Fenster ist eine Unterklasse von JDialog GUI-Klassen enthalten Interaktions- elemente, die man mittels einer Beziehung mit einem Attribut einer Fachkonzeptklasse verbindet Objektorientierter Entwurf (OOD) Teil 1: Anbindung an die Benutzeroberfläche Hierarchie der Fensterklassen mit Zuordnung zu Paketen:

3 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 3 GUI-Klasse für ein Erfassungsfenster enthält eine einfache Assoziation zur Fachkonzeptklasse, die Operation aktualisiere() zum Anzeigen der Attributwerte aus dem zugehörigen Fachkonzeptobjekt und die Operation speichere(), die die Eingaben aus dem Fensterobjekt an das Fachkonzeptobjekt übergibt. Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

4 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 4 Wenn das Erfassungsfenster für einen vorhandenen Artikel geöffnet und initialisiert wird, dann werden mittels der Operation aktualisiere() die Attributwerte des assoziierten Artikels angezeigt Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche public class MeinArtikelfenster extends MeinUnterfenster {//Attribute... //Referenz auf das aktuelle Fachkonzeptobjekt Artikel einArtikel;... } void aktualisiere() {artikelnrTextfeld = einArtikel.getArtikelnummer(); bezeichnungTextfeld = einArtikel.getBezeichnung(); verkaufspreisAlsString = einArtikel.getVerkaufspreis();... }. In Java:

5 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 5 Drücken des OK-Druckknopfs löst die Operation speichere() aus Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche void speichere() { einArtikel. setArtikelnummer( artikelnrTextfeld) ; einArtikel. setBezeichnung( bezeichnungTextfeld) ; …… einArtikel. setVerkaufspreis( VerkaufspreisAlsString) ; …… }.

6 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 6 Zur Bearbeitung einer Liste aller Artikel benötigt man eine GUI-Klasse für Listenfenster; diese enthält eine einfache Assoziation zu der zugehörigen Containerklasse Die Container-Klasse (Fachkonzept-Klasse), enthält das Klassenattribut einzigesObjekt, das die Referenz auf das einzige Objekt enthält, und die Operation getObjektreferenz(), die auf diese Referenz zugreifen kann und beim ersten Aufruf das Objekt erzeugt. Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

7 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 7 die Operation aktualisiere() dient zum Anzeigen aller Objekte der Klasse MeineArtikelliste Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

8 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 8 die Operation aendere() dient zum Ändern der Attribute eines Artikels Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

9 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 9 Container-Klasse informiert ihre GUI-Listenklassen mittels Beobachter-Muster und enthält eine *-Assoziation zur GUI-Listenklasse (Beobachter) und: – die Operation meldeAn(), die eine Verbindung zu einem Beobachter-Objekt aufbaut – die Operation meldeAb(), die eine Verbindung zu einem Beobachter-Objekt abbaut – die Operation benachrichtige(), die alle Beobachter über eine Veränderung benachrichtigt Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

10 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 10 Szenario zum Aktualisieren aller Listenfenster mittels Beobachter, indem der Container alle seine GUI- Klassen, die er beobachtet, benachrichtigt. Jedes Listenfenster kann dann die benötigten Attribute pro Artikel aktuell anzeigen. Objektorientierter Entwurf (OOD) Anbindung an die Benutzeroberfläche

11 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 11 Anbindung an eine OO-Datenbank i.d.R. problemlos Beim Einsatz einer OO-Datenbank (DB) stellt die OO-DB eine Klasse bereit, von der alle Fachkonzeptklassen mit persistenten Attributen erben müssen. ODMG-Standard unterstützt keine persistenten Attribute, so dass Hilfsklassen entworfen werden; jede Hilfsklasse besitzt nur ein Objekt, das die Klassenattribute verwaltet Selbstdefinierte Attributtypen werden durch eigene Klassen realisiert Objektorientierter Entwurf (OOD) Anbindung an die Datenhaltung

12 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 12 Anbindung an eine relationale Datenbank Transformation der Klassen in Relationen: Attributtyp SQL-Typ, neue Spalte OID,.. Objektorientierter Entwurf (OOD) Anbindung an die Datenhaltung Beziehungen in Fremdschlüssel umwandeln (1:n Assoziation/Aggregation):

13 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 13 Anbindung an eine relationale Datenbank Beziehungen in Fremdschlüssel umwandeln (n:m Assoziation/Aggregation): Objektorientierter Entwurf (OOD) Anbindung an die Datenhaltung Transformation der Vererbung, z.B. für jede Ober- und Unterklasse eine Tabelle, zusätzliches Attribut regelt die Zuordnung zur Oberklasse

14 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 14 Übung: Transformation der Vererbung in ein Relationenschema Entwerfen Sie weitere Alternativen, die nebenstehende Vererbung in ein Relationenschema zu transformieren. Prüfen sie bei ihren Lösungen, ob sich das Schema noch in der 3. Normalform befindet.

15 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 15 Anhang: Lösung der Übung (1von2) Alternative 1:

16 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel Mar 2013 Seite 16 Anhang: Lösung der Übung (2von2) Alternative 2: Alternative 3:


Herunterladen ppt "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 4.5.1 Mar 2013 Seite 1 Objektorientierter Entwurf (OOD) Übersicht Das Ziel des OO-Designs (OOD) ist."

Ähnliche Präsentationen


Google-Anzeigen