Escolar Documentos
Profissional Documentos
Cultura Documentos
Specification
For
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
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
Performance Requirements.............................................................................................................4
Safety Requirements.......................................................................................................................5
Security Requirements....................................................................................................................5
Software Quality Attributes............................................................................................................5
Revision History
Name
Date
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
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.
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.
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
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:
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
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.
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:
SoftwareRequirementsSpecificationforCabBookingApp
Page10