Preface |
|
xiii | |
Audience |
|
xiv | |
Goals |
|
xv | |
Where to Go After the Book |
|
xv | |
Evaluate UML on ARM |
|
xv | |
Acknowledgments |
|
xvii | |
About the Author |
|
xix | |
What's on the CD-ROM? |
|
xxi | |
|
|
1 | (34) |
|
Basic Modeling Concepts of the UML |
|
|
1 | (4) |
|
Structural Elements and Diagrams |
|
|
5 | (14) |
|
Small Things: Objects, Classes, and Interfaces |
|
|
5 | (5) |
|
|
10 | (7) |
|
Big Things: Subsystems, Components, and Packages |
|
|
17 | (2) |
|
Behavioral Elements and Diagrams |
|
|
19 | (12) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (2) |
|
|
22 | (5) |
|
|
27 | (4) |
|
Use Case and Requirements Models |
|
|
31 | (2) |
|
|
33 | (1) |
|
|
33 | (2) |
|
|
35 | (30) |
|
|
35 | (1) |
|
The Harmony Development Process |
|
|
36 | (27) |
|
|
36 | (5) |
|
|
41 | (2) |
|
The Systems Engineering Harmony Workflows in Detail |
|
|
43 | (4) |
|
The Incremental (Spiral) Development Workflows in Detail |
|
|
47 | (1) |
|
Increment Review (Party!) Workflow |
|
|
48 | (7) |
|
Design with the Harmony Process |
|
|
55 | (5) |
|
|
60 | (1) |
|
|
61 | (2) |
|
|
63 | (2) |
|
|
65 | (18) |
|
|
65 | (2) |
|
Problem 3.1 Identifying Kinds of Requirements for Roadrunner Traffic Light Control System |
|
|
67 | (2) |
|
Problem 3.2 Identifying Use Cases for the Roadrunner Traffic Light Control System |
|
|
69 | (1) |
|
Problem 3.3 Mapping Requirements to Use Cases |
|
|
69 | (1) |
|
Problem 3.4 Identifying Use Cases for the Coyote UAV System |
|
|
70 | (1) |
|
Problem 3.5 Identifying Parametric Requirements |
|
|
70 | (1) |
|
Problem 3.6 Capturing Quality of Service Requirements in Use Cases |
|
|
71 | (1) |
|
Problem 3.7 Operational View: Identifying Traffic Light Scenarios |
|
|
71 | (2) |
|
Problem 3.8 Operational View: CUAVS Optical Surveillance Scenarios |
|
|
73 | (1) |
|
Problem 3.9 Specification View: Use-Case Description |
|
|
73 | (1) |
|
Specification View: State Machines for Requirements Capture |
|
|
74 | (2) |
|
Problem 3.10 Specification View: Capturing Complex Requirements |
|
|
76 | (1) |
|
Problem 3.11 Operational to Specification View: Capturing Operational Contracts |
|
|
77 | (5) |
|
|
82 | (1) |
|
|
83 | (26) |
|
|
83 | (2) |
|
Problem 4.1 Organizing the Systems Model |
|
|
85 | (5) |
|
Problem 4.2 Subsystem Identification |
|
|
90 | (2) |
|
Problem 4.3 Mapping Operational Contracts into Subsystem Architecture |
|
|
92 | (9) |
|
Problem 4.4 Identifying Subsystem Use Cases |
|
|
101 | (6) |
|
|
107 | (2) |
|
|
109 | (32) |
|
|
109 | (2) |
|
Key Strategies for Object Identification |
|
|
111 | (5) |
|
Underline the Noun Strategy |
|
|
113 | (1) |
|
Identify the Causal Agents |
|
|
113 | (1) |
|
Identify Services (Passive Contributors or Server Objects) |
|
|
114 | (1) |
|
Identify Messages and Information Flows |
|
|
114 | (1) |
|
Identify Real-World Items |
|
|
114 | (1) |
|
Identify Physical Devices |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
Identify Persistent Information |
|
|
115 | (1) |
|
|
115 | (1) |
|
Identify Control Elements |
|
|
116 | (1) |
|
|
116 | (1) |
|
Problem 5.1 Apply Nouns and Causal Agents Strategies |
|
|
116 | (9) |
|
Problem 5.2 Apply Services and Messages Strategies |
|
|
125 | (2) |
|
Problem 5.3 Apply Real-World Items and Physical Devices Strategies |
|
|
127 | (1) |
|
Problem 5.4 Apply Key Concepts and Transaction Strategies |
|
|
128 | (1) |
|
Problem 5.5 Apply Identify Visual Elements and Scenarios Strategies |
|
|
128 | (9) |
|
Problem 5.6 Merge Models from the Various Strategies |
|
|
137 | (2) |
|
|
139 | (2) |
|
|
141 | (38) |
|
|
141 | (6) |
|
Problem 6.1 Concurrency and Resource Architecture |
|
|
147 | (11) |
|
Problem 6.2 Distribution Architecture |
|
|
158 | (5) |
|
Problem 6.3 Safety and Reliability Architecture |
|
|
163 | (14) |
|
|
177 | (2) |
|
Mechanistic and Detailed Design |
|
|
179 | (36) |
|
|
179 | (1) |
|
|
180 | (7) |
|
Delegation Pattern Strategy |
|
|
183 | (2) |
|
Interface Abstraction Pattern Strategy |
|
|
185 | (2) |
|
|
187 | (5) |
|
Problem 7.1 Applying Mechanistic Design Patterns---Part 1 |
|
|
192 | (4) |
|
Problem 7.2 Applying Mechanistic Design Patterns---Part 2 |
|
|
196 | (5) |
|
Problem 7.3 Applying Detailed-Design State Behavior Patterns |
|
|
201 | (5) |
|
Problem 7.4 Applying Detailed Design Idioms |
|
|
206 | (8) |
|
|
214 | (1) |
|
Specifying Requirements: Answers |
|
|
215 | (28) |
|
Answer 3.1 Identifying Kinds of Requirements |
|
|
215 | (1) |
|
Answer 3.2 Identifying Use Cases for Roadrunner Traffic Light Control System |
|
|
216 | (3) |
|
Answer 3.3 Mapping Requirements to Use Cases |
|
|
219 | (1) |
|
Answer 3.4 Identifying Use Cases for Coyote UAV System |
|
|
220 | (2) |
|
Answer 3.5 Identifying Parametric Requirements |
|
|
222 | (1) |
|
Answer 3.6 Capturing Quality of Service Requirements |
|
|
223 | (1) |
|
Answer 3.7 Operational View: Identifying Traffic Light Scenarios |
|
|
224 | (4) |
|
Answer 3.8 Operational View: CUAVS Optical Surveillance Scenarios |
|
|
228 | (3) |
|
Answer 3.9 Specification View: Use-Case Descriptions |
|
|
231 | (1) |
|
Answer 3.10 Specification View: Capturing Complex Requirements |
|
|
232 | (6) |
|
Answer 3.11 Operational to Specification View: Capturing Operational Contracts |
|
|
238 | (4) |
|
|
242 | (1) |
|
Systems Architecture: Answers |
|
|
243 | (30) |
|
Answer 4.1 Organizing the Systems Model |
|
|
243 | (7) |
|
Answer 4.2 Subsystem Identification |
|
|
250 | (6) |
|
Answer 4.3 Mapping Operational Contracts into the Subsystem Architecture |
|
|
256 | (11) |
|
Answer 4.4 Identifying Subsystem Use Cases |
|
|
267 | (6) |
|
|
273 | (44) |
|
Answer 5.1 Apply Nouns and Causal Agents Strategies |
|
|
273 | (18) |
|
Answer 5.2 Apply Services and Messages Strategies |
|
|
291 | (6) |
|
Answer 5.3 Applying the Real-World Items and Physical Devices Strategies |
|
|
297 | (2) |
|
Answer 5.4 Apply Key Concepts and Transaction Strategies |
|
|
299 | (4) |
|
Answer 5.5 Identify Visual Elements and Scenarios Strategies |
|
|
303 | (12) |
|
Answer 5.6 Merge Models from the Various Strategies |
|
|
315 | (2) |
|
Architectural Design: Answers |
|
|
317 | (22) |
|
Answer 6.1 Concurrency and Resource Architecture |
|
|
317 | (2) |
|
Answer 6.2 Distribution Architecture |
|
|
319 | (4) |
|
Answer 6.3 Safety and Reliability Architecture |
|
|
323 | (16) |
|
Mechanistic and Detailed Design: Answers |
|
|
339 | (18) |
|
Answer 7.1 Applying Mechanistic Design Patterns---Part 1 |
|
|
339 | (2) |
|
Answer 7.2 Applying Mechanistic Design Patterns---Part 2 |
|
|
341 | (5) |
|
Answer 7.3 Applying Detailed-Design State Behavior Patterns |
|
|
346 | (5) |
|
Answer 7.4 Applying Detailed-Design Idioms |
|
|
351 | (6) |
|
Appendix A: The Roadrunner Intersection Controller System Specification |
|
|
357 | (14) |
|
|
357 | (1) |
|
The Intersection Controller (IC) |
|
|
357 | (14) |
|
|
358 | (3) |
|
|
361 | (4) |
|
|
365 | (1) |
|
|
366 | (1) |
|
Pedestrian Light and Sensor |
|
|
367 | (1) |
|
|
368 | (1) |
|
|
369 | (1) |
|
|
370 | (1) |
|
Appendix B: The Coyote Unmanned Air Vehicle System (CUAVS) Specification |
|
|
371 | (8) |
|
|
371 | (1) |
|
Primary CUAV System Components |
|
|
371 | (2) |
|
The Unmanned Air Vehicle (UAV) |
|
|
371 | (1) |
|
The Coyote Mission Planning and Control System (CMPCS) |
|
|
372 | (1) |
|
|
372 | (1) |
|
The Coyote Datalink Subsystem (CDS) |
|
|
373 | (1) |
|
|
373 | (1) |
|
The Unmanned Air Vehicle (UAV) |
|
|
373 | (1) |
|
|
373 | (1) |
|
|
374 | (1) |
|
The Coyote Mission Planning and Control System (CMPCS) |
|
|
374 | (1) |
|
The Coyote Reconnaissance Sensor Suite Payload (CSSP) |
|
|
375 | (1) |
|
The Coyote Hellfire Attack Payload (CHAP) |
|
|
376 | (1) |
|
The Coyote Datalink Subsystem (CDS) |
|
|
377 | (2) |
|
Appendix C: UML Notational Summary |
|
|
379 | (22) |
Index |
|
401 | |