Skip to content

Latest commit

 

History

111 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotenManager: Mark my failures

Inhaltsverzeichnis

  1. Projektbeschreibung
  2. Projektplanung
  3. Mockup
  4. Arbeitsjournal
  5. Check-Liste
  6. Diagramme
  7. Features
  8. Projektablaufplan
  9. Erklärungsvideo

Projektbeschreibung

Projektidee

Das Projekt Mark my failures wurde aus dem Bedarf heraus entwickelt, die schlechten Notenübersicht im Schulhomepage zu verbessern. Die aktuell bestehende Darstellung ist nicht übersichtlich und beschränkt die individuelle Verwaltung und Auswertung der eigenen Leistungen stark. Das Ziel des Projekts besteht darin, eine benutzerorientierte und übersichtliche Applikation zu entwickeln, die Schülerinnen und Schüler ihre Noten effizient verwalten und auswerten können.

Funktionsumfang

Der NotenManager Mark my failures ermöglicht es den Users:

  • Noten hinzufügen: Neue Prüfungen oder Leistungen können einfach eingetragen werden.
  • Noten zu bearbeiten: Bestehende Noteneinträge lassen sich bei Bedarf anpassen.
  • Noten zu löschen: Unnötige oder fehlerhafte Einträge können entfernt werden.
  • Zeugnisse anzuzeigen: Die Anwendung generiert automatisch ein Zeugnis basierend auf den vorhandenen Noten.
  • Durchschnitt berechnen: Ein übersichtlicher Notendurchschnitt wird laufend aktualisiert und angezeigt.
  • Diagramme erstellen: Notenverläufe und Durchschnittsentwicklungen werden visuell in Diagrammen dargestellt, um den Leistungsstand anschaulich zu machen.

Zielsetzung

Mark my failures soll eine natürliche, optisch ansprechende und praktische Alternative zur aktuellen Notenübersicht sein. Durch die grafische Aufbereitung und die einfache Handhabung soll die Anwendung den Schülerinnen und Schülern helfen, ihre schulischen Leistungen besser im Blick zu behalten und gezielt zu verbessern.

Technische Umsetzung

Die Anwendung wird mit folgenden Technologien umgesetzt:

  • Programmiersprache: C#
  • Benutzeroberfläche: Windows Fomrs (WinForms), um eine einfache und interaktive Desktop-Oberfläche bereitzustellen.
  • Datenbank: SQLite, eine leichtgewichtige, deteilbasierte Datenbanklösung zur lokalen Speichern aller Noten, Fächer und Zeugnisse.
  • Diagramme(Maybe): Die Diagramm-Funktion wird mit geeigneten Visualisierungsbibliotheken innerhalb von WinForms realisiert.

Projektplanung

Woche Bezeichnung Feedback (0–10) Wer?
1 Projektplanung | Projektstart 3 Alle
2 Planung fertig | ER & RM | Mockup 10 Pascal | Julian | Gregory & Pascal
3 Coding | Markdown 5 Greg&Julian | Pascal
4 Coding | Markdown 6 Greg&Julian | Pascal
5 Coding | Markdown 8 Greg&Julian | Pascal
6 Coding | Markdown 7 Greg&Julian | Pascal
7 Coding | Markdown 9 Greg&Julian | Pascal
8 Coding | Markdown 9 Greg&Julian | Pascal
9 Coding | Markdown 9 Greg&Julian | Pascal
10 Coding | Markdown 5 Greg&Julian | Pascal
11 Coding | Markdown 3 Alle
12 Coding | Markdown 8 Alle
13 Coding | Markdown 7 Alle
14 Coding | Markdown 4 Alle
15 Coding | Markdown 10 Greg&Julian | Pascal

Mockup

Bild 1

alt text

Bild 2

Arbeitsjournal

alt text BBZW

Datum Gregory Julian Pascal
27.01.25 Projektstart, Ideen gesammelt Projektstart, Ideen gesammelt Projektstart, Ideen gesammelt
03.02.25 Mockup begonnen ER-Diagramm erstellt Projektplanung & RM-Diagramm erstellt
10.02.25 Mockup weiterentwickelt Mit dem Coden begonnen Markdown erstellt & bearbeitet/Dokumentation
17.02.25 Mockup fertig (Commits auf GitHub nicht funktioniert), mit Julian & Pascal gecoded Mit Gregory & Pascal gecoded Mit Gregory & Julian gecoded
10.03.25 SQLite weiter gelernt Hat beim Windows Forms organisiert und das Layout erstellt War Krank
17.03.25 SQLite weiter gearbeitet, SQL Quarrys erstellt Hat am MainForm gecoded und am SQLite geholfen Dokumentation erweitert und ein PaP angefangen
24.03.25 SQLite weiter gearbeitet. Hat Gregory bei SQLite geholfen und ein wenig Pascal beim Programmablauf geholfen. Hat den PaP fertig gemacht
31.03.25 SQLite Verbindung gemacht. / Ein paar Button entwürfe gemacht. Gregory geholfen / Daten von SQLite zur Mainform anzeigen lassen. UML Diagramm angefangen. / Projektbeschreibung fertig gemacht.
07.04.25 Pairprogramming mit Julian, an den Funktionalitäten gearbeitet. Pairprogramming mit Gregory, an den Funktionalitäten gearbeitet. Checkliste erstellt und ausgefüllt.
14.04.25 Weiter Programmiert Tests hinzugefügt Alle Dokumentationen in Markdown gelegt.
05.05.25 Krank Der Code an Pascal erklärt. Von Julian den Code erklärt bekommen.
12.05.25 Unittests versucht zu machen Julian hat Fächer an die Fachliste hinzugefügt Checkliste Aktualisiert und Planung-Tabelle erweitert.
19.05.25 Unittests versucht zu machen Noten hinzugefügt Unittests versucht zu machen
26.05.25 Unittests erstellt Noten hinzugefügt und Popup für Noten erstellt UML Diagramm fertig gemacht
02.06.25 Pairprogramming mit Julian Pairprogramming mit Gregory, JSON richtig formatiert Freizeit Arbeitsjournal Aktualisiert, Features definiert

