UML Diagrams

What is UML?

  • UML stands for Unified Modeling Language.
  • UML is used to model an application structures, behavior and even business processes.
  • It is a visual modeling language used for analysis, design, implementation of software based systems, modeling business and similar processes.
  • It is a standard modeling language, not a software development process.
  • It is a standard notation for the modeling of real world objects as a first step in developing an object-oriented methodology.

History of UML

  • Unified Modeling Language (UML) was developed by Grady Booch, Ivar Jacobson, James Rumbaugh at Rational Software in 1994-95.
  • It was motivated by the desire to standardize the disparate systems and approaches to software design.
  • It is created by the Object Management Group (OMG) in 1997.
  • It was also published by the ISO (International Organization for Standardization) in 2005.
  • It is a standard language for specifying, visualizing, constructing and documenting the artifacts of the software systems.

Advantages of UML

  • UML provides a standard for software development.
  • It reduces the development time and cost to develop diagrams of UML using supporting tools.
  • It has a large visual element to construct.
  • Communication with programmers and outside contractors will be more efficient.
  • The past faced issues by the developers no longer exists.

Disadvantages of UML

  • UML is large and complex.
  • UML is difficult to synchronize the code with models.
  • It is difficult to keep multiple models or diagrams consistent with each other.
  • UML is limited to what the vendor provides out of the box, usually some form of a code generator.
  • It does not define a standard file format, which means each UML tool vendor stores the representation of its UML model in proprietary format.

Why is UML used?

  • UML is an international standard.
  • UML becomes the most successful modeling language in the history of computer technology.
  • UML is widely known, used and supported in tools.

Features of UML

  • UML provides guidance as to the order of a team's activities.
  • UML directs the tasks of individual developers and the team as a whole.
  • It offers criteria for monitoring and measuring a project's products and activities.
  • It is process independent.
  • It provides a mechanism for adjusting the language and better options for the modeling of behavior.
  • It is suitable for use case driven, iterative and incremental development processes.
  • It provides better options for the modeling of behavior.
  • It adds the definition of formal and completely defined semantics.

Highlights in UML

Following are the main highlights in UML which describe the purpose of a UML and why is it widely used & supported in various tools:

  • More precise definitions of concepts and their relationships.
  • Modularized structure.
  • Improved language organization and support for modeling large-scale software systems.
  • Simplified compliance model for easier interworking and improved support for defining domain-specific languages (DSLs).
  • Increased level of precision to better support MDD.
  • Modeling of distributed concurrent process flows, complex software structure and end-to-end behavior.