Você está na página 1de 12

Software Requirements

Specification
For

CAB BOOKING APP


Version 1.0

Prepared by Tarunveer Singh

DAV UNIVERSITY

14 September, 2016

SoftwareRequirementsSpecificationforCabBookingApp
Page2

Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose...........................................................................................................................................1
1.2 Product Scope.................................................................................................................................1

2. Overall Description..................................................................................................................2
2.1
2.2
2.3
2.4
2.5
2.6
2.7

Product Perspective.........................................................................................................................2
Product Functions...........................................................................................................................2
User Classes and Characteristics.....................................................................................................2
Operating Environment...................................................................................................................2
Design and Implementation Constraints.........................................................................................2
User Documentation.......................................................................................................................2
Assumptions and Dependencies......................................................................................................3

3. External Interface Requirements...........................................................................................3


3.1
3.2
3.3
3.4

User Interfaces................................................................................................................................3
Hardware Interfaces........................................................................................................................3
Software Interfaces.........................................................................................................................3
Communications Interfaces.............................................................................................................3

4. System Features.......................................................................................................................4
4.1 System Feature 1.............................................................................................................................4
4.2 System Feature 2 (and so on)..........................................................................................................4

5. Other Nonfunctional Requirements.......................................................................................4


5.1
5.2
5.3
5.4

Performance Requirements.............................................................................................................4
Safety Requirements.......................................................................................................................5
Security Requirements....................................................................................................................5
Software Quality Attributes............................................................................................................5

Revision History
Name

Date

Reason For Changes

Version

SoftwareRequirementsSpecificationforCabBookingApp

Page1

1. Introduction
1.1Purpose
This SRS describes the software functional and nonfunctional requirements for release 1.0 of the
Cab Booking App. It will explain the purpose and features of the Android App, the interfaces of the
App, what the system will do, the constraints under which it must operate. This document is
intended for the developers of the Application.

1.2Product Scope
The Cab Booking System will permit Passengers/Users to order or book Cab/Taxi from the Cab
Booking App. The main objective of the project is to provide an easy to use and handy mobile
application to the android users which enables them to reserve a cab from one location to any
location in a particular city. The main goal of the system is to automate the process carried out in the
organization with improved performance and realize the vision of online booking. Some of the
goals of the system are listed below:
Manage large number of client details.
Manage all details of clients who registered and requested for getting the service.
Create employee accounts and maintain the datas effectively.
Showing available vehicles to book for the client.
Calculating and showing the fare to client before booking.

1.3References
1.4Overview
Cab Booking App is an Android App for Cab Reservation application. The main objective of the
Project is to provide an easy to use and handy mobile application to the android users which
Enables them to reserve a cab from one location to any location in a city. The users can keep track
of their reservations, the amount they have spent for each ride and the cab's current status.
Additionally, the user can also see where he/she is currently located, see a route of the cab from the
source to the destination point, and send confirmation details to his mobile phone using push
notifications and broadcast receivers.

SoftwareRequirementsSpecificationforCabBookingApp

Page2

2. Overall Description
2.1Product Perspective
The Cab Booking App is a new system that replaces the current manual and telephone processes for booking
of cab/taxi. The context diagram in Figure 1 illustrates the external entities and system interfaces for release
1.0. The system is expected to evolve over several releases.

User
(Passenger)

GoogleMaps
Api

Request
Cab/Taxi

Info
User
(RequestStatus,
Details
currentlocationof
user,currentlocation
ofavailablecab/taxi)

TrackerInfo
[ID
Position
time]

CABBOOKING
SERVICE

Requestsfrom
Passenger
Passenger
Details
Driver
Details
Infoabouttheavailability
ofCab/taxi.

Responseto
Passengers
Request
Drivers
Details

AdminPanel
Driver

2.2User Classes and Characteristics


The Class Diagram describes the structure of the system by showing its classes, their attributes and
methods of each class involved in the application. Again, Unified Modeling Language is used to

SoftwareRequirementsSpecificationforCabBookingApp

Page3

represent the class diagram. The following Class diagram shows the list of classes and their
interactions in Cab Booking App.
Main Activity
Pickup

+onCreate: void

