-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
George P. Latos edited this page Nov 12, 2024
·
1 revision
Requirement Type | Requirement |
---|---|
Functional (FR) | |
1. The system shall generate customized recommendations based on sensor data for various plant types. | |
2. The system shall send notifications to the user when plant care actions are required based on calculated recommendations. | |
3. The Android App shall notify the user when soil moisture is low and watering is necessary. | |
4. The Android App shall estimate watering frequency and predict the next watering time based on historical sensor data. | |
5. The system shall measure and monitor soil moisture, temperature, and light conditions using Grove sensors. | |
6. The system shall read, transmit, and display data from Grove sensors (moisture, temperature, and light intensity) at regular intervals through the MQTT broker, http and Wio Terminal. | |
7. The system shall send notifications to the user in cases of extreme weather events. | |
8. The system shall store all historical sensor data locally on the device the app is installed on. | |
9. The system shall provide users with the option to enable dark mode. | |
10. The system shall provide users with the option to give feedback to the developers. | |
11. The system shall provide users with the ability to create and switch between different plant profiles. | |
12. The system shall allow users to configure an MQTT connection within the settings page of the app. | |
13. The system shall allow users to view a plant database within the app. | |
14. The system shall provide a confirmation message on the terminal when mqtt is connected. | |
Constraints | |
1. The app shall be compatible with Android devices. | |
2. The app shall be completed before May 15, 2023. | |
3. The system shall utilize all chosen sensors for full functionality. | |
4. All team members shall adhere to the team contract. | |
5. The system shall be developed using Java, MQTT, Android Studio, and Arduino IDE. | |
Domain Assumptions (DA) | |
1. The user shall have access to a compatible Android device to run the app. | |
2. Both the user and the Wio Terminal shall have a stable internet connection. | |
3. The system shall be compatible with Grove sensors. | |
4. The Grove sensors shall be placed correctly within the plant's environment. | |
User Stories (US) | |
US1 (FR5): As a data-driven plant enthusiast, I want the system to continuously monitor my plants soil moisture, temperature and light intensity at regular intervals so I can understand trends and better care for my plant. Acceptance criteria: The system successfully measures all sensor data at regular intervals. | |
US2 (FR6): As a plant owner with a full time job, I need to be able to view my plants' conditions remotely so that I can monitor them and plan what actions will need to be taken once I get home. Acceptance criteria: MQTT broker is set up to transfer the sensor data from the terminal into the app over the internet. | |
US3 (FR6): As a remote gardener, I want to view my plant’s sensor data directly on the terminal so I can check its status even if I don’t have access to the app. Acceptance criteria: Real-time sensor data is displayed on the Wio Terminal directly. | |
US4 (FR2): As a forgetful plant owner, I want to receive push notifications when my plant needs care actions so I don’t forget to give my plant the conditions it needs. Acceptance criteria: The app pushes notifications to the users device when care actions are required, based on sensor data. | |
US5 (FR2): As a busy professional, I want to be able to customise the notification settings so that i only receive notifications when I am available to tend to my plant. Acceptance criteria: The app allows users to create time-windows for when notifications are to be pushed (by day of the week and time of day). | |
US6 (FR2): As a user with many plants, I want to receive a summary of all the care actions required for my plants so that I can efficiently plan my routine. Acceptance criteria; The app provides a summary of all care actions recommended upon request. | |
US7 (FR3): As an attentive plant owner, I want to receive a notification when my plant’s soil moisture is low, so that I can water it promptly. Acceptance criteria: The app pushes a watering notification when the soil moisture is too low. | |
US8 (FR3): As a curious plant enthusiast, I want to be able to view my plant’s soil moisture in real-time on the app so I can monitor how fast it depletes. Acceptance criteria: The app displays sensor data on the app in real-time. | |
US9 (FR7): As a plant owner with a garden, I want to know when extreme weather like storms are on the way that might damage my plants, so that I can prepare to bring them inside. Acceptance Criteria: App monitors weather app and sends a notification to the user if a weather warning is in place in the users location. | |
US10 (FR8): As a data driven plant owner, I want to be able to view my plants historical sensor data so that I can look at trends. Acceptance criteria: The app displays graphs of historical data to the user so trends can be observed. | |
US11 (QR2): As a user of the app, I want the UI to be clean and organized so that I can easily navigate and use the app efficiently. | |
US12 (FR9) As a user with a sight impairment, I want the option to enable dark mode so that I can navigate the User Interface without difficulty. | |
US13 (FR10) As a user who is conscious about the continued development of apps I regularly use, I want the option to be able to give feedback to the developers through the app. | |
US14 (FR11) As a user with many different plants, I want the ability to create and switch between different profiles for my plants so that I am not confused by the stored data if I put the sensors with different plants. | |
US15 (FR12) As a user of the system, I want to be able to configure an MQTT connection to my Wio terminal so that I can monitor my plants via the app. Acceptance Criteria: MQTT can be configured in the settings page without the need for editing any code or app files directly. | |
US16 (FR6): As a user of the app, I want my terminal to read and store sensor data continuously, not just when I am running the app, so that I can observe trends over long periods of time. Acceptance Criteria: Terminal data is transmitted at regular intervals, via http, to a firebase server and stored, so it can then be retrieved by the app. | |
US17 (FR13): As a user of the app, I want to be able to view a database of plants within the app so that I can plan my care routine for different kinds of plants. | |
US18 (FR14): As a user of the app, I want to be able to see a confirmation message when my mqtt is configured properly, so I know that the components are connected. | |
US19 (QR2): As a user of the app, I want to be able to view a tutorial so I can understand how to use the user interface. | |
Quality Requirements (QR) | |
1. The system shall be responsive and send updates and notifications to the Android app in a timely manner. | |
2. The system shall have a user-friendly interface |