Chapter 46 — Engineering capstone II
Lesson map
Lesson 46 published. Map, example, EX136.
flowchart TD
N0["Learning outcomes"]
N1["46.1 Completing verification"]
N2["46.2 Usability test"]
N3["46.3 Deployment preparation"]
N4["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Worked example"]
EX --> Q["Exercise EX136"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["46.1 Completing verification"]
N2["46.2 Usability test"]
N3["46.3 Deployment preparation"]
N4["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX136"]
[Learning outcomes]
|
v
[46.1 Completing verification]
|
v
[46.2 Usability test]
|
v
[46.3 Deployment preparation]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX136]
Learning outcomes
You will (1) complete implementation and verification; (2) run a usability test; (3) prepare deployment.
46.1 Completing verification
Jonas completes the fund contract and app changes, then runs the full verification suite: unit and property tests, invariant replay including fund balances, role policy check, end-to-end tests and reconciliation of fund totals against the database. All pass after one fix to a reconciliation script that had not included the fund's address. He updates the traceability matrix so every capstone requirement links to at least two verification methods. The final run results, with dates and versions, are stored in the dossier, and Dr Nwosu samples two to confirm they match the recorded outputs.
46.2 Usability test
Five members, including two over seventy, try donating and checking fund totals using the app on the test network. Three find the donation confirmation unclear because it shows a transaction identifier rather than a plain message. Jonas changes the confirmation to say how many credits were donated and that the fund total will update within an hour. A second test with three members succeeds. Usability affects security too, because confused users make mistakes and lose trust. He records the findings.
46.3 Deployment preparation
Deployment follows the established path: board approval, deployment and initialisation in one transaction, role assignment to the multi-signature wallet, timelock configuration, monitoring rules for fund events, member announcement and post-deployment checks. Jonas runs the full path on the test network first. The board approves production deployment, scheduled for a weekday morning with all keyholders available. Preparation reduces the chance that deployment itself introduces errors. After deployment, Jonas runs the post-deployment checks, confirms roles and timelocks match the configuration record, verifies that monitoring sees fund events, and records the results for the board, which formally closes the deployment change.
Worked example
Verification passes after a reconciliation fix; usability testing improves the donation confirmation; deployment is rehearsed and approved for a staffed weekday morning.
Synthetic case. Members, tests and deployment are synthetic.
Errors and limits
Deploying when keyholders are unavailable leaves no one able to respond if something goes wrong.
Exercises
- EX136 — Reconciliation fix. What reconciliation fix was needed? Rubric: 3 = include the fund's address;; 2 = fund address;; 1 = vague;; 0 = none.
- EX137 — Usability problem. What confused test members? Rubric: 3 = confirmation showed a transaction identifier;; 2 = unclear confirmation;; 1 = colours;; 0 = none.
- EX138 — Deployment timing. When is deployment scheduled? Rubric: 3 = weekday morning with all keyholders available;; 2 = staffed weekday;; 1 = weekend night;; 0 = none.
Synthesis
Complete verification, usability testing and rehearsed deployment finish the capstone safely.
Continue studying — chapter 46 of 50
← Chapter 45 (draft) · Course chapter index · Chapter 47 (draft) →