Part 1 Fundamentals 1
Chapter 1 Actors 5
What Is an Actor? 6
Why Define Actors? 7
How to Find the Actors 8
Primary and Secondary Actor Types 9
Actor Personalities 11
Abstract Actors 15
Conclusion 16
Actor Notation 16
Chapter 2 Use Cases 19
Finding Use Cases 20
Describing Use Cases 22
Refactoring the Use Case Model 25
Extending the UML Use Case Process 27
Organizing the Use Case Model 30
Another Approach to Building a Use Case Model 30
Conclusion 32
Part 2 Project Initiation 33
Chapter 3 Scoping the System:Vision Document and Business Case 35
Describing the Problem:Vision Document 36
Tackling the Dark Side 36
Determining Project Feasibility:Business Case 39
Writing the Business Case 40
Revising the Business Case 42
Conclusion 43
Chapter 4 Balancing the Software System Use Case Model 45
Analyzing the Domain 47
Documenting the Interfaces 50
Defining a Software Architecture 52
Packaging the Architecture 54
Conclusion 55
Part 3 Advanced Use Case Modeling Framework:Initial Use Case Model 57
Chapter 5 Introduction to the System Use Case Modeling Process Framework 61
Need for a Software Development Process 62
Advanced Use Case Modeling Process Framework 63
Creating or Customizing a Process Framework for a Specific Project 69
Conclusion 72
Chapter 6 Preparing for Use Case Modeling and Determining Use Case Approach 73
Perform a Stakeholder Analysis 73
Select and Customize a Use Case Process Framework 76
Select Use Case Standards,Templates,and Tools 76
Determine Training and Mentoring Needs 77
Conclusion 80
Chapter 7 Performing Initial Use Case Modeling 81
Develop Context Diagram 82
Identify the Major Actors 84
Discover the Conceptual System Use Cases 88
Develop Initial Use Case Diagram 95
Determine/Refine the Conceptual Business Objects 96
Relationship of Use Cases and the Object Model 97
Packaging and Validating the Use Case Conceptual Model 101
Conclusion 101
Part 4 Advanced Use Case Modeling Framework:Expanding the Use Case Model 103
Chapter 8 Develop Base Use Case Descriptions 107
Fields in a Base Use Case Description 109
Getting Started Creating Base Use Case Descriptions 127
Finding New Use Cases 129
Conclusion 134
Chapter 9 Elaborate the Base Use Case Description 135
Describing Alternative Flows 136
Text-Based Conditional and Iterative Logic in the Flow of Events 138
Using Activity Diagrams to Represent a Complex Flow of Events 144
Activity Diagrams versus Detailed Text 150
Conclusion 150
Chapter 10 Model Extend,Include,and Generalization Relationships 151
Extend Relationships 152
Include Relationships 165
Generalization Relationships 175
Bringing Together Extend,Include,and Generalization Relationships 180
Conclusion 182
Use Case Priorities 183
Chapter 11 Add Supplemental Information to the Use Case Model 183
Nonbehavioral Requirements 185
Interface Analysis 187
Focusing on Behavioral Details of Individual Use Case Activities 189
Documenting Details of Business Procedures and Rules 190
Conclusion 193
Chapter 12 Map Use Cases to Object Models 195
Analysis Object Modeling 196
Parallel Use Case and Object Modeling 199
Basic CRUD Matrix 201
Expanded CRUD Matrix 203
Analysis Sequence Diagrams 205
Mapping Use Cases to Object Models Using Sequence Diagrams 209
Issues with Using Sequence Diagrams during Analysis 214
Conclusion 215
Chapter 13 Develop Instance Scenarios 217
Use Cases Are to Object Classes as Use Case Instances Are to Object Instances 218
Use Case Instances Model Specific Executions of a Use Case 218
Why Create Use Case Instances? 220
Use Case Instances Can Be Applied Informally 221
Use Cases Can Be Applied More Formally 223
Layout of a Use Case Instance Description 224
Finding and Creating Use Case Instances 224
Conclusion 229
Chapter 14 Create Test Cases and Documentation 231
Creating a Test Plan 232
Creating a Test Strategy 232
Elements of a Test Plan 234
Creating Test Cases 234
Testing Range/Error Handling 237
Testing Interactions 239
Creating User Documentation 241
Conclusion 242
Chapter 15 Organize the Use Cases 243
Business Function Packages 245
Superordinate and Subordinate Use Cases 247
Dependency Streams 254
Activity Diagrams to Model Use Case Dependencies 258
Model Views 261
Putting It All Together in a System Use Case Model 262
Conclusion 263
Part 5 Additional Topics 265
Chapter 16 Building User Interfaces 267
Conceptual User Interface Design 268
Creating Conceptual Models from Use Cases 269
Conclusion 279
Physical User Interface Design 279
Chapter 17 Coping with Change 281
Requirements Churn 282
Source of Change 283
Accelerating Change 284
Managing Change 285
Change Cases 286
Changes to the Use Case Model 287
Conclusion 290
Chapter 18 Creating Your Advanced Use Case Modeling Process 291
Effect of the Project and Project Team on Ceremony 292
Effects of Artifacts on Ceremony 293
Development Case 295
Iterative Development and the Development Case 299
Conclusion 299
Chapter 19 Ensuring a Successful Use Case Modeling Effort 301
Appropriate Level of Detail and Organization in the Use Case Model 302
Attributes of a Good Use Case Model When Specifying Requirements 304
Incremental and Iterative Development with Use Cases 311
Know When Not to Use Use Cases 314
Questions to Ask When Use Case Modeling 315
Conclusion 316
Appendix A Use Case Development Review Checklist 317
Appendix B Development Case for Advanced Use Case Modeling 323
Appendix C Simplified Loan Processing System 341
Appendix D Simplified Loan Processing System User Interface Specification 375
Bibliography 387
Index 399