Starting the use case writing process
Scope and partition system functionality
Approach to writing preliminary use cases
Finding the right use cases
Review use case modeling
Identifying primary use cases
Identifying secondary use cases (included and extending use cases)
Modeling relationships
Picking good use case names
Selecting a use case form
Identify minimum recommended information
Pros & cons of additional Information
Activity or sequence diagrams as alternative/complement to narrative use cases
Exploring common use case forms
Selecting an appropriate use case form
Describe defining aspects of Informal use case form
Describe defining aspects of Formal use case form
Describe defining aspects of Essential use case form
Specifying Actors
Using surrogate actors
Specifying actors in the actor catalog
Using personas
Specifying steps
Bounding steps: actor action/system response
Numbering steps
Lists, paragraphs, tables and diagrams
Specifying data
What’s the right level of detail?
How big should a use case be?
Annotating steps
Use case initiating steps
Use case ending steps
Excluding: user interface, design/implementation, and business process details
Handling iteration and concurrency
Identify situations in which iteration and concurrency arise
Discuss handling iteration and concurrency as multiple invocations of a use case or multiple concurrent use cases
Describe how to model iteration and concurrency within a use case
Handling alternatives
Identifying alternatives
Naming flows of events
Specifying alternatives
Marking alternative flow reference points
Variations on alternative flows
Using goals, pre-conditions, and post-conditions
Discuss concepts of Goals, Pre-Conditions & Post-Conditions
Discuss guidelines on making them well formed
Verifying use case model completeness and closure
Specifying business rules
Defining business rules
Simple business rules embedded in use cases
Complex business rules specified in business rule specifications
Marking business rule reference points
Using use case relationships
Factoring out common behavior to included use cases
Separating optional behavior to extending use cases
Identifying common behavioral structure across multiple use cases
Abstracting use case structure
How to write generalized and specific use cases
Appendix: Specifying other requirements
Specifying quality and other requirements in the supplemental specification
Specifying performance and other requirements in use cases
Appendix: Intro to use cases
An introduction to use cases for students that have no prior use case exposure
Appendix: Reviewing use cases
Recommended review process
Review questions to ask to ensure use case quality
Appendix: Introduction to requirements traceability
A brief introduction to requirements traceability
Appendix: Establishing use case teams
Managing multiple concurrent use case teams
Handling iteration