Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse."—  Präsentation transkript:

1 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 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

2 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2 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

3 Story Diagram Idioms Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 3

4 runtime program z1 :Machine

5 runtime program z2 :Machine

6 runtime program z3 :Machine

7 runtime program z4 :Machine

8 runtime program z4 :Machine

9 runtime program z5 :Machine

10 runtime program z5 :Machine

11 runtime program z6 :Machine

12 runtime program z7 :Machine

13 runtime program z8 :Machine

14 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

15 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

16 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 7 r12 credits = 8 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

17 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9 s2 :Student name = "Karli" credits = 34 motivation = 99

18 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

19 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign in d12 :Door r11 :Room credits = 9

20 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d11 :Door d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

21 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

22 runtime r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign in d12 :Door r11 :Room credits = 9

23 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 s2 :Student name = "Karli" motivation = 99 d3 :Door a1 :Assign d10 :Door d9 :Door d7 :Door in a2 : Assign a5 : Assign a6 : Assign in d12 :Door r11 :Room credits = 9

24 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 24 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

25 r8 :Room credits = 8 s2 :Student name = "Karli" motivation = 99 in p3 :Professor name = "Karla" motivation = 9999 in runtime program

26 r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door d11 :Door d10 :Door d9 :Door d7 :Door in a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

27 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door d11 :Door d10 :Door d9 :Door d7 :Door in a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

28 runtime program r2 :Room credits = 2 r5 :Room credits = 10 r8 :Room credits = 8 r12 credits = 7 r13 :Room credits = 6 s2 :Student name = "Karli" motivation = 99 d3 :Door d11 :Door d10 :Door d9 :Door d7 :Door in a5 : Assign a6 : Assign a3 : Assign a4 : Assign in d12 :Door r11 :Room credits = 9

29 r8 :Room credits = 8 s2 :Student name = "Karli" credits = 99 in p3 :Professor name = "Karla" motivation = 9999 in runtime program r9 :Room credits = 12 s3 :Student name = "Mira" credits = 110 in

30 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 30 Rule Syntax: Overview

31 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 31 Rule Syntax: Overview

32 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 32 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


Herunterladen ppt "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse."

Ähnliche Präsentationen


Google-Anzeigen