Version 1.0 der Projekt Charter
parent
0e8bd99d78
commit
03c4ae3fde
|
|
@ -0,0 +1,259 @@
|
||||||
|
# Project Charter
|
||||||
|
## Software Engineering 1
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| **Projektname** | *[Projektname eintragen]* |
|
||||||
|
| **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 | Messbare 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 | *[Name]* | Implementierung, Testing |
|
||||||
|
| Entwickler:in | *[Name]* | Implementierung, Dokumentation |
|
||||||
|
| Entwickler:in | *[Name]* | Implementierung, Architektur |
|
||||||
|
| *(weitere)* | *[Name]* | *[Rolle]* |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Projektteam und Rollen
|
||||||
|
|
||||||
|
### 4.1 Teamstruktur
|
||||||
|
|
||||||
|
| Teammitglied | Matrikelnummer | Primäre Rolle | Technischer Schwerpunkt |
|
||||||
|
|---|---|---|---|
|
||||||
|
| *[Name]* | *[Nr.]* | Projektleitung | *[z. B. Backend]* |
|
||||||
|
| *[Name]* | *[Nr.]* | Entwicklung | *[z. B. Frontend]* |
|
||||||
|
| *[Name]* | *[Nr.]* | Entwicklung | *[z. B. Datenbank]* |
|
||||||
|
| *[Name]* | *[Nr.]* | QA / Testing | *[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 | Begründung |
|
||||||
|
|---------|--------------------|------------|
|
||||||
|
| Frontend | *[z. B. React, Vue, HTML/CSS]* | *[Begründung]* |
|
||||||
|
| Backend | *[z. B. Spring Boot, Node.js, Django]* | *[Begründung]* |
|
||||||
|
| Datenbank | *[z. B. PostgreSQL, MySQL, MongoDB]* | *[Begründung]* |
|
||||||
|
| Versionskontrolle | Git / GitHub | Standard, Kollaboration |
|
||||||
|
| Projektmanagement | *[z. B. GitHub Projects, Trello]* | *[Begründung]* |
|
||||||
|
| CI/CD | *[z. B. GitHub Actions]* | *[Begründung]* |
|
||||||
|
| Kommunikation | *[z. B. Discord, Teams]* | *[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 | Geplantes 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 | Wahrscheinlichkeit | Auswirkung | Gegenmaßnahme |
|
||||||
|
|----|--------|--------------------|------------|----------------|
|
||||||
|
| R-01 | Ausfall eines Teammitglieds | Mittel | Hoch | Wissensteilung, Pair Programming |
|
||||||
|
| R-02 | Technische Komplexität unterschätzt | Mittel | Hoch | Frühzeitige Spikes, Scope-Reduktion |
|
||||||
|
| R-03 | Anforderungsänderungen | Niedrig | Mittel | Klare Change-Request-Prozesse |
|
||||||
|
| R-04 | Integrationsprobleme | Mittel | Mittel | Frühzeitige Integrationstests |
|
||||||
|
| R-05 | *[Projektspezifisches Risiko]* | *[W]* | *[A]* | *[Maßnahme]* |
|
||||||
|
|
||||||
|
**Legende:** Wahrscheinlichkeit / Auswirkung: Hoch / Mittel / 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.
|
||||||
|
|
||||||
|
| Rolle | Name | Unterschrift | Datum |
|
||||||
|
|-------|------|--------------|-------|
|
||||||
|
| Betreuer/in | | | |
|
||||||
|
| Projektleiter:in | | | |
|
||||||
|
| Teammitglied | | | |
|
||||||
|
| Teammitglied | | | |
|
||||||
|
| Teammitglied | | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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.*
|
||||||
Loading…
Reference in New Issue