Explicit Requirements
- Shall determine full and empty condition
- Shall notify the user on the critical condition
- Shall be non-intrusive to container
- Shall be uniquely identifiable and specific to a user
- Shall be easily maintainable
- Shall send reliable data
- Shall store the data from the device
- Shall be durable and robust in case of physical wear
- Shall be liquid resistant
Implicit Requirements
- Should send notification when container is empty or full, with a 25% margin of error
- Should communicate over WiFi with the end user’s device
- Should send data at an interval that allows the backend to determine the status of the device
- Should communicate with a backend that determines which sensor is triggered and send the notification to the associated user
- Should be attached on the exterior of container
- Should be replaceable and detachable in under a minute
- Should take less than 10 minutes to calibrate and no more than two state changes
- Should provide timely notification of lower container levels to relevant users
- Should display usage data from each device in an informative manner that includes multiple devices across user-defined intervals
- Should hold all data received from the device for the lifetime of the device intervals
- Should provide a notification when running low on power or close to failure
- Should have implicit power saving, when not attached to a container
- Should be able to function after a five foot fall
- Should be encased in a protective outer shell
- Should be spill proof and capable of withstanding submersion in liquid