Software Requirements Specification
Software Requirements Specification
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
Version:
1.1
Date: 27/03/2012
Revision History
Date
Version
Description
Author
04/01/2012
1.0
Lasindu Charith
27/03/2012
1.1
Lasindu Charith
Confidential
iRoute, 2012
Page 2
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
Version:
1.1
Date: 27/03/2012
Table of Contents
1.
2.
3.
Introduction
1.1
1.2
1.3
1.4
1.5
4
4
4
4
4
Purpose
Scope
Definitions, Acronyms, and Abbreviations
References
Overview
Overall Description
2.1
2.2
2.3
2.4
2.5
4
5
5
5
6
Product Perspective
Product functions
User characteristics
Constraints
Assumptions and dependencies
Specific Requirements
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Functionality
Accept User Input
Output possible bus routes
Store user favorites
Navigate with Google Maps
Usability
Simple, Graphical User interface
Minimal surprise
Ease of use
User Guidance
Reliability
Availability
Accuracy
Mean time to recover
Performance
Response Time
Transactions per second
Capacity
Resource Utilization
Supportability
Coding standards and naming conventions
Design Constraints
On-line User Documentation and Help System Requirements
Interfaces
3.8.1 User Interfaces
3.8.2 Software Interfaces
3.8.3 Communications Interfaces
Licensing Requirements
3.9.1 Legal, Copyright, and Other Notices
Confidential
iRoute, 2012
6
6
6
Error! Bookmark not defined.
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
Page 3
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
Version:
1.1
Date: 27/03/2012
1.2 Scope
Travelling has become a major requirement of people today. Buses have become one of the prime modes of
transportation. For an ordinary passenger, finding his/her bus route to the destination is a difficult task
specially in Colombo area. If the passenger has less experience in travelling by bus to a particular place it is
difficult to correctly identify the bus route(s) which has the lowest cost in both ticket price and distance.
This project addresses the above problem via an android application which ensures a reliable service to its
users to find the desired bus route(s), given the source and the destination.
1.3 Definitions, Acronyms, and Abbreviations
SRS Software Requirements Specification
RUP Rational Unified Process
BMS Bus Route Management System
API - Application Programming Interface
1.4 References
1.5 Overview
The rest of the document contains an overall description of the Bus route Management Application
(section 2) and the specific requirements of the system (section 3)
2. Overall Description
2.1
Product Perspective
This application allows user to input his/her starting place and ending place in the user interface simply by
selecting from the drop down menu, as one would do in Google maps. The output will consist of available
options/routes where user can select from. Interface will be made to have a similar look and feel that is
consistent with android applications. The system is expected to evolve several iterations over several
releases.
Confidential
iRoute, 2012
Page 4
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
Version:
1.1
Date: 27/03/2012
Open
Application
User
View Route in
Google Maps
Android Application
2.2
Product functions
Output a refined list of bus routes, according to the beginning and the destinations which the users
can view the best possible bus route with details.
Bus route is generated according to an optimized path finding algorithm which avoids mismatches
and conflicts in routes as much as possible.
Once the user selects a particular bus route, user is provided with a view of his route and current
position via Google maps.
2.3
User characteristics
User should be familiar with basic functionality of an android phone. The user should be able to
use the touch screen and the other navigation buttons along with the touch screen keyboard to
input data.
2.4
Constraints
Since the amount of memory and space is limited in an android phone, the database will not get installed
locally; instead it will connect to a remote server via internet and fetch required data. The application may
require a bit of processing power and database may need to be updated and expanded further. So there
should be a good internet connection which will also be used when connecting to Google maps.
One of the other constraints is that the application will not work on other platforms and will only work on
android 2.1 and later operating systems.
Confidential
iRoute, 2012
Page 5
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
2.5
Version:
1.1
Date: 27/03/2012
3. Specific Requirements
3.1 Functionality
Accept User Input
Users are provided with a simple user interface to input (type) their start and end bus stations. The
drop down lists which will output a alphabetically sorted list of available bus stations in the
database, while typing. Users can use the touch screen keyboard or the physical keyboard of the
handset if available.
Once the inputs are taken they are processed in the remote server and outputs trivial bus routes
according to an optimal path finding algorithm which minimizes the mismatches and conflicts
among routes.
Confidential
Once the user selects a particular bus route he/she is provided with an option to navigate with
Google Maps. Users can preview their bus route in the map and can also view the location of their
own. This option is important in seeing the current position of the journey and planning the
transition of busses along the way.
iRoute, 2012
Page 6
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
3.2
Version:
1.1
Date: 27/03/2012
Usability
Simple, Graphical User interface
The user interface is designed to be simple to use with graphical elements. Texts are simple, clear
and readable. Colors are used according to a theme which makes it more usable.
Minimal surprise
Interface is designed considering the user experience of using android application with providing
minimal surprise.
Ease of use
Full screen is used with right size buttons to suit big fingers. Easy navigation among windows and
menus.
User Guidance
Users are provided with a small help guide and tool tips.
3.3 Reliability
Availability
The server should be available 24/7/365 standby to serve user requests except the time of
maintenance or upgrade.
Accuracy
The output should be accurate to the best possible percentage and should avoid conflicting and
misleading outputs when the inputs are confusing. (Minimum defect rate). i.e critical bugs have to
be eliminated.
In a case of failure system should be able to recover within 1 day or so. (depending on the type of
damage)
3.4 Performance
Response Time
The output should be generated within a maximum of 10 seconds depending on the internet
connection speed and handset performance.
Capacity
Resource Utilization
Confidential
The application utilizes minimum amount of CPU and memory of the device.
iRoute, 2012
Page 7
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
Version:
1.1
Date: 27/03/2012
3.5 Supportability
Coding standards and naming conventions
Proper coding and naming conventions are maintained to support any later changes or
modifications of code.
3.8 Interfaces
3.8.1
User Interfaces
View objects are the basic units of user interface expression on the Android platform. The View
class serves as the base for subclasses called "widgets," which offer fully implemented UI objects,
like text fields and buttons.
The user will start the application process by selecting the application icon in the Android
menu. Once the inputs are given, the can be cleared and new inputs can be provided. Additional
options menu is accessible for further tasks.
3.8.2
Software Interfaces
Android API
Confidential
iRoute, 2012
Page 8
iRoute
Software Requirements Specification
Software Requirements Specification_090534V.pdf
3.8.3
Version:
1.1
Date: 27/03/2012
Communications Interfaces
Client needs to communicate with the remote server using HTTP/HTTPS.
Confidential
iRoute, 2012
Page 9