Expired
Milestone
May 31, 2024–Jul 19, 2024
Add all evaluation criteria
Punkteverteilung
Anforderungsanalyse
- 0 - Keine Anforderungen dokumentiert
- 1 - Rudimentäre Anforderungen vorhanden
- 2 - Arbeit mit Milestones/Labels
- 3 - Unterteilung der Anforderung (z.B. fachliche/technische Anforderungen), Verknüpfung der Anforderungen untereinander, Verlinkung mit git-Commits
Softwarearchitektur & Clean Code
- 0 - Keine Softwarearchitektur erkennbar (z.B. keine Packageuntergliederung)
- 1 - Package-Struktur vorhanden und mit Klassendiagramm dokumentiert. Dokumentation und Begründung welches Architekturmuster gewählt wurde.
- 2 - SE2-Themen angewandt: SOLID-Prinzipien angewandt und dokumentiert. Interfaces und Factories sinnvoll eingesetzt.
- 3 - Dokumentation des Codes und Architektur: Dokumentiert wie Komponenten miteinander kommunizieren. Dokumentation der architektonischen Entscheidungen mit Hilfe von ADR (Architecture Decision Records, mind. drei). Code-Dokumentationsprinzipen beschrieben und angewandt (nicht erlaubt: Begründung "der Code ist selbsterklärend")
git
- 0 - Commits ohne Commit-Messages
- 1 - Commits mit Commit-Messages
- 2 - Tags & Changelog vorhanden und gepflegt. Readme vorhanden.
- 3 - git-Vorgehen inkl. branching dokumentiert und angewandt
Build management & Testing
- 0 - Kein Build Management / Testing vorhanden
- 1 -
- 2 -
- 3 -
CI/CD
- 0 - Kein CI/CD vorhanden
- 1 - .gitlab-ci.yml angelegt
- 2 - Build-Lifecycle in .gitlab-ci.yml abgebildet
- 3 - .gitlab-ci.yml so angepasst, dass manche Steps nur bei Bedarf ausgeführt werden. Inkl. Dokumentation mit Begründung.
Persistenz:
- 0 - keine Persistenz vorhanden
- 2 - CRUD-Operationen für (No)SQL-DB teilweise implementiert
- 4 - CRUD-Operationen für (No)SQL-DB implementiert & genutzt
- 6 - DB-Operationen in Tests aufgenommen, Bereitstellung von Demo-Daten
Schnittstellen
- 0 - keine externe Schnittstellen vorhanden
- 2 - CRUD teilweise umgesetzt
- 4 - CRUD-Operationen über externer Schnittstelle bereitgestellt. Bei REST: Korrekte Nutzung der HTTP-Verben und Status-Codes.
- 6 - Dokumentation der Schnittstelle: Doku der Operationen, warum welche Schnittstellenart (synchron/asynchron) eingesetzt?
UI
- 0 - kein GUI vorhanden
- 2 - GUI vorhanden über die die Programmfunktionen ausführbar sind
- 4 - GUI austauschbar gehalten: keine Logik im GUI-Code
- 6 - (Potentiell) langlaufende Abfragen asynchron. Eine GUI-Operation (z.B. Speichern) ist ausreichend.
Parallele Programmierung
- 0 - keine parallele Programmierung vorhanden.
- 2 - Thread vorhanden, der nicht auf shared state zugreift.
- 4 - Skizzierung möglicher Threads im Projekt. Beschreibung, welche Probleme mit diesen Threads auftreten könnten und wie diese verhindert werden können.
- 6 - Implementierung der beschriebenen Threads inkl. der Sicherungsmaßnahmen.
Abschlusspräsentation/Endabgabe
- 0 - Nicht Präsentiert
- 1 - Alle Teammitglieder aus der Projektgruppe haben präsentiert
- 2 - Projektgruppe hat vollständig an Rückfragen-Termin teilgenommen
- 3 - Projektdokumentation vorhanden. Beschreibung, was das Projekt macht, wie es gestartet wird, was die Hauptarchitektur-Entscheidungen und -Prinzipen waren, wie diese umgesetzt wurden, known issues, Reflexion was man anders machen würde. Refelexion jedes Projektmitglieds: Was habe ich gelernt? Wo habe ich noch Lücken? Bei diesen Themen bin ich über meinen Schatten gesprungen.
Loading
Loading
Loading
Loading