• RRP: £30.99
  • You Save: £1.55 (5%)
FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Fundamentals of Object-or... has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Condition: Used: Good
Comment: Ships from USA. Please allow 2 to 3 weeks for delivery. Light shelf wear and minimal interior marks. A tradition of quality and service.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Fundamentals of Object-oriented Design in UML (Object Technology Series) Paperback – 3 Nov 1999

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£22.99 £2.78
£29.44 FREE Delivery in the UK. Only 2 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.

Product details

  • Paperback: 480 pages
  • Publisher: Addison Wesley; 1 edition (3 Nov. 1999)
  • Language: English
  • ISBN-10: 020169946X
  • ISBN-13: 978-0201699463
  • Product Dimensions: 18.5 x 3 x 23.1 cm
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,173,237 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Back Cover

Object technology is increasingly recognized as a valuable tool in application development, but what is not yet recognized is the importance of design in the construction of robust and adaptable object-oriented (OO) applications. With the recent introduction and widespread adoption of the Unified Modeling Language (UML), programmers are now equipped with a powerful tool for expressing software designs. Fundamentals of Object-Oriented Design in UML shows aspiring and experienced programmers alike how to apply design concepts, the UML, and the best practices in OO development to improve both their code and their success rates with object-based projects.

In the first two chapters, best-selling author Meilir Page-Jones introduces novices to key concepts and terminology, demystifying the jargon, and providing a context in which to view object orientation. Part II is a practical and well-illustrated guide to UML notation and to building the most useful UML diagrams. Part III grapples with advanced topics in the testing and improvement of design quality, including connascence, level-2 encapsulation, and the use of state-space and behavior to assess class hierarchies. These design principles are explained and demonstrated without reference to any one design methodology so that they are easily accessible and applicable in a variety of contexts. Programmers and designers learn how to assess and enhance their work as the author walks them through the evaluation of designs taken from actual projects and the realistic example that ends the book.

Readers will come away with a better understanding of object-oriented concepts and of how to design and develop the high-quality software their clients need.


About the Author

Meilir Page-Jones is President and Senior Consulting Methodologist at Wayland Systems, and has extensive experience in training, consulting, and hands-on system development. He created several of Wayland's courses on object-oriented software engineering and project management, including The Synthesis Method for Object-Oriented Systems Development and Analysis and Design for Client/Server Systems Development. Formerly the head of the Structured Design Department at Yourdon Inc., Meilir wrote the best-selling Practical Guide to Structured Systems Design and Practical Project Management. He has also written numerous articles for the Journal of Object-Oriented Programming, Object Magazine, Software Development Magazine, and Computerworld, and has spoken at many conferences, including OOPSLA, Software Development, and Object Expo.


Customer Reviews

3.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

