Converting Narrative Descriptions into Actionable Decision Tables
Narrative use case flows — even when written clearly with numbered main scenarios, alternative flows, and exception paths — can hide complexity. Multiple decision points, interdependent conditions, and subtle combinations of states often lead to overlooked edge cases, ambiguous outcomes, or contradictory rules. The scenario breakdown technique addresses this by systematically decomposing the narrative into a finite, manageable set of concrete scenarios, and then — most powerfully — representing the decision logic in compact, exhaustive decision tables.
A decision table is a tabular format that lists:
- Conditions (inputs, states, guards, business rules) as columns
- Rules (unique combinations) as rows
- Actions (system responses, outcomes, next steps) in the lower part of the table
The goal is completeness (every meaningful combination is explicitly considered), consistency (no contradictory actions for the same conditions), and conciseness (merge equivalent rules where possible).
In Visual Paradigm’s AI-Powered Use Case Modeling Studio, you can initiate this process by selecting a use case specification and choosing “Generate Decision Table” or “Break Down Scenarios”. The AI:
- Scans the main, alternative, and exception flows
- Identifies decision nodes from Activity Diagrams and conditional branches in Sequence Diagrams
- Proposes key conditions and possible values
- Generates an initial decision table covering happy path + major alternatives/exceptions
- Suggests additional conditions it infers from preconditions, postconditions, or business context
You then refine the table by:
- Adding domain-specific conditions
- Adjusting condition values/ranges
- Splitting overly broad rules
- Merging redundant rules
- Annotating outcomes with exact messages, state changes, or traceability links
The resulting decision table becomes one of the strongest artifacts for logic validation, stakeholder review, and direct test-case derivation.
Practical Examples
Example 1: GourmetReserve – Use Case: Book a Table
Narrative triggers for breakdown (excerpt from specification): “Step 4: System includes Process Payment… Deposit is required for parties ≥ 8 OR peak hours (Fri/Sat 7–9 pm), unless diner has Gold loyalty status. If valid promo code entered, discount applied before deposit calculation. If payment fails, booking aborted.”
AI-Generated Initial Decision Table (refined version):
| Rule | Authenticated? | Tables Available? | Party Size ≥ 8? | Peak Hours? | Gold Loyalty? | Valid Promo Code? | Payment Succeeds? | Outcome | Trace to Flow |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Yes | Yes | No | No | — | — | Yes | Confirmed – no deposit | Main 4–7 |
| 2 | Yes | Yes | Yes | No | Yes | No | Yes | Confirmed – deposit waived | Main 4–7 |
| 3 | Yes | Yes | Yes | Yes | No | No | Yes | Confirmed – 10% deposit collected | Main 4–7 |
| 4 | Yes | Yes | Yes | Yes | No | Yes | Yes | Confirmed – discounted deposit collected | Alt 4a |
| 5 | Yes | Yes | — | — | — | — | No | Error: “Payment failed. Try again or cancel” | Exc 4b |
| 6 | Yes | No | — | — | — | — | — | Offer waitlist → Join waitlist OR alternatives | Alt 3a |
| 7 | No | — | — | — | — | — | — | Redirect to login / register | Precondition |
Your refinement:
- Added column “Party Size ≥ 12?” → If Yes → New outcome: “Pending manager approval” (even if deposit succeeds)
- Merged rules where promo doesn’t affect deposit requirement
Example 2: SecureATM – Use Case: Withdraw Cash
Decision Table (after AI generation + refinement):
| Rule | Authenticated? | Amount ≤ Daily Limit? | Sufficient Funds? | Sufficient Cash in ATM? | High-Value (> $1,000)? | Biometric OK? | Outcome |
|---|---|---|---|---|---|---|---|
| 1 | Yes | Yes | Yes | Yes | No | — | Dispense cash, update balance |
| 2 | Yes | Yes | Yes | Yes | Yes | Yes | Dispense cash, update balance |
| 3 | Yes | Yes | Yes | Yes | Yes | No | Retain card, fraud alert, abort transaction |
| 4 | Yes | No | — | — | — | — | “Exceeds daily limit” |
| 5 | Yes | Yes | No | — | — | — | “Insufficient funds” + show balance |
| 6 | Yes | Yes | Yes | No | — | — | “Temporarily unavailable – try later” |
| 7 | No | — | — | — | — | — | Prompt PIN/card retry |
Example 3: CorpLearn – Use Case: Take Final Assessment
Condensed Decision Table (key logic):
| Rule | Modules Completed? | Time Remaining? | Compliance Ack Done? | Data Privacy Q Correct? | Score ≥ 80%? | Retakes Left? | Final Outcome |
|---|---|---|---|---|---|---|---|
| 1 | Yes | Yes | Yes | Yes | Yes | — | Passed → Certificate issued |
| 2 | Yes | Yes | Yes | Yes | No | Yes | Failed → Retake offered |
| 3 | Yes | Yes | Yes | Yes | No | No | Failed → Course incomplete |
| 4 | Yes | Yes | Yes | No | — | — | Auto-failed (privacy violation) |
| 5 | Yes | No | — | — | — | — | Auto-submit → Score calculated |
| 6 | No | — | — | — | — | — | Cannot start assessment |
Quick Guidelines for Effective Scenario Breakdown & Decision Tables
- Start with key decision points from Activity Diagram nodes or conditional steps in the flow.
- List independent conditions (avoid redundancy).
- Use limited-entry (Y/N/—) or extended-entry (ranges, specific values) formats depending on complexity.
- Aim for exhaustiveness — every combination that can realistically occur should have a defined action.
- Merge impossible or equivalent rules to keep tables readable.
- Annotate business impact or test priority in extra columns.
By completing this scenario breakdown and decision table exercise, you transform potentially ambiguous narrative text into a rigorous, auditable, and highly actionable specification of system logic. These tables serve as direct input for automated test case generation (Module 7) and provide one of the strongest forms of evidence that the designed behavior is complete and correct under all foreseeable circumstances.