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.