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

Post on 05-Apr-2015

102 views 0 download

transcript

Programmiermethodik SS 09

Prof. Albert Zündorf

Fachgebiet für Software EngineeringWilhelmshö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.

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)

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

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)

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

Modellierung: Kernkompetenz der Informatik

Am Anfange war das Bit:

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;

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

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;

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);

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);

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,- €

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

Beispielbrettspiel: Risiko

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

. . .

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