Functional Requirements
- User Management
- The system should allow two types of users: Admin and Guardian.
- Users can log in to the system.
- Admin possibility to create a new user of type Guardian.
- Admin possibility to modify Guardians information.
- Possibility to remove a Guardian.
- Permission and Contact management by the Admin.
- Location Management
- Admin possibility to create a new location.
- Admin possibility to remove a location.
- Device Management
- Guardian possibility to federate a device.
- Guardian possibility to modify device description.
- Guardian possibility to enable and disable a device.
- Guardian possibility to remove a device.
- Monitoring
- Consult real-time environment data through a chart.
- Consult video streaming.
- Alarm Management
- Possibility to create a security rule.
- Possibility to update a security rule.
- Possibility to delete a security rule.
- Notification Management
- Consult all the notifications sent by the system.
- Possibility to receive real-time notifications.
- Possibility to receive notifications when an alarm is triggered due to a security rule.
- History
- Consult the history of produced data.
- Consult the history of triggered alarms (Intrusions or Outliers).
User Stories
-
User:
-
As an Admin,
[I want to] create a new user in the system,
[so that] the user can access the system and consult it. -
As an Admin,
[I want to] modify user contacts information,
[so that] the user contacts are updated in the system. -
As an Admin,
[I want to] add/remove user permissions,
[so that] the user permissions are updated in the system. -
As an Admin,
[I want to] delete a user from the system,
[so that] the user is removed from the system.
-
-
Location:
-
As an Admin,
[I want to] create a new location in the system,
[so that] the location is created in the system and I can grant the access to Guardians. -
As an Admin,
[I want to] delete a location from the system,
[so that] the location is removed from the system and Guardians can't access it anymore.
-
-
Device:
-
As a Guardian,
[I want to] federate a device in the system,
[so that] the device is federated in the system, and I can consult the device information and real-time data according to its capabilities. -
As a Guardian,
[I want to] modify the device description,
[so that] the device description is updated in the system. -
As a Guardian,
[I want to] enable or disable a device in the system,
[so that] the device is producing or not real-time data. -
As a Guardian,
[I want to] delete a device from the system,
[so that] the device is removed from the system.
-
-
Monitoring:
-
As a Guardian,
[I want to] consult the real-time measurements produced by a specific device with some sensing capabilities,
[so that] I can see some data, choose the desired monitoring measure and consult the measurement value and unit. -
As a Guardian,
[I want to] consult the video streaming produced by a specific device with some video streaming capabilities,
[so that] I can see the video streaming produced by the device.
-
-
Security Rule Management:
-
As a Guardian,
[I want to] create a security rule in the system,
[so that] the alarm service will check the security rule and trigger an alarm when certain conditions are meet. -
As a Guardian,
[I want to] update a security rule in the system,
[so that] the alarm service will check the updated security rule and trigger an alarm when the new conditions are satisfied. -
As a Guardian,
[I want to] delete a security rule from the system,
[so that] the alarm service will not consider the deleted security rule anymore.
-
-
Notification:
-
As a Guardian,
[I want to] consult the notifications sent by the system,
[so that] I can see the notification type, the date and other notification properties. -
As a Guardian,
[I want to] receive real-time notifications through broken security rule's specified contacts, when an alarm is triggered,\
- [so that] I can consult it.
-
-
History:
- As a Guardian,
[I want to] consult the history of produced data and alarms triggered,
[so that] I can see the history and eventually take some actions.
- As a Guardian,