| Diagram |
Impression |
Significance |
| Use Case Diagram |
|
- A set of use cases and actors and their relationships.
- Important for organizing and modeling system behaviors.
- Cruicial for requirements management and communication with
end users using their own domain terminology.
- Uses very few symbols, all software independent.
|
| Object Diagram |
|
- A set of objects (instances of classes) and their
relationships.
- A static snapshot of a dynamic view of the system.
- Reperesent real or prototypical cases.
|
| Class Diagram |
|
- A set of classes, interfaces, collaborations,
and relationships
- Reflects the static design of a system.
- Can be confusing if used to explain system dynamics; use
less abstract Object Diagrams instead.
|
Sequence Diagram and
Collaboration Diagram
(Interaction Diagrams)
|
|
- Composed of objects and messages dispatched between them.
- Shows a dynamic view of the system.
- Sequence Diagram exposes time ordering of messages.
- Collaboration Diagram exposes exposes structural organization
of messages.
- In some tools (i.e. Rational Rose), these diagrams can be
interchanged from the same underlying information.
|
| Statechart Diagram |
|
- Represents a state machine, composed of states and
transitions.
- Addresses the dynamic view of the system.
- Useful for reactive behaviors.
- Important for modeling interfaces, classes, or
collaborations.
|
| Activity Diagram |
|
- Addresses a dynamic view of the system.
- Important for modeling system functions.
- Emphasizes the flow of objects and synchronization of the flow
in support of parallel processing.
- An extension of the old "flow chart" diagram combined with
Petri nets.
|
| Package Diagram |
|
- Addresses larger system engineering issues, and package dependence.
|
| Component Diagram |
|
- Shows organization and dependencies among a set of components.
- Components are composed of one or more classes or interfaces.
- A static view of the system implementation.
|
| Deployment Diagram |
|
- Shows the configuration of run-time processing nodes in the
system.
- Nodes contain one or more components.
- Address a static deployment view of the system.
|