Use Case Development
Develop comprehensive use cases that describe system behavior, user interactions, and business scenarios for clear requirements specification.
When to Use This Skill
-
Defining system functionality
-
Describing user interactions
-
Specifying requirements
-
Planning test scenarios
-
Communicating with stakeholders
-
Designing system behavior
-
Creating user documentation
-
Estimating development effort
Core Concepts
- Use Case Structure
Use Case ID: UC-001 Use Case Name: Process Customer Order Actor: Customer, Sales Rep Preconditions: User is logged in, Items in cart Postconditions: Order created, Payment processed
Main Success Scenario:
- Customer reviews cart
- Customer proceeds to checkout
- System validates cart items
- Customer enters shipping address
- Customer selects payment method
- System processes payment
- System creates order
- System sends confirmation email
Alternative Flows: 3a. Invalid items in cart 3a1. System removes invalid items 3a2. System notifies customer 3a3. Resume at step 1
6a. Payment fails 6a1. System displays error 6a2. Customer selects different payment 6a3. Resume at step 6
Exception Flows:
- Network timeout: Save cart, allow retry
- Out of stock: Notify customer, suggest alternatives
- Use Case Diagram
Actor: Customer | +-- (Browse Products) +-- (Add to Cart) +-- (Checkout) +-- (Track Order)
Actor: Admin | +-- (Manage Products) +-- (Process Returns) +-- (View Reports)
Best Practices
-
Focus on user goals - What user wants to accomplish
-
Be technology-independent - Don't specify UI details
-
Include alternatives - Error cases and variations
-
Keep atomic - One clear goal per use case
-
Define preconditions - Required state before execution
-
Specify postconditions - Expected state after
-
Number steps - Easy reference and traceability
-
Validate with users - Ensure completeness
Resources
-
Writing Effective Use Cases: Alistair Cockburn
-
UML Use Case Diagrams: OMG specification