Wednesday, December 27, 2006
UML Diagrams
--* Quoted from "UML 2.0 Tutorial" by Sparx Systems.
UML 2 defines 13 basic diagram types, divided into two general sets:
1. Structural Modeling Diagrams
Structure diagrams define the static architecture of a model. They are used to model the 'things' that make up a model - the classes, objects, interfaces and physical components. In addition they are used to model the relationships and dependencies between elements.
| - | Package diagrams are used to divide the model into logical containers or 'packages' and describe the interactions between them at a high level |
| - | Class or Structural diagrams define the basic building blocks of a model: the types, classes and general materials that are used to construct a full model |
| - | Object diagrams show how instances of structural elements are related and used at run-time. |
| - | Composite Structure diagrams provide a means of layering an element's structure and focusing on inner detail, construction and relationships |
| - | Component diagrams are used to model higher level or more complex structures, usually built up from one or more classes, and providing a well defined interface |
| - | Deployment diagrams show the physical disposition of significant artefacts within a real-world setting. |
2. Behavioral Modeling Diagrams
Behavior diagrams capture the varieties of interaction and instantaneous state within a model as it 'executes' over time.
| - | Use Case diagrams are used to model user/system interactions. They define behavior, requirements and constraints in the form of scripts or scenarios |
| - | Activity diagrams have a wide number of uses, from defining basic program flow, to capturing the decision points and actions within any generalized process |
| - | State Machine diagrams are essential to understanding the instant to intant condition or "run state" of a model when it executes |
| - | Communication diagrams show the network and sequence of messages or communications between objects at run-time during a collaboration instance |
| - | Sequence diagrams are closely related to Communication diagrams and show the sequence of messages passed between objects using a vertical timeline |
| - | Timing diagrams fuse Sequence and State diagrams to provide a view of an object's state over time and messages which modify that state |
| - | Interaction Overview diagrams fuse Activity and Sequence diagrams to provide allow interaction fragments to be easily combined with decision points and flows |