Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 3. Klassendiagramme in Java implementieren Gliederung: 1. Einführung 2. Objektdiagramme.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 3. Klassendiagramme in Java implementieren Gliederung: 1. Einführung 2. Objektdiagramme."—  Präsentation transkript:

1 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 3. Klassendiagramme in Java implementieren 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 7. Zusammenfassung

2 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2 Motivation: rettet Prinz(essin) Ada Aufgabe: m Wegesuche Handicaps: m Räume kosten m genaue Geldmenge ausgeben m versteckte Geschenke m Fallen m...

3 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 3 Alternative Modellierungen t3 :Tuer locked = true r2 :Raum kosten = 0 t5 :Tuer locked = false r6 :Raum kosten = 10 p1 :Person name = "Ada" in r4 :Raum kosten = 12 hat s7 :Schluessel in hat

4 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 4 Klassen als Baupläne für Objekte Raum kosten : Integer in Geschenk name : String in Tuer locked : Boolean Schluessel inoeffnet hat Person name : String geld : Integer

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

6 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 6 Implementierung: public class Raum { } Raum … Raum r = new Raum (); … r = new Raum (); … :Raum Struktur DatenVerhalten

7 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 7 Implementierung: public class Raum { … public int kosten; … } Raum kosten : Integer … if (r.kosten <= 0) { r.kosten = 12; } … :Raum kosten = 5 :Raum kosten = -1 Struktur DatenVerhalten

8 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 8 Implementierung: public class Raum { public void kassieren (Person p) { … } … } Raum kassieren (p:Person) … r.kassieren (p); … r.kassieren (p); … :Raum kosten = 8 :Person geld = 50 :Raum kosten = 12 :Person geld = 100 Struktur DatenVerhalten

9 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 9 Implementierung: public class Schluessel { Tuer tuer; } public class Tuer { Schluessel oeffner; } Schluessel oeffner 0..1 oeffnet tuer 0..1 … t = new Tuer (); … t = new Tuer (); s = new Schluessel (); t.locked = true; s.tuer = t; t.oeffner = s; … Tuer locked :Boolean :Schluessel :Tuer locked = false Struktur DatenVerhalten :Tuer locked = false

10 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 10 Implementierung: public class Schluessel { Tuer tuer; } public class Tuer { Schluessel oeffner; } Schluessel oeffner 0..1 oeffnet tuer 0..1 … if (t.locked) { Schluessel s = t.hat; if (s.besitzer == p) { … Tuer locked :Boolean :Schluessel :Tuer locked = false Struktur DatenVerhalten :Tuer locked = false oeffnet

11 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 11 Implementierung: Person Raum gaeste 0..n in in 0..1 public class Person { Raum in; } import java.util.*; public class Raum { List gaeste; } … p.in = r; r.gaeste.add (p); … p.in = r; r.gaeste.add (p); … Struktur DatenVerhalten :Raum kosten = 8 :Raum kosten = 12 :Person geld = 50 :Person geld = 100

12 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 12 Implementierung: Person Raum gaeste 0..n in in 0..1 public class Person { Raum in; } import java.util.*; public class Raum { List gaeste; } … for (Person p : r.gaeste ) { p.geld = p.geld – r.kosten; } … Struktur DatenVerhalten :Raum kosten = 8 :Raum kosten = 12 :Person geld = 50 :Person geld = 100

13 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 13 Syntax von Klassendiagrammen (UML)

14 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 14 "Syntax" von Objektdiagrammen:

15 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 15

16 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 16

17 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 17


Herunterladen ppt "Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 3. Klassendiagramme in Java implementieren Gliederung: 1. Einführung 2. Objektdiagramme."

Ähnliche Präsentationen


Google-Anzeigen