5 of 7 people found the following review helpful By Mr. M. Staples on 5 July 2000
Format: Paperback
Not really a review (the system made me leave a star rating). More of a warning for anyone who already owns a copy of Page-Jones' What Every Programmer Should Know About Object Oriented Design. This is essentially the same book, but using UML notation instead of Page-Jones' own modelling language, which he used in the first book. I am a bit miffed that nobody seems to be pointing this out - the new book doesn't make any mention of the old one, and book sellers don't appear to be aware of the connection. I think this borders on mis-selling. I saw that MP-J had two books out, and decided to buy the one I had been recommended (the old one) as I assumed that the new one was yet another UML book. However, I would prefer not to learn another notation, given that the same design information is available in the new book in UML, but I am stuck. Shabby.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 27 reviews
36 of 37 people found the following review helpful
A seamless treatment of two complex topics 26 Jan. 2000
By Charles Ashbacher - Published on Amazon.com
Format: Paperback
The Unified Modeling Language or UML forms a natural relationship with object-oriented programming or OOP. Using the metalanguage, UML, in simultaneous combination with the descriptive language, OOP, is now considered to be the optimal way to build large systems. Furthermore, iterating through several versions is generally conceded to be superior to the previous practice of completing one stage before proceeding to the next. Therefore, it is natural for one to study the two simultaneously, and in an incremental manner. However, that is not an easy task, as the UML is large and OOP is clearly a paradigm shift from previous ways of building software. Page-Jones navigates his way through the myriad complexities of the two very well, doing a superb job of introducing both.
The emphasis is necessarily on the principles of OOP rather than the UML, as that is the true point of the book. It would have been easy to lose that focus, but the UML is reserved for its proper place as the descriptor. All of the basic principles of OOP are presented in a wry style with plenty of humor. The tone was set in the beginning where he makes a bovine metaphor describing the ways one can approach the process of building systems. When it comes time to milk a cow, do we tell the milk to exit the cow or the cow to release the milk? In modeling, both approaches can be considered equally valid until proven otherwise.
Each chapter terminates with a series of problems, where the solutions are verbal or in simple pseudo-code. The solutions are detailed, providing solid reinforcement of the topics. If you are new to OOP or simply need a tune-up, then this book is definitely worth reading. It is quite likely that it will be on my list of top ten books for the year.
44 of 47 people found the following review helpful
Pragmatic Fundamentals -- distilling the accumulated wisdom 12 April 2000
By Angel E. Rodriguez - Published on Amazon.com
Format: Paperback
Who should read this book: Senior Programmers and Systems Analysts.
This book can be very valuable anyone who builds Object-Oriented computer programs, and anyone building computer programs either is or soon will be using Object-Oriented tools. Although it focuses on the Unified Modeling Language, a standard for most Computer-Aided Software Engineering tools, I found the real value of the book to be in the lucid explanations of principles of good software analysis and design, even more than in the nuts and bolts of UML. Dr. Page-Jones' style continues to combine well-researched information with down-to-earth pragmatism and a delightfully irreverent tone towards those who take this business (or themselves) way too seriously.
Who am I? I am a computational physicist turned systems analyst, with almost 20 years experience developing complex codes for scientific modeling and analysis, now working on real-time defense systems. I have been technical lead and mere contributor, subcontractor and lead contractor. My passion is for tight modular designs that facilitate high-reliablility code.
Part I, Introduction, gives excellent working definitions of the main concepts generally considered part of "Object Orientation" in a way that should be useful even to those beginning to use an OO language, and a historical perspective that helps explain why some issues are still messy.
Part II gets into the "nuts and bolts" of UML itself, of necessity illustrating many key concepts along the way. Even if you never use a CASE tool, the ability to discuss design issues using accepted "standard" diagrams will help you think through the key issues, communicate your ideas more clearly, and ultimately develop better designs. Better designs will not only avoid headaches in the implementation, but also guide the coding effort by making it clearer what the goals are.
Part III, the Principles of Object-Oriented Design, is worth the price of the book all by itself. Meilir's style helps you get through the big words by reminding you that that they are generalizations of common sense. For example, "connaissance" is basically old-fashioned "coupling": the more Module X's correct execution depends on details in Module Y, the more chances for mistakes. The OO quality of "encapsulation" helps you minimize it, whatever you call it. The old-fashioned concept of "coherence" becomes "cohesion": if everything a module does supports a well-understood single purpose, it is less likely there will be confusion or duplication. Do you hate a utility because you need to know so many stupid implementation details to use it properly? Don't lamely whine "I just don't like it!" when you can impress everyone by showing that it has an unjustifiably high "encumbrance."
The book is full of sound principles illustrated with real-world examples. If your gut has ever told you a proposed action was a bad idea, but you didn't know how to express your misgivings, the sound principles in this book will help you put your finger on what is wrong and why. Even if you don't care to use the impressive academic-sounding terms for them, the principles will help you become a more effective, persuasive member of your team. And even if you ARE the whole "team," they will keep you out of trouble.
30 of 31 people found the following review helpful
Instructive, Thoughtful, and Compelling 16 Sept. 2000
By Thomas E. Denham - Published on Amazon.com
Format: Paperback Verified Purchase
Fundamentals of Object-Oriented Design in UML is a friendly book. I enjoyed it. Meilir Page-Jones maintains a wry sense of humor while threading through the intricacies of OO development in a clear, instructive fashion. The book really does have something for new and experienced programmers alike.
The first two sections of the book are most accessible to those with little programming experience. These sections introduce object orientation and provide a review of the most useful Unified Modeling Language notations while illustrating their use in software design work. But throughout the book the author examines critical principles in such a way that the most experienced software designers will be challenged to reconsider assumptions and habits and to look more critically at their work. The third section of the book is not completely accessible to readers without substantial development experience but even so has enough to offer that it should not be skipped by the newcomer to coding.
In my opinion this book is more about design than UML. If you want an introduction to UML it might make more sense to read Sams Teach Yourself UML in 24 Hours. The introduction to UML in Page-Jones' book is good enough to be your first look at UML but it is not comprehensive and it is oriented to illustrating design principles. This is an excellent book to start with and I would recommend reading it before anything else on UML. And I cannot imagine a better book for introducing object-oriented design. The author has a long track record in structured design and he frequently relates OO to SD concepts. The book is language independent but weighted toward C++. I only speak Java and had a little trouble with the concept of parameterized classes because they don't exist in my frame of reference but this was a very minor problem.
30 of 32 people found the following review helpful
Displays a healthy perspective on Object-Oriented Design 21 July 2000
By Tom Charlton - Published on Amazon.com
Format: Paperback
The major portion of my information technology career of fourteen years has been based in structured design and programming. I've spent the last few years programming in Visual Basic, which is object-based. I've also done a modicum of programming with object-oriented languages (C++ and Java). I jumped into OO programming before taking any design courses (sound familiar?) and eventually felt compelled to remedy the situation by reading a book on OOD. Meilir Page-Jones' book was not a disappointment. I believe that designers and programmers of all experience levels can benefit from reading his book. Newcomers will get the right introduction to OOD while experienced developers will be challenged to reexamine their approach to software construction.
"Fundamentals of Object-Oriented Design" is composed of three parts. In part 1 the author provides an overview of Object-Oriented Design (OOD) by defining key terms and then providing a brief summary of the evolution of software development. This orientation prepares the reader for the rest of the discussions in the book. Part 2 is a summary of the most often used portions of UML syntax. It's not intended to be an exhaustive description. He leaves out those parts of the language that are used infrequently. Part 3 is a compendium of principles of object-oriented design.
The salient benefits of the book are the clear, cogent arguments Mr. Page-Jones articulates in support of the principles he espouses, which are rooted in a very practical approach toward software development. Among other things, you can use most of the principles as bases for code reviews. He also peppers the discussions with entertaining anecdotes, realizing that this heavy stuff needs periodic comic relief. His definitions of OO terminology are concise and he avoids unnecessary abstractions.
I recommend that you add this book to your reference library. There are many zealots for OOD and this book helps to put things in their proper perspective.
17 of 18 people found the following review helpful
Practical OO programming with UML 4 April 2000
By Amazon Customer - Published on Amazon.com
Format: Paperback
I must say immediately that OOD is a great weak point in my armoury. I do my designs largely by refactoring as I build from my business level objects. I also re-use the architectural level objects I developed in this way in earlier projects. I still tend to do the UML after I have done the programming, if then.
The book that has helped me a great deal to get things right despite my pragmatic approach is Meilir Page-Jones's recent book "Fundamentals of Object-Oriented Design in UML" (Addison Wesley ISBN 0-201-69946-X).
This book brings up to date Page-Jones earlier book "What Every Programmer Should Know About Object-Oriented Design" (Dorset House ISBN 0-932633-31-5). The biggest differences are that in Fundamentals he uses a subset of UML instead of his own notation, and he has a good chapter on component or interface design.
Both books have lots of examples and exercises, which I hear is a good thing.
The first part of Fundamentals introduces OO. The second part discusses the parts of the UML that are relevant to OOD. He does not discuss Use Cases as being beyond the scope of the book. Instead, he has chapters on Class Diagrams, Object Interaction Diagrams, State Diagrams, and Architecture and Interface Diagrams. The third part of the book is the really useful part. Here Page-Jones discusses good designs and how to achieve them.
I cannot recommend this book too highly.
Were these reviews helpful? Let us know