Preface V The First Sectoin:Concepts Chapter 1: Complexity 1.1 The Inherent Complexity of Software 1.2 The Structure of Comples Systems 1.3 Bringing Order to Chaos 1.4 On Designing Complex Systems Sidebar:Categoires of Analysis and Design Methods Chapter 2: The Object Model 2.1 The Evolution of the Object Model 2.2 Elements of the Object Model 2.3 Applying the Object Model Sidebar:Foundations of the Object Model Chapter 3: Classes and Objects 3.1 The Nature of an Object 3.2 Relationships Among Objects 3.3 The Nature of a Class 3.4 Relationships Among Classes 3.5 The interplay of Classes and Objects 3.6 On Building Quality Classes and Objects Sidebar:Invoking a Method Chapter 4:Classification 4.1 The Importance of Proper Classification 4.2 Identifying Classes and Objects 4.3 Key Abstractions and mechanisms Sidebar:A Problem of Classification The Second Section: The Method Chapter 5:The Notation 5.1 Elements of the Notation 5.2 Class Diagrams 5.3 State Transition Diagrams 5.4 Object Diagrams 5.5 Interaction Diagrams 5.6 Module Diagrams 5.7 Process Diagrams 5.8 Applying the Notation Chapter 6:The Process 6.1 First Principles 6.2 The Micro Development Process 6.3 the Macro Development Process Chapter 7:Pragmatics 7.1 Management and Planning 7.2 Staffing 7.3 Release Management 7.4 Reuse 7.5 Quality Assurance and Metrics 7.6 Documentation 7.7 Tools 7.8 Special Topics 7.8 The Benefits and Risks of Object-Oriented Development The Third Section:Applications Chapter 8: Data Acquisition:Weather Monitoring Station 8.1 Analysis 8.2 Design 8.3 Evolution 8.4 maintenance Sidebar:Weather Montoring Station Requirements Chapter 9:Frameworks:Foundation Class Library 9.1 Analysis 9.2 Design 9.3 Evolution 9.4 Maintenance Sidebar:Foundation Class Libray Requirements Chapter 10:Client/Server Computing:Inventory Tracking 10.1 Analysis 10.2 Design 10.3 Evolution 10.4 Maintenance Sidebar:Inventory Tracking System Requirements Chapter 11:Artificial Intelligence:Cryptanalysis 11.1 Analysis 11.2 design 11.3 Evolution 11.4 Maintenance Sidebar:Cryptanalysis Requirements Chapter 12:Command and Control:Traffic Management 12.1 Analysis 12.2 Design 12.3 Evolution 12.4 Maintenance Sidebar:traffic Management System Requirements Afterword Appendix:Object-Oriented Programming Languages A.1 Concepts A.2 Smaltalk A.3 Object Pascal A.4 C++ A.5 Common Lisp Object System A.6 Ada A.7 Eiffel A.8 Other Object-Oriented Programming languages Notes Glossary