close menu
Bookswagon-24x7 online bookstore
close menu
My Account
Design by Contract, by Example: (English)

Design by Contract, by Example: (English)

3.3       |  3 Reviews 
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

Design by contract is an underused--but powerful--aspect of the object-oriented software development environment. With roots in the Eiffel programming language, it has withstood the test of time, and found utility with other programming languages. Here, by using both the Eiffel and Java languages as guidance, Design by Contract, by Example paves the way to learning this powerful concept. Through the following six teaching principles, the authors demonstrate how to write effective contracts and supporting guidelines. Readers will learn how to: *Separate queries from commands *Separate basic queries from derived queries *Write a postcondition for each derived query that specifies what result can be returned *Write a postcondition for each command that specifies the value of every basic query *Decide on a suitable precondition for every query and command *Write invariants to define unchanging properties of objects Contracts are built of assertions, which are used to express preconditions, postconditions and invariants. Using the above principles, the authors provide a frank discussion of the benefits, as well as the potential drawbacks, of this programming concept. Insightful examples from both the Eiffel and Java programming languages are included, and the book concludes with a summary of design by contract principles and a cost-benefit analysis of their applications. Design by Contract, by Example is the first book of its kind to offer an example-based approach to learning this important paradigm. If you are a developer seeking a way to improve your craft, this book will give you the necessary understanding of the concepts of contracts in software design. 0201634600B08142001

Table of Contents:
Foreword. Preface. 1. A First Taste of Design by Contract. About This Chapter. The Customer Manager Example. Some Questions. A Contract for CUSTOMER_MANAGER. The Story So Far. Runtime Checking. Trustworthy Documentation. Summary. An Aide Memoire. Things to Do. 2. Elementary Principles of Design by Contract. About This Chapter. Stacks. Separate Commands and Queries. Naming Conventions. Separate Basic Queries and Derived Queries. Specify How Commands Affect Basic Queries. Capture Unchanging Properties in Invariants. The Class and Its Contract. The Basic Queries Are a Conceptual Model of Stacks. The Six Principles. Things to Do. 3. Applying the Six Principles. About This Chapter. Dictionaries. Separating and Categorizing Features. Postconditions. Preconditions. Invariant. A Complete, Contract-Level View of DICTIONARY. Summary. Things to Do. 4. Building Support for Contracts—Immutable Lists. About This Chapter. Support for Linear Structures. Contracts Involve Expressions. Immutable Lists. A Contract for Immutable Lists. The Basic Queries. The Creation Command. The Derived Query Count. The Derived Query Preceded_by. The Derived Query Item. The Derived Query is_equal. The Derived Query Sublist. Summary. Things to Do. 5. Applying the Six Principles to QUEUE. About This Chapter. Queues. A Contract for the Remove Feature. Making Count a Derived Feature. A Contract for the Initialize Feature. A Contract for the Head Feature. A Contract for the put Feature. More Derived Queries. Summary. Things to Do. 6. Design by Contract and Inheritance. About This Chapter. Superclasses and Subclasses. Redefining Contracts. Eiffel Syntax. Summary. Invariants and Inheritance. Designing Superclasses with Guarded Postconditions. Two Kinds of Inheritance. Summary. Things to Do. 7. Frame Rules. About This Chapter. Change Specifications and Frame Rules. Frame Rules for put Using Immutable Lists. Frame Rules for put Using “Forall”. Kinds of Frame Rules. Things to Do. Appendix: More About the Preprocessor. 8. Benefits of Design by Contract. About This Chapter. Kinds of Benefits. Better Designs. Improved Reliability. Better Documentation. Easier Debugging. Support for Reuse. Design by Contract and Defensive Programming. Defending a Program Against Unwanted Input. Bulletproofing a Routine. Defensive Programming. Some Costs and Limitations of Contracts. 9. Contracts for an Observer Framework. About This Chapter. The Observer Framework. Immutable Sets. Attaching and Detaching Observers. Notification (For One Observer). Notification (For All Observers). A Performance Issue. Frame Rules. Privacy. Things to Do. 10. Fulfilling a Precondition. About This Chapter. The Examples. Fulfilling and Testing a Precondition. Testing Versus Checking. A Simple Counter Class. The User's View of the Program. The Internal Structure of the Program. The Program's Behavior. A Minor Detail. Summary. Things to Do. 11. Java Examples. About This Chapter. Why Java? Queues. The Basic Query size(). The Basic Query get(). The Derived Query head(). The Derived Query isEmpty(). The Derived Query shallowCopy(). The Constructor Queue. The Command put. The Command remove. Summary. Dictionaries. Names. The Invariant. The Basic Queries. A Derived Query. The Commands. The Constructor. A Possible Set of Classes. Java Without iContract. Precondition Testing. Things to Do. 12. Analysis by Contract. About This Chapter. A Use Case. Contracts in Analysis Models. A Contract for the withdrawCash Use Case. From Analysis to Design. Problem Domain and System Models. The Object Constraint Language. Summary. Bibliography. Index. 0201634600T10102001


Best Seller

| | See All


Product Details
  • ISBN-13: 9780201634600
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Edition: 1
  • Language: English
  • Series Title: English
  • Weight: 530 gr
  • ISBN-10: 0201634600
  • Publisher Date: 29 Oct 2001
  • Binding: Paperback
  • Height: 236 mm
  • No of Pages: 256
  • Spine Width: 16 mm
  • Width: 188 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

3.3       |  3 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
3.3       |  3 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Design by Contract, by Example: (English)
    Pearson Education (US) -
    Design by Contract, by Example: (English)
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Design by Contract, by Example: (English)

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals

      | | See All


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA