Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Project Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

GPS based vehicle grouping and navigation system

A PROJECT REPORT ON

GPS BASED VEHICLE GROUPING AND NAVIGATION


SYSTEM

SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE


IN THE PARTIAL FULFILLMENT FOR THE AWARD OF THE DEGREE

OF

BACHELOR OF ENGINEERING
IN
INFORMATION TECHNOLOGY

BY

MRUNMAYEE KULKARNI B120138531


DIMPAL KHAIRNAR B120138526
PRASAD PANCHAKSHARI B120138541
ANKITA SONJE B120138559

UNDER GUIDANCE OF

PROF. DR. PREETI D. BHAMRE

DEPARTMENT OF INFORMATION TECHNOLOGY


K.K. WAGH INSTITUTE OF ENGINEERING EDUCATION AND
RESEARCH, NASHIK-3
2017-18

Department of Information Technology, KKWIEER, Nashik i


DEPARTMENT OF INFORMATION TECHNOLOGY

CERTIFICATE
This is to certify that the project entitled
‘GPS BASED VEHICLE GROUPING AND
NAVIGATION SYSTEM‘
submitted by

MRUNMAYEE KULKARNI B120138531


DIMPAL KHAIRNAR B120138526
PRASAD PANCHAKSHARI B120138541
ANKITA SONJE B120138559

is a bonafide work carried out by them under the supervision of Prof.


Dr. Preeti D. Bhamre and it is approved for the partial fulfillment of the
requirement of Savitribai Phule Pune University for the award of the De-
gree of Bachelor of Engineering (Information Technology). This project
report has not been earlier submitted to any other Institute or University
for the award of any degree or diploma.

(Prof. Dr. Preeti D. Bhamre)


Head of Department & Guide

External Examiner (Prof. Dr. K. N. Nandurkar)


Date: Principal

Date: / /
Acknowledgement

First and foremost, we would like to thank our project guide, Prof. Dr.
Preeti D. Bhamre, for her guidance and support. We will forever remain
grateful for the constant support and guidance extended by our guide, in
making this preliminary project report. Through our many discussions,
she helped us to form and solidify ideas.

With a deep sense of gratitude, we wish to express our sincere thanks


for her immense help in planning and executing the works in time. Our
grateful thanks to the departmental staff members for their support.

We would also like to thank our wonderful colleagues and friends for
listening our ideas, asking questions and providing feedback and sugges-
tions for improving our ideas.

Mrunmayee Kulkarni
Dimpal Khairnar
Prasad Panchakshari
Ankita Sonje
ABSTRACT

The system will be used as vehicle grouping and navigation system.


It will be used to establish communication among different vehicles via
GPS through commonly connected server. The system will make use of
a cloud server for data storage and retrieval. System will keep track of
all members within group by showing current location. Once a group
is formed route will be fixed and vehicles will be tracked according to
route. Source and common destination of all members will be shown
on application. Location will be continuously updated to cloud server
(Firebase). Once a user has registered to the system user can view his/her
location. If group is to be created, other members can be added by the
user easily. If user has to join any group, user must receive a notification
request in application which consist of joining request sent by another
user who has created the group. If user declines request, then user will
not be added into the group. If request is accepted by user, he/she will
be added to that particular group and can start sharing location with other
members of the group. If user wishes to see his/her location with all other
group member’s location, then user can easily use other option provided
in application as ’Track location’. User can see group info by chosing
’Group info’ option on dashboard.
Contents

1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Background and Literature Survey 3


2.1 Existing System . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Tools and programming Techniques . . . . . . . . . . . 3

3 Requirement and Analysis 6


3.1 Problem Statement . . . . . . . . . . . . . . . . . . . . 6
3.2 Proposed System . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 GPS . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2 Android Platform . . . . . . . . . . . . . . . . . 6
3.2.3 Location updation to server . . . . . . . . . . . 7
3.3 Software and Hardware Requirements . . . . . . . . . . 8
3.3.1 Software Requirements . . . . . . . . . . . . . . 8
3.3.2 Hardware Requirements . . . . . . . . . . . . . 8
3.4 Future Scope . . . . . . . . . . . . . . . . . . . . . . . 8
3.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Design 9
4.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 High Level Design of the Project . . . . . . . . . . . . . 10
4.2.1 Data Flow Diagram . . . . . . . . . . . . . . . . 10
4.2.2 Use Case Diagram . . . . . . . . . . . . . . . . 12
4.2.3 Activity Diagram . . . . . . . . . . . . . . . . . 13
4.2.4 Class Diagram . . . . . . . . . . . . . . . . . . 14
4.2.5 Implementation screenshots . . . . . . . . . . . 15
5 Implementation 21
5.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.3 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6 Result and Evaluation 33


6.1 Testing Strategy . . . . . . . . . . . . . . . . . . . . . . 33
6.1.1 Unit Testing . . . . . . . . . . . . . . . . . . . . 33
6.1.2 User Acceptance Testing . . . . . . . . . . . . . 33
6.1.3 Functional Testing . . . . . . . . . . . . . . . . 34
6.2 Test cases . . . . . . . . . . . . . . . . . . . . . . . . . 35

7 Project Plan 38

8 Conclusion 39

References 40
List of Figures

4.1 Architecture Diagram . . . . . . . . . . . . . . . . . . . 9


4.2 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Use Case Diagram . . . . . . . . . . . . . . . . . . . . 12
4.5 Activity Diagram . . . . . . . . . . . . . . . . . . . . . 13
4.6 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . 14
4.7 Screenshot-1 . . . . . . . . . . . . . . . . . . . . . . . 15
4.8 Screenshot-2 . . . . . . . . . . . . . . . . . . . . . . . 16
4.9 Screenshot-3 . . . . . . . . . . . . . . . . . . . . . . . 17
4.10 Screenshot-4 . . . . . . . . . . . . . . . . . . . . . . . 18
4.11 Screenshot-5 . . . . . . . . . . . . . . . . . . . . . . . 19
4.12 Screenshot-6 . . . . . . . . . . . . . . . . . . . . . . . 20
List of Tables

6.1 Unit test case table . . . . . . . . . . . . . . . . . . . . 35


6.2 User acceptance testing table . . . . . . . . . . . . . . . 36
6.3 Functional test case table . . . . . . . . . . . . . . . . . 37

7.1 Project plan table . . . . . . . . . . . . . . . . . . . . . 38


GPS based vehicle grouping and navigation system

Chapter 1

Introduction

The system will be used as vehicle grouping and navigation system.


