The need behind various UML concepts

The need behind various UML concepts

In this article I will try to explain the need behind various UML concepts and diagrams.

Why is analysis needed?

Analysis is needed so to understand complex problems and systems.

Why is standardized modeling needed?

Standardized modeling is needed for two main reasons

  1. For understanding the complexity of a system from different perspectives and from different levels of granularity
  2. So that all the stakeholders have a single understanding of the system.

Why is UML needed?

UML is a standardized modeling language for modeling and representing the complexity of a software system. Hence the reasons for the need of UML is the same as Standardized modeling.

Why are Class Diagrams needed?

Class Diagrams are needed to graphically represent and understand the structural complexity [static] of the entire system / subsystem in a standardized manner.

Why are Use Cases needed?

Use cases are needed to graphically represent and understand the detailed behavioral complexity of a single functionality of system in a language / jargon which can be very easily understood by the customer and on a medium which can be very easily operated by the customer.

Use cases are the only UML model which is also meant for the customer for him to validate the captured functional requirements.

Why are Use Case Diagrams needed?

Use cases are needed to graphically represent and understand the overall behavioral complexity of the entire system in a standardized manner.

Why are Sequence Diagram needed ?

Sequence diagrams are needed to graphically represent and understand the implementation of one of the possible scenarios of a use case in terms of object interactions specially focusing on sequence and timing in a standardized manner.

Sequence diagram is a language neutral way of graphically depicting what a programmer is supposed to code and is needed so that by looking at it, the programmer knows exactly what he is supposed to codify in a particular programming language [Although it looks crude …but remember if software systems are developed in a true engineering way… a programmer should not be allowed to take his own decisions because if every programmer starts taking his own decisions …it is next to impossible to build a predictable and a consistent quality system].

Why are Collaboration Diagrams needed ?

Collaboration diagrams are needed to graphically represent and understand the implementation of one of the possible scenarios of a use case in terms of object interactions specially focusing on spatial distribution of objects in a standardized manner.

Collaboration diagrams are needed so as to understand "Coupling and Cohesion" while modularizing systems.

Why are State Diagrams needed?

State diagrams are behavioral diagrams and are needed to graphically represent and understand all the behaviors of single system across multiple use cases in a standardized manner.

State diagrams are needed for understanding all the possible behaviors of mission critical systems [wherein occurrence of one unknown behavior can cause the system to fail causing severe fatalities] like Aircrafts, Vehicles or any system wherein there is some dependency of human life or money.

Why are Activity Diagrams needed?

Activity diagrams [behavioral] are sophisticated flowcharts that are needed to graphically represent the complexity of business logic of a particular scenario of a Usecase.

Why are Package Diagrams needed?

Package Diagrams [structural] are graphical diagrams that are needed to graphically represent the structural complexity of the system at the enclosing level of granularity ie the packages and the interdependencies between the same in a standard manner.

 
Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer

www.VPlanSolutions.co.in