Foreword |
|
xvii | |
Preface |
|
xix | |
Acknowledgments |
|
xxv | |
About the Author |
|
xxvii | |
|
Introduction to Agile and Real-Time Concepts |
|
|
1 | (32) |
|
|
1 | (2) |
|
|
3 | (5) |
|
Properties of Real-Time Embedded Systems |
|
|
8 | (6) |
|
Benefits of Agile Methods |
|
|
14 | (11) |
|
|
15 | (1) |
|
Early Return on Investment |
|
|
16 | (3) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
21 | (3) |
|
Earlier and Greater Reduction in Project Risk |
|
|
24 | (1) |
|
Efficient High-Quality Development |
|
|
25 | (1) |
|
Agile Methods and Traditional Processes |
|
|
25 | (6) |
|
|
26 | (1) |
|
|
27 | (3) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (2) |
|
Concepts, Goals, and Benefits of Model-Driven Development |
|
|
33 | (58) |
|
|
33 | (3) |
|
|
36 | (5) |
|
|
41 | (26) |
|
|
41 | (2) |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
45 | (4) |
|
|
49 | (6) |
|
|
55 | (2) |
|
|
57 | (10) |
|
|
67 | (6) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (1) |
|
|
70 | (3) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
Isolation from Technology Churn |
|
|
74 | (1) |
|
Harmony's Five Key Architectural Views |
|
|
74 | (16) |
|
Subsystem and Component Architecture |
|
|
76 | (1) |
|
Concurrency and Resource Management Architecture |
|
|
77 | (4) |
|
Distribution Architecture |
|
|
81 | (1) |
|
Safety and Reliability Architecture |
|
|
82 | (2) |
|
|
84 | (3) |
|
Secondary Architectural Views |
|
|
87 | (3) |
|
|
90 | (1) |
|
Harmony/ESW Principles and Practices |
|
|
91 | (64) |
|
|
91 | (39) |
|
Your Primary Goal: Develop Working Software |
|
|
92 | (2) |
|
Measure Progress against the Goal. Not the Implementation |
|
|
94 | (1) |
|
Your Primary Measure of Progress Is Working Software |
|
|
95 | (1) |
|
Don't Put Defects in Your Software! |
|
|
95 | (8) |
|
Continuous Feedback Is Crucial |
|
|
103 | (9) |
|
The Five Key Views of Architecture |
|
|
112 | (4) |
|
Supplementing Your Architecture with Secondary Architectural Views |
|
|
116 | (1) |
|
|
117 | (1) |
|
The Leading Cause of Project Failure Is Ignoring Risk |
|
|
118 | (2) |
|
Continuous Attention to Quality |
|
|
120 | (3) |
|
|
123 | (5) |
|
Optimizing the Right Things |
|
|
128 | (2) |
|
|
130 | (23) |
|
|
130 | (3) |
|
|
133 | (5) |
|
Minimize Overall Complexity |
|
|
138 | (4) |
|
|
142 | (2) |
|
|
144 | (2) |
|
Prove the System under Development Is Correct---Continually |
|
|
146 | (1) |
|
Create Software and Tests at the Same Time |
|
|
147 | (2) |
|
Apply Patterns Intelligently |
|
|
149 | (1) |
|
Manage Interfaces to Ease Integration |
|
|
150 | (2) |
|
Use Model-Code Associativity |
|
|
152 | (1) |
|
|
153 | (2) |
|
|
155 | (42) |
|
|
155 | (8) |
|
Harmony/ESW Process Introduction |
|
|
158 | (5) |
|
|
163 | (5) |
|
Prototype-Based Spiral Development |
|
|
168 | (3) |
|
Harmony Macrocycle Process View |
|
|
171 | (6) |
|
|
173 | (1) |
|
Defining and Deploying the Development Environment |
|
|
174 | (1) |
|
Developing Stakeholder Requirements |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
176 | (1) |
|
|
177 | (14) |
|
|
180 | (1) |
|
|
180 | (3) |
|
|
183 | (5) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
Increment Review (Party Phase) |
|
|
190 | (1) |
|
What about Systems Engineering? |
|
|
191 | (1) |
|
|
192 | (2) |
|
Combining Agile, MDA, and Harmony |
|
|
194 | (1) |
|
|
194 | (3) |
|
|
197 | (72) |
|
What Do You Need to Get Started? The Baby Bear Plan |
|
|
198 | (1) |
|
|
199 | (51) |
|
|
200 | (14) |
|
Creating the Team Structure |
|
|
214 | (1) |
|
|
215 | (2) |
|
Planning for Risk Reduction |
|
|
217 | (2) |
|
Specifying the Logical Architecture |
|
|
219 | (10) |
|
Performing the Initial Safety and Reliability Analysis |
|
|
229 | (21) |
|
Developing Stakeholder Requirements |
|
|
250 | (8) |
|
Defining the Product Vision |
|
|
252 | (1) |
|
Finding and Outlining Stakeholder Requirements |
|
|
252 | (3) |
|
Detailing the Stakeholder Requirements |
|
|
255 | (1) |
|
Reviewing Stakeholder Requirements |
|
|
256 | (2) |
|
Defining and Deploying the Development Environment |
|
|
258 | (4) |
|
Tailoring the Development Process |
|
|
259 | (2) |
|
Installing, Configuring, and Launching Development Tools |
|
|
261 | (1) |
|
Installing and Configuring the CM Environment |
|
|
261 | (1) |
|
|
262 | (4) |
|
|
262 | (1) |
|
Continuous Configuration Management |
|
|
263 | (3) |
|
|
266 | (3) |
|
|
269 | (60) |
|
|
272 | (38) |
|
|
273 | (5) |
|
Specifying the User Interface |
|
|
278 | (1) |
|
|
279 | (17) |
|
Generating System Requirements |
|
|
296 | (2) |
|
Managing Safety and Reliability Requirements |
|
|
298 | (1) |
|
Use Case White-Box Analysis |
|
|
299 | (10) |
|
Use Case Consistency Analysis |
|
|
309 | (1) |
|
Detailing System Requirements |
|
|
309 | (1) |
|
|
310 | (18) |
|
Identifying Objects and Classes |
|
|
313 | (4) |
|
Example from the Targeting Scanner Subsystem |
|
|
317 | (4) |
|
Refining the Collaboration |
|
|
321 | (4) |
|
Creating the Unit Test/Suite |
|
|
325 | (1) |
|
Translating the Model into Code |
|
|
325 | (2) |
|
|
327 | (1) |
|
Factoring the Elements into the Model |
|
|
327 | (1) |
|
|
327 | (1) |
|
Making the Change Set Available |
|
|
328 | (1) |
|
|
328 | (1) |
|
|
329 | (44) |
|
Optimization and the Use of Design Patterns |
|
|
331 | (8) |
|
|
331 | (3) |
|
|
334 | (5) |
|
|
339 | (19) |
|
Primary and Secondary Architectural Views |
|
|
339 | (2) |
|
Architectural Design Workflow |
|
|
341 | (1) |
|
Optimizing Subsystem and Component Architecture |
|
|
341 | (2) |
|
Optimizing Concurrency and Resource Management Architecture |
|
|
343 | (4) |
|
Optimizing Distribution Architecture |
|
|
347 | (2) |
|
Optimizing Safety and Reliability Architecture |
|
|
349 | (2) |
|
Optimizing Deployment Architecture |
|
|
351 | (2) |
|
Optimizing Secondary Architectural Views |
|
|
353 | (1) |
|
Adding Architecture to the Transporter |
|
|
353 | (5) |
|
|
358 | (4) |
|
Mechanistic Design Workflow |
|
|
358 | (1) |
|
Optimizing the Mechanistic Model |
|
|
358 | (3) |
|
Practical Example: Optimizing the Collaboration |
|
|
361 | (1) |
|
|
362 | (9) |
|
|
364 | (1) |
|
Identifying ``Special Needs'' Classes |
|
|
365 | (2) |
|
|
367 | (4) |
|
|
371 | (2) |
|
|
373 | (30) |
|
|
375 | (5) |
|
|
376 | (2) |
|
|
378 | (1) |
|
|
379 | (1) |
|
|
380 | (5) |
|
|
385 | (3) |
|
|
388 | (2) |
|
|
388 | (2) |
|
|
390 | (1) |
|
|
390 | (7) |
|
|
394 | (1) |
|
Managing Integration Tests |
|
|
395 | (1) |
|
Validating and Accepting Changes to the Baseline |
|
|
396 | (1) |
|
Making the Baseline Available |
|
|
397 | (1) |
|
|
397 | (4) |
|
|
397 | (3) |
|
|
400 | (1) |
|
|
401 | (2) |
|
Agile Process Optimization |
|
|
403 | (24) |
|
Understanding Dynamic Planning |
|
|
404 | (3) |
|
|
407 | (7) |
|
Controlling Project Workflow |
|
|
407 | (1) |
|
Refining and Deploying the Development Environment |
|
|
408 | (2) |
|
|
410 | (1) |
|
|
411 | (3) |
|
Updating the Hazard Analysis |
|
|
414 | (1) |
|
|
414 | (3) |
|
Change Management Workflow |
|
|
414 | (3) |
|
|
417 | (3) |
|
|
420 | (4) |
|
|
420 | (1) |
|
|
421 | (1) |
|
|
422 | (1) |
|
|
422 | (1) |
|
Reviewing the Defect List and Defect Rates |
|
|
423 | (1) |
|
|
423 | (1) |
|
Reviewing the Risk Management Plan |
|
|
424 | (1) |
|
|
424 | (3) |
|
Appendix A: Starfleet ZX-1000 Transporter System Requirements Specification |
|
|
427 | (20) |
|
|
427 | (1) |
|
|
427 | (3) |
|
|
428 | (1) |
|
Biomaterials Transport Mode |
|
|
428 | (1) |
|
|
429 | (1) |
|
|
429 | (1) |
|
|
429 | (1) |
|
|
429 | (1) |
|
General System Requirements |
|
|
430 | (7) |
|
|
430 | (1) |
|
|
431 | (1) |
|
Target Scan and Coordinate Lock |
|
|
432 | (1) |
|
|
432 | (1) |
|
|
433 | (1) |
|
|
433 | (1) |
|
Matter Stream Transmission |
|
|
433 | (1) |
|
|
434 | (1) |
|
|
434 | (1) |
|
Transportation Sequencing |
|
|
434 | (2) |
|
|
436 | (1) |
|
|
437 | (3) |
|
|
437 | (2) |
|
|
439 | (1) |
|
|
439 | (1) |
|
Primary and Secondary Energizing Coils |
|
|
439 | (1) |
|
|
439 | (1) |
|
Quantum Molecular Imaging Scanners |
|
|
439 | (1) |
|
|
439 | (1) |
|
|
440 | (1) |
|
|
440 | (1) |
|
|
440 | (1) |
|
|
440 | (7) |
|
|
441 | (1) |
|
|
441 | (1) |
|
Hazardous Material Dispersal |
|
|
441 | (1) |
|
|
441 | (1) |
|
|
441 | (1) |
|
|
442 | (1) |
|
|
442 | (2) |
|
Hazardous Materials Filter |
|
|
444 | (1) |
|
Phase/Frequency/Packet Compensation |
|
|
445 | (2) |
|
Appendix B: Harmony/ESW and CMMI: Achieving Compliance |
|
|
447 | (36) |
|
|
447 | (1) |
|
|
447 | (5) |
|
|
448 | (2) |
|
|
450 | (2) |
|
Achieving CMMI Compliance with Harmony/ESW |
|
|
452 | (29) |
|
|
452 | (1) |
|
|
452 | (10) |
|
|
462 | (16) |
|
|
478 | (1) |
|
|
479 | (2) |
|
|
481 | (1) |
|
|
482 | (1) |
Glossary |
|
483 | (12) |
Index |
|
495 | |