OpenCyber Academy
Bachelor's · Chapter 34 · English
Course code: OCA-099Chapter 34: OCA-099-C034

Chapter 34 — Comparative project

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

Lesson map

Lesson 34 published. Map, example, EX100.

flowchart TD
  N0["Learning outcomes"]
  N1["34.1 The options"]
  N2["Lab — Weighted comparison with sensitivity check"]
  N3["34.2 Weighted scoring"]
  N4["34.3 Sensitivity"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Worked example"]
  EX --> Q["Exercise EX100"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["34.1 The options"]
  N2["Lab — Weighted comparison with sensitivity check"]
  N3["34.2 Weighted scoring"]
  N4["34.3 Sensitivity"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX100"]
[Learning outcomes]
    |
    v
[34.1 The options]
    |
    v
[Lab — Weighted comparison with sensitivity check]
    |
    v
[34.2 Weighted scoring]
    |
    v
[34.3 Sensitivity]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX100]

Learning outcomes

You will (1) compare two architectural options for Fernway's staff access; (2) use weighted criteria; (3) test sensitivity of the choice.

34.1 The options

Fernway must choose how store staff sign in to the stock app on shared tablets. Option A is individual passwords with a short session timeout. Option B is badge tap plus a short PIN, with badges linked to the identity provider. Lucas compares them as his comparative project. He defines criteria with Hannah and store managers: security against shared-credential misuse, speed at the till, cost, ease of leaver removal and accessibility for staff with disabilities. Defining criteria before scoring prevents the favoured option from shaping the criteria.

Lab — Weighted comparison with sensitivity check

# Weighted comparison of two sign-in options with a sensitivity check (synthetic).
crit = ["security", "speed", "cost", "leavers", "access"]
w = {"security": 0.30, "speed": 0.25, "cost": 0.15, "leavers": 0.15, "access": 0.15}
score = {"A": {"security": 3, "speed": 2, "cost": 5, "leavers": 3, "access": 3},
         "B": {"security": 4, "speed": 5, "cost": 2, "leavers": 5, "access": 4}}
def totals(wt):
    s = sum(wt.values()); return {o: sum(wt[c] * score[o][c] for c in crit) / s for o in score}
print("base:", {o: f"{v:.2f}" for o, v in totals(w).items()})
w2 = dict(w, cost=0.30); print("cost weight doubled:", {o: f"{v:.2f}" for o, v in totals(w2).items()})

Run with python3 lab_weighted.py. Verified output:

base: {'A': '3.05', 'B': '4.10'}
cost weight doubled: {'A': '3.30', 'B': '3.83'}

34.2 Weighted scoring

Each criterion receives a weight agreed by the group, and each option is scored from one to five on each criterion. The lab computes weighted totals: Option B scores higher, mainly on speed and leaver removal, while Option A is cheaper. Lucas records who scored what and why, so the scores can be challenged. He notes that scoring hides uncertainty, so a narrow gap would not justify a strong recommendation without further evidence, such as a pilot in one store.

34.3 Sensitivity

Lucas checks whether the choice changes if weights shift. The lab doubles the cost weight and finds Option B still wins, though by less. Only if cost is weighted more heavily than security and speed together does Option A win. Because no one at Fernway believes cost matters that much here, the recommendation is robust. He presents the result with the sensitivity check, which persuades the finance manager more than the totals alone. A pilot in one store confirms that badge sign-in takes about four seconds.

Worked example

Lucas compares two shared-tablet sign-in options with five weighted criteria, checks sensitivity to the cost weight and confirms with a pilot.

Synthetic case. Options, weights and scores are synthetic.

Errors and limits

Weights reflect opinions. Scores from a small group may share bias.

Exercises

Synthesis

Weighted comparison with a sensitivity check gives a robust, challengeable recommendation.

Continue studying — chapter 34 of 40

← Chapter 33 (draft) · Course chapter index · Chapter 35 (draft) →

Worked answers

EX100. So the preferred option does not influence what is measured.

EX101. Option A scored 3.05 and Option B 4.10.

EX102. Option B still won, 3.83 to 3.30.