Praxis der Softwareentwicklung WS 2016/17

Ähnliche Dokumente
Praxis der Softwareentwicklung WS 2015/16

Praxis der Softwareentwicklung

Praxis der Softwareentwicklung

PSE Studienplanung als Generierung von Workflows mit Compliance-Anforderungen: Planerstellung und Visualisierung

PSE: Analysesoftware für Logistiknetzwerke

PSE: Analysesoftware für Logistiknetzwerke

PSE: Analysesoftware für Soziale Netzwerke

PSE Kick-off. Prof. Bernhard Beckert, Dr. Mattias Ulbrich, Alexander Weigl

Implementierung des Rubik-Würfels für Java-fähige Mobile Geräte

Modul Softwareentwicklung

Mandatsverteilung für den Deutschen Bundestag

Entwicklung eines Frameworks für Graphenspiele Praxis der Software-Entwicklung. Tamara PeterMchedlidze Dorothea Wagner ITI Sanders.

Campus-Routenplaner. Praxis der Software-Entwicklung. Einführung 31. Oktober 2018 Lars Gottesbüren Sascha Gritzbach Michael Hamann

Der Lehrstuhl Programmierparadigmen

Softwaretechnik 2015/2016

Gliederung der Folien

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Organisatorisches. Software Engineering 1 WS 2012/13. Prof. Dr.-Ing. Ina Schaefer. Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig

How To: Bachelor SWT. Heiko Geppert. Fachgruppe Informatik

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Campus Routenplaner. Praxis der Software-Entwicklung. Einführung 27. April, 2015 Michael Hamann Franziska Wegner

Workload: 150 h ECTS Punkte: 5

Praktikum Datenbanken und verteilte Systeme SS Einführung August 2008

Inhalte des Moduls Programmieren 1

Praktikum. SEP: Java-Programmierung WS 2018/19. Aufgabe 4: Rummikub. Thomas Lemberger und Martin Spießl

Analyse formaler Eigenschaften von Wahlverfahren

How To: Bachelor SWT. Heiko Geppert Matthias Hoppe. Fachgruppe Informatik

Modelling in the Wild Domains and Abstraction in Model-Driven Software Development

Kapitel 4 - Die Implementierungsphase

Systemmodelle. Grundlagen des Software Engineerings

Programmiermethodik Vorlesung und Praktikum SS 2001

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Tutorium Softwaretechnik I

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT

Liste MI / Liste I Programmieren in C++

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Kapitel 2 - Die Definitionsphase

Vorlesung Informatik II

Software-Engineering

Einführung in die objektorientierte Programmierung

Objektorientiertes Design

Übung Einführung in die Softwaretechnik

PHP OOP, Design Patterns und UML. Marco Skulschus

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

UML (Unified Modelling Language) von Christian Bartl

Stand: Semester: Dauer: Modulnummer: Minimaldauer 1 Semester IOBP. Regulär angeboten im: Modultyp: Pflicht WS, SS

Analyse und Design mituml2

Grundkurs C++ Einführung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Polyvalenter Bachelor Lehramt Informatik

Objektorientierte Programmierung

OOSE11 OOA: Klassen- und Objektdiagramme

Grundkurs C++ Einführung

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Objektorientiertes Software-Engineering

Programmieren 2 - Java

Praxisbuch Objektorientierung

Softwaretechnik 1 und 2. Vorlesung Informatik Bachelor, 3. / 4. Semester Prof. Dr.-Ing. Stefan Bente. Lehrkonzept. Stand:

Objektorientierte Programmierung

2. Der Software-Entwicklungszyklus

Studienbegleitende Leistungsnachweise. Gewichtung für die Bildung der Prüfungsgesamtnote. Lfd. Nr. Module SWS Art der Lehrveranstaltung

Grundkurs C++ Objektmodellierung

Webbasierte Programmierung

Transkript:

