- Paperback: 544 pages
- Publisher: Prentice Hall; 2 edition (October 20, 1996)
- Language: English
- ISBN-10: 0138401179
- ISBN-13: 978-0138401177
- Product Dimensions: 8 x 1.2 x 9.9 inches
- Shipping Weight: 2.8 pounds (View shipping rates and policies)
- Average Customer Review: 8 customer reviews
- Amazon Best Sellers Rank: #396,030 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Object Models: Strategies, Patterns, and Applications (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Excerpt. © Reprinted by permission. All rights reserved.
PREFACE Strategies, Patterns, and Applications APPLICATIONS How do people really learn? A proverb in Latin says it best: “The example educates.”
Truly, the example educates. It's a wonder if anything else ever does. Educating by example is what true education is all about.
An elementary education innovator startled us with these words:
“Educate right at the moment someone can apply it with success.”
This book is a book of education by example.
You won't find the obligatory 125 pages about object philosophy. You won't find page after page of icons and adornments. Why? Because the purpose of this book is to communicate how to build effective object models. And the only way to do that is to give you good examples, presenting key “lessons” right at the moment you can apply them with success.
The best shortcut to building effective object models is to study real-life examples of building effective object models. ThatÕs why this book presents applications—along with strategies and patterns, applied along the way.
The core of this book is its six application chapters. Each example is a real-life example of building an object model. Each application has enough detail in it, so that you might read it and say, “Yes, I get it. I can build real systems this way.” Moreover, each application is one that, by analogy, is applicable to most businesses and industries. For example, “point of sale” and warehouse are applications that nearly every business needs.
Chapters 1 to 6 present the applications, delivering new strategies and patterns at the moment you can apply them with success. Chapter 1, “Connie's Convenience Store,” presents a point-of-sale application (nearly every business has one, in one form or another). Chapter 2, "Wally's Warehouse," presents a warehousing application (again, nearly every business has one). Chapter 3, "Ollie's Order Center," presents an order processing application (nearly every business has one). Chapter 4, "Dani's Diverters," presents a soft real-time application: a sensor-and-diverter system (nearly every manufacturing or shipping business has one). Chapter 5, "Andi's Autopilot," presents a hard real-time application: an autopilot system (many hard real-time systems have similar needs). Chapter 6, "All Five Applications, At High Speed," presents instructions for building initial object models entirely with patterns, resulting in object models that are ready for subsequent refinement with strategic Strategies and Patterns.
As you read through the applications, you'll also discover specific strategies and patterns, practical and repeatable "how to" advice that will help you develop an intuitive feel for building object models. Strategies and patterns are nuggets of wisdom about building object models. In this book, you'll learn 148 strategies and 31 patterns, which appear in sequence in Chapter 7.
A strategy is a plan of action intended to accomplish a specific objective.
A pattern is a template, one worthy of emulation. "Pattern" can apply to the plans for a product rather than to the creations made from its specifications. The word often suggests blueprints or templates to be followed in constructing the product. More generally, the word indicates the design or configuration that something takes in actuality. But the word can also refer to the perfect representative of a type, or to any example thought worthy of emulation" (Use the Right Word). Observe that:
A pattern is a plan, rather than a specific implementation.
A pattern is a template, to be followed during construction.
A pattern is something observed from something in actuality.
A pattern is an example worthy of emulation.1
An object-model pattern is a template of objects with stereotypical responsibilities and interactions; the template may be applied again and again, by analogy.
Object patterns are repetitive forms, just like those in music. They occur again and again and again. You'll learn how to use them to your advantage, in building effective object models.
Strategies and patterns express examples of good practice, ones that can be used to help object modelers develop more effective results. Both help developers gain an intuitive understanding, a "gut feel," for good object models.
Strategies and patterns make it possible to communicate object-modeling expertise effectively. Without such patterns, that much-needed expertise is only acquired by trial-and-error. Where did these strategies and patterns come from? From continual introspection, while building hundreds of object models over a five-year period.
Through time, strategies and patterns join the language of analysts and designers, even when discussing the architectural aspects of an object model. For example, as soon s someone on the team describes a pair of objects as "participant-transaction," others on the team immediately know what kinds of objects and stereotypical responsibilities are involved.
Strategies and patterns move object-model building to something more than just "one object a time."
Chapter 7 is a strategy and pattern handbook. The appendices address supporting issues: notation, patterns in other fields, data management, the executive decision to adopt object technology, and a histogram of initial object modeling. A glossary defines key terms.
Why READ This Book?
What makes this book unique? In other words, why read this book?
It teaches a software method by example—entirely by example.
This is the world's first software method book to do so. It's about time!
It presents applications that occur in nearly every industry.
You'll find it easy to relate to the applications.
You'll find it easier to transfer what you learn to your own software development projects.
It uses real-world applications, with a depth that readers can say, "Yes, it can be done."
The book selectively explores specific aspects of each application, to expose you to specific strategies and patterns.
No trivial examples!
No rambling case studies, either (the applications expose strategies and patterns, not mind-numbing minutia).
It delivers 148 strategies and 31 patterns—practical, ready-to-use insights for building effective object models.
This is the world's first (and only) methods book to do so.
It's a no-BS guide that really helps.
It delivers tangible chunks of "how to" advice, designed to help you more quickly develop an intuitive sense in building effective object models.
It offers practical insights into how to build better object models, no matter what notation you use.
It presents four activities and four object model components—not steps and phased models.
You're free to follow the development path that best suits your customer, your company, your project—and your time-to-market needs.
You apply four activities—purposes and features, objects, responsibilities, and scenariosÑfollowing whatever path best fits your project needs.
You work with objects in four model components—problem domain, human interaction, data management, and system interaction—as you see fit, on your project. You get the "separation of concerns" benefit of :analysis and design" approaches—without forcing people to work with those considerations in separate phases or steps.
It presents the Coad notation, fully integrating class diagrams, object interaction diagrams, and object timing diagram—one model, from concept to code.
Such a unified notation is an essential ingredient, an absolute must:
for delivering frequent, tangible, working results—and corresponding risk reduction.
for acquiring and using tools that support continuously up-to-date object models and object-oriented programming.
Chapter 1 describes the notation, right when you need it. In addition, Appendix A summarizes it.
All six application chapters present object model results in all three leading notations: Coad, OMT, and Unified. Here's why:
To communicate better with those readers already familiar with any of these notations.
To facilitate multinotation literacy, for all readers.
To demonstrate that the heart and soul of effective object models is its strategies and patterns (not the shape of an icon or the number of adornments).
Automated Tool, Included on diskette.
This book comes with automated tool support, called Playgroundª.
Playground is a low-cost, easy-to-use tool for building objects models. It's shareware. And you can use it free, while working through the examples in this book.
Playground is especially suited for teams of domain experts and object modelers, working together during the early stages of a new project. It's a great way to get started with building effective object models.
Features: Drag-and-drop classes, attributes, services, connections; multiple views, always in-sync; view management, with view categories, selective hiding/showing, and view update options; full control over connections, including routing points, right-angled or diagonal connections, and more; and extensive customization with preferences.
Requirements. Windows with Win32s, 486-33 or better, 8 MB RAM, 4 MB disk space. Maximum recommended model size: 50 classes.
Tech support for Playground is provided by e-mail (email@example.com) or regular mail only.
Try it out for free. Use Playground for free, while working out examples in this book or using it in a classroom. The "Classroom and Personal Study ONLY" version is included with this book on diskette (the newest version is at ftp://ftp.oi.com/pub/oi/playground).
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I love Peter Coad's writing style, what he calls "learning by example". He creates these imaginary projects, with very real problems and then sets off to solve them in front of your very own eyes. Reading his books sometimes feel like a master-apprentice exercise where you get to work with one of the most experience and highly listened object modelers of his time.
The bulk of the Pattern Community gives Peter less credit than he deserves as far as being a strong force of the whole pattern movement, but as I mentioned, you'll always find this book (or Coad's earlier paper that inspired this book) on the reference pages of the greatest patterns and design books, written by the likes of Martin Fowler, Robert Martin, Frank Buschmann and it's even referenced with high anticipation on the appendix of Design Patterns: Elements of Reusable Object-Oriented Software.
Although it's a pre-UML book, you'll find Coad's notation very straight-forward and intuitive and if that weren't enough it is also helpfully explained in one of the appendixes. It's also laid out as a Duplex Book, where the first few chapters are written as narratives to learn about the design process, the patterns and strategies and how to apply them on real projects; and the second part as a reference catalog where you can easy get the details of a pattern or strategy for daily use.
In a sentence this book belongs on the shelf of every thoughtful software designer. It'll give you a new insight on the modeling process.
For each example, the book start identifying the features and purpose of the system that is going to be modeled. It presents this as interviews/talks between the developer and the domain expert. The objects that belongs to the domain are identified based on the understanding of the system. Then the object that belongs to the front end, the data managment and the objects that deals with other external systems. You will find object models, class diagrams and also sequence diagramas to understand better the interaction between the objects. Each important decision about modeling with objects is captured in what the authors calls, pattern. You won't find source code in this book.
I would preffer to see some more details about the interaction between the objects that model the domain and the objects dealing with the data managment. But that is probably for a next edition :).
I strongly recomend this book for developers who knows the object oriented paradigm and have experience with that. Because you can compare your own solution and agree or disagree with the solutions provided by the authors. And, of course, learn from that.
One interesting point is that the author shows how same strategy or pattern helps in design in various problems. Many authors do not do this. For beginners, it is often difficult to grasp a strategy or pattern with just one example.
One drawback is it uses UML notation very less. But Coad notation is simple and we can easily grasp to understand the diagrams in the book. If you want to learn from solid examples, this is a good choice. If you are very new to OOAD, this is not the one to start with.
If they gave me this book as a textbook in college, I'd drop the course. If I spent too much time with it, I'd give up programming. BORING, TEDIOUS, and unreadable. I ended up skimming this book. Frustratingly, every 40 pages or so, there's a couple paragraphs that are relevant and useful. Fortunately, they're easy to find because there are so few spots where he bothers to write whole paragraphs.
I'm looking for a book that helps me tune my sensibilities in designing and implementing object orientation, without boring me to death. If anyone can help, please comment or email me.
This book outlines a methodology that it also *shows* working -- and working in real-world applications. Definitely something for every object-oriented programmer's reference library.