Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download ›...

23
0 23. Oktober 2017 - Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN LEHRSTUHL PROGRAMMIERPARADIGMEN Praxis der Softwareentwicklung – WS 2017/18 Prof. Dr. Gregor Snelting KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Transcript of Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download ›...

Page 1: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

0 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

LEHRSTUHL PROGRAMMIERPARADIGMEN

Praxis der Softwareentwicklung – WS 2017/18Prof. Dr. Gregor Snelting

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Page 2: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Praxis der Software-Entwicklung (PSE)

1 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Ziel: Entwicklung eines mittelgroßen Systems im Team mitobjektorientierter Softwaretechnik

Zielsystem: max 10kLOCobjektorientierter Entwurf (UML), Implementierung (Java/C++/C#),Qualitätssicherung (z. B. Jcov, Junit)Teilnehmer: 3. oder 4. Sem BA InformatikVoraussetzung: Grundbegriffe der Informatik, Programmieren,Softwaretechnik I, Klausur Lineare Algebra 1Empfehlung: PSE erst, wenn alle Module aus 1./2. Semesterbestanden sindPSE wird jedes Semester angeboten

Page 3: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Praxis der Software-Entwicklung (PSE)

1 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Ziel: Entwicklung eines mittelgroßen Systems im Team mitobjektorientierter SoftwaretechnikZielsystem: max 10kLOCobjektorientierter Entwurf (UML), Implementierung (Java/C++/C#),Qualitätssicherung (z. B. Jcov, Junit)

Teilnehmer: 3. oder 4. Sem BA InformatikVoraussetzung: Grundbegriffe der Informatik, Programmieren,Softwaretechnik I, Klausur Lineare Algebra 1Empfehlung: PSE erst, wenn alle Module aus 1./2. Semesterbestanden sindPSE wird jedes Semester angeboten

Page 4: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Praxis der Software-Entwicklung (PSE)

1 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Ziel: Entwicklung eines mittelgroßen Systems im Team mitobjektorientierter SoftwaretechnikZielsystem: max 10kLOCobjektorientierter Entwurf (UML), Implementierung (Java/C++/C#),Qualitätssicherung (z. B. Jcov, Junit)Teilnehmer: 3. oder 4. Sem BA InformatikVoraussetzung: Grundbegriffe der Informatik, Programmieren,Softwaretechnik I, Klausur Lineare Algebra 1Empfehlung: PSE erst, wenn alle Module aus 1./2. Semesterbestanden sindPSE wird jedes Semester angeboten

Page 5: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Umfang

2 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Umfang: 8 LP,≈ 270 Arbeitsstunden / Teilnehmer,≈ 2 Arbeitstage / Woche / Teilnehmer

Neue Prüfungsordnung (SPO 2015) 9 LP für PSEArbeitsumfang bleibt aber gleichIm WS 2017/18 betrifft das alle Studenten aus dem 4. Fachsemester

Page 6: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Umfang

2 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Umfang: 8 LP,≈ 270 Arbeitsstunden / Teilnehmer,≈ 2 Arbeitstage / Woche / Teilnehmer

Neue Prüfungsordnung (SPO 2015) 9 LP für PSEArbeitsumfang bleibt aber gleichIm WS 2017/18 betrifft das alle Studenten aus dem 4. Fachsemester

Page 7: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Teamarbeit in der Software-Entwicklung (TSE)

3 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Pflichtveranstaltung im Rahmen der Soft Skills (2 LP) kann nurzusammen mit PSE belegt werdensoll PSE auf 8/9 LP bringen; explizite Lernziele Teamfähigkeit,Sprach-/Kommunikationskompetenz, Projektplanung/-managementNote: nach Möglichkeit selbe wie „Kern-PSE“, nach Möglichkeiteinheitlich für Team

Page 8: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

PSE / Organisation

4 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Zeitplan: Oktober 2017 – März 2018; 17 Wochen Praktikumsbetriebnach Absprachevorlesungsfreie Zeit muss zur Entzerrung genutzt werden, da sonstleicht Überlastung möglich28 verschiedene Aufgabenstellungen von 13 Lehrstühlenobjektorientiertes Phasenmodell verbindlich (vgl. Modulhandbuch)max. 41 Teams à 5-6 StudentenWünsche zu Teamzusammensetzung / Aufgabe werden nachMöglichkeit berücksichtigt

Eventuell stehen nicht genügend Teilnehmerplätze zur Verfügung⇒Warteliste für nächstes SemesterBitte Webseite beachten:http://pp.ipd.kit.edu/lehre/WS201718/pse/

Page 9: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

PSE / Organisation

4 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Zeitplan: Oktober 2017 – März 2018; 17 Wochen Praktikumsbetriebnach Absprachevorlesungsfreie Zeit muss zur Entzerrung genutzt werden, da sonstleicht Überlastung möglich28 verschiedene Aufgabenstellungen von 13 Lehrstühlenobjektorientiertes Phasenmodell verbindlich (vgl. Modulhandbuch)max. 41 Teams à 5-6 StudentenWünsche zu Teamzusammensetzung / Aufgabe werden nachMöglichkeit berücksichtigtEventuell stehen nicht genügend Teilnehmerplätze zur Verfügung⇒Warteliste für nächstes SemesterBitte Webseite beachten:http://pp.ipd.kit.edu/lehre/WS201718/pse/

Page 10: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Zulassungsverfahren

5 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Es gibt folgendes Zulassungsverfahren:

1. Teilnehmer melden sich im PSE-Verwaltungssystem an.2. Gegenprüfung der formalen Voraussetzungen am IPD Snelting soweit

möglich.3. Rückmeldung an Betreuer, falls Gegenprüfung nicht erfolgreich.4. Betreuer prüfen Notenspiegel der fraglichen Fälle.5. Umverteilung der Teams in 2. PSE-Woche, falls Teams auseinander

fallen.

Page 11: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

PSE / Übersicht

6 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

moderne Softwaretechnik ist wichtig für alle BA-Absolventen!vollständige Entwicklung eines größeren SystemsPhasenmodell:

1. Pflichtenheft2. Entwurf3. Implementierung4. Qualitätssicherung5. Abschlusspräsentation

PhasenverantwortlicheTeamarbeit (Teams à 5-6 Teilnehmer)durchgehend ObjektorientierungToolunterstützung, z. B. Eclipse, Rational Architect, JUnit, JCov, ...

Page 12: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

1. Pflichtenheft

7 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Phasenzieldetaillierte Festlegung der Leistungsmerkmale eines Systems

GrundprinzipienPräzisionVollständigkeitKonsistenz

VorgehenSystemmodell (grobe Übersicht), Systemumgebung(Hard/Software)vollständige funktionale AnforderungenGUI-Entwürfe (manuell oder programmiert)ausführliche Testfallszenarien

verlangt wirdAbgabe des Pflichtenheftes nach 3 Wochen;Erläuterung im ersten Kolloquium

Page 13: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

2. Entwurf

8 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

objektorientiert (UML)

PhasenzielFestlegung der KlassenstrukturSchnittstellendefinition der KlassenBeziehungen zw. Klassen (Vererbung, Assoziationen)Klassendiagramm, ausgewählte Sequenzdiagramme, evtl.ZustandsdiagrammEinsatz von Design Patterns, MVC

GrundprinzipienGeheimnisprinzipschwache Kopplunghohe KohäsionLokalitätsprinzipWiederverwendbarkeit von Klassen/SubsystemenOO: Vererbung/dynamische Bindung statt Fallunterscheidung

Page 14: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

2. Entwurf

8 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

objektorientiert (UML)

PhasenzielFestlegung der KlassenstrukturSchnittstellendefinition der KlassenBeziehungen zw. Klassen (Vererbung, Assoziationen)Klassendiagramm, ausgewählte Sequenzdiagramme, evtl.ZustandsdiagrammEinsatz von Design Patterns, MVC

GrundprinzipienGeheimnisprinzipschwache Kopplunghohe KohäsionLokalitätsprinzipWiederverwendbarkeit von Klassen/Subsystemen

OO: Vererbung/dynamische Bindung statt Fallunterscheidung

Page 15: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

2. Entwurf

8 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

objektorientiert (UML)

PhasenzielFestlegung der KlassenstrukturSchnittstellendefinition der KlassenBeziehungen zw. Klassen (Vererbung, Assoziationen)Klassendiagramm, ausgewählte Sequenzdiagramme, evtl.ZustandsdiagrammEinsatz von Design Patterns, MVC

GrundprinzipienGeheimnisprinzipschwache Kopplunghohe KohäsionLokalitätsprinzipWiederverwendbarkeit von Klassen/SubsystemenOO: Vererbung/dynamische Bindung statt Fallunterscheidung

Page 16: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

2. Entwurf / 2

9 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

VorgehenKombination von Top-Down und Bottom-Up DesignIdentifikation von Klassen, Vererbung, AssoziationenFestlegung der Schnittstellen aller Klasseninformale Beschreibung aller Klassenevtl. Einsatz von Entwurfsmetriken (JMetrics)

verlangt wirdAbgabe der UML-Diagramme nebst informeller Beschreibungnach 4 Wochen; Verteidigung im zweiten KolloquiumNachweis der Evolutionsfähigkeit (z. B. Lokalitätsprinzip)

Page 17: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

2. Entwurf / 2

9 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

VorgehenKombination von Top-Down und Bottom-Up DesignIdentifikation von Klassen, Vererbung, AssoziationenFestlegung der Schnittstellen aller Klasseninformale Beschreibung aller Klassenevtl. Einsatz von Entwurfsmetriken (JMetrics)

verlangt wirdAbgabe der UML-Diagramme nebst informeller Beschreibungnach 4 Wochen; Verteidigung im zweiten KolloquiumNachweis der Evolutionsfähigkeit (z. B. Lokalitätsprinzip)

Page 18: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

3. Implementierung

10 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Phasenziel: Programmierung des SystemsGrundprinzipien

Programmierung in Java (evtl. C#, C++)Umsetzung der Architektur

VorgehenImplementierungsplan vorherImplementierung der Methodenfunktionaler Komponententest mit Junit, evtl. Überdeckungstests(z. B. JCov); verschränkt mit ImplementierungRealisation der Szenarien aus Pflichtenheft

verlangt wirdImplementierungsplan; Implementierung;Implementierungskolloquium

Page 19: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

3. Implementierung

10 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Phasenziel: Programmierung des SystemsGrundprinzipien

Programmierung in Java (evtl. C#, C++)Umsetzung der Architektur

VorgehenImplementierungsplan vorherImplementierung der Methodenfunktionaler Komponententest mit Junit, evtl. Überdeckungstests(z. B. JCov); verschränkt mit ImplementierungRealisation der Szenarien aus Pflichtenheft

verlangt wirdImplementierungsplan; Implementierung;Implementierungskolloquium

Page 20: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

4. Qualitätssicherung

11 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Phasenziel: Test des SystemsGrundprinzipien

werkzeugunterstützte Qualitätssicherung

VorgehenIntegrationstest, RobustheitstestPrüfen der Szenarien aus Pflichtenheft

verlangt wirdTestbericht; Systemabnahme (1 Woche vor Abschluss)

Page 21: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

4. Qualitätssicherung

11 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Phasenziel: Test des SystemsGrundprinzipien

werkzeugunterstützte Qualitätssicherung

VorgehenIntegrationstest, RobustheitstestPrüfen der Szenarien aus Pflichtenheft

verlangt wirdTestbericht; Systemabnahme (1 Woche vor Abschluss)

Page 22: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

5. Abschlusspräsentation

12 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

Abschlusspräsentation (Frühling 2018)Nach Möglichkeit mehrere Lehrstühle zusammen

image source: https://www.flickr.com/photos/svenwerk/506579282/

Page 23: Praxis der Softwareentwicklung – WS 2017/18 › lehre › WS201718 › pse › download › ... · Umfang:8 LP, ˇ270 Arbeitsstunden/ Teilnehmer, ˇ2 Arbeitstage / Woche / Teilnehmer

Allgemeine Hinweise und Tipps

13 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN

KIT

20 Seiten Hinweise und Tipps (im Laufe der letzten Jahre entstanden) fürBetreuer und Studierende als PDF gibt es auf der PSE-Webseite zumDownload:

http://pp.ipd.kit.edu/lehre/WS201718/pse/

Ihre Beiträge dazu nehmen wir gerne hier entgegen:https://git.scc.kit.edu/IPDSnelting/pse-tipps/