From 77004b5f6859ff6bd955fe331cd0f4d8c15a0764 Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 14 Dec 2025 15:36:46 +0100 Subject: [PATCH] Add: Base for lab protocol. --- .gitignore | 30 +++++++++ docs/portfolio/README.md | 33 +++++++++ docs/portfolio/phase1/phase1.pdf | Bin 0 -> 70571 bytes docs/portfolio/phase1/phase1.tex | 55 +++++++++++++++ docs/portfolio/phase2/phase2.tex | 63 ++++++++++++++++++ docs/portfolio/phase3/abstract.tex | 34 ++++++++++ .../phase3/installationsanleitung.tex | 32 +++++++++ docs/portfolio/preamble.tex | 34 ++++++++++ 8 files changed, 281 insertions(+) create mode 100644 docs/portfolio/README.md create mode 100644 docs/portfolio/phase1/phase1.pdf create mode 100644 docs/portfolio/phase1/phase1.tex create mode 100644 docs/portfolio/phase2/phase2.tex create mode 100644 docs/portfolio/phase3/abstract.tex create mode 100644 docs/portfolio/phase3/installationsanleitung.tex create mode 100644 docs/portfolio/preamble.tex diff --git a/.gitignore b/.gitignore index f7e2e93..9bd603d 100644 --- a/.gitignore +++ b/.gitignore @@ -245,3 +245,33 @@ object_script.*.Debug # SQLite study.db + +# LaTeX + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync +*.rubbercache +rubber.cache + +## Build tool directories for auxiliary files +# latexrun +latex.out/ diff --git a/docs/portfolio/README.md b/docs/portfolio/README.md new file mode 100644 index 0000000..7a6e303 --- /dev/null +++ b/docs/portfolio/README.md @@ -0,0 +1,33 @@ +Portfolio-Dokumentation (LaTeX-Templates) +========================================= + +Diese Vorlagen decken die geforderten Abgaben aus der Aufgabenstellung DLBDSOOFPP01_D ab. Jede Phase hat einen eigenen LaTeX-Entwurf, der die Inhalte und Formatvorgaben (2 cm Ränder, Arial/ähnlich, 1,5 Zeilenabstand, Blocksatz, 6 pt Absatzabstand) berücksichtigt. + +Struktur +-------- +- `preamble.tex` – gemeinsame Pakete, Seitenlayout und Metadaten. +- `phase1/phase1.tex` – Konzeptionsphase (max. 5 Seiten). +- `phase2/phase2.tex` – Reflexions- und Entwurfsdokument (max. 5 Seiten). +- `phase3/abstract.tex` – Abstract (1–2 Seiten). +- `phase3/installationsanleitung.tex` – Installationsanleitung (max. 1 Seite). + +Kompilieren +----------- +Aus dem Ordner `docs/portfolio`: + +```bash +latexmk -pdf phase1/phase1.tex +latexmk -pdf phase2/phase2.tex +latexmk -pdf phase3/abstract.tex +latexmk -pdf phase3/installationsanleitung.tex +``` + +Alternativ: `pdflatex` zweimal pro Datei. Passe die Makros in `preamble.tex` (Name, Matrikelnummer, Kurs) an, damit die Titelseiten stimmen. + +Benennung für Abgabe (laut Aufgabenstellung) +--------------------------------------------- +- Phase 1 PDF: `Nachname-Vorname_Matrikelnummer_Kurs_Phase1.pdf` +- Phase 2 PDF: `Nachname-Vorname_Matrikelnummer_Kurs_Phase2.pdf` +- Phase 3 Abstract: `Nachname-Vorname_Matrikelnummer_Kurs_Phase3_Abstract.pdf` +- Phase 3 Installationsanleitung: `Nachname-Vorname_Matrikelnummer_Kurs_Phase3_Installationsanleitung.pdf` +- Gesamt-Zip: `Nachname-Vorname_Matrikelnummer_Python.zip` mit Unterordnern `Phase1`, `Phase2`, `Phase3` wie in der Aufgabenstellung beschrieben. diff --git a/docs/portfolio/phase1/phase1.pdf b/docs/portfolio/phase1/phase1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d6a1a433f19e806fe8cc0c094f1c96ef8aec8ba2 GIT binary patch literal 70571 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 z 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Π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 R08mgE90>q{F!mOJe*xNUnWX># literal 0 HcmV?d00001 diff --git a/docs/portfolio/phase1/phase1.tex b/docs/portfolio/phase1/phase1.tex new file mode 100644 index 0000000..31565f1 --- /dev/null +++ b/docs/portfolio/phase1/phase1.tex @@ -0,0 +1,55 @@ +\documentclass[12pt]{article} +\input{../preamble.tex} + +\begin{document} +\documentinfo{Konzeptionsphase: Dashboard f\"ur das Studium}{Portfolioteil 1 (max. 5 Seiten)} + +\section{Ziele des Dashboards} +\begin{itemize}[leftmargin=*] + \item Abschlussziel: \textit{z.\,B. Bachelorabschluss in 3 Jahren, Meilensteine pro Semester}. + \item Notenziel: \textit{z.\,B. Gesamtnotenschnitt $\leq$ 2{,}0; Mindestnoten pro Modul}. + \item Weitere Kennzahlen (optional): \textit{ECTS-Fortschritt, offene Pr\"ufungsleistungen, Lernzeit/Woche}. +\end{itemize} + +\section{Geplante Inhalte und Visualisierung} +\begin{itemize}[leftmargin=*] + \item \textbf{Startseite/Overview:} Fortschrittsbalken f\"ur ECTS, aktueller Notenschnitt, verbleibende Semester bis Zieltermin. + \item \textbf{Modul-Detail:} Tabelle mit Modulstatus, Note, Pr\"ufungsform, Wiederholtermine. + \item \textbf{Zeitplanung:} Kalender/Timeline mit Abgabefristen und empfohlenen Lernslots. + \item \textbf{Warnhinweise:} Hervorhebung von Risiken (\"uberdue ECTS, Notenrisiken, Terminkonflikte). +\end{itemize} + +\section{Dashboard-Skizze} +\begin{figure}[H] + \centering + \fbox{\parbox{0.9\textwidth}{Platz f\"ur die Skizze (z.\,B. Export aus Figma/Excalidraw oder eingescanntes Handdrawing).}} + \caption{Skizze des geplanten Dashboards (Soll die Ziele aus Abschnitt~1 abdecken).} +\end{figure} + +\section{UML-Klassendiagramm (Entity-Ebene)} +\begin{itemize}[leftmargin=*] + \item Pflichtklassen laut Aufgabenstellung: \texttt{Studiengang}, \texttt{Semester}, \texttt{Modul}, \texttt{Pr\"ufungsleistung}. + \item Erg\"anzungen (falls ben\"otigt): \textit{z.\,B. Benutzerprofil, Lernplan, Terminplanung}. + \item Beziehungen: \textit{Aggregation/Komposition zwischen Studiengang--Semester--Modul--Pr\"ufungsleistung; Vererbung nur falls sinnvoll}. +\end{itemize} +\begin{figure}[H] + \centering + \fbox{\parbox{0.9\textwidth}{Platz f\"ur das UML-Klassendiagramm (Entity-Fokus).}} + \caption{Entity-Klassen und Beziehungen (Komposition/Aggregation klar kennzeichnen).} +\end{figure} + +\section{Annahmen und Randbedingungen} +\begin{itemize}[leftmargin=*] + \item Datenquelle: \textit{myCampus-Export manuell importiert? Lokale SQLite?} + \item Aktualisierungszyklus: \textit{z.\,B. w\"ochentlich/monatlich}. + \item Nichtziele: \textit{z.\,B. keine automatische myCampus-Schnittstelle, kein Mobile-Frontend}. +\end{itemize} + +\section{Offene Fragen / Feedbackbedarf} +\begin{itemize}[leftmargin=*] + \item Welche Kennzahlen priorisieren (max. 2--3 zentrale Ziele)? + \item Welche Visualisierung unterst\"utzt die Zielerreichung am besten? + \item Braucht es zus\"atzliche Entity-Klassen f\"ur persistente Daten? +\end{itemize} + +\end{document} diff --git a/docs/portfolio/phase2/phase2.tex b/docs/portfolio/phase2/phase2.tex new file mode 100644 index 0000000..48e9706 --- /dev/null +++ b/docs/portfolio/phase2/phase2.tex @@ -0,0 +1,63 @@ +\documentclass[12pt]{article} +\input{../preamble.tex} + +\begin{document} +\documentinfo{Reflexions- und Entwurfsdokument}{Portfolioteil 2 (max. 5 Seiten)} + +\section{Untersuchung objektorientierter Konzepte in Python} +\subsection{Klassen- und Objektmodell} +\begin{itemize}[leftmargin=*] + \item Wie werden Entity-Klassen aus Phase 1 in Python umgesetzt? (\textit{Attribute, Typannotationen, Properties}). + \item Umgang mit Immutabilit\"at/Mutabilit\"at und Validierung. +\end{itemize} + +\subsection{Vererbung, Komposition, Aggregation} +\begin{itemize}[leftmargin=*] + \item Welche Beziehungen aus dem Klassendiagramm bleiben Vererbung, welche Komposition/Aggregation? + \item Python-spezifische Aspekte: Mehrfachvererbung vermeiden, \texttt{@dataclass} f\"ur Value-Objekte? +\end{itemize} + +\subsection{Polymorphie und Schnittstellen} +\begin{itemize}[leftmargin=*] + \item Nutzung von ABCs/Protokollen f\"ur Services (z.\,B. Repository/Exporter). + \item Beispielcode-Auszug (kurz) zur Demonstration. +\end{itemize} + +\subsection{Persistenz und Datenhaltung} +\begin{itemize}[leftmargin=*] + \item Speicherung (SQLite/JSON), Mappings zwischen Modellen und Speicherformat. + \item Fehler- und Konsistenzstrategien. +\end{itemize} + +\section{Gesamtarchitektur des Prototypen} +\subsection{Schichtenmodell / MVVM-Anpassung} +\begin{itemize}[leftmargin=*] + \item Views, ViewModels, Services/Repositories, Domain-Modelle. + \item Abh\"angigkeiten und Datenfl\"usse (Input \textrightarrow\ ViewModel \textrightarrow\ Repository \textrightarrow\ Persistenz). +\end{itemize} + +\subsection{UML-Klassendiagramm (vollst\"andig)} +\begin{figure}[H] + \centering + \fbox{\parbox{0.9\textwidth}{Platz f\"ur das vollst\"andige UML-Klassendiagramm des Prototypen.}} + \caption{Alle Python-Klassen inkl. Services/ViewModels/Helper.} +\end{figure} +\begin{itemize}[leftmargin=*] + \item Begr\"unde Erweiterungen gegen\"uber Phase 1 (z.\,B. Controller, Repositories, DTOs). + \item Notiere technische Annahmen (GUI-Framework, Datenformat). +\end{itemize} + +\section{Entscheidungen und Reflexion} +\begin{itemize}[leftmargin=*] + \item Welche Anpassungen am Klassendiagramm waren f\"ur Python notwendig? + \item Welche OO-Konzepte sind kritisch f\"ur den Prototypen (z.\,B. Komposition f\"ur Module/Pr\"ufungen)? + \item Offene Risiken (Termine, technische Schulden) und Gegenma\"nahmen. +\end{itemize} + +\section{N\"achste Schritte f\"ur Phase 3} +\begin{itemize}[leftmargin=*] + \item Implementierungsplan (Reihenfolge der Features, Tests, Dokumentation). + \item Pr\"ufung der Abgabestruktur (Zip mit Phase1/Phase2/Phase3, GitHub-Link, Installationsanleitung, Abstract). +\end{itemize} + +\end{document} diff --git a/docs/portfolio/phase3/abstract.tex b/docs/portfolio/phase3/abstract.tex new file mode 100644 index 0000000..3510e29 --- /dev/null +++ b/docs/portfolio/phase3/abstract.tex @@ -0,0 +1,34 @@ +\documentclass[12pt]{article} +\input{../preamble.tex} + +\begin{document} +\documentinfo{Abstract}{Portfolioteil 3 (1--2 Seiten)} + +\section{Zielsetzung} +Kurze Zusammenfassung der Projektziele (\textit{Dashboards f\"ur Studienfortschritt, Kennzahlen, Nutzer:innenmehrwert}). + +\section{Vorgehensweise} +Stichpunkte zu Phasen und Methodik: +\begin{itemize}[leftmargin=*] + \item Konzeptionsphase: Ziele, Dashboard-Skizze, Entity-Klassen. + \item Reflexion/Entwurf: OO-Konzepte in Python, finale Architektur. + \item Finalisierung: Implementierung, Tests, Bereitstellung (GitHub), Dokumentation. +\end{itemize} + +\section{Ergebnisse} +\begin{itemize}[leftmargin=*] + \item Funktionsumfang des Prototyps (\textit{Ansichten, Kennzahlen, Speicherpfad}). + \item Qualit\"atssicherung (\textit{Tests, manuelle Checks, QA-Skripte}). + \item Erreichte Ziele (ECTS/Noten-Tracking, Visualisierungen). +\end{itemize} + +\section{Erkenntnisse und Lessons Learned} +\begin{itemize}[leftmargin=*] + \item Technische Erkenntnisse (\textit{OO-Konzepte in Python, Bibliotheken, Architekturentscheidungen}). + \item Prozessbezogene Erkenntnisse (\textit{Zeitplanung, Feedbackschleifen}). +\end{itemize} + +\section{Ausblick} +Geplante Weiterentwicklung (\textit{Automatisierte Importe, erweiterte Analytics, Deployment}). + +\end{document} diff --git a/docs/portfolio/phase3/installationsanleitung.tex b/docs/portfolio/phase3/installationsanleitung.tex new file mode 100644 index 0000000..6037eeb --- /dev/null +++ b/docs/portfolio/phase3/installationsanleitung.tex @@ -0,0 +1,32 @@ +\documentclass[12pt]{article} +\input{../preamble.tex} + +\begin{document} +\documentinfo{Installationsanleitung}{Portfolioteil 3 (max. 1 Seite)} + +\section{Voraussetzungen} +\begin{itemize}[leftmargin=*] + \item Betriebssystem: Windows 10/11 (getestet) oder Linux. + \item Python-Version: 3.10+ (64-bit). + \item Git f\"ur den Download des Repository. +\end{itemize} + +\section{Schritte} +\begin{enumerate}[leftmargin=*] + \item Repository klonen: \texttt{git clone study-dashboard}. + \item In das Verzeichnis wechseln: \texttt{cd study-dashboard}. + \item Abh\"angigkeiten installieren: \texttt{bash scripts/bootstrap.sh}. + \item Anwendung starten: \texttt{bash scripts/run-app.sh}. + \item Tests/QA (optional): \texttt{bash scripts/run-qa.sh}. +\end{enumerate} + +\section{Bekannte Einschr\"ankungen} +\begin{itemize}[leftmargin=*] + \item \textit{Beispiel:} Keine automatische myCampus-Integration; Datenimport aktuell manuell. + \item \textit{Beispiel:} Gepr\"ufte Plattform: Windows 11 / Linux; macOS nicht getestet. +\end{itemize} + +\section{Support} +Kontakt: \texttt{} f\"ur R\"uckfragen. GitHub-Issues k\"onnen f\"ur Fehlermeldungen genutzt werden. + +\end{document} diff --git a/docs/portfolio/preamble.tex b/docs/portfolio/preamble.tex new file mode 100644 index 0000000..3ea8bf0 --- /dev/null +++ b/docs/portfolio/preamble.tex @@ -0,0 +1,34 @@ +\usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[a4paper, margin=2cm]{geometry} +\usepackage{setspace} +\onehalfspacing +\usepackage{graphicx} +\usepackage{float} +\usepackage{booktabs} +\usepackage{enumitem} +\setlist{nosep} +\usepackage{csquotes} +\usepackage[colorlinks=true, linkcolor=black, urlcolor=blue]{hyperref} +\usepackage{helvet} % Arial-ähnlich +\renewcommand{\familydefault}{\sfdefault} +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt} + +% Metadaten anpassen +\newcommand{\studentname}{Vorname Nachname} +\newcommand{\matrikelnummer}{12345678} +\newcommand{\kurs}{DLBDSOOFPP01\_D} +\newcommand{\docdate}{\today} + +\newcommand{\documentinfo}[2]{% + \begin{center} + {\LARGE #1}\\[0.5em] + {\large #2}\\[0.5em] + {\large \studentname\ (\matrikelnummer)}\\[0.25em] + {\large Kurs: \kurs}\\[0.25em] + {\large Datum: \docdate} + \end{center} + \vspace{1em} +}