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

Slides:



Advertisements
Ähnliche Präsentationen
Wir wünschen viel Erfolg
Advertisements

Objektorientierung Auffassung der Software als eine Sammlung
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Programmierung II (SS 2003)
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
On the Criteria to Be Used in Decomposing Systems into Modules
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen Organisatorisches zu den Übungen Tobias Lauer.
Gliederung der Vorlesung Software Engineering WS 2001/2002
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Programmiermethodik SS 07 Prof. Albert Zündorf
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
3. Klassendiagramme in Java implementieren
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
3. Analyse Gliederung: Einführung Anforderungsdefinition
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Software Engineering Seminar Metamodellierung
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Programmiermethodik SS 06 Prof. Albert Zündorf
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2007/08 m.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan:
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Software Engineering I
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS 10 Prof. Albert Zündorf
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Programmiermethodik WS 2013/14 Prof. Albert Zündorf
Vorgehensmodelle Motivation Softwaretechnik Beispiel
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 0 Datenbankimplementierung und -tuning Einführung.
Zeitplanerstellung ACHTUNG:
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Sommersemester 2012 m Prof.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Simulation komplexer technischer Anlagen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Organisatorisches Vorlesungstermine: –dienstags, 14:00h, A125 –freitags,
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Zusammenfassung der Vorlesung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Softwaretechnik und Informationssysteme (Gebiet und Modul II.1.1, Module III.1.x) Dozenten der Softwaretechnik.
Konzepte der objektorientierten Programmierung
Hauptseminar SS 2006 Hinweise für Autoren.
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Geoinformation I Lutz Plümer
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
Christian Scheideler WS 2008
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Programmiermethodik SS2011 © 2011 Albert Zündorf, University of Kassel 1 Programmentwurf: 1. Beispiel auf Anwendungsebene anschauen 2. Beispiel in Objektdiagrammen.
Objektorientierte (OO) Programmierung
6. Story Driven Modeling Gliederung: Einführung
Systemanalyse BA Heidenheim 2002.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Programmiermethodik WS 2018/19 Prof. Albert Zündorf
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

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

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 Organisatorisches m Umfang: 4 SWS teils Vorlesungen teils Übungen m Übungsbetreuung: Andreas Scharf, Ruben Jubeh und Tutoren m Ort und Zeit: Vorlesung: Dienstags 12: :30 Raum 1332 (Erste Vorlesung: ) Übung:Freitags 14: :00, Raum (CIP Pool unter der Mensa) (Erste Übung: Freitag, den ) 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:

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: 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) Hintergrund: m 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 5 m Opt-out für Lehrbuch / Ergebnisse wissensch. Veröffentlichung (anonymisiert)

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

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

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

9 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 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 (> LOC)

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

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

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

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

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...

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

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

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

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.

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 $ und fügt diese Summe am Ende von 2010 dem Firmenvermögen hinzu.

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

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 :12 eingeben Auto

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

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