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:28] – 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/ | ||
< | < | ||
- | <iframe width=" | + | <iframe width=" |
- | src=" | + | |
- | frameborder=" | + | |
- | encrypted-media; | + | |
- | allowfullscreen> | + | |
- | </ | + | |
</ | </ | ||
+ | |||
+ | 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 [[: | ||
+ | |||
+ | ===== 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.1587619728.txt.gz · Last modified: 2020/04/23 05:28 by jonathan