Praxis der Softwareentwicklung WS 2016/17 Prof. Dr. Gregor Snelting LEHRSTUHL PROGRAMMIERPARADIGMEN 0 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Praxis der Software-Entwicklung (PSE) Ziel: Entwicklung eines mittelgroßen Systems im Team mit objektorientierter Softwaretechnik 1 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Praxis der Software-Entwicklung (PSE) Ziel: Entwicklung eines mittelgroßen Systems im Team mit objektorientierter Softwaretechnik Zielsystem: max 10kLOC objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (z. B. Jcov, Junit) 1 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Praxis der Software-Entwicklung (PSE) Ziel: Entwicklung eines mittelgroßen Systems im Team mit objektorientierter Softwaretechnik Zielsystem: max 10kLOC objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (z. B. Jcov, Junit) Teilnehmer: 3. oder 4. Sem BA Informatik Voraussetzung: Grundbegriffe der Informatik, Programmieren, Softwaretechnik I, Klausur Lineare Algebra 1 Empfehlung: PSE erst, wenn alle Module aus 1./2. Semester bestanden sind PSE wird jedes Semester angeboten 1 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Umfang Umfang: 8 LP, 270 Arbeitsstunden / Teilnehmer, 2 Arbeitstage / Woche / Teilnehmer 2 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Umfang Umfang: 8 LP, 270 Arbeitsstunden / Teilnehmer, 2 Arbeitstage / Woche / Teilnehmer Neue Prüfungsordnung (SPO 2015) 9 LP für PSE Arbeitsumfang bleibt aber gleich Im WS 2016/17 betrifft das alle Studenten aus dem 3. Fachsemester 2 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Teamarbeit in der Software-Entwicklung (TSE) Pflichtveranstaltung im Rahmen der Soft Skills (2 LP) kann nur zusammen mit PSE belegt werden soll PSE auf 8/9 LP bringen; explizite Lernziele Teamfähigkeit, Sprach-/Kommunikationskompetenz, Projektplanung/-management Note: nach Möglichkeit selbe wie Kern-PSE, nach Möglichkeit einheitlich für Team 3 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

PSE / Organisation Zeitplan: Anfang November 2016 März 2017; 17 Wochen Praktikumsbetrieb nach Absprache vorlesungsfreie Zeit muss zur Entzerrung genutzt werden, da sonst leicht Überlastung möglich 24 verschiedene Aufgabenstellungen von 12 Lehrstühlen objektorientiertes Phasenmodell verbindlich (vgl. Modulhandbuch) max. 37 Teams à 5-6 Studenten Wünsche zu Teamzusammensetzung / Aufgabe werden nach Möglichkeit berücksichtigt 4 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

PSE / Organisation Zeitplan: Anfang November 2016 März 2017; 17 Wochen Praktikumsbetrieb nach Absprache vorlesungsfreie Zeit muss zur Entzerrung genutzt werden, da sonst leicht Überlastung möglich 24 verschiedene Aufgabenstellungen von 12 Lehrstühlen objektorientiertes Phasenmodell verbindlich (vgl. Modulhandbuch) max. 37 Teams à 5-6 Studenten Wünsche zu Teamzusammensetzung / Aufgabe werden nach Möglichkeit berücksichtigt Eventuell stehen nicht genügend Teilnehmerplätze zur Verfügung Warteliste für nächstes Semester Bitte Webseite beachten: http://pp.ipd.kit.edu/lehre/ws201617/pse/ 4 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Zulassungsverfahren Es gibt folgendes Zulassungsverfahren: 1. Teilnehmer melden sich in WebInScribe 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. 5 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

PSE / Übersicht moderne Softwaretechnik ist wichtig für alle BA-Absolventen! vollständige Entwicklung eines größeren Systems Phasenmodell: 1. Pflichtenheft 2. Entwurf 3. Implementierung 4. Qualitätssicherung 5. Abschlusspräsentation Phasenverantwortliche Teamarbeit (Teams à 5-6 Teilnehmer) durchgehend Objektorientierung Toolunterstützung, z. B. Eclipse, Rational Architect, JUnit, JCov,... 6 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

1. Pflichtenheft Phasenziel detaillierte Festlegung der Leistungsmerkmale eines Systems Grundprinzipien Präzision Vollständigkeit Konsistenz Vorgehen Systemmodell (grobe Übersicht), Systemumgebung (Hard/Software) vollständige funktionale Anforderungen GUI-Entwürfe (manuell oder programmiert) ausführliche Testfallszenarien verlangt wird Abgabe des Pflichtenheftes nach 3 Wochen; Erläuterung im ersten Kolloquium 7 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

