Booking options
£850
+ VAT£850
+ VATDelivered Online
Full day
All levels
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.
This course identifies how business analysts can apply use cases to the processes of defining the problem domain through elicitation, analyzing the problem, defining the solution, and confirming the validity and usability of the solution.
You'll learn how to:
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
Introductions
Course structure
Course goals and objectives
Overview of use case modeling
What is a use case model?
The 'how and why' of use cases
When to perform use case modeling
Where use cases fit into the solution life cycle
Use cases in the problem domain
Use cases in the solution domain
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 though the life cycle
Use cases in the life cycle
Managing requirements with use cases
The life cycle is use case driven
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
Why diagram?
Partitioning the domain
Use case diagramming guidelines
How to employ use case diagrams in elicitation
Guidelines for use case elicitation sessions
Eliciting the problem domain
Use case descriptions
Use case generic description template
Alternative templates
Elements
Pre and post conditions
Main Success Scenario
The conversation
Alternate paths
Exception paths
Writing good use case descriptions
Eliciting the detailed workflow with use case descriptions
Additional information about use cases
Use case analysis on existing requirements
Confirming and validating requirements with use cases
Confirming and validating information with use cases
Defining the actors and use cases in a set of requirements
Creating the scenarios
Essential (requirements) use case
Use case level of detail
Generalization and Specialization
When to use generalization or specialization
Generalization and specialization of actors
Generalization and specialization of use cases
Examples
Associating generalizations
Subtleties and guidelines
Use Case Extensions
The <> association
The <> association
Applying the extensions
Incorporating extension points into use case descriptions
Why use these extensions?
Extensions or separate use cases
Guidelines for extensions
Applying use case extensions
Patterns and anomalies
o Redundant actors
Linking hierarchies
Granularity issues
Non-user interface use cases
Quality considerations
Use case modeling errors to avoid
Evaluating use case descriptions
Use case quality checklist
Creating a Requirements Specification from Use Cases
Flowing the conversation into requirements
Mapping to functional specifications
Adding non-functional requirements
Relating use cases to other artifacts
Wire diagrams and user interface specifications
Tying use cases to test cases and scenarios
Project plans and project schedules
System use cases
Reviewing business use cases
Balancing use cases
Use case realizations
Expanding and explaining complexity
Activity diagrams
State Machine diagrams
Sequence diagrams
Activity Diagrams
Applying what we know
Extension points
Use case chaining
Identifying decision points
The documentation trail for use cases
Use case re-use
Use case checklist
What did we learn, and how can we implement this in our work environment?