ORDER/SUBSCRIBE          SPONSORS          CONTACT          WHAT'S NEW          INDEX/SEARCH

 

 

 

 

 

 

 

Reviewer biography

Current Reviews

Review Articles

Book Reviews Archive

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 1980’s 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 don’t know UML, you will find a kind introduction to it but is also advisable to get another book or complement it with Ambler’s 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.

 

 




Updated 1st December 2004


Contact LDR: ldr@leonardo.org

Contact Leonardo: isast@leonardo.info


copyright © 2004 ISAST