Description
Description
This intensive, hands-on workshop equips participants with the practical skills and techniques needed to effectively capture and document real-world user requirements. Grounded in industry-standard Use Case modeling techniques—popularized by Ivar Jacobson and widely adopted in object-oriented practices—this course prepares you to confidently model functional requirements in complex systems.
Beginning with an overview of modern system development and its impact on requirements gathering, the course guides you through the role of use cases within an iterative, incremental, and use case–driven SDLC. You’ll learn how to identify, structure, and refine use cases through interactive simulations, stakeholder interviews, and modeling exercises.
With a balanced mix of theory and practice, the course emphasizes working collaboratively with stakeholders, troubleshooting requirement ambiguities, and producing use case models that feed directly into system design, architecture, testing, and project management.
Training Objectives
- By the end of this course participants will:
- Understand the purpose and structure of use cases and their role in modern software development
- Effectively gather prioritize and document both functional and non-functional requirements
- Identify and model actors
- goals and system interactions
- Create and refine UML use case diagrams and narrative forms
- Handle alternative flows
- exceptions and complex relationships such as “include“ and “extend“
- Integrate use cases into broader business and technical models
- Collaborate successfully in team-based requirements sessions
- Support the development lifecycle from analysis through design and quality assurance
Course Outline
- Introduction<
- What is a Use Case?<
- Use Case Diagrams vs. Use Case Forms<
- A Brief History of Use Case Modeling<
- Use Cases in the Software Development Lifecycle<
- The value of a use case–driven development process<
- How use cases support:<
- Project Management<
- Business Modeling<
- Requirements Analysis<
- System Design<
- Quality Assurance<
- Requirements Gathering<
- Identifying stakeholders and their needs<
- Defining candidate and prioritized requirements<
- Capturing non-functional requirements<
- Actors and Stakeholders<
- Actor goals and identifying associated use cases<
- Primary vs. secondary actors<
- Abstract actors and stakeholder relationships<
- Use Case Modeling<
- Drawing and interpreting UML use case diagrams<
- Modeling relationships: Include, Extend, Generalize<
- Grouping and organizing use cases (packages, change cases, rankings)<
- Primary Use Cases<
- Discovering use cases through actor goals<
- Modeling the “Sunny Day” (ideal) scenario<
- Presenting use case flows: styles and scope considerations<
- Refining Use Cases<
- Defining secondary and alternate scenarios<
- Handling exceptions and alternate paths<
- Factoring and reusing common behavior<
- Modeling relationships and flow dependencies<
- Elaborating Use Cases<
- Pre-conditions, post-conditions, and triggering events<
- Business process integration and stakeholder needs<
- Business Modeling<
- Activity diagrams for business processes<
- Building business use cases and integrating with the system model<
- Analysis and Design<
- How architects and developers use use cases<
- Mapping use cases to object models and scenario analysis<
- Use Case Workshop Roles<
- Facilitator, Recorder, Timekeeper, Participants<
- Roles, responsibilities, and best practices for productive sessions




