Without proper capture of requirements software projects have a high probability of failure. This 2-day course achieves a focused goal of writing effective, readable use cases to describe the user-centric, behavioral requirements of a software system or business workflow. This course is structured around a problem-driven approach, and students will learn use case techniques and concepts in a "just-in-time" manner, emphasizing the meaning and relevance of each technique and not just its notation. Numerous examples of both system-level and business-level use cases, and a non-trivial case study, let students see how a concept is described in the use case approach, and then immediately apply their understanding as they write three complete use cases in the course. At course completion, students will have a comprehensive understanding of use cases, how to write useful and effective use cases, and will have a keen appreciation of both the value and limitations of use cases in either procedural or object-oriented development lifecycles.
Audience:
Business or system analysts, technical managers, and software developers who wish to learn use case techniques for capturing requirements for software system development.
Prerequisites
Experience in requirements gathering, or systems analysis is desirable, but not mandatory.
Course duration:
2 days
Course outline:
Use Case Introduction
What is a Use Case?
Where Do Use Cases Fit?
What Will You Deliver?
Use Case Examples
Business: Apply for Life Insurance Policy
System: Withdraw Funds from ATM
Use Case Writing “Miniature”
The Writing Process in 5 slides
Course Case Studies
Example Case Study
Student Exercise Case Study
Identify Stakeholders & User Goals
Use Case Structure
Main Flow
Exception Flows
Use Case Scope
Business Use Cases
System Use Cases
Business Actors and Use Cases
Business Use Case Model
Business Actors
System Actors and Use Cases
System Use Case Model
System Actors
Use Case Style Topics
Essential Use Cases
Design-detail Use Cases
Style Guidelines for Use Cases
Audience for Use Cases
Discovering Actors & Use Cases
Primary and Secondary Actors
Business Actors and Use Cases
System Actors and Use Cases
The Use Case Diagram
Anatomy of the Use Case Diagram
<<include>> Relationship
<<extend>> Relationship
The Process for Writing Use Cases
Identify Candidates & Scope
Write the Main Flow
Identify the Exception Flows
Write the Behavior of each Exception Flow
Identify Candidate Use Cases
Goals of Use Cases
Identify Use Case Scope
Specify Type of Use Case
Identify Actors
Primary and Secondary Actors
Write the Main Flow
Working with a Single System-Scope Use Case
Identify the Exception Flows
Navigating the Main Flow
Write the Exception Flow Behavior
Examining the System’s Behavior
Automated Actors
Definition of an Automated Actor
Pre- and Post-Conditions
Guidelines
Use Cases with Similar Steps
Options for Dealing with Similar Steps
Writing Use Cases ? Doing It All Together
Writing a Complete Use Case
Use Case Pitfalls
CRUD-based Use Cases
Use Case Normalization
Steps as Use Cases
Who Should Write Use Cases?
Common Candidates to be Writers of Use Cases
Issues Involved with Writing Uses Cases
Appropriate Roles to Write Use Cases
Appendix A
Top 10 Mistakes with Use Cases
Appendix B
Use Cases for Enhancement Projects
Use Cases for System-to-System Interaction
Use Cases for System Ports
Use Cases in Outsourced and Offshore Projects