LocationChangeListener
+onCreate : void
+onActivityResults : void
+onLocationChanged:+onConfigurationChanged
void
: void
+convertPointToLOcation:String
+checkAddress : bool
+GetDistance: void
+updateDisplayTime : void
+updateDisplayDate : void
Pay
+onCreate:void
Confirmvoid
+initialize:
+onCreate:void
+onConfigurationChanged:
void+sendNotification:void
+onBackPressed:void

ViewAllPickups
+onCreate: void
+onItemClick:void

BookingDetails CabStatus
+onCreate: void +onCreate: void

Route
+onCreate: void
MapOverlay
+isRouteDisplayed:bool
+getConnection:InputStream
+draw:bool
+drawpath:void

AlarmReceiver
+onReceive: void

CLASS DIAGRAM

Main Activity class is the main activity of the application. It launches the home page of the
application from where the user can either schedule a new pickup or view all the pickups that he has
made through the application.
Ride class takes the pickup date, time, pickup place and drop off place of the user. The user can
either manually enter the location from where he wants to be picked up or he can directly access the
current location in this screen. The user is also given the facility of choosing GPS or internet to get
his current location. The user is also warned that GPS gives a more accurate location when
compared to internet.

SoftwareRequirementsSpecificationforCabBookingApp

Page4

Payment class displays the estimated time, distance and the fare for the ride. This screen also shows
the route taken by the cab in order to remove the user of all doubts. This could help the user shows
the places via which he could travel through the ride. This also makes the reservation more reliable.
The user is then asked for his personal details like name, email id, phone number, if at all there
would be children travelling, or any further notes to the driver.
Route Activity class shows the route taken by the cab. It is shortest time and shortest distance
based. This activity uses Google Maps Directions API and Overlay classes to draw the route from
the pickup place to the dropoff place.
CabStatus Activity class shows the current status of the cab to the user. The customer is notified if
the cab has been reserved for the customer, if it has been dispatched from the taxi station, if the user
has been picked up or if the cab is available for a pickup.
ViewAllPickups Activity class shows the list of cab reservations that the customer has done
through the application in the device.
BookingDetails Activity class is called when the user selects an item from the list of all pickups. In
this screen, the user is shown his ride details like pickup time, place, date, dropoff place, cab fare,
his confirmation number and assigned cab number.

2.3Operating Environment
OE-1:
OE-2:

The Cab Booking App Should work on all android devices working on or above
SDK version 16 which is 97% of the total android devices.
The Cab Booking App shall operate on Heroku Server.

2.4Design and Implementation Constraints


CO-1:
CO-2:
CO-3:
CO-4:

The systems design, code, and maintenance documentation shall conform to the
Process Impact Intranet Development Standard, Version 1.3 [2].
The system shall use the current corporate standard Sqlite or Realm Database.
All XML code shall conform to the standard XML for Android.
All coding should be done in Java and XML.

2.5User Documentation
UD-1: The first time a new user accesses the system and on user demand thereafter, the system
shall provide a tutorial to allow users to practice booking cabs using a static tutorial menu.

2.6Assumptions and Dependencies


AS-1:
DE-1:

The Cab Booking Service is available for 24 hours according to the needs of
passenger or customer.
The operation of the Cab Service depends on availability of taxi/cab or driver .

SoftwareRequirementsSpecificationforCabBookingApp

Page5

3. External Interface Requirements


3.1User Interfaces
UI-1:
UI-2:
UI-3:

The Cab Booking Service should provide a simple interface to users to select or book
cab/taxi.
The system shall provide a tutorial from each displayed Activity to explain how to
use the app.
The App shall permit complete navigation and cab selection from navigation drawer,
card view etc.

3.2Hardware Interfaces
No hardware interfaces have been identified.

3.3Software Interfaces
SI-1: Cab Booking Passenger App
SI-1.1:
The COS shall transmit the quantities of food items ordered to the Cafeteria
Inventory System through a programmatic interface.
SI-1.2:
The Cab Booking Service shall poll the System to determine whether a cab/taxi is
available or not.
SI-1.3:
When the System notifies the Cab Booking App that a cab is not available, the
current activity shall change the availability status of cab/taxi.
SI-2:

Cab Booking Driver App


The COS shall communicate with the Booking System through a programmatic
interface for the following operations:
SI-2.1:
To allow a Passenger to register for service.
SI-2.2:
To allow a Passenger to unregister for service.
SI-2.3:
To check whether a Passenger is registered.
SI-2.4:
To submit a payment request for a ride.
SI-2.5:
To reverse all or part of a previous charge because a passenger cancelled the cab or
Because cab was not available on time.

