CH 01
CH 01
CH 01
Chapter 1Introduction
Introduction
CHAPTER 1
Introduction
This chapter introduces the goals, scope, and formal documentation of the Unified
Modeling Language (UML), along with its history and evolution. Upon reading this
chapter, you will understand:
• The scope and goals of the UML, and the various issues it attempts to address.
• What documents formally define and establish the UML.
• The historical evolution of the UML.
This chapter introduces some of the key motivations behind the UML. I start by
introducing the UML’s goals and scope. I then briefly identify the formal docu-
ments that define the UML. You should reference these documents for detailed
information beyond this book. I then review the history of how the UML came to
be.
3
,ch01.12831 Page 4 Thursday, July 12, 2001 4:58 PM
Specify Construct
System The UML
Goals
Visualize Document
4 Chapter 1 – Introduction
,ch01.12831 Page 5 Thursday, July 12, 2001 4:58 PM
Introduction
A Use Case Driven Approach.
• Is supported by the UML Partners Consortium (Rational Software Corporation,
Microsoft Corporation, Hewlett-Packard Company, Oracle Corporation, Sterling
Software, MCI Systemhouse Corporation, Unisys Corporation, ICON Computing.
Unification
Unification creates a single, consistent system from the most prominent methods
(at the modeling language level) within the industry. Unification
• Involves uniting the modeling languages of the following methods:
– Grady Booch’s method: A design- and construction-oriented approach
supporting excellent expressiveness for engineering-intensive systems.
– James Rumbaugh and associates’ Object Modeling Technique (OMT)
method: An analysis-oriented approach supporting excellent expressive-
ness for data-intensive systems.
– Ivar Jacobson's Object-Oriented Software Engineering (OOSE) method: A
use-case-oriented approach supporting excellent expressiveness for busi-
ness engineering and requirements analysis.
• Incorporates other methods and the best engineering practices to capture les-
sons learned.
• Occurs across types of systems (software and nonsoftware), domains (busi-
ness versus software), and development phases (requirements, analysis,
design, implementation, testing, and deployment).
• Involves modeling language semantics and syntax, not development
processes.
• Addresses contemporary and future development issues.
6 Chapter 1 – Introduction
,ch01.12831 Page 7 Thursday, July 12, 2001 4:58 PM
Introduction
– A programming language communicates an implementation or solution.
– A modeling language communicates a model (or conceptualization or
specification).
• A tool or repository specification, but a modeling language specification.
– A tool or repository specification specifies a tool’s or repository’s inter-
face, storage, run-time behavior, and so forth.
– A modeling language specification specifies modeling elements, nota-
tion, and usage guidelines.
• A process, but enables processes.
– A process provides guidance regarding the order of activities, specifica-
tion of artifacts to be developed, direction of individual developer and
team tasks (or activities), and monitoring and measuring criteria of
project artifacts and activities.
– Processes are organization, culture, and domain specific and dependent.
– The UML enables and promotes (but does not require nor mandate) a
use-case-driven, architecture-centric, iterative, and incremental process
that is object oriented and component based.
UML User-Defined
Variants UML
The UML Extensions
UML Semantics
8 Chapter 1 – Introduction
,ch01.12831 Page 9 Thursday, July 12, 2001 4:58 PM
Introduction
information.
– Style guidelines: Suggest stylistic markers and options.
– Examples: Provide notation samples.
– Mapping: Explains the mapping of the notation to the semantics docu-
ment (reverse mapping from notation).
• Enables the use of the UML.
Fragmentation
[Mid-1970s to Mid-1990s] First-Generation Methods Booch '91 OMT-1
and Modeling Languages
Other Methods
Second-Generation Methods Booch '93 OMT-2 and Modeling Languages
and Modeling Languages
Unification
[Mid-1990s to 1997] Unified Methods
[October 1995] OOSE
UML 0.9
[June 1996]
UML Partners
UML 0.91 Consortium
[October 1996]
UML 1.0
Other Modeling Languages
[January 1997]
Submitted to the OMG
[September 1997]
Standardization UML 1.1
[Later Half of 1997] [November 1997]
Vendors
Imdustrialization Products Services
Organizations
10 Chapter 1 – Introduction
,ch01.12831 Page 11 Thursday, July 12, 2001 4:58 PM
• Lack of agreement discouraged new users (due to the cost of use) and ven-
Introduction
dors (due to the cost of support) from entering the object-oriented tools and
methodology market.
• Users longed for a broadly supported general-purpose modeling language.
• New iterations of first-generation methods began to appear that incorporated
each other’s techniques during the mid-1990s. These are known as second-
generation methods.
• The following prominent methods emerged: Booch ’93 (from Booch ’91),
OMT-2 (from OMT-1), and OOSE.
Unification
The historical period between the mid-1990s and 1997 (Figure 1-3) was character-
ized by unification.
• Jim Rumbaugh joined Grady Booch at Rational Software Corporation to unify
their methods in October 1994.
• Grady Booch and Jim Rumbaugh released version 0.8 of the Unified Method
(as the UML was then called) in October 1995.
• Ivar Jacobson and his Objectory Company joined Rational Software Corpora-
tion to merge his method in the fall of 1995. The three methodologists
became known as the Three Amigos.
• The basis of the Three Amigos’ unification effort concerning the UML included
the following:
– Since their independent methods were evolving toward one another,
they could continue the evolution by unifying their semantics and
notation.
– By unifying their semantics and notation, they could bring stability to the
object-oriented marketplace and promote the use of object orientation via
a mature modeling language.
– By collaborating, they could improve their earlier methods and build on
lessons learned while addressing problems that their earlier methods
insufficiently addressed.
• The goals of the Three Amigos’ unification effort concerning the UML were,
among others, to
– Enable the modeling of systems, not just software systems, using the
object-oriented paradigm and concepts.
– Couple conceptual as well as executable artifacts.
– Address scalability issues involving complex mission-critical systems.
– Be usable by both humans and machines.
• The unification approach used by the Three Amigos involved trade-offs
regarding the following issues:
12 Chapter 1 – Introduction
,ch01.12831 Page 13 Thursday, July 12, 2001 4:58 PM
Introduction
ness modeling, refinement for levels of abstraction, interfaces and
components, and a constraint language.
– It unifies the Booch, OMT, OOSE, and other object-oriented methods (at
the modeling language level) with object-oriented and computer science
practices from the object-oriented field and community of ideas. By
removing unnecessary differences in notation and terminology that
obscure underlying similarities, the UML is an evolutionary modeling
language that is more expressive yet cleaner, more unified, and more
holistically integrated than its predecessors.
Standardization
The historical period of standardization (Figure 1-3) began in the latter half of 1997
and had the following highlights:
• Others who submitted responses to the OMG joined the UML Partners to con-
tribute their ideas and produce version 1.1 of the UML during 1997.
• The UML Partners collaborated and released a more clear and updated ver-
sion 1.1 of the UML that was submitted to the OMG (as a revised RFP
response) for consideration and adoption as a standard in September 1997.
• The following constitute the differences (and changes) between UML version
1.0 and UML version 1.1:
– Increased formalism in defining the UML and eradicating ambiguities.
– Improved structural packaging.
– Increased unification of collaboration and interaction semantics and of
relationship semantics.
– Increased simplification of the class, type, and interface semantics model.
– Incorporation of extensions (model management semantics, including
models and subsystems and use case semantics).
– Improved mapping of notation to semantics.
Industrialization
The historical period of industrialization (Figure 1-3) started during standardiza-
tion and flourished once the OMG adopted the UML. Some of its highlights and
characteristics are as follows:
• The UML was adopted by the OMG on November 17, 1997.
• The UML definition is readily available and evolving.
• Industry organizations and vendors embraced the UML.
• Products and services for the UML emerged and will continue to do so.
• Products (tools, books, etc.) will incorporate the usage of the UML.
• Services (training, mentoring, consulting, etc.) will promote and support the
use of the UML.
The UML’s success will be measured by its appropriate use on successful projects.
The UML does not guarantee project success, but does enable practitioners to
focus on delivering business value using a consistent, standardized, and tool-
supported modeling language.