Block 1 · 12:00–12:50 · Requirements and Project Integration
Project Integration, Security, and
Verification
After completing this module, students should be able to:
- explain how a project concept should mature from Module 1 to an integrated prototype;
- translate stakeholder needs into measurable functional and quality requirements;
- establish bidirectional traceability between requirements, architecture, implementation, tests, results, and individual contributions;
- divide a system into components with explicit responsibilities and versioned interface contracts;
- identify assets, threat actors, attack surfaces, trust boundaries, abuse cases, and proportionate controls;
- conduct a practical failure-mode and risk analysis for cyber-physical systems;
- distinguish verification, validation, testing levels, and acceptance evidence;
- design nominal, boundary, fault-injection, recovery, performance, and security tests;
- plan reproducible deployment, rollback, configuration control, and operational monitoring; and
- assemble attributable portfolio evidence that demonstrates individual engineering competence.
10.1 Module 10 Is a Review and Convergence Point
The project does not begin in Module 10. It begins in Module 1 with a need, an initial system concept, physical inputs and outputs, communication, a useful result, and at least one failure condition. Each subsequent module should refine the project:
| Stage | Project development | Expected evidence |
|---|---|---|
| Modules 1–2 | Need, users, computing platform, deployment concept | Initial concept, platform rationale, repository, managed service |
| Modules 3–4 | Network boundary, data contract, sensors and actuators | API/topic schema, wiring, calibration, safe-state definition |
| Stage | Project development | Expected evidence |
|---|---|---|
| Modules 5–6 | Distributed nodes, framing, wireless and MQTT | Node responsibilities, protocol, sequence handling, outage behavior |
| Modules 7–8 | LoRaWAN/cloud or ROS 2/container integration | End-to-end data path, QoS, deployment and trust boundaries |
| Module 9 | Automation or intelligent feature where justified | Baseline, measured benefit, authority and fallback |
| Module 10 | Integration review and design convergence | Thin vertical slice, traceability, risks, threat model, verification plan |
| Modules 11–12 | Completion, fault correction, demonstration and portfolio | Verified release, reproducible evidence, reflection, presentation |
By this module, the team should demonstrate a thin vertical slice: the smallest end-to-end implementation crossing the real architectural boundaries. For a GPS tracker, this could be one GNSS observation acquired on the target, validated, buffered, transmitted, stored, and displayed with identity and timestamp. It need not contain every feature, but it must expose the difficult interfaces early.
10.2 From Interesting Idea to Engineering Claim
A project becomes defensible when it answers six questions:
- Need: Whose problem is being solved, and why does it matter?
- Context: In what physical, network, environmental, and regulatory conditions must it operate?
- Behavior: What must the system observe, compute, communicate, store, and control?
- Quality: How fast, accurate, available, secure, maintainable, and energy efficient must it be?
- Evidence: What measurement will show that each important claim is true?
- Ownership: Who designed, implemented, reviewed, and verified each part?
“Build an intelligent IoT monitoring system” is a theme, not a specification. “The deployed node shall record a time-stamped GNSS position every 5 ± 0.5 seconds during a 30-minute outdoor route and retain at least 95% of scheduled observations” is testable.
10.3 Stakeholders and Operational Scenarios
A stakeholder is anyone affected by, operating, maintaining, approving, attacking, or depending on the system. Users are only one stakeholder group. For an agricultural monitoring system, stakeholders may include the farmer, field worker, service technician, data controller, network operator, equipment owner, course examiner, nearby public, and system administrator.
Describe the system using operational scenarios rather than only a feature list:
- normal startup and shutdown;
- routine acquisition and control;
- installation and commissioning;
- loss and restoration of power or connectivity;
- sensor replacement or recalibration;
- software update and rollback;
- unauthorized access attempt;
- storage exhaustion;
- operator override and emergency response; and
- end-of-life credential and data removal.
Scenarios expose requirements that a happy-path demonstration misses.
10.4 Writing Good Requirements
A requirement states a necessary capability, property, or constraint. Requirements should be necessary, clear, feasible, singular, implementation-aware only when justified, and verifiable. Use “shall” for mandatory project requirements and give each a stable identifier.
| Weak statement | Problem | Improved requirement |
|---|---|---|
| The system shall be fast. | No operation, condition, or limit | R-12: The dashboard shall display a valid received measurement within 2.0 s of gateway reception for at least 95% of trials. |
| The sensor shall be accurate. | No range or reference | R-18: From 10–35°C, the absolute difference between reported and reference temperature shall not exceed 0.5°C after calibration. |
| The system shall never fail. | Impossible and unverifiable | R-24: Following broker loss of up to 10 min, the gateway shall retain and replay all valid records without duplicate database entries. |
| The UI shall be user friendly. | Subjective | R-31: A trained operator shall locate a named node and its data age within 20 s in 9 of 10 timed trials. |
| Use Raspberry Pi and MQTT. | A design choice presented as a need | State the required Linux services and publish–subscribe behavior; justify the selected implementation in the architecture. |
10.4.1 Functional and quality requirements
Functional requirements describe what the system does. Quality requirements constrain how well or under what conditions it does it. Relevant quality categories include performance, timing, availability, reliability, safety, security, privacy, energy, interoperability, usability, maintainability, and deployability.
Every numerical target should have a rationale. An arbitrary number is measurable but not necessarily meaningful. Base targets on stakeholder needs, physical dynamics, regulations, interface limits, baseline measurements, or explicit design assumptions.

Illustrative tree. AND requires both causes; OR requires any listed cause.