The Unified Modelling Language (UML) is a standard language for specifying, visualizing,
constructing, and documenting the artefacts of software systems, as well as for business modelling
and other non- software systems. The UML represents a collection of best engineering practices
that have proven successful in the modelling of large and complex systems.1 The UML is a very
important part of developing object oriented software and the software development process. The
UML uses mostly graphical notations to express the design of software projects. Using the UML
helps project teams communicate, explore potential designs, and validate the architectural design
of the software.
The primary goals in the design of the UML were:
- Provide users with a ready-to-use, expressive visual modelling language so they can
develop and exchange meaningful models.
- Provide extensibility and specialization mechanisms to extend the core concepts.
- Be independent of particular programming languages and development processes.
- Provide a formal basis for understanding the modelling language.
- Encourage the growth of the OO tools market.
- Support higher-level development concepts such as collaborations, frameworks, patterns
and components.
- Integrate best practices.
Why Use UML?
As the strategic value of software increases for many companies, the industry looks for techniques
to automate the production of software and to improve quality and reduce cost and time-to-
market. These techniques include component technology, visual programming, patterns and
frameworks. Businesses also seek techniques to manage the complexity of systems as they
increase in scope and scale. In particular, they recognize the need to solve recurring architectural
problems, such as physical distribution, concurrency, replication, security, load balancing and fault
tolerance. Additionally, the development for the World Wide Web, while making some things
simpler, has exacerbated these architectural problems. The Unified Modelling Language (UML) was
designed to respond to these needs.
History of UML
Identifiable object-oriented modelling languages began to appear between mid-1970 and the late
1980s as various methodologists experimented with different approaches to object-oriented
analysis and design. The number of identified modelling languages increased from less than 10 to
more than 50 during the period 1989-1994. Many users of OO methods had trouble finding
complete satisfaction in any one modelling language, fuelling the "method wars." By the mid-1990s,
new iterations of these methods began to appear and these methods began to incorporate each
other’s techniques, and a few clearly prominent methods emerged.
The development of UML began in late 1994 when Grady Booch and Jim Rumbaugh of Rational
Software Corporation began their work on unifying the Booch and OMT (Object Modelling
Technique) methods. In the Fall of 1995, Ivar Jacobson and his Objectory company joined Rational
and this unification effort, merging in the OOSE (Object-Oriented Software Engineering) method.
As the primary authors of the Booch, OMT, and OOSE methods, Grady Booch, Jim Rumbaugh, and
Ivar Jacobson were motivated to create a unified modelling language for three reasons. First, these
methods were already evolving toward each other independently. It made sense to continue that
evolution together rather than apart, eliminating the potential for any unnecessary and gratuitous
differences that would further confuse users. Second, by unifying the semantics and notation, they
could bring some stability to the object-oriented marketplace, allowing projects to settle on one
mature modelling language and letting tool builders focus on delivering more useful features. Third,
they expected that their collaboration would yield improvements in all three earlier methods,
helping them to capture lessons learned and to address problems that none of their methods
previously handled well.
The efforts of Booch, Rumbaugh, and Jacobson resulted in the release of the UML 0.9 and 0.91
documents in June and October of 1996. During 1996, the UML authors invited and received
feedback from the general community. They incorporated this feedback, but it was clear that
additional focused attention was still required.
While Rational was bringing UML together, efforts were being made on achieving the broader goal
of an industry standard modelling language. In early 1995, Ivar Jacobson (then Chief Technology
Officer of Objectory) and Richard Soley (then Chief Technology Officer of OMG) decided to push
harder to achieve standardization in the methods marketplace. In June 1995, an OMG-hosted
meeting of all major methodologists (or their representatives) resulted in the first worldwide
agreement to seek methodology standards, under the aegis of the OMG process.
During 1996, it became clear that several organizations saw UML as strategic to their business. A
Request for Proposal (RFP) issued by the Object Management Group (OMG) provided the catalyst
for these organizations to join forces around producing a joint RFP response. Rational established
the UML Partners consortium with several organizations willing to dedicate resources to work
toward a strong UML 1.0 definition. Those contributing most to the UML 1.0 definition included:
Digital Equipment Corp., HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse,
Microsoft, Oracle, Rational Software, TI, and Unisys. This collaboration produced UML 1.0, a
modelling language that was well defined, expressive, powerful, and generally applicable. This was
submitted to the OMG in January 1997 as an initial RFP response.
In January 1997 IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and
Softeam also submitted separate RFP responses to the OMG. These companies joined the UML
partners to contribute their ideas, and together the partners produced the revised UML 1.1
response. The focus of the UML 1.1 release was to improve the clarity of the UML 1.0 semantics and
to incorporate contributions from the new partners. It was submitted to the OMG for their
consideration and adopted in the fall of 1997.
Work on the UML 2 standard included proposals from a consortium, named U2- partners. Ericsson is
one of the partners and researchers from NorARC have actively proposed new improvements to
UML that are based on earlier work from standardization of SDL. A nearly finished version of the
proposal from the U2 consortium was released in January 2003 and a final release to OMG RTF in
June 2003.