Gathering and Documenting User Requirements with Use Cases
This is an intensive, hands-on and interactive workshop that teaches students the critical skills and techniques necessary to perform effective real-world user requirements capture and documentation. The course provides students with a thorough grounding in using the industry standard 'Use Case' techniques popularized by Ivar Jacobson and other Object Oriented practitioners. This course is intended for those - including business modelers, use case and systems analysts, project managers, project leads, and developers - who will be involved in, or need to understand, the requirements capture workflow in a systems development project. This course is especially useful for those who already have a thorough understanding of standard requirements specification techniques and want to make the transition to using use cases.
Contact us for pricing
PrerequisitesNone, but previous experience with business or systems analysis would be helpful.
Modern SystemsCharacteristics of modern real world complex and distributed systems and how they differ from traditional systems.
The larger role of requirements capture and documentation in modern systems.
How requirements capture is critical to Quality Assurance in modern systems.
Being "Use Case Driven"
Software SDLCs and why we use them.
Incremental and iterative - how it works.
Requirements GatheringPerceived needs, root causes and real needs.
Writing a system description.
Starting the associated risk analysis.
Identifying candidate requirements.
Prioritizing requirements for development.
Modeling business process requirements.
Identifying and documenting non-functional requirements.
The Use Case ModelDocumenting functional requirements with the use case approach.
Discovering actors and system boundaries.
Basic use case concepts and techniques for drawing use case diagrams.
Refining and prioritizing use cases.
Primary and secondary scenarios.
Identifying exceptions and "abuse" cases.
Stakeholders and ActorsIdentifying use cases through actors.
Primary and secondary actors.
Actor goals and use cases.
Internal and external actors.
Business processes and stakeholder interests.
Primary Use CasesDiscovering use cases through actor goals.
The "Sunny Day" or "Garden Path" scenario.
Normal process flow
Use case presentation styles.
The importance of system scope.
Refining Use CasesIdentifying secondary scenarios.
Scenarios, alternate paths and extensions.
Detailing the use case body.
Handling exceptional behavior.
Factoring out common portions of use cases.
Documenting use case relationships - using "extends" and "includes".
Elaborating Use CasesIdentifying Pre and post conditions.
Triggering events and outcomes.
Business process interactions.
Stakeholder requirements for the use case.
Incorporating Non-Functional RequirementsModeling business processes with activity diagrams.
Developing business use cases and integrating the business processes with the use case model.
Rationalization of the use cases and the users` conceptual model of the system.
Deriving test models from the use cases
Refining the Use Case ModelUse case walkthroughs and verification.
Use case ranking.
Using CRC modeling for user verification of use cases and requirements.
Interaction diagrams for refining use cases.
Relating use cases to system architecture.
People IssuesTypes of "people" problems that can occur during requirements capture.
Getting accurate information from users.
"Mining" users for use cases.
Getting buy-in from users and stakeholders and why it is important
Troubleshooting common types of people problems.
QA and Project ManagementHow use cases feed into the project plans.
The review process.
Use case review with users.
Use case reviews with stakeholders.
Verification of requirements.
How use cases drive the testing process.
Use Case Participant RolesFacilitator, Recorder, Timekeeper, and Participants
Responsibilities of each role
Effective Guidelines for each role.
Use CasesRequirements GatheringSoftware testingsoftware test