Saturday, November 13, 2010

Timing Diagram

Timing Diagram are a part of the UML standard diagrams, and are useful to show the relationship of objects behavior with respect to time.

Basics:

Timing Diagrams in UML are a specific type of Behavioral diagram, and one of the four types of Interaction Diagram. The Timing Diagrams shows the changes in the behavior of one to many objects with respect to time. When I first saw the Timing Diagram being used in UML, I felt a strong connection to my Electronics Engineer background, I had always used these diagrams for digital signal processing. They are a part of the UML standard diagrams, and are useful in scenarios where the focus is on the timing constraint.


Types of Timing Diagrams

Concise notation Timing Diagrams
Robust notation Timing Diagrams


Timing Diagram Example

We will pick a general scenario to show the Timing Diagrams in action. Suppose that you are going for Java Certification, then the most likely time plan could be:-
  1. Plan for the exam ( You are 1st Jan to 31st March to plan for it)
  2. Enroll for the exam(Enrollment starts from 1st April to 30th April, so enroll within this time)
  3. Prepare for the exam(Prepare for the exam between 1st May, to 29th July)
  4. Give final exam(Give final exam on 30th July)
  5. Closed

We will show the Concise notation and Robust notation Timing Diagrams for the above scenario.

Concise notation Timing Diagrams
The Concise notation is less verbose, it can be implemented with less strict rules, and are therefore very fast to build. The example is shown below:-




Robust notation Timing Diagrams
The Robust notation is much more professional in look and feel. It gives a detailed overview of the time line and of the events. The example is shown below:-





When to Use Timing Diagram

Use Timing Diagram, when the focus is on the timing constraint of changing states of objects. For example, if one or multiple Objects changes from one state to another in some particular time, and you need to capture this information, then use a Timing Diagram.

References:-
http://en.wikipedia.org/wiki/Timing_diagram_%28Unified_Modeling_Language%29
http://www.agilemodeling.com/artifacts/timingDiagram.htm
http://www.uml-diagrams.org/timing-diagrams.html

Thursday, November 11, 2010

UML Diagrams

The UML diagrams are broadly classified as:-
  • Static (Structural diagrams)
  • Dynamic (Behavioral diagrams)
The Static or structural diagrams illustrates the static structure of the system under consideration using objects, attributes, operations and relationships.

The Dynamic or behavioral diagrams illustrates the dynamic behavior of the system under consideration by showing collaborations among objects and changes to the internal states of objects.

There are 14 types of diagrams which are divided into two categories. Seven diagram types represent structural information and so are a part of static diagrams, while the remaining seven represent general types of behavior and so are a part of dynamic diagrams. The dynamic diagrams includes four diagrams that represent different aspects of interactions.

The Static (Structural diagrams) are mentioned below:-
  • Class diagram
  • Component diagram
  • Composite structure diagram
  • Object diagram
  • Package diagram
  • Deployment diagram
  • Profile diagram


The Dynamic (Behavioral diagrams) are mentioned below:-
  • Activity diagram
  • State machine diagram
  • Use case diagram
  • Interaction diagrams
    • Communication diagram
    • Sequence diagram
    • Timing diagrams
    • Interaction overview diagram


The below chart displays the entire hierarchy of the diagrams.  





UML Diagram Resources:-

Click on any of the below links for information about them.
  • Class diagram
  • Component diagram
  • Composite structure diagram
  • Object diagram
  • Package diagram
  • Deployment diagram
  • Profile diagram
  • Activity diagram
  • State machine diagram
  • Use case diagram
  • Interaction diagrams
    • Communication diagram
    • Sequence diagram
    • Timing diagrams
    • Interaction overview diagram


References:-
  • http://en.wikipedia.org/wiki/Unified_Modeling_Language
  • http://www.omg.org/spec/UML/2.2/