Programmiermethodik Übung 6 Methoden verstehen und entwerfen.
Programmiermethodik SS 08 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...
-
Upload
willahelm-rehfeld -
Category
Documents
-
view
105 -
download
1
Transcript of Programmiermethodik SS 08 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...
Programmiermethodik SS 08
Prof. Albert Zündorf
Fachgebiet für Software EngineeringWilhelmshöher Allee 73
34121 Kassel(Raum 1339 im Altbau)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 2
Organisatorisches
Umfang: 4 SWS teils Vorlesungen teils Übungen
Übungsbetreuung: Ruben Jubeh und Tutoren
Ort und Zeit: Vorlesung: Dienstags 12:00 - 13:30 Raum 0446
(Erste Vorlesung: 1.04.08)Übung: Freitags 14:00 - 18:00 ,
Raum -1201 (CIP Pool unter der Mensa)(Erste Übung: Freitag, den 4.04.2008)
Prüfung: Pflichtübungsaufgaben (korrigiert, unbenotet, Voraussetzung zur Klausur) Klausur in der vorlesungsfreien Zeit
Folienskript: http://www.se.eecs.uni-kassel.de hoffentlich am Wochende vorher.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 3
Literatur
Grundlegend: Helmut Balzert: Lehrbuch der Software-Technik (Bd.\ 1 und 2), Spektrum
Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk)
Unified Modeling Language: Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling
Language - User Guide, Addison Wesley 1999 (die haben das erfunden) Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit
UML; Springer 2000 (finde ich ziemlich gut) Martin Hitz, Gerti Kappel: UML @ Work, dpunkt.verlag (ziemlich gut) Albert Zündorf: Rigorous Software Development with UML, Draft,
Fachgebietsseiten
Hintergrund: Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist
nur kurz aber Gründungsmanifest der Softwaretechnik, unbedingt mal lesen)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 4
Gliederung
1. Einführung
2. Objektdiagramme zur Analyse von Beispielen
3. Methodenentwurf
4. Test-First Prinzip
5. Story Driven Modeling
6. Zusammenfassung
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 5
1. Einführung
Ziele der Veranstaltung:
methodische Vorgehensweise zur Entwicklung größerer Programme (> 10000 LOC)
objektorientierte Programmierung
objektorientierte Modellierung
objektorientierte Szenarios
Test-First Prinzip
Unified Modeling Language
Story Driven Modeling
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 6
Motivation: rettet Prinz(essin) Ada
Aufgabe:
Wegesuche
Handicaps:
Räume kosten
genaue Geldmenge ausgeben
versteckte Geschenke
Fallen
. . .
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 7
Rette Ada, dann mal los
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 8
Rette Ada naivpublic class RetteAda {
int[] raumkosten = {1,2,3,4,5,6,7,8,9,10,11,12,13};
int[][] tueren = { {0,1,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0,0,0,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0},
{1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0},
{1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,0,0,1,0,0,0},
{1,0,0,0,0,0,0,0,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,0,0,0,0},
{1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0},
{1,0,0,0,0,0,0,1,0,1,0,0,0}};
int[] geschenkeOrt = {6, 1, 9};
String [] geschenkeNamen = {"Blumen", "Ringe", "Pralinen"};
int prinzOrt = 5;
int prinzessinOrt = 13;
float geld = 99;
int[] hatGeschenk = {0,0,0}; . . .
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 9
Objektorientierte (Daten)Modellierung
int [] reicht zur Datenmodellierung NICHT aus
Objekte für Räume, Personen, Geschenke , Fallen … einführen
Objektdiagramme zur Analyse von Beispielen
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 10
Rette Ada objektorientiert
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 11
Rette Ada objektorientiert
r1kosten = 1
r2kosten = 2
r3kosten = 3
r4kosten = 0
r7kosten = 12
r5kosten = 10
r10kosten = 11
r11kosten = 9
r8kosten = 8
r12kosten = 7
r13kosten = 6
r6kosten = 4
r9kosten = 5
tuerp1
name = "Ada"p2
name = "Prinz"geld = 99
tuer tuer tuer tuer
tuer
tuertuer
tuertuer
tuer
tuer
tuertuer
in
in
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 12
Objekte klassifizieren
r1kosten = 1
r2kosten = 2
r3kosten = 3
r4kosten = 0
r7kosten = 12
r5kosten = 10
r10kosten = 11
r11kosten = 9
r8kosten = 8
r12kosten = 7
r13kosten = 6
r6kosten = 4
r9kosten = 5
tuerp1name = "Ada"
p2name = "Prinz"geld = 99
tuer tuer tuer tuer
tuer
tuertuer
tuertuer
tuer
tuer
tuertuer
in
in
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 13
Objekte klassifizieren
r1 :Raumkosten = 1
r2 :Raumkosten = 2
r3 :Raumkosten = 3
r4 :Raumkosten = 0
r7 :Raumkosten = 12
r5 :Raumkosten = 10
r10 :Raumkosten = 11
r11 :Raumkosten = 9
r8 :Raumkosten = 8
r12 Raumkosten = 7
r13 :Raumkosten = 6
r6 :Raumkosten = 4
r9 :Raumkosten = 5
tuerp1 :Personname = "Ada"
p2 :Personname = "Prinz"geld = 99
tuer tuer tuer tuer
tuer
tuertuer
tuertuer
tuer
tuer
tuertuer
in
in
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 14
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 15
Klassen als Baupläne für Objekte
Raumkosten : Integer
Personname : String
intuer
Geschenkname : String
in
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 16
Ausblick
Übung am Freitag um 13 Uhr im CIP Pool:
Objektdiagramme selber entwerfen
Klassendiagramm ableiten
Vorlesung am Dienstag den 8.4.2007:
Klassen in Java implementieren
Objektstrukturen mit Java Programmen erzeugen