MIN302: Softwareentwicklungsprojekt 2: Umsetzung und Qualität
Softwareentwicklungsprojekt
MIN302: Softwareentwicklungsprojekt 2: Umsetzung und Qualität
Studiendekan:in des Fachbereichs
Professor:innen des Studiengangs Informatik
Master Informatik
Informatik
Deutsch
jedes Semester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2SL+2P
Software Development Project 2 (Implementation and Quality)
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.
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.
- 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
Keine separate Prüfungsvorleistung. Die semesterbegleitenden Meilensteine, Präsentationen und Reflexionsanteile sind Bestandteil der 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.
- 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.