Use cases allow software developers to identify exactly what features will be required by every user of a software system, and describe these features in terms that allow for rapid, cost-effective, successful development. Applying Use Cases is the most practical, simple, and gentle introduction to use cases. This edition is even better, with more real-world examples, more insight into the pitfalls of use case development, and thorough updating for UML 1.3 and RUP 2000. Leading mentors and consultants Geri Schneider and Jason Winters cover every phase of the process, in the context of a start-to-finish, realistic case study. Learn how to identify both primary and secondary scenarios for the usage of a proposed system; how to diagram use cases; and how to architect and organize large systems, define interfaces between components, and document your use cases.
Muu info
Use cases allow software developers to identify exactly what features will be required by every user of a software system, and describe these features in terms that allow for rapid, cost-effective, successful development. Applying Use Cases is the most practical, simple, and gentle introduction to use cases. This edition is even better, with more real-world examples, more insight into the pitfalls of use case development, and thorough updating for UML 1.3 and RUP 2000. Leading mentors and consultants Geri Schneider and Jason Winters cover every phase of the process, in the context of a start-to-finish, realistic case study. Learn how to identify both primary and secondary scenarios for the usage of a proposed system; how to diagram use cases; and how to architect and organize large systems, define interfaces between components, and document your use cases.
Foreword |
|
xi | |
Preface to Second Edition |
|
xiii | |
Preface |
|
xv | |
|
|
1 | (10) |
|
An Interative Software Process |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (2) |
|
|
6 | (4) |
|
|
10 | (1) |
|
Identifying System Boundaries |
|
|
11 | (16) |
|
|
12 | (2) |
|
|
14 | (3) |
|
Describing Actors and Use Cases |
|
|
17 | (4) |
|
|
21 | (1) |
|
Potential Boundary Problems |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (3) |
|
|
27 | (24) |
|
|
27 | (4) |
|
|
28 | (1) |
|
|
29 | (2) |
|
Guidelines for Correctness and Completeness |
|
|
31 | (1) |
|
|
32 | (2) |
|
|
34 | (1) |
|
Handling Complex Use Cases |
|
|
34 | (1) |
|
|
35 | (2) |
|
|
37 | (3) |
|
Detailing Significant Behavior |
|
|
40 | (2) |
|
|
42 | (5) |
|
|
47 | (1) |
|
Adding Direction to the Communicates Association |
|
|
47 | (1) |
|
|
48 | (3) |
|
Advanced Use Case Documentation Techniques |
|
|
51 | (16) |
|
|
51 | (2) |
|
|
53 | (5) |
|
|
58 | (1) |
|
|
59 | (6) |
|
|
65 | (2) |
|
|
67 | (12) |
|
|
67 | (6) |
|
|
73 | (2) |
|
Diagramming the User Interface |
|
|
75 | (2) |
|
|
77 | (2) |
|
|
79 | (10) |
|
Determining the Level of Detail |
|
|
79 | (5) |
|
Traceability between Use Cases |
|
|
84 | (1) |
|
Use Cases for Business Processes |
|
|
85 | (2) |
|
|
87 | (2) |
|
|
89 | (12) |
|
|
89 | (2) |
|
|
91 | (3) |
|
Tool Support for Documents |
|
|
94 | (1) |
|
|
95 | (3) |
|
|
98 | (1) |
|
|
99 | (2) |
|
|
101 | (22) |
|
|
101 | (2) |
|
Review for Potential Problems |
|
|
103 | (1) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
104 | (1) |
|
Adding Flexibility to Your System |
|
|
105 | (2) |
|
|
107 | (15) |
|
Work Flow on a Use Case Diagram |
|
|
107 | (1) |
|
|
108 | (4) |
|
|
112 | (3) |
|
|
115 | (5) |
|
Business versus Technical Requirements |
|
|
120 | (2) |
|
|
122 | (1) |
|
|
123 | (20) |
|
|
123 | (6) |
|
Three-Tier Architectural Pattern |
|
|
124 | (1) |
|
Pipe and Filter Architectural Pattern |
|
|
125 | (1) |
|
Object-Oriented Architectural Pattern |
|
|
126 | (1) |
|
Order-Processing Architecture Example |
|
|
126 | (3) |
|
Testing the Architecture with Use Cases |
|
|
129 | (4) |
|
|
133 | (1) |
|
Defining Interfaces between Subsystems |
|
|
133 | (3) |
|
|
136 | (4) |
|
Creating Subsystem Documentation |
|
|
140 | (1) |
|
Subordinate versus Alternative versus Include |
|
|
141 | (1) |
|
|
142 | (1) |
|
Use Cases and the Project Plan |
|
|
143 | (16) |
|
|
143 | (8) |
|
Build versus Buy Decisions |
|
|
149 | (1) |
|
|
150 | (1) |
|
Estimating Work with Use Cases |
|
|
151 | (7) |
|
|
151 | (1) |
|
|
152 | (1) |
|
Weighting Technical Factors |
|
|
153 | (4) |
|
|
157 | (1) |
|
|
157 | (1) |
|
|
158 | (1) |
|
Constructing and Delivering a System |
|
|
159 | (12) |
|
Key Abstractions of the Domain |
|
|
159 | (7) |
|
Identifying Key Abstractions in Use Cases |
|
|
160 | (1) |
|
Diagramming Scenarios with Key Abstractions |
|
|
161 | (2) |
|
Diagramming Key Abstractions |
|
|
163 | (1) |
|
Use Case versus Subsystem View |
|
|
164 | (2) |
|
|
166 | (1) |
|
|
167 | (2) |
|
|
168 | (1) |
|
Sales Kits and Marketing Literature |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
Appendix A Resources |
|
171 | (4) |
Appendix B Documentation Templates |
|
175 | (4) |
|
System or Subsystem Documents |
|
|
175 | (1) |
|
|
176 | (3) |
Appendix C UML Notation |
|
179 | (6) |
Appendix D Sending Results of the Use Case Estimator |
|
185 | (2) |
Appendix E Order-Processing System |
|
187 | (52) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
190 | (49) |
Index |
|
239 | |
Geri Schneider is a senior consultant and trainer at Andrews Technology, Inc., in the areas of iterative development, software project management, object-oriented analysis and design, software architecture, design patterns, and use cases. In addition, she teaches in the software engineering management certificate program for the University of California Santa Cruz Extension. She previously worked for Rational Software Corporation mentoring customers in the areas of iterative development, object technologies, and use case analysis. Jason P. Winters is a staff design engineer for Cadence Design Systems, Inc. He was previously with Lucent Technologies as a staff engineer. At Lucent, he designed and built specialized tools, promoted the use of modern software development practices and tools throughout the company, and mentored projects on object-oriented analysis and design, UML, and use cases.
0201708531AB04062001