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

Preview:

Citation preview

Programmiermethodik SS 10

Prof. Albert Zündorf

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

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)

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

Was wollt ihr hier lernen?

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

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)

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

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

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

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

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

Beispielbrettspiel: Mancala

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

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

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

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

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

Recommended