Before going to learn what is UML, let’s learn about what is a model and the use of models:
What is a model?
A model is a simplified representation of a thing. The model captures the important aspects of the thing being modeled and leaves out the rest of the details. The benefit of models is that they can be represented in a medium (2D or 3D etc) we like.
A model of a software system can be developed using a modeling language like UML. The model will have both semantics and notation and can take various forms that include both pictures and text. The model is intended to be easy to use for certain purposes than the final system.
What are models for? (Need for models)
Models are used for the following purposes:
- To capture and precisely state the requirements and domain knowledge so that all the stakeholders may understand and agree on them.
- To think about the design of a system.
- To capture design decisions in a mutable form separate from the requirements.
- To generate usable work products.
- To organize, find, filter, retrieve, examine and edit information about large system.
- To explore multiple solutions economically.
- To master complex systems.
Unified Modeling Language (UML)
UML is a language for visualizing, specifying, constructing and documenting the artifacts of a software intensive system or simply you can say that UML is a language for modeling software systems. UML was developed by Grady Booch, James Rumbaugh and Ivar Jacobson who belong to Rational Corporation. UML is a language, not a methodology to develop software systems.
History of UML
- In 1993 Booch was working in Rational Corporation along with other members.
- In 1994, Rumbaugh joined Rational. The first attempt of unification was made to combine Booch’s concepts, Rumbaugh’s OMT and CRC.
- In 1995, Jacobson joined Rational. Another unification attempt was made to combine Booch’s concepts, Rumbaugh’s OMT and Jacobson’s Objectory. This unification was named as Unified Modeling Language (UML).
- In 1996, proposal was made to Object Management Group (OMG) for recognizing UML as a standard language.
- In 1997, OMG recognized UML as a standard language.
- In 2000, ISO recognized UML as a standard language. The version of UML was 1.0.
- In 2004, another major upgrade was made to UML’s specification which is known as UML 2.0.
- The latest version of UML till date is UML 2.4.1 published in Aug 2011.
UML is unified across several domains:
- Across historical methods and notations (Booch’s methodology, OMT and Objectory).
- Across the development life cycle phases.
- Across application domains.
- Across implementation languages and platforms.
- Across development platforms.
- Across internal concepts.