Markdown Editor

Fully Dressed Use Case Template (Cockburn)

One actor goal: scope, level, stakeholders and interests, guarantees, main scenario, lettered extensions, variations

Exigences & AnalyseStandardAlistair Cockburn, Writing Effective Use Casesusecasespecification

Mode d'emploi: Use it to specify one user goal in depth when edge cases and failure handling matter. Write the main success scenario first, then brainstorm extensions for every step. The main pitfall is putting user interface detail and if-branches in the main scenario.

Aperçu

Use Case: UC-[nn] [Verb phrase goal, for example Withdraw cash]

Fully dressed use case specification following the format described by Alistair Cockburn in Writing Effective Use Cases. It records one actor's goal, every stakeholder's interest, the main success scenario and all extensions. Replace every [bracketed] value and every line marked Example.

FieldValue
Use case IDUC-[nn]
Version[0.1]
Status[Draft / Reviewed / Approved]
Author[@name]
Last updatedYYYY-MM-DD
Related use cases[UC-nn includes / extends UC-nn]
Source requirements[BR-nnn, STK-UR-nnn]

1. Goal in context

[Longer statement of the goal and the situation in which it arises.]

Example: A bank customer wants to withdraw cash from their current account at an ATM, quickly and without errors, and leave with the right amount, their card and a correct balance.

2. Scope and level

AttributeValue
Scope[System under design, for example ATM network system, black box]
Level[User goal / Summary / Subfunction]
Primary actor[Actor with the goal, for example Account holder]
Supporting actors[Bank core system, card network]

3. Stakeholders and interests

StakeholderInterest
Example: Account holderGets the requested cash quickly; account debited exactly once and only if cash is dispensed
Example: BankWithdrawal is authorised, limits enforced, every transaction is auditable
Example: Card networkMessage formats followed; fees recorded
Example: RegulatorCustomer data protected; disputes can be resolved from records
[Stakeholder][Interest]

4. Conditions and trigger

ItemStatement
PreconditionsExample: ATM is in service and has a connection to the bank.
Minimal guaranteeExample: Every attempt is logged; the account is never debited for cash not dispensed; the card is returned or retained with a record.
Success guaranteeExample: Customer has cash, card and receipt; account debited by the amount; ATM cash balance reduced.
TriggerExample: Customer inserts a card.

5. Main success scenario

  1. Customer inserts card.
  2. System reads the card and asks for the PIN.
  3. Customer enters the PIN.
  4. System validates the PIN with the bank and presents transaction options.
  5. Customer selects "Withdraw" and enters an amount.
  6. System checks the amount against the account balance, daily limit and cash available, and requests authorisation from the bank.
  7. Bank authorises and debits the account.
  8. System returns the card, dispenses the cash and prints a receipt.
  9. Customer takes card, cash and receipt.
  10. System logs the transaction and returns to the welcome screen.

6. Extensions

IDConditionHandling
*aCustomer cancels at any step before 71. System returns the card. 2. Use case ends; nothing debited.
*bPower failure1. System completes or reverses any in-flight bank transaction on restart. 2. Use case ends with minimal guarantee.
2aCard unreadable1. System returns card and shows "Card could not be read". 2. Use case ends.
2bCard reported stolen1. System retains card and logs event. 2. Use case ends.
4aWrong PIN, fewer than 3 attempts1. System shows remaining attempts. 2. Return to step 3.
4bWrong PIN, third attempt1. System retains card and notifies the bank. 2. Use case ends.
5aAmount not a multiple of available notes1. System suggests nearest valid amounts. 2. Return to step 5.
6aAmount exceeds balance or daily limit1. System shows the maximum allowed. 2. Return to step 5.
6bBank does not respond within 30 s1. System returns card with "Service unavailable". 2. Use case ends; nothing debited.
8aDispenser jams after debit1. System reverses the debit with the bank. 2. ATM goes out of service and alerts operations. 3. Use case ends with minimal guarantee.
9aCustomer does not take cash within 30 s1. System retracts cash and reverses the debit. 2. Use case ends.
[n][x][Condition][Handling steps and rejoin point]

7. Technology and data variations

StepVariation
1Example: Contactless card or mobile wallet instead of inserted card
3Example: Biometric verification where the bank supports it
8Example: Receipt sent to the banking app instead of printed
[n][Variation]

8. Related information

ItemValue
Frequency of occurrenceExample: About 400 per ATM per day; peaks Friday 17:00 to 19:00
Priority[Must / Should / Could]
Performance targetExample: Steps 6 to 8 complete within 10 s at p95
Channels[ATM, branch kiosk]
Superordinate use case[UC-nn, summary level]
Subordinate use cases[UC-nn Validate PIN, UC-nn Print receipt]

9. Use case diagram

The diagram shows this use case with its actors and the related use cases it includes or is extended by.

10. Open issues

IDIssueOwnerDueResolution
OI-01Example: Should the daily limit be shown before the amount is entered?[@product-owner]YYYY-MM-DD[Open]
OI-02Example: Confirm retraction rules with the cash handling vendor[@ops-lead]YYYY-MM-DD[Open]
[OI-nn][Issue][@name]YYYY-MM-DD[Resolution]

11. Review checklist

  • The name is an active verb phrase stating the primary actor's goal.
  • Every stakeholder interest is protected by a step, guarantee or extension.
  • The main success scenario has 3 to 9 steps without "if".
  • Every step can fail; failures are listed as extensions or justified as impossible.
  • No user interface detail appears in steps.
  • Preconditions are not re-checked in the scenario.

Standard and licence note

Based on the fully dressed use case format described by Alistair Cockburn in Writing Effective Use Cases (Addison-Wesley, 2001). The structure is a widely used convention; this template is original text written for this collection and reproduces no text from the book. Template licence: MIT.

Modèles associés