The system will make use of a cloud server for data storage and retrieval.
All the vehicle terminals i.e. Android devices use services that are pro-
vided by server via wireless network. It is a Dynamic navigation system
so dynamic data updating is possible on server. Server can obtain the po-
sition of a vehicle timely. In-built GPS will collect latitude and longitude
of device and transmit it to server continuously. User has to register to
the system with few personal details. Once registered they can log in to
the system any time. User can create group and can add members easily.
If a user wishes to join any group, user must obtain a request notification
request in application from another user who has created the group. If
request is accepted user will be added to that particular group and start
sharing location. If user declines request he/she will not be added to that
particular group. Dynamic in-car navigation system is receiving more and
more attention. It puts some publish and subscribe ability to the Traffic
Information Center (Server), while all vehicle terminals (Clients) use the
services that are provided by Server via wireless networks.

1.1 Motivation
When we go to picnic or to some other spot, with our family or friends,
more than one vehicles are required. If a person in one vehicle wants to
know the location of another vehicle, then that person tries to communi-
cate with the person in another vehicle, but if this communication is not

Department of Information Technology, KKWIEER, Nashik 1


GPS based vehicle grouping and navigation system

proper then this may lead to misunderstanding. To avoid this problem we


have came up with the new solution in which the system is going to track
all the vehicles and show their locations on one monitor or screen. User
can view his/her location including all member’s location easily with the
help of this system.

Department of Information Technology, KKWIEER, Nashik 2


GPS based vehicle grouping and navigation system

Chapter 2

Background and Literature Survey

2.1 Existing System


There is no such existing system yet developed which will be freely
available to common people. Services provided by companies like Uber,
Ola has such interface but due to some restrictions they are not available to
track common vehicles. These companies only track their vehicles, which
is not fruitful to common people. No such android application is yet
developed which serves need of tracking common vehicles for location
sharing.

2.2 Tools and programming Techniques


Android

Android is an open source and Linux-based operating system for mobile


devices such as smart phones and tablet computers. Android was devel-
oped by the Open Handset Alliance, led by Google, and other companies.
Android offers a unified approach to application development for mobile
devices which means developers need only to develop for Android, and
their applications should be able to run on different devices powered by
Android. Android applications are usually developed in the Java language
using the Android Software Development Kit.

Department of Information Technology, KKWIEER, Nashik 3


GPS based vehicle grouping and navigation system

Android Studio

Android Studio is the official integrated development environment (IDE)


for Google’s Android operating system, built on JetBrains IntelliJ IDEA
software and designed specifically for Android development. It is avail-
able for download on Windows, macOS and Linux based operating sys-
tems. It is a replacement for the Eclipse Android Development Tools
(ADT) as primary IDE for native Android application development. An-
droid Studio supports all the same programming languages of IntelliJ, and
PyCharm e.g. Python, and Kotlin. Android Studio 3.0 supports ”Java 7
language features and a subset of Java 8 language features that vary by
platform version.

Android SDK

The Android software development kit (SDK) includes a comprehen-


sive set of advanced development tools. SDK include a debugger, li-
braries, a handset emulator based on QEMU, documentation, sample code,
and tutorials. Currently supported development platforms include com-
puters running Linux (any desktop Linux distribution), Mac OS X 10.5.8
or later, and Windows 7 or later. SDK is not available on Android itself,
but software development is possible by using specialized Android appli-
cations. Enhancements to Android’s SDK go hand in hand with the over-
all Android platform development. The SDK also supports older versions
of the Android platform in case developers wish to target their applica-
tions at older devices. Development tools are download able components,
so after one has downloaded the latest version and platform, older plat-
forms and tools can also be downloaded for compatibility testing. An-
droid applications are packaged in .apk format and stored under /data/app
folder on the Android OS (the folder is accessible only to the root user for
security reasons). APK package contains .dex files (compiled byte code
files called Dalvik executables) and resource files.

Department of Information Technology, KKWIEER, Nashik 4


GPS based vehicle grouping and navigation system

Google Firebase Server

Firebase is a mobile and web application development platform devel-


oped by Firebase, Inc. in 2011, then acquired by Google in 2014. Fire-
base Analytics is a cost-free app measurement solution that provides in-
sight into app usage and user engagement. Firebase provides a realtime
database and backend as a service. The service provides application de-
velopers an API that allows application data to be synchronized across
clients and stored on Firebase’s cloud. The company provides client li-
braries that enable integration with Android, iOS, JavaScript, Java, Objective-
C, swift and Node-js applications.

Department of Information Technology, KKWIEER, Nashik 5


GPS based vehicle grouping and navigation system

Chapter 3

Requirement and Analysis

3.1 Problem Statement


To develop a system (Android application) that can be used as a vehicle
tracking and can be used for sharing location among number of android
devices in different vehicles via GPS and commonly connected server.
User should be able to locate his/her device along with all other group
members.

3.2 Proposed System

3.2.1 GPS
GPS satellites circle the Earth twice a day in a precise orbit. Each
satellite transmits a unique signal and orbital parameters that allow GPS
devices to decode and compute the precise location of the satellite. GPS
receivers use this information and transliteration to calculate a user’s ex-
act location. Essentially, the GPS receiver measures the distance to each
satellite by the amount of time it takes to receive a transmitted signal.
With distance measurements from a few more satellites, the receiver can
determine a user’s position and display it electronically to measure your
running route, map a golf course, find a way home or adventure anywhere.

3.2.2 Android Platform


The Android platform is a platform for mobile devices that uses a mod-
ified Linux kernel. The Android Platform was introduced by the Open

Department of Information Technology, KKWIEER, Nashik 6


GPS based vehicle grouping and navigation system

Handset Alliance in November of 2007. Most applications that run on


the Android platform are written in the Java programming language. An-
droid is an open development platform. However, it is not open in the
sense that everyone can contribute while a version is under development.
This is all done behind closed-doors at Google. Rather, the openness of
Android starts when its source code is released to the public after it is
finalized. This means once it is released anyone interested can take the
code and alter it as they see fit. To create an application for the platform,
a developer requires the Android SDK, which includes tools and APIs.
To shorten development time, Android developers typically integrate the
SDK into graphical user IDEs (Integrated Development Environments).

3.2.3 Location updation to server


The user has to register to the server (Firebase) in order to start shar-
ing his/her information. Personal details accepted at registration process
will be stored at server. Details have fields like name, e-mail id, contact
number and address. Once the details are stored user can directly log in
to the mobile application whenever required. If user have entered invalid
details then they cannot use the system. User authentication is also done
by Firebase server. Whenever a user enters credentials they are cross val-
idated against data stored on server. If details of any user matched the
credentials entered then user can use the system. If user wishes to create
group, then user can provide group information and have to add mem-
bers from the list provided by the application. Group information will be
directly stored on server and added members will get request to join the
group. If other users accepts the incoming request group will be formed
and server information with its particular group id will be updated. Group
once formed, can be used to share real time location. Real time location
with its latitude and longitude collected from GPS module is continu-
ously updated to Firebase server with respect to corresponding group id.
All other members will be subscribing location information from server
with respect to all other group members.

Department of Information Technology, KKWIEER, Nashik 7


GPS based vehicle grouping and navigation system

3.3 Software and Hardware Requirements

