Wonder Club world wonders pyramid logo
×

Design by Contract, by Example Book

Design by Contract, by Example
Design by Contract, by Example, 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, b, Design by Contract, by Example has a rating of 4.5 stars
   2 Ratings
X
Design by Contract, by Example, 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, b, Design by Contract, by Example
4.5 out of 5 stars based on 2 reviews
5
50 %
4
50 %
3
0 %
2
0 %
1
0 %
Digital Copy
PDF format
1 available   for $99.99
Original Magazine
Physical Format

Sold Out

  • Design by Contract, by Example
  • Written by author Richard Mitchell
  • Published by Addison-Wesley, October 2001
  • 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, b
  • What the Book Covers Design by Contract is all about adding assertions to object-oriented programs at the design and coding stages. Assertions are facts about a program that must be true for the program to be bug-free. The key assertions
Buy Digital  USD$99.99

WonderClub View Cart Button

WonderClub Add to Inventory Button
WonderClub Add to Wishlist Button
WonderClub Add to Collection Button

Book Categories

Authors

Forewordix
Prefacexi
Chapter 1A First Taste of Design by Contract1
1.1About This Chapter1
1.2The Customer Manager Example2
1.3Some Questions5
1.4A Contract for CUSTOMER_MANAGER6
1.5The Story So Far9
1.6Runtime Checking11
1.7Trustworthy Documentation13
1.8Summary15
1.9An Aide Memoire15
1.10Things to Do15
Chapter 2Elementary Principles of Design by Contract17
2.1About This Chapter17
2.2Stacks18
2.3Separate Commands and Queries19
2.4Naming Conventions22
2.5Separate Basic Queries and Derived Queries23
2.6Specify How Commands Affect Basic Queries26
2.7Capture Unchanging Properties in Invariants34
2.8The Class and Its Contract36
2.9The Basic Queries Are a Conceptual Model of Stacks38
2.10The Six Principles42
2.11Things to Do43
Chapter 3Applying the Six Principles47
3.1About This Chapter47
3.2Dictionaries47
3.3Separating and Categorizing Features48
3.4Postconditions50
3.5Preconditions56
3.6Invariant62
3.7A Complete, Contract-Level View of DICTIONARY63
3.8Summary65
3.9Things to Do66
Chapter 4Building Support for Contracts--Immutable Lists69
4.1About This Chapter69
4.2Support for Linear Structures69
4.3Contracts Involve Expressions70
4.4Immutable Lists71
4.5A Contract for Immutable Lists72
4.5.1The Basic Queries72
4.5.2The Creation Command74
4.5.3The Derived Query count74
4.5.4The Derived Query preceded_by74
4.5.5The Derived Query item75
4.5.6The Derived Query is_equal77
4.5.7The Derived Query sublist79
4.6Summary81
4.7Things to Do81
Chapter 5Applying the Six Principles to QUEUE83
5.1About This Chapter83
5.2Queues83
5.3A Contract for the remove Feature84
5.4Making count a Derived Feature88
5.5A Contract for the Initialize Feature91
5.6A Contract for the head Feature93
5.7A Contract for the put Feature94
5.8More Derived Queries94
5.9Summary95
5.10Things to Do96
Chapter 6Design by Contract and Inheritance99
6.1About This Chapter99
6.2Superclasses and Subclasses99
6.3Redefining Contracts100
6.3.1Eiffel Syntax104
6.3.2Summary107
6.4Invariants and Inheritance108
6.5Designing Superclasses with Guarded Postconditions109
6.6Two Kinds of Inheritance116
6.7Summary117
6.8Things to Do117
Chapter 7Frame Rules119
7.1About This Chapter119
7.2Change Specifications and Frame Rules119
7.3Frame Rules for put Using Immutable Lists121
7.4Frame Rules for put Using "Forall"128
7.5Kinds of Frame Rules130
7.6Things to Do132
7.7Appendix: More About the Preprocessor132
Chapter 8Benefits of Design by Contract137
8.1About This Chapter137
8.2Kinds of Benefits137
8.3Better Designs138
8.4Improved Reliability140
8.5Better Documentation140
8.6Easier Debugging142
8.7Support for Reuse142
8.8Design by Contract and Defensive Programming143
8.8.1Defending a Program Against Unwanted Input143
8.8.2Bulletproofing a Routine144
8.8.3Defensive Programming145
8.9Some Costs and Limitations of Contracts146
Chapter 9Contracts for an Observer Framework149
9.1About This Chapter149
9.2The Observer Framework150
9.3Immutable Sets152
9.4Attaching and Detaching Observers155
9.5Notification (For One Observer)156
9.6Notification (For All Observers)158
9.7A Performance Issue160
9.8Frame Rules161
9.9Privacy164
9.10Things to Do166
Chapter 10Fulfilling a Precondition169
10.1About This Chapter169
10.2The Examples170
10.3Fulfilling and Testing a Precondition170
10.4Testing Versus Checking172
10.5A Simple Counter Class173
10.6The User's View of the Program174
10.7The Internal Structure of the Program176
10.8The Program's Behavior178
10.9A Minor Detail184
10.10Summary186
10.11Things to Do187
Chapter 11Java Examples189
11.1About This Chapter189
11.2Why Java?190
11.3Queues190
11.3.1The Basic Query size()192
11.3.2The Basic Query get()193
11.3.3The Derived Query head()193
11.3.4The Derived Query isEmpty()194
11.3.5The Derived Query shallowCopy()194
11.3.6The Constructor Queue195
11.3.7The Command put196
11.3.8The Command remove196
11.3.9Summary198
11.4Dictionaries198
11.4.1Names199
11.4.2The Invariant200
11.4.3The Basic Queries200
11.4.4A Derived Query201
11.4.5The Commands201
11.4.6The Constructor202
11.4.7A Possible Set of Classes203
11.5Java Without iContract203
11.6Precondition Testing207
11.7Things to Do212
Chapter 12Analysis by Contract215
12.1About This Chapter215
12.2A Use Case215
12.3Contracts in Analysis Models217
12.4A Contract for the withdrawCash Use Case217
12.5From Analysis to Design220
12.6Problem Domain and System Models221
12.7The Object Constraint Language224
12.8Summary225
Bibliography227
Index231


Login

  |  

Complaints

  |  

Blog

  |  

Games

  |  

Digital Media

  |  

Souls

  |  

Obituary

  |  

Contact Us

  |  

FAQ

CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!!

X
WonderClub Home

This item is in your Wish List

Design by Contract, by Example, 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, b, Design by Contract, by Example

X
WonderClub Home

This item is in your Collection

Design by Contract, by Example, 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, b, Design by Contract, by Example

Design by Contract, by Example

X
WonderClub Home

This Item is in Your Inventory

Design by Contract, by Example, 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, b, Design by Contract, by Example

Design by Contract, by Example

WonderClub Home

You must be logged in to review the products

E-mail address:

Password: