◇ OpenCyber Academy
Engineering · Chapter 46 · English

Chapter 46 — Engineering capstone II

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

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

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) →