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.


