- Projektbeschreibung
- Projektplanung
- Mockup
- Arbeitsjournal
- Check-Liste
- Diagramme
- Features
- Projektablaufplan
- Erklärungsvideo
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.
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.
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.
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.
| 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 |
| 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 |
- Anwendung in C# entwickeln
- OOP-Konzepte verwenden
- Daten in SQLite-Datenbank speichern
- 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
- ✅ Git Repository zur Versionierung verwenden
- ✅ Dokumentation in Markdown im Repository festhalten
- ✅ Präsentationsvideo (max. 7 Min.) erstellen
- ✅ Funktionen mit Datenbankzugriff erstellen
- ✅ ER-Modell erstellen und als Grafik speichern
- ✅ Relationales Modell erstellen und als Grafik speichern
- ✅ 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
- ✅ Mockup der UI zeichnen und speichern
- ✅ Eingabe-Datentypen und Pflichtfelder definieren
- ✅ Benutzerseitige Validierung dokumentieren
- ✅ Hilfestellungen und Feedbackmöglichkeiten einbauen
- ✅ Ziel und Funktionalität der App dokumentieren
- ✅ Features definieren
- ✅ Programmablaufplan mit PapDesigner zeichnen und speichern
- ✅ Alles als Markdown dokumentieren
- ✅ Klassen zur Abbildung der DB-Struktur erstellen
- ✅ UML-Klassendiagramm erstellen und speichern
- ✅ Vererbung, Polymorphismus, Abstraktion implementieren
- ✅ 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
- Erstellen
- Bearbeiten
- Löschen
- Durchschnitt
- Erstellen
- Bearbeiten
- Löschen
- Noten mit Zeugnis verbinden
- Erstellen
- Bearbeiten
- Löschen
- zeigt den Gesamtdurchschnitt


