Description
Since the dawn of computing, software designers
and developers have searched for ways to describe the systems they
worked so hard to create. Flowcharts enabled the concise documentation
of program-flow and algorithms. Entity-relationship diagrams enabled
database designers to convey the structure underlying the collection of
tables and columns that made up a schema.
From the beginning,
technologists recognized the descriptive power inherent in visual
representations of a system, yet it wasn't until 1997 that the first
attempt to create a visual language that could be used across all
aspects of a system development project came to fruition. Unified
Modeling Language (UML) was born. UML has taken the software
development industry by storm. Widely supported by development and
documentation tools, UML can be used on the one hand by programmers to
record such things as the detailed design of classes in an
object-oriented system and on the other hand by business analysts to
give the broad-brush picture of how a system interacts with users and
other systems. UML has become the lingua franca of software
development, and no one in the software industry can afford to be
without knowledge of this powerfully expressive visual language. Learning UML
introduces UML and places it in perspective, then leads you through an
orderly progress towards mastery of the language. You'll begin by
learning how UML is used to model the structure of a system.
Many key
UML concepts, especially that of the general (classes) versus the
specific (objects), are illustrated in the chapter on class and object
diagrams. Next, you'll learn how to use use-case diagrams to model the
functionality of a system. Finally, you'll see how component and
deployment diagrams are used to model the way in which a system is
deployed in a physical environment. Structural modeling answers the
"who" and "what" questions of systems development. Behavioral modeling
addresses the questions of "when," "how," and "why." You'll learn how
to use sequence and collaboration, to model the interaction over time
between system components, how to use state diagrams to describe the
life cycle of system components, and how to use activity diagrams to
document control-flow and responsibility. Throughout this book, author
Sinan Si Alhir maintains a clear focus on UML the language and avoids
getting caught up in the cobwebs of methodology. His presentation is
direct and to-the-point. Each chapter ends with a set of exercises that
you can use to test your growing knowledge of UML and its concepts. As
you work your way through the book, you'll find yourself warming up to
the simple yet expressive language that is UML, and using it to
communicate effectively and professionally about all aspects of system
design.
|