| | 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 |