16
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Klassendiagramme in Java implementieren 4. Methodenentwurf 5. Test-First Prinzip 6. Story Driven Modeling 7. Zusammenfassung

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Embed Size (px)

Citation preview

Page 1: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1

4. Methodenentwurf

Gliederung:

1. Einführung

2. Objektdiagramme zur Analyse von Beispielen

3. Klassendiagramme in Java implementieren

4. Methodenentwurf

5. Test-First Prinzip

6. Story Driven Modeling

7. Zusammenfassung

Page 2: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2

Zu-N Assocs und Container-Klassen:

Person Raumgaeste in0..n 0..1

in import java.util.*;public class Raum{

gaeste;}

…for (Person p : r.gaeste ){ p.geld = p.geld – r.kosten;}…

Struktur

Daten Verhalten

:Raum kosten = 8

:Raum kosten = 12

:Person geld = 50

:Person geld = 100

Page 3: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 3

Methodenentwurf:

1. Beispiel auf Anwendungsebene anschauen

2. Beispiel in Objektdiagrammen / Story Boards modellieren

3. allgemeines Verhalten auf Anwendungsebene skizzieren

4. allgemeines Verhalten auf Objektebene skizzieren

5. allgemeines Verhalten programmieren

6. programmiertes Verhalten an Ausgangsbeispiel testen

7. programmiertes Verhalten an alternativen Beispielen testen

Page 4: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 4

Motivation: rettet Prinz(essin) Ada

Aufgabe: Raum bezahlen

Page 5: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 5

Operation payRoom

t3 :Tuerlocked = true

r2 :Raumkosten = 0

t5 :Tuerlocked = false

r6 :Raumkosten = 10

p1 :Personname = "Ada"

in

r4 :Raumkosten = 12

hat hat

hathat

hat

p7 :Person

name = "Prinz"budget = 42

oeffnet

s9 :Schluessel

hat

r12 :Raumkosten = 1

t10 :Tuerlocked = true oeffnet

s8 :Schluessel

in

hat

hat

Page 6: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 6

Motivation: rettet Prinz(essin) Ada

Aufgabe: Tür öffnen

Page 7: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 7

Operation openDoor

t3 :Tuerlocked = true

r2 :Raumkosten = 0

t5 :Tuerlocked = false

r6 :Raumkosten = 10

p1 :Personname = "Ada"

in

r4 :Raumkosten = 12

hat hat

hathat

hat

p7 :Person

name = "Prinz"budget = 30

oeffnet

s9 :Schluessel

hat

r12 :Raumkosten = 1

t10 :Tuerlocked = true oeffnet

s8 :Schluessel

in

hat

hat

Page 8: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 8

Operation openDoor

t3 :Tuerlocked = true

r2 :Raumkosten = 0

t5 :Tuerlocked = false

r6 :Raumkosten = 10

p1 :Personname = "Ada"

in

r4 :Raumkosten = 12

hat hat

hathat

hat

p7 :Person

name = "Prinz"budget = 30

oeffnet

s9 :Schluessel

hat

r12 :Raumkosten = 1

t10 :Tuerlocked = true oeffnet

s8 :Schluessel

in

hat

hat

Page 9: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 9

Motivation: rettet Prinz(essin) Ada

Aufgabe: Dinge sammeln

Page 10: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 10

Operation collectItems

t15 :Tuerlocked = false

r16 :Raumkosten = 8

r14 :Raumkosten = 2

hathat

in

p7 :Person

name = "Prinz"budget = 23

s9 :Schluessel

s8 :Schluessel

in

g13 :Geschenkart = "Ringe"

in in

g17 :Geschenkart = "Blumen"

in

Page 11: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 11

Klassen als Baupläne für Objekte

Raumkosten : Integer

in

Geschenkname : String

in Tuerlocked : Boolean

Schluessel

inoeffnet

hat

hat

Person

name : Stringgeld : Integer

Page 12: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 12

Motivation: rettet Prinz(essin) Ada

Aufgabe: kürzesten Weg suchen

Page 13: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 13

Rette Ada objektorientiert

r1kosten = 1

r2kosten = 2

r3kosten = 3

r4kosten = 0

r7kosten = 12

r5kosten = 10

r10kosten = 11

r11kosten = 9

r8kosten = 8

r12kosten = 7

r13kosten = 6

r9kosten = 5

t2 :Tuer

p1name = "Ada"

p2name = "Prinz"geld = 99

t3 :Tuer t4 :Tuer

t13 :Tuer

t14 :Tuer

t12 :Tuer

t11 :Tuer

t10 :Tuer

t9 :Tuert7 :Tuer

t6 :Tuer

t5 :Tuer

in

in

t1:Tuer

t8 :Tuer

r6kosten = 4

Page 14: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 14

Rette Ada objektorientiert

r1kosten = 1

r2kosten = 2

r3kosten = 3

r4kosten = 0

r7kosten = 12

r5kosten = 10

r10kosten = 11

r11kosten = 9

r8kosten = 8

r12kosten = 7

r13kosten = 6

r9kosten = 5

t2 :Tuer

p1name = "Ada"

p2name = "Prinz"geld = 99

t3 :Tuer t4 :Tuer

t13 :Tuer

t14 :Tuer

t12 :Tuer

t11 :Tuer

t10 :Tuer

t9 :Tuert7 :Tuer

t6 :Tuer

t5 :Tuer

in

in

t1:Tuer

t8 :Tuer

r6kosten = 4

Page 15: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 15

Page 16: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 16