Application - Design By Contract model

Card Puncher Data Processing

About

A Design By Contract (DBC) model is based on the fact that a computation, given correct input, must terminated with a correct output. This assertion notion is central in a DBC design. If any assertion evaluates to false, the software system is considered as invalid.

Bertrand Meyer developed DBC as part of his Eiffel programming language.

This is also known as:

  • contract-driven
  • contract-first

Three roles collectively defines what is called the design-by-contract model of programming

  • Precondition: A condition that the caller of an operation agrees to satisfy. The user invoking the computation has the responsibility of providing the correct input.
  • Post-condition: A condition that the method itself promises to achieve. If the computation is successful, the computation has satisfied the post-condition.
  • Invariant: A condition that should always be true at a specified point of a program

Documentation / Reference





Discover More
Card Puncher Data Processing
Code Shipping - Devops

Devops: Teams of Devs and Ops. DevOps is a software development method that highlights collaboration and open communication between teams. DevOps teams are composed of: developers and operations...
Card Puncher Data Processing
Data Type - Interface (Abstract Type)

An interface is language construct that permits to define an abstract types (ADT). The interface element are public (not private) The two terms are often interchangeable. An ADT means an interface and...
Card Puncher Data Processing
Language - Assertion

In computer programming, an assertion is a predicate (for example a true–false statement) placed in a program to indicate that the developer thinks that the predicate is always true or false at that...
Web Service - Representational State Transfer (REST|RESTful) Web services

Representational State Transfer (REST) Web services, or “RESTful” Web services describes any simple interface that transmits data over a standardized interface (such as HTTP) without an additional...



Share this page:
Follow us:
Task Runner