Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)"—  Präsentation transkript:

1 Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)

2 Softwaretechnik: "Das muss doch auch einfacher gehen!" Produktivität und Qualität in der Softwareentwicklung m Methoden m Sprachen m Werkzeuge Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 2

3 3 Organisatorisches m Umfang: 4 SWS teils Vorlesungen teils Übungen m Übungsbetreuung: Andreas Scharf, Ruben Jubeh und Tutoren m Ort und Zeit: Vorlesung: Dienstags 12:00 - 13:30 Raum 1332 (Erste Vorlesung: 25.10.11) Übung:Freitags 14:00 - 18:00, Raum -1201 (CIP Pool unter der Mensa) (Erste Übung: Freitag, den 28.10.2011) m Prüfung: l Pflichtübungsaufgaben (korrigiert, bepunktet, Voraussetzung zur Klausur, Punktenachlass für die Klausur) l Klausur in der vorlesungsfreien Zeit m Folienskript & Screen Videos: http://seblog.cs.uni-kassel.de/category/currentterm/pmws1112/ http://seblog.cs.uni-kassel.de/category/currentterm/pmws1112/

4 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 4 Literatur Grundlegend: m Helmut Balzert: Lehrbuch der Software-Technik (Bd.\ 1 und 2), Spektrum Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk) Unified Modeling Language: m Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language - User Guide, Addison Wesley 1999 (die haben das erfunden) m Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit UML; Springer 2000 (finde ich ziemlich gut) m Martin Hitz, Gerti Kappel: UML @ Work, dpunkt.verlag (ziemlich gut) m Albert Zündorf: Rigorous Software Development with UML, Draft, Fachgebietsseiten m Ruben Jubeh, Ulrich Norbisrath, Albert Zündorf: Story Driven Modeling (status 80% drafted) http://seblog.cs.uni-kassel.de/category/currentterm/pmws1112/ http://seblog.cs.uni-kassel.de/category/currentterm/pmws1112/ Hintergrund: m Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist nur kurz aber Gründungsmanifest der Softwaretechnik, unbedingt mal lesen)

5 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 5 m Opt-out für Lehrbuch / Ergebnisse wissensch. Veröffentlichung (anonymisiert)

6 Wer seid ihr? Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 6

7 7 Gruppenfrage m Bildet Gruppen von 4 bis 6 Leuten m Schreibt 4 bis 6 Stichworte auf zur Frage: Was wollt ihr hier lernen? m 5 Minuten Zeit

8 Was wollt ihr hier lernen: Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 8

9 9 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf 4. Test-First Prinzip 5. Story Driven Modeling 6. Zusammenfassung

10 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 10 1. Einführung Ziele der Veranstaltung: m objektorientierte Modellierung m objektorientierte Szenarios m objektorientierte Programmierung m Test-First Prinzip m Unified Modeling Language m Story Driven Modeling m methodische Vorgehensweise zur Entwicklung größerer Programme (> 10000 LOC)

11 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 11 Modellierung: Kernkompetenz der Informatik 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,... Reale Welt Modellierung Interpretation

12 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 12 Modellierung: Kernkompetenz der Informatik Reale Welt Modellierung Interpretation 4km 12km 4km 1km 6km 8km 4km 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);

13 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 13 Modellierung: Kernkompetenz der Informatik Reale Welt Computer Vorstellung konto42: A. Muster 400,- 200,- Modellierung Interpretation automat: S-Bank1 1000,- 800,- ort kunde auszahlung23: 4.3.09 200,-

14 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 14 Modellierung: Kernkompetenz der Informatik m Variablen: m, h, v; m Records, Pointer und Arrays: dist[1, 2] = 12; m Objekte: bank.transfer(automat, kunde, datum, betrag);

15 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 15 Vorlesungsbeispiel: Study-Right University Aufgabe: m Wegesuche Handicaps: m Motivationspunkte m Pro Credit eine Motivation m 214 Credits erreichen m Pflichtkurse m Modulabhängigkeiten m...

16 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 16 Modellierung: Kernkompetenz der Informatik m Modellieren: relevante Elemente der Problemstellung abbilden m was relevant ist hängt vom Zweck der Modellierung ab m konkrete Beispielmodelle: Objektdiagramme m abstrakte Konzeptmodelle: Klassendiagramme / Programme

17 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 17 Abstraktion: Kernkompetenz der Informatik m Ziel der Softwareentwicklung: l Klassen l Programme m Datenstrukturen zur Speicherung aller Daten m Generelle Regeln zur Behandlung aller Fälle

18 Kommunikation: Kernkompetenz der Informatik m andere Disziplinen andere Abstraktionen: l Bachelor Prüfungsordnung l Bilanzierungsregeln l Grundgesetzt, BGB, StGB, … l Spielregeln für Gesellschaftsspiele These: m Kommunikation auf abstrakter Ebene ist schwierig m Kommunikation anhand konkreter Beispiele ist leichter

19 Kommunikation: Kernkompetenz der Informatik Bachelor Prüfungsordnung: Abstrakt: m Die Inhalte der alten Bachelor Informatik Vorlesungen Mathe I und Mathe II wurden in der neuen Studienordnung Bachelor Informatik auf die Vorlesungen Algebra and Analysis neu aufgeteilt. Konkret: m StudentIn Karli hat Mathe I und Mathe II und wechselt in die neue Prüfungsordnung. Algebra und Analysis werden anerkannt.

20 Kommunikation: Kernkompetenz der Informatik Bilanzierungsregeln: Abstrakt m nach Amerikanischem Recht können Erstellungskosten für Software als Passiva bilanziert werden Konkret m Firma SimpleSoft in Palo Alto hat in 2010 mit Bob und Alice 24 Personenmonate an dem Programm DoesNotWork gearbeitet. SimpleSoft bewertet das Programm DoesNotWork daher mit 120000 $ und fügt diese Summe am Ende von 2010 dem Firmenvermögen hinzu.

21 Kommunikation: Kernkompetenz der Informatik Grundgesetz: Abstrakt m §5 Presse, Kunst und Wissenschaft sind frei. Zensur findet nicht statt. Konkret m Albert Zündorf muss seine Arbeitszeiten nicht protokollieren und kann z.B. im SS 2011 Montags, Mittwochs und Donnerstags auch Zuhause arbeiten. (In der vorlesungsfreien Zeit sowieso.) m Albert kann auch das Liebesleben der roten Riesenameise erforschen. (Und darüber Vorlesungen halten.)

22 Achtung: konkrete Beispiele sind schwer Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 22 Abstrakt / RegelKonkret / Beispiel ProfessorAlbert Zündorf StudentKarli programmieren3te Zeile der Methode find der Klasse StudyRightUni in Java 1.6 mit Eclipse Galileo am 18.4.2011 13:12 eingeben Auto

23 Methodische Programmierung: m konkrete Beispiele für die Kommunikation mit Kunden und im Team m Ableitung abstrakter Programme aus konkreten Beispielen Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 23

24 Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 24 Ausblick m Objektdiagramme selber entwerfen m Klassendiagramm ableiten m Klassen in Java implementieren m Objektstrukturen mit Java Programmen erzeugen m OO Algorithmen bauen


Herunterladen ppt "Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1338)"

Ähnliche Präsentationen


Google-Anzeigen