3.4Communications Interfaces
CI-1:
CI-2:

The Cab booking system shall send a push notification to the Passenger/User to
confirm acceptance request.
The Cab booking system shall send a push notification to the Passenger/User to
cancellation of request in case of some problem.

SoftwareRequirementsSpecificationforCabBookingApp

Page6

4. System Features
The main objective of the Cab Booking App is to provide an easy to use interface
For scheduling a pickup by the user and to view all the pickups that the user made using the
Application. Additionally, the other main features of the app include:
1. Obtaining the current location
2. Showing the estimated duration, distance of the ride
3. Showing the route map
4. Send details to phone via push notifications.
5. Check cab status
6. Set a reminder notification
7. Canceling a cab

4.1 Graphical User Interface


The Graphical User Interface has been kept clean, neat and easy to understand and navigate. The
user does not require any memorization of what he done and what he has to do next. The button
texts are easy to read and show the purpose of the button. This application has been targeted for the
Android mobile phone users and not tablets. The Android tablet does not support sending or
receiving SMS because of the lack of cellular network provider. On practical observation, people on
the move do not generally carry a device as big as a tablet. Hence, this application is limited for the
mobile phone users.
4.1.1 Home Page
The Home Page is the starting screen of the application. It contains a page which mentions the name
of the application. The user can navigate to the 2 other screens from this screen. The Pick Me Up
button takes the user to schedule a new pick up. The View All Pickups button takes the user to a
screen where the list of his transactions is displayed.
4.1.2 Pick Up
When the user touches the Pick Me Up button on the Home page, he is redirected to the Pick Up
screen. In this screen, the user is asked to enter his pick up location, his drop off location, pick up
time and date. Basic validation rules are applied to make sure the user enters all the mandatory
fields. The user can either manually enter the place he wants to be picked up from or he can check
the Current Location box to retrieve his current location. The same applies to the drop off location
too.
The current location can be got either by using Global Positioning System (GPS) or through
internet. If the device has the GPS already on, the current location is obtained without 19 prompting
for any further action from the user. However, if the GPS of the device is not on, the user is
prompted to either enable the GPS or use internet to access the current. Location Manager and
Location Listener are used to access the current location of the user. Once, all the details are entered
by the user, the user is navigated to the next screen.
4.1.3 Route and Personal Details
When the user selects the "Schedule my pick up" button in the Pick Up screen, he is directed to the
Route and Personal Details screen. In this screen, the user is shown the estimated time and distance
of the ride, along with the cab fare. This screen has a button "See Route" which shows the user the

SoftwareRequirementsSpecificationforCabBookingApp

Page7

route, the cab takes to the destination from the pick-up place. The screen also takes in the user's
personal information like person name, user email address, user phone number, whether the user is
bringing children under the age of 4, any additional notes to the driver and a payment option.
On touching the See Route button, the user is redirected to the route map of the ride. The Pick Up
point is shown with a blue marker and the destination point is shown with a checked flag symbol.
On tapping any of the markers, the user is shown the physical address of the point. The route is
drawn using Google directions API where the output KML file is parsed to draw a path using
Overlay class.
4.1.4 Payment Screen
In the Personal Details screen, the user is provided with two payment options to choose from. He
can either pay to the driver or pay through the application via credit or debit card. If the user selects
the Pay To Driver option, the user is directed to the confirmation page, which is discussed in the
following section. However, if the user touches the Pay Now option, the user is directed to the
Payment screen. In this screen, the user is asked to enter his card details. The basic mandatory
validations and the credit card validations are done in this screen.
4.1.5 Confirm Screen
After the payment screen, the central administrator app is contacted to see if they are cabs available
at that time for a pick up. If at least one cab is available, then the reservation is confirmed and a
Confirmation number is generated and displayed to the user in the Confirm Screen. The user is also
displayed the assigned cab number. In addition, the user can SMS the details to his phone, email the
details to his email id, check cab status. Further, the user can set a notification to remind him 15
minutes before the pickup time. The user should be careful not to close the application or switch the
phone off in order for the notification to work correctly.
4.1.6 Deny Screen
If the cabs are not available for the customer at the desired pick up time, the user is displayed a
screen asking him to try again later. The user can then go to the home screen from this screen by
clicking on the Go To Home button.
4.1.7 Notify Screen
The user can set the reminder to remind him at least 15 minutes before his pickup time. Whenever
the notification is set, the user is displayed a message, asking him to let the application remain open
and not to switch off the mobile(which is a limitation of the application), in order for the
notification to be activated. When the Remind Me button is touched or tapped in the Confirm
screen, an alert message is displayed to customer about the reminder that has been set. When the
time is 15 minutes before to the pick-up time, the user is alerted about his next pick up which is 15
minutes away. Additionally, he is alerted with a notification sound which keeps buzzing until the
user attends to it.
4.1.8 All Pick Up History Screen
The Home Page screen is the source to navigation to scheduling a pick up or view all pickups made
by the user from the application. The screen "View All Pickups" displays the list of confirmed
reservations made by the user. The list is ordered by the descending order of Confirmation Id

