You are previewing UML™ Bible.
O'Reilly logo
UML™ Bible

Book Description

  • Comprehensive coverage of all aspects of UML (Unified Modeling Language), including use, diagramming notation, the object constraint language, and profiles

  • UML is the industry standard specification for modeling, visualizing, and documenting software projects

  • Includes up-to-date coverage of both UML 1.4 and the new 2.0 UML specifications

  • Thoroughly covers executable UML and testing UML diagrams, making coding more efficient

  • Companion Web site provides additional code samples and updates

Table of Contents

  1. Cover Page
  2. Praise for Tom Pender's
  3. Title Page
  4. Copyright
  5. About the Authors
  6. Credits
  7. Dedication
  8. Preface
    1. Who Should Read This Book
    2. Why You Need This Book
    3. How This Book Is Organized
    4. The Companion Web Site
    5. Conventions Used in This Book
  9. Acknowledgments
  10. Contents at a Glance
  11. Contents
  12. PART I: An Introduction to UML
    1. CHAPTER 1: What Is UML?
      1. Understanding the History Behind UML
      2. The Goals and Features of UML
      3. Introducing UML 2.0
      4. The Object Management Group
      5. Summary
    2. CHAPTER 2: UML Architecture
      1. The Four-Layer Metamodel Architecture
      2. UML Version 1.4
      3. UML 2.0
      4. Summary
    3. CHAPTER 3: UML Diagrams and Extension Mechanisms
      1. UML Diagrams and Work Products
      2. Model Management Diagrams
      3. Structural Diagrams
      4. Behavioral Diagrams
      5. Extensibility mechanisms
      6. Comments
      7. Profiles
      8. Summary
    4. CHAPTER 4: Object-Oriented Concepts
      1. Objects and Classes
      2. Creating Abstractions of Objects
      3. Defining an object
      4. Encapsulation
      5. Defining associations and links
      6. Defining inheritance/generalization
      7. Defining Polymorphism
      8. Measuring Quality
      9. Summary
  13. PART II: Modeling Object Structure
    1. CHAPTER 5: Capturing Rules about Objects in a Class Diagram
      1. Defining the Purpose and Function of the Class Diagram
      2. Modeling a Class
      3. Modeling the Name Compartment
      4. Modeling Visibility
      5. Modeling Multiplicity
      6. Modeling the attributes compartment
      7. Modeling the operations compartment
      8. Modeling User-Defined Compartments
      9. Modeling Advanced Class Features
      10. Summary
    2. CHAPTER 6: How to Capture Rules about Object Relationships
      1. Defining the Purpose and Function of an Association
      2. Modeling an Association
      3. Modeling an Association Class
      4. Modeling N-ary Associations
      5. Modeling Aggregation
      6. Modeling Composition
      7. Modeling Generalization
      8. Modeling Dependency
      9. Summary
    3. CHAPTER 7: Testing with Objects
      1. Modeling Objects and Links
      2. UML 2.0
      3. Comparing Class and Object Diagrams
      4. Using the Object Diagram to Test the Class Diagram
      5. Modeling the Composite Structure diagram (UML 2.0)
      6. Summary
  14. PART III: Modeling Object Interactions
    1. CHAPTER 8: Modeling Interactions in UML 1.4
      1. Modeling a Sequence Diagram
      2. Modeling a Collaboration Diagram
      3. Comparing the Sequence and Collaboration Diagrams
      4. Integrating the Sequence and Collaboration Diagrams with the Class Diagram
      5. Summary
    2. CHAPTER 9: Modeling Interactions in UML 2.0
      1. Modeling a Sequence Diagram
      2. Modeling collaborations
      3. Modeling a Communication Diagram
      4. Modeling an Interaction Overview Diagram
      5. Modeling a Timing Diagram
      6. Summary
    3. CHAPTER 10: Modeling an Object's Lifecycle in UML 1.4
      1. Modeling a Statechart Diagram
      2. Relating the Sequence and Statechart diagrams
      3. Modeling Composite States
      4. Summary
    4. CHAPTER 11: Modeling an Object's Lifecycle in UML 2.0
      1. Defining a State Machine
      2. Modeling an Object State
      3. Modeling a composite state
      4. Modeling a Submachine State
      5. Modeling a Protocol State Machine Diagram
      6. Summary
  15. PART IV: Modeling Object Behavior
    1. CHAPTER 12: Modeling the Use of a System with the Use Case Diagram
      1. Defining the Use Case Approach
      2. Modeling Using the Use Case Approach
      3. Modeling the Use Case Diagram
      4. Writing a Use Case Narrative
      5. Describing Use Case Scenarios
      6. Summary
    2. CHAPTER 13: Modeling Behavior Using an Activity Diagram
      1. Activity Diagram Changes from UML 1.4 to 2.0
      2. Modeling the UML 1.4 Activity Diagram
      3. UML 1.4 Activity Diagram Notation
      4. Building an Activity Diagram
      5. Modeling the UML 2.0 Activity Diagram
      6. Exploring BasicActivities
      7. Exploring IntermediateActivities
      8. Exploring CompleteActivities
      9. Defining Structured Activities
      10. Summary
  16. PART V: Modeling the Application Architecture
    1. CHAPTER 14: Using Packages
      1. Modeling Packages
      2. Modeling Subsystems
      3. Modeling Models
      4. How to Organize Your Packages
      5. Summary
    2. CHAPTER 15: Modeling Software Using the Component Diagram
      1. Modeling the Component Diagram in UML 1.4
      2. Modeling the Component Diagram in UML 2.0
      3. Summary
    3. CHAPTER 16: Using Deployment Diagrams in UML 1.4
      1. Modeling Nodes and Associations
      2. Modeling the Runtime Environment with Components
      3. Summary
    4. CHAPTER 17: Representing an Architecture in UML 2.0
      1. Modeling Nodes and Communication Paths
      2. Defining Artifacts
      3. Deploying Artifacts on Nodes
      4. Summary
  17. PART VI: Bringing Rigor to the Model
    1. CHAPTER 18: Applying Constraints to the UML Diagrams
      1. Defining the Object Constraint Language
      2. Accessing Properties in a UML Diagram
      3. Using the Predefined Properties for all Objects
      4. Working with Collections
      5. Using Messages in OCL
      6. Creating and Using Tuples in OCL
      7. Using Class-Level Features
      8. OCL Standard Library
      9. Summary
    2. CHAPTER 19: Action Semantics
      1. The Need for Action Semantics
      2. Uses of Action Semantics
      3. The Action Package
      4. A Notation for Action Specifications
      5. Summary
  18. PART VII: Automating the UML Modeling Process
    1. CHAPTER 20: Using a Modeling Tool
      1. The Advantages of Using a Modeling Tool
      2. Modeling Tool Features
      3. Model-Driven Architecture (MDA)
      4. Evaluation Criteria: Checklist for selecting a modeling tool
      5. Summary
    2. CHAPTER 21: Customizing UML Using Profiles
      1. What Is a Profile?
      2. Modeling Profiles
      3. Summary
    3. CHAPTER 22: XML Metadata Interchange
      1. Introduction to XMI
      2. The XMI Specification
      3. Creating XMI from MOF
      4. Basic Primer on XML
      5. Using XMI to Exchange Information Between Modeling Tools
      6. Exchanging Information Using XMI 1.1
      7. Diagram Interchange
      8. Tools to Use
      9. Summary
  19. APPENDIX A: UML 1.4 Notation Guide
    1. Class Diagram Notation
    2. Object Diagram
    3. Sequence Diagram Notation
    4. Collaboration Diagram Notation
    5. Statechart Diagram Notation
    6. Use Case Diagram
    7. Activity Diagram
    8. Component Diagram
    9. Deployment Diagram
    10. Combined Component and Deployment Diagram
    11. Packages
  20. APPENDIX B: UML 2.0 Notation Guide
    1. Class Diagram Notation
    2. Object Diagram
    3. Sequence Diagram Notation
    4. Communication Diagram
    5. Interaction Overview Diagram
    6. Timing Diagram
    7. Statechart Diagram Notation
    8. Use Case Diagram
    9. Activity Diagram
    10. Component Diagram
    11. Deployment Diagram
    12. Combined Component and Deployment Diagram
    13. Packages
  21. APPENDIX C: Standard Elements
  22. Glossary
  23. Index