2. Entwurf objektorientiert (UML) Phasenziel Festlegung der Klassenstruktur Schnittstellendefinition der Klassen Beziehungen zw. Klassen (Vererbung, Assoziationen) Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm Einsatz von Design Patterns, MVC 8 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

2. Entwurf objektorientiert (UML) Phasenziel Festlegung der Klassenstruktur Schnittstellendefinition der Klassen Beziehungen zw. Klassen (Vererbung, Assoziationen) Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm Einsatz von Design Patterns, MVC Grundprinzipien Geheimnisprinzip schwache Kopplung hohe Kohäsion Lokalitätsprinzip Wiederverwendbarkeit von Klassen/Subsystemen 8 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

2. Entwurf objektorientiert (UML) Phasenziel Festlegung der Klassenstruktur Schnittstellendefinition der Klassen Beziehungen zw. Klassen (Vererbung, Assoziationen) Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm Einsatz von Design Patterns, MVC Grundprinzipien Geheimnisprinzip schwache Kopplung hohe Kohäsion Lokalitätsprinzip Wiederverwendbarkeit von Klassen/Subsystemen OO: Vererbung/dynamische Bindung statt Fallunterscheidung 8 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

2. Entwurf / 2 Vorgehen Kombination von Top-Down und Bottom-Up Design Identifikation von Klassen, Vererbung, Assoziationen Festlegung der Schnittstellen aller Klassen informale Beschreibung aller Klassen evtl. Einsatz von Entwurfsmetriken (JMetrics) 9 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

2. Entwurf / 2 Vorgehen Kombination von Top-Down und Bottom-Up Design Identifikation von Klassen, Vererbung, Assoziationen Festlegung der Schnittstellen aller Klassen informale Beschreibung aller Klassen evtl. Einsatz von Entwurfsmetriken (JMetrics) verlangt wird Abgabe der UML-Diagramme nebst informeller Beschreibung nach 4 Wochen; Verteidigung im zweiten Kolloquium Nachweis der Evolutionsfähigkeit (z. B. Lokalitätsprinzip) 9 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

3. Implementierung Phasenziel: Programmierung des Systems Grundprinzipien Programmierung in Java (evtl. C#, C++) Umsetzung der Architektur 10 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

3. Implementierung Phasenziel: Programmierung des Systems Grundprinzipien Programmierung in Java (evtl. C#, C++) Umsetzung der Architektur Vorgehen Implementierungsplan vorher Implementierung der Methoden funktionaler Komponententest mit Junit, evtl. Überdeckungstests (z. B. JCov); verschränkt mit Implementierung Realisation der Szenarien aus Pflichtenheft verlangt wird Implementierungsplan; Implementierung; Implementierungskolloquium (2 Wochen vor Abschluss) 10 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

4. Qualitätssicherung Phasenziel: Test des Systems Grundprinzipien werkzeugunterstützte Qualitätssicherung 11 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

4. Qualitätssicherung Phasenziel: Test des Systems Grundprinzipien werkzeugunterstützte Qualitätssicherung Vorgehen Integrationstest, Robustheitstest Prüfen der Szenarien aus Pflichtenheft verlangt wird Testbericht; Systemabnahme (1 Woche vor Abschluss) 11 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

5. Abschlusspräsentation Abschlusspräsentation (Frühjahr 2017) Nach Möglichkeit mehrere Lehrstühle zusammen image source: https://www.flickr.com/photos/svenwerk/506579282/ 12 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN

Allgemeine Hinweise und Tipps 20 Seiten Hinweise und Tipps (im Laufe der letzten Jahre entstanden) für Betreuer und Studierende als PDF gibt es auf der PSE-Webseite zum Download: http://pp.ipd.kit.edu/lehre/ws201617/pse/ Ihre Beiträge dazu nehmen wir gerne hier entgegen: https://git.scc.kit.edu/ipdsnelting/pse-tipps/ 13 27. Oktober 2016- Praxis der Softwareentwicklung WS 2016/17 LEHRSTUHL PROGRAMMIERPARADIGMEN