The Power of Design by Contract™
Eiffel Software is the pioneer of Design by Contract (DbC) and the Component Revolution. The notion of DbC is central in the systematic approach to software quality, as embodied in the Eiffel method and IDE EiffelStudio.
DbC is a metaphor on how elements of a software system collaborate with each other, on the basis of mutual obligations and benefits. The metaphor comes from business life, where a "client" and a "supplier" agree on a "contract" which documents that:
- The supplier must provide a certain product (obligation) and is entitled to expect that the client has paid its fee (benefit).
- The client must pay the fee (obligation) and is entitled to get the product (benefit).
- Both parties must satisfy certain obligations, such as laws and regulations, applying to all contracts.
To programmers and the projects they work on, this guarantees that bugs will be prevented by a well defined mechanism based on checks and balances. For managers, DbC ensures that programming is done correctly. For customers, it offers a label of quality, seriousness, and a job well done.
To meet the needs of today's large-scale and mission critical applications, this unique solution is a must.
For a more detailed look at Design by Contract and how it can make your code more reliable, consult the following resources:
- The Design by Contract™ presentation series
- The classic: Object-Oriented Software Construction, 2nd Edition by Bertrand Meyer, the reference on object technology and modern software engineering practice often referred to as “the O-O Bible.”
- The textbook: Touch of Class: Learning to Program Well with Objects and Contracts, by Bertrand Meyer, that makes learning programming fun and rewarding.
- The article: Building bug-free O-O software: An introduction to Design by Contract™