S1 ‐ Quality scenarios - S3-G31-Kotlin-QueueHub/mobile-app-android GitHub Wiki
Quality scenario 1
Author: Samuel Jimenez
Quality scenario 1 | Resource utilization in peak hours |
---|---|
Quality attributes: | Performance, Scalability |
App status and context: | The user tries to join into queue during a peak hour which a lot of users is also tries |
Changes in the context: | Due to concurrent petitions the app's server is overloaded, and the system is presenting delay |
System reaction: | The app is deployment in a cloud infrastructure and automatically must launch new instances in order to solve the increased traffic |
Quality scenario 2
Author: Samuel Jimenez
Quality scenario 2 | Resilient Data in unstable connections enviroments |
---|---|
Quality attributes: | Eventual connectivity, resilience |
App status and context: | The user open the map and tries to see the waiting time in order to join into queue |
Changes in the context: | The user is walking down the street and, due to movement, is experiencing a poor connection and could disrupt in the download of current data in restaurants |
System reaction: | The app is designed to secure and validate the data and if the user is experienced low connection the app will turn off the possibility to join in a queue while the connection is low. However the user can see the latest estimated waiting time |
Quality scenario 3
Author: Carlos Muñoz
Quality scenario 3 | User changes device language while in queue |
---|---|
Quality attributes: | Internationalization, usability |
App status and context: | The mobile app displays an active queue where the user is located and the information is in English |
Changes in the context: | The user changes their device language to Spanish while the app is in background |
System reaction: | The app detects the language change. The app immediately changes all items to Spanish without having to restart. It maintains the queue position and relevant information. This includes items such as date, time, and other formats |
Quality scenario 4
Author: Carlos Muñoz
Quality scenario 4 | Low battery in the phone |
---|---|
Quality attributes: | Resilience, battery consumption, performance |
App status and context: | The mobile app is using while the user smartphone has 10% of battery and the battery saver is on |
Changes in the context: | The battery of the user smartphone drops below 10% of battery |
System reaction: | The application changes to a low-power mode. This means that the fresh rate will be reduced, some areas of the view can change to black, and non-essential features will be disable. To avoid issues of like an unexpected close due to low performance, the app state is saved locally |
Quality scenario 5
Author: Nicolas Perez
Quality scenario 5 | Power off while on a queue |
---|---|
Quality attributes: | Resilience, data persistence |
App status and context: | The user is in an active queue and their phone is turned off due to battery depletion or manual shutdown |
Changes in the context: | The phone powers off unexpectedly while the user is still in the queue |
System reaction: | Upon powering on the phone again, the app will retrieve the last known state from a local cache or server and restore the user's position in the queue. The app provides a notification indicating the restored queue position and any changes that may have occurred while the phone was off. If the user is removed from the queue due to inactivity, the app will inform them and provide options to rejoin the queue. |
Quality scenario 6
Author: Nicolas Perez
Quality scenario 6 | Sudden crash while on a queue |
---|---|
Quality attributes: | Resilience, Data recovery |
App status and context: | The user is actively engaged in a queue within the app. |
Changes in the context: | The app crashes suddenly due to an unexpected error or issue. |
System reaction: | When the app is relaunched after a crash, it retrieves the last known state from a local cache or server. The user’s position in the queue is restored, and any relevant information is recovered. The app provides a notification to inform the user about the crash, their restored position in the queue, and any actions they may need to take to resume their activity. |