Cloud-Based Maps SRS Document
Cloud-Based Maps SRS Document
Specification
SRS
Technical Document
Cloud Based Maps
Table of Contents
Table of Contents .......................................................................................................................... ii
1. Introduction ..............................................................................................................................1
1.1 Purpose ........................................................................................................................................ 1
1.2 Product......................................................................................................................................... 1
1.4 Intended Audience And Reading Suggestion .............................................................................. 2
1.4 Defnitions, acronyms and abbrevation ........................................................................................ 3
1.5 Project Scope ............................................................................................................................... 4
1.6 Objective(s)/Aim(s)/Target(s) ..................................................................................................... 4
1.7 Nature of End Product ................................................................................................................. 5
1.8 Document Convention ................................................................................................................. 5
1. Introduction
This section gives a scope description and overview of everything included in this SRS
document. Also, the purpose for this document is described and a list of abbreviations and definitions
is provided.
1.1 Purpose
Our purpose is to develop a “Tom Tom Navigation app”. It's basically a platform which is
developed an application for users to create high definition cloud based maps using Apache Spark for
the purpose of feeding detailed location data to in-vehicle smart phones get attach with the vehicle.
The user will be facilitating by many feature with this app. User can select his source and destination
the app before journey and then the high definition cloud based maps will be created according to it.
The map shows the all possible paths from source to destination and also highlights the shortest path as
well. The app will also detect the traffic and road blocks in certain paths and calculate the
approximately time cost for the user to reach from source to destination. During journey the map
clearly identify and show the road lanes, guardrail, ditch, trees, land marks, hazard zone, detour roads
This document is intended for the developers of this software which will be further use for the
1.2 Product
Our product is “TomTom Navigation app”, which will be specifically developed for the smart
phones to get attach it with vehicles. The app will create high definition maps based on the location of
the user. The app will use the GPS sensor to detect the location of the user by which it can also detect
the current location. The App needs both Internet and GPS connection to fetch and display results. All
app information is maintained in a database, which is located on a web-server. The app will facilitate
The app also interacts with the GPS-Navigator software which is required to be an already
installed app on the user’s mobile phone app. By using the GPS-Navigator, users can view the map and
be navigated to them. The approximately time will be calculated from the source to destination for all
possible paths. The shortest path will be discovered by the AI module with Dijkstra’s algorithm. This
algorithm works as by comparing all shortest path-cost of all certain points in the path.
The traffic of vehicles on specific path will be detected by the inductive loop detector in which
electronics unit contains the tuning network oscillator. The number of counts of vehicles and certain
objects with their movement will be analyzed and detected. The Lidar sensor will be used for the
detection of the objects during the travelling of the user by the app. The app will show the clear objects
definition cloud based maps as per the requirements specified in the document.
This document includes the scope of this product. That why we need this app? What is the
purpose is to develop this product? In this document, we mention the features of this product,
functional and non-functional requirements and the environment under which we have to work and
also mention what we have learned during working on this project, different use cases, interfaces, our
objectives which have to be achieved after the completion of this project, challenges we face in order
to complete our product. Last but not least our completeness criteria.
Now, how we are able to complete this document developers gather all requirements in from of
documentation and then they develop this product. The project manager will control the entire project
including his all partners working on this product. Marketing staff advertise this product that how
Term Definition
AI Artificial Intelligence
software, database and graphic engineering. Each module of the app will be developed individually
and merge in the end. The Quality assurance team will determine the functionality and feature of the
apps and find out the bugs, errors and all other flaws that can be produced in future use of the app in
any case. The app will be deployed in the vehicles and smart phones as well. All users having vehicle
1.6 Objective(s)/Aim(s)/Target(s)
Design and development of maps which will be detected by the GPS sensor
shortest path
Implementation of API’s
Performance Testing
Quality testing
The end product will be an app which will be developed for android and iOS platform.
2 Overall Description
In this portion, product perspective, product features, operating environment, design
Our product is dependent on the GPS sensor, Inductive loop detector, Lidar sensor and internet
App Interfaces
o App API’s
● Hardware Interfaces
The backend will be agnostic to the exact nature of the hardware it is running on, so long as the
hardware provides at least 8 GB of RAM, 500 GB of disk space and a multicore 2.0 GHz or faster
x8664 processor. To use this app on smart phone then the user should have a smart phone with Internet
data connection on. The user should have at least 5mb of hard drive space to save the application.
● Software Interfaces
The app works with the GPS application in order to get geographical information about where the user
is located and the visual representation of it, and with the database in order to store the previous record of the
user. The communication between the database and the server consists of operation concerning both reading and
modifying the data, while the communication between the database and the app consists of only reading
operations.
● Memory Constraints
The app has some restrictions about the resource allocation. To avoid problems with
overloading the app is only allowed to use 20 megabytes of memory while running the app. The
maximum amount of hard drive space is depending on the user to extend it to 1 terabyte or more.
● Communications Interface
The app will access files from its own memory. It will also interface with a database or external
files from the internet to get the data. The communication between the different parts of the app is
important since they depend on each other. However, in what way the communication is achieved is
not important for the app and is therefore handled by the underlying operating apps for all component
of the app.
the app according to his choice and app will perform according to it. The user will attach the smart
phone with the vehicle and get facilitate to the features of TomTom app. The output will be the
Time
Internet estimation
Calculator
GPS
Navigator Count the number of
vehicles to determine the
traffic and road blocks in
the path
Inductive Loop
User Embedded System
Detector
Dijkstra s
Lidar Sensor
Algorithm
The above diagram describes the components and blocks of the TomTom App app. In which
each component perform its specific part as the user perform as an actor to the app. The user will be
the actor who interacts with the app and use the app. User is not the part of app. The internet is the
external component of the app which is the most essential pre-requirement of the app. The five main
components of app are GPS Navigator, Time estimation calculator, Inductive loop detector,
Dijkstra’s Algorithm and Lidar sensor. The functionality of each component has been described in
the diagram.
Front End
● Onboarding: Activities onboarding new users to the user guide of app usage
● AI Training Engine: AI Training Engine to create the shortest path from all the
tutorials, how-tos
● Analytics: Interface to display key statistics from app Client devices and backend
services
● Pricing: Interface to display pricing and allow users to upgrade to paid plans
errors, data)
● GPS Navigator: Applies app to detect the current position of the client or vehicle
● Inductive Loop detector: Calculate the number of vehicle’s count at certain path
GPS Navigator
Store Previous Check and Find
locations location
Give Current
location
Determine the
Optimal and Count the number
shortest path of vehicles at
certain path
Lidar Sensor
Inductive
Loop Detector
Dijkstra s Algo
The above diagram describes the data flow and the interaction of entities with the TomTom
App app. In which each entity performs specific action to the app. GPS navigator, Internet, Lidar
sensor, Dijkstra’s Algorithm, Inductive loop detector and time estimation calculator are the entities of
the app. The location storage is the database in which the location of each user will be saved. The app
receives the time of every path from the time estimation calculator. Count of each vehicle on a specific
path will be taken from the inductive loop detector. The shortest and optimal path will be determined
from the dijkstra’s algorithm. Lidar sensor is important entity for the app to detect and identify the
objects and obstacles while driving in vehicle. GPS navigator will give the current location to the app.
The app will check and find the location of vehicles from the database.
The operating environment is an embedded app which is used in vehicles to show users
high display cloud based maps. Users can operate the app from their smart phones to navigate and to
get facilitate with the app.
user-friendly for anyone to understand. The documentations/walk through must be easy enough for any
vehicle. Since there are multiple app and multiple GPS manufacturers, the interface will most likely
not be the same for every one of them. Also, there may be a difference between what navigation
The Internet connection is also a constraint for the app. Since the application fetches data
from the database over the Internet, it is crucial that there is an Internet connection for the application
to function.
Both the embedded app and the smart phone will be constrained by the capacity of the
database. Since the database is shared between both modules it may be forced to queue incoming
Privacy
The privacy of users will not hurt in the app as the database server will only keep the
previous drives record to save the previous drive experience. The app will save record of drives and
their time cost and suggest the best path option by analyzing all the previous record to get the optimal
Hardware Specifications
Host devices running the app on Client vehicles must run the internet connection and all
False Positives
When there is no internet connection available for the app then the app may not work
properly according to the expectation. So the internet connection must be required for this app.
All path are created on the display of the app and the optimal path will be discovered by
the Dijkstra’s Algorithm which will be the shortest path as compare to all.
The time cost estimation will be calculated by the distance time formula which will be
Affiliates means any present or future corporation or other Entity that controls, is controlled by
(i) Ownership of more than 50% of the shares, equity interest or other securities
API means an application programming interface that TomTom Apps provides or otherwise
makes available to you in connection with the other API Materials or the app Service provided
hereunder.
API Materials means each API and all Documentation and Software, collectively.
Contractor means your independent contractor who develops or distributes a app on your
Documentation means documentation that high display cloud based map provides or
Entity means any corporation, general partnership, limited partnership, limited liability
partnership, joint venture, estate, trust, Limited Liability Company, firm, association, organization, or
One assumption about the product is that it will always be used on embedded app in the
vehicles that have enough performance. If the embedded app does not have enough hardware resources
available for the maps, there may be scenarios where the app does not work as intended or even at all.
Another assumption is that the GPS components in all app work in the same way. If the app has
different interfaces to the GPS, the app needs to be specifically adjusted to each interface and that
would mean the integration with the GPS would have different requirements than what is stated in this
specification.
View Map
The use case diagram shown above describes the interaction of user with the app. It describes
the actions of the user with the app. There are 22 use cases determine in which user can interact with
the app. The user can search maps from the app. The User will set his source and destination of the
path on the map. User can View map, tutorials, map sequence, distance, help, terms & conditions,
traffic roads & blocks, previous and current location of vehicle. User can also give feedback about the
app. User can interact with the map as well by zoom-in and zoom-out map. User will also check the
shortest/optimal path above the all paths. User can contact at any time to the contact support in case of
any inconvenient.
Develop Maps
Update Maps
Update Database
Modification in system
Display Maps
Recieve Feedbaks
Update Tutorials
Developer
Notify User
It describes the actions of the developer with the app. There are 10 use cases determine in which
developer can interact with the app. The developer will develop the maps and will update them with
any new feature and can also do modifications to the app. The developer will update the database when
there is any change found in record. The developer will display the maps when it will be developed.
Developer will receive feedbacks of all users and update the tutorials when new feature were added to
the app. The developer will check and add missing places in the maps. The Developer will notify and
give alerts to the user on the app when new features or functionality were added to the app.
Table 1: UC-1
Table 2: UC-2
Table 3: UC-3
Table 4: UC-4
Table 5: UC-5
2 Give result
3 Select Destination
4 Destination selected
Table 6: UC-6
Table 7: UC-7
Post-conditions User see the estimated time for the desire path on display
2 Give result
3 Select View path time cost
4 Show result
Table 8: UC-8
Table 9: UC-9
2 Give result
3 Select View shortest path
Highlight and show the shortest path to
4 user
Name Zoom In
Identifier UC-11
Purpose To view the map more closer
Priority High
Pre-conditions User should open the map
Post-conditions User see the zoom in map on display
Typical Course of Action
S# Actor Action App Response
1 Make selection
2 Give result
3 Select to zoom in map
4 Zoom in the map
2 Give result
3 Select to zoom out map
4 Zoom out the map
Post-conditions See the number of vehicles and their movement on specific path
2 Give results
Action on the desire selection will be
3 taken by app
2 Give result
3 Request to view help
4 Help shown to the user
2 Give result
3 Make selection to view current location
4 Show current location on the map
2 Not found
3 Develop the map
4 Map developed
2 Map changed
3 Update the map
4 Map updated
2 Map changed
3 Update the map
4 Map updated
Allow Access
sequence. The above sequence diagram shows the sequence diagram for user to view the current
location. To accomplish this activity there should be 1 user and 3 entities required as the user requested
to the app to view the current location and then the app will get the current location from the GPS
navigator. The GPS navigator required the internet connection that must be available. When the
internet connection is available the GPS navigation will give the current location to the embedded app
The sequence diagram shows the activity flow and interaction of the components in
sequence. The above sequence diagram shows the sequence diagram for user to view the current time
estimation against each path and the traffic. To accomplish this activity there should be 1 user and 3
entities required as the user requested to the app to view the time for each path the user will select the
option on the app to get the time. The app will send the request to the time estimation calculator and it
will return the time to the app. After getting time against each path the app will display it to the user.
To determine the traffic the app will send request to the inductive loop detector. The detector will give
the count of all vehicles on the specific path to the app and then app will display it.
Inductive loop
TomTom App GPS Lidar sensor
Detector
View objects
Show objects
Display objects
The sequence diagram shows the activity flow and interaction of the
components in sequence. The above sequence diagram shows the sequence diagram for
user to view the shortest path among all paths and the objects. To accomplish this activity
there should be 1 user and 3 entities required as the user requested to the app to view the
shortest path the user will select the option on the app to get the shortest. The app will send
the request to the Dijkstra’s Algorithm and it will return the shortest path to the app. After
getting the shortest path the app will display it to the user. To view and identify the objects the
app will send request to the Lidar Sensor. The Lidar Sensor will detect and identify the
specific attributes and behavior. As the user class is highly prioritize above all class which is the actor
class. The user can search, interact and get facilitate with all functionality from the app. The app
display will show the map on screen, display paths, shortest paths, and traffic on the screen and objects
on the app. Internet is the external class which allows the app’s component to work correctly. GPS
navigator will give the current location of the vehicle to the app. Lidar sensor will detect and identify
the objects and obstacles which come in front of app while driving. Dijkstra’s algorithm shows the
shortest and optimal path above all paths to the user on app display. Inductive loop detector class will
count the vehicles and roadblocks on the app display. The time estimate calculator class will calculate
the time of each path and display it against that specific path.
4. Technical Architecture
4.1 Application and Data Architecture
Component Diagram
Allows
Uses
GPS
Time estimate Navigator
calculator
Uses
Saves
Location
Data API’s
Interact
Interact
Inductive Lidar sensor
Loop Detector
app. In which each component perform its specific part as the user perform as an actor to the app. The
user will be the actor who interacts with the app and use the app. User is not the part of app. The
internet is the external component of the app which is the most essential pre-requirement of the app.
The five main components of app are GPS Navigator, Time estimation calculator, Inductive loop
detector, Dijkstra’s Algorithm and Lidar sensor. The functionality of each component has been
and Sensors options which will be used to recognize objects and current location for the users and
vehicles. There is an option to search the source and destination to get the path. User will set the source
and destination and submit the information to the app and then all possible paths will be shown to the
users. There is an option to show shortest and optimal path from all paths. The app will use the
Dijkstra’s Algorithm to find the shortest and optimal path to the user on the app display. The time
estimation calculate option will be visible against each path to the user. There is an option to check the
traffic and number of vehicles in the path. Documents and tutorials are also visible on the app help
through which user can understand and learn that how he can interact with the app. There is a support
provided in the site in which user can directly connect to the developers in case of trouble or any in
conveniently.
The app doesn’t use much data at all when navigating. It’s about 5 MB per hour of driving.
Zooming in and out of the map doesn’t use as much data as one might suspect it would. Most of maps
data use is incurred when initially searching for the destination and charting a course, which you can
do on Wi-Fi. Besides that, there are ways to ensure app doesn’t use any data at all when driving. So,
the app only doesn’t need much data to get you where you need to go. That’s good news; for how
useful the service is, you might expect it to use much more than the miserly 5 MB per hour.
You’ll note we said navigation; if you pull over en route to search maps for, say, somewhere to
go for lunch, you’re obviously going to be using more than the approximate 5 MB per hour.
up-to-date. App uses the same real time data as on Earth. Although these images update regularly, you
typically won't see live changes, and there may be a lag of up to a few years between the map image
you see on your screen and the way a location looks in real life.
The Maps JavaScript API lets you customize maps with your own content and imagery for
display on app and smart phone. The Maps JavaScript API features four basic map types (roadmap,
satellite, hybrid, and terrain) which you can modify using layers and styles, controls and events, and
The Maps JavaScript API has been designed to load quickly and work well on app in-vehicle
and smart phone. In particular, we have focused on development for advanced app and smart phone
such as Android and iOS handsets. Mobile devices have smaller screen sizes than typical browsers on
the desktop. As well, they often have particular behaviour specific to those devices (such as "pinch-to-
zoom"). If you wish to have your application work well on mobile devices
You can localize your Maps JavaScript API application by changing the default language
settings and by specifying a region code, which alters the map's behavior based on a given country or
territory.
The Maps JavaScript API team regularly updates the API with new features, bug fixes, and
performance improvements. You can indicate which version of the API to load within your app by
ID: QR1
DESC: The search feature should be prominent and easy to find for the user.
DEP: none
ID: QR2
DESC: The different search options should be evident, simple and easy to understand.
DEP: none
ID: QR3
DESC: The results displayed in the view should be user friendly and easy to understand.
RAT: In order to for a user to use the app and view easily.
DEP: none
ID: QR4
DESC: The results displayed in the map view should be user friendly and easy to understand.
DEP: none
ID: QR5
DESC: The information link should be prominent and it should be evident that it is a usable
link. Selecting the information link should only take one click.
DEP: none
ID: QR6
TAG: ResponseTime
ID: QR8
SCALE: If the app loses the connection to the Internet or to the GPS device or the app gets