# 5.1 Anforderungsanalyse ## Anforderungsmanagement ### Was sind Anforderungen? ``` Anforderungen - Definition Anforderung = Bedürfnis oder Erwartung eines Stakeholders ``` ### Arten von Anforderungen ``` Anforderungstypen ├── Funktionale Anforderungen │ └── Was das System tun muss └── Nicht-funktionale Anforderungen └── Qualitätsanforderungen (Performance, Sicherheit, etc.) ``` --- ## Funktionale Anforderungen ### Beispiele | Anforderung | Beschreibung | |-------------|-------------| | F01 | Das System muss Benutzer anmelden können | | F02 | Das System muss Daten speichern können | | F03 | Das System muss Berichte erstellen können | ### Anforderungskategorien ``` Funktionale Anforderungen ├── Geschäftsregeln ├── Schnittstellen ├── Datenverarbeitung ├── Reporting └── Administrationsfunktionen ``` --- ## Nicht-funktionale Anforderungen ### Kategorien | Kategorie | Beschreibung | Beispiele | |-----------|-------------|----------| | **Performance** | Geschwindigkeit | < 2 Sek. Ladezeit | | **Skalierbarkeit** | Wachstum | 1000 Benutzer | | **Verfügbarkeit** | Laufzeit | 99,9% | | **Sicherheit** | Schutz | TLS-Verschlüsselung | | **Benutzerfreundlichkeit** | Bedienung | Intuitiv | | **Wartbarkeit** | Änderungen | Modulare Struktur | | **Kompatibilität** | Plattformen | Windows, macOS, Linux | --- ## Anforderungen erheben ### Methoden ``` Erhebungsmethoden ├── Interviews ├── Workshops ├── Beobachtung ├── Dokumentenanalyse ├── Fragebögen └── Prototyping ``` ### Interview-Leitfaden ``` Interview-Vorbereitung ├── Ziele definieren ├── Fragen vorbereiten ├── Teilnehmer auswählen ├── Zeitrahmen planen └── Dokumentation vorbereiten ``` ### Fragetechniken | Fragetyp | Beispiel | Zweck | |----------|---------|-------| | Offen | "Wie arbeiten Sie heute?" | Verständnis | | Geschlossen | "Welches System nutzen Sie?" | Fakten | | Zurückfragend | "Warum ist das wichtig?" | Tiefe | | Hypothetisch | "Was würde passieren, wenn...?" | Szenarien | --- ## Anforderungen dokumentieren ### Lastenheft (Requirements Specification) ```markdown # Lastenheft - Projekt [Name] ## 1. Zielsetzung [Beschreibung des Projekts] ## 2. Funktionale Anforderungen - F01: [Beschreibung] - F02: [Beschreibung] ## 3. Nicht-funktionale Anforderungen - NF01: [Beschreibung] - NF02: [Beschreibung] ## 4. Schnittstellen - [Externe Systeme] ## 5. Abnahmekriterien - [Testfälle] ``` ### User Stories ``` User Story - Format Als [Rolle] möchte ich [Ziel], um [Nutzen]. Beispiel: Als Kunde möchte ich mein Passwort zurücksetzen, um wieder Zugriff auf mein Konto zu haben. ``` ### User Story - Akzeptanzkriterien ```markdown User Story: Passwort zurücksetzen Akzeptanzkriterien: - [ ] E-Mail-Adresse wird validiert - [ ] Link ist 24 Stunden gültig - [ ] Neues Passwort muss Mindestlänge haben - [ ] Bestätigungs-E-Mail wird gesendet - [ ] Nach Reset ist Login möglich ``` --- ## Anforderungen priorisieren ### Priorisierungsmethoden ``` Priorisierungs-Methoden ├── MoSCoW-Methode ├── Kano-Modell ├── WSJF (Weighted Shortest Job First) └── Stack Ranking ``` ### MoSCoW-Methode | Priorität | Bedeutung | Beispiel | |-----------|-----------|----------| | **Must have** | Unbedingt erforderlich | Login | | **Should have** | Sehr wichtig | Passwort vergessen | | **Could have** | Wünschenswert | Dark Mode | | **Won't have** | Dieses Release nicht | Export PDF | --- ## Anforderungen validieren ### Prüfkriterien ``` Anforderungsprüfung - Checkliste ├── Vollständig? ├── Konsistent? ├── Realisierbar? ├── Testbar? ├── Verständlich? └── Abgestimmt? ``` ### Review-Prozess ``` Anforderungsreview ├── Peer-Review ├── Stakeholder-Abnahme ├── Änderungsmanagement └── Versionierung ``` --- ## Werkzeuge ### Anforderungsmanagement-Tools | Tool | Typ | Einsatz | |------|-----|---------| | Jira | Professionell | Große Projekte | | Azure DevOps | Professionell | Microsoft-Umgebung | | YouTrack | Professionell | Flexible Projekte | | Trello | Einfach | Kanban-Boards | | Markdown | Einfach | Dokumentation | --- ## Querverweise - [[LF5-02-Softwaremodellierung|Nächstes Thema: Softwaremodellierung]] - [[LF2-01-Kundenanforderungen|Kundengespräch]] --- *Stand: 2024*