Advanced Use Case Modeling

  • 2 day(s)Duration
  • BA318Course Code
  • send to printer

Course description

A use case is a description of how a system interacts with one or more external entities called actors. Use case diagrams show interactions between actors and use cases, and through iterative refinement, these diagrams help stakeholders to review and agree upon the scope of a system. When it comes to use case analysis, the use case diagram is only the “the tip of the iceberg” from the business analyst’s (BA’s) point of view. In fact, the vast majority of the BA’s time is spent not on use case diagrams, but on analyzing the scenarios and other details that are found within the use cases. A complete use case model contains accurate and well-presented use case diagrams, text specifications of the use case details, and may be supported by other types of diagrams like activity diagrams, sequence diagrams and class diagrams. This course builds upon the associated tasks and techniques introduced in its prerequisites, BA311: Core Competencies for the Business Analyst and BA312: Model and Document Your Project Requirements, by addressing why, how, when, and by whom use cases are used during the project life cycle.

Throughout the course practical tasks and techniques are presented to equip the BA with the skills and knowledge required to develop an initial use case diagram, determine conceptual business objects, develop detailed use case descriptions with alternate and exception flows, model extend and include relationships, add supplemental information including priorities, non-behavioral requirements, and business rules, and organize the wealth of requirements-related information captured by the complete set of use cases. Two case studies are integrated into the course to allow participants to view demonstrations of work products and techniques and then apply learned skills within a consistent context. Much of the class time is devoted to exercises in which participants can practice the skills being taught. To support learning back at the office, the Participant Guide includes dozens of job aids that are referenced throughout the course and available to the participant after training; these include work product templates and samples, as well as checklists for processes and best practices.

Who should attend

Individuals who will benefit from this course include:

  • Business analysts with two or more years of experience and their managers
  • Self-taught business analysts requiring a course that fills in skill gaps
  • Systems analysts and programmers interested in expanding their roles
  • Quality assurance professionals
  • Project managers

Prerequisites

BA311: Core Competencies for the Business Analyst and BA312: Model and Document Your Project Requirements (or their equivalents) or evidence of equivalent training/experience

What you will achieve

  • Describe why, how, when, and by whom use cases are used during the project life cycle.
  • Describe how the treatment of use cases varies depending on a project’s methodology (sequential or iterative).
  • Develop an initial use case diagram.
  • Write use case descriptions.
  • Elaborate use case descriptions with alternate and exception flows.
  • Model extend, include, and generalization relationships between use cases.
  • Derive supplemental information for a use case model, including priority, non-behavioral requirements, alignment with an object model, and business rules.
  • Organize use cases into use case packages.
  • Incorporate best practices of use case modeling.
  • Extract system use cases from a business use case description.

What you will learn

  • Capturing project scope and requirements with use cases
  • Use cases in context: relationships to planning, estimation, design, development, quality assurance, training, user acceptance testing, and customer support
  • Kickoff meeting and preliminary scope
  • Use cases and context diagrams
  • Conceptual business objects
  • Approaches to analysis: broad/shallow and narrow/deep
  • Actors and triggers
  • Preconditions and post-conditions
  • Use case briefs
  • Basic flows
  • Alternate and exception flows
  • Expanded use cases and activity diagrams
  • Relationships to business rules and project requirements
  • Include and extend relationships
  • Use case priorities
  • Non-functional requirements
  • Interface analysis
  • Use cases and object models
  • Use case dependencies
  • Organizing the use case model
  • Best practices of use case development
  • Extraction of system use cases from business use cases
Course Outline
Day One
Module 1: Understand Use Case Essentials
  • Essential Concepts
  • Modeling Requirements with Use Cases
Module 2: Identify Use Cases
  • Actors and Initial Use Cases
  • Role Maps
  • Eliciting Requirements Through Use Case Analysis
  • Collaborative Team Activities
Module 3: Analyze Use Cases
  • Use Case Template
  • Describing the Basic Flow
Module 4: Account for Alternate and Exception Flows
  • Describing Alternate and Exception Flows
  • Relationship of Use Cases to Activity Diagrams
Day Two
Module 5: Model Complex Use Cases
  • Model Include Relationships
  • Model Extend Relationships
  • Generalization
Module 6: Build a Requirements Model
  • Use Case Prioritization
  • Mapping Use Cases to Class Models
  • Linking Use Cases to Detailed Requirements and Business Rules
Module 7: Manage Use Case Models
  • Organize the Use Case Model
  • Use Case Patterns
  • Best Practices
  • Reviewing Use Cases
Module 8: Leverage Business Use Cases
  • Business and System Use Cases