demo:simple
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
demo:simple [2020/04/23 05:33] – jonathan | demo:simple [2020/04/29 18:18] (current) – jonathan | ||
---|---|---|---|
Line 4: | Line 4: | ||
* [[https:// | * [[https:// | ||
+ | * [[http:// | ||
Below is a Demo of a Capstone Project by two students: Webapp for compiling/ | Below is a Demo of a Capstone Project by two students: Webapp for compiling/ | ||
Line 13: | Line 14: | ||
The above video demos the simple mode, but there is also a project and tutorial mode. It is more challenging to develop a robust web-app of this kind than a desktop application. | The above video demos the simple mode, but there is also a project and tutorial mode. It is more challenging to develop a robust web-app of this kind than a desktop application. | ||
- | See [[: | + | See [[: |
+ | |||
+ | ===== Design by Contract ===== | ||
+ | |||
+ | In Design by Contract (developed by Bertrand Meyer), a software component has a mathematical **specification** that describes **what** the the component must do (free of implementation detail) and an **implementation** (one of possibly many) that describes **how** the specification is implemented. | ||
+ | |||
+ | For example, the specification of a a square root function is described by a precondition (keyword **require**) and a postcondition (keyword **ensure**) as shown below. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | There are of course many different implementations that might satisfy this specification. | ||
+ | |||
+ | A **contract** imposes obligations and benefits on the **client** (a component that uses the square root function) and the **supplier** (who must provide a body for the square root function). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | A precondition failure is the fault of the client of the component. A postcondition failure is the fault of the supplier of the failure. | ||
+ | |||
+ | Runtime assertion checking (in Eiffel) is used to check that the given implementation satisfies the specification. |
demo/simple.1587620005.txt.gz · Last modified: 2020/04/23 05:33 by jonathan