Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hilbert Vogt Geändert vor über 11 Jahren
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
6
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 6 Klassen als Baupläne für Objekte in doors Room topic : String credits: Integer Student motivation : Integer credits: Integer
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
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.