Abbreviation:
1: Must have
2: Should have
3: Could have
4: Would like but won't get
BBA: Blue Bus App
# | Functional Requirements | Priority |
---|---|---|
1. | BBA shall have a logo which looks cool | 1 |
2. | BBA shall be implemented on Android app platform | 1 |
3. | BBA shall be implemented on multiple platforms like Android, IOS and web browser(cross-platform app) |
3 |
4. | BBA shall schedule/arrange shared journeys to users with similar destinations(journey request matching algorithm) |
1 |
5. | BBA shall notify nearby users that there¡¯s a journey and when and where | 3 |
6. | BBA shall allow user to register with phone number(i.e. phone number cannot be the same as another user¡¯s), entering username, email, password, and home&working addresses |
1 |
7. | BBA shall have a database of records of user including username, password, phone number, email and home&working addresses |
2 |
8. | BBA shall allow user to log in with username and password | 3 |
9. | BBA shall allow user to log in with Facebook or Twitter account | 3 |
10. | BBA shall have the location of user(geolocation) | 3 |
11. | BBA shall allow user to type in a postcode and give the address of the postcode | 3 |
12. | BBA shall show the journey graphically | 2 |
13. | BBA shall validate the journey when two users of the app travel together | 3 |
14. | BBA shall give admin a record of how many journeys and distances saved by using BBA and calculate the money saved |
3 |
15. | BBA shall use the system of bitcoin(called atoscoin) for incentive of shared journey, and give badges to user with many bitcoins |
3 |
16. | BBA shall show achievement for each user | 3 |
17. | BBA shall allow user to leave feedback for the app | 3 |
18. | BBA shall verify the phone number that user input when registration | 3 |
19. | BBA shall use real money as payment | 4 |
# | Non-Functional Requirements |
---|---|
1. | BBA shall have user-friendly interface(easy to use) |
2. | BBA shall update journeys that user released to share in 5 seconds |
The identified use cases basically show the sequence of steps about how things are done to achieve the goal. A use case template includes the objective, primary actor, secondaty actor, pre&post conditions and detailed flow of process.
Use Case |
UserRegistration |
---|---|
ID | 1 |
Brief Description |
New users intend to register |
Primary Actors |
New users that have not registered yet |
Secondary Actors |
None |
Preconditions | N/A |
Main Flow |
1)BBA displays two options for user, 'log in' or 'register' 2)User clicks 'register' 3)BBA displays an input box asking user to enter his or her phone number 4)User enters his or her phone number 5)BBA checks that the phone number is unique in the database and shows a page of empty fields that user needs to fill, including username, email, password, and home&working addresses 6)User fills the page and clicks 'submit',BBA displays 'Welcome to Blue Bus! Now you are a member of us.' |
Post conditions |
The new account is saved by database |
Alternative Flows |
1)BBA displays two options for user, 'log in' and 'register' 2)User clicks 'register' 3)BBA displays an input box asking user to enter his or her phone number 4)User enters his or her phone number,5)BBA checks that the phone number is not unique in the database and ask user to enter it again |
Use Case |
OfferRide |
---|---|
ID | 2 |
Brief Description |
Users intend to offer rides to others |
Primary Actors |
Users who will drive to and from ATOS offices(offering a ride) |
Secondary Actors |
Users who need a lift to and from ATOS offices |
Preconditions | User already logged in |
Main Flow |
1)BBA displays two icons. The first one links to offer-a-ride page. The second one links to take-a-ride page 2)User chooses the first icon 3)BBA displays an offer-a-ride page. It allows users to answer when and where will the ride be and how many places the car offers 4)User enters when and where will the ride be and how many places the car offers 5)BBA poses the ride to others |
Post conditions |
Other users will be able to view the ride in seconds |
Alternative Flows |
N/A |
Use Case |
TakeRides |
---|---|
ID | 3 |
Brief Description |
Users intend to take a ride |
Primary Actors |
Users who need a lift to and from ATOS offices |
Secondary Actors |
Users who will drive to and from ATOS offices(offering a ride) |
Preconditions | User already logged in |
Main Flow |
1)BBA displays two icons. The first one links to offer-a-ride page. The second one links to take-a-ride page 2)User chooses the second icon 3)BBA displays a take-a-ride page. It allows users to view offered rides with spare places in the city and allows user to choose any of them 4)User chooses one ride 5)BBA displays details of the ride including name of the driver, the number of spare places and when and where will the ride be 6)User clicks 'apply for it' 7)BBA asks user to enter how many places he or she is going to take 8)User enters the places he or she wants 9)BBA checks the number of places required is not more than the number of spare places 10)BBA displays 'Ride booked!' and informs the user who offers the ride |
Post conditions |
The number of spare places of the ride reduces. |
Alternative Flows |
1)BBA displays two icons. The first one links to offer-a-ride page. The second one links to take-a-ride page 2)User chooses the second icon 3)BBA displays a take-a-ride page. It allows users to view offered rides with spare places in the city and allows user to choose any of them 4)User chooses one ride 5)BBA displays details of the ride including name of the driver, the number of spare places and when and where will the ride be 6)User clicks 'go back to view other rides' 7)BBA turns to the previous page |
Use Case |
AlterUserHomeAddress |
---|---|
ID | 4 |
Brief Description |
Users intend to change their home addresses |
Primary Actors |
Users |
Secondary Actors |
None |
Preconditions | User already logged in |
Main Flow |
1)BBA displays username of the user in the corner(which is obviously clickable) 2)User clicks his or her username 3)BBA displays details of the user such as phone number, username, email, password, and home&working addresses and a button ‘change’ 4)User clicks ‘change’ 5)BBA displays the filled table of user information which is alterable 6)User deletes his or her current home address and enter the new one. Then user clicks ‘save’ 7)BBA turns back to the page displaying details of the user such as phone number, username, email, password, and home&working addresses and a button ‘change’ |
Post conditions |
Home address of user is updated |
Alternative Flows |
N/A |