Preface; Audience; About This Book; Assumptions This Book Makes; Conventions Used in This Book; Using Code Examples; SafariĀ® Enabled; How to Contact Us; Acknowledgments;Chapter 1: Introduction; 1.1 What''s in a Modeling Language?; 1.2 Why UML 2.0?; 1.3 Models and Diagrams; 1.4 "Degrees" of UML; 1.5 UML and the Software Development Process; 1.6 Views of Your Model; 1.
7 A First Taste of UML; 1.8 Want More Information?;Chapter 2: Modeling Requirements: Use Cases; 2.1 Capturing a System Requirement; 2.2 Use Case Relationships; 2.3 Use Case Overview Diagrams; 2.4 What''s Next?;Chapter 3: Modeling System Workflows: Activity Diagrams; 3.1 Activity Diagram Essentials; 3.2 Activities and Actions; 3.
3 Decisions and Merges; 3.4 Doing Multiple Tasks at the Same Time; 3.5 Time Events; 3.6 Calling Other Activities; 3.7 Objects; 3.8 Sending and Receiving Signals; 3.9 Starting an Activity; 3.10 Ending Activities and Flows; 3.
11 Partitions (or Swimlanes); 3.12 Managing Complex Activity Diagrams; 3.13 What''s Next?;Chapter 4: Modeling a System''s Logical Structure: Introducing Classes and Class Diagrams; 4.1 What Is a Class?; 4.2 Getting Started with Classes in UML; 4.3 Visibility; 4.4 Class State: Attributes; 4.5 Class Behavior: Operations; 4.
6 Static Parts of Your Classes; 4.7 What''s Next;Chapter 5: Modeling a System''s Logical Structure: Advanced Class Diagrams; 5.1 Class Relationships; 5.2 Constraints; 5.3 Abstract Classes; 5.4 Interfaces; 5.5 Templates; 5.6 What''s Next;Chapter 6: Bringing Your Classes to Life: Object Diagrams; 6.
1 Object Instances; 6.2 Links; 6.3 Binding Class Templates; 6.4 What''s Next?;Chapter 7: Modeling Ordered Interactions: Sequence Diagrams; 7.1 Participants in a Sequence Diagram; 7.2 Time; 7.3 Events, Signals, and Messages; 7.4 Activation Bars; 7.
5 Nested Messages; 7.6 Message Arrows; 7.7 Bringing a Use Case to Life with a Sequence Diagram; 7.8 Managing Complex Interactions with Sequence Fragments; 7.9 What''s Next?;Chapter 8: Focusing on Interaction Links: Communication Diagrams; 8.1 Participants, Links, and Messages; 8.2 Fleshing out an Interaction with a Communication Diagram; 8.3 Communication Diagrams Versus Sequence Diagrams; 8.
4 What''s Next?;Chapter 9: Focusing on Interaction Timing: Timing Diagrams; 9.1 What Do Timing Diagrams Look Like?; 9.2 Building a Timing Diagram from a Sequence Diagram; 9.3 Applying Participants to a Timing Diagram; 9.4 States; 9.5 Time; 9.6 A Participant''s State-Line; 9.7 Events and Messages; 9.
8 Timing Constraints; 9.9 Organizing Participants on a Timing Diagram; 9.10 An Alternate Notation; 9.11 What''s Next?;Chapter 10: Completing the Interaction Picture: Interaction Overview Diagrams; 10.1 The Parts of an Interaction Overview Diagram; 10.2 Modeling a Use Case Using an Interaction Overview; 10.3 What''s Next?;Chapter 11: Modeling a Class''s Internal Structure: Composite Structures; 11.1 Internal Structure; 11.
2 Showing How a Class Is Used; 11.3 Showing Patterns with Collaborations; 11.4 What''s Next?;Chapter 12: Managing and Reusing Your System''s Parts: Component Diagrams; 12.1 What Is a Component?; 12.2 A Basic Component in UML; 12.3 Provided and Required Interfaces of a Component; 12.4 Showing Components Working Together; 12.5 Classes That Realize a Component; 12.
6 Ports and Internal Structure; 12.7 Black-Box and White-Box Component Views; 12.8 What''s Next?;Chapter 13: Organizing Your Model: Packages; 13.1 Packages; 13.2 Namespaces and Classes Referring to Each Other; 13.3 Element Visibility; 13.4 Package Dependency; 13.5 Importing and Accessing Packages; 13.
6 Managing Package Dependencies; 13.7 Using Packages to Organize Use Cases; 13.8 What''s Next?;Chapter 14: Modeling an Object''s State: State Machine Diagrams; 14.1 Essentials; 14.2 States; 14.3 Transitions; 14.4 States in Software; 14.5 Advanced State Behavior; 14.
6 Composite States; 14.7 Advanced Pseudostates; 14.8 Signals; 14.9 Protocol State Machines; 14.10 What''s Next?;Chapter 15: Modeling Your Deployed System: Deployment Diagrams; 15.1 Deploying a Simple System; 15.2 Deployed Software: Artifacts; 15.3 What Is a Node?; 15.
4 Hardware and Execution Environment Nodes; 15.5 Communication Between Nodes; 15.6 Deployment Specifications; 15.7 When to Use a Deployment Diagram; 15.8 What''s Next?;Appendix A: Object Constraint Language; A.1 Building OCL Expressions; A.2 Types; A.3 Operators; A.
4 Pulling It Together; A.5 Context; A.6 Types of Constraints; A.7 OCL Automation;Appendix B: Adapting UML: Profiles; B.1 What Is a Profile?; B.2 Stereotypes; B.3 Tagged Values; B.4 Constraints; B.
5 Creating a Profile; B.6 Working with the Meta-Model; B.7 Using a Profile; B.8 Why Bother with Profiles?;Appendix C: A History of UML; C.1 Take One Part OOAD.; C.2 .with a Sprinkling of OOSE.
; C.3 .Add a Dash of OMT.; C.4 .and Bake for 10 to 15 Years;Colophon;.