| |
| |
Preface | |
| |
| |
| |
Introduction | |
| |
| |
What's in a Modeling Language? | |
| |
| |
Why UML 2.0? | |
| |
| |
Models and Diagrams | |
| |
| |
"Degrees" of UML | |
| |
| |
UML and the Software Development Process | |
| |
| |
Views of Your Model | |
| |
| |
A First Taste of UML | |
| |
| |
Want More Information? | |
| |
| |
| |
Modeling Requirements: Use Cases | |
| |
| |
Capturing a System Requirement | |
| |
| |
Use Case Relationships | |
| |
| |
Use Case Overview Diagrams | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling System Workflows: Activity Diagrams | |
| |
| |
Activity Diagram Essentials | |
| |
| |
Activities and Actions | |
| |
| |
Decisions and Merges | |
| |
| |
Doing Multiple Tasks at the Same Time | |
| |
| |
Time Events | |
| |
| |
Calling Other Activities | |
| |
| |
Objects | |
| |
| |
Sending and Receiving Signals | |
| |
| |
Starting an Activity | |
| |
| |
Ending Activities and Flows | |
| |
| |
Partitions (or Swimlanes) | |
| |
| |
Managing Complex Activity Diagrams | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling a System's Logical Structure: Introducing Classes and Class Diagrams | |
| |
| |
What Is a Class? | |
| |
| |
Getting Started with Classes in UML | |
| |
| |
Visibility | |
| |
| |
Class State: Attributes | |
| |
| |
Class Behavior: Operations | |
| |
| |
Static Parts of Your Classes | |
| |
| |
What's Next | |
| |
| |
| |
Modeling a System's Logical Structure: Advanced Class Diagrams | |
| |
| |
Class Relationships | |
| |
| |
Constraints | |
| |
| |
Abstract Classes | |
| |
| |
Interfaces | |
| |
| |
Templates | |
| |
| |
What's Next | |
| |
| |
| |
Bringing Your Classes to Life: Object Diagrams | |
| |
| |
Object Instances | |
| |
| |
Links | |
| |
| |
Binding Class Templates | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling Ordered Interactions: Sequence Diagrams | |
| |
| |
Participants in a Sequence Diagram | |
| |
| |
Time | |
| |
| |
Events, Signals, and Messages | |
| |
| |
Activation Bars | |
| |
| |
Nested Messages | |
| |
| |
Message Arrows | |
| |
| |
Bringing a Use Case to Life with a Sequence Diagram | |
| |
| |
Managing Complex Interactions with Sequence Fragments | |
| |
| |
What's Next? | |
| |
| |
| |
Focusing on Interaction Links: Communication Diagrams | |
| |
| |
Participants, Links, and Messages | |
| |
| |
Fleshing out an Interaction with a Communication Diagram | |
| |
| |
Communication Diagrams Versus Sequence Diagrams | |
| |
| |
What's Next? | |
| |
| |
| |
Focusing on Interaction Timing: Timing Diagrams | |
| |
| |
What Do Timing Diagrams Look Like? | |
| |
| |
Building a Timing Diagram from a Sequence Diagram | |
| |
| |
Applying Participants to a Timing Diagram | |
| |
| |
States | |
| |
| |
Time | |
| |
| |
A Participant's State-Line | |
| |
| |
Events and Messages | |
| |
| |
Timing Constraints | |
| |
| |
Organizing Participants on a Timing Diagram | |
| |
| |
An Alternate Notation | |
| |
| |
What's Next? | |
| |
| |
| |
Completing the Interaction Picture: Interaction Overview Diagrams | |
| |
| |
The Parts of an Interaction Overview Diagram | |
| |
| |
Modeling a Use Case Using an Interaction Overview | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling a Class's Internal Structure: Composite Structures | |
| |
| |
Internal Structure | |
| |
| |
Showing How a Class Is Used | |
| |
| |
Showing Patterns with Collaborations | |
| |
| |
What's Next? | |
| |
| |
| |
Managing and Reusing Your System's Parts: Component Diagrams | |
| |
| |
What Is a Component? | |
| |
| |
A Basic Component in UML | |
| |
| |
Provided and Required Interfaces of a Component | |
| |
| |
Showing Components Working Together | |
| |
| |
Classes That Realize a Component | |
| |
| |
Ports and Internal Structure | |
| |
| |
Black-Box and White-Box Component Views | |
| |
| |
What's Next? | |
| |
| |
| |
Organizing Your Model: Packages | |
| |
| |
Packages | |
| |
| |
Namespaces and Classes Referring to Each Other | |
| |
| |
Element Visibility | |
| |
| |
Package Dependency | |
| |
| |
Importing and Accessing Packages | |
| |
| |
Managing Package Dependencies | |
| |
| |
Using Packages to Organize Use Cases | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling an Object's State: State Machine Diagrams | |
| |
| |
Essentials | |
| |
| |
States | |
| |
| |
Transitions | |
| |
| |
States in Software | |
| |
| |
Advanced State Behavior | |
| |
| |
Composite States | |
| |
| |
Advanced Pseudostates | |
| |
| |
Signals | |
| |
| |
Protocol State Machines | |
| |
| |
What's Next? | |
| |
| |
| |
Modeling Your Deployed System: Deployment Diagrams | |
| |
| |
Deploying a Simple System | |
| |
| |
Deployed Software: Artifacts | |
| |
| |
What Is a Node? | |
| |
| |
Hardware and Execution Environment Nodes | |
| |
| |
Communication Between Nodes | |
| |
| |
Deployment Specifications | |
| |
| |
When to Use a Deployment Diagram | |
| |
| |
What's Next? | |
| |
| |
| |
Object Constraint Language | |
| |
| |
| |
Adapting UML: Profiles | |
| |
| |
| |
A History of UML | |
| |
| |
Index | |