 |
Writing Effective Use Cases View Larger Image | Alistair Cockburn Addison-Wesley, Paperback, Published October 2000, 270 pages, ISBN 0201702258 | List Price: $49.99 Our Price: $38.95 You Save: $11.04 (22% Off)
| | | Availability: Out-Of-Stock |
Customer Reviews: 2 Average Customer Rating:      Write a Review and tell the world about this title! People who purchase this book frequently purchase: - UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition; Martin Fowler, $34.95, 22% Off!
- Software Requirements, 2nd Edition; Karl E. Wiegers, $25.50, 36% Off!
- Code Complete, 2nd Edition; Steve McConnell, $31.50, 37% Off!
- Head First Design Patterns; Eric Freeman, et al, $26.95, 40% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
Writing use cases as a means of capturing the behavioral requirements of software systems and business processes is a practice that is quickly gaining popularity. Use cases provide a beneficial means of project planning because they clearly show how people will ultimately use the system being designed. On the surface, use cases appear to be a straightforward and simple concept. Faced with the task of writing a set of use cases, however, practitioners must ask: "How exactly am I supposed to write use cases?" Because use cases are essentially prose essays, this question is not easily answered, and as a result, the task can become formidable.
In Writing Effective Use Cases, object technology expert Alistair Cockburn presents an up-to-date, practical guide to use case writing. The author borrows from his extensive experience in this realm, and expands on the classic treatments of use cases to provide software developers with a "nuts-and-bolts" tutorial for writing use cases. The book thoroughly covers introductory, intermediate, and advanced concepts, and is, therefore, appropriate for all knowledge levels. Illustrative writing examples of both good and bad use cases reinforce the author's instructions. In addition, the book contains helpful learning exercises--with answers--to illuminate the most important points.
Highlights of the book include:
- A thorough discussion of the key elements of use cases--actors, stakeholders, design scope, scenarios, and more
- A use case style guide with action steps and suggested formats
- An extensive list of time-saving use case writing tips
- A helpful presentation of use case templates, with commentary on when and where they should be employed
- A proven methodology for taking advantage of use cases
With this book as your guide, you will learn the essential elements of use case writing, improve your use case writing skills, and be well on your way to employing use cases effectively for your next development project.
Table of Contents
Preface xix
Acknowlegments xxiii
Chapter 1 - Introduction 1
1.1 What Is a Use Case (More or Less)? 1
USE CASE 1 Buy Stocks over the Web 4
USE CASE 2 Get Paid for Car Accident 5
USE CASE 3 Register Arrival of a Box 6
1.2 Your Use Case Is Not My Use Case 7
USE CASE 4 Buy Something (Casual Version) 9
USE CASE 5 Buy Something (Fully Dressed Version) 9
·Steve Adolph: "Discovering" Requirements in New Territory 12
1.3 Requirements and Use Cases 13
Use Cases as Project-Linking Structure 14
- Figure 1.1 The "Hub-and-Spoke" model of requirements 15
1.4 When Use Cases Add Value 15
1.5 Manage Your Energy 16
1.6 Warm Up with a Usage Narrative 17
·Usage Narative: Getting "Fast Cash" 18
1.7 Exercises 19
Part I - The Use Case Body Parts 21
Chapter 2 - The Use Case as a Contract for Behavior 23
2.1 Interactions between Actors with Goals 23
Actors Have Goals 23
- Figure 2.1 An actor with a goal calls on the responsibilities of another 24
Goals Can Fail 25
Interactions Are Compound 25
A Use Case Collects Scenarios 27
- Figure 2.2 Striped trousers: Scenarios succeed or fail 28
- Figure 2.3 The striped trousers showing subgoals 29
2.2 Contract between Stakeholders with Interests 29
- Figure 2.4 The SuD serves the primary actor, protecting offstage stakeholders 30
2.3 The Graphical Model 31
- Figure 2.5 Actors and stakeholders. 32
- Figure 2.6 Behavior. 32
- Figure 2.7 Use Case as responsibility invocation. 33
- Figure 2.8 Interactions as composite. 33
Chapter 3 - Scope 35
- Table 3.1 A Sample In/Out List 36
3.1 Functional Scope 36
The Actor-Goal List 36
- Table 3.2 A Sample Actor-Goal List 37
The Use Case Briefs 37
- Table 3.3 Sample Use Case Briefs 38
3.2 Design Scope 38
- Figure 3.1 Design scope can be any size 40
Using Graphical Icons to Highlight the Design Scope 40
Design Scope Examples 41
-- Enterprise-to-System Examples 41
USE CASE 6 Add New Service (Enterprise) 42
USE CASE 7 Add New Service (Acura) 42
Many Computers to One Application 43
USE CASE 8 Enter and Update Requests (Joint System) 43
USE CASE 9 Add New Service (into Acura) 44
USE CASE 10 Note New Service Request (in BSSO) 44
USE CASE 11 Update Service Request (in BSSO) 44
USE CASE 12 Note Updated Request (in Acura) 44
- Figure 3.2 Use case diagrams for Acura-BSSO. 45
- Figure 3.3 A combined use case diagram for Acura-BSSO. 45
Nuts and Bolts Use Cases 46
USE CASE 13 Serialize Access to a Resource 46
USE CASE 14 Apply a Lock Conversion Policy 47
USE CASE 15 Apply an Access Compatibility Policy 48
USE CASE 16 Apply an Access Selection Policy 48
USE CASE 17 Make Service Client Wait for Resource Access 49
3.3 The Outermost Use Cases 49
3.4 Using the Scope-Defining Work Products 51
3.5 Exercises 51
Chapter 4 - Stakeholders and Actors 53
4.1 Stakeholders 53
4.2 The Primary Actor 54
Why Primary Actors Are Unimportant (and Important) 55
Actors versus Roles 57
Characterizing the Primary Actors 58
- Table 4.1 A Sample Actor Profile Table 56
4.3 Supporting Actors 59
4.4 The System Under Discussion 59
4.5 Internal Actors and White-Box Use Cases 59
4.6 Exercises 60
Chapter 5 - Three Named Goal Levels 61
5.1 User Goals (Blue, Sea-Level) 62
- Figure 5.1 Use case levels 62
Two Levels of Blue 63
5.2 Summary Level (White, Cloud/ Kite) 64
USE CASE 18 Operate an Insurance Policy+ 65
The Outermost Use Cases Revisited 65
5.3 Subfunctions (Indigo/Black, Underwater/Clam) 66
Summarizing Goal Levels 66
5.4 Using Graphical Icons to Highlight Goal Levels 67
5.5 Finding the Right Goal Level 68
Finding the User's Goal 68
Raising and Lowering Goal Levels 69
- Figure 5.2 Ask "why" to shift levels 69
5.6 A Longer Writing Sample: "Handle a Claim" at Several Levels 70
USE CASE 19 Handle a Claim (Business) 71
USE CASE 20 Evaluate Work Comp Claim 72
USE CASE 21 Handle a Claim (Systems) + 73
USE CASE 22 Register a Loss 75
USE CASE 23 Find a Whatever (Problem Statement) 79
5.7 Exercises 79
Chapter 6 - Preconditions, Triggers, and Guarantees 81
6.1 Preconditions 81
6.2 Minimal Guarantees 83
6.3 Success Guarantee 84
6.4 Triggers 84
6.5 Exercises 85
Chapter 7 - Scenarios and Steps 87
7.1 The Main Success Scenario 87
The Common Surrounding Structure 87
The Scenario Body 89
7.2 Action Steps 90
Guidelines 90
GUIDELINE 1: Use Simple Grammar 90
GUIDELINE 2: Show Clearly "Who Has the Ball" 90
GUIDELINE 3: Write from a Bird's Eye View 91
GUIDELINE 4: Show the Process Moving Forward 91
GUIDELINE 5: Show the Actor's Intent, Not the Movements 92
GUIDELINE 6: Include a "Reasonable" Set of Actions 93
- Figure 7.1 A transaction has four parts 93
GUIDELINE 7: "Validate," Don't "Check Whether" 95
GUIDELINE 8: Optionally Mention the Timing 95
GUIDELINE 9: Idiom: "User Has System A Kick System B" 96
GUIDELINE 10: Idiom: "Do Steps x-y until Condition" 96
To Number or Not to Number 97
7.3 Exercises 98
Chapter 8 - Extensions 99
8.1 Extension Basics 99
8.2 The Extension Conditions 100
Brainstorm All Conceivable Failures and Alternative Courses 101
GUIDELINE 11: Make the Condition Say What Was Detected 102
Rationalize the Extensions List 104
Rollup Failures 105
8.3 Extension Handling 106
GUIDELINE 12: Indent Condition Handling 108
Failures within Failures 109
Creating a New Use Case from an Extension 109
8.4 Exercises 110
Chapter 9 - Technology and Data Variations 111
- Figure 9.1 Technology variations using specialization in UML 112
Chapter 10 - Linking Use Cases 113
10.1 Sub Use Cases 113
10.2 Extension Use Cases 114
- Figure 10.1 UML diagram of extension use cases 115
When to Use Extension Use Cases 116
10.3 Exercises 117
Chapter 11 - Use Case Formats 119
11.1 Formats to Choose From 119
Fully Dressed 119
USE CASE 24 Fully Dressed Use Case Template 119
Casual 120
USE CASE 25 Actually Login (Casual Version) 120
One-Column Table 121
- Table 11.1 One-Column Table Format of a Use Case 121
Two-Column Table 122
- Table 11.2 Two-Column Table 122
RUP Style 123
USE CASE 26 Register for Courses 124
If-Statement Style 126
Occam Style 126
Diagram Style 127
The UML Use Case Diagram 128
11.2 Forces Affecting Use Case Writing Styles 128
Consistency 130
Complexity 130
11.3 Standards for Five Project Types 132
For Requirements Elicitation 133
USE CASE 27 Elicitation Template--Oble a New Biscum 133
For Business Process Modeling 134
USE CASE 28 Business Process Template--Symp a Carstromming 134
For Sizing the Requirements 135
USE CASE 29 Sizing Template--Burble the Tramling 135
For a Short, High-Pressure Project 136
USE CASE 30 High-Pressure Template: Kree a Ranfath 136
For Detailed Functional Requirements 137
USE CASE 31 Use Case Name--Nathorize a Permion 137
11.4 Conclusion 137
11.5 Exercise 138
Part 2 - Frequently Discussed Topics 139
Chapter 12 - When Are We Done? 141
On Being Done 142
Chapter 13 - Scaling Up to Many Use Cases 143
Say Less about Each One (Low-Precision Representation) 143
Create Clusters of Use Cases 143
Chapter 14 - CRUD and Parameterized Use Cases 145
14.1 CRUD Use Cases 145
USE CASE 32 Manage Reports 146
USE CASE 33 Save Report 148
14.2 Parameterized Use Cases 150
Chapter 15 - Business Process Modeling 153
15.1 Modeling versus Designing 153
Work from the Core Business 154
- Figure 15.1 Core business black box 155
- Figure 15.2 New business design in white box 155
Work from Business Process to Technology 155
- Figure 15.3 New business design in white box (again) 156
- Figure 15.4 New business process in black-box system use cases 156
Work from Technology to Business Process 157
15.2 Linking Business and System Use Cases 157
·Rusty Walters: Business Modeling and System Requirements 159
Chapter 16 - The Missing Requirements 161
16.1 Precision in Data Requirements 162
16.2 Cross-linking from Use Cases to Other Requirements 164
- Figure 16.1 Recap of Figure 1.1, "Hub-and-Spoke" model of requirements 164
Chapter 17 - Use Cases in the Overall Process 167
17.1 Use Cases in Project Organization 167
Organize by Use Case Titles 167
- Table 17.1 Sample Planning Table 168
Handle Use Cases Crossing Releases 169
Deliver Complete Scenarios 170
17.2 Use Cases to Task or Feature Lists 171
USE CASE 34 Capture Trade-In 172
- Table 17.2 Work List for Capture Trade-In 173
17.3 Use Cases to Design 174
A Special Note to Object-Oriented Designers 176
17.4 Use Cases to UI Design 177
17.5 Use Cases to Test Cases 178
USE CASE 35 Order Goods, Generate Invoice (Testing Example) 178
- Table 17.3 Main Success Scenario Tests (Good Credit Risk) 179
- Table 17.4 Main Success Scenario Tests (Bad Credit Risk) 180
17.6 The Actual Writing 180
A Branch-and-Join Process 180
Time Required per Use Case 184
Collecting Use Cases from Large Groups 184
·Andy Kraus: Collecting Use Cases from a Large, Diverse Lay Group 184
Chapter 18 - Use Case Briefs and Extreme Programming 187
Chapter 19 - Mistakes Fixed 189
19.1 No System 189
19.2 No Primary Actor 190
19.3 Too Many User Interface Details 191
19.4 Very Low Goal Levels 192
19.5 Purpose and Content Not Aligned 193
19.6 Advanced Example of Too Much UI 194
USE CASE 36 Research a Solution--Before 194
USE CASE 37 Research Possible Solutions--After 199
Part 3 - Reminders for the Busy 203
Chatper 21 - Reminders for Each Use Case 205
Reminder 1: A Use Case Is a Prose Essay 205
Reminder 2: Make the Use Case Easy to Read 205
Reminder 3: Just One Sentence Form 206
Reminder 4: "Include" Sub Use Cases 207
Reminder 5: Who Has the Ball? 207
Reminder 6: Get the Goal Level Right 208
- Figure 20.1 Ask "why" to shift levels. 208
Reminder 7: Keep the GUI Out 209
Reminder 8: Two Endings 209
Reminder 9: Stakeholders Need Guarantees 210
Reminder 10: Preconditions 211
Reminder 11: Pass/Fail Tests for One Use Case 211
- Table 20.1 Pass/Fail Tests for One Use Case 212
Chapter 22 - Reminders for the Use Case Set 215
Reminder 12: An Ever-Unfolding Story 215
Reminder 13: Both Corporate Scope and System Scope 216
Reminder 14: Core Values and Variations 216
Reminder 15: Quality Questions across the Use Case Set 219
Chapter 23 - Reminders for Working on the Use Cases 221
Reminder 16: It's Just Chapter 3 (Where's Chapter 4?) 221
Reminder 17: Work Breadth First 221
- Figure 22.1 Work expands with precision 222
Reminder 18: The 12-Step Recipe 223
Reminder 19: Know the Cost of Mistakes 223
Reminder 20: Blue Jeans Preferred 224
Reminder 21: Handle Failures 225
Reminder 22: Job Titles Sooner and Later 225
Reminder 23: Actors Play Roles 226
Reminder 14: The Great Drawing Hoax 227
- Figure 22.2 "Mommy, I want to go home." 227
- Figure 22.3 Context diagram in ellipse figure form 228
- Table 22.1 Actor-Goal List for Context Diagram 228
Reminder 25: The Great Tool Debate 229
Reminder 26: Project Planning Using Titles and Briefs 230
Appendices
Appendix A - Use Cases in UML 233
A.1 Ellipses and Stick Figures 233
A.2 UML's Includes Relation 234
- Figure A.1 Drawing Includes. 234
GUIDELINE 13: Draw Higher Goals Higher 235
A.3 UML's Extends Relation 235
- Figure A.2 Drawing Extends 236
GUIDELINE 14: Draw Extending Use Cases Lower 236
GUIDELINE 15: Use Different Arrow Shapes 236
Correct Use of Extends 237
- Figure A.3 Three interrupting use cases extending a base use case 237
Extension Points 237
A.4 UML's Generalizes Relations 239
Correct Use of Generalizes 239
- Figure A.4 Drawing Generalizes. 240
Draw General Goals Higher 240
Hazards of Generalizes 240
- Figure A.5 Hazardous generalization--closing a big deal 241
- Figure A.6 Correctly closing a big deal 241
A.5 Subordinate versus Sub Use Cases 242
A.6 Drawing Use Case Diagrams 242
GUIDELINE 16: User Goals in a Context Diagram 243
GUIDELINE 17: Supporting Actors on the Right 243
A.7 Write Text-based Use Cases Instead 243
Appendix B - Answers to (Some) Exercises 245
Chapter 3 (page 51) 245
- Figure B.1 Design scopes for the ATM 245
Chapter 4 (page 60) 246
Chapter 5 (page 79) 247
Chapter 6 (page 85) 248
Chapter 7 (page 98) 249
USE CASE 38 Use the Order Processing System 250
Chapter 8 (page 110) 252
USE CASE 39 Buy Stocks Over the Web 251
Chapter 11 (page 138) 252
USE CASE 40 Perform Clean Spark Plugs Service 252
Appendix C - Glossary 253
Appendix D - Readings 257
Index 259 Customer Reviews
Customer Reviews: 2 Average Customer Rating:      Jun 3, 2004     Vainstein will make you a Use Case fanatic Beware. More than just explaining about use cases writing, this text will make you *want* to write use cases, because it explains how many issues you'll catch early in the design phase. Extremely good.
Feb 16, 2001     Michael Stange from Chicago, IL USA A Classic I held off on reviewing this book until I had not only read it but also "worked with it" awhile. It was an obvious four-star title from the get go, but did it deserve five stars? I reserve five stars for "classics"--those volumes that one keeps going back to, those that keep yielding more knowledge the more times you read them. Is this book a classic? Yup--it definitely deserves five stars. Don't judge the book by the early chapters--they're important, but it's the later chapters that are priceless. In my opinion, this is the only book about use cases that a professional developer needs on his/her bookshelf.
|
 |