BIN202: DevOps

Lernpfad: Software-Entwicklung

BIN202: DevOps

Kurzporträt BIN202: DevOps
Worum geht es? Das Modul behandelt die Arbeitsweisen, Werkzeuge und Prozesse, mit denen Software im Team zuverlässig entwickelt, geprüft und bereitgestellt wird. Im Mittelpunkt stehen Versionsmanagement, Code-Reviews, automatisierte Builds, Tests, CI/CD, reproduzierbare Umgebungen und sicherheitsbezogene Prüfungen. Die Studierenden lernen, Softwareentwicklung als nachvollziehbaren technischen Prozess zu gestalten.
Wofür braucht man es? Moderne Software entsteht selten auf einzelnen Rechnern und ohne Abstimmung. DevOps-Kompetenzen werden gebraucht, damit Teams Änderungen sicher integrieren, Fehler früh erkennen, Abhängigkeiten kontrollieren und Anwendungen reproduzierbar bereitstellen können. Das ist für Studienprojekte, Abschlussarbeiten und berufliche Softwareentwicklung gleichermaßen relevant.
Wieso ist es interessant? DevOps macht sichtbar, wie aus Quellcode ein verlässliches Softwareprodukt wird. Kleine Automatisierungen können große Wirkung haben, weil sie wiederkehrende Fehler vermeiden und Qualität kontinuierlich überprüfbar machen. Das Modul verbindet technische Werkzeuge mit Teamarbeit, Sicherheit und professioneller Entwicklungskultur.
Modulverantwortung

Prof. Dr. Benedikt Janßen

Lehrperson(en)

Prof. Dr. Benedikt Janßen

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 | 2 Ü | - P | - S

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

DevOps

Empfohlene Voraussetzungen
  • BIN004: Einführung in die Programmierung: Programmierung, einfache Softwareprojekte.
  • BIN201: Weiterführende Programmentwicklung: Softwaretests, Versionsmanagement, Entwicklungswerkzeuge.
  • BIN005: Systemsoftware: Betriebssysteme, Kommandozeile, Ausführungsumgebungen.
  • BIN007: Datennetze: Netzwerke, internetbasierte Anwendungen.
Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, einen reproduzierbaren, sicheren und teamfähigen Entwicklungs-, Prüf- und Bereitstellungsprozess für Software zu gestalten.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • Versionsmanagement für kollaborative Softwareentwicklung einsetzen und typische Arbeitsabläufe wie Branching, Merging und Reviews durchführen,
  • Code-Reviews vorbereiten, durchführen und Review-Ergebnisse zur Qualitätsverbesserung nutzen,
  • Entwicklungs-, Test- und Ausführungsumgebungen mit Virtualisierungs- oder Containerkonzepten reproduzierbar konfigurieren,
  • automatisierte Build-, Test-, Qualitätssicherungs- und Deployment-Abläufe konzipieren, umsetzen und auswerten,
  • automatisierte Tests auf Code-, Komponenten- und Systemebene einrichten, ausführen und interpretieren,
  • Sicherheitsprüfungen wie grundlegendes SAST, SCA, DAST, Secret Scanning und Fuzzing in CI/CD-Prozesse integrieren,
  • Ergebnisse sicherheitsbezogener Prüfungen interpretieren, priorisieren und daraus begründete Maßnahmen ableiten,
  • Bestandteile von Software erfassen, Supply-Chain-Risiken einordnen und KI-gestützte Werkzeuge kritisch in den Arbeitsprozess einbinden.
WOZU

Die Studierenden nutzen diese Kompetenzen, um Softwareentwicklungsprozesse in Teams so zu gestalten, dass Änderungen nachvollziehbar, automatisiert prüfbar, sicher integrierbar und zuverlässig bereitstellbar sind. Dies unterstützt spätere Projektmodule, Software Engineering, den Betrieb moderner Anwendungen und berufliche Entwicklungsprozesse.

Inhalte
  • Grundbegriffe und Ziele von DevOps und DevSecOps
  • Grundlegende DevOps-Metriken wie Deployment Frequency, Lead Time, Change Failure Rate und Recovery Time
  • Versionsmanagement, Branching-Strategien, Merge-Prozesse und Code-Reviews
  • Automatisierung von Build-, Test-, Analyse- und Deployment-Prozessen
  • Continuous Integration und Continuous Delivery/Deployment als Konzepte
  • Reproduzierbare Entwicklungs- und Testumgebungen, Virtualisierung und Containerkonzepte
  • Automatisierte Tests auf unterschiedlichen Ebenen
  • Statische Analyse, Dependency-Checks und sicherheitsbezogene Qualitätssicherung
  • Software-Supply-Chain, Abhängigkeiten, Signaturen und Integrität von Artefakten, SBOM-Grundlagen und Provenance
  • Zusammenarbeit im Team, Arbeitsorganisation, Nachvollziehbarkeit und kritischer Einsatz KI-gestützter Werkzeuge
Prüfungsvorleistung

Erfolgreiche Bearbeitung und Diskussion von Übungsaufgaben zu Versionsmanagement, Automatisierung, Tests, Qualitätssicherung und reproduzierbaren Entwicklungsumgebungen.

Prüfungsleistung

Computergestützte Klausurarbeit (120 Minuten). Das Prüfungskonzept umfasst praktische Aufgaben zu Analyse, Konfiguration, Bewertung und Erweiterung von DevOps- und DevSecOps-Abläufen.

Literatur
  • Kim, G.; Humble, J.; Debois, P.; Willis, J.: The DevOps Handbook. 2. Auflage, IT Revolution Press, 2021.
  • Humble, J.; Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley, 2010.
  • Forsgren, N.; Humble, J.; Kim, G.: Accelerate: The Science of Lean Software and DevOps. IT Revolution Press, 2018.
  • Beyer, B.; Jones, C.; Petoff, J.; Murphy, N. R.: Site Reliability Engineering. O’Reilly, 2016.
  • OWASP: Application Security Verification Standard. https://owasp.org/www-project-application-security-verification-standard/.
Lernpfad

Software-Entwicklung