diff --git a/doc/Cockburn.md b/doc/Cockburn.md new file mode 100644 index 0000000..c934e68 --- /dev/null +++ b/doc/Cockburn.md @@ -0,0 +1,215 @@ +--- +marp: true +html: true +paginate: true +style: | + @import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;700&display=swap'); + section { + font-family: 'Ubuntu', sans-serif; + padding-top: 55px; + font-size: 30px; /* Normaler Text */ + } + .columns { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 2em; + } + .grau, .grau p, .grau li, .grau ol { color: #888 !important; } + section h1 { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: 0; + padding: 8px 30px; + font-size: 1.0em; + background-color: #2c3e50; + color: white; + } + section::after { + content: "S." attr(data-marpit-pagination) " / " attr(data-marpit-pagination-total); + position: absolute; + bottom: 15px; + right: 30px; + font-size: 0.75em; + color: #666; + } + +--- + + + +# Zentraler Projekt-Anker: Use Cases (Epics, Sollprozesse ...) + +## Notwendige Inhalte: + +1. Story/ Kurzbeschreibung + +2. Liste aller Akteure (Stakeholder) und deren Interessen/Ziele + +3. Standard-Ablauf (primäres Erfolgsszenario) + +4. Beschreibung aller Ausnahme-Szenarios + +--- +# Titel, Story, Beispiele + +## Barabheben vom Geldautomat + +- Bankkunde hebt an einem Geldautomaten einen beliebigen Geldbetrag von einem Konto ab. + +## Designer creates CAD Document + +- Designer creates a new CAD document from a template. + +## Tester führt Testcase durch + +- Tester fuhrt die Schritte eines Test Case durch und bewertet. + +--- +# Stakeholder und Interessen, möglich Losung + +## Kunde + +- will jederzeit einen möglichst beliebigen Betrag komfortabel abheben +- will, dass Ort und Zeit seiner Abhebung aus dem Kontoauszug ersichtlich sind +- will, dass kein anderer von seinem Konto abheben kann +- mochte optional eine Sprache und Stückelung vorgeben + +## Bank + +- muss nur auszahlen, wenn der Betrag durch das Kunden-Konto gedeckt ist +- muss sicherstellen, dass der GA nicht missbräuchlich benutzt wird +- mochte mögliche Haftungsrisiken bei Missbrauch minimieren + +--- +# Beispiel Standardablauf fur UC: Barabheben vom Geldautomat + +1. Kunde fuhrt EC — Karte in Geldautomat (GA) ein +2. GA identifiziert und validiert Karte und Kontodaten, verlangt +Transaktionsauswahl und PIN +3. Kunde wählt Barabhebung und gibt PIN ein. +4. GA validiert PIN und präsentiert gängige Beträge zur Auswahl +5. Kunde wählt Betrag +6. GA sendet Betrag und Kontodaten zur Abhebung an Hauptsystem, erhält Freigabe und neuen Kontostand +7. GA stellt EC-Karte und Geldbetrag in beliebiger Stückelung zur Verfügung und zeigt aktuellen Kontostand. +8. Kunde entnimmt Geldbetrag und Karte +9. GA archiviert Transaktionsinformationen + +--- +# Für jeden Schritt im Standard-Ablauf (main flow) ... + +1. Kunde führt EC-Karte in Geldautomat (GA) ein: + + 1.1 Kunde wählt andere Sprache (X) * + +2. GA identifiziert und validiert Karte und Kontodaten, + -> verlangt Transaktionsauswahl und PIN: + + 2.1 Karte oder Konto nicht bekannt oder Karte nicht lesbar + -> Kunde informieren, Karte zurückgeben, Vorgang abbrechen, loggen + + 2.2 Karte oder Konto gesperrt + -> Kunde informieren, Karte einbehalten, Vorgang abbrechen, loggen + + 2.3 Hauptsystem nicht erreichbar + +Identifizieren von Ausnahmen, Erweiterungen (X), Optionen (X) per Brainstorming + +--- +# Beispiel **Ausnahmen** für UC: Barabheben — Schritte 1–4 + + + +