Problem statement
Design the object model and control APIs for a residential intrusion alarm panel that arms a set of sensors, honours entry and exit delays, and escalates to a siren when a fault is confirmed.
Operating context. One panel supervises many sensors (door/window contacts, motion detectors, glass-break) grouped into zones. The panel has arming modes: disarmed, armed-stay (perimeter only, occupants home), and armed-away (perimeter plus interior motion). Arming to away starts an exit delay so a user can leave; opening an entry-delay door starts a countdown during which the user must enter a valid code before the siren triggers. A tripped sensor in an active zone raises an alarm; the user disarms with a keypad code. Zones can be bypassed at arm time. Everything runs in-process on the panel.
Out of scope. Central-monitoring-station dialer protocols, cellular/IP communicator hardware, user-account and cloud provisioning, camera and video verification, and the sensor radio-supervision RF layer.
What to produce. The class hierarchy (panel, zone, sensor, arming mode, alarm state machine, keypad/credential check), the public API each class exposes, and the full state transitions of the panel. Be explicit about: how entry and exit delays are modelled without busy-waiting, how the arming mode decides which sensors are live (a Strategy over the sensor set), and how a new sensor type or a new arming mode is added without editing the alarm state machine.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design LLD
- Patterns State-Machine
- Patterns Strategy
- Oop Solid
- Iot Security