Freizeit

Datum Gregory Julian Pascal
20.05.2025 Singleton, Testing fixing, Fehlernachricht POPUps Checkliste & Unterstützung beim Coden
30.05.2025 Funktionalitäten von Databases
31.05.2025 Edit & Delete geht mit DB zusammen, Error Code Templates & Durchschnittsfunktion
1.06.2025 Zeugnis erweitert Zeugnis hinzugefügt, LadeAlleZeugnisse hinzugefügt
06.06.2025 Erklärvideo Erklärvideo Erklärvideo

Check-Liste

✅🟨🟥 Projekt-Checkliste C# Applikation mit SQLite

📌 Projektbeschreibung

  • Anwendung in C# entwickeln
  • OOP-Konzepte verwenden
  • Daten in SQLite-Datenbank speichern

📆 Wichtige Termine

  • Semesterstart: Montag, 27.01.2025
  • Refresher Tests:
    • ✅ Modul 162: 10.02.2025
    • ✅ Modul 164: 17.03.2025
    • ✅ Modul 322: 07.04.2025
    • ✅ Modul 319: 12.05.2025
    • ✅ Modul 320: 02.06.2025
  • ✅ Abgabetermin: Freitag, 06.06.2025, 23:59 Uhr
  • 🟥 Projektkorrektur: 07. + 08.06.2025
  • Pfingstmontag (frei): 09.06.2025
  • 🟥 Projektbesprechung: 16.06.2025
  • Modulende: 30.06.2025
  • ✅ Total 15 Montag-Nachmittage für Projektarbeit einplane
  • ✅ Projektplan fürs Semester erstellen

📁 Allgemeine Bestimmungen

  • ✅ Git Repository zur Versionierung verwenden
  • ✅ Dokumentation in Markdown im Repository festhalten
  • ✅ Präsentationsvideo (max. 7 Min.) erstellen

📚 Modul 106 – Datenbankzugriffe

  • ✅ Funktionen mit Datenbankzugriff erstellen

🧠 Modul 162 – Daten analysieren & modellieren

  • ✅ ER-Modell erstellen und als Grafik speichern
  • ✅ Relationales Modell erstellen und als Grafik speichern

🧱 Modul 164 – DB erstellen & befüllen

  • ✅ SQL-Skript zur Erstellung der DB (inkl. Existenzprüfung)
  • ✅ SQL-Skript zum DB-Update (nur falls nötig)
  • ✅ SQL-Skript zum Einfügen von Beispieldaten
  • ✅ Funktionalität zur Benutzereingabe von Beispieldaten

🧑‍🎨 Modul 322 – Benutzeroberfläche

  • ✅ Mockup der UI zeichnen und speichern
  • ✅ Eingabe-Datentypen und Pflichtfelder definieren
  • ✅ Benutzerseitige Validierung dokumentieren
  • ✅ Hilfestellungen und Feedbackmöglichkeiten einbauen

🛠 Modul 319 – Applikation implementieren

  • ✅ Ziel und Funktionalität der App dokumentieren
  • ✅ Features definieren
  • ✅ Programmablaufplan mit PapDesigner zeichnen und speichern
  • ✅ Alles als Markdown dokumentieren

🧱 Modul 320 – Objektorientierte Programmierung

  • ✅ Klassen zur Abbildung der DB-Struktur erstellen
  • ✅ UML-Klassendiagramm erstellen und speichern
  • ✅ Vererbung, Polymorphismus, Abstraktion implementieren

⚙ Allgemeine Anforderungen

  • ✅ Fehlerbehandlung und Eingabevalidierung integrieren
  • ✅ Benutzerfreundliche Oberfläche mit Datenpersistierung
  • ✅ Verbindung zu SQLite aufbauen
  • ✅ Datenbank erstellen, updaten, abfragen, manipulieren
  • ✅ CRUD-Operationen vollständig implementieren
  • ✅ Singleton Pattern für DB-Verbindung
  • ✅ Funktionalitäten via Interfaces
  • ✅ Unit-Tests für Klassen und Methoden
  • ✅ Geeignete Entwicklungsumgebung für C# und SQLite verwenden

Diagramme

ER-Diagramm

ER-Diagramm

RM-Diagramm

RM-Diagramm

UML-Diagramm

UML Diagramm

Features

Noten

  • Erstellen
  • Bearbeiten
  • Löschen
  • Durchschnitt

Fächer

  • Erstellen
  • Bearbeiten
  • Löschen
  • Noten mit Zeugnis verbinden

Zeugnis

  • Erstellen
  • Bearbeiten
  • Löschen
  • zeigt den Gesamtdurchschnitt

Projektablaufplan

PAP

Erklärungsvideo

About

Mark My Failures

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages