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:30] – 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=" | ||
| </ | </ | ||
| + | |||
| + | 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.1587619812.txt.gz · Last modified: by jonathan
