Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

6. Story Driven Modeling Gliederung: Einführung

Ähnliche Präsentationen


Präsentation zum Thema: "6. Story Driven Modeling Gliederung: Einführung"—  Präsentation transkript:

1 6. Story Driven Modeling Gliederung: Einführung
Objektdiagramme zur Analyse von Beispielen Klassendiagramme in Java implementieren Methodenentwurf Test-First Prinzip Story Driven Modeling Modellierung von Verhalten / graphische Programmierung Zusammenfassung Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

2 Programmentwurf: Beispiel auf Anwendungsebene anschauen
Beispiel in Objektdiagrammen / Story Boards modellieren Klassendiagramm ableiten / erweitern / implementieren Test bauen "Dreisprung": generellen Kontrollfluss auf Anwendungsebene skizzieren generelles Verhalten auf Objektebene skizzieren allgemeines Verhalten programmieren programmiertes Verhalten an Ausgangsbeispiel testen programmiertes Verhalten an alternativen Beispielen testen Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

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

4 z1 :Machine runtime program

5 z2 :Machine runtime program

6 z3 :Machine runtime program

7 z4 :Machine runtime program

8 z4 :Machine runtime program

9 z5 :Machine runtime program

10 z5 :Machine runtime program

11 z6 :Machine runtime program

12 z7 :Machine runtime program

13 z8 :Machine runtime program

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

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

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

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

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

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

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

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

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

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

24 Alle Matches: r2 :Room costs = 2 r5 :Room costs = 10 r11 :Room
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 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

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

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

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

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

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

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

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

32 The FAMous Fujaba Abstract Machine (Teil 1) Der Befehlssatz:
in den Objekten werden Kommandos / Nachrichten von vergesslichen „Object Guys“ abgearbeitet Object Guys schlafen normaler weise beim Aufwachen wird die Umgebung vom „Nebel des Vergessens“ verschleiert Object Guys sehen nicht was die anderen tun Jeder Object Guy hat eigenen „Namensraums“ Object Guy hat „Handlungsanweisungen“ für jedes mögliche Komando Immer ein Object Guy pro Nachricht Object Guy kann: Kanten lesen und lokale Namen für Nachbarn vergeben Attribute lesen und prüfen temporäre Werte notieren Berechnungen durchführen Nachrichten verschicken (wartet (untätig) auf Antwort) Antworten zurückschicken (und wieder einschlafen) Attribute schreiben Kanten löschen / erzeugen Objekte löschen / erzeugen Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel


Herunterladen ppt "6. Story Driven Modeling Gliederung: Einführung"

Ähnliche Präsentationen


Google-Anzeigen