Programmiermethodik SS 07 Prof. Albert Zündorf

Slides:



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

DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
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
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.
Gliederung der Vorlesung Software Engineering WS 2001/2002
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
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 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.
Software Engineering Seminar Metamodellierung
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2008/09 m.
Reservierungs Datenbank
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung Student erbt von Person: extensional: Menge der Studenten.
Programmiermethodik SS 06 Prof. Albert Zündorf
Tätigkeiten bei der Softwareentwicklung
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.
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 SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern.
Programmiermethodik Übung 6 Methoden verstehen und entwerfen.
Dr.-Ing. R. Marklein - GET I - WS 06/07 - V Grundlagen der Elektrotechnik I (GET I) Vorlesung am Di. 13:00-14:30 Uhr; R (Hörsaal)
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.
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
Programmiermethodik WS 2011/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1338)
Vorgehensmodelle Motivation Softwaretechnik Beispiel
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 0 Datenbankimplementierung und -tuning Einführung.
Universität Karlsruhe (TH) © 2006 Univ,Karlsruhe, IPD, Prof. Lockemann/Prof. BöhmTAV 0 Transaktionsverwaltung Einführung.
UML Begleitdokumentation des Projekts
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)
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.
Technische Hochschule Wildau
Hauptseminar SS 2006 Hinweise für Autoren.
Parameterübergabemechanismen für den Methodenaufruf
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
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.
6. Story Driven Modeling Gliederung: Einführung
Systemanalyse BA Heidenheim 2002.
Programmiermethodik WS 2018/19 Prof. Albert Zündorf
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

Programmiermethodik SS 07 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339 im Altbau)

Organisatorisches Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: Christian Schneider, Ira Diethelm, Ruben Jubeh und Tutoren Ort und Zeit: Vorlesung: Dienstags 12:00 - 13:30 Raum 0446 (Erste Vorlesung: 17.04.06) Übung: Freitags 13:00 - 18:00 , Raum -1201 (CIP Pool unter der Mensa) (Erste Übung: Freitag, den 20.04.2006) Prüfung: Pflichtübungsaufgaben (korrigiert, unbenotet, Voraussetzung zur Klausur) Klausur in der vorlesungsfreien Zeit Folienskript: http://www.se.eecs.uni-kassel.de hoffentlich am Wochende vorher. Programmiermethodik SS2007 © 2007 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 ziemlich witzig, unbedingt mal lesen) Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Gliederung Einführung Objektdiagramme zur Analyse von Beispielen Methodenentwurf Test-First Prinzip Story Driven Modeling Zusammenfassung Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

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

Motivation: rettet Prinz(essin) Ada Aufgabe: Wegesuche Handicaps: Räume kosten genaue Geldmenge ausgeben versteckte Geschenke Fallen . . . Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Rette Ada, dann mal los Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Rette Ada naiv public class RetteAda { int[] raumkosten = {1,2,3,4,5,6,7,8,9,10,11,12,13}; int[][] tueren = { {0,1,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,1,0,1,0,0,0}, {0,0,0,1,0,0,0,0,0,0,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0}, {1,0,0,0,0,0,0,0,0,1,0,0,0}, {1,0,0,0,0,0,0,0,0,1,0,0,0}, {1,0,0,0,0,0,0,1,0,0,0,0,0}, {1,0,0,0,0,0,0,1,0,1,0,0,0}}; int[] geschenkeOrt = {6, 1, 9}; String [] geschenkeNamen = {"Blumen", "Ringe", "Pralinen"}; int prinzOrt = 5; int prinzessinOrt = 13; float geld = 99; int[] hatGeschenk = {0,0,0}; . . . Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Objektorientierte (Daten)Modellierung int [] reicht zur Datenmodellierung NICHT aus Objekte für Räume, Personen, Geschenke , Fallen … einführen Objektdiagramme zur Analyse von Beispielen Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Rette Ada objektorientiert Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Rette Ada objektorientiert tuer r1 kosten = 1 r2 kosten = 2 r3 kosten = 3 p1 name = "Ada" p2 name = "Prinz" geld = 99 in tuer tuer tuer tuer r4 kosten = 0 r5 kosten = 10 r6 kosten = 4 in tuer tuer tuer r8 kosten = 8 r9 kosten = 5 r7 kosten = 12 tuer tuer tuer tuer tuer r13 kosten = 6 tuer r11 kosten = 9 r10 kosten = 11 r12 kosten = 7 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Objekte klassifizieren tuer r1 kosten = 1 r2 kosten = 2 r3 kosten = 3 p1 name = "Ada" p2 name = "Prinz" geld = 99 in tuer tuer tuer tuer r4 kosten = 0 r5 kosten = 10 r6 kosten = 4 in tuer tuer tuer r8 kosten = 8 r9 kosten = 5 r7 kosten = 12 tuer tuer tuer tuer tuer r13 kosten = 6 tuer r11 kosten = 9 r10 kosten = 11 r12 kosten = 7 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Objekte klassifizieren tuer r1 :Raum kosten = 1 r2 :Raum kosten = 2 r3 :Raum kosten = 3 p1 :Person name = "Ada" p2 :Person name = "Prinz" geld = 99 in tuer tuer tuer tuer r4 :Raum kosten = 0 r5 :Raum kosten = 10 r6 :Raum kosten = 4 in tuer tuer tuer r8 :Raum kosten = 8 r9 :Raum kosten = 5 r7 :Raum kosten = 12 tuer tuer tuer tuer tuer r13 :Raum kosten = 6 tuer r11 :Raum kosten = 9 r10 :Raum kosten = 11 r12 Raum kosten = 7 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Klassen als Baupläne für Objekte Person name : String tuer in in Geschenk name : String Raum kosten : Integer Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

Ausblick Übung am Freitag um 13 Uhr im CIP Pool: Objektdiagramme selber entwerfen Klassendiagramm ableiten Vorlesung am Dienstag den 24.4.2007: Klassen in Java implementieren Objektstrukturen mit Java Programmen erzeugen Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel