Chapter 1. Introduction
This chapter introduces the Unified
Modeling Language (UML). I discuss why the UML is important and how
one can learn it, by focusing on the object-oriented paradigm,
structural modeling techniques, behavioral modeling techniques, and
other capabilities of the UML. There are many good reasons to learn
and use the UML. Quite simply, the UML is the lingua franca of the
information systems and technology industry. More formally, the UML
is a general-purpose and industry-standard language that is broadly
applicable and well supported by tools in today's
marketplace.
System development involves creating systems that satisfy
requirements using a system development lifecycle process.
Essentially, requirements represent problems to be addressed, a
system represents a solution that addresses those problems, and
system development is a problem-solving process that involves
understanding the problem, solving the problem, and implementing the
solution. Natural languages are used to communicate the requirements.
Programming languages (and more broadly, technology-based
implementation languages such as the Extensible Markup Language
(XML), the Structured Query Language (SQL), Java, C#, and so forth)
are used to communicate the details of the system. Because natural
languages are less precise than programming languages, modeling
languages (such as the UML) are used in a problem-solving process to
bridge the chasm between the requirements and the system.
A general-purpose language such as the UML may be applied throughout
the system-development process all the way from requirements
gathering to implementation of the system. As a broadly applicable
language, UML may also be applied to different types of systems,
domains, and processes. Therefore, we can use the UML to communicate
about software systems and non-software systems (often known as
business systems) in various domains or
industries such as manufacturing, banking, e-business, and so forth.
Furthermore, we can apply the UML with any process or approach. It is
supported by various tool vendors, industry-standardized, and not a
proprietary or closed modeling language.
|