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

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Advertisements

Aufgabe: Wie stellt man eine for-Schleife durch eine while-Schleife dar ?
Grenzen endlicher Automaten
Müll 1NaturEinkaufenMüll 2Vermischtes
BCD Ripple Carry Adder von Enrico Billich.
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 07 Prof. Albert Zündorf
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
3. Klassendiagramme in Java implementieren
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
3. Analyse Gliederung: Einführung Anforderungsdefinition
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan:
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern.
Programmiermethodik Übung 6 Methoden verstehen und entwerfen.
Teamorganisation: Versionsverwaltung
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 10 Prof. Albert Zündorf
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Programmiermethodik WS 2013/14 Prof. Albert Zündorf
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1338)
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Informationstechnologie
Paper: Aesthetics of Class Diagrams Vorgetragen von Tilmann Bartels Paper von Holger Eichelberger Universität Würzburg Bis jetzt gibt es keine allgemeingültige.
So, ein paar Fragen.. Wo sind mehr Bälle? Wo sind mehr Steine?
Die Erdmännchen Kennzeichen und Eigenschaften
Institut für Arbeitswissenschaft TECHNISCHE UNIVERSITÄT DARMSTADT © Schaub, Helbig, Spelten, Landau 1998 Bewertung körperlicher Arbeit BkA Version 4.3.
UC Kaffee brühen Der Use Case Ansatz © by cellconsult.com.
... Unternehmens- leitung
Gerd Grasshoff Universität Bern SS 2010
Cs104 Programmieren II Präsentation Meilenstein 1 Sommersemester 2007 Gruppe Nr. x Name 1 (Name der/des Vortragenden unterstreichen) Name 2 Name 3 Name.
Cs104 Programmieren II Präsentation Meilenstein 1 Frühjahrsemester 2010 Gruppe Nr. x: Gruppenname Name 1 (Name der/des Vortragenden unterstreichen) Name.
Cs104 Programmieren II & cs108 Programmierprojekt Präsentation Meilenstein 1 Frühjahrsemester 2011 Gruppe Nr. x: Gruppenname Name 1 (Name der/des Vortragenden.
Annahmen des lineare Regressionsmodells
Kapitel 4 Annahmen des linearen Regressionsmodells
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Das Bernoulli-Prinzip
Eine mannschaftstaktische Maßnahme im Volleyball
Brüche-Quartett Klasse 6-8 Spieler 4-6. Brüche-Quartett A1 Brüche-Quartett A2 Brüche-Quartett A3 Brüche-Quartett A4 Brüche-Quartett B1 Brüche-Quartett.
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
1.6.3 Test auf Verlustfreiheit (Verbundtreue) (4|10)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Programmiermethodik SS2011 © 2011 Albert Zündorf, University of Kassel 1 Programmentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen.
6. Story Driven Modeling Gliederung: Einführung
Programmiermethodik WS 2018/19 Prof. Albert Zündorf
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

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

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

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

runtime program z1 :Machine

runtime program z2 :Machine

runtime program z3 :Machine

runtime program z4 :Machine

runtime program z4 :Machine

runtime program z5 :Machine

runtime program z5 :Machine

runtime program z6 :Machine

runtime program z7 :Machine

runtime program z8 :Machine

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

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

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

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

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

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

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

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

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

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

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

r8 :Room credits = 8 s2 :Student name = "Karli" motivation = 99 in p3 :Professor name = "Karla" motivation = 9999 in 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

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

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

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

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

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

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