Wednesday, September 29, 2010

UML Diagrams and its explanation

UML Diagram Types: There are nine standard UML diagrams, roughly ordered here by their by their utility during the analysis and design timeline.

Diagram

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.

No comments: