MIN302: Softwareentwicklungsprojekt 2: Umsetzung und Qualität

Softwareentwicklungsprojekt

MIN302: Softwareentwicklungsprojekt 2: Umsetzung und Qualität

Kurzporträt MIN302: Softwareentwicklungsprojekt 2: Umsetzung und Qualität
Worum geht es? Softwareentwicklungsprojekt 2 konzentriert sich auf größere Umsetzungspakete in einem bestehenden Produktkontext. Die Studierenden planen Arbeitspakete, entwerfen Lösungsalternativen, setzen Features oder technische Verbesserungen um und sichern Qualität durch Tests, Reviews und Integration.
Wofür braucht man es? Die Kompetenzen werden gebraucht, um nicht nur einzelne Tickets, sondern zusammenhängende Entwicklungsaufgaben verantwortlich zu bearbeiten. Sie helfen, Aufwand, Risiken, Betriebsfolgen, Wartbarkeit und technische Qualität in Entscheidungen einzubeziehen.
Wieso ist es interessant? Interessant ist das Modul, weil technische Umsetzung hier mit Planung und Verantwortung zusammenkommt. Eine Lösung muss nicht nur funktionieren, sondern in Architektur, Teamprozess, Betrieb und Lebenszyklus des Produkts passen.
Modulverantwortung

Studiendekan:in des Fachbereichs

Lehrperson(en)

Professor:innen des Studiengangs Informatik

Verwendbarkeit

Master Informatik

Fächergruppe

Informatik

Modultyp
Pflicht
Sprache

Deutsch

Angebot

jedes Semester

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

2SL+2P

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

Software Development Project 2 (Implementation and Quality)

Empfohlene Voraussetzungen

Empfohlen werden Kompetenzen entsprechend Softwareentwicklungsprojekt 1 oder vergleichbare Kompetenzen in der systematischen Einarbeitung in bestehende Softwareprodukte, der Umsetzung und Integration abgegrenzter Änderungen, der Versionsverwaltung sowie der Anwendung grundlegender Qualitätssicherungsmaßnahmen. Die Studierenden sollten bestehende Architektur- und Code-Strukturen nachvollziehen, Entwicklungsaufgaben eigenständig bearbeiten und ihre Beiträge im Produktkontext begründen können.

Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, ein größeres, nicht vollständig vorstrukturiertes Umsetzungspaket in einem bestehenden Softwareprodukt eigenständig zu planen, zu entwerfen, qualitätsgesichert umzusetzen und in das Gesamtprodukt zu integrieren. Sie können technische Lösungsalternativen unter Berücksichtigung von Qualität, Entwicklungsaufwand, Risiken, Betriebsfolgen und Lebenszykluskosten bewerten sowie die Umsetzung in einer kleinen Arbeitsgruppe fachlich koordinieren.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • Anforderungen für einen abgegrenzten Produktbereich analysieren, als Epic mit Akzeptanzkriterien und Definition of Done konkretisieren und in tragfähige Arbeitspakete überführen,
  • das Umsetzungspaket in Arbeitspakete zerlegen, Abhängigkeiten und Risiken identifizieren, Aufwände und Ressourcen schätzen und den Bearbeitungsfortschritt verfolgen,
  • alternative Lösungsansätze mit Blick auf Architektur, Schnittstellen und bestehende Code-Strukturen entwerfen und hinsichtlich technischer Eignung, Entwicklungsaufwand, Betriebsfolgen und Folgekosten vergleichen,,
  • Features, Schnittstellen oder technische Verbesserungen implementieren, versionieren und in das bestehende Softwareprodukt integrieren,,
  • eine geeignete Qualitätssicherungsstrategie entwickeln und automatisierte Tests, Integrationstests, Reviews und Continuous-Integration-Verfahren anwenden,
  • Deployment-, Betriebs-, Abhängigkeits-, Lizenz- und Sicherheitsaspekte berücksichtigen und auf kleinere Betriebs- oder Sicherheitsstörungen angemessen reagieren,
  • die Umsetzung in einer kleinen Arbeitsgruppe fachlich koordinieren, Aufgaben abstimmen, Beiträge anderer prüfen und weniger erfahrene Teammitglieder unterstützen,
  • technische Entscheidungen, Qualitätsmaßnahmen, Aufwände und Abweichungen nachvollziehbar dokumentieren, die Auswirkungen auf Wartbarkeit, Betrieb und Lebenszykluskosten bewerten und die Ergebnisse fachlich vertreten.
WOZU

