| | | Copyright |
| | | Foreword |
| | | Preface |
| | | | Goals |
| | | | Approach |
| | | | Chapter Summaries |
| | | | Acknowledgments |
| |
| | | Chapter 1. Introduction |
| | | | What is Visual Modeling? |
| | | | The Triangle for Success |
| | | | The Role of Notation |
| | | | History of the UML |
| | | | The Role of Process |
| | | | What is Iterative and Incremental Development? |
| | | | The Rational Unified Process |
| | | | The Rational Rose Tool |
| | | | Summary |
| |
| | | Chapter 2. Beginning a Project |
| | | | Defining the Right Project |
| | | | Eastern State University (ESU) Background |
| | | | Risks for the Course Registration Problem |
| | | | ESU Course Registration Problem Statement |
| | | | Summary |
| |
| | | Chapter 3. Creating Use Cases |
| | | | System Behavior |
| | | | Actors |
| | | | Use Cases |
| | | | Use Case Relationships |
| | | | Use Case Diagrams |
| | | | Activity Diagrams |
| | | | Summary |
| |
| | | Chapter 4. Finding Classes |
| | | | What is an Object? |
| | | | State, Behavior, and Identity |
| | | | What is a Class? |
| | | | Stereotypes and Classes |
| | | | Discovering Classes |
| | | | Documenting Classes |
| | | | Packages |
| | | | Objects and Classes in the ESU Course Registration Problem |
| | | | Class Diagrams |
| | | | Summary |
| |
| | | Chapter 5. Discovering Object Interaction |
| | | | Use Case Realization |
| | | | Documenting Scenarios |
| | | | Sequence Diagrams |
| | | | Sequence Diagrams and Boundary Classes |
| | | | Complexity and Sequence Diagrams |
| | | | Collaboration Diagrams |
| | | | Why Are There Two Different Diagrams? |
| | | | Sequence Diagram for the ESU Course Registration System |
| | | | Summary |
| |
| | | Chapter 6. Specifying Relationships |
| | | | The Need for Relationships |
| | | | Association Relationships |
| | | | Aggregation Relationships |
| | | | Association or Aggregation? |
| | | | Naming Relationships |
| | | | Role Names |
| | | | Multiplicity Indicators |
| | | | Reflexive Relationships |
| | | | Finding Relationships |
| | | | Package Relationships |
| | | | Summary |
| |
| | | Chapter 7. Adding Behavior and Structure |
| | | | Representing Behavior and Structure |
| | | | Creating Operations |
| | | | Documenting Operations |
| | | | Relationships and Operation Signatures |
| | | | Creating Attributes |
| | | | Documenting Attributes |
| | | | Displaying Attributes and Operations |
| | | | Association Classes |
| | | | Summary |
| |
| | | Chapter 8. Discovering Inheritance |
| | | | Inheritance |
| | | | Generalization |
| | | | Specialization |
| | | | Inheritance Trees |
| | | | Single Inheritance Versus Multiple Inheritance |
| | | | Inheritance Versus Aggregation |
| | | | Summary |
| |
| | | Chapter 9. Analyzing Object Behavior |
| | | | Modeling Dynamic Behavior |
| | | | States |
| | | | State Transitions |
| | | | Special States |
| | | | State Transition Details |
| | | | State Details |
| | | | Summary |
| |
| | | Chapter 10. Checking the Model |
| | | | Why Homogenize? |
| | | | Combining Classes |
| | | | Splitting Classes |
| | | | Eliminating Classes |
| | | | Consistency Checking |
| | | | Scenario Walk-Through |
| | | | Event Tracing |
| | | | Documentation Review |
| | | | Summary |
| |
| | | Chapter 11. Designing the System Architecture |
| | | | The Need for Architecture |
| | | | The Architecture Team |
| | | | THe 4+1 View of Architecture |
| | | | The Logical View |
| | | | The Implementation View |
| | | | The Process View |
| | | | The Deployment View |
| | | | The Use Case View |
| | | | Summary |
| |
| | | Chapter 12. Building the Iterations |
| | | | The Iteration Planning Process |
| | | | Designing the User Interface |
| | | | Adding Design Classes |
| | | | The Emergence of Patterns |
| | | | Designing Relationships |
| | | | Designing Attributes and Operations |
| | | | Designing for Inheritance |
| | | | Coding, Testing, and Documenting the Iteration |
| | | | Using Reverse Engineering to Set the Stage for the Next Iteration |
| | | | Summary |
| |
| | | Appendix A. Code Generation and Reverse Engineering with C++ |
| | | | Code Generation |
| | | | Reverse Engineering Using the C++ Analyzer |
| |
| | | Appendix B. Code Generation and Reverse Engineering with Visual C++ and Visual Basic |
| | | | Code Generation |
| | | | Reverse Engineering |
| |
| | | Appendix C. A Visual Basic Example |
| | | | Make an ActiveX DLL |
| | | | Reuse the ActiveX DLL |
| |
| | | Glossary |