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
X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe

2 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) Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

3 Prof. Dr. Michael Löwe, FHDW, Hannover
Lernziele Verständnis für die Wichtigkeit des Entwurfs Einsicht in die Dreifaltigkeit Material, Werkzeug, Prozeß Attribute, Operationen, Interaktion Gefühl für den Übergang Analyse / Entwurf Kennenlernen der Beschreibungsmittel Einsicht in den nötigen Detaillierungsgrad Erlernen erster Faustregeln für guten Entwurf Regeln für angemessene Benutzeroberflächen Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

4 Prof. Dr. Michael Löwe, FHDW, Hannover
Inhalt Aufgaben und Ergebnisse im Entwurf (Wiederholung) Was ist der Entwurf? Übergang in den Entwurf Das Thema des Entwurfs: Innere (und äußere) Struktur der Klassen Attribute, Operationen, Schnittstellen und Interaktion Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

5 Prof. Dr. Michael Löwe, FHDW, Hannover
Aufgaben im Entwurf Abbildung der Analyse-Ergebnisse (ideale Technik) auf die verfügbare Technik Abbildung der Analyseklassen auf DV-Datentypen Abbildung der Analyseobjekte auf DV-Objekte Dabei Abstraktion durch Begrenzung der Eigenschaften Festlegung der konkreten Dienste (Protokolle) Festlegung der konkreten Zusammenarbeit Dabei Festlegung der endgültigen Beziehungsstruktur Berücksichtigung der technischen Belange Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

6 Ergebnisse des Entwurfs
Vollständiges Objekt/Klassendiagramm Ergänzung der Analyse-Ergebnisse um technische Klassen Attribute und Operationen (Datentyp) Vererbungsbeziehungen Vervollständigung der Beziehungen Spezifikation der Zusammenarbeit (Interaktion) Sequenzdiagramme für komplizierte Szenarien Angabe zu verwendender Entwurfsmuster Entwurf der Benutzerinteraktion Oberflächenprototypen Dialogfolgeskizzen für Szenarien Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

7 Rückkopplung im Entwicklungsprozeß
Analyse Entwurf Analyse Entwurf Realisierung Planung Analyse Entwurf Realisierung Planung Analyse Entwurf Realisierung Planung Analyse Entwurf Realisierung Planung Planung Realisierung Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

8 Prof. Dr. Michael Löwe, FHDW, Hannover
Was ist der Entwurf? Die Ergebnisse der Analyse beschreiben die Struktur einer fachlichen Lösung für eine Entwicklungsaufgabe unter der Annahme idealer Technik. Die Ergebnisse des Entwurfs beschreiben die Struktur einer fachlichen Lösung für eine Entwicklungsaufgabe unter der gegebenen Technik. Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

9 Übergang in den Entwurf
Kontextdiagramm: System und seine Akteure Anwendungsfalldiagramm: Anwendungsfälle und ihre Akteure Fachlexikon: Fachbegriffe und -strukturen Anwendungsbeschreibung: Systemfunktionen und ihre Abläufe Fachliches Klassenmodell: Klassen und Beziehungen Aktivitätsdiagramme: Aktivitäten und kausale Abhängigkeit Fachliches Klassenmodell: Attribute und Operationen Interaktionsdiagramme: Realisierung der Aktivitäten durch Interaktion von Objekten Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

10 Von der Interaktion zu den Operationen
Aktivität: Aus Angebot mit eigenen Daten Vertrag erzeugen Angebot Vertrag Kunde Vertrag erzeugen neu Daten übernehmen *Einzelnes Datum holen Kunde zuordnen Vertrag zuordnen Anschrift zuordnen Anschrift prüfen . Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

11 Übergang in den Entwurf
Einfluß der eingesetzten Technik Ober- fläche Persistenz Anwendungsfalldiagramm Anwendungsfallbeschreibung * Fachlexikon Aktivitätsdiagramm Klassenmodell (Struktur) Interaktionsdiagramm * Klassenmodell (vollständig) Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

12 Innere Struktur von Klassen
Zustände und Eigenschaften Attribute Typen Verhalten Operationen Methoden Nachrichten Schnittstellen Interaktion Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

13 Beispiel Klassenname Kreis Attributname Attribut-Typ Initialwert
radius: Länge mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge Attributname Attribut-Typ Initialwert Parameter Parameter-Typ Operationsname Rückgabe-Typ Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

14 Beispiel k2 k1 k3 „instance of“ Kreis radius: Länge
mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge k1 k2 k3 „instance of“ k1:Kreis radius = 1 mittelpunkt = (0,0) k2:Kreis radius = 2.5 mittelpunkt = (3,1.25) k3:Kreis radius = 1.5 mittelpunkt = (-1.5,-3) Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

15 Beispiel (Fortsetzung)
Kreis radius: Länge mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge k1 k2 k1:Kreis radius = 1 mittelpunkt = (0,0) k2:Kreis radius = 2.5 mittelpunkt = (3,1.25) k3:Kreis radius = 1.5 mittelpunkt = (-1.5,-3) k3 versteckDich zeigDich Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

16 Prof. Dr. Michael Löwe, FHDW, Hannover
Attribut Definition: Ein Attribut ist ein Element, das in jedem Objekt einer Klasse gleichermaßen enthalten ist und von jedem Objekt mit einem individuellen Wert repräsentiert wird. Im Gegensatz zu Objekten haben Attribute außerhalb des Objektes, von dem sie Teil sind, keine eigene Identität. Attribute sind vollständig unter der Kontrolle der Objekte, von denen sie Teil sind. Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

17 Attribut (Beispiele) name : String = ‚Unbekannt‘ angebot : Angebot
Elementarer Typ: String, Integer, Float, Character,... name : String = ‚Unbekannt‘ angebot : Angebot rechnungsdatum : Datum farbe : {rot, blau, grün} \alter : Integer {alter = today - gebDatum} vornamen [1..5] : String Typangabe durch Klassenname Aufzählungstyp Abgeleitetes Attribut Mehrfachattribut Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

18 Prof. Dr. Michael Löwe, FHDW, Hannover
Operation Definitionen: Operationen sind Dienstleistungen, die von einem Objekt angefordert werden können, sie werden beschrieben durch ihre Signatur (Operationsname, Parameter- und Rückgabespezifikation). Eine Methode implementiert eine Operation. (Sie ist eine Sequenz von Anweisungen/Interaktionen.) Eine Nachricht überbringt einem Objekt die Information darüber, welche Aktivität von ihm erwartet wird und fordert es so zur Ausführung einer Operation auf. Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

19 Operation (Beispiele)
Kein Parameter Rückgabetyp freigeben () : Vertragsstatus vergrößern (umFaktor : Real) : GeomFigur setzePosition (x : Integer, y : Integer) rufnrHinzufügen (rufnr : String, art : Rufart) Parameter, Parametertyp Typgleiche Parameter Mehrere Parameter Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

20 Operation, Methode und Nachricht
Gekapselt Daten: Attribute Gekapselte Funktionen: Methoden Schnittstelle: Operationen Kunde Dienstleister Nachricht Merke: Eine Operation kann durch diese Trennung über viele verschiedene Methoden realisiert sein!!! Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

21 Operationen und abstrakte Klassen
Person Versicherungsnehmer hat * Kommunikationsweg {abstract} = Telefonnr. Versandweg {abstract} standardwegZuordnen (v : Vertrag) 1 Vertrag Faxnr. -Adr. Anschrift Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

22 Schnittstellenklassen
Versteckbar {abstract} zeigDich() versteckDich() „interface“ Versteckbar zeigDich() versteckDich() Kreis radius: Länge mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge „implements“ Kreis radius: Länge mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge Versteckbar Kreis radius: Länge mittelpunkt: Punkt = (10,10) zeigDich () versteckDich () setzeMittelpunkt(pos:Punkt) setzeRadius(rad:Länge) liefereRadius():Länge Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

23 Elementare Interaktion
Gekapselt Daten: Attribute Gekapselte Funktionen: Methoden Schnittstelle: Operationen Kunde Dienstleister Nachricht Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

24 Prof. Dr. Michael Löwe, FHDW, Hannover
Interaktion Aktivität: Aus Angebot mit eigenen Daten Vertrag erzeugen Klassenname Objekt Angebot Vertrag Kunde Vertrag erzeugen neu Nachricht mit Absender und Empfänger Daten übernehmen Iteration *Einzelnes Datum holen Kunde zuordnen Lebenslinie Vertrag zuordnen Anschrift zuordnen Anschrift prüfen . Reihenfolge Zeit  Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

25 Prof. Dr. Michael Löwe, FHDW, Hannover
Zusammenfassung Entwurf und Analyse haben viele Modelle gemeinsam Analyse: Ideale Technik Entwurf: Gegebene Technik {Bemerkung: Gegebene Technik bewegt stark auf ideale Technik zu!} Entwurf ergänzt die Analysergebnisse Attribute und Operationen Technische Klassen Interaktion Oberflächen Das Ergebnis im Entwurfs ist das Klassenmodell Realisierung implementiert die Methoden Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover


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

Ähnliche Präsentationen


Google-Anzeigen