3.3.1 Software Requirements


1. Language : Android.

2. Operating System : Windows 7/8.

3. Android studio, SDK.

3.3.2 Hardware Requirements


1. Android device(with GPS module).

2. RAM : 512 MB.

3. Hard Disk : 40 GB.

3.4 Future Scope


a. Accident management can be further added to this existing system

b. To be used in Tourism

c. To be used in Campus bus tracking

3.5 Objectives
a. Friendly mobile application for real time sharing of location

b. User can easily create and join any group using this system

c. Location can be shared easily

d. Accuracy of location sharing is high

e. User can view his/her location excluding other member’s location

Department of Information Technology, KKWIEER, Nashik 8


GPS based vehicle grouping and navigation system

Chapter 4

Design

4.1 Architecture

Figure 4.1: Architecture Diagram

Department of Information Technology, KKWIEER, Nashik 9


GPS based vehicle grouping and navigation system

In the very first step user will have to download the application from
store. Once application is installed in android device user can use the ap-
plication. Internet connectivity is must for application to operate. When
user will open the application some permissions will be notified. If user
grants the permission he/she can use the further application. Permissions
include location(GPS), Data connection, access to maps etc. In the next
step user will have to register to the system. If user has already regis-
tered, user can directly log in. All the data will be stored on the Firebase
server during the process of registration and will be validated during log
in. Next step will lead you to the dashboard. Dashboard will show you
options like create group, track location etc. Create group will show user
further option to add members. Added members will receive a request via
notification on application. If added member accepts the request he/she
will be added else not. User can easily exit through the application when-
ever wished.

4.2 High Level Design of the Project

4.2.1 Data Flow Diagram


DFD level 0 describes the system in three parts. Input is provided to the
system. Hence, there are three modules input, output and system.

Figure 4.2: DFD Level 0

Department of Information Technology, KKWIEER, Nashik 10


GPS based vehicle grouping and navigation system

DFD level 1 describes system more deeply as compared to DFD level


0. Input consist of user details for login. System will allow you to form
group for sharing location information. System will also allow user to
view current location of all other group members along with his/her loca-
tion.

Figure 4.3: DFD Level 1

Department of Information Technology, KKWIEER, Nashik 11


GPS based vehicle grouping and navigation system

4.2.2 Use Case Diagram


Use case diagram describes the system by different use cases. Application
users are actors. They can be new user and existing user. Use cases
include login which involves entering user name and password. User
has to interact with the system for forming group and to check current
location.

Figure 4.4: Use Case Diagram

Department of Information Technology, KKWIEER, Nashik 12


GPS based vehicle grouping and navigation system

4.2.3 Activity Diagram


Activity diagram consists of various activities like log in, register, creat-
ing group, using Google map API and checking real time location on map
for all other group members.

Figure 4.5: Activity Diagram

Department of Information Technology, KKWIEER, Nashik 13


GPS based vehicle grouping and navigation system

4.2.4 Class Diagram


Class diagram consists of various classes like user, user interface, GPS,
server. User can be divided into further two classes i.e. new and exiting
user. Class diagram depicts classes along with its attributes present.

Figure 4.6: Class Diagram

Department of Information Technology, KKWIEER, Nashik 14


GPS based vehicle grouping and navigation system

4.2.5 Implementation screenshots

Figure 4.7: Screenshot-1

Department of Information Technology, KKWIEER, Nashik 15


GPS based vehicle grouping and navigation system

Figure 4.8: Screenshot-2

Department of Information Technology, KKWIEER, Nashik 16


GPS based vehicle grouping and navigation system

Figure 4.9: Screenshot-3

Department of Information Technology, KKWIEER, Nashik 17


GPS based vehicle grouping and navigation system

Figure 4.10: Screenshot-4

Department of Information Technology, KKWIEER, Nashik 18


GPS based vehicle grouping and navigation system

Figure 4.11: Screenshot-5

Department of Information Technology, KKWIEER, Nashik 19


GPS based vehicle grouping and navigation system

Figure 4.12: Screenshot-6

Department of Information Technology, KKWIEER, Nashik 20


GPS based vehicle grouping and navigation system

Chapter 5

Implementation

5.1 Algorithm
Updating Algorithm-
Location updation is primary responsibility of the application. Updation
operation is performed continuously on the server. Current location up-
dation is done after 10ms of time. Updated latitude and longitude are
updated to server continuously. Updated data is retrieved from server af-
ter similar time period by all members of common group.

Searching algorithm-
Whenever a group is to be created by the user, details of all registered user
will be displayed on the screen. User has to select members by selecting
the check boxes. Searching algorithm is used to search and display all
users present on server. Searching algorithm is also used to search for all
group members commonly collected. All members falling into one group
will be able to share location information with each other.

5.2 Modules
1. Login and registration:-The very first step while using application
is registration. User has to enter some of the personal details for us-
ing the applications. Details include name, contact number, email-id

Department of Information Technology, KKWIEER, Nashik 21


GPS based vehicle grouping and navigation system

and address. Once registered, user can log in to the system any time.
Entered data at log in time will be validated from the data stored on
cloud server at registration.

2. Creating group:-Next step is selecting option from dashboard. If


user wishes to create a group the he/she can easily create group and
can share location information among group members. List of users
will be displayed and members are chosen by checking in the boxes
provided.

3. Joining group:-Added members will receive a notification request.


If user accepts the request then he/she will be joined in the group. If
request is declined then user will not be added into the group. If user
wishes to leave group then user can leave at any instance of time.

4. Map activity:-After group creation, location will be continuously


shared among all the members of the location. If user wishes to
see his/her location including other member’s location then they can
choose ’Track location’ option from dashboard.

Department of Information Technology, KKWIEER, Nashik 22


GPS based vehicle grouping and navigation system

5.3 Code
Android Manifest file

1 <?xml v e r s i o n =” 1 . 0 ” e n c o d i n g =” u t f −8”?>
2 <m a n i f e s t xmlns : a n d r o i d =” h t t p : / / s c h e m a s . a n d r o i d . com / apk / r e s / a n d r o i d ”
3 p a c k a g e =”com . e x a m p l e . c a r t r a c k i n g ”>
4 <!−−
5 The ACCESS COARSE / FINE LOCATION p e r m i s s i o n s a r e n o t r e q u i r e d t o u s e
6 Google Maps A n d r o i d API v2 , b u t you must s p e c i f y e i t h e r c o a r s e o r
fine
7 l o c a t i o n p e r m i s s i o n s f o r t h e ’ MyLocation ’ f u n c t i o n a l i t y .
8 −−>
9 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .
ACCESS FINE LOCATION” />
10 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .CAMERA” />
11 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . INTERNET” />
12 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .
ACCESS COARSE LOCATION” />
13 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . SEND SMS” />
14 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .
ACCESS NETWORK STATE” />
15 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . ACCESS WIFI STATE ”
/>
16 <u s e s −p e r m i s s i o n a n d r o i d : name=”com . g o o g l e . a n d r o i d . c2dm . p e r m i s s i o n .
RECEIVE” />
17 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . WAKE LOCK” />
18 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .
WRITE EXTERNAL STORAGE” />
19 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . READ PHONE STATE”
/>
20 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .
READ EXTERNAL STORAGE” />
21 <u s e s −p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . WRITE SETTINGS” />
22 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n .CAMERA” />
23 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . WRITE SETTINGS” />
24 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . WRITE EXTERNAL STORAGE”
/>
25 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . READ EXTERNAL STORAGE”
/>
26 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . INTERNET” />
27 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . ACCESS COARSE LOCATION”
/>
28 <p e r m i s s i o n a n d r o i d : name=” a n d r o i d . p e r m i s s i o n . ACCESS FINE LOCATION” />
29 <a p p l i c a t i o n
30 a n d r o i d : a l l o w B a c k u p =” t r u e ”
31 a n d r o i d : i c o n =”@mipmap / i c l a u n c h e r ”

