Model-Based Development: Applications Book Review
|This book has been one of the most enjoyable reads I have had in a long time. The introduction and the first chapter was a walk down memory lane. It was nice coverage of how we got to where we are today in the software development world.|
Each chapter goes into a deep explanation of the topic being covered. There are three parts in the book. I list them below with the chapters in each.
Part I: The Roots of Object-Oriented Development- Historical Perspective, Object Technology, Generalization, Inheritance, Genericity, and Polymorphism, MBD Road Map, Modeling Invariants, and Application Partitioning.
Part II: The Static Model- Classes, Class Responsibilities, Associations, Referential and Knowledge Integrity, Generalization Redux, and Identifying Knowledge.
Part III: The Dynamic Model- The Finite State Machine, States, Transitions, Events, and Actions, Developing State Models, and Abstract Action Languages.
This book is great for the beginning programmer and the experienced one. If you are new to object oriented programming, this book will take you through the history that forms its foundation giving you a complete understanding of the current state of modern object oriented programming. If you are a veteran, you will enjoy the perspective given to the different topics. They will help will help you articulate object oriented topics to your stakeholders.
The coverage is deep on all the topics. The author uses examples and always gives an indepth explanation as to why something is done, not just how.
When I first saw this book my initial reaction was, "Who cares, another science fiction book about magical tools that generate code for you". This book is not about code generation at all. It is about the principles and the disciplines it takes to create models that are detailed enough to generate code. Most of the book concentrates on analysis level models.
It is also not a book on how models map to code. You don't see code in this book.
I wish I could point out some favorite parts of this book, but I can't. The entire book is excellent. The level of detail the author goes into explaining the ins and outs of object oriented topics is really amazing.
If you are a programmer, or want to be one, of any language, you must read this book. There is not another one like it out there.
Model-Based Development: Applications