UML

Unified Modeling Language (UML) is a general-purpose, developmental, modeling langauge in software engineering that is intended to provide a standard way to visualize the design of a system.

The creation of UML was originally motivated by the desire to standardize the disparate notational systems and approaches to software design.

UML is not a programming language, it is rather a visual language. UML is one of the most popular business process modeling technique. Business process modeling is the graphical representation of a company’s business processes or workflows, as a means of identifying potential improvements. This is usually done through different graphing methods, such as the flowchart, data-flow diagram, etc.

We use UML diagrams to portray the behavior and structure of a system.

  • UML is a standard language for specifying, visualizing, constructing and documenting the artifacts of software system.
  • It is a pictorial language used to make software blueprints.
  • It can be used to model non-software systems as well as process flow in a manufacturing unit etc.
  • It has a direct relation with Object Oriented Analysis and Design (OOAD).

UML Components are widely categorized into following:

Structural Things

Fig 1: Structural Things

Behavioral Things

Fig 2: Behavioral Things

Grouping Things

Fig 3: Grouping Things

Annotational Things

Fig 4: Annotational Things

Relationships

Dependency: Change in one element affects the other one

Fig 5(a): Dependency

Association: Describes how many objects are taking part in that relationship

Fig 5(b): Association

Generalization: Represents Inheritance

Fig 5(c): Generalization

Realization: Exists in case of interfaces. One element describes some responsibility which is not implemented and other one implements it.

Fig 5(d): Realization

Aggregation: Special type of Association representing “part of” relationship. Class2 is a part of Class1. Represents “Has-A” relationship. For example, Person has an Address. Both Person and Address classes can exist without each other and have different lifetimes.

Fig 5(e): Aggregation

Composition: Special type of Aggregation where one class cannot exist by itself without the other. For example, Library cannot exist without Book but Book can exist without Library.

Fig 5(f): Composition

UML Diagrams

Structural DiagramsBehavioral Diagrams
1. Represent static nature of the system
2. Used in forward engineering
1. Represent dynamic nature of the system
2. Used in both forward and reverse engineering

Structural Diagrams

Class Diagram

  • Represent static view of system
  • Generally used for development purpose

Object Diagram

  • Represent static view of the system
  • Used to build prototype of the system from practical perspective

Component Diagram

  • Represent implementation view of the system
  • Represent a set of components and their relationships

Deployment Diagram

  • Represent deployment view of a system
  • Generally used by deployment team

Behavioral Diagrams

Use Case Diagram

  • Represent use case view of the system
  • A use case represents a particular functionality of the system
  • Describes relationships among functional activity and their internal / external controllers (Actors)

Sequence Diagram

  • Represent implementation of the system
  • It is an interaction diagram
  • It is important from implementation and execution perspective
  • Used to visualize sequence of calls in a system to perform a specific functionality

Collaboration Diagram

  • Represent organization of objects and their interactions
  • It is an interaction diagram

State Chart Diagram

  • Represent event driven state change of the system
  • Used to visualize reaction of a system by internal / external factors

Activity Diagram

  • Used to visualize the flow of controls in a system

Class Diagram and Sequence Diagram are two most used UML diagrams used for development purpose, one helps understand the static view of the system and the other helps visualize the dynamic interaction between various calls in a system. Example of each is given below.

Fig. 6: A Sample Class Diagram containing Notes
Fig 7: A Sample Sequence Diagram of Order Shipment System

Leave a comment

Design a site like this with WordPress.com
Get started