Sidebars xi
Preface xiii
Acknowledgments xix
About the Authors xxiSection I: Concepts 1Chapter 1: Complexity 3 1.1 The Structure of Complex Systems 4
1.2 The Inherent Complexity of Software 7
1.3 The Five Attributes of a Complex System 12
1.4 Organized and Disorganized Complexity 14
1.5 Bringing Order to Chaos 18
1.6 On Designing Complex Systems 24
Chapter 2: The Object Model 29 2.1 The Evolution of the Object Model 29
2.2 Foundations of the Object Model 37
2.3 Elements of the Object Model 43
2.4 Applying the Object Model 71
Chapter 3: Classes and Objects 75 3.1 The Nature of an Object 75
3.2 Relationships among Objects 88
3.3 The Nature of a Class 92
3.4 Relationships among Classes 96
3.5 The Interplay of Classes and Objects 111
3.6 On Building Quality Classes and Objects 112
Chapter 4: Classification 121 4.1 The Importance of Proper Classification 121
4.2 Identifying Classes and Objects 126
4.3 Key Abstractions and Mechanisms 138
Section II: Method 145Chapter 5: Notation 147 5.1 The Unified Modeling Language 147
5.2 Package Diagrams 155
5.3 Component Diagrams 163
5.4 Deployment Diagrams 171
5.5 Use Case Diagrams 175
5.6 Activity Diagrams 185
5.7 Class Diagrams 192
5.8 Sequence Diagrams 206
5.9 Interaction Overview Diagrams 213
5.10 Composite Structure Diagrams 215
5.11 State Machine Diagrams 218
5.12 Timing Diagrams 231
5.13 Object Diagrams 235
5.14 Communication Diagrams 238
Chapter 6: Process 247 6.1 First Principles 248
6.2 The Macro Process: The Software Development Lifecycle 256
6.3 The Micro Process: The Analysis and Design Process 272
Chapter 7: Pragmatics 303 7.1 Management and Planning 304
7.2 Staffing 308
7.3 Release Management 312
7.4 Reuse 314
7.5 Quality Assurance and Metrics 316
7.6 Documentation 320
7.7 Tools 322
7.8 Special Topics 324
7.9 The Benefits and Risks of Object-Oriented Development 326
Section III: Applications 331Chapter 8: System Architecture: Satellite-Based Navigation 333 8.1 Inception 334
8.2 Elaboration 347
8.3 Construction 370
8.4 Post-Transition 371
Chapter 9: Control System: Traffic Management 375 9.1 Inception 376
9.2 Elaboration 385
9.3 Construction 396
9.4 Post-Transition 411
Chapter 10: Artificial Intelligence: Cryptanalysis 413 10.1 Inception 414
10.2 Elaboration 421
10.3 Construction 427
10.4 Post-Transition 446
Chapter 11: Data Acquisition: Weather Monitoring Station 449 11.1 Inception 450
11.2 Elaboration 463
11.3 Construction 474
11.4 Post-Transition 487
Chapter 12: Web Application: Vacation Tracking System 489 12.1 Inception 490
12.2 Elaboration 494
12.3 Construction 506
12.4 Transition and Post-Transition 534
Appendix A: Object-Oriented Programming Languages 537 A.1 Language Evolution 537
A.2 Smalltalk 541
A.3 C++ 546
A.4 Java 551
Appendix B: Further Reading 557Notes 567
Glossary 591
Classified Bibliography 603
Index 677
Åtkomstkoder och digitalt tilläggsmaterial garanteras inte med begagnade böcker