Updated User stories (markdown)

TanelOrumaa 2021-10-10 23:17:10 +03:00
parent 1750b0c74f
commit 84b21f7401

@ -1,25 +1,52 @@
Note: While some user stories have tasks and UI mockups attached, not all tasks and UI mockups are created yet, so this page is WIP.
# **Functional Requirements** # **Functional Requirements**
## _Feature - authentication app user experience_ ## _Feature - authentication app user experience_
### USF1 ### USF1
As a user, I want the authentication app to notify me if my Estonian ID card is not near the smartphone NFC chip when trying to authenticate, so that I know when I am holding it in the wrong place. As a user, I want the authentication app to notify me if my Estonian ID card is not near the smartphone NFC chip when trying to authenticate, so that I know when I am holding it in the wrong place.
**Related tasks**
* [MOB-24](https://tvp-mobile-authentication.atlassian.net/browse/MOB-24) * [MOB-24](https://tvp-mobile-authentication.atlassian.net/browse/MOB-24)
**Related mockups**
* [App waiting for ID-card](https://i.imgur.com/eNjDUgP.png)
* [App waiting for ID-card 2](https://i.imgur.com/JTflzi2.png)
### USF2 ### USF2
As a user, I want the authentication app to require me to enter a valid PIN code to authenticate or give a signature, so that people who dont know the PIN codes cant steal my identity. As a user, I want the authentication app to require me to enter a valid PIN code to authenticate or give a signature, so that people who dont know the PIN codes cant steal my identity.
**Related tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10) * [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
**Related mockups**
* [Asking for PIN 1](https://i.imgur.com/Z5DIeiO.png)
* [Asking for PIN 1 when pin is inserted](https://i.imgur.com/pfz4T8V.png)
* [Asking for PIN 2](https://i.imgur.com/tXmu1P0.png)
* [Asking for PIN 2 when PIN 2 is inserted](https://i.imgur.com/89qUmjq.png)
* [When user inserts an invalid pin](https://i.imgur.com/NDETrwz.png)
### USF3 ### USF3
As a user, I want the authentication app to give me the option to use biometric authentication instead of entering PIN 1, because its more convenient and faster. As a user, I want the authentication app to give me the option to use biometric authentication instead of entering PIN 1, because its more convenient and faster.
**Related tasks**
* [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28) * [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28)
* [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38) * [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38)
**Related mockups**
### USF4 ### USF4
As a user, I want the authentication app to automatically close after the authentication process, so that I won't have to close the app myself. As a user, I want the authentication app to automatically close after the authentication process, so that I won't have to close the app myself.
**Related tasks**
* [MOB-27](https://tvp-mobile-authentication.atlassian.net/browse/MOB-27) * [MOB-27](https://tvp-mobile-authentication.atlassian.net/browse/MOB-27)
**Related mockups**
* [After successful authentication workflow](https://i.imgur.com/OGEJyMl.png)
* [After successful signature workflow](https://i.imgur.com/m01nXdU.png)
## _Feature - interacting with a website_ ## _Feature - interacting with a website_
### USF5 ### USF5
As a user, I want to use the authentication app for authenticating myself on a website in a mobile browser with an Estonian ID card, so that I can log into the test website with my smartphone. As a user, I want to use the authentication app for authenticating myself on a website in a mobile browser with an Estonian ID card, so that I can log into the test website with my smartphone.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16) * [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40) * [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -27,8 +54,13 @@ As a user, I want to use the authentication app for authenticating myself on a w
* [MOB-43](https://tvp-mobile-authentication.atlassian.net/browse/MOB-43) * [MOB-43](https://tvp-mobile-authentication.atlassian.net/browse/MOB-43)
* [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48) * [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48)
**Relevant mockups**
* [Asking for PIN 1 (also above at USF2)](https://i.imgur.com/Z5DIeiO.png)
### USF6 ### USF6
As a user, I want to use the authentication app to give a signature while on a website in a mobile browser with an Estonian ID card, so that I can verify that the functionality works on the test website. As a user, I want to use the authentication app to give a signature while on a website in a mobile browser with an Estonian ID card, so that I can verify that the functionality works on the test website.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16) * [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40) * [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -37,9 +69,14 @@ As a user, I want to use the authentication app to give a signature while on a w
* [MOB-46](https://tvp-mobile-authentication.atlassian.net/browse/MOB-46) * [MOB-46](https://tvp-mobile-authentication.atlassian.net/browse/MOB-46)
* [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50) * [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50)
**Relevant mockups**
* [Asking for PIN 2 (also above at USF2)](https://i.imgur.com/tXmu1P0.png)
## _Feature - interacting with other mobile apps_ ## _Feature - interacting with other mobile apps_
### USF7 ### USF7
As a user, I want to use the authentication app for authenticating myself in a mobile app with an Estonian ID card, so that I can authenticate in the test mobile app with my smartphone. As a user, I want to use the authentication app for authenticating myself in a mobile app with an Estonian ID card, so that I can authenticate in the test mobile app with my smartphone.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16) * [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40) * [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -47,8 +84,13 @@ As a user, I want to use the authentication app for authenticating myself in a m
* [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44) * [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44)
* [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48) * [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48)
**Relevant mockups**
* [Asking for PIN 1 (also above at USF2)](https://i.imgur.com/Z5DIeiO.png)
### USF8 ### USF8
As a user, I want to use the authentication app to give a signature in a mobile app with an Estonian ID card, so that I can verify that the functionality works on the test app. As a user, I want to use the authentication app to give a signature in a mobile app with an Estonian ID card, so that I can verify that the functionality works on the test app.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16) * [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40) * [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -56,74 +98,119 @@ As a user, I want to use the authentication app to give a signature in a mobile
* [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44) * [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44)
* [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50) * [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50)
**Relevant mockups**
* [Asking for PIN 2 (also above at USF2)](https://i.imgur.com/tXmu1P0.png)
## _Feature - other_ ## _Feature - other_
### USF9 ### USF9
As a user, I want the application to be able to save my ID card CAN number, so that I do not have to enter it again every time I use the application as the CAN of the ID card never changes. As a user, I want the application to be able to save my ID card CAN number, so that I do not have to enter it again every time I use the application as the CAN of the ID card never changes.
**Relevant tasks**
* [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38) * [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38)
* [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39) * [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39)
**Relevant mockups**
* [When CAN hasn't been entered yet](https://i.imgur.com/5KgWrki.png)
* [View for adding CAN](https://imgur.com/MHyr2Br)
* [When added CAN is invalid](https://imgur.com/kRBBhv8)
### USF10 ### USF10
As a user, I want the application to display public information about my ID card, so that I can verify whether the application reads my ID card correctly. As a user, I want the application to display public information about my ID card, so that I can verify whether the application reads my ID card correctly.
**Relevant tasks**
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40) * [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
**Relevant mockups**
* [The default view](https://i.imgur.com/wC2yOsk.png)
* [View for displaying public info](https://i.imgur.com/WqX4pmH.png)
# **Non-functional Requirements** # **Non-functional Requirements**
### USN1 ### USN1
As a client, I want the mobile app to be developed for Android phones, because I have more experience with Android development. As a client, I want the mobile app to be developed for Android phones, because I have more experience with Android development.
**Relevant tasks**
* [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9) * [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9)
### USN2 ### USN2
As a client, I want the mobile app to have a minimal Android API level 26, because supporting older Android versions is not important for this project. As a client, I want the mobile app to have a minimal Android API level 26, because supporting older Android versions is not important for this project.
**Relevant tasks**
* [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9) * [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9)
### USN3 ### USN3
As a client, I want the mobile app to be web-eID compatible, because the application is going to be used with Estonian ID cards. As a client, I want the mobile app to be web-eID compatible, because the application is going to be used with Estonian ID cards.
**Relevant tasks**
* [MOB-21](https://tvp-mobile-authentication.atlassian.net/browse/MOB-21) * [MOB-21](https://tvp-mobile-authentication.atlassian.net/browse/MOB-21)
* [MOB-22](https://tvp-mobile-authentication.atlassian.net/browse/MOB-22) * [MOB-22](https://tvp-mobile-authentication.atlassian.net/browse/MOB-22)
* [MOB-23](https://tvp-mobile-authentication.atlassian.net/browse/MOB-23) * [MOB-23](https://tvp-mobile-authentication.atlassian.net/browse/MOB-23)
### USN4 ### USN4
As a client, I want the mobile app to use NFC technology, so that I can authenticate myself with my NFC-enabled Estonian ID-card on my NFC-enabled Android phone. As a client, I want the mobile app to use NFC technology, so that I can authenticate myself with my NFC-enabled Estonian ID-card on my NFC-enabled Android phone.
**Relevant tasks**
* [MOB-15](https://tvp-mobile-authentication.atlassian.net/browse/MOB-15) * [MOB-15](https://tvp-mobile-authentication.atlassian.net/browse/MOB-15)
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16) * [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
**Relevant mockups**
* [Error when NFC isn't active on the phone or when NFC rights aren't given for the app](https://i.imgur.com/nizDiXG.png)
### USN5 ### USN5
As a developer, I want the app to have detailed documentation so that I can use it to implement these features in my own applications. As a developer, I want the app to have detailed documentation so that I can use it to implement these features in my own applications.
**Relevant tasks**
* [MOB-7](https://tvp-mobile-authentication.atlassian.net/browse/MOB-7) * [MOB-7](https://tvp-mobile-authentication.atlassian.net/browse/MOB-7)
* [MOB-8](https://tvp-mobile-authentication.atlassian.net/browse/MOB-8) * [MOB-8](https://tvp-mobile-authentication.atlassian.net/browse/MOB-8)
### USN6 ### USN6
As a developer, I want the source code of the mobile application to have comments, so that I can understand the code. As a developer, I want the source code of the mobile application to have comments, so that I can understand the code.
**Relevant tasks**
* (all coding tasks) * (all coding tasks)
### USN7 ### USN7
As a user, I want the mobile application to not store data about my ID card after the authentication process, unless asked, so that I dont have to worry about my data safety. As a user, I want the mobile application to not store data about my ID card after the authentication process, unless asked, so that I dont have to worry about my data safety.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10) * [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
* [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28) * [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28)
* [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39) * [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39)
### USN8 ### USN8
As a vision impaired user, I want to authenticate myself without being able to see the screen, so that I can also use the app. As a vision impaired user, I want to authenticate myself without being able to see the screen, so that I can also use the app.
**Relevant tasks**
* [MOB-29](https://tvp-mobile-authentication.atlassian.net/browse/MOB-29) * [MOB-29](https://tvp-mobile-authentication.atlassian.net/browse/MOB-29)
### USN9 ### USN9
As a user, I want the authentication app to open within 10 seconds 99% of the time, so that my experience is comfortable. As a user, I want the authentication app to open within 10 seconds 99% of the time, so that my experience is comfortable.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10) * [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
### USN10 ### USN10
As a user, I want the time between reading the information from the ID card and the recipient receiving the JWT token to be less than 15 seconds 99% of the time, so that I dont have to wait long. As a user, I want the time between reading the information from the ID card and the recipient receiving the JWT token to be less than 15 seconds 99% of the time, so that I dont have to wait long.
**Relevant tasks**
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18) * [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
### USN11 ### USN11
As a user, I want the application to support Estonian and English languages, so I can use it in the language Im more comfortable with. As a user, I want the application to support Estonian and English languages, so I can use it in the language Im more comfortable with.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10) * [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
* [MOB-37](https://tvp-mobile-authentication.atlassian.net/browse/MOB-37) * [MOB-37](https://tvp-mobile-authentication.atlassian.net/browse/MOB-37)
### USN12 ### USN12
As a developer, I want the mobile app to return an error code when problems occur, so that I can handle various situations in my own app or on my website. As a developer, I want the mobile app to return an error code when problems occur, so that I can handle various situations in my own app or on my website.
**Relevant tasks**
* [MOB-25](https://tvp-mobile-authentication.atlassian.net/browse/MOB-25) * [MOB-25](https://tvp-mobile-authentication.atlassian.net/browse/MOB-25)
* [MOB-26](https://tvp-mobile-authentication.atlassian.net/browse/MOB-26) * [MOB-26](https://tvp-mobile-authentication.atlassian.net/browse/MOB-26)
### USN13 ### USN13
As a developer, I want the mobile app project to interact with the test website and the test app, so that I can check whether the authentication system works as promised. As a developer, I want the mobile app project to interact with the test website and the test app, so that I can check whether the authentication system works as promised.
**Relevant tasks**