SoftwareRequirementsSpecificationforCabBookingApp

Page8

numbers. Each reservation is shown by its Confirmation number, pickup date and pick up time.
Each item in the list is selectable.
4.1.9 Booking Details Screen
From the Pickups history screen, the user can select any reservation from the displayed list. On
selecting any reservation, the user is displayed all the details of his reservation like pick up date,
time, pick up place, drop off place, cab fare, Confirmation number and the assigned cab number.
The screen also shows two buttons, Check Cab Status and Cancel a Cab. The user can cancel a cab
if he changes his mind on his reservation. When the user touches the Cancel Cab button, he is
displayed an alert message for confirmation. If the cab has already been dispatched, the user is not
allowed any cancelation and is displayed a message suggesting him to call the taxi service for
further inquiry. However, the cancelation is allowed if the cab is in the state of assignment only and
not dispatched.
4.1.10 Cab Status Screen
The user can check the status of the cab that he has reserved in the Cab status screen. The cab status
screen can be accessed either from the Confirmation Screen or by selecting a reservation from the
history screen. On selecting an item, the user is shown the current status of the cab which is either
the Cab is available for reservation, dispatched to the customer, user has been pickup or assigned to
the customer. The status of the cab allows the user to know the status of the cab facilitating the user
to avoid long hours of waiting and frustration.

5. Other Nonfunctional Requirements


5.1Performance Requirements
PE-1:
PE-2:
PE-3:

All results generated by the system shall be fully accessible in no more than 10
seconds over a 40KBps connection.
Responses to queries shall take no longer than 7 seconds to load onto the screen after
the user submits the query.
The system shall display confirmation messages to users within 4 seconds after the
user submits information to the system.

5.2Safety Requirements
1. All taxis must register under the concerned state departments in compliance with the s ection
93 of the Motor Vehicle Act.
2. All cab services must have a registered office in the state concerned.
3. All drivers must be provided with adequate training and knowledge about law, road safety
and rights as per the Motor Vehicle Act.
4. All taxis must have safety features like inter operable tracking system such as GPS and a
safety button.
5. All drivers must submit police verification report, self-attested copies of their voter IDs,
PAN card, local address and contact details of two family members. The cab operators will

SoftwareRequirementsSpecificationforCabBookingApp

Page9

be also directed to update the information on drivers and vehicles and provide them to the
government when asked for.
6. The application must have the feature of calling police in case of emergency.
7. Drivers who have pending complaints against them relating to drunken driving,
discrimination and misbehavior with women would be shunted out. Anyone who has been
convicted in any cognizable offence such as fraud, sexual offences, using vehicle for crime,
property damage, theft or violence, will not be attached by such taxi operators.

5.3Security Requirements
SE-1:
SE-2:
SE-3:
SE-4:

All network transactions that involve financial information or personally identifiable


information shall be encrypted.
Users shall be required to log in to the Cab Booking App for all operations.
The system shall permit only Administrators who are on the list of authorized
Managers to create or edit or manage drivers and users.
The system shall permit Passengers to view only their own previously placed orders,
not orders placed by other Passengers.

5.4Software Quality Attributes


Availability-1: The Cab Booking Service shall be available to users 99.9% of the time between
5:00am and midnight local time and 95% of the time between midnight and 5:00am
local time.
Robustness-1: If the connection between the user and the system is broken prior to an order being
either confirmed or canceled, the Cab Booking Service shall enable the user to
recover an incomplete order.

USE CASE DIAGRAM:

SoftwareRequirementsSpecificationforCabBookingApp

Page10

Você também pode gostar