Foreword by Craig Larman Preface Acknowledgments Chapter 1 What Is a Quality Use Case? 1.1 Why Use Cases at All? 1.2 What's So Hard about Telling Good Stories? 1.3 Why a Use Case Pattern Language? 1.4 What Are Patterns? 1.5 How Should I Use This Pattern Language? 1.6 What Is the Use Case Pattern Form? Stepping through a Sample Pattern 1.7 Organization of the Pattern Language Development Patterns Structural Patterns 1.8 Supplement:A Brief Tutorial on Writing Use Cases Chapter 2 The Team 2.1 Team Organizational Issues 2.2 SmallWritingTeam Examples 2.3 ParticipatingAudience Examples 2.4 BalancedTeam Examples 2.5 Trade-offs and Collaborations Chapter 3 The Process 3.1 BreadthBeforeDepth Examples BreadthBeforeDepth and UML,by Dan Rawsthorne 3.2 SpiralDevelopment Examples SpiralDevelopment and UML,by Dan Rawsthorne 3.3 MultipleForms Examples 3.4 TwoTierReview Examples 3.5 QuittingTime Examples 3.6 WritersLicense Examples 3.7 Trade-offs and Collaborations Chapter 4 The Use Case Set 4.1 SharedClearVision Examples 4.2 VisibleBoundary Examples VisibleBoundary and UML Molels,by Dan Rawsthorne 4.3 ClearCastOfCharacters Examples 4.4 UserValuedTransactions Examples 4.5 EverUnfoldingStory Examples EverUnfoldingStory and UML Models,by Dan Rawsthorne 4.6 Trade-offs and Collaborations Chapter 5 The Use Case 5.1 CompleteSingleGoal Examples 5.2 VerbPhraseName Examples 5.3 ScenarioPlusFragments Examples 5.4 ExhaustiveAlternatives Examples 5.5 Adornments Examples 5.6 PreciseAndReadable Examples 5.7 Trade-offs and Collaborations Chapter 6 Scenarios and Steps 6.1 DetectableConditions Examples 6.2 LeveledSteps Examples 6.3 ActorIntentAccomplished Examples 6.4 ForwardProgress Examples 6.5 TechnologyNeutral Examples 6.6 Trade-offs and Collaborations Chapter 7 Use Case Relationships 7.1 CommonSubBehavior Examples CommonSubBehavior and UML,by Dan Rawsthorne 7.2 InterruptsAsExtensions Examples InterruptsAsExtensions and UML,by Dan Rawsthorne Extensions and UML Extension Points 7.3 PromotedAlternative Examples PromotedAlternative and UML,by Dan Rawsthorne 7.4 Trade-offs and Collaborations 7.5 CapturedAbstraction-A Pattern for Applying UML Generalization,by Dan Rawsthorne Examples CapturedAbstraction and UML Chapter 8 Editing Existing Use Cases 8.1 RedistributeTheWealth Examples 8.2 MergeDroplets Examples 8.3 CleanHouse Examples 8.4 Trade-offs and Collaborations References Photo Credits Index