Die Teilnahme am Softwarepraktikum setzt umfangreiche Programmierkenntnisse voraus, wie sie in den Vorlesungen Programmierung 1 und Programmierung 2 vermittelt werden.
Für die Teilnahme am Softwarepraktikum werden eigene Laptops benötigt, die selbst mitgebracht werden müssen.
Das Ziel des Softwarepraktikums ist es, in einer Gruppe von Studierenden ein nicht-triviales Softwaresystem zu erstellen. Dazu müssen eine Reihe von Dokumenten (Entwurf, Quellcode, Tests, etc.) erstellt und abgegeben werden. Bewertet wird die Korrektheit und Qualität der Dokumente sowie die fristgerechte Abgabe.
Das Softwarepraktikum gliedert sich in eine Übungsphase, eine Gruppenphase und eine Einzelphase. In der Übungsphase werden täglich Minitests zu den aktuellen Vorlesungsinhalten durchgeführt und bewertet.
In der Gruppenphase wird ein substantielles Softwaresystem im Team geplant, entworfen, implementiert und getestet. Um zur Gruppenphase zugelassen zu werden, müssen die Studierenden die Minitests der Übungsphase bestehen.
In der Einzelphase wird ein kleineres Softwaresystem oder eine Erweiterung eines bestehenden Systems (z.B. aus der Gruppenphase) von den Studierenden jeweils allein entwickelt. Voraussetzung für die Einzelphase ist die erfolgreiche Absolvierung der Gruppenphase.
Die Softwaresysteme der Gruppen- und Einzelphase, sowie die zugehörigen Dokumente (Entwurf, Quellcode, Tests, etc.), werden auf Basis der Prinzipien und Qualitätsstandards der Vorlesung bewertet. Genauere Prüfungsmodalitäten werden zu Beginn des Softwarepraktikums in der Vorlesung bekannt gegeben.
unbenotet
täglich Projektarbeit mit Betreuung
teilweise Vorlesung
35 h Vorlesung
+ 235 h Projektarbeit
= 270 h (= 9 ECTS)
Die Studierenden erwerben die Fähigkeit, im Team zu arbeiten und Probleme des Software Engineerings zu lösen.
Die Studierenden wissen, welche Probleme beim Durchführen eines Softwareprojekts auftreten können, und wie diese gelöst werden können.
Sie können eine komplexe Aufgabenstellung eigenständig in ein Softwareprodukt umsetzen, das den Anforderungen des Kunden entspricht. Hierfür wählen sie einen passenden Entwicklungsprozess, der Risiken früh erkannt und minimiert, und wenden diesen an.
Sie sind vertraut mit Grundzügen des Softwareentwurfs wie schwache Kopplung, hohe Kohäsion, Geheimnisprinzip sowie Entwurfs- und Architekturmustern und sind in der Lage, einen Entwurf anhand dieser Kriterien zu erstellen, zu beurteilen und zu verbessern.
Sie beherrschen Techniken der Qualitätssicherung wie Testen und Debugging und wenden diese an.
Dieses Modul ist inhaltsgleich mit dem englischsprachigen Modul Software Engineering Lab.
This module is part of the following study programmes: