Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...

15
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Transcript of Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher...

Page 1: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS 09

Prof. Albert Zündorf

Fachgebiet für Software EngineeringWilhelmshöher Allee 73

34121 Kassel(Raum 1339 im Altbau)

Page 2: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 2

Organisatorisches

Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: Jörn Dreyer und Tutoren Ort und Zeit:

Vorlesung: Dienstags 12:00 - 13:30 Raum 0446 (Erste Vorlesung: 14.04.08)

Übung: Freitags 14:00 - 18:00 , Raum -1201 (CIP Pool unter der Mensa)(Erste Übung: Freitag, den 23.04.2008)

Prüfung: Pflichtübungsaufgaben (korrigiert, unbenotet, Voraussetzung zur

Klausur) Klausur in der vorlesungsfreien Zeit

Folienskript & Screen Videos: http://www.se.eecs.uni-kassel.de.

Page 3: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 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)

Page 4: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 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

Page 5: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 5

1. Einführung

Ziele der Veranstaltung:

objektorientierte Modellierung

objektorientierte Szenarios

objektorientierte Programmierung

Test-First Prinzip

Unified Modeling Language

Story Driven Modeling

methodische Vorgehensweise zur Entwicklung größerer Programme (> 10000 LOC)

Page 6: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 6

Modellierung: Kernkompetenz der Informatik

Am Anfange war das Bit:

Page 7: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 7

Modellierung: Kernkompetenz der Informatik

Am Anfange war das Bit

Hex Codes: 9F A1 01

Assembler: add i 1store i

Hochsprachen: i = i + 1;

Page 8: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 8

Modellierung: Kernkompetenz der Informatik

„Modellierung“

m = 3000 // Masse in Tonnenh = 1000 // Höhe in Kilometerv = 0 // Geschwindigkeit in m/secr = 1250 // Treibstoff in Tonnena = 0,6 // Mondanziehung in m/sec^2

F = m * a, s = v * t, . . .

„Reale Welt“

Modellierung

Interpretation

Page 9: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 9

Modellierung: Kernkompetenz der Informatik

Am Anfange war das Bit

Hex Codes: 9F A1 01

Assembler: add i 1store i

Hochsprachen: i = i + 1;

Records, Pointer und Arrays: dist[1, 2] = 12;

Page 10: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 10

Modellierung: Kernkompetenz der Informatik

„Reale Welt“ „Modellierung“

Modellierung

Interpretation

4km

12km

4km

4km

1km

1km

1km

6km6km

8km4km

1

2

3 4

56

7

8dist[1,2] = 12;dist[1,3] = 4;dist[2,5] = 1;dist[2,4] = 1;dist[3,4] = 4;dist[4,2] = 1;dist[4,5] = 4;dist[5,6] = 6;dist[5,8] = 4;dist[6,7] = 6;dist[8,7] = 8;

result = findDist(1,7);

Page 11: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 11

Modellierung: Kernkompetenz der Informatik

Am Anfange war das Bit

Hex Codes: 9F A1 01

Assembler: add i 1store i

Hochsprachen: i = i + 1;

Records, Pointer und Arrays: dist[1, 2] = 12;

Objekte: bank.transfer(automat, kunde, datum, betrag);

Page 12: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 12

Modellierung: Kernkompetenz der Informatik

„Reale Welt“ „Computer Vorstellung“

Konto: A. Muster 400,- € 200,- €

Modellierung

Interpretation

Automat: S-Bank1 1000,- € 800,- €

ort

kunde

Auszahlung: 4.3.09 200,- €

Page 13: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 13

Beispielbrettspiel: Risiko

Page 14: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 14

Vorlesungsbeispiel: rettet Prinz(essin) Ada

Aufgabe:

Wegesuche

Handicaps:

Räume kosten

genaue Geldmenge ausgeben

versteckte Geschenke

Fallen

. . .

Page 15: Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 15

Ausblick

Objektdiagramme selber entwerfen

Klassendiagramm ableiten

Klassen in Java implementieren

Objektstrukturen mit Java Programmen erzeugen

OO Algorithmen bauen