Abgabekriterien - isd-nunkesser/lectures GitHub Wiki

Abgabekriterien für Softwareprojekte

Einleitung

In der Softwareentwicklung ist es üblich und normal auch Code zu verwenden, den man nicht selbst geschrieben hat. Bei der Verwendung solchen Codes in abgegebenen Projekten sind jedoch zwei Grundsätze zu waren:

  • Keine Nutzung von unlizenziertem Fremdcode
  • Keine Verwendung von fremdem Code ohne Angabe der Quelle

Erläuterungen zu Fremdcode

Es ist nicht immer ganz einfach zu unterscheiden, was erlaubt ist und was nicht erlaubt ist. Es gibt zwei einfache Fälle, die immer erlaubt sind:

  • Nutzung von Code der als Bibliothek über einen Paketmanager bezogen wurde
  • Nutzung von Code der unter einer Open Source Lizenz wie MIT, BSD oder Apache License 2.0 steht mit Angabe der Quelle und der Lizenz

Schwieriger ist es bei YouTube-Tutorials, Codeausschnitten aus Büchern, Snippets aus dem Web wie z.B. von Stack Overflow, etc.. Auch dies ist grundsätzlich erlaubt wenn in der Quelle kein Copyright angegeben ist. Hier müssen Sie im Code in Kommentaren die Quelle angeben.

Abgabe

Softwareprojekte müssen in einem git-Repository verwaltet werden. Abgegeben werden sie grundsätzlich durch den letzten Push auf den Masterbranch des Originrepositories vor der Prüfungsphase. Abgegebener Code muss fehlerfrei kompilierbar sein. Die muss ergänzend durch einen erfolgreich absolvierten GitHub Actions Workflow belegt werden, sofern keine schwerwiegenden Gründe dagegen sprechen.

Eine nicht kompilierbare Abgabe wird als nicht bestanden gewertet, Nutzung von Fremdcode ohne adäquate Quellenangabe führt ebenfalls zur Wertung als „nicht bestanden”. In schwerwiegenden Fällen kann dies als Täuschungsversuch gewertet werden.

Zusätzliche Anforderungen im 6. und 7. Semester

Abgaben ohne individuell geschriebene Unit Tests werden als nicht bestanden gewertet. Abgaben, die nicht den Architekturvorgaben von Explicit Architecture, Clean Architecture, Ports and Adapters oder Onion Architecture folgen werden um mindestens eine Notenstufe schlechter bewertet.