Programmiermethodik WS 2018/19 Prof. Albert Zündorf

Slides:



Advertisements
Ähnliche Präsentationen
Programmierung II (SS 2003)
Advertisements

Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
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 SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
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 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling 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.
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.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
Programmiermethodik SS 06 Prof. Albert Zündorf
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
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.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern.
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)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
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.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling 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)
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
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1338)
Vorgehensmodelle Motivation Softwaretechnik Beispiel
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.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
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 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
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,
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
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.
Programmieren und Problemlösen
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
November 18 Informatik Kurse
Methodische Grundlagen des Software-Engineering
Objects first mit BlueJ und Greenfoot
VL: Hardwaregrundlagen Informatik
Programmiermethodik Übung 11
Objektorientierte Programmierung
Informatik Softwareentwicklung – 4.2 Diagramme
Programmentwurf: Beispiel auf Anwendungsebene anschauen
Juli 19 Informatik Kurse
 Präsentation transkript:

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

Softwaretechnik: "Das muss doch auch einfacher gehen!" Produktivität und Qualität in der Softwareentwicklung Methoden Sprachen Werkzeuge Techniken Programmiermethodik WS1819 © Oktober 16 Albert Zündorf, University of Kassel

Organisatorisches Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: Lennert und Christoph und ?, Ort und Zeit: Vorlesung: Dienstags 12:00 - 13:30 Raum 1332 (Erste Vorlesung: 23.10.2018) Übung: Freitags 14:00 - 17:00 , Raum -1201 (CIP Pool unter der Mensa) (Erste Übung: Freitag, den 26.10.2018) Prüfung: Pflichtübungsaufgaben (korrigiert, bepunktet, Voraussetzung zur Klausur, Punktenachlass für die Klausur) Klausur in der vorlesungsfreien Zeit Folienskript & Screen Videos: Youtube oder Fachgebietsseite (ohne Garantie!) Programmiermethodik WS1819 © 2018 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) Ruben Jubeh, Ulrich Norbisrath, Albert Zündorf: Story Driven Modeling http://www.amazon.de/Story-Driven-Modeling-Ulrich-Norbisrath/dp/1483949257 ISBN: 1483949257 auch für Kindle Hintergrund: Tom DeMarco: Der Termin (ISBN-10: 3446194320) Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist nur kurz aber Gründungsmanifest der Softwaretechnik, unbedingt mal lesen) Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

Opt-out für wissensch. Veröffentlichung (anonymisiert) Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

Wer seid ihr? Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

Was wollt ihr hier lernen: https://pingo.upb.de/events/003714/surveys/5bcde343f9151c7ae402515f?id=5bcde343f9151c7ae402515f Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

Gliederung Einführung Beispielszenarien Objektdiagramme zur Analyse von Beispielen Methodenentwurf Test-First Prinzip Story Driven Modeling Zusammenfassung Programmiermethodik WS1819 © 2018 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 WS1819 © 2018 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 WS1819 © 2018 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 WS1819 © 2018 Albert Zündorf, University of Kassel

Modellierung: Kernkompetenz der Informatik „Reale Welt“ „Computer Vorstellung“ Modellierung automat: S-Bank1 1000,- € 800,- € ort auszahlung23: 4.3.09 200,- € konto42: A. Muster 400,- € 200,- € kunde Interpretation Programmiermethodik WS1819 © 2018 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 WS1819 © 2018 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 WS1819 © 2018 Albert Zündorf, University of Kassel

Modellierung: Kernkompetenz der Informatik Modellieren: relevante Elemente der Problemstellung abbilden, damit Programmierung erleichtern konkrete Beispielmodelle: Objektdiagramme abstrakte Konzeptmodelle: Klassendiagramme / Programme Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

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

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

Kommunikation: Kernkompetenz der Informatik Bilanzierungsregeln: Abstrakt nach Amerikanischem Recht können Erstellungskosten für Software als Passiva bilanziert werden Konkret Firma SimpleSoft in Palo Alto hat in 2014 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 2014 dem Firmenvermögen hinzu.

Kommunikation: Kernkompetenz der Informatik Grundgesetz: Abstrakt §5 Presse, Kunst und Wissenschaft sind frei. Zensur findet nicht statt. Konkret Albert Zündorf muss seine Arbeitszeiten nicht protokollieren, muss Morgens nicht vor 12 Uhr anfangen und Urlaub nicht genehmigen lassen. Albert kann auch das Leben der roten Riesenameise erforschen. (Und darüber Vorlesungen halten.)

Achtung: konkrete Beispiele sind schwer Abstrakt / Regel Konkret / Beispiel Professor Albert Zündorf Student Karli programmieren System.out.println("Hello World"); Auto Faustregel: wenn es einen individuellen Namen hat, dann ist es konkret Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

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

1. Textuelle Szenarios / Software Stories Tuesday, November 1st, 2018, 12:23, Study Right University, Karli the Student 1. Karli is in the math room. Karli still has 197 points motivation and Karli has already gained 17 credits 2. Karli moves to the modeling room. 3. Karli earns 29 credits and consumes 29 points of her motivation.

Programmiermethodik WS1819 © 2018 Albert Zündorf, University of Kassel

1. Textuelle Szenarios / Software Stories Tuesday, November 1st, 2018, 12:23, Study Right University, Karli the Student 1. Karli is in the math room. Karli still has 197 points motivation and Karli has already gained 17 credits 2. Karli sends clones k1, k2, k3 to the calculus, modeling, algebra room 3. The Calculus clone k1 sends clones k11, k12, k13 to rooms stochastic, modeling, math …

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