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.
  • Work items 10
  • Merge requests 6
  • Participants 2
  • Labels 3
Loading
Loading
Loading
Loading
80% complete
80%
Start date
May 31, 2024
May 31
-
Jul 19 2024
Due date
Jul 19, 2024 (Past due)
10
Work items 10 New issue
Open: 2 Closed: 8
None
Total weight
None
6
Merge requests 6
Open: 0 Closed: 0 Merged: 6
0
Releases
None
Reference: jf136/filmdatenbank%"Add all evaluation criteria"