Writing Effective Use Cases
Objectives
The objectives of the seminar are to:
- Learn the fundamentals of use cases and their applicability to effective systems development
- Learn the structures of use cases, the combination of textual and graphical elements that make an effective use case for requirements gathering, testing and training
- Practice writing, analyzing, and reviewing use cases for student-supplied or instructor-supplied systems
Seminar Content
- Introduction
- Requirements Development
- Project stakeholders and their needs
- Eliciting needs and designing system functions
- What use cases do and do not do
- Use Case Fundamentals
- Application domain
- System and Environment
- Inter-actors and Goals
- Roles and Responsibilities
- Context attributes (e.g., risk, priorities, history)
- Basic and Alternative Enhancements
- Cases and Scenarios
- Structure of a Robust Use Case
- Goal
- Risk
- Case conditions
- Triggers
- Basic Case Section
- Alternative Case Sections (testing, training, etc.)
- Composing cases
- Case Writing Rules
- Terminology
- Case conditions
- Action grammar rules
- Format alternatives
- Basic and Alternative Cases
- Basic course elements
- Exception handlers
- Required selections and optional actions
- User-invoked interrupts
- Checking Robust Cases
- Common mistakes and checklists
- Test design
- Perspective-based reading and paraphrasing
- Scenario simulation
- Glossary-based analysis
- Effective Case Development Strategies
- Documenting user needs
- Actions – case names
- Result conditions – case and course conditions
- Incremental development and iterative refinement
- Levels of precision – informal stories to precise cases
- Who wants what?
- How do they get what they need?
- What might happen?
- How is it handled?
- The writing process
- Modeling current vs. new capabilities
- Reuse of use cases
- Review experiences
- Benefits, difficulties (including costs), and risks
- Conclusion
Summary, advanced exercises, resources for further study