Department of Information Technology, KKWIEER, Nashik 23


GPS based vehicle grouping and navigation system

32 a n d r o i d : l a b e l =” @ s t r i n g / app name ”
33 a n d r o i d : r o u n d I c o n =”@mipmap / i c l a u n c h e r r o u n d ”
34 a n d r o i d : s u p p o r t s R t l =” t r u e ”
35 a n d r o i d : theme =” @ s t y l e / AppTheme ”>
36 < a c t i v i t y a n d r o i d : name=” . L o g i n A c t i v i t y ”>
37 <i n t e n t −f i l t e r >
38 < a c t i o n a n d r o i d : name=” a n d r o i d . i n t e n t . a c t i o n . MAIN” />
39 <c a t e g o r y a n d r o i d : name=” a n d r o i d . i n t e n t . c a t e g o r y . LAUNCHER” />
40 </ i n t e n t − f i l t e r >
41 </ a c t i v i t y >
42 < a c t i v i t y a n d r o i d : name=” . A d d M e m b e r A c t i v i t y ” />
43 < a c t i v i t y a n d r o i d : name=” . M a i n A c t i v i t y ” />
44 < a c t i v i t y a n d r o i d : name=” . D a s h b o a r d A c t i v i t y ” />
45 < a c t i v i t y a n d r o i d : name=” . G r o u p I n f o A c t i v i t y ” />
46 < a c t i v i t y a n d r o i d : name=” . R e g i s t r a t i o n A c t i v i t y ” />
47 < a c t i v i t y a n d r o i d : name=” . S h o w G r o u p D e t a i l ” />
48 <!−−
49 The API key f o r Google Maps−b a s e d APIs i s d e f i n e d a s a s t r i n g
resource .
50 ( See t h e f i l e ” r e s / v a l u e s / g o o g l e m a p s a p i . xml ” ) .
51 Note t h a t t h e API key i s l i n k e d t o t h e e n c r y p t i o n key u s e d t o s i g n
t h e APK .
52 You n e e d a d i f f e r e n t API key f o r e a c h e n c r y p t i o n key , i n c l u d i n g t h e
r e l e a s e key t h a t i s u s e d t o
53 s i g n t h e APK f o r p u b l i s h i n g .
54 You c a n d e f i n e t h e k e y s f o r t h e debug and r e l e a s e t a r g e t s i n s r c /
debug / and s r c / r e l e a s e / .
55 −−>
56 <meta−d a t a
57 a n d r o i d : name=”com . g o o g l e . a n d r o i d . geo . API KEY ”
58 a n d r o i d : v a l u e =” @ s t r i n g / g o o g l e m a p s k e y ” />
59 <a c t i v i t y
60 a n d r o i d : name=” . M a p s A c t i v i t y ”
61 a n d r o i d : l a b e l =” @ s t r i n g / t i t l e a c t i v i t y m a p s ” />
62 </ a p p l i c a t i o n >
63 </ m a n i f e s t >

Department of Information Technology, KKWIEER, Nashik 24


GPS based vehicle grouping and navigation system

Map Activity

1 p a c k a g e com . e x a m p l e . c a r t r a c k i n g ;
2 import android . ∗ ;
3 import android . Manifest ;
4 i m p o r t a n d r o i d . app . P r o g r e s s D i a l o g ;
5 import android . content . SharedPreferences ;
6 i m p o r t a n d r o i d . c o n t e n t . pm . P a c k a g e M a n a g e r ;
7 import android . g r ap h i c s . Color ;
8 import android . l o c a t i o n . Address ;
9 i m p o r t a n d r o i d . l o c a t i o n . Geocoder ;
10 i m p o r t a n d r o i d . s u p p o r t . v4 . app . A c t i v i t y C o m p a t ;
11 i m p o r t a n d r o i d . s u p p o r t . v4 . app . F r a g m e n t A c t i v i t y ;
12 i m p o r t a n d r o i d . os . Bundle ;
13 i m p o r t a n d r o i d . view . View ;
14 import android . widget . Button ;
15 import android . widget . EditText ;
16 i m p o r t a n d r o i d . w i d g e t . TextView ;
17 import android . widget . Toast ;
18 i m p o r t com . e x a m p l e . c a r t r a c k i n g . Modules . D i r e c t i o n F i n d e r ;
19 i m p o r t com . e x a m p l e . c a r t r a c k i n g . Modules . D i r e c t i o n F i n d e r L i s t e n e r ;
20 i m p o r t com . e x a m p l e . c a r t r a c k i n g . Modules . R o u t e ;
21 i m p o r t com . f i r e b a s e . c l i e n t . D a t a S n a p s h o t ;
22 i m p o r t com . f i r e b a s e . c l i e n t . F i r e b a s e ;
23 i m p o r t com . f i r e b a s e . c l i e n t . F i r e b a s e E r r o r ;
24 i m p o r t com . f i r e b a s e . c l i e n t . V a l u e E v e n t L i s t e n e r ;
25 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . C a m e r a U p d a t e F a c t o r y ;
26 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . GoogleMap ;
27 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . OnMapReadyCallback ;
28 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . S u p p o r t M a p F r a g m e n t ;
29 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . B i t m a p D e s c r i p t o r F a c t o r y ;
30 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . LatLng ;
31 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . Marker ;
32 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . M a r k e r O p t i o n s ;
33 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . P o l y l i n e ;
34 i m p o r t com . g o o g l e . a n d r o i d . gms . maps . model . P o l y l i n e O p t i o n s ;
35 import java . io . IOException ;
36 import java . io . UnsupportedEncodingException ;
37 import java . u t i l . ArrayList ;
38 import java . u t i l . List ;
39 import java . u t i l . Locale ;
40 publ ic c l a s s MapsActivity extends FragmentActivity implements
OnMapReadyCallback , D i r e c t i o n F i n d e r L i s t e n e r {
41 / / p r i v a t e GoogleMap mMap ;
42 p u b l i c s t a t i c GoogleMap mMap ;
43 p r i v a t e A r r a y L i s t <LatLng> l i s t L a t L n g ;
44 SharedPreferences . Editor editor ;
45 SharedPreferences sharedPreferences ;

Department of Information Technology, KKWIEER, Nashik 25


GPS based vehicle grouping and navigation system

46 S t r i n g groupName ;
47 p r i v a t e Button btnFindPath ;
48 private EditText etOrigin ;
49 private EditText etDestination ;
50 p r i v a t e L i s t <Marker> o r i g i n M a r k e r s = new A r r a y L i s t <>() ;
51 p r i v a t e L i s t <Marker> d e s t i n a t i o n M a r k e r s = new A r r a y L i s t <>() ;
52 p r i v a t e L i s t <P o l y l i n e > p o l y l i n e P a t h s = new A r r a y L i s t <>() ;
53 private ProgressDialog progressDialog ;
54 public s t a t i c i n t f l g =0;
55 @Override
56 p r o t e c t e d void o n C r e a t e ( Bundle s a v e d I n s t a n c e S t a t e ) {
57 super . onCreate ( savedInstanceState ) ;
58 se tC o n t e n t V i e w (R . l a y o u t . a c t i v i t y m a p s ) ;
59 / / O b t a i n t h e S u p p o r t M a p F r a g m e n t and g e t n o t i f i e d when t h e map i s
r e a d y t o be u s e d .
60 S u p p o r t M a p F r a g m e n t mapFragment = ( S u p p o r t M a p F r a g m e n t )
getSupportFragmentManager ( )
61 . f i n d F r a g m e n t B y I d ( R . i d . map ) ;
62 mapFragment . getMapAsync ( t h i s ) ;
63 s h a r e d P r e f e r e n c e s = g e t S h a r e d P r e f e r e n c e s ( ” groupName ” , 0 ) ;
64 editor=sharedPreferences . edit () ;
65 groupName= s h a r e d P r e f e r e n c e s . g e t S t r i n g ( ” groupName ” , ” ” ) ;
66 b t n F i n d P a t h = ( Button ) findViewById (R . i d . b t n F i n d P a t h ) ;
67 e t O r i g i n = ( E d i t T e x t ) findViewById (R . i d . e t O r i g i n ) ;
68 e t D e s t i n a t i o n = ( E d i t T e x t ) findViewById (R . i d . e t D e s t i n a t i o n ) ;
69 b t n F i n d P a t h . s e t O n C l i c k L i s t e n e r ( new View . O n C l i c k L i s t e n e r ( ) {
70 @Override
71 p u b l i c v o i d o n C l i c k ( View view ) {
72 sendRequest ( ) ;
73 }
74 }) ;
75 f i n a l P r o g r e s s D i a l o g d l g = new P r o g r e s s D i a l o g ( M a p s A c t i v i t y . t h i s ) ;
76 dlg . s e t T i t l e ( ” Please wait . ” ) ;
77 dlg . setMessage ( ” loading . . . Please wait . ” ) ;
78 d l g . show ( ) ;
79 f i n a l F i r e b a s e f i r e b a s e = new F i r e b a s e ( C o n f i g . FIREBASE URL + ” /
GroupInfo ” ) ;
80 i f ( f l g ==0)
81 f i r e b a s e . a d d V a l u e E v e n t L i s t e n e r ( new V a l u e E v e n t L i s t e n e r ( ) {
82 @Override
83 p u b l i c v o i d onDataChange ( D a t a S n a p s h o t d a t a S n a p s h o t )
84 String ss = ” count : ” + dataSnapshot . getChildrenCount ( ) ;
85 i n t cnt = 0;
86 i f ( f l g ==0)
87 for ( DataSnapshot postSnapshot : dataSnapshot . getChildren ( ) ) {
88 GroupInfo post = postSnapshot . c h i l d ( ” GroupInfo ” ) . getValue ( GroupInfo .
class ) ;
89 S t r i n g memb [ ] = p o s t . getMember ( ) ;
90 f o r ( i n t i = 0 ; i <memb . l e n g t h ; i ++)
91 {

Department of Information Technology, KKWIEER, Nashik 26


GPS based vehicle grouping and navigation system

92 i f ( memb [ i ] . t o S t r i n g ( ) . e q u a l s ( D a s h b o a r d A c t i v i t y . c o n t a c t ) )
93 {
94 etDestination . setText ( post . getDestination () ) ;
95 c n t ++;
96 f l g =1;
97 }
98 }
99 }
100 dlg . dismiss ( ) ;
101 }
102 @Override
103 public void onCancelled ( F i r e b a s e E r r o r f i r e b a s e E r r o r ) {
104 System . o u t . p r i n t l n ( ” The r e a d f a i l e d : ” + f i r e b a s e E r r o r . g e t M e s s a g e ( ) ) ;
105 }
106 }) ;

Department of Information Technology, KKWIEER, Nashik 27


GPS based vehicle grouping and navigation system

Using Google map API

1 p a c k a g e com . e x a m p l e . c a r t r a c k i n g ;
2 i m p o r t a n d r o i d . app . A c t i v i t y ;
3 i m p o r t a n d r o i d . app . A l e r t D i a l o g ;
4 i m p o r t a n d r o i d . app . S e r v i c e ;
5 import android . content . Context ;
6 import android . content . DialogInterface ;
7 import android . content . I n t e n t ;
8 import android . content . SharedPreferences ;
9 i m p o r t a n d r o i d . c o n t e n t . pm . P a c k a g e M a n a g e r ;
10 import android . l o c a t i o n . Location ;
11 import android . l o c a t i o n . LocationListener ;
12 import android . l o c a t i o n . LocationManager ;
13 i m p o r t a n d r o i d . os . Bundle ;
14 import a n d r o i d . os . I B i n d e r ;
15 import android . provider . S e t t i n g s ;
16 i m p o r t a n d r o i d . s u p p o r t . v4 . app . A c t i v i t y C o m p a t ;
17 i m p o r t a n d r o i d . s u p p o r t . v4 . c o n t e n t . C o n t e x t C o m p a t ;
18 i m p o r t a n d r o i d . u t i l . Log ;
19 import android . widget . Toast ;
20 i m p o r t com . f i r e b a s e . c l i e n t . F i r e b a s e ;
21 /∗ ∗
22 ∗ C r e a t e d by e m e r g i n g on 2 / 1 5 / 1 6 .
23 ∗/
24 p u b l i c c l a s s GPSTracker e x t e n d s S e r v i c e {
25 p r i v a t e C o n t e x t mContext ;
26 / / F l a g f o r GPS s t a t u s
27 boolean isGPSEnabled = f a l s e ;
28 / / Flag f o r network s t a t u s
29 boolean isNetworkEnabled = f a l s e ;
30 / / F l a g f o r GPS s t a t u s
31 boolean canGetLocation = f a l s e ;
32 Location location ; / / Location
33 double l a t i t u d e ; / / L a t i t u d e
34 double long itude ; / / Longitude
35 / / The minimum d i s t a n c e t o c h a n g e U p d a t e s i n m e t e r s
36 / / p r i v a t e s t a t i c f i n a l l o n g MIN DISTANCE CHANGE FOR UPDATES = 1 0 0 0 ;
/ / 10 m e t e r s
37 / / The minimum t i m e b e t w e e n u p d a t e s i n m i l l i s e c o n d s
38 / / p r i v a t e s t a t i c f i n a l l o n g MIN TIME BW UPDATES = 1000 ∗ 60 ∗ 1 ; / /
1 minute
39 p r i v a t e s t a t i c f i n a l l o n g MIN DISTANCE CHANGE FOR UPDATES = 1 ; / / 10
meters
40 / / The minimum t i m e b e t w e e n u p d a t e s i n m i l l i s e c o n d s
41 p r i v a t e s t a t i c f i n a l l o n g MIN TIME BW UPDATES = 1 ; / / 1 m i n u t e
42 / / D e c l a r i n g a L o c a t i o n Manager
43 p r o t e c t e d LocationManager locationManager ;

Department of Information Technology, KKWIEER, Nashik 28


GPS based vehicle grouping and navigation system

44 Activity activity ;
45 p u b l i c s t a t i c S t r i n g c o n t a c t =” ” ;
46 p u b l i c s t a t i c S t r i n g name=” ” ;
47 SharedPreferences . Editor editor ;
48 SharedPreferences sharedPreferences ;
49 p u b l i c GPSTracker ( ) {
50 }
51 p u b l i c GPSTracker ( C o n t e x t c o n t e x t , A c t i v i t y a c t i v i t y ) {
52 t h i s . mContext = c o n t e x t ;
53 this . activity = activity ;
54 Firebase . setAndroidContext ( t h i s ) ;
55 s h a r e d P r e f e r e n c e s = c o n t e x t . g e t S h a r e d P r e f e r e n c e s ( ” groupName ” , 0 ) ;
56 editor=sharedPreferences . edit () ;
57 getLocation () ;
58 }
59 public Location getLocation () {
60 try {
61 l o c a t i o n M a n a g e r = ( L o c a t i o n M a n a g e r ) mContext . g e t S y s t e m S e r v i c e (
LOCATION SERVICE ) ;
62 / / G e t t i n g GPS s t a t u s
63 isGPSEnabled = locationManager
64 . i s P r o v i d e r E n a b l e d ( L o c a t i o n M a n a g e r . GPS PROVIDER ) ;
65 / / G e t t i n g network s t a t u s
66 isNetworkEnabled = locationManager
67 . i s P r o v i d e r E n a b l e d ( L o c a t i o n M a n a g e r . NETWORK PROVIDER) ;
68 i f ( ! i s G P S E n a b l e d && ! i s N e t w o r k E n a b l e d ) {
69 / / No n e t w o r k p r o v i d e r i s e n a b l e d
70 } else {
71 t h i s . canGetLocation = true ;
72 i f ( isNetworkEnabled ) {
73 i n t requestPermissionsCode = 50;
74 locationManager . requestLocationUpdates (
75 L o c a t i o n M a n a g e r . NETWORK PROVIDER,
76 MIN TIME BW UPDATES ,
77 MIN DISTANCE CHANGE FOR UPDATES , m L o c a t i o n L i s t e n e r ) ;
78 Log . d ( ” Network ” , ” Network ” ) ;
79 i f ( l o c a t i o n M a n a g e r != n u l l ) {
80 location = locationManager
81 . g e t L a s t K n o w n L o c a t i o n ( L o c a t i o n M a n a g e r . NETWORK PROVIDER) ;
82 i f ( l o c a t i o n != n u l l ) {
83 latitude = location . getLatitude () ;
84 longitude = location . getLongitude () ;
85 }
86 }
87 }
88 }
89 / / I f GPS e n a b l e d , g e t l a t i t u d e / l o n g i t u d e u s i n g GPS S e r v i c e s
90 i f ( isGPSEnabled ) {
91 i f ( l o c a t i o n == n u l l ) {
92 i f ( ContextCompat . c h e c k S e l f P e r m i s s i o n ( a c t i v i t y , M a n i f e s t . p e r m i s s i o n .

Department of Information Technology, KKWIEER, Nashik 29


GPS based vehicle grouping and navigation system

ACCESS FINE LOCATION ) ! = P a c k a g e M a n a g e r . PERMISSION GRANTED &&


ActivityCompat . checkSelfPermission ( a c t i v i t y , Manifest . permission .
ACCESS COARSE LOCATION ) ! = P a c k a g e M a n a g e r . PERMISSION GRANTED ) {
93 A c t i v i t y C o m p a t . r e q u e s t P e r m i s s i o n s ( a c t i v i t y , new S t r i n g [ ] { M a n i f e s t .
p e r m i s s i o n . ACCESS FINE LOCATION } , 5 0 ) ;
94 T o a s t . makeText ( mContext , ” p e r m i s s i o n r e q : ” , T o a s t . LENGTH LONG) . show ( ) ;
95 } else {
96 T o a s t . makeText ( mContext , ” g p s chng : ” , T o a s t . LENGTH LONG) . show ( ) ;
97 locationManager . requestLocationUpdates (
98 L o c a t i o n M a n a g e r . GPS PROVIDER ,
99 MIN TIME BW UPDATES ,
100 MIN DISTANCE CHANGE FOR UPDATES , m L o c a t i o n L i s t e n e r ) ;
101 Log . d ( ”GPS E n a b l e d ” , ”GPS E n a b l e d ” ) ;
102 i f ( l o c a t i o n M a n a g e r != n u l l ) {
103 location = locationManager
104 . g e t L a s t K n o w n L o c a t i o n ( L o c a t i o n M a n a g e r . GPS PROVIDER ) ;
105 i f ( l o c a t i o n != n u l l ) {
106 latitude = location . getLatitude () ;
107 longitude = location . getLongitude () ;
108 }
109 else
110 {
111 T o a s t . makeText ( mContext , ” lm : n u l l ” , T o a s t . LENGTH LONG) . show ( ) ;
112 }
113 }
114 }
115 }
116 }
117 } catch ( Exception e ) {
118 e . printStackTrace () ;
119 }
120 return location ;
121 }
122 /∗ ∗
123 ∗ S t o p u s i n g GPS l i s t e n e r
124 ∗ C a l l i n g t h i s f u n c t i o n w i l l s t o p u s i n g GPS i n y o u r app .
125 ∗ ∗/
126 p u b l i c void stopUsingGPS ( ) {
127 }
128 p r i v a t e f i n a l L o c a t i o n L i s t e n e r m L o c a t i o n L i s t e n e r = new
LocationListener () {
129 @Override
130 p u b l i c void onLocationChanged ( f i n a l Location l o c a t i o n ) {
131 T o a s t . makeText ( mContext , ” c h a n g e d : ”+ c o n t a c t , T o a s t . LENGTH LONG) . show ( )
;
132 i f ( l o c a t i o n != n u l l ) {
133 latitude = location . getLatitude () ;
134 longitude = location . getLongitude () ;
135 S t r i n g groupName= s h a r e d P r e f e r e n c e s . g e t S t r i n g ( ” groupName ” , ” ” ) ;
136 i f ( groupName . e q u a l s ( ” ” ) )

Department of Information Technology, KKWIEER, Nashik 30


GPS based vehicle grouping and navigation system

137 {
138 groupName=” g r o u p ” ;
139 }
140 F i r e b a s e r e f = new F i r e b a s e ( C o n f i g . FIREBASE URL + ” / l o c a t i o n ” ) ;
141 S h a r e L o c a t i o n l o c =new S h a r e L o c a t i o n ( ) ;
142 loc . setContact ( contact ) ;
143 l o c . s e t L a t i t u d e ( l a t i t u d e +” ” ) ;
144 l o c . s e t L o n g i t u d e ( l o n g i t u d e +” ” ) ;
145 l o c . setGroupName ( groupName ) ;
146 loc . s e t S t a t u s ( ” yes ” ) ;
147 l o c . setName ( name ) ;
148 T o a s t . makeText ( mContext , ” c : ”+ c o n t a c t , T o a s t . LENGTH LONG) . show ( ) ;
149 i f ( c o n t a c t != ” ” ) {
150 ref . child ( contact ) . setValue ( loc ) ;
151 }
152 }
153 }
154 @Override
155 p u b l i c void onStatusChanged ( S t r i n g p r o v i d e r , i n t s t a t u s , Bundle
extras ) {
156 }
157 @Override
158 public void onProviderEnabled ( S t r i n g provider ) {
159 }
160 @Override
161 public void onProviderDisabled ( S t r i n g provider ) {
162 }
163 };
164 /∗ ∗
165 ∗ Function to get l a t i t u d e
166 ∗ ∗/
167 public double g e t L a t i t u d e ( ) {
168 i f ( l o c a t i o n != n u l l ) {
169 latitude = location . getLatitude () ;
170 }
171 // return latitude
172 return latitude ;
173 }
174 /∗ ∗
175 ∗ Function to get longitude
176 ∗ ∗/
177 public double getLongitude ( ) {
178 i f ( l o c a t i o n != n u l l ) {
179 longitude = location . getLongitude () ;
180 }
181 / / return longitude
182 return longitude ;
183 }
184 /∗ ∗
185 ∗ F u n c t i o n t o c h e c k GPS / Wi−F i e n a b l e d

Department of Information Technology, KKWIEER, Nashik 31


GPS based vehicle grouping and navigation system

186 ∗ @return boolean


187 ∗ ∗/
188 public boolean canGetLocation ( ) {
189 return t h i s . canGetLocation ;
190 }
191 /∗ ∗
192 ∗ F u n c t i o n t o show s e t t i n g s a l e r t d i a l o g .
193 ∗ On p r e s s i n g t h e S e t t i n g s b u t t o n i t w i l l l a u n c h S e t t i n g s O p t i o n s .
194 ∗ ∗/
195 public void showSettingsAlert ( ) {
196 A l e r t D i a l o g . B u i l d e r a l e r t D i a l o g = new A l e r t D i a l o g . B u i l d e r ( mContext ) ;
197 / / S e t t i n g Dialog T i t l e
198 a l e r t D i a l o g . s e t T i t l e ( ”GPS i s s e t t i n g s ” ) ;
199 / / S e t t i n g D i a l o g Message
200 a l e r t D i a l o g . s e t M e s s a g e ( ”GPS i s n o t e n a b l e d . Do you want t o go t o
s e t t i n g s menu ? ” ) ;
201 / / On p r e s s i n g t h e S e t t i n g s b u t t o n .
202 a l e r t D i a l o g . s e t P o s i t i v e B u t t o n ( ” S e t t i n g s ” , new D i a l o g I n t e r f a c e .
OnClickListener () {
203 p u b l i c v o i d o n C l i c k ( D i a l o g I n t e r f a c e d i a l o g , i n t which ) {
204 I n t e n t i n t e n t = new I n t e n t ( S e t t i n g s . ACTION LOCATION SOURCE SETTINGS ) ;
205 mContext . s t a r t A c t i v i t y ( i n t e n t ) ;
206 }
207 }) ;
208 / / On p r e s s i n g t h e c a n c e l b u t t o n
209 a l e r t D i a l o g . s e t N e g a t i v e B u t t o n ( ” C a n c e l ” , new D i a l o g I n t e r f a c e .
OnClickListener () {
210 p u b l i c v o i d o n C l i c k ( D i a l o g I n t e r f a c e d i a l o g , i n t which ) {
211 dialog . cancel () ;
212 }
213 }) ;
214 / / Showing A l e r t Message
215 a l e r t D i a l o g . show ( ) ;
216 }
217 @Override
218 p u b l i c I B i n d e r onBind ( I n t e n t a r g 0 ) {
219 return null ;
220 }
221 }

Department of Information Technology, KKWIEER, Nashik 32


GPS based vehicle grouping and navigation system

Chapter 6

Result and Evaluation

6.1 Testing Strategy

6.1.1 Unit Testing


Unit testing is a software testing method used for testing individual units
of source code in order to determine whether they are fit for use. We want
to test one logical unit/component of an architecture independently. This
way we can guarantee that our component works properly for the set of
inputs that we expect. There are 2 types of unit tests in Android

1. Local Unit tests which are tests that are performed using JVM only.
They are meant for testing business logic that is not interacting with
the operating system.

2. Instrumented unit tests are tests used for testing logic interconnected
with Android API. They are performed on physical emulator and thus
take more time than local tests.

6.1.2 User Acceptance Testing


Acceptance testing is formal testing with respect to user needs, require-
ments processes conducted to determine whether a system satisfies the
acceptance criteria and to enable the user, customers or other authorized
entity to determine whether to accept the system.
There are two types of User Acceptance Testing

Department of Information Technology, KKWIEER, Nashik 33


GPS based vehicle grouping and navigation system

1. Alpha Testing : Alpha Testing takes place in the development envi-


ronment and is usually done by internal staff long before the product
is even released to external testers or customers. Alpha Testing can
also be done by potential user groups, but the important thing here is
that it takes place in the development environment.

2. Beta Testing : Beta Testing also known as field testing, takes place in
the customers environment and involves some extensive testing by a
group of customers who use the system in their environment.

6.1.3 Functional Testing


Functional testing is a type of testing which verifies that each function
of the software application operates with the requirement specification.
Each and every functionality of the system is tested by providing appro-
priate input, verifying the output and comparing the actual results with
the expected results.

1. Mainline functions : Testing the main functions of an application.

2. Basic Usability : It involves basic usability testing of the system. It


checks whether an user can freely navigate through the screens with-
out any difficulties.

3. Accessibility: Checks the accessibility of the system for the user.

4. Error Conditions : Usage of testing techniques to check for error con-


ditions. It checks whether suitable error messages are displayed

Department of Information Technology, KKWIEER, Nashik 34


GPS based vehicle grouping and navigation system

6.2 Test cases


Unit Test cases

Test
Test Case Test Case De- Expected Re-
Case Actual Result Status
Name scription sult
ID
To validate All User All Users are reg-
whether all users should get istered with User
User Regis-
U-1 get registered registered with name, Email-id, Pass
tration
with User name User name Address and
and password And Password Password
To validate All User
All User are
whether all user should get
Logged in with
U-2 User Login get Login with Login with Pass
User name and
User name And User name
Password
Password and Password
To create a new New group
Creation of New group is cre-
U-3 group for valid should be Pass
group ated for valid user
user created
Notification will Group will be Group joined
Joining of
U-4 be sent for join- joined if re- when request Pass
group
ing group quest accepted accepted by user
Accurate loca- Current location
Check To display user’s
U-5 tion is to be of valid user is Pass
location current location
displayed displayed
Check To simulta- Location
location neously view should be Accurate Loca-
U-6 Pass
of group location of other displayed with tion displayed
members group members varied colors

Table 6.1: Unit test case table

Department of Information Technology, KKWIEER, Nashik 35


GPS based vehicle grouping and navigation system

User acceptance testing

Acceptance Critical Test Result


Number Comment
requirements (Yes/No) (Accept/Reject)
Result of log in
Valid and existing
A-1 should scuccess- Yes Accept
user can log in
fully log in
Result of group
Group will be
A-2 creation should Yes Accept
formed
create group
Result of join
Group will be
A-3 group should join Yes Accept
joined
a particular group
Result of view lo- Location of all
A-4 cation should dis- Yes Accept members will be
play location displayed

Table 6.2: User acceptance testing table

Department of Information Technology, KKWIEER, Nashik 36


GPS based vehicle grouping and navigation system

Functional Test cases

Test
Test Case Test Case De- Expected Re-
Case Actual Result Status
Name scription sult
ID
An application
Start an ap- To start an appli- Application get
F-1 should get Pass
plication cation started
start
To validate
New user
User Regis- whether new user New user regis-
F-2 appropriately Pass
tration appropriately tration is created
registers
registers
To validate User could log
Login in success-
F-3 User Login whether user can in to the appli- Pass
ful
login cation
To validate Valid existing
Valid existing
Existing whether existing user should
F-4 user logged in to Pass
user Login user is able to get logged into
the system
login to system the system
Group should
Group created
Group should be be formed
Create with member
F-5 created by valid and mem- Pass
group list displayed on
user bers could be
application
added
Group joined Group joined
F-6 Join group To join any group if notification when notification Pass
accepted accepted
Check To simulta- Location
location neously view should be Accurate Loca-
F-7 Pass
of group location of other displayed with tion displayed
members group members varied colors

Table 6.3: Functional test case table

Department of Information Technology, KKWIEER, Nashik 37


GPS based vehicle grouping and navigation system

Chapter 7

Project Plan

Phase
Activity Work Done Duration
Number
Topic Finalization and Paper Studying paper related to dif-
1 3 Weeks
searching ferent domain
2 Base Paper Study Through Study of base paper 2 Weeks
3 Literature Study Finding Existing System 4 Weeks
4 Scope of Work Deciding Scope of Project 2 Weeks
Deciding algorithm and flow
5 Methodology 2 Weeks
of work
6 Design Draw UML Diagrams 2 Weeks
7 Implementation Implementation of module 4 Weeks
8 Testing Testing of module 2 Weeks

Table 7.1: Project plan table

Department of Information Technology, KKWIEER, Nashik 38


GPS based vehicle grouping and navigation system

Chapter 8

Conclusion

GPS vehicle grouping and navigation system will be able track multi-
ple vehicles under one android device. System developed is an Android
application which is capable of creating groups and establish secure con-
nection between them. System will be able to create and join group on
user’s wish. Any user can easily add into a group and leave group on
their wish. When user wishes to create group he/she must enter necessary
information and add members into group from the list appeared on appli-
cation. Added members will receive notification request on application
accordingly. If group request is accepted then he/she will be added into
group else not. Once group is formed each member will be able to see
other member’s location continuously. If user wishes to see his/her loca-
tion with other group member’s location then they can easily see through
’Track location’ feature on dashboard.

Department of Information Technology, KKWIEER, Nashik 39


GPS based vehicle grouping and navigation system

Bibliography

[1] N. M. Drawil, H. M. Amar, and O. A. Basir, GPS Localization Ac-


curacy Classification: A Context-Based Approach, Intell. Transp.
Syst. IEEE Trans., vol 14, no 1, pp 262-273, 2013.

[2] S. taghipour, M. R. Meybodi, and A. Taghipour, An Algorithm for


Map Matching For Car Navigation System, in 2008 3rd Interna-
tional Conference on Information and Communication Technolo-
gies: From Theory to Applications, ICTTA, Damascus, Syria, 2008,
pp 1-5.

[3] H. Qi, Y.-H. Liu, L.-D. Qu, and D. Wei, Design and implementation
of cache system for vehicular central navigation system, Jilin Daxue
Xuebao GongxuebanJournal Jilin Univ. Eng. Technol. Ed., vol 42,
no 3, pp 689-695, 2012.

[4] W. Y. Ochieng, M. A. Quddus, and R. B. Noland, Map-matching


in complex urban road networks, Braz. J. Cartogr., vol 55, no 2, pp
1-18, 2004.

[5] M. A. Quddus, W. Y. Ochieng, and R. B. Noland, Current map-


matching algorithms for transport applications: State-of-the art and
future research directions, Transp. Res. Part C Emerg. Technol., vol
15, no 5, pp 312-328, 2007.

[6] Varun Chandola, Arindam Banerjee, and Vipin Kumar, Anomaly


detection: A survey, ACM Comput. Surv., vol 41, no 3, pp 15:1-
15:58, 2009.

Department of Information Technology, KKWIEER, Nashik 40


GPS based vehicle grouping and navigation system

[7] C.-C. Chang and C.-J. Lin, LIBSVM: A library for support vector
machines, ACM Trans. Intell. Syst. Technol., vol 2, no 3, pp 1-27,
2011.

[8] R. Xu and I. Wunsch, D., Survey of clustering algorithms, Neural


Networks IEEE Trans., vol 16, no 3, pp 645-678, 2005.

Department of Information Technology, KKWIEER, Nashik 41

You might also like