Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4."—  Präsentation transkript:

1 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4. Implementierung des Datenmodells 5. Implementierung der Szenarios als JUnit Tests 6. Textuelle Algorithmen 7. Story Diagramme 8. Implementierung der Algorithmen

2 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 2 Motivation: Study-Right University Aufgabe: m Wegesuche Handicaps: m Motivationspunkte m Pro Credit eine Motivation m 214 Credits erreichen m Pflichtkurse m Modulabhängigkeiten m...

3 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 3 1. Textuelle Szenarios Start: Karli is in the math room. She has still 197 points motivation and she has already gained 17 credits 1. Karli moves to the modeling room. 2. Karli earns 29 credits and consumes 29 points of her motivation.

4 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 4 Objekte klassifizieren r4 topic = "exam" r3 topic = "stochastic" credits = 23 r2 topic = "calculus" credits = 20 r1 topic = "math" credits = 17 r8 topic = "algebra" credits = 35 r7 topic = "philosophy" credits = 32 r5 topic = "modeling" credits = 29 r6 topic = "modern arts" credits = 17 rwkarli motivation = 197 credits = 17

5 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 5 Objekte klassifizieren r4 : Room topic = "exam" credits = 0 r3 : Room topic = "stochastic" credits = 23 r2 : Room topic = "calculus" credits = 20 r1 : Room topic = "math" credits = 17 r8 : Room topic = "algebra" credits = 35 r7 : Room topic = "philosophy" credits = 32 r5 : Room topic = "modeling" credits = 29 r6 : Room topic = "modern arts" credits = 17 rw : Room topic = "real life" credits = 0 karli : Student motivation = 197 credits = 17

7 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 7 Klassendiagramme "Syntax" von Klassendiagrammen: m kommt gleich Semantik von Klassendiagrammen aus extensionaler Sicht: m Menge aller "gültigen" Objektdiagramme / Momentaufnahmen und Szenarios (siehe Verhaltensdiagramme) ein Objektdiagramm / eine Momentaufnahme ist "gültig" wenn: l alle verwendeten Klassen sind deklariert l alle benutzten Attribute sind deklariert und werden typkonform verwendet l für jeden Link gibt es eine Assoziation zwischen den entsprechenden Klassen l die Kardinialiätsangaben der Assoziationen werden nicht verletzt l...

8 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 8 Implementierung: public class Room { } Room … Room r = new Room (); … r = new Room (); … :Room Struktur DatenVerhalten

9 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 9 Implementierung: public class Room { … public int credits; … } Room credits : Integer … if (r. credits <= 0) { r. credits = 12; } … :Room credits = 5 :Room credits = -1 Struktur DatenVerhalten

10 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 10 Implementierung: public class Room { public void teach (Student s) { … } … } Room teach (s :Student) … r.teach (s); … r.teach (s); … :Room credits = 8 :Student motivation = 50 :Room credits = 12 :Student motivation = 100 Struktur DatenVerhalten

11 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 11 Implementierung: public class Professor { Room in; } public class Room { Professor prof; } Professor prof 0..1 located in 0..1 … oldRoom = new Room (); … newRoom = new Room (); myProf = new Professor (); newRoom.topic = "history"; myProf.in = newRoom; newRoom.prof = myProf; … Room topic :String :Professor :Room topic = "modeling" Struktur DatenVerhalten :Room topic = "math"

12 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 12 Implementierung: public class Professor { Room in; } public class Room { Professor prof; } Professor prof 0..1 located in 0..1 … if (myProf.in != null) { profRoom = myProf.in; int profCredits = profRoom.credits; if (profCredits > 40) { System.out.println("this is a VIP prof"); … Room topic :String :Professor :Room topic = "modeling" Struktur DatenVerhalten :Room topic = "math" located

13 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 13 Implementierung: import java.util.*; public class University { Set rooms; } public class Room { University uni; } … u.rooms.add (r); r.uni = u; … u.rooms.add (r); r.uni = u;; … Struktur DatenVerhalten :Room credits = 8 :Room credits = 12 :University University uni 0..1 rooms rooms 0..n Room credits :Integer

14 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 14 Implementierung: … for (Room r : u.rooms ) { u.teaching = u.teaching + r.credits; } … Struktur DatenVerhalten :Raum kosten = 8 :Raum kosten = 12 :Person geld = 50 :Person geld = 100 in import java.util.*; public class University { Set rooms; } public class Room { University uni; } uni 0..1 rooms rooms 0..n Room credits :Integer University teaching :Integer

15 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 15

16 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 16 Syntax von Klassendiagrammen (UML) {sorted}

17 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 17 "Syntax" von Objektdiagrammen:

18 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 18

19 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 19

20 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 20


Herunterladen ppt "Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4."

Ähnliche Präsentationen


Google-Anzeigen