Solution Strategy

Quality goalAchieved byRational
ReliabilityCustom PCB design for the system hardware.The electronic components are assembled on a professionally manufactured circuit board. No manual wiring is needed.
Rust programming language for the system software.Use a system language that focus on correctness and provides native support for testing.
Documented software anomalies.Anomalies are documented and can be addressed later on by developers.
AutonomousExternal RTC with a backup battery.Local time is keep by a dedicated, high precision circuit. The backup battery allow the circuit to keep the time even when the system is not powered.
Automatic time synchronization with NTP.No need for the user to enter the time manually, even after power lose.
TestabilityTDD for software module.Increase confidence of software working as expected.
Follow test-double names for testing.Follow a standard, that helps developers to understand the tests structure and behavior.