Konzepte moderner Softwareentwicklung

Modulnummer
CS2016
Modulverantwortliche
Peter Kneisel
Dozenten
  • Dennis Priefer
  • Klaus-Dieter Quibeldey-Cirkel
  • Wolf Rost
  • Christoph Thelen
  • Kurzbeschreibung

    Der Kurs vermittelt die Grundlagen von gängigen Softwareentwicklungs-Praktiken. Dies geschieht durch selbstständig durchgeführte Teamarbeit innerhalb praxisnaher Softwareprojekte. Dabei erproben die Teilnehmenden die Einarbeitung in produktive Softwaresysteme durch bewährte Techniken.

    Qualifikations- und Lernziele

    Die Studierenden haben vertiefte Kenntnisse im Bereich der professionellen Softwareentwicklung. Sie sind in der Lage sich in bestehende, komplexe Projekte einzuarbeiten. Außerdem können die Studierenden in autonomer Teamarbeit kollaborativ Software erstellen und pflegen. Zusätzlich sind die Studierenden geübt im Umgang mit schwierigen Situationen im Projektalltag. Überdies sind die Studierenden geschult im Umgang mit qualitätssichernden Maßnahmen innerhalb eines agilen Softwareprojekts. Realitätsnahe Simulationen vom Projekteinstieg bis hin zu kompletten Projektumsetzungen sollen den Teilnehmenden Unsicherheiten vor dem Übergang ins Berufsleben nehmen.

    Lerninhalte
    • Praxisnahe Umsetzung von Projekten im Web-Bereich
    • Umgang mit Legacy-Software: Reengineering, ReverseEngineering, Refactoring
    • Grundlagen agiler Entwicklungsmethoden am Beispiel von Scrum
    • Fallbeispiele für typische Situationen im Alltag einesSoftwareEntwicklers
    • Soft Skills: Teamarbeit, Konfliktlösung
    • Konzepte der Qualitätssicherung: Qualitätssichernde Maßnahmen in einem SE-Projekt, Techniken zur qualitativen Verbesserung von existierenden Systemen
    • Umgang mit einer professionellen SE-Infrastruktur: Continuous Integration (Jenkins), Versionierung (Gitorious),Projektmanagement (Redmine)
    • Verschiedenste Fallbeispiele zu typischen Situationen im Alltageines Softwareentwicklers ergänzen den Kursablauf stetig. Für die Umsetzung der Projekte kommen agile Methoden wie etwa Scrum zum Einsatz. Zur Steigerung der intrinsischen Motivation könnenübergreifende soziale Unternehmungen in die Projekte eingebunden werden.
    Moduldauer (Semester)
    1
    Unterrichtssprache
    Deutsch
    Gesamtaufwand
    9 CrP; 270 Stunden, davon etwa 60 Stunden Präsenzzeit.
    Semesterwochenstunden
    4
    Lernformen

    Praktikum 6 SWS; Die Veranstaltung wird im Block (2 Wochen) durchgeführt, ferner etwa 4-6 Wochen individueller Arbeit.

    Geprüfte Leistung

    Prüfungsvorleistung: Projektarbeit

    Prüfungsleistung: Präsentation der Entwicklungsergebnisse mit Abnahme der Anwendung

    Bewertungsstandard

    Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung (Teil I)

    Häufigkeit des Angebots
    Einmal im Jahr
    Literatur
    • R.C. Martin: Clean Code mitp-Verlag
    • J. Humble, D. Farley: Continuous Delivery Addison-Wesley
    • S. Demeyer; St. Ducasse; O. Nierstrasz: Object-Oriented Reengineering Patterns Square Bracket Associates
    • M. Fowler: Refactoring Addison-Wesley Longman
    • D. W. Hoffmann: Software-Qualität Springer.
    • T. Linz: Testen in Scrum-Projekten dpunkt-Verlag
    • R. Pichler: Scrum - Agiles Projektmanagement erfolgreich einsetzen dpunkt
    Voraussetzungen

    Diese Veranstaltung setzt Programmierkenntnisse und -erfahrungen, insbesondere im Bereich der komponentenbasierten, objektorientierten Programmierung voraus. Zusätzlich sollten methodische Kenntnisse im Bereich des Software-Engineerings und die Fähigkeit zum eigenverantwortlichen, teamorientierten Entwickeln vorhanden sein.