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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
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
Umfang
2 23. Oktober 2017- Praxis der Softwareentwicklung – WS 2017/18 LEHRSTUHL PROGRAMMIERPARADIGMEN
Neue Prüfungsordnung (SPO 2015) 9 LP für PSEArbeitsumfang bleibt aber gleichIm WS 2017/18 betrifft das alle Studenten aus dem 4. Fachsemester
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
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/
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/
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.
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:
PhasenverantwortlicheTeamarbeit (Teams à 5-6 Teilnehmer)durchgehend ObjektorientierungToolunterstützung, z. B. Eclipse, Rational Architect, JUnit, JCov, ...
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
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
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
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
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)
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)
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
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