Skip to content
Scan a barcode
Scan
Paperback Design by Contract by Example Book

ISBN: 0201634600

ISBN13: 9780201634600

Design by Contract by Example

Programming by contract is a powerful object-oriented technique that provides a disciplined and effective means of documenting the public interface of a class. This text provides a detailed... This description may be from another edition of this product.

Recommended

Format: Paperback

Temporarily Unavailable

2 people are interested in this title.

We receive fewer than 1 copy every 6 months.

Customer Reviews

5 ratings

Assertiveness Training

As the authors state in the preface of the book, the main focus of the text is to show the reader how to write high quality contracts. This is not a text intended to convince readers of the veracity of design by contract, but if you are a developer with an academic knowledge of assertions, then this book with its extensive examples will likely convert you to a design by contract advocate. Most of the examples presented in the book are written in Eiffel, an object oriented language that fully supports preconditions, postconditions and invariants without need for preprocessing. If you haven't written code in Eiffel I highly recommend that you download EiffelStudio and deploy the examples in this book. Although there are tools that offer assertion facilities, none provide the ease of use as that seen in the Eiffel language. The text covers a preprocessor that imparts assertions to Java, but the extra steps and unique keywords required to incorporate and activate the assertions are likely to prevent wide scale use of the tool in a software development environment. Some aspects of object oriented languages such as design by contract and multiple inheritance are often taught through a language and an integrated developer's environment that minimally supports the functionality. As such developers form a poor opinion of the concept and not the tool. The keyword support of contracts in Eiffel makes the language a perfect learning tool which will impart a more than academic understanding of the value of assertions. The authors state ardently that developers have a choice between spending hours hunting down the causes of runtime errors or instead allocating time to write thorough contracts. As a sometimes Eiffel developer I can state that this assertion is accurate. Since contracts also assign responsibility for the runtime errors, they are invaluable for debugging. I recall an instance when I encountered a postcondition violation while using a linked list from the Eiffel library. As a client of the class, I didn't spend any time tracking down the source of the error other than to report it along with the condition that triggered the error to the supplier. In industry significant time is spent debugging code prior to delivery and maintaining code afterwards. Any concept or tool that aids in this function is indispensable to the project. Apparently many people understood this notion since for several years the proposal to broaden Java to include keyword support of programming by contract was purportedly the most frequent "non-bug" report requested by Java developers. The book is well organized providing a set of step by step instructions on how to write robust contracts applicable to a wide range of examples from simple data structures to more advanced cases such as the implementation of the Observer Pattern. I considered myself well versed in design by contract but the six principles and guidelines as well as the frame rules, introduced successively vi

Great book. Great authors

I had a class with Dr. McKim as part of my requirements for my Masters. He is VERY good. I must say, I am little biased here, but I liked him as a lecturer and I bought this book as soon as it came out and I love it. I had never actually used the concept of Design by Contracts anywhere until my class with Dr. McKim. If you are a developer or an architect for any OO based language (Eiffel, c++, java, ?), you read this book and use it as your reference.

The best tutorial on design by contract

Despite its' power, design by contract is an underutilized software development technique. That is most likely explained by the speed of software development and the time that would be required to learn it well enough to use it. Most developers either do not, or feel that they do not have the time to stop and learn how to use design by contract effectively. Well, the former group simply cannot be helped, as not even design by contract will extend the time in a day. However, for the latter group, this book is for you. Design by contract is not difficult to learn, as is demonstrated in this book. The examples are very easy to understand and are chosen for their combination of ease of use as well as having applicability to the kinds of programs that developers create. While Eiffel and Java are used to create the examples, it is not critical that you know them to understand the code. The only requirement is that you understand the basic principles of object-oriented programming. While some background in logic would be helpful, all that is needed is what is required for writing correct Boolean expressions in programs. I am a big proponent of the design by contract model of software development. The writing of the contract principles forces a level of intellectual rigor that can dramatically improve the quality of your software. In this book, you can not only learn how to do it, but you will also learn how to do it well and the ways in which you can do it wrong. I have placed it in my list of the top ten books of the year.

Mitchell and McKim have done a great job

I read this book cover-to-cover, something I had rarely done in the past with technically oriented books; and I truly enjoyed the experience. Mitchell and McKim have done an exceptional job of not only portraying the essence of contracts but also the importance of these artifacts in software design. Design by Contract by Example is written carefully, accurately and with the reader in mind. My compliments go to the authors.

One of the most important books this year?

I had the opportunity to read the online draft manuscript of this book. The book is absolutely brilliant!!! The concept of DBC has finally been demystified. The examples are very illustrative. I finally think I may be able to convince my surrounding of why DBC is so important.
Copyright © 2024 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured