Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| talit:projekte [2025-08-16 07:52] – [Product Requirements Document (PRD)] hof | talit:projekte [2026-08-10 07:22] (aktuell) – [TALIT Programmier-Projekt 2M] hof | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== TALIT Programmier-Projekt 2M ====== | ====== TALIT Programmier-Projekt 2M ====== | ||
| + | <nodisp 2> | ||
| + | [[https:// | ||
| + | </ | ||
| ===== Übersicht ===== | ===== Übersicht ===== | ||
| Zeile 40: | Zeile 43: | ||
| 1. Idee ausarbeiten, | 1. Idee ausarbeiten, | ||
| 1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen | 1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen | ||
| - | 1. **Product Requirements Document** (PRD, mehr Infos unten) *in Repo* erstellen und Betreuer mitteilen | + | 1. Planungsartefakte erstellen als Markdown-Dokumente im Repository: |
| - | | + | 1. **Product Requirements Document** (PRD, mehr Infos unten) |
| + | 1. **Design Document** (DD) | ||
| + | 1. **Timeline** | ||
| + | | ||
| 1. **Part 4:** | 1. **Part 4:** | ||
| 1. Mit arbeiten beginnen | 1. Mit arbeiten beginnen | ||
| Zeile 49: | Zeile 55: | ||
| 1. Bei Fragen, Problemen in Lektion kommen | 1. Bei Fragen, Problemen in Lektion kommen | ||
| - | ===== Product Requirements Document (PRD) ===== | + | ===== Projektplanung |
| - | * PRD ist kurzes Dokument | + | Die Projektplanung besteht aus drei Dokumenten, die aufeinander abgestimmt sind und aufeinander verweisen können. |
| - | | + | |
| + | ==== Product Requirements Document ==== | ||
| + | Im _requirements engineering_ werden die aus _Kundensicht_ nötigen Merkmale (_features_) des Produkts ausgearbeitet und im **Product Requirements Document** (PRD, de _Lastenheft_) dokumentiert. Das PRD beantwortet die Frage, **Was & Warum** | ||
| + | |||
| + | | ||
| + | * **Format**: Markdown, Datei `prd.md` auf github. | ||
| + | * **Inhalt** | ||
| * **Abstract: | * **Abstract: | ||
| * **Programmbeschrieb: | * **Programmbeschrieb: | ||
| * Beschreibe dein Programm in etwas mehr Detail. | * Beschreibe dein Programm in etwas mehr Detail. | ||
| * Welche Features, Modi usw. soll es haben? | * Welche Features, Modi usw. soll es haben? | ||
| - | * **Skizze: | + | * **Skizze:** Skizze |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Design Document ==== | ||
| + | Das _Design Doc_ beschreibt, **wie** dass das Produkt gebaut wird. | ||
| + | |||
| + | * **Umfang**: 1-2 Seiten | ||
| + | * **Format**: Markdown, Datei `design.md` auf github. | ||
| + | * **Inhalt** | ||
| * **Technische Details:** | * **Technische Details:** | ||
| - | * Wie soll umgesetzt werden? | + | * Wie soll das Projekt |
| * Welche Programmiersprachen, | * Welche Programmiersprachen, | ||
| * Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, | * Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, | ||
| - | * [[https:// | + | * Was sind die wichtigsten Klassen des Programms (z.B. `Player`, `Enemy`, `Item`) |
| + | * **Herausforderungen** | ||
| + | * Was sind die grössten 2-3 Herausforderungen oder Stolpersteine? | ||
| + | * Gibt es bereits Ideen, wie diese angegangen oder umschifft werden könnten? | ||
| + | * [[https:// | ||
| - | <nodisp 2> | ||
| - | ++++NODISP 2| | ||
| - | **BEM SCA: würde ergänzen:** | + | ==== Timeline ==== |
| - | + | Die _Timeline_ (Zeitplan) beschreibt, | |
| - | * Grobe Timeline | + | |
| - | * Wo könnten Hauptprobleme sein? | + | |
| - | ++++ | + | |
| - | </ | + | |
| + | * **Format**: Markdown, Datei `timeline.md` auf github. | ||
| + | * **Inhalt** | ||
| + | * Einteilung der ganzen Umsetzung in 3-4 Milestones (Meilensteine). | ||
| + | * Verzichtsplanung: | ||
| + | * Planänderungen, | ||
| + | * sind normal! | ||
| + | * Die Timeline darf und muss entsprechend angepasst werden. | ||
| + | * Das Abgabedatum bleibt hingegen fix -> Verzichtsplanung. | ||
| ===== Kriterien und Anforderungen ===== | ===== Kriterien und Anforderungen ===== | ||
| Zeile 84: | Zeile 110: | ||
| * Es muss sauber **objektorientiert** programmiert sein. | * Es muss sauber **objektorientiert** programmiert sein. | ||
| * Der **Programmierstil** muss demjenigen des **PyGame-Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Arbeitet man mit PyGame, so ist es empfohlen, mit diesem Template zu starten und es entsprechend anzupassen. | * Der **Programmierstil** muss demjenigen des **PyGame-Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Arbeitet man mit PyGame, so ist es empfohlen, mit diesem Template zu starten und es entsprechend anzupassen. | ||
| - | * **Ressourcen** wie Bilder, Musik, Videos sollen möglichst selbst erstellt werden. Falls solche aus dem Internet verwendet werden, so müssen diese royalty free sein. | + | * **Ressourcen** wie Bilder, Musik, Videos sollen möglichst selbst erstellt werden. Falls solche aus dem Internet verwendet werden, so müssen diese lizenzfrei |
| * Der Code muss folgende **Kriterien** erfüllen | * Der Code muss folgende **Kriterien** erfüllen | ||
| * sauber strukturiert | * sauber strukturiert | ||