Use Case Ninja

Capture un-ambiguous, clear and precise validatable requirements.

Classroom

Course No: ITUSCNIN
Duration: 2 Days
Credits: 16 PDUs
Prerequisites

Some experience in requirements elicitation and basic modeling.
Course Level

Intermediate to Advanced
 
Course Overview
The use case is a method for documenting the interactions between the user of a system and the system itself.  Use cases have been in the software development lexicon for over twenty years, ever since it was introduced by Ivar Jacobson in the late 1980s.  They were originally intended as aids to software design in object-oriented approaches.  However, the method is now used throughout the Solution Development Life Cycle from elicitation through to specifying test cases, and is even applied to software development that is not object oriented. Use cases not only help in clear documentation of the requirements but also help in identifying gaps and the best methodology for scoping the project as well. The Use Case methodology helps breakdown the requirements to a “grass root” level which is essential for practical estimation, sizing as well as counting the feature points for Agile based development. In fact with the immense popularity of Agile methodologies the importance of Use Cases has touched all time high. This course provides business analysts with the required competencies for identifying and modeling use cases, which serve as vehicles for eliciting, analyzing, documenting and communicating functional requirements. Participants will practice creating use cases using the Unified Modeling Language (UML®) to graphically represent the interactions between use cases and actors. This engagement is replete with case studies and scenario and even a role play to aid absolute understanding and help with the retention of subject as well as help you understand complex elements with ease. 
 
Who should attend?
  • Analysts and information gatherers who need an efficient way of modeling the interfaces/processes that involve users and systems
  • Business analysts who need to define the business problem, business solution, or business requirements
  • IT managers who need to understand the impact of complex business processes especially involving multiple systems
  • Software developers who are using a Unified Modeling Language (UML) to model and diagram their implementations
  • Business managers and users who want to better understand the processes they are working in, and the solutions and improvements that are being implemented
 
Performance Focus
  • Employing use cases as an elicitation template to gather more information about the problem domain
  • Applying use cases to the analysis of the business problem and current processes to identify improvements and solutions 
  • Translating use cases into business and functional requirements
 
What You Will Learn
  • Identify actors that drive use cases
  • Employ use cases to elicit, analyze, document and communicate functional requirements
  • Apply the use case method to define the problem domain and discover the conditions that need improvement in a business process
  • Employ use cases in the analysis of requirements and information to create a solution to the business problem
  • Translate use cases into requirements
  • Write use case scenarios with an appropriate level of detail
  • Prioritize use cases based on their importance to the business and technical considerations
  • Manage use cases throughout the project life cycle
  • Create and validate state diagrams
 
Training Content and Basic Outline of the course

Foundation Concepts

  • Overview of use case modeling
    • Use case strengths and weaknesses
    • Use case variations
    • Use case driven development
  • Use case lexicon
    • Use cases
    • Actors and roles
    • Associations
    • Goals
    • Boundaries
  • Use cases and other techniques
    • Prototyping
    • Storyboarding
    • Scenarios
    • The development life cycle

 Elicitation with Use Cases

  • Overview of the basic mechanics and vocabulary of use cases
  • Apply methods of use case elicitation to define the problem domain, or “as is” process
  • Use case diagrams
  • Use case descriptions
  • Additional information about use cases

 Identifying And Describing Actors

  • Use case actors
  • Business versus system actors
  • Identifying actors
  • Mapping stakeholders to actors
  • Users versus actors

Identifying And Describing Use Cases

  • Identifying use cases
  • Writing a use case description
  • Including preconditions, post conditions, assumptions and scenarios

Writing Use Case Scenarios

  • Identifying the main success scenario
  • Identifying alternates and exceptions
  • Indicating iteration

 Advanced Use Case Modeling Techniques

  • Diagramming an «include» relationship
  • Diagramming an «extend» relationship
  • Diagramming generalization and specialization
  • Considering multiplicity
  • Patterns and anomalies

 Ensuring Use Case Quality

  • Employing quality assurance techniques
  • Traceability and reviews
  • Ensuring use cases are testable
  • Use case modeling errors to avoid
  • Evaluating use case descriptions
  • Use case quality checklist

 Prioritizing Use Cases

  • Estimating project cost with use cases
  • Employing prioritization techniques

 Use Cases and Project Documentation

  • Business rules
  • Use Cases reuse
  • Nonfunctional and functional requirements
  • User Interface (UI) requirements
  • State diagrams
  • Traditional vs. iterative management of use cases
  • Story-focused approach vs. traditional approach

 Introduction To Object Modeling

  • Use cases and object orientation (OO)
  • Identifying objects and classes

End of Engagement Recap and Vote of Thanks