Contract - 272: Software Engineering Fall 2008 Instructor:...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
272: Software Engineering Fall 2008 Instructor: Tevfik Bultan Lecture 2: Design by Contract
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Design by Contract Design by Contract and the language that implements the Design by Contract principles (called Eiffel) was developed in Santa Barbara by Bertrand Meyer (he was a UCSB professor at the time, now he is at ETH) Bertrand Meyer won the 2006 ACM Software System Award for the Eiffel! Award citation: “ For designing and developing the Eiffel programming language, method and environment, embodying the Design by Contract approach to software development and other features that facilitate the construction of reliable, extendible and efficient software .” The company which supports the Eiffel language is located in Santa Barbara: Eiffel Software (http://www.eiffel.com) The material in the following slides is mostly from the following paper: “Applying Design by Contract,” B. Meyer, IEEE Computer, pp. 40- 51, October 1992.
Background image of page 2
Dependability and Object-Orientation An important aspect of object oriented design is reuse For reusable components correctness is crucial since an error in a module can effect every other module that uses it Main goal of object oriented design and programming is to improve the quality of software The most important quality of software is its dependability Design by contract presents a set of principles to produce dependable and robust object oriented software Basic design by contract principles can be used in any object oriented programming language
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is a Contract? There are two parties: Client which requests a service Supplier which supplies the service Contract is the agreement between the client and the supplier Two major characteristics of a contract Each party expects some benefits from the contract and is prepared to incur some obligations to obtain them These benefits and obligations are documented in a contract document Benefit of the client is the obligation of the supplier, and vice versa.
Background image of page 4
What is a Contract? As an example let’s think about the contract between a tenant and a landlord Party Obligations Benefits Tenant Pay the rent at the beginning of the month. Stay at the apartment. Landlord Keep the apartment in a habitable state. Get the rent payment every month.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is a Contract? A contract document between a client and a supplier protects both sides It protects the client by specifying how much should be done to get the benefit. The client is entitled to receive a certain result. It protects the supplier by specifying how little is acceptable. The supplier must not be liable for failing to carry out tasks outside of the specified scope. If a party fulfills its obligations it is entitled to its benefits
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/04/2011 for the course CEN 5016 taught by Professor Workman,d during the Spring '08 term at University of Central Florida.

Page1 / 41

Contract - 272: Software Engineering Fall 2008 Instructor:...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online