+ All Categories
Home > Documents > OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael...

OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael...

Date post: 05-Apr-2015
Category:
Upload: hermine-straut
View: 110 times
Download: 5 times
Share this document with a friend
25
OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe
Transcript
Page 1: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

OO Analyse und Entwurf für Anwender

X. Der Kern der Objektorientierung: Der Entwurf

Dr. Michael Löwe

Page 2: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

2

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 3: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

3

Objektorientierte Analyse und Entwurf

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

Page 4: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

4

Objektorientierte Analyse und Entwurf

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

Page 5: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

5

Objektorientierte Analyse und Entwurf

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

Page 6: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

6

Objektorientierte Analyse und Entwurf

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

Page 7: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

7

Objektorientierte Analyse und Entwurf

AnalyseAnalyse

EntwurfEntwurf

RealisierungRealisierung

Planung

AnalyseAnalyse

EntwurfEntwurf

RealisierungRealisierung

Planung

AnalyseAnalyse

EntwurfEntwurf

RealisierungRealisierung

Planung

AnalyseAnalyse

EntwurfEntwurf

RealisierungRealisierung

Planung

Rückkopplung im Entwicklungsprozeß

AnalyseAnalyse

EntwurfEntwurf

RealisierungRealisierung

Planung

Page 8: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

8

Objektorientierte Analyse und Entwurf

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.

Page 9: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

9

Objektorientierte Analyse und Entwurf

Übergang in den Entwurf

Kontextdiagramm:System und seine Akteure

Kontextdiagramm:System und seine Akteure

Anwendungsfalldiagramm:Anwendungsfälle und ihre Akteure

Anwendungsfalldiagramm:Anwendungsfälle und ihre Akteure

Anwendungsbeschreibung:Systemfunktionen und ihre Abläufe

Anwendungsbeschreibung:Systemfunktionen und ihre Abläufe

Fachlexikon:Fachbegriffe und -strukturen

Fachlexikon:Fachbegriffe und -strukturen

Fachliches Klassenmodell:Klassen und Beziehungen

Fachliches Klassenmodell:Klassen und Beziehungen

Aktivitätsdiagramme:Aktivitäten und kausale Abhängigkeit

Aktivitätsdiagramme:Aktivitäten und kausale Abhängigkeit

Fachliches Klassenmodell:Attribute und Operationen

Fachliches Klassenmodell:Attribute und Operationen

Interaktionsdiagramme:Realisierung der Aktivitäten durch Interaktion von Objekten

Interaktionsdiagramme:Realisierung der Aktivitäten durch Interaktion von Objekten

Page 10: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

10

Objektorientierte Analyse und Entwurf

Von der Interaktion zu den OperationenAktivität: Aus Angebot mit eigenen Daten Vertrag erzeugen

Angebot Vertrag Kunde

Vertrag erzeugenneu

Daten übernehmen

Kunde zuordnenVertrag zuordnen

Anschrift zuordnenAnschrift prüfen...

*Einzelnes Datum holen

Page 11: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

11

Objektorientierte Analyse und Entwurf

Einfluß der eingesetzten Technik

Ober-fläche

Persistenz

Übergang in den Entwurf

Anwendungsfalldiagramm

Anwendungsfallbeschreibung*

Aktivitätsdiagramm

Fachlexikon

Klassenmodell (Struktur)

Interaktionsdiagramm*

Klassenmodell (vollständig)

Page 12: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

12

Objektorientierte Analyse und Entwurf

Innere Struktur von Klassen

• Zustände und Eigenschaften– Attribute– Typen

• Verhalten– Operationen– Methoden– Nachrichten– Schnittstellen

• Interaktion

Page 13: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

13

Objektorientierte Analyse und Entwurf

Beispiel

Kreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

Klassenname

Attributname Attribut-Typ

Initialwert

Operationsname

Parameter

Parameter-Typ

Rückgabe-Typ

Page 14: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

14

Objektorientierte Analyse und Entwurf

BeispielKreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

k1

k2

k3

k1:Kreisradius = 1

mittelpunkt = (0,0)

k2:Kreisradius = 2.5

mittelpunkt = (3,1.25)

k3:Kreisradius = 1.5

mittelpunkt = (-1.5,-3)

„instance of“

Page 15: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

15

Objektorientierte Analyse und Entwurf

Beispiel (Fortsetzung)Kreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

k1

k2

k3

k1:Kreisradius = 1

mittelpunkt = (0,0)

k2:Kreisradius = 2.5

mittelpunkt = (3,1.25)

k3:Kreisradius = 1.5

mittelpunkt = (-1.5,-3)

versteckDich

zeigDich

Page 16: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

16

Objektorientierte Analyse und Entwurf

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.

Page 17: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

17

Objektorientierte Analyse und Entwurf

Attribut (Beispiele)

name : String = ‚Unbekannt‘

angebot : Angebot

rechnungsdatum : Datum

farbe : {rot, blau, grün}

\alter : Integer {alter = today - gebDatum}

vornamen [1..5] : String

Elementarer Typ:String, Integer,

Float, Character,...

Typangabe durchKlassenname

Aufzählungstyp

Mehrfachattribut

Abgeleitetes Attribut

Page 18: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

18

Objektorientierte Analyse und Entwurf

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.

Page 19: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

19

Objektorientierte Analyse und Entwurf

Operation (Beispiele)

freigeben () : Vertragsstatus

vergrößern (umFaktor : Real) : GeomFigur

setzePosition (x : Integer, y : Integer)

rufnrHinzufügen (rufnr : String, art : Rufart)

RückgabetypKein Parameter

Parameter, Parametertyp

Typgleiche Parameter

Mehrere Parameter

Page 20: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

20

Objektorientierte Analyse und Entwurf

Operation, Methode und Nachricht

Gekapselt Daten:

Attribute

Gekapselte Funktionen:

Methoden

Schnittstelle:Operationen

Kunde

Gekapselt Daten:

Attribute

Gekapselte Funktionen:

Methoden

Schnittstelle:Operationen

Dienstleister

Nachricht

Merke: Eine Operation kann durch diese Trennung über viele verschiedene Methoden realisiert sein!!!

Page 21: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

21

Objektorientierte Analyse und Entwurf

Versandweg{abstract}

standardwegZuordnen (v : Vertrag)

Operationen und abstrakte Klassen

Person

Telefonnr.

Faxnr.

email-Adr.

Anschrift

Kommunikationsweg{abstract}

*hat

Vertrag1

Versicherungsnehmer

=

Page 22: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

22

Objektorientierte Analyse und Entwurf

SchnittstellenklassenVersteckbar

{abstract}zeigDich()

versteckDich()

Kreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

„interface“VersteckbarzeigDich()

versteckDich()

Kreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

„implements“ Kreis

radius: Längemittelpunkt: Punkt = (10,10)

zeigDich ()versteckDich ()

setzeMittelpunkt(pos:Punkt)setzeRadius(rad:Länge)liefereRadius():Länge

Versteckbar

Page 23: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

23

Objektorientierte Analyse und Entwurf

Elementare Interaktion

Gekapselt Daten:

Attribute

Gekapselte Funktionen:

Methoden

Schnittstelle:Operationen

Kunde

Gekapselt Daten:

Attribute

Gekapselte Funktionen:

Methoden

Schnittstelle:Operationen

Dienstleister

Nachricht

Page 24: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

24

Objektorientierte Analyse und Entwurf

InteraktionAktivität: Aus Angebot mit eigenen Daten Vertrag erzeugen

Angebot Vertrag Kunde

Vertrag erzeugenneu

Daten übernehmen

Kunde zuordnenVertrag zuordnen

Anschrift zuordnenAnschrift prüfen...

*Einzelnes Datum holen

ObjektKlassenname

Nachricht mit Absender und

Empfänger

ReihenfolgeZeit

Iteration

Lebenslinie

Page 25: OO Analyse und Entwurf für Anwender X. Der Kern der Objektorientierung: Der Entwurf Dr. Michael Löwe.

Entwurf Prof. Dr. Michael Löwe, FHDW, Hannover

25

Objektorientierte Analyse und Entwurf

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


Recommended