BIN204: Software Engineering

Lernpfad: Software-Entwicklung

BIN204: Software Engineering

Kurzporträt BIN204: Software Engineering
Worum geht es? Das Modul behandelt Softwareentwicklung als systematischen Prozess für größere Systeme. Die Studierenden arbeiten mit Anforderungen, Modellen, Architekturentscheidungen, Entwicklungsprozessen, Tests, Dokumentation und Qualitätssicherung. Dabei geht es nicht nur um Code, sondern um nachvollziehbare Entscheidungen über den gesamten Entwicklungsverlauf.
Wofür braucht man es? Größere Softwareprojekte benötigen planbare Abläufe, klare Anforderungen, tragfähige Entwürfe und überprüfbare Qualität. Diese Kompetenzen werden in professionellen Entwicklungsteams, Praxisprojekten, Abschlussarbeiten und technischen Leitungsaufgaben benötigt. Das Modul unterstützt dabei, Komplexität im Team beherrschbar zu machen.
Wieso ist es interessant? Software Engineering zeigt, warum gute Software nicht zufällig entsteht. Unterschiedliche Interessen, technische Randbedingungen, Zeitdruck und Qualitätsanforderungen müssen zusammengebracht werden. Das Modul macht erfahrbar, wie Methoden, Modelle und Werkzeuge helfen, aus offenen Aufgaben belastbare Systeme zu entwickeln.
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

2 V | 1 Ü | 1 P | - S

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

Software Engineering

Empfohlene Voraussetzungen
  • BIN004: Einführung in die Programmierung: Programmierung.
  • BIN201: Weiterführende Programmentwicklung: Softwarestrukturierung, Tests, Versionsmanagement, Modellierung.
  • BIN202: DevOps: Entwicklungsprozesse, Build- und Testautomatisierung.
  • BIN203: UX und Web-Engineering: Anforderungen, Websysteme, nutzerorientierte Gestaltung.
Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, größere Softwaresysteme methodisch anhand geeigneter Softwareentwicklungsprozesse in Phasen wie Anforderung, Entwurf, Implementierung, Test und Qualitätssicherung zu konzipieren und zu entwickeln.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • Anforderungen an Softwaresysteme mit geeigneten Verfahren erheben, strukturieren, priorisieren und in umsetzbare Spezifikationen überführen,
  • Vorgehensmodelle, Notationen, Werkzeuge und Technologien für konkrete Softwareentwicklungsaufgaben vergleichen und begründet auswählen,
  • größere Softwarelösungen im Team mit geeigneten Entwicklungsprozessen, Modellierungsansätzen und Werkzeugen entwerfen und umsetzen,
  • fremde und KI-generierte Softwareartefakte prüfen, bewerten und verbessern,
  • KI-gestützte Werkzeuge für Entwurf, Implementierung, Deployment und Betrieb zielgerichtet anleiten und ihre Ergebnisse kritisch validieren,
  • Testverfahren für fachliche, technische und sicherheitsbezogene Anforderungen auswählen, ausführen und auswerten,
  • Coding Standards, Code-Prinzipien und Dokumentationsstandards anwenden und deren Einhaltung bewerten.
WOZU

Die Studierenden nutzen diese Kompetenzen, um komplexere Softwareprojekte im beruflichen Kontext planbar, prüfbar und qualitätsorientiert durchführen zu können. Sie können dadurch technische, organisatorische und qualitätssichernde Aspekte größerer Entwicklungsvorhaben zusammenführen.

Inhalte
  • Ziele, Begriffe und Tätigkeitsfelder des Software Engineerings
  • Vorgehensmodelle und Prozessgestaltung für Softwareentwicklungsprojekte
  • Anforderungsanalyse, Anforderungsdokumentation, Priorisierung und Nachverfolgbarkeit
  • Modellierung von Struktur, Verhalten, Schnittstellen und Systemkontexten
  • Architekturentscheidungen, Entwurfsbegründungen und Analyse bestehender Systeme
  • Qualitätssicherung, Teststrategien und sicherheitsbezogene Testfälle
  • Teamorientierte Planung und Umsetzung größerer Softwarelösungen
  • Coding Standards, Dokumentationsstandards und technische Schulden
  • Bewertung und Integration KI-generierter Softwareartefakte
  • Werkzeugunterstützung für Entwurf, Implementierung, Deployment und Betrieb
Prüfungsvorleistung

Erfolgreiche Projektarbeit mit Dokumentation und Fachgespräch, in der eine größere Softwareentwicklungsaufgabe einschließlich Anforderungen, Design, Implementierung, Tests und Qualitätsbewertung nachvollziehbar bearbeitet wurde.

Prüfungsleistung

Computergestützte Klausurarbeit (120 Minuten). Das Prüfungskonzept umfasst Aufgaben zu Anforderungen, Modellierung, Entwurf, Entwicklungsprozessen, Qualitätssicherung und zur Bewertung von Softwareartefakten.

Literatur
  • Sommerville, I.: Software Engineering. 10. Auflage, Pearson Studium, 2018.
  • Ludewig, J.; Lichter, H.: Software Engineering: Grundlagen, Menschen, Prozesse, Techniken. 4. Auflage, dpunkt.verlag, 2023.
  • Kecher, C.; Salvanos, A.: UML 2.5: Das umfassende Handbuch. 5. Auflage, Rheinwerk Verlag, 2015.
  • Spillner, A.; Linz, T.: Basiswissen Softwaretest. 7. Auflage, dpunkt.verlag, 2024.
  • Beneken, G.; Hummel, F.; Kucich, M.: Grundkurs agiles Software-Engineering: Ein Handbuch für Studium und Praxis. Springer Vieweg, 2023.
Lernpfad

Software-Entwicklung