Programmiermethodik SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)
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
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
Was wollt ihr hier lernen? Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
Gliederung Einführung Objektdiagramme zur Analyse von Beispielen Methodenentwurf Test-First Prinzip Story Driven Modeling Zusammenfassung Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
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
Modellierung: Kernkompetenz der Informatik „Reale Welt“ Modellierung Interpretation „Modellierung“ m = 3000 // Masse in Tonnen h = 1000 // Höhe in Kilometer v = 0 // Geschwindigkeit in m/sec r = 1250 // Treibstoff in Tonnen a = 0,6 // Mondanziehung in m/sec^2 F = m * a, s = v * t, . . . Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
Modellierung: Kernkompetenz der Informatik „Reale Welt“ „Modellierung“ Modellierung 4km 12km 1km 6km 8km 1 2 3 4 5 6 7 8 dist[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); Interpretation Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
Modellierung: Kernkompetenz der Informatik „Reale Welt“ „Computer Vorstellung“ Modellierung Automat: S-Bank1 1000,- € 800,- € ort Auszahlung: 4.3.09 200,- € Konto: A. Muster 400,- € 200,- € kunde Interpretation Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
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
Beispielbrettspiel: Mancala Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
Vorlesungsbeispiel: Study-Right University Aufgabe: Wegesuche Handicaps: Motivationspunkte Pro Credit eine Motivation 214 Credits erreichen Pflichtkurse Modulabhängigkeiten . . . Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
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
Opt-out für Ergebnisse einer wissensch. Veröffentlichung (anonymisiert) Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel
Ausblick Objektdiagramme selber entwerfen Klassendiagramm ableiten Klassen in Java implementieren Objektstrukturen mit Java Programmen erzeugen OO Algorithmen bauen Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel