Requirements and Scope


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