Use Case Workshop - Requirements Analysis (BA28)

Request a Quote for this class

About this Course

Use Cases are an industry best practice for defining, documenting, and analyzing functional requirements. A use case approach is a user-centered approach for developing a solution to your business needs. Unfortunately, methods for developing use cases vary substantially across the industry. What information belongs in a use case? How can a use case be utilized to capture all the desired functionality? Are use cases applicable to all projects? Is there a template for writing use cases that is considered best practice? If you've ever been involved in a project involving use cases, you've probably encountered some confusing answers to these questions. Learn practical answers to these questions from one of the pioneers in Object Oriented Analysis. We have been developing and sharing best practices in use cases since the early 1990s. 

This 2-day course provides a strong foundation in the mechanics of use case diagramming and writing textual descriptions of use cases. In this highly interactive workshop, you will learn how to enhance and refine your use case skills, how to involve your stakeholders in the use case process, and how to develop use cases that provide valuable information to the designers and testers. Use cases that meet the needs of designers can be too technical and too detailed for other stakeholders. Use cases that satisfy business users are usually not very helpful to designers and testers. How do you satisfy these two disparate interests? And how do you handle the details like business rules, data validations and user interface specifications? 

Audience Profile

This course has been expressly designed for the Business Analyst, Business System Analyst, System Analyst, and/or Requirements Engineer.  The Designer, Developer and Tester who are actively involved in utilizing use cases may also benefit from this workshop.

At Course Completion

Upon completion of the Use Case class, students will be able to:

  • Employ use cases to elicit requirements, at a business, system or subsystem level
  • Employ use cases to document the scope of a project
  • Write use cases in a clear and unambiguous way.
  • Model use cases with workflow diagrams
  • Plan and divide up the project work based on your use cases
  • Manage a use case as it evolves over time and goes through many changes
  • Develop a Business Use Case Diagram
  • Identify system actors and distinguish between a primary and secondary actor
  • Analyze the Business Process Model and System Context Diagram to identify candidate system use cases
  • Develop a System Use Case Diagram and learn to write a brief description
  • Evaluate use case risk, complexity, priority, and dependencies to:
  • Describe how to organize use case packages
  • Write the steps of the main success scenarios
  • Identify and develop alternate scenarios and flows
  • Explain how a UML Activity Diagram supports a use case approach

Prerequisites

Knowledge of requirements process and requirements elicitation technique

Course Outline

Section 1: Overview of Use Cases 

  • Describe the purpose and value of a use case approach
  • Use case terminology
  • Introducing a use case approach 

Section 2: Enterprise Analysis 

  • Understanding the business context for your systems
  • Describe the key elements of Enterprise Analysis 
  • Understanding the steps for developing use cases during enterprise analysis
  • Identifying business stakeholders, actors, and information
  • Understanding business process models and diagramming 
  • Drawing and describing business use cases 

Section 3: Defining the System Scope 

  • Utilizing a Context Diagram to define the scope of a system
  • Identifying system actors and distinguish between a primary annd secondary actor 
  • Analyzing the Business Process Model and System Context Diagram to identify candidate system use cases
  • Developing a system use case diagram
  • Writing a brief description of each use case

Section 4: Evaluating, Prioritizing, and Packaging Use Cases 

  • Reviewing use cases for priority, risk, complexity, and dependency
  • Grouping use cases that are interdependent
  • Focusing resources on the use cases that are critical to success of a project
  • Defining and organizing use case packages 

Section 5: Writing the Main Success Scenario 

  • Describing the sections of a System Use Case Description
  • Writing the steps of the main success scenario
  • Best Practices in writing use case descriptions  

Section 6: Writing the Other Scenarios 

  • Understanding the different types of scenarios
  • Identifying alternate scenarios and flows
  • Recognizing the difference between alternate flows and exceptions
  • Writing an alternate scenario description 

Section 7: Using Process Modeling to describe the Flows of a Use Case (optional) 

  • Overview of Activity Diagramming techniques
  • Using simple UML Activity Diagram notation to graphically describe the flows of use case
  • Adding decisions, guards, and notes
  • Developing activity diagrams in a facilitated session
  • Tips on Modeling tools

Section 8: Developing a Requirements Specification 

  • Common approaches to documenting requirements
  • Writing non-functional requirements
  • Prototyping using Storyboards and Wireframes
  • Documenting Business Rules using a decision table
  • Using tables to describe Data Requirements  

Section 9: Course Summary 

  • Course Wrap-Up