The Object
Primer:
Agile Model-Driven Development with UML
2.0
by Scott W.
Ambler
Cambridge University Press, Cambridge
UK, 2004
572 pp., illus. b/w. paper, $45.00
ISBN: 0-521-54018-6;
Reviewed by Martha Patricia Niño
Mojica
Pontificia Universidad Javeriana de Bogot
Facultad de Artes Visuales
Carrera 7 Number 40-62
Colombia
ninom@javeriana.edu.co
Scott Ambler
is the founder of the Agile Modeling (AM)
methodology, and works with clients on
large-scale development projects around
the world. He has been working in IT since
1980s with considerable experience
and intellectual production in the in
the field of Object Oriented programming.
This is a lucid volume about Object Oriented
programming with leading-edge standard
software modeling techniques such as Agile
Modelling (AM), and UML 2.0. AM is a methodology
for modelling and documentation that deals
with the complexities of software development
such as requirements, analysis, design,
coding, testing, GUI modelling, data modelling,
time management, and database modelling.
AM contains strategies, values, and principles
that help you to overcome the "analysis
paralysis" that is common among middle
to large software projects. It is always
recommendable to model before you code,
especially when a group of developers
have to effectively synchronize their
tasks. In the text Ambler discuses the
limitations and drawbacks of different
modeling technologies so that you can
choose one appropriated for your job.
Agile software Development is not a magical
solution. However, it is a strong software
paradigm that is here to stay.
The first chapter of the book gives an
overview of modern development technologies
and how they are used in practice; Chapter
two describes the basic object oriented
concepts abstraction, aggregation,
association, attribute, cohesion, collaboration,
component, composition, encapsulation,
inheritance, instance, message, method,
pattern, persistence, polymorphism, property,
stereotype, among others and basic
UML; Chapter three is oriented to testing
and has a collection of twenty-six techniques
to apply in the entire development cycle;
Chapter four introduces to the five values,
the seventeen principles, and the twenty-one
practices of Agile Modeling; Chapter five
explains usage-modeling techniques so
that you can understand how people work
with your system; Chapter six is centered
in user interface modeling, usability
and design principles; Chapter seven describes
one of the key aspects for successful
development, supplementary requirements.
Chapter eight guides you through the hard
part of giving shape to concepts or analyzing
each particular case; Chapter nine, process
modeling, focuses in the modeling of the
core actions of your software. Chapter
ten concentrates in high level design
techniques as Agile Architecture, a theme
that every developer should be familiar
with; Chapter eleven deals with Dynamic
Object design taking into account issues
of behavior and collaboration among objects
inside your system; Chapter twelve is
about the structure of your objects and
databases schemas; Chapter thirteen gives
you agile programming techniques with
Java code examples; Chapter fourteen covers
database development techniques and fundamentals
of mapping objects to relational databases;
Chapter fifteen tell you how to continue
your learning process in this absorbing
field.
If you already know UML, you will find
valuable information about Agile Modelling.
If you dont know UML, you will find
a kind introduction to it but is also
advisable to get another book or complement
it with Amblers The Elements
of UML Style. You need to know in
advance Databases. The book has one iterative
message that encourages you to do the
things just good enough but not obsessively
perfect. It is repeated so often that
it might get into your subconscious, a
couple of weeks later, you might be acting
consequently.
It is an excellent introductory textbook
with helpful advices, and review questions
at the end of each chapter. The complexity
of agile development and Object Oriented
programming, and UML can be overwhelming,
this book manages to be friendly. It is
easy to read and has an inviting radical
dedicatory "To anyone". It is suitable
for programmers, analysts, designers,
and even final users. The writing style
is concise, clear, and dynamic, the contents
are very pertinent that make it a great
reference book. Ambler discusses the proven
benefits and drawbacks of the technology
within the organizational cultural context.