diff --git a/project-charter.md b/project-charter.md new file mode 100644 index 0000000..9ac621f --- /dev/null +++ b/project-charter.md @@ -0,0 +1,270 @@ +--- +title: Project Charter +subtitle: Software Engineering 1 +geometry: + - margin=2cm + - top=3cm + - bottom=2cm +linestretch: 1.2 +papersize: a4 +--- + +# Project Charter +## Software Engineering 1 + +| Feld | Wert | +|------|------| +| **Projektname** | | +| **Version** | 1.0 | +| **Status** | Entwurf | +| **Datum** | *[Datum]* | +| **Hochschule / Kurs** | *[Hochschule]*
*Software Engineering 1* | + +--- + +## 1. Projektübersicht + +### 1.1 Projektzweck + +*Kurze Beschreibung des Projekts (2-4 Sätze): Was wird entwickelt? Welches Problem löst die Software? Für wen?* + +> **Beispiel:** Im Rahmen des Moduls Software Engineering 1 wird eine Webanwendung zur Verwaltung von Studierenden-Lerngruppen entwickelt. Die Anwendung soll es Studierenden ermöglichen, Gruppen zu erstellen, beizutreten und Lernmaterialien zu teilen. + +### 1.2 Projekthintergrund + +*Warum wird dieses Projekt durchgeführt? Welcher Bedarf oder welche Anforderung liegt zugrunde?* + +--- + +## 2. Ziele und Nicht-Ziele + +### 2.1 Projektziele + +| Nr. | Ziel | Erfolgskriterien | +|---|---|---| +| Z-01 | *[Ziel 1]* | *[Kriterium]* | +| Z-02 | *[Ziel 2]* | *[Kriterium]* | +| Z-03 | *[Ziel 3]* | *[Kriterium]* | + +### 2.2 Nicht-Ziele (Out of Scope) + +Die folgenden Punkte sind **explizit nicht** Teil dieses Projekts: + +- *[Was wird bewusst ausgeschlossen?]* +- *[z. B. Mobile App, Admin-Backend, Mehrsprachigkeit]* + +--- + +## 3. Stakeholder + +| Rolle | Name | Verantwortlichkeit | +|---|---|---| +| Auftraggeber / Betreuer | *[Dozent/in]* | Anforderungen, Abnahme, Bewertung | +| Projektleiter:in | *[Name]* | Koordination, Planung, Kommunikation | +| Entwickler:in | *[Dino]* | Implementierung, Testing | +| Entwickler:in | *[Luca]* | Implementierung, Dokumentation | +| Entwickler:in | *[Lucas]* | Implementierung, Architektur | +| *(weitere)* | *[Alle]* | *[Rolle]* | + +--- + +## 4. Projektteam und Rollen + +### 4.1 Teamstruktur + +| Bezeichnung | Details | +|---|---| +| **Projektleitung** | *[Name]* (Matrikel: *[Nr.]*)
Schwerpunkt: *[z. B. Backend]* | +| **Entwicklung 1** | *[Name]* (Matrikel: *[Nr.]*)
Schwerpunkt: *[z. B. Frontend]* | +| **Entwicklung 2** | *[Name]* (Matrikel: *[Nr.]*)
Schwerpunkt: *[z. B. Datenbank]* | +| **QA / Testing** | *[Name]* (Matrikel: *[Nr.]*)
Schwerpunkt: *[z. B. Testing, CI/CD]* | + +### 4.2 Kommunikation + +| Kanal | Zweck | Frequenz | +|---|---|---| +| *[z. B. Discord]* | Team-Kommunikation | täglich | +| *[z. B. GitHub Issues]* | Aufgabenverwaltung | kontinuierlich | +| *[z. B. Weekly Meeting]* | Fortschrittsbesprechung | wöchentlich | +| *[z. B. E-Mail]* | Kommunikation mit Betreuer | bei Bedarf | + +--- + +## 5. Anforderungen (Überblick) + +### 5.1 Funktionale Anforderungen + +| ID | Anforderung | Priorität | +|---|---|---| +| FA-01 | *[Funktionale Anforderung 1]* | Hoch | +| FA-02 | *[Funktionale Anforderung 2]* | Hoch | +| FA-03 | *[Funktionale Anforderung 3]* | Mittel | +| FA-04 | *[Funktionale Anforderung 4]* | Niedrig | + +### 5.2 Nicht-funktionale Anforderungen + +| ID | Anforderung | Kategorie | +|---|---|---| +| NFA-01 | *[z. B. Antwortzeit < 2 Sekunden]* | Performance | +| NFA-02 | *[z. B. Responsives Design]* | Usability | +| NFA-03 | *[z. B. HTTPS, Passwort-Hashing]* | Sicherheit | +| NFA-04 | *[z. B. Deployment via Docker]* | Betrieb | + +--- + +## 6. Technologie-Stack + +| Bereich | Technologie / Tool | +|---|---| +| **Frontend** | *[z. B. React, Vue, HTML/CSS]*
*Begründung: [Begründung]* | +| **Backend** | *[z. B. Spring Boot, Node.js, Django]*
*Begründung: [Begründung]* | +| **Datenbank** | *[z. B. PostgreSQL, MySQL, MongoDB]*
*Begründung: [Begründung]* | +| **Versionskontrolle** | Git / GitHub
*(Standard, Kollaboration)* | +| **Projektmanagement** | *[z. B. GitHub Projects, Trello]*
*Begründung: [Begründung]* | +| **CI/CD** | *[z. B. GitHub Actions]*
*Begründung: [Begründung]* | +| **Kommunikation** | *[z. B. Discord, Teams]*
*Begründung: [Begründung]* | + +--- + +## 7. Zeitplan und Meilensteine + +### 7.1 Projektphasen + +``` +Phase 1 - Planung & Analyse + +-- Anforderungserhebung + +-- Technologiewahl + +-- Project Charter + +Phase 2 - Design & Architektur + +-- Systemarchitektur + +-- UI/UX Mockups + +-- Datenbankdesign + +Phase 3 - Implementierung + +-- Sprint 1: [Funktionen] + +-- Sprint 2: [Funktionen] + +-- Sprint 3: [Funktionen] + +Phase 4 - Testing & QA + +-- Unit Tests + +-- Integrationstests + +-- User Acceptance Tests + +Phase 5 - Abgabe & Präsentation + +-- Dokumentation finalisieren + +-- Abschlusspräsentation +``` + +### 7.2 Meilensteinplan + +| Meilenstein | Beschreibung | Datum | Status | +|---|---|---|---| +| M-01 | Project Charter abgeschlossen | *[Datum]* | Abgeschlossen | +| M-02 | Anforderungsanalyse & Architektur | *[Datum]* | In Bearbeitung | +| M-03 | Prototyp / MVP fertig | *[Datum]* | Offen | +| M-04 | Feature-Complete | *[Datum]* | Offen | +| M-05 | Testing abgeschlossen | *[Datum]* | Offen | +| M-06 | Abgabe & Präsentation | *[Datum]* | Offen | + +--- + +## 8. Risikomanagement + +| ID | Risiko | W/A | Gegenmaßnahme | +|---|---|---|---| +| R-01 | Ausfall eines Teammitglieds | M/H | Wissensteilung, Pair Programming | +| R-02 | Technische Komplexität unterschätzt | M/H | Frühzeitige Spikes, Scope-Reduktion | +| R-03 | Anforderungsänderungen | N/M | Klare Change-Request-Prozesse | +| R-04 | Integrationsprobleme | M/M | Frühzeitige Integrationstests | +| R-05 | *[Projektspezifisches Risiko]* | *[W/A]* | *[Maßnahme]* | + +**Legende:** W/A = Wahrscheinlichkeit/Auswirkung; H = Hoch, M = Mittel, N = Niedrig + +--- + +## 9. Ressourcen und Constraints + +### 9.1 Ressourcen + +- **Teamgröße:** *[Anzahl]* Personen +- **Verfügbare Zeit pro Person:** ca. *[x]* Stunden/Woche +- **Gesamtprojektlaufzeit:** *[Startdatum]* - *[Enddatum]* +- **Budget:** kein monetäres Budget (studentisches Projekt) +- **Infrastruktur:** *[z. B. GitHub Free, lokale Entwicklung, Uni-Server]* + +### 9.2 Rahmenbedingungen (Constraints) + +- Die Abgabe erfolgt bis **[Datum]** +- Der Technologie-Stack muss mit der Lehrveranstaltung kompatibel sein +- Alle Teammitglieder müssen gleichmäßig zum Projekt beitragen (erkennbar in Git-History) +- *[Weitere Vorgaben des Dozenten]* + +--- + +## 10. Definition of Done (DoD) + +Ein Feature gilt als **fertiggestellt**, wenn: + +- Der Code ist implementiert und funktioniert lokal +- Unit Tests sind geschrieben und bestehen +- Der Code wurde von mindestens einem anderen Teammitglied reviewed (Pull Request) +- Die Änderungen sind in den `main`-Branch gemergt +- Die relevante Dokumentation wurde aktualisiert +- Das Feature wurde manuell getestet + +--- + +## 11. Abnahmekriterien + +Das Projekt gilt als erfolgreich abgeschlossen, wenn: + +1. Alle **Muss**-Anforderungen (Priorität: Hoch) vollständig implementiert sind +2. Alle Unit- und Integrationstests bestehen +3. Die Anwendung lauffähig demonstriert werden kann +4. Die technische Dokumentation vollständig vorliegt +5. Das Projekt erfolgreich präsentiert wurde + +--- + +## 12. Unterschriften und Genehmigung + +Mit ihrer Unterschrift bestätigen alle Beteiligten, dass sie den Inhalt dieses Project Charters gelesen haben und damit einverstanden sind. + +**Betreuer/in:** ________________________________________ Datum: ____________ + +**Projektleiter:in:** ________________________________________ Datum: ____________ + +**Teammitglied:** ________________________________________ Datum: ____________ + +**Teammitglied:** ________________________________________ Datum: ____________ + +**Teammitglied:** ________________________________________ Datum: ____________ + +--- + +## Anhang + +### A. Glossar + +| Begriff | Definition | +|---|---| +| MVP | Minimum Viable Product - minimale, lauffähige Version des Produkts | +| Spike | Zeitlich begrenzter Forschungs- / Lernaufwand zur Risikoreduktion | +| DoD | Definition of Done - Kriterien, wann ein Feature als abgeschlossen gilt | +| *[Begriff]* | *[Definition]* | + +### B. Referenzen + +- Vorlesungsunterlagen Software Engineering 1, *[Hochschule]*, *[Jahr]* +- *[weitere Quellen, Literatur, Standards]* + +### C. Änderungshistorie + +| Version | Datum | Autor | Änderung | +|---|---|---|---| +| 1.0 | *[Datum]* | *[Name]* | Initiale Erstellung | + +--- + +*Dieses Dokument wurde im Rahmen des Moduls Software Engineering 1 erstellt.* \ No newline at end of file diff --git a/project-charter.pdf b/project-charter.pdf new file mode 100644 index 0000000..a182c78 Binary files /dev/null and b/project-charter.pdf differ