Files
plantplan/doc/Cockburn.md
2026-04-10 21:14:25 +02:00

216 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 14
<style scoped>section { font-size: 28px; }</style>
<div class="columns">
<div>
1. Kunde führt EC — Karte in 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
</div>
<div class="grau">
1.1 Kunde wählt andere Sprache (X)
2.1 Karte, Konto nicht bekannt oder Karte nicht lesbar
2.2 Karte oder Konto gesperrt
2.3 Hauptsystem nicht erreichbar
3.1 Kunde wählt andere Transaktion (X)
3.2 Kunde bricht ab (X)
4.1 PIN falsch
4.2 PIN 3x falsch
</div>
</div>
---
# Beispiel **Ausnahmen** für UC: Barabheben — Schritte 59
<style scoped>section { font-size: 28px; }</style>
<div class="columns">
<div>
<ol start="5">
<li>Kunde wählt Betrag</li>
<li>GA sendet Betrag und Kontodaten zur Abhebung an Hauptsystem, erhält Freigabe und neuen Kontostand</li>
<li>GA stellt EC-Karte und Geldbetrag in beliebiger Stückelung zur Verfügung und zeigt aktuellen Kontostand</li>
<li>Kunde entnimmt Geldbetrag und Karte</li>
<li>GA archiviert Transaktionsinformationen</li>
</ol>
</div>
<div class="grau">
5.1 Kunde möchte spezifischen Betrag (X)
5.2 Kunde wählt spezielle Stückelung (X)
5.3 Kunde bricht ab (X)
6.1 Konto nicht gedeckt, keine Freigabe
6.2 Hauptsystem nicht erreichbar
7.1 gewünschter Betrag nicht mehr verfügbar
7.2 gewünschte Stückelung nicht vorhanden
8.1 Karte wird nicht entnommen
8.2 Geldbetrag wird nicht entnommen
9.1 Hauptsystem nicht erreichbar
</div>
</div>
---
# Verblüffende Neben-Effekte
- Fokus, Priorität
- Prozess-Verständnis
- Sämtliche Test Case Pfade fix und fertig
- Implizit optimiertes, einfacheres Datenmodell
- Implizite Stabilität und Performance für den Standardpfad
- Freiheiten für die Umsetzung bewahrt
die Trennung in primäres Erfolgsszenario und Ausnahmeszenario
---
# 7 Schritte zum finalen Use Case ...
C: Kunde / Project Owner
M: Dev Team Member
T: Dev Team
1. Titel /Teaser, Prosa Story (C)
2. Stakeholder / Interessen (Anwender Ziele) (T)
3. Standard Ablauf entwerfen (M)
4. Ausnahmen und Erweiterungen sammeln (T)
5. Ausnahme / Behandlung detaillieren, Schneiden in Userstories (M)
6. Schätzen BV / Schätzen Aufwand (T)
7. Review / Prüfe alle Interessen , DOR (C)
Draft liefert: genügend Details für Schätzungen (Aufwand, Termine, Budget)