Die Studierenden nutzen diese Kompetenzen, um in größeren Softwareprodukten Verantwortung für die vollständige Planung, Umsetzung, Qualitätssicherung und Integration eines abgegrenzten Features oder technischen Teilbereichs zu übernehmen. Sie können technische Entscheidungen nicht nur hinsichtlich ihrer unmittelbaren Funktionalität, sondern auch hinsichtlich Aufwand, Risiken, Betriebsfähigkeit, Wartbarkeit und wirtschaftlicher Folgewirkungen beurteilen. Das Modul bereitet sie darauf vor, in Softwareentwicklungsprojekt 3 über einzelne Umsetzungspakete hinaus Produkt- oder Teilprojektbereiche technisch, organisatorisch und wirtschaftlich zu koordinieren.

Inhalte
  • Anforderungsanalyse und Epic-Planung mit Akzeptanzkriterien, Definition of Done, Abgrenzung und Abhängigkeiten
  • Zerlegung größerer Aufgaben in Arbeitspakete, Aufwandsschätzung, Ressourcenplanung und Fortschrittskontrolle
  • Entwurf und Bewertung von Lösungsalternativen im bestehenden Architektur-, Schnittstellen- und Code-Kontext
  • Implementierung, Versionierung und Integration größerer Features, Schnittstellen oder technischer Verbesserungen
  • Qualitätssicherungsstrategien, Testkonzepte, Testautomatisierung, Integrationstests, Code Reviews und Continuous Integration
  • Deployment, Betrieb, Monitoring sowie Abhängigkeits-, Schwachstellen-, Lizenz- und Incident-Management
  • Technische Schulden, Qualitätskosten, Entwicklungs-, Betriebs- und Wartungsaufwände sowie Lebenszykluswirkungen technischer Entscheidungen
  • Fachliche Koordination einer kleinen Arbeitsgruppe, Integration fremder Beiträge, KI-gestützte Entwicklung, Dokumentation und Reflexion
Prüfungsvorleistung

Keine separate Prüfungsvorleistung. Die semesterbegleitenden Meilensteine, Präsentationen und Reflexionsanteile sind Bestandteil der Prüfungsleistung.

Prüfungsleistung

Studien- oder Projektarbeit. Sie wird als Projektportfolio mit Fachgespräch ausgestaltet. Das Portfolio dokumentiert die Analyse und Konkretisierung des übernommenen Umsetzungspakets, die Arbeits-, Aufwands- und Ressourcenplanung, den Entwurf und die Bewertung wesentlicher Lösungsalternativen, die lauffähige Implementierung und Integration des Softwarebeitrags, die angewandten Test-, Review- und Qualitätssicherungsmaßnahmen, die Berücksichtigung von Deployment, Betrieb, Sicherheit und Abhängigkeiten, die Bewertung von Entwicklungsaufwand, Betriebsfolgen und Lebenszykluskosten sowie die fachliche Koordination, die individuellen Beiträge und die Reflexion des Vorgehens. Das Portfolio entsteht semesterbegleitend entlang vereinbarter Meilensteine. Die Studierenden stellen Arbeitsstand, technische Entscheidungen, Qualitätsmaßnahmen und Abweichungen regelmäßig in Weeklys, Reviews und Retrospektiven vor und beziehen erhaltenes Feedback in die weitere Bearbeitung ein. Das Fachgespräch dient der individuellen Prüfung des Verständnisses der technischen Entscheidungen, der Qualitätssicherung, der wirtschaftlichen Folgewirkungen und der eigenen Rolle im Produktkontext.

Literatur
  • Sommerville, Ian: Modernes Software‑Engineering: Entwurf und Entwicklung von Softwareprodukten. 1. Auflage, Pearson Studium, 2020. ISBN 978-3-86894-396-2.
  • Meszaros, Gerard: xUnit Test Patterns: Refactoring Test Code. Addison-Wesley Professional, 1st Edition, 2007. ISBN 978-0-13-149505-0.
  • Fowler, Martin: Refactoring: Improving the Design of Existing Code. 2nd Edition. Addison-Wesley Professional, 2018. ISBN 978-0-13-475759-9.
  • Starke, Gernot: Effektive Softwarearchitekturen: Ein praktischer Leitfaden. 10., überarbeitete Auflage. Carl Hanser Verlag, 2024. ISBN 978-3-446-47672-1.
  • Weitere produkt-, technologie- und kontextspezifische Fachliteratur sowie Dokumentation werden semesterbezogen in der jeweils aktuellen Fassung bereitgestellt.