BIN205: Capstone Software-Entwicklung

Lernpfad: Software-Entwicklung

BIN205: Capstone Software-Entwicklung

Kurzporträt BIN205: Capstone Software-Entwicklung
Worum geht es? Das Modul führt die Kompetenzen des Lernpfads Software-Entwicklung in einer vorbereiteten Entwicklungsaufgabe zusammen. Studierende bearbeiten eine abgegrenzte Problemstellung, integrieren ein funktionsfähiges Softwareinkrement in einen Projektkontext und berücksichtigen rechtliche Rahmenbedingungen.
Wofür braucht man es? In realen Softwareprojekten müssen Anforderungen, Entwurf, Implementierung, Tests, Build-Prozesse, Dokumentation und rechtliche Fragen zusammen gedacht werden. Das Modul bereitet auf größere Informatikprojekte, Praxisphase und Abschlussarbeit vor.
Wieso ist es interessant? Die Studierenden erleben, wie aus mehreren zuvor getrennt gelernten Methoden eine zusammenhängende Softwarelösung entsteht. Dabei wird sichtbar, dass technische Qualität, rechtliche Zulässigkeit, nachvollziehbare Entscheidungen und Feedback aus Reviews zusammenwirken.
Modulverantwortung

Prof. Dr. Thomas Nitsche

Lehrperson(en)
  • Prof. Dr. Thomas Nitsche
  • Prof. Dr. Nils Kopal
Verwendbarkeit

Bachelor Informatik

Fächergruppe

Informatik

Modultyp
Pflicht
Sprache

Deutsch

Angebot

Sommersemester

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

- V | - Ü | 2 P | 2 S

Workload
Präsenzstudium: 45 Std. Selbststudium: 90 Std.
Engl. Titel

Capstone Software Development

Empfohlene Voraussetzungen
  • Erfolgreicher Abschluss der vorherigen Module des Lernpfads Software-Entwicklung oder vergleichbare Kompetenzen in Programmierung, DevOps, Web-Engineering, Software Engineering, Test, Dokumentation und Teamarbeit.
Zugehörige Lehrveranstaltungsteile
  • BIN205a: Capstone-Projekt Software-Entwicklung: 3 ECTS, 2 P
  • BIN205b: Rechtliche Aspekte der Informatik: 2 ECTS, 2 S
Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, eine didaktisch abgegrenzte Problemstellung der Softwareentwicklung in einem vorbereiteten Projektkontext zu bearbeiten und dabei Kompetenzen aus Programmierung, Web-Engineering, Software Engineering, DevOps, Test und Dokumentation zu einem funktionsfähigen und qualitätsgesicherten Softwareinkrement zu integrieren. Ferner können sie ausgewählte rechtliche Rahmenbedingungen der entwickelten Lösung identifizieren, deren Auswirkungen erläutern und bei der Umsetzung berücksichtigen.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • eine vorgegebene, fachlich abgegrenzte Problemstellung analysieren und daraus funktionale und nichtfunktionale Anforderungen ableiten (BIN205a),
  • Kompetenzen aus Programmierung, Web-Engineering, Software Engineering, DevOps, Test und Dokumentation zielgerichtet zu einer Gesamtlösung verbinden (BIN205a),
  • sich in die für die Aufgabenstellung relevanten Teile eines vorbereiteten Softwareprojekts einarbeiten (BIN205a),
  • einen abgegrenzten Softwarebeitrag entwerfen, implementieren und in den bereitgestellten Projektkontext integrieren (BIN205a),
  • Versionsverwaltung sowie bereitgestellte Build-, Integrations- und Deployment-Prozesse anwenden und ihren Softwarebeitrag durch automatisierte Tests und Reviews qualitätssichern (BIN205a),
  • die für den eigenen Softwarebeitrag relevanten urheber-, lizenz-, datenschutz- oder haftungsrechtlichen Rahmenbedingungen identifizieren (BIN205b),
  • verwendete Softwarekomponenten, Bibliotheken, Daten und digitale Inhalte hinsichtlich ihrer rechtlich zulässigen Nutzung prüfen und daraus Konsequenzen für Implementierung, Dokumentation, Lizenzierung und Bereitstellung der Lösung ableiten (BIN205b),
  • die entwickelte Lösung demonstrieren, technische und rechtliche Entscheidungen nachvollziehbar dokumentieren und begründen sowie Feedback aus Reviews in die Weiterentwicklung einbeziehen (BIN205a, BIN205b).
WOZU

Die Studierenden nutzen diese Kompetenzen, um Methoden und Werkzeuge aus mehreren Veranstaltungen des Lernpfads Software-Entwicklung zu einer funktionsfähigen und qualitätsgesicherten Softwarelösung zu integrieren. Sie werden dadurch auf umfangreichere Informatikprojekte vorbereitet, in denen Aufgabenstellung, Vorgehen, Projektorganisation und technische Entscheidungen in höherem Maße eigenständig ausgestaltet werden müssen.

Inhalte

Veranstaltungsteil BIN205a: Capstone-Projekt Software-Entwicklung

  • Bearbeitung einer vorgegebenen und didaktisch abgegrenzten Problemstellung
  • Ableitung und Priorisierung funktionaler und nichtfunktionaler Anforderungen
  • Einarbeitung in die relevanten Teile eines vorbereiteten Softwareprojekts
  • Entwurf eines abgegrenzten, vertikalen Softwareinkrements
  • Implementierung und Integration des Softwarebeitrags
  • Versionsverwaltung, Build-Prozess und grundlegende Continuous Integration
  • Automatisierte Tests, Reviews und ausgewählte Qualitätssicherungsmaßnahmen
  • Technische Dokumentation, Demonstration und Begründung der Lösung

Veranstaltungsteil BIN205b: Rechtliche Aspekte der Informatik

  • Grundlagen des Urheber- und Softwarerechts
  • Softwarelizenzen, Open-Source-Lizenzen und Lizenzkompatibilität
  • Schutz und Nutzung von Software, Quellcode, Daten und digitalen Inhalten
  • Ausgewählte datenschutz-, haftungs- oder vertragsrechtliche Fragestellungen der Softwareentwicklung
  • Anwendung rechtlicher Grundlagen auf konkrete Fallbeispiele
Prüfungsvorleistung

Bestehen einer unbenoteten Studienleistung in der Vorlesung BIN205b: Rechtliche Aspekte der Informatik.

Prüfungsleistung

Studien- oder Projektarbeit. Das Prüfungskonzept ist als Portfolio mit Präsentation und Fachgespräch ausgestaltet. Das Portfolio umfasst

  • ein funktionsfähiges und in den bereitgestellten Projektkontext integriertes Softwareinkrement,
  • den zugehörigen Quellcode einschließlich nachvollziehbarer Versionshistorie,
  • ausgewählte automatisierte Tests und weitere Nachweise der Qualitätssicherung sowie
  • eine kompakte technische Dokumentation der Anforderungen, der wesentlichen Entscheidungen und der individuellen Beiträge.

In der Präsentation wird die entwickelte Lösung demonstriert und in den Kontext der Aufgabenstellung eingeordnet. Das Fachgespräch dient insbesondere der individuellen Prüfung des Verständnisses der gewählten Lösung, der eingesetzten Methoden und der vorgenommenen Qualitätssicherungsmaßnahmen. Bei Teamleistungen müssen die individuellen Beiträge erkennbar und bewertbar sein.

Literatur
  • Chacon, S.; Straub, B.: Pro Git. 2. Auflage, Apress, 2014. https://git-scm.com/book.
  • Fogel, K.: Producing Open Source Software. 2. Auflage, O’Reilly, 2017.
  • Open Source Initiative: Open Source Licenses. https://opensource.org/licenses/.
  • Spindler, G.; Schuster, F. (Hrsg.): Recht der elektronischen Medien. Kommentar, aktuelle Auflage, C.H. Beck.
  • Hoeren, T.: Internetrecht. Skript, Universität Münster, aktuelle Fassung.
Lernpfad

Software-Entwicklung