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

Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Embed Size (px)

Citation preview

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

Programmiermethodik SS 10

Prof. Albert Zündorf

Fachgebiet für Software EngineeringWilhelmshöher Allee 73

34121 Kassel(Raum 1338)

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 2

Organisatorisches

Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: Andreas Scharf, Ruben Jubeh und Tutoren Ort und Zeit:

Vorlesung: Dienstags 12:00 - 13:30 Raum 1332 (Erste Vorlesung: 13.04.10)

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

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

Klausur, Punktenachlass für die Klausur) Klausur in der vorlesungsfreien Zeit

Folienskript & Screen Videos: http://seblog.cs.uni-kassel.de/?cat=4

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

Programmiermethodik SS2010 © 2010 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 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 4

Was wollt ihr hier lernen?

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 5

Gliederung

1. Einführung

2. Objektdiagramme zur Analyse von Beispielen

3. Methodenentwurf

4. Test-First Prinzip

5. Story Driven Modeling

6. Zusammenfassung

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 6

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 7: Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 7

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 8: Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 8

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 9: Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 9

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 10: Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 10

Modellierung: Kernkompetenz der Informatik

Variablen: m, h, v;

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

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

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 11

Beispielbrettspiel: Mancala

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 12

Vorlesungsbeispiel: Study-Right University

Aufgabe:

Wegesuche

Handicaps:

Motivationspunkte

Pro Credit eine Motivation

214 Credits erreichen

Pflichtkurse

Modulabhängigkeiten

. . .

29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 13

Real, abstrakt, konkret, Konzept, Beispiel, Modell, …

, Professor, Albert Zündorf,

Student, Karli,

Auto, Albert‘s Auto,

• Modellieren: relevante Elemente der Problemstellung abbilden

• was relevant ist hängt vom Zweck der Modellierung ab

• konkrete Beispielmodelle: Objektdiagramme

• abstrakte Konzeptmodelle: Klassendiagramme / Programme

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

Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 14

Opt-out für Ergebnisse einer wissensch. Veröffentlichung (anonymisiert)

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

Programmiermethodik SS2010 © 2010 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