![Page 1: Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/1.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/2.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/3.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/4.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/5.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/6.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/7.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/8.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/9.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/10.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/11.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/12.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/13.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/14.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/15.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022070310/55204d6749795902118bca05/html5/thumbnails/16.jpg)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 16