1.3 Learning the UML
Learning the UML can be quite overwhelming given the breadth and
depth of the language and its lack of a process if you
don't know on what parts of the UML to focus. But by
understanding how the UML is related to process, you know to focus
on:
The object-oriented paradigm, because it establishes the foundation
for the UML
Structural modeling and behavioral modeling, because they allow you
to understand requirements and architecture
Other capabilities of the UML
In addition, when learning the UML, it is important to focus on the
essentials and understand how to effectively and successfully apply
the UML to model systems rather than bog yourself down in trying to
learn every comprehensive aspect of the language.For the remainder of the book, I will use a project management system
case study to help you learn how to read, understand, write, and
effectively and successfully apply the UML. The objective is not to
create a complete or comprehensive model from which to implement the
system, but to explore the case study and learn how to effectively
and successfully apply the UML to communicate in real-world system
development. I've included exercises, so you can
practice and improve your skills.Generally, the project management system in the case study provides
functionality to manage projects and resources and to administer the
system. It defines the following roles:
Project manager
Responsible for ensuring a project delivers a quality product within
specified time, cost, and resource constraints.
Resource manager
Responsible for ensuring trained and skilled human resources are available
for projects.
Human resource
Responsible for ensuring that their skills are maintained and that quality work is
completed for a project.
System administrator
Responsible for ensuring that a project management system is available for
a project.
More detail about the case study is provided where appropriate
throughout the remainder of the book. I purposely
don't offer all the detail at once, so that you will
see how different information is used with the various UML modeling
techniques. That, in turn, will help you know when you should seek
such detail, and it's a good illustration of how an
iterative approach allows you to steadily gain more detail as a
project develops.Rather than introduce some contrived pseudomethodology or process, I
will focus on how to use the various UML diagrams and their elements
based upon what each diagram communicates and emphasizes. This will
allow us to focus on how the different pieces of the language fit
together rather than treat the UML as a hodgepodge of different types
of diagrams without any underlying scheme, and
you'll be able to more effectively and successfully
apply the UML. Chapter 2 focuses on the
object-oriented paradigm and how the different pieces of the language
fit together. Part II focuses on functional
requirements and modeling the structure of the project management
system using the UML's structural modeling
techniques. Part III focuses on modeling the
behavior of the project management system using the
UML's behavioral modeling techniques. Part IV introduces some of the other capabilities of
the UML, including the OCL and facilities for extending the language.