Course Title: Effective Use Case Development
Course #: BAI14
Duration: 2 days
Overview:This 2-day course is designed to provide students with intensive, practical training in the concepts of requirements specification through use cases. During the course, the students write at least three non-trivial use cases. At course completion, students will have a comprehensive understanding of use cases, how to write useful and effective use cases, and both their value and limitations in either procedural or object-oriented development lifecycles. This course has been endorsed by the International Institute of Business Analysis (IIBA) as compliant with the Business Analyst Book of Knowledge (BABOK).
Topics:Project Failure and Success Factors
Executive Summary of Use Cases
The many dimensions of requirements
- Functional requirements
- Non-functional requirements
- Use Cases are not diagrams
- Where do use cases fit?
Dimensions of use case descriptions
- Use cases and traditional specifications
- Why use cases alone are not enough!
Discovering use cases
- Using an event analysis model
- Discovering actors & major use cases
The UML Use Case Diagram
- Actors
- Actor-to-use case associations
- Use case-to-use case associations
- <<include>> and <<extend>>
- Generalization
- Does the diagram have value?
Distinguishing the two different types of actors
Writing use case descriptions
- The Three 'C's
- Style and templates
- Scope and presentation format
- Use cases must have goals
- System-level vs. business-level use cases
- Adding exceptions to use cases
The power of “essential” use case descriptions
- Procedural use cases
- State-based use cases
Finding Functional Requirements From Use Cases
Major mistakes in use case development
- Top Six use case pitfalls and abuses
- Where UML can lead you astray
- Just who should write the use cases?
The role of use cases in testing
- Use cases are directly testable
- Use cases and scenarios
- Scenarios and test cases
CASE tools and use cases
Wrap up
Audience:Business or system analysts, technical managers, and software developers who wish to learn techniques for capturing requirements for software system development.
Prerequisites:Experience in requirements gathering, or systems analysis is desirable, but not mandatory.