1. The Whole Book in One Chapter
|
.. |
1
|
|
1.1. Three Threads
|
|
2
|
|
1.2. Design of Classes
|
|
2
|
|
1.3. Integration of Tools
|
|
3
|
|
1.4. How the UML Methods
Fit Together
|
|
7
|
|
1.5. Best Practices
|
|
9
|
|
1.6. Iteration
|
|
12
|
2. A Quick Introduction to Objects and Classes
|
|
14
|
|
2.1. Objects
|
|
14
|
|
2.2. Naming Convention
|
|
15
|
|
2.3. Classes
|
|
17
|
|
2.4. Class Stereotypes
|
|
17
|
3. A Quick Introduction to Class Diagrams
|
|
20
|
|
3.1. Association
|
|
20
|
|
3.2. System Conditions
And Association
|
|
21
|
|
3.3. Multiplicity
|
|
21
|
|
3.4. System Conditions
And Multiplicity
|
|
22
|
|
3.5. Aggregation
|
|
23
|
|
3.6. Reflexive Associations
|
|
25
|
|
3.7. Association Labelling
|
|
26
|
|
3.8. Some Exercises With
Class Association
|
|
28
|
|
3.9. Association Diagram
Themes
|
|
29
|
|
3.10. Generalization
(Inheritance)
|
|
30
|
|
3.11. Going Beyond Class
Diagram Notation
|
|
31
|
4. Scenario Analysis: Scenarios Per Se
|
|
32
|
|
4.1. Scenario Basics
|
|
32
|
|
4.2. Scenarios Plus Other
Techniques
|
|
33
|
|
4.3. Analysis Meetings
|
|
33
|
|
4.4. The Standard Format
of a Scenario
|
|
34
|
|
4.5. The Standard Content
of a Scenario
|
|
35
|
|
4.6. Scenarios and Objects
|
|
37
|
|
4.7. Actors and User
Interface Archetyping
|
|
38
|
|
4.8. Error Scenarios
Deferred
|
|
39
|
|
4.9. Cost-Justifying
Scenario Analysis
|
|
39
|
|
4.10. How Many Scenarios
Per Display?
|
|
40
|
|
4.11. Scenario Size Guidelines
|
|
41
|
|
4.12. Scenario Quality
Features
|
|
42
|
|
4.13. A Scenario Writing
Exercise
|
|
44
|
|
4.14. An Answer For the
Scenario Exercise
|
|
45
|
5. Scenario Analysis: Coverage
|
|
49
|
|
5.1. Work Breakdown For
Any Business
|
|
50
|
|
5.2. Preview of the Work
Breakdown Process
|
|
51
|
|
5.3. Case Study Work
Breakdown
|
|
53
|
|
5.4. Lessons Learned
From The Example
|
|
63
|
|
5.5. Completing the Work
Breakdown
|
|
64
|
|
5.6. Documenting the
Work Breakdown
|
|
65
|
|
5.7. Coordinating The
Project With The WBS
|
|
66
|
|
5.8. A Scenario Work
Breakdown Exercise
|
|
67
|
6. Interface Archetypes
|
|
68
|
|
6.1. Interface-Driven
Analysis
|
|
68
|
|
6.2. Data-Driven Analysis
|
|
69
|
|
6.3. Visual Interface
Archetypes
|
|
70
|
|
6.4. Effects On Scenarios
|
|
70
|
|
6.5. Case Study: Check
Out Page Archetype
|
|
71
|
|
6.6. Interfaces and Boundary
Objects
|
|
74
|
7. Sequence Diagrams In Analysis
|
|
77
|
|
7.1. Basic Sequence Diagram
Notation
|
|
77
|
|
7.2. Translating The
First Scenario
|
|
80
|
|
7.3. Finding Objects
With Noun Filters
|
|
83
|
|
7.4. Classes And Attributes
From The Noun Filter
|
|
90
|
|
7.5. Operations And Attributes
From The Sequence Diagram
|
|
90
|
|
7.6. Sequence Diagram
Exercise: Attributes And Operations
|
|
92
|
|
7.7. Class Relationships
From The Sequence Diagram
|
|
92
|
|
7.8. Class Relationships
Exercise
|
|
93
|
|
7.9. Two Standard Class
Diagrams For The Use Case
|
|
94
|
|
7.10. "Including" Other
Sequences in a Diagram
|
|
96
|
|
7.11. Answers For Exercises
In This Chapter
|
|
97
|
8. Sequence Diagram Techniques
|
|
99
|
|
8.1. Deployment (Choice of Assumptions)
|
|
99 |
|
8.2. Layering in Sequence
Diagrams
|
|
103
|
|
8.3. The Layered Checkout
Sequence Diagram
|
|
108
|
|
8.4. Introducing Controls
Into The Design
|
|
110
|
|
8.5. Analyzing Multiplicity
|
|
116
|
|
8.6. Using Collaboration
Diagrams
|
|
120
|
|
8.7. Answers For Exercises
In This Chapter
|
|
121
|
9. The Use Case Model & More On Actors
|
|
123
|
|
9.1. Relationship Between
Use Case & Scenario
|
|
123
|
|
9.2. Use Case Diagrams:
A Complete System Model
|
|
124
|
|
9.3. Drawing The Actors
& Use Cases Diagram
|
|
125
|
|
9.4. Drawing The Use
Case Relationships Diagram
|
|
127
|
|
9.5. Re-Thinking The
Actors
|
|
131
|
|
9.6. System Clock Actor
|
|
132
|
|
9.7. Internal Systems
Actors
|
|
133
|
|
9.8. External Systems
Actors
|
|
134
|
|
9.9. Adding A Non-Human
Actor To The System Model
|
|
135
|
|
9.10. Special Problems
With The Sequence Diagram
|
|
142
|
|
9.11. Combined Use Case
Analysis Techniques
|
|
147
|
|
9.12. Business Analysis
vs. System Analysis
|
|
148
|
|
9.13. Exercise: Adding
Non-Human Actors To The Model
|
|
148
|
10. Modelling The Use Case Interior
|
|
149
|
|
10.1. Sequential Logic
Networks In Words
|
|
149
|
|
10.2. Use Case: A Sequential
Logic Network
|
|
149
|
|
10.3. The Use Case Description;
Format & Content
|
|
150
|
|
10.4. A Use Case Writing
Exercise
|
|
155
|
|
10.5. Drawing Activity
Diagrams (Statecharts)
|
|
155
|
|
10.6. State; Events;
Activity
|
|
156
|
|
10.7. Using Activity
Diagram Elements
|
|
158
|
|
10.8. Mapping Use Case
Description Sections To Diagram Elements
|
|
160
|
|
10.9. Relations Between
The Use Case And Scenarios
|
|
165
|
|
10.10. The Use Case Document
Format
|
|
170
|
|
10.11. Use Case Development
Exercises
|
|
170
|
11. Handling Errors
|
|
171
|
|
11.1. A Preview Of The
Method
|
|
171
|
|
11.2. "Happy Day" And
Error Scenarios
|
|
172
|
|
11.3. A Simple Error
Scenario
|
|
172
|
|
11.4. Effects Of Errors
On The Example Use Case
|
|
174
|
|
11.5. Error References
|
|
178
|
|
11.6. Error Flows
|
|
178
|
|
11.7. Analysis Of The
Error Flow
|
|
180
|
|
11.8. The Use Case: Handle
Work-Stopping Errors
|
|
184
|
12. Analysis Of Error Coverage
|
|
187
|
|
12.1. Input; Hardware;
And Subsystems Errors
|
|
187
|
|
12.2. Work-Stopping Vulnerabilities
|
|
188
|
|
12.3. Failure vs. State
|
|
189
|
|
12.4. Interface Error
Responses
|
|
190
|
|
12.5. Spontaneous Interface
Errors
|
|
191
|
|
12.6. Failures To Respond
|
|
191
|
|
12.7. Vulnerabilities
By Actor/Failure/State
|
|
193
|
|
12.8. States Of The Handle
Work-Stopping Errors Use Case
|
|
194
|
|
12.9. Completing The
Error Coverage Analysis
|
|
195
|
|
12.10. How Error Breakdown
Affects Documentation
|
|
197
|
|
12.11. Exercise: Adding
Failure Event Types
|
|
197
|
|
12.12. One Is Never Sure
|
|
197
|
13. Adding Error Handling To The System
|
|
199
|
|
13.1. Error Handling
Analysis And Design
|
|
199
|
|
13.2. Variations In Error
Handling
|
|
199
|
|
13.3. Alternative Reactions
To Errors
|
|
199
|
|
13.4. The Error Policy
|
|
199
|
|
13.5. Bug Recovery
|
|
201
|
|
13.6. Practical Philosophy
Of Errors
|
|
201
|
14. Higher; Farther; Wider; Deeper
|
|
203
|
|
14.1. Generalization
(Inheritance)
|
|
203
|
|
14.2. Iteration Strategies
& Planning
|
|
203
|
|
14.3. Extra Class Properties
(Persistence; Friendships...)
|
|
203
|
|
14.4. Three-Tiered Architecture
|
|
203
|
|
14.5. Components And
Packages
|
|
203
|
|
14.6. State & The
Tick
|
|
203
|
|
14.7. Unified Process
|
|
203
|
15. Summary Of Recommendations For Analysis & Design
|
|
204
|
|
|
|
|
Example Work Breakdown Scenarios Document
|
|
|
1. The System Work Breakdown
|
|
1
|
2. Scenario Template
|
|
2
|
|
2.1. <Use Case Name>
Use Case Scenarios
|
|
2
|
3. Acquisitions Business Unit Scenarios
|
|
3
|
|
3.1. Add New Catalog
Item Use Case Scenarios
|
|
3
|
4. Administration Business Unit Scenarios
|
|
3
|
|
4.1. Manage Employees
Use Case Scenarios
|
|
3
|
5. Circulation Business Unit Scenarios
|
|
4
|
|
5.1. Check In Items Use
Case Scenarios
|
|
4
|
|
5.2. Check Out Items
Use Case Scenarios
|
|
24
|
|
5.3. Find Overdue Items
Use Case Scenarios
|
|
32
|
|
5.4. Pay A Fine Use Case
Scenarios
|
|
34
|
|
5.5. Register Borrower
Use Case Scenarios
|
|
34
|
|
5.6. Renew Item Use Case
Scenarios
|
|
34
|
|
5.7. Reserve Items Use
Case Scenarios
|
|
34
|
|
5.8. Shelve Items Use
Case Scenarios
|
|
34
|
|
5.9. Handle Work-Stopping
Errors Use Case Scenarios
|
|
35
|
6. Reference Business Unit Scenarios
|
|
36
|
|
6.1. Search Holdings
Use Case Scenarios
|
|
36
|
|
6.2. Search Reference
Documents Use Case Scenarios
|
|
36
|
|
|
|
|
Example Use Case Descriptions Document
|
|
|
7. The System Work Breakdown
|
|
2
|
|
7.1. Template: Use Case
Name Use Case
|
|
3
|
8. Acquisitions Business Unit
|
|
6
|
9. Administration Business Unit
|
|
6
|
|
9.1. Manage Employees
Use Case
|
|
6
|
10. Circulation Business Unit
|
|
7
|
|
10.1. Use Case Diagrams
|
|
7
|
|
10.2. Check In Items
Use Case
|
|
8
|
|
10.3. Check Out Items
Use Case
|
|
14
|
|
10.4. Find Overdue Items
Use Case
|
|
18
|
|
10.5. Pay A Fine Use
Case
|
|
18
|
|
10.6. Register Borrower
Use Case
|
|
18
|
|
10.7. Renew Item Use
Case
|
|
18
|
|
10.8. Reserve Items Use
Case
|
|
18
|
|
10.9. Shelve Items Use
Case
|
|
18
|
|
10.10. Handle Work-Stopping
Errors Use Case
|
|
19
|
11. Reference Business Unit
|
|
22
|
|
11.1. Search Holdings
Use Case
|
|
22
|
|
11.2. Search Reference
Documents Use Case
|
|
22
|