Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Wolfram Kase Geändert vor über 11 Jahren
1
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern
2
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2 Textuelle Scenarios
3
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 3 6. Story Driven Modeling 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 m Modellierung von Verhalten / graphische Programmierung 7. Zusammenfassung
4
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 4 Programmentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen / Story Boards modellieren 3. Klassendiagramm ableiten / erweitern / implementieren 4. Test bauen 5. "Dreisprung": 1. generellen Kontrollfluss auf Anwendungsebene skizzieren 2. generelles Verhalten auf Objektebene skizzieren 3. allgemeines Verhalten programmieren 6. programmiertes Verhalten an Ausgangsbeispiel testen 7. programmiertes Verhalten an alternativen Beispielen testen
5
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 5 Teil 1: Kontrollfluss mit Activity Diagrammen Beispielsituation Programm z1 :Machine
6
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 6 Kontrollfluss: Kommandos / Methodenaufrufe Beispielsituation Programm z2 :Machine
7
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 7 Kontrollfluss: Sequenz Beispielsituation Programm z3 :Machine
8
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 8 Kontrollfluss: Fallunterscheidung Beispielsituation Programm z4 :Machine
9
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 9 Kontrollfluss: Fallunterscheidung Beispielsituation Programm z4 :Machine
10
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 10 Kontrollfluss: Zählschleife Beispielsituation Programm z5 :Machine
11
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 11 Kontrollfluss: Zählschleife Beispielsituation Programm z5 :Machine
12
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 12 Kontrollfluss: While Schleife Beispielsituation Programm z6 :Machine
13
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 13 Teil 2: Operationen auf Objektstrukturen
14
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 14 Kanten lesen r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
15
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 15 Attribute lesen r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
16
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 16 temporäre Werte notieren r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
17
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 17 Nachrichten verschicken r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
18
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 18 Antworten zurückschicken r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
19
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 19 Attribute schreiben r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
20
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 20 Kanten löschen / erzeugen r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
21
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 21 Objekte löschen / erzeugen r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
22
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 22 Objekte löschen / erzeugen r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
23
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 23 Rule Syntax: Overview
24
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 24 Kontrollstrukturen: Sequenz r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
25
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 25 Fallunterscheidungen: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
26
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 26 Fallunterscheidung implizit: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
27
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 27 Zählschleifen: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
28
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 28 Zählschleifen: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
29
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 29 Zählschleifen: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
30
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 30 Alle Matches: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room costs = 9 r8 :Room costs = 8 r12 costs = 7 r13 :Room costs = 6 p2 :Person name = "Prinz" geld = 99 d3 :Door i1 :Item d11 :Door d10 :Door d9 :Door d7 :Door in i2 :Item i5 :Item i6 :Item i3 :Item i4 :Item in
31
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 31 The FAMous Fujaba Abstract Machine (Teil 1) Der Befehlssatz: m in den Objekten werden Kommandos / Nachrichten von vergesslichen Object Guys abgearbeitet m Object Guys schlafen normaler weise m beim Aufwachen wird die Umgebung vom Nebel des Vergessens verschleiert m Object Guys sehen nicht was die anderen tun m Jeder Object Guy hat eigenen Namensraums m Object Guy hat Handlungsanweisungen für jedes mögliche Komando m Immer ein Object Guy pro Nachricht Object Guy kann: m Kanten lesen und lokale Namen für Nachbarn vergeben m Attribute lesen und prüfen m temporäre Werte notieren m Berechnungen durchführen m Nachrichten verschicken (wartet (untätig) auf Antwort) m Antworten zurückschicken (und wieder einschlafen) m Attribute schreiben m Kanten löschen / erzeugen m Objekte löschen / erzeugen
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.