261 lines
7.7 KiB
Markdown
261 lines
7.7 KiB
Markdown
<!-- titel -->
|
|
Features
|
|
----------------------------------------
|
|
<!-- art -->
|
|
kern
|
|
----------------------------------------
|
|
<!-- ziel -->
|
|
Verwaltet Features und Projekte einer Software, einschließlich Bearbeitung, Suche und Überprüfung
|
|
----------------------------------------
|
|
<!-- regeln -->
|
|
- Seitenleiste zeigt alle Projekte
|
|
- Features stehen in Spalten unter dem aktiven Projekt
|
|
- MMB oder Augen-Icon wechselt Kompakt- und Vollmodus
|
|
- Fehlerhafte Karte öffnet sich im Vollmodus
|
|
- Suchergebnis blendet nicht passende Karten aus
|
|
- Vorgeschlagene Karte als Umriss dargestellt
|
|
- Feature verschieben nur bei mehreren Projekten
|
|
- Kontextmenü der Karte nur im Vollmodus
|
|
- Problemanzahl als Badge auf der Karte
|
|
- Sammelaktion ab drei vorgeschlagenen Karten
|
|
- Stand wechselt zwischen offen und gebaut
|
|
- Funktionen sind über Kontextmenü nach oben und unten verschiebbar
|
|
- Einzelne Felder lassen sich zu einer Funktion hinzufügen
|
|
- Verschieben unbekannter Features wirft 404
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Badge umschalten
|
|
<!-- ziel -->
|
|
Markiert ein Feature als kern oder optional
|
|
<!-- regeln -->
|
|
- Toggelt zwischen kern und optional
|
|
- Nur im Vollmodus verfügbar
|
|
<!-- testen -->
|
|
- Vollmodus öffnen
|
|
- LMB auf Badge
|
|
- Badge zeigt optional statt kern
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Feature anlegen
|
|
<!-- ziel -->
|
|
Legt ein neues Feature im aktuellen Projekt an
|
|
<!-- regeln -->
|
|
- Titel ist Pflichtfeld
|
|
- Erstellt leere Feature-Datei mit Titel
|
|
- Neue Karte öffnet im Vollmodus
|
|
- Alphabetisch einsortiert
|
|
<!-- testen -->
|
|
- RMB auf den Bereich
|
|
- Klick auf "+ Feature erstellen"
|
|
- Titel eingeben und bestätigen
|
|
- Karte im Vollmodus sichtbar
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Feature bearbeiten
|
|
<!-- ziel -->
|
|
Ändert Titel, Ziel, Regeln, Funktion oder Testschritte direkt in der Karte
|
|
<!-- regeln -->
|
|
- Titel-Klick öffnet ein Eingabefeld
|
|
- Nur im Vollmodus verfügbar
|
|
- Escape verwirft die Änderung
|
|
- Enter oder Klick außerhalb speichert
|
|
- Leerer Titel wird verworfen
|
|
<!-- testen -->
|
|
- Karte im Vollmodus öffnen
|
|
- Klick auf Titel
|
|
- Titel-Feld ist fokussiert und markiert
|
|
- Text ändern und Enter drücken
|
|
- Titel aktualisiert
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Feature löschen
|
|
<!-- ziel -->
|
|
Entfernt ein Feature dauerhaft aus dem Projekt
|
|
<!-- regeln -->
|
|
- Wird über das Kontextmenü der Karte aufgerufen
|
|
- Erfragt eine Bestätigung vor dem Entfernen
|
|
- Löst das Entfernen über ein Event aus
|
|
<!-- testen -->
|
|
- RMB auf die Feature-Karte
|
|
- Klick auf "Feature entfernen"
|
|
- Bestätigung im Dialog
|
|
- Feature entfernt
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Feature sichern
|
|
<!-- ziel -->
|
|
Speichert Änderungen an einer Feature-Karte dauerhaft
|
|
<!-- regeln -->
|
|
- Akzeptiert rohen Kartentext als Text
|
|
- Gibt 404 bei unbekanntem Projekt
|
|
- Gibt 400 bei ungültigem Kartentext
|
|
<!-- testen -->
|
|
- PUT api.projekte.name.features.id mit body {"roh": "Neuer Text"}
|
|
- Antwort 200 mit aktualisierter Karte
|
|
- Karte enthält neuen Text
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Feature verschieben
|
|
<!-- ziel -->
|
|
Verschiebt ein Feature in ein anderes Projekt
|
|
<!-- regeln -->
|
|
- Nur möglich wenn mehrere Projekte existieren
|
|
- Zielprojekt muss existieren
|
|
- Feature bleibt unter neuer Projektzugehörigkeit erhalten
|
|
<!-- testen -->
|
|
- RMB auf Karte
|
|
- Klick auf "→ Feature verschieben"
|
|
- Zielprojekt auswählen
|
|
- Feature im Zielprojekt
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekt auswählen
|
|
<!-- ziel -->
|
|
Zeigt die Features eines anderen Projekts an
|
|
<!-- regeln -->
|
|
- Aktives Projekt ist hervorgehoben
|
|
- Klick auf aktives Projekt bleibt aktiv
|
|
<!-- testen -->
|
|
- Klick auf Projekt in der Liste
|
|
- Projekt ist hervorgehoben
|
|
- Vorher aktives Projekt ist nicht mehr hervorgehoben
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekt entfernen
|
|
<!-- ziel -->
|
|
Löscht ein nicht mehr benötigtes Projekt mitsamt aller seiner Features
|
|
<!-- regeln -->
|
|
- Fragt zur Bestätigung nach dem Projektnamen
|
|
- Löscht das Projekt und alle zugehörigen Features
|
|
- x-Icon bricht ab
|
|
- Entfernen-Button bestätigt die Löschung
|
|
<!-- testen -->
|
|
- RMB auf Projekt in der Seitenleiste
|
|
- Klick auf ✕ Projekt entfernen
|
|
- Klick auf Entfernen
|
|
- Projekt nicht mehr in der Liste
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekt erstellen
|
|
<!-- ziel -->
|
|
Ermöglicht das Anlegen eines neuen Projekts über die Seitenleiste
|
|
<!-- regeln -->
|
|
- Projektname ist erforderlich
|
|
- Leerzeichen am Rand werden entfernt
|
|
- Projektname darf nicht existieren
|
|
- Erstelltes Projekt wird automatisch ausgewählt
|
|
<!-- testen -->
|
|
- Seitenleiste mit RMB öffnen
|
|
- Klick auf "+ Projekt"
|
|
- Projektname eingeben
|
|
- Klick auf "Erstellen"
|
|
- Modal geschlossen, Projekt ausgewählt
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekt löschen
|
|
<!-- regeln -->
|
|
- 404 bei unbekanntem Projekt
|
|
- 400 bei ungültigem Wert
|
|
- Erfolg gibt {"ok": true} zurück
|
|
<!-- testen -->
|
|
- api-projekte name per GET aufrufen
|
|
- Antwort pruefen: 404
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekt umbenennen
|
|
<!-- ziel -->
|
|
Ermöglicht das Umbenennen bestehender Projekte direkt in der Seitenleiste
|
|
<!-- regeln -->
|
|
- Umbenennung über Kontextmenü
|
|
- Umbenennung über Enter-Taste
|
|
- Escape bricht die Umbenennung ab
|
|
- Leere Eingabe verwirft die Änderung
|
|
- Gleicher Name wie zuvor verwirft die Änderung
|
|
- Projekt mit gleichem Namen erzeugt Fehler
|
|
<!-- testen -->
|
|
- RMB auf Projekt in der Seitenleiste
|
|
- Klick auf "Projekt anpassen"
|
|
- Neuen Namen eingeben
|
|
- Enter-Taste drücken
|
|
- Projektname in der Liste aktualisiert
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projekte anzeigen
|
|
<!-- testen -->
|
|
- Projekte-Endpunkt aufrufen
|
|
- Rückgabe prüfen
|
|
- Liste aller Projekte zurück
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projektfeatures anzeigen
|
|
<!-- ziel -->
|
|
Zeigt alle Features eines Projekts im Rohformat
|
|
<!-- regeln -->
|
|
- Rohformat enthält Karte und Funktionen
|
|
- Fehlendes Projekt wirft 404
|
|
<!-- testen -->
|
|
- GET api projekte MeinProjekt features
|
|
- Antwort enthält Liste der Features
|
|
- 404 bei unbekanntem Projekt
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Projektmenü öffnen
|
|
<!-- ziel -->
|
|
Bietet Zugriff auf Anpassung, Quelle und Löschung einzelner Projekte
|
|
<!-- regeln -->
|
|
- RMB auf Projektname
|
|
- Drei Optionen verfügbar
|
|
<!-- testen -->
|
|
- RMB auf Projekt in Seitenleiste
|
|
- Menü erscheint mit drei Einträgen
|
|
- ✎ Projekt anpassen startet Umbenennung
|
|
- ◇ Quelle festlegen öffnet Modal zur Pfadwahl
|
|
- ✕ Projekt entfernen öffnet Bestätigungsdialog
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Quelldaten laden
|
|
<!-- ziel -->
|
|
Legt fest, woher ein Projekt seine Daten bezieht
|
|
<!-- regeln -->
|
|
- GET gibt den aktuellen Pfad zurück
|
|
- PUT setzt einen neuen Pfad
|
|
- Leerer Pfad löscht die Zuordnung
|
|
<!-- testen -->
|
|
- PUT quelle mit projektname und pfad data input
|
|
- GET quelle mit projektname
|
|
- Rueckgabe enthaelt projektname und pfad data input
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Vision entfernen
|
|
<!-- ziel -->
|
|
Ermöglicht das Löschen einer fehlerhaften oder überflüssigen Vision
|
|
<!-- regeln -->
|
|
- x-Icon
|
|
- RMB auf Karte öffnet Menü
|
|
- Klick außerhalb schließt Menü
|
|
<!-- testen -->
|
|
- RMB auf Vision-Karte
|
|
- Klick auf "Vision entfernen"
|
|
- Vision-Karte entfernt
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Vision erstellen
|
|
<!-- ziel -->
|
|
Erstellt eine einzelne Vision-Karte für das Projekt
|
|
<!-- regeln -->
|
|
- Nur eine Vision je Projekt
|
|
- Vision steht über den Features
|
|
- Karte vom Typ vision
|
|
<!-- testen -->
|
|
- RMB auf den Bereich
|
|
- Klick auf + Vision erstellen
|
|
- Vision-Karte sichtbar
|
|
----------------------------------------
|
|
<!-- funktion -->
|
|
Doppeltes Projekt verhindern
|
|
<!-- testen -->
|
|
- Projekt mit Namen erstellen
|
|
- Projekt mit gleichem Namen erstellen
|
|
- Meldung erscheint
|
|
- Projekt nicht erstellt
|