Multi-Featured Android Based Smartphone Tracking APP 2017
ADDIS ABABA INSTITUTE OF
TECHNOLOGY
CENTER OF INFORMATION TECHNOLOGY
AND SCIENTIFIC COMPUTING
Department of Software Engineering
Multi-Featured Android Based Smartphone
Tracking App
Team Members
Fetum Abdulahi – ATR/2141/05
Hamlet Dereje– ATR/1370/05
Samiya Ibrahim – ATR/3292/05
Advisor: Meareg Abreha
Feb 12,2017
Multi-Featured Android Based Smartphone Tracking APP 2017
Addis Ababa Institute of Technology
Information Technology and Scientific Computing
Multi-Featured Android Based Smartphone
Tracking App
This Project documentation submitted in partial fulfillment of the requirements for the
Degree of Bachelor of Science in Software Engineering.
Project Advised by:
Advisor Name: Meareg Abreha
Name and signature of Members of the examining board:
Name Title Signature Date
1. __________________ Advisor _____________ _____________
2. __________________ Chairperson _____________ _____________
3. __________________ Examiner _____________ _____________
4. __________________ Examiner _____________ _____________
5. __________________ Examiner _____________ _____________
March 2017
Center of Information Technology and Scientific Computing i
Multi-Featured Android Based Smartphone Tracking APP 2017
Declaration of Originality
We declare that this project is our original work and has not been presented for a degree in any
other university.
Name Signature Date
1. Name of Student 1 __________________ __________________
2. Name of Student 2 __________________ __________________
3. Name of Student 3 __________________ __________________
4. Name of Student 4 __________________ __________________
This project documentation has been submitted for examination with my approval as university
advisor:
Advisor Name _________________________
March 2017
Center of Information Technology and Scientific Computing ii
Multi-Featured Android Based Smartphone Tracking APP 2017
ACKNOWLEDGMENT
We, the development team, would like to express our very great appreciation to the center
of Information Technology and Scientific Computing (ITSC) for enabling us to undertake
the first phase of our final project, which is this documentation. A special thanks goes to
our advisor Mr. Meareg Abreha. The advice and support that he gave truly helped the
progression of this project.
The development team would also like to thank the undergraduate coordinators for looking
into the proposed system and giving us the chance to develop it. We would also like to
thank other instructors and staff members for enabling us to use the available resources of
the center.
Center of Information Technology and Scientific Computing iii
Multi-Featured Android Based Smartphone Tracking APP 2017
ABSTRACT
As security increasingly becomes not just the concern of security institutions but also that
of small companies and individuals, there is a need to offer a solution for everyday common
problems of monitoring and tracking valuable assets such as phones. This solution has
to be cheap, convenient and inexpensive to be adopted by the general mass of people.
This project provides such a solution for tracking a mobile phone for monitoring
an SMS-based and real time tracker. Location can be fetched using two ways: GPS and
Network Service Location using cell identification.
Key words: GPS, Location, Tracking, Real time
Center of Information Technology and Scientific Computing iv
Multi-Featured Android Based Smartphone Tracking APP 2017
Table of Contents
ACKNOWLEDGMENT ......................................................................................................... iii
ABSTRACT............................................................................................................................. iv
List of Figures........................................................................................................................ viii
List of Tables ........................................................................................................................... ix
ACRONYMS .............................................................................................................................x
Chapter 1: INTRODUCTION ..................................................................................................1
1.1 Background......................................................................................................................1
1.2 The Existing System ........................................................................................................1
1.3 Statement of the Problem ................................................................................................2
1.4 Objective of the Project ..............................................................................................3
1.4.1 General Objective .........................................................................................................3
1.4.2 Specific Objective ....................................................................................................3
1.5 Proposed System .........................................................................................................3
1.6 Feasibility Study ..............................................................................................................5
1.6.1 Economic Feasibility .................................................................................................5
1.6.2 Technical Feasibility .................................................................................................5
1.6.3 Schedule Feasibility ..................................................................................................6
1.7 Scope ................................................................................................................................6
1.8 Methodology ....................................................................................................................6
1.9 Project Management plan ...............................................................................................7
1.9.1. Time Management plan ...........................................................................................7
1.9 .2 Quality Management Plan .......................................................................................7
1.9 .3. Communication Management Plan ........................................................................8
Chapter 2: LITERATURE REVIEW .................................................................................... 10
Center of Information Technology and Scientific Computing v
Multi-Featured Android Based Smartphone Tracking APP 2017
2.1 Introduction ................................................................................................................... 10
2.2 Reviewed System ........................................................................................................... 10
Chapter 3: Requirement Analysis .......................................................................................... 11
3.1 Introduction ................................................................................................................... 11
3.2 Scope .............................................................................................................................. 11
3.3 General Description ....................................................................................................... 11
3.4 Product Perspective ....................................................................................................... 12
3.5 Product Functions ......................................................................................................... 12
3.6 User Characteristics ...................................................................................................... 13
3.7 General Constraints ...................................................................................................... 13
3.8 Assumptions and Dependencies .................................................................................... 13
3.9 External Interface Requirements .................................................................................. 14
3.9.1 User Interfaces ........................................................................................................ 14
3.9.2 Hardware Interfaces ............................................................................................... 18
3.9.3 Software Interfaces ................................................................................................. 18
3.9.4 Communications Interfaces .................................................................................... 19
3.10 Functional Requirements ............................................................................................ 19
3.10.1 <Functional Requirement or Feature #1> ........................................................... 19
3.10.2 <Functional Requirement or Feature #2> ........................................................... 20
3.10.3 <Functional Requirement or Feature #3> ........................................................... 20
3.10.4 <Functional Requirement or Feature #4> ........................................................... 21
3.10.5 <Functional Requirement or Feature #5> ........................................................... 22
3.11 Use Cases...................................................................................................................... 23
3.12 Non-Functional Requirements .................................................................................... 27
3.12.1 Performance .......................................................................................................... 27
Center of Information Technology and Scientific Computing vi
Multi-Featured Android Based Smartphone Tracking APP 2017
3.12.2 Reliability .............................................................................................................. 27
3.12.3 Availability ............................................................................................................ 27
3.12.4 Security.................................................................................................................. 27
3.12.5 Maintainability...................................................................................................... 28
3.12.6 Portability ............................................................................................................. 28
3.13 Inverse Requirements .................................................................................................. 28
3.14 Design Constraints....................................................................................................... 28
3.15 Logical Database Requirement ................................................................................... 30
3.16 Other Requirements .................................................................................................... 30
3.17 Change Management Process ..................................................................................... 30
Chapter 4: SYSTEM DESIGN ............................................................................................... 32
4.1 General Overview .......................................................................................................... 32
4.2 Development Methods & Contingencies ....................................................................... 33
4.3 System Architecture ...................................................................................................... 34
4.3.1 Subsystem decomposition ....................................................................................... 34
4.3.2 Hardware/software mapping .................................................................................. 34
4.4 Object Model ................................................................................................................. 35
4.4.1 Class Diagram ......................................................................................................... 35
4.4.2 Sequence Diagram .................................................................................................. 39
Chapter 5: CONCLUSION AND RECOMMENDATION ................................................... 41
6.1 Conclusion ..................................................................................................................... 41
6.2 Recommendation ........................................................................................................... 41
Reference ................................................................................................................................. 43
APPENDIX A: Glossory ......................................................................................................... 43
APPENDIX B: Cost Breakdown ............................................................................................ 44
Center of Information Technology and Scientific Computing vii
Multi-Featured Android Based Smartphone Tracking APP 2017
List of Figures
Figure 1 Gantt Chart....................................................................................................................7
Figure 2 Register Page .............................................................................................................. 14
Figure 3 Login Page .................................................................................................................. 15
Figure 4 Track option page........................................................................................................ 16
Figure 5 GPS settings ................................................................................................................ 17
Figure 6 Real time track through web ........................................................................................ 18
Figure 7 UseCase Diagram ........................................................................................................ 23
Figure 8 Deployment Diagram .................................................................................................. 34
Figure 9Hardware/Software Mapping ........................................................................................ 34
Figure 10 Main Map Activity Class Diagram ............................................................................ 36
Figure 11Message Processing Service Class Diagram ............................................................... 37
Figure 12 Register User Class Diagram ..................................................................................... 38
Figure 13 Map View Sequence Diagram ................................................................................... 39
Figure 14 Log In Sequence diagram .......................................................................................... 39
Figure 15 SMS Track Request Sequence Diagram..................................................................... 40
Figure 16 Register User Sequence Diagram............................................................................... 40
Figure 17 Cost Break down ....................................................................................................... 45
Center of Information Technology and Scientific Computing viii
Multi-Featured Android Based Smartphone Tracking APP 2017
List of Tables
Table 1 Communcation Management ..........................................................................................9
Center of Information Technology and Scientific Computing ix
Multi-Featured Android Based Smartphone Tracking APP 2017
ACRONYMS
GPS (Global Positioning System)
GUI (Graphical User Interface)
IMEI (International Mobile Equipment Identity)
LAC (Location Area Code)
ODBC (Open Database Connectivity)
SIM (Subscriber Identity Module)
SMS (Short Message Service )
Center of Information Technology and Scientific Computing x
Multi-Featured Android Based Smartphone Tracking APP 2017
Chapter 1: INTRODUCTION
1.1 Background
As a result of technological progress we are facing an incredible variety of possibilities to
communicate regardless of the distance. Smart phones provide a great choice of features
that facilitate the life for the users as well they make it more comfortable. Every day the
features and capabilities of Mobiles are increasing surprisingly. For this reason we want to
create an Android application which gives us the opportunity to improve our knowledge of
Mobile developing. We find this project a great opportunity to combine a lot of
technologies and languages in the same software system, and learn how to work in big
projects as a team member.
1.2 The Existing System
For the existing system study we have selected few smartphone tracking applications in
the android play store. Below is a list of such applications and their features. Point to be
noted that, most popular applications of the market are described here.
1. Where’s My Droid
Ringtone and vibration is used to detect the lost phone
GPS location tracing
2. Mobile Anti-Virus Security PRO
The application locks screen of lost device and send alert message
Make loud noisy sound
Use Google Map to trace the location of the lost device
3. AVAST Anti-theft
Remotely trace the GPS location of the device
Activate loud sound
Remotely erase memory
4. Locate via SMS
The application allows to track android smartphones using SMS for transmitting the
locations. The user can enter a phone number that he/she wants to be traced and
send a track request. When the SMS is received to the traced phone, without the
user knowledge, it sends the coordinates location in map view.
Multi-Featured Android Based Smartphone Tracking APP 2017
1.3 Statement of the Problem
With the development of technology nowadays smartphones can perform different official
activities beside the personal ones. Users can store password, valuable documents, pictures,
videos and many other private and confidential contents inside their phones. Smartphones
being stolen or missed is a worldwide daily affair, which incurs great loss upon people. In
today’s world, losing one’s phone can be a dreadful thought.
There are few applications in the android play store which claim they can trace mobile
phones after it gets lost. Nonetheless there are many limitations on these applications which
makes them ineffective for providing complete mobile phone tracking. In the previous
section, we listed those applications and their features. Further down we have stated the
limitations of the above mentioned applications.
1. Where’s my Droid
This application will not be effective if the application is simply removed
from the “Installed Application” option of the mobile
GPS does not work properly
It cannot trace the exact GPS location if the GPS is disabled
2. AVAST Anti-theft
GPS tracking is of no use if the original SIM is changed
Loud sound can help only if the lost device is somewhere around the
owner, otherwise this feature is inadequate
Deleting memory cannot protect the data but can erase it
3. Mobile Anti-Virus Security PRO
If the device is lost in a distant place then 'ringing' feature of this application
becomes of no value to trace the device. This option can only be
implemented when the owner of the device is fully sure that the lost device
is somewhere near.
If somehow the Google Map does not work, the application will not work
properly
4. Locate via SMS
Anyone can track any user’s phone location just by entering their phone
number which can be a major privacy issue.
Center of Information Technology and Scientific Computing 2
Multi-Featured Android Based Smartphone Tracking APP 2017
1.4 Objective of the Project
1.4.1 General Objective
The general objective of the study is to develop a system that can track the location of a
lost phone via SMS or through the web and being able to provide a reliable and a more
efficient mobile phone tracking application independent of the telecom operator.
1.4.2 Specific Objective
The following are the specific objective of the project:
Get current location of phone via SMS
Obtain LAC (Location Area Code) phone location for GSM tracking
Real time location of a phone to know
SIM card change detect
Prevention from uninstalling the app
1.5 Proposed System
The contribution of this proposed system is that it would be very convenient for people of
developing country for its cost effectiveness and less energy consumption and will be
independent from the telecom operator. As mentioned above, the system will be having
two services i.e. SMS tracking and real time tracking through web. When the user first
installs the application he/she will sign up to register his/her phone to the system. The user
will be able to choose from the two controls to track the lost phone. In the SMS control
method, the user will send a track request to get the location coordinates of the stolen
phone. While in the web control the user will be able to remotely enable the GPS of the
phone and track its location through the web.
SMS Tracking
In the SMS tracking, the user logs in to the system and sends a track request where the
application prepares an SMS in the background to be sent to the lost/misplaced phone
(Note: Both phones should have the application installed). When the SMS is received,
without showing up in the usual SMS application, the location of the phone is obtained and
will be sent back in the form of SMS to the tracking phone. If there is a SIM card change
detection, the application will send the track request to the newly changed phone number.
In case the phone doesn’t have enough balance to send the SMS, we have added a recharge
option where the user can send some balance to the lost phone.
Center of Information Technology and Scientific Computing 3
Multi-Featured Android Based Smartphone Tracking APP 2017
Real-Time Location Tracking
For the real time tracking option the app will receive the latitude and longitude coordinates
and send it to the server side app, whenever there is a change in location the location listener
interface will send the changed location. Location listener will be implemented with web
service and send data in JSON or XML format, once the coordinates is fetched it can be
shown on the map.
Android's Network Location Provider determines user location using cell tower and Wi-Fi
signals, providing location information in a way that works indoor and outdoor, responds
faster, and uses less battery power. The purpose of location-based services is to find the
Physical location of the device. Access to the location-based services is handled by the
LocationManager system Service. Current Location can be fetched using two ways:
1. GPS (Global Positioning System)
2. Network Service Location
1. GPS (Global Positioning System)
The Global Positioning System (GPS) uses a constellation of 24 satellites orbiting the earth.
GPS finds the user position by calculating differences in the times the signals, from
different satellites, take to reach the receiver. GPS signals are decoded, so the smart phone
must have in-built GPS receiver. To get access to GPS hardware of android we request
using following statement LocationManager.GPS_PROVIDER;
2. Network Service Location
The current cell ID is used to locate the Base Transceiver Station (BTS) that the mobile
phone is interacting with and the location of that BTS. It is the most basic and cheapest
method for this purpose as it uses the location of the radio base station that the cell phone
is connected to. A GSM cell may be anywhere from 2 to 20 kilometers in diameter. Other
approaches used along with cell ID can achieve location granularity within 150 meters.
The granularity of location information is poor due to Wide Cell Range. The advantage is
that no additional cost is attached to the handset or to the network to enable this service.
To get access to Network Provider android we request using following statement
LocationManager.NETWORK_PROVIDER;
Geocoding and Reverse Geocoding
Geocoding lets us translate between street addresses and longitude/latitude map
coordinates. This can give us a recognizable context for the locations and coordinates used
in location-based services and map-based activities. The Geocoding lookups are done on
Center of Information Technology and Scientific Computing 4
Multi-Featured Android Based Smartphone Tracking APP 2017
the server, so our applications will require us to include an Internet uses-permission in our
manifest. The Geocoder class provides access to two geocoding functions:
Forward Geocoding
Forward Geocoding converts the address into latitude and longitude.
Reverse Geocoding
Reverse Geocoding converts latitude and longitude to corresponding address
An android background service listens for location (network and GPS) updates. It saves
the GPS location details (lon/lat) on a local sqlite database. Afterwards, it then posts it to a
remote server via Volley (an http library for android).
1.6 Feasibility Study
The developer team’s feasibility study focuses on determining an adequate GPS system
delivery for an app on the android platform. The purpose of the study is to define and
evaluate the critical phases of the project’s undergoing process. The economic, technical,
operational and schedule feasibility of the proposed system will be discussed.
1.6.1 Economic Feasibility
The cost analysis is used to determine the benefits and savings expected from the system.
The analysis will be made on two factors: namely, 1. Development costs; and 2. Operating
costs.
1.6.1.1 Developmental cost
The system will be developed on open source software which will be free of use.
1.6.1.2 Operational Cost
There is a one-time fee of $25 to publish the app on the android market. After this
payment any additional updates to the app will be free. Other than that, there will
be a payment for the server to host the web service.
1.6.2 Technical Feasibility
The assessment of the technical feasibility is based on the input, output, software
used and the personal needed to develop the system.
The major input for the system will be the data needed to meet the projects functionalities.
Since it is mainly a tracking system and has a map integrated with it, map coordinates are
the key part of the dataset. These coordinates are composed of longitude and latitude (in
Center of Information Technology and Scientific Computing 5
Multi-Featured Android Based Smartphone Tracking APP 2017
Degrees, Minutes and Seconds) of the location. The coordinates can be generated by using
the GPS technology incorporated in the phone.
The application will be developed using Java programming language to run on the android
OS. The tools we will be using are android studio or Eclipse. For designing the interface
we will use Microsoft Visual Studio and Photoshop.
1. Microsoft Visual Studio
This software is going to be used for developing the web based interface of the
system.
2. Android SDK
It is a Software Development Kit developed by Android which is necessary to
develop this application.
1.6.3 Schedule Feasibility
The proposed system should be delivered by the time frame allocated for the
developers. The development process for this particular project is dynamic, thus various
prototypes and testing will be done accordingly. Given the technical expertise of the
developers, the time deadlines for data collection should be a major time constraint.
However, once data is collected the proper allocation of the data on the system and the
implementation of the final product should be less limiting.
The deadlines for the delivery of the product in various stages of development should go
in accordance with the desirable scheduling than mandatory to ensure the proper delivery
of products.
1.7 Scope
The main scope of the application is to track the exact location of a lost/misplaced phone.
The user can track the location of the phone using two different methods. These methods
are SMS control and web control, they will be discussed thoroughly in the methodology
section. The final product would be a mobile application and a web based interface that
will provide tracking features.
1.8 Methodology
An agile development strategy was adopted in the development of this project. Other
strategy such as the Waterfall model will not be suitable for a couple of reasons. Firstly,
obtaining a complete analysis of the way the tracker works at the beginning of the project
was impractical. Only at certain stage of development will additional information be
Center of Information Technology and Scientific Computing 6
Multi-Featured Android Based Smartphone Tracking APP 2017
demanded and obtained, because no formal document detailing the internal workings
of the tracker was obtainable from the owner company. Secondly, requirements change
so often, mainly due to the constraints of mobile phone development, such as speed, size
and usability. If Waterfall was adopted, this will require a complete redesign of the system
every time such changes occur. Lastly, considering that the project involves
communication without another product, the source of bugs found in each stage has to be
established before the project can move on. Had the Waterfall model been adopted, testing
will be delayed till the end, which means bugs found may result to the rewrite the whole
program.
1.9 Project Management plan
1.9.1. Time Management plan
Further down we illustrated the time management plan for our project.
Figure 1 Gantt Chart
1.9 .2 Quality Management Plan
While the need for mobile app quality assurance is significant, there are also many common
problems that developers can encounter that can disrupt and limit the efficient. We stated
below some of the of the quality risks that can be faced during the project development
process:
Lags In Development Can Lead To Shorter Testing Time
Center of Information Technology and Scientific Computing 7
Multi-Featured Android Based Smartphone Tracking APP 2017
Quality Assurance is one of the final steps in the development process before an
application is released. Before an app makes it to quality assurance there are several
steps that must first take place, including all phases of development, such as
technical design, wireframe development and mobile application development for
each mobile platform. As such, if there are lags in the development of an app, the
development team will have to deal with shorter test time, often resulting in rushed
functional testing and running out of time to regression test.
Frequently Changing Requirements
Good requirements from the beginning – even before development starts – can help
with the development and subsequent testing processes. Unfortunately, in many
cases, requirements can change for different reasons. This is a critical misstep since
providing requirements can help effectively define what they should be tested and
how testing framework is developed. Without the requirements, it’s like testing in
the dark.
Web-based Mobile App consideration(Compatibility issue)
For the web-based part of the project different devices can show case the UI in
different designs. Compatibility of the website with different devices should be
taken into consideration.
To ensure software quality, Quality assurance will be implemented through different
stages of software development, from the requirement gathering phase to coding. In
addition to the software quality, risk identification and prevention will also be
maintained. During the testing phase different testing methods are going to be used and
these are:
1. Functional testing
2. Regression testing
3. Performance testing
4. Unit testing
5. Black box testing
6. White box testing and so on.
1.9 .3. Communication Management Plan
The purpose of communication plan is to define the communication requirements for the
project and to apprehend how information will be distributed among the development team.
Communication activities are performed by all team members and everyone will be kept
Center of Information Technology and Scientific Computing 8
Multi-Featured Android Based Smartphone Tracking APP 2017
informed of ongoing process of the project using various means such as email, phone calls
and text messaging.
In order to achieve consistent and effective communication, standardization of
documentation is used to simplify the complexities of project management
communications. The team will utilize an agreed standard template for meeting agenda and
meeting minutes. The meetings will be held every two days and all team members should
participate. Concerning the project milestones, the team will hold a meeting with the
advisor. These project milestones are expected to be presented to the project advisor so that
he gives feedbacks and comments.
Meeting Agenda will be discussed one day in advance of the meeting. The first item in the
agenda should be a review of action items from the previous meeting. It will also include
the status of all items from the agenda along with new action items and the on hold/further
discussion required list.
Type of Method Frequency/Schedule Information Participants
Communication / Tool /
Responsible
Internal Communication:
Sharing project Email Daily Project status, Hamlet
ongoing process problems, Dereje and
risks, changed Samiya
requirements Ibrahim
Sharing project Email Daily Implementation Fetum
ongoing process details Abdulahi
Sharing of Email When available All project All team
project data documentation members
and reports
Milestone Personal After milestones Project status All team
Meetings meeting (progress) members
with the
advisor
Final Project Personal After the completion Wrap-up All team
Meeting meeting of the project Experiences members
Table 1 Communcation Management
Center of Information Technology and Scientific Computing 9
Multi-Featured Android Based Smartphone Tracking APP 2017
Chapter 2: LITERATURE REVIEW
2.1 Introduction
A review of existing literature was performed to support the study undertaken in this
project. A limited search was performed to chronicle past research efforts in developing
GPS navigational systems and applications for the city of Addis Ababa. Next, the potential
of the systems and areas they fall flat which this proposed system is intending to address
are discussed.
Most GPS systems are made with the intent of making navigation an easier endeavor. The
proposed tracking system is dedicated to offer various phone tracking features commuting
an effecient. The overall trends in what have been published about other similar systems
are concerned on GPS and GSM tracking. This particular system not only provides
tracking features but also service location functionalities as well.
2.2 Reviewed System
Ringer
A silent phone can be extremely tricky to find. If you're in the habit of losing a silent cell
phone, you may wish to invest in a phone sensor, also known as a phone detector. These
are tools that, when placed near a cell phone, will actually pick up the call signal and make
sounds to indicate that the phone is somewhere within proximity. If the phone is lost, all
you need to do is have someone call you as you walk around with the sensor until the
device begins to indicate that a call signal is nearby. When you hear the signal, you then
have a basic idea of where to start looking for your cell phone.
Phone Tracking Using IMEI Number
Every phone comes with a unique International Mobile Equipment Identify Number which
can come in useful to track it in case of loss or theft. This number can be accessed by
dialing *#06# and it is advisable to make a note of it as soon as you purchase your handset.
In case the phone gets stolen, file an FIR with the police and give them its identity number.
Pass on a copy of the FIR and IMEI number to your service provider who will then be able
to track your handset. With its IMEI number, a device can be traced even if it is being used
with another SIM or even if it is switched off. Once the handset is located, request your
service provider to block it from being used till you are able to get your hands on it again
Center of Information Technology and Scientific Computing 10
Multi-Featured Android Based Smartphone Tracking APP 2017
Chapter 3: Requirement Analysis
3.1 Introduction
The requirement analysis should provide an overview of the entire document with purpose,
scope, and definitions of the systems requirement. The aim of this document is to gather
and analyze and give an in depth insight of the complete multi-featured tracking application
by defining the proposed system. The detailed requirement of the system is provided in
this document.
3.2 Scope
The multi-featured tracking application is a GPS-based mobile application which helps
users find their lost/misplaced phone based on the user’s current position. The
application should be free to download from either a mobile phone application store or
similar services. The objective of the system is two provide mainly two tracking
functionality. These two functionalities are tracking through SMS and real-time tracking
of the phone through the web.
If a registered android user wants to know the location of his/her phone then the user has
to log in to the system and choose one of the above-mentioned tracking options.
Based on the selected option, the system locates the phone by getting the longitude and the
latitude of the android device. The SMS tracking option will get the GPS coordinates and
provide the current location of the phone. While, the web based tracking provides a real-
time tracking by updating its location periodically.
Additionally, the software needs both Internet and GPS connection to fetch and display
results. All user device information is maintained in a database, which is located on a web-
server. The software also interacts with the GPS-Navigator software which is required
to be an already installed application on the user’s mobile phone. By using the GPS-
Navigator, users can view the phones location on a map and be navigated to it.
3.3 General Description
This section will give an overview of the whole system. The system will be explained in
context to show how it interacts with other systems and introduce the basic functionality
of it. It will also describe what type of users that will use the system, the functionality
available and its impact to them. At last, the constraints and assumptions for the system
will be presented.
Center of Information Technology and Scientific Computing 11
Multi-Featured Android Based Smartphone Tracking APP 2017
3.4 Product Perspective
The system will consist of two parts: one mobile application and a web application. The
mobile application will be used to find lost/misplaced phones location and display the
location in a map view while the web based interface will be used to display the real-time
location of the phone.
Since this is a data-centric product it will need somewhere to store the data. For that, a
database will be used. Both the mobile application and web application will
communicate with the database. All of the database communication will go over the
Internet. An integrated data base will ensure the storage and the retrieval of the user device
related information which implies the email, password, phone number, alternate phone
number and IMEI number.
The mobile application will need to communicate to a GPS application within the mobile
phone, which in turn communicates with a physical GPS device to find the location of the
phone. The GPS will provide the mobile application with the locations of both the tracker
and the lost/misplaced phone. When the user sends a track request, the system will fetch
the phone number from the server app and track request is sent via SMS.
When the SMS is received the location manager gets the current location of the phone. The
location coordinates acquired will be sent to the tracking phone, when it received the
coordinates will be interpreted in to a location in a map. Point to be noted that the
application must installed on both phones.
As for the web application the idea is to use a mobile phone which accepts to receive the
GPS coordinates and sends them to the server-side app, which will be able to record
them under the account of the registered user. Then from a web client, the user can be
followed on a map in a real time mode.
3.5 Product Functions
Register – The user must register once in order to get access to the application; Upon
registering, the user should provide an email and a password.
Log-in – A registered user has to enter his/her email and password
combination in order to access the application.
Track options– the system will have two different options where can track his/her
phone with.
Center of Information Technology and Scientific Computing 12
Multi-Featured Android Based Smartphone Tracking APP 2017
Recharge option – The system shall have a recharge option where the user sends balance
to the tracked phone so that it has enough credit to send back the location of the
phone.
3.6 User Characteristics
The type of users for the system is android smartphone user. All users can be assumed to
have the familiarity of the basic Graphical User Interface (GUI) components of
Android mobile phones.
The impact of the proposed system for potential users is that it offers a more detailed map
and provide different features to track mobile phones, which makes allocating a
lost/misplaced phone a much easier task.
3.7 General Constraints
The mobile application is constrained by the system interface to the GPS navigation
system within the mobile phone. Since there are multiple system 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 features each of them provide.
The Internet connection is also a constraint for the application. 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 web and the mobile application will be constrained by the capacity of the
database. Since the database is shared between both application it may be forced
to queue incoming requests and therefore increase the time it takes to fetch data.
3.8 Assumptions and Dependencies
One assumption about the product is that it will always be used on mobile phones that have
enough performance. If the phone does not have enough hardware resources available for
the application, for example the users might have allocated them with other applications;
there may be scenarios where the application does not work as intended or even at all.
Another assumption is that the GPS components in all phones work in the same way. If the
phones have different interfaces to the GPS, the application need 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.
Center of Information Technology and Scientific Computing 13
Multi-Featured Android Based Smartphone Tracking APP 2017
3.9 External Interface Requirements
3.9.1 User Interfaces
A first-time user of the mobile application should see the registration page when he/she
opens the application. If the user is not a first-time user, he/she should be able to see the
track page directly when the application is opened. Then the user chooses the type of track
he/she wants to conduct.
Every user should have a profile page where they can edit their e-mail address, phone
number and password. The system will have a web application where the user can
login by entering his/her email and password and it will redirect to see the location of the
phone. In which the user can where the system will provide a real-time tracing the phone.
Figure 2 Register Page
Center of Information Technology and Scientific Computing 14
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 3 Login Page
Center of Information Technology and Scientific Computing 15
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 4 Track option page
Center of Information Technology and Scientific Computing 16
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 5 GPS settings
As not to drain the battery, a SettingsActivity provides basic configuration and control for
time and distance interval.
Center of Information Technology and Scientific Computing 17
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 6 Real time track through web
As the device sends location updates you can see the actual marker move on the web
client’s map. The viewer will receive location updates as well in realtime.
3.9.2 Hardware Interfaces
Since neither the mobile application nor the web application have any designated
hardware, it does not have any direct hardware interfaces. The physical GPS is managed
by the GPS application in the mobile phone and the hardware connection to the
database server is managed by the underlying operating system on the mobile phone and
the web server.
3.9.3 Software Interfaces
The system will be using Google API.
Center of Information Technology and Scientific Computing 18
Multi-Featured Android Based Smartphone Tracking APP 2017
3.9.4 Communications Interfaces
The communication interface, in which communication is done through an SMS sent
using the SIM of the handset to the phone. SMS Communication is done with the
services’ server gateway application component in order to retrieve the requested service
at the current location of the handset.
The system will communicate with the database through Open Database Connectivity
(ODBC). It accomplishes database independence by using ODBC driver as a translation
layer between the application and the database management system. The system uses
ODBC functions through ODBC driver manager with which it is linked, and the driver
passes the query to the database [2].
For the system to provide a real time tracking feature the GPS of the mobile phone
continually receives digital messages from space satellites to triangulate the units’
current location. These satellites put out a constant stream of low energy radio signals that
have data encoded in them. The GPS tracking device receives these signals and is able to
calculate how far it is away from each satellite it receives the message from. Now that it
has calculated its position it will broadcast the information to the tracking provider.
The real-time tracker use cell phone networks to do this transmission while others use
communication satellites [4].
3.10 Functional Requirements
This section describes specific features of the software project. If desired, some
requirements may be specified in the use-case format and listed in the Use Cases Section.
3.10.1 <Functional Requirement or Feature #1>
Title: User Registration
ID: FR1
Introduction
Given that a user has downloaded the mobile application, then the user should be able to
register through the mobile application. The user must provide user-name, password, e-
mail address and alternate number. The user can choose to provide a regularly used phone
number. The system will acquire the IMEI and the phone number of the user
programmatically.
Inputs
Fill out the following fields: email, password and alternative number. Select the “Register”
option.
Center of Information Technology and Scientific Computing 19
Multi-Featured Android Based Smartphone Tracking APP 2017
Processing
1. User clicks on Create a New Account
2. New Account form is displayed, fields are filled by User
3. User clicks Submit, then the system checks the User Table in the database; if no
errors, then add new user into the User Table
Outputs
Display either a success or failure message depending on if the registration was
successful or not. Then the system verifies the users account.
Error Handling
If certain fields are not filled out, or if the phone is already registered to the system (by
checking the IMEIs’ number), then print out the error message and tell the user to try again.
3.10.2 <Functional Requirement or Feature #2>
Title: Modify profile
ID: FR2
Introduction
The system should allow the user to update the profile of the account. The attributes that
can be modified are email, password and alternate number.
Inputs
Registering to the system
Processing
1. User logs to the system
2. System displays the modify profile page
Outputs
Modified user account information
Error Handling
The system displays an error message if the user enters incorrect data format.
3.10.3 <Functional Requirement or Feature #3>
Title: User Log-in
Center of Information Technology and Scientific Computing 20
Multi-Featured Android Based Smartphone Tracking APP 2017
ID: FR3
Introduction
Two of the tracking options requires the user to log in to the system, given that a user has
registered, then the user should be able to log in to the mobile application. The log-in
information will be stored on the phone and in the future the user should be logged in
automatically.
Inputs
Registered email and password, and select “Login” or “Clear”
Processing
1. User must type in email and Password in the corresponding text fields
2. User must click on the Login button
Outputs
If “Login” is selected, user will be navigated to the tracking options page.
If “Clear” is selected, then reset the fields
Error Handling
If email and/or password are incorrect, then display an error message.
3.10.4 <Functional Requirement or Feature #4>
Title: Send SMS track request
ID: FR4
Introduction
If the user wants the current location of the phone he/she must log in first and click the
track button to send a track request. The system should send message to the phone and will
send a message from the background without the user knowing.
Inputs
Clicking the track button.
Processing
1. Click the track button
2. System prepares SMS and sends it to the tracked phone
Center of Information Technology and Scientific Computing 21
Multi-Featured Android Based Smartphone Tracking APP 2017
3. When the SMS is received the system fetches the longitude and latitude of the phone
4. System prepares SMS from the background and sends back to the tracing phone
5. When the longitude and latitude is received the system will show the location of the
phone in the map view
Outputs
Show current location of the phone in a map view.
3.10.5 <Functional Requirement or Feature #5>
Title: SIM change identification
ID: FR5
Introduction
In case of SIM card change the system should send a message to the alternate phone number
which constitutes the number of the changed SIM card.
Inputs
SIM card change
Processing
1. SIM card change
2. Change will be identified by the system
3. The changed SIM cards’ number will be sent to the alternative number registered by the
user.
Outputs
Message with the new number sent to the alternative number.
Error Handling
None
Center of Information Technology and Scientific Computing 22
Multi-Featured Android Based Smartphone Tracking APP 2017
3.11 Use Cases
Figure 7 UseCase Diagram
Use case #1
Use case name: User Registration
Goal: Register a user to the system
Primary Actors: mobile client
Preconditions: user should install the application to the phone
Post-conditions: user is registered to the database
Main Scenario
S 1. The user installs the system into his/her phone.
S 2. The system will display the registration form.
S 3. The user fills the information required.
S 4. The system will display confirmation dialog to verify the data input is correct.
Center of Information Technology and Scientific Computing 23
Multi-Featured Android Based Smartphone Tracking APP 2017
S 5. The system will verify the that the user is not previously registered and display
confirmation dialog
Extensions
S 3a. The user filled incorrect data input
S 3a. The system requests the user to fill the form again.
S 4a. The user is registered previously
S 4a1. The system display that the user is already registered
Use case #2
Use case name: modify profile
Goal: User modify registered device information
Primary Actors: Mobile client, Web client
Preconditions: user should logged in to the system
Post-conditions: modified device information
Main Scenario
S 1. The user clicks on modify link.
S 2. The system redirects to the modify page.
S 3. The user fills the information required.
S 4. The system will display confirmation dialog to verify the data input is correct.
Extensions
S 3a. The user filled incorrect data input
S 3a. The system requests the user to fill the form again.
Use case #3
Use case name: SMS track request
Goal: get the current location of a lost/misplaced phone
Primary Actors: Mobile client, tracked phone
Preconditions: user should be logged in the system
Center of Information Technology and Scientific Computing 24
Multi-Featured Android Based Smartphone Tracking APP 2017
Post-conditions: system fetches the current location of the lost/misplaced phone and the
tracked phone sends back to the mobile client (i.e. tracking phone).
Main Scenario
S 1. The user logs in to the system.
S 2. The user chooses the SMS tracking option.
S 3. The user sends a track request.
S 4. The track request is received to the tracked phone.
S 5. The system fetches the location of the tracked phone.
S 6. The tracked phone sends the location to the tracking phone.
S 7. When the location is received to the tracking phone it shows the location of the
phone in a map view.
Use case #4
Use case name: Track through web
Goal: real-time location tracking location of a lost/misplaced phone
Primary Actors: Web client, tracked phone
Preconditions: user should be logged in the system
Post-conditions: The system fetches the current location of a lost/misplaced phone and
periodically shows the location of the phone.
Main Scenario
S 1. The user logs in to the system.
S 2. The user chooses the web tracking option.
S 3. The system fetches the location of the phone periodically,
S 4. The location of the phone is displayed on the map.
Use case #5
Use case name: Change SIM card identification
Goal: Notify the user when there is a SIM card change in the phone
Primary Actors: System
Center of Information Technology and Scientific Computing 25
Multi-Featured Android Based Smartphone Tracking APP 2017
Preconditions: Application must be installed in the phone
Post-conditions: The system detects the SIM change and sends the new SIM number
information to the alternate number registered by the user.
Main Scenario
S 1. SIM card change.
S 2. The system detects the SIM change.
S 3. The system sends a notification to the alternate number registered by the user.
S 4. The notification includes the number of the newly changed SIM card.
Use case #6
Use case name: User Log-in
Goal: real-time location tracking location of a lost/misplaced phone
Primary Actors: Web client, Mobile client
Preconditions: The user must be registered to the system.
Post-conditions: The user will be logged in the system and has access to the functions of
the system.
Main Scenario
S 1. The system displays the log in page.
S 2. The user fills the log in form.
S 3. The system displays the tracking options.
Extensions
S 2a. The user filled incorrect data input format.
S 2a. 1 The system requests the user to fill the form again.
S 3a. The user is not registered in the system
S 3a. 1 The system requests the user to log in with an existing account.
Center of Information Technology and Scientific Computing 26
Multi-Featured Android Based Smartphone Tracking APP 2017
3.12 Non-Functional Requirements
3.12.1 Performance
i. Usage of the track feature: The different tracking options should be evident,
simple and easy to understand.
ii. Usage of the result in the map view: The results displayed in the map view should
be user friendly and easy to understand.
iii. Response time: the speed of the response time for the user to get the location of the
phone should be less than one minute.
iv. System Dependability: If the system loses the connection to the Internet or to the
GPS device or the system gets some strange input, the user should be informed.
v. Memory Usage: The most memory demanding feature is locating the phone in the
map. It will need to access images files and maps. The Main map of OSM is
2732x2120 PNG image (732 KB). It will also contain some icons such as current
location icons, phone location icons. So the systems’ should memory usage should
add up to 20 MB.
3.12.2 Reliability
i. System Reliability: The reliability that the system gives is the right result on
tracking. It should load in less than 10 seconds with 99.9% uptime. The map
image files shall be compressed to reduce the amount of bytes.
3.12.3 Availability
ii. System Availability: The application should be connected to the GPS device. In
order for the application to get the users location, the map and to navigate to the
location of the phone.
3.12.4 Security
i. Communication Security: The security of the communication between the system
and server. The messages should be encrypted for log-in communications, so others
cannot get email and password from those messages.
ii. Communication Messages: Defines every exchanged of information between client
and server.
iii. Smartphone User Login Account Security: If a smartphone user tries to log in
to the website with a non-existing account then the user should not be logged in.
The user should be notified about log-in failure.
iv. User Create Account Security: The security of creating account for users of
the system. If a user wants to create an account for a phone and the desired phones’
IMEI is registered to the system the user will be notified that there should not be
more than one account for one phone.
Center of Information Technology and Scientific Computing 27
Multi-Featured Android Based Smartphone Tracking APP 2017
3.12.5 Maintainability
i. Application extendibility: The application should be easy to extend. The code
should be written in a way that it favors implementation of new functions.
ii. Application testability: Test environments should be built for the application to
allow testing of the applications’ different functions.
3.12.6 Portability
i. Application portability: The mobile application should be portable with Android.
The adaptable platform for the application to run on.
ii. Users can access the system any time and any place where there is internet. Since it
is web based platform it can be accessed through devices like tablets, mobile phone
and laptops.
3.13 Inverse Requirements
The inverse requirement of the system is that it will not provide remote access of the phone.
This means the system will not control or know the activities done by the mobile phone
remotely. In addition to that it will not have the access to the information stored in the
phone.
The features of the phone will not function if the phone is turned off. The system will work
on the assumption that the phone will turned on. Moreover, the system will not block the
phone from being used by other users. The phone will still be usable for any other user.
3.14 Design Constraints
Data Access
Data access on a mobile device is constrained by unreliable network connections and the
hardware constraints of the device itself. When designing data access, we consider how
low bandwidth, high latency, and intermittent connectivity will affect the design. The
following guidelines followed when designing data access:
Consider using a local device database that provides synchronization services,
such as SQL Server Compact Edition. Only design a custom mechanism to
synchronize data if the standard data synchronization features cannot meet the
requirements.
Program for data integrity. Files that remain open during device suspend and power
failures may cause data integrity issues, especially when data is stored on a
removable storage device. Include exception handling and retry logic to ensure that
file operations succeed. To ensure data integrity in cases where the device loses
power or connectivity, the system should be stored in device memory.
Center of Information Technology and Scientific Computing 28
Multi-Featured Android Based Smartphone Tracking APP 2017
Exception Management
Designing an effective exception management strategy is important for the security and
reliability of the application. Good exception handling in mobile application prevents
sensitive exception details from being revealed to the user, improves application
robustness, and helps keep the application from remaining in an inconsistent state
when an error occurs. The following guidelines are considered when designing for
exception management:
Design the application to recover to a known good state after an exception occurs without
revealing sensitive information to the end user.
Catch exceptions only if it can be handled, and not using exceptions to control logic
flow.
Design an appropriate logging and notification strategy that stores sufficient
details about exceptions, bearing in mind the memory and storage limitations of
mobile devices.
Making sure that user friendly exception messages are displayed, and that they do
not reveal sensitive information for critical errors and exceptions.
User Interface
The device UI will be designed so that it is as simple as possible and tailored specifically
for pen-based input and limited data entry capabilities where appropriate. Considering the
fact that the mobile application will run in full screen mode and will only be able to display
a single window at a time; and, therefore, blocking operations will prevent the user from
interacting with the application. The following are the guidelines followed when designing
the UI of the application:
Take into account the various screen sizes and orientations of the target devices
when designing the application UI. Also, consider the limitations imposed by the
small screen size, limited API, and reduced range of UI controls compared
to desktop environments.
Design for usability by supporting touch screen or stylus-driven UI. Place menu
bars and other controls at the bottom of the screen (expanding upwards when
required) to prevent the user's hands from obscuring the display. Support touch
screen input by making buttons large enough, and lay out controls so that the UI is
usable using a finger or stylus for input.
Giving the user visual indication of blocking operations; for example, an
hourglass cursor.
Center of Information Technology and Scientific Computing 29
Multi-Featured Android Based Smartphone Tracking APP 2017
3.15 Logical Database Requirement
Storage
The system must store all the user account information as well as the sessional
records. All the data shall be stored in web server. For each user account, the login ID,
name, password, email address shall be stored in database. The email address gives the
user option to receive any further information or update about the software.
Accessibility and Security
Only the users who have registered to the system can access and track their phones.
None of the users has access to modify any of the data files. Moreover, an IMEI number
that already exists cannot be registered twice i.e. only one unique IMEI number should
exist in the system.
3.16 Other Requirements
This section contains some another additional requirements needed for the development of
the system.
Training-related Requirements
The development team has not taken any specific training for developing the system.
However, the team was well acquainted on how the GPS technology works by looking at
different tutorial videos and reading a number of articles regarding the GPS technology.
Packaging Requirements
The system has a website and it will contain file formats, which come with the
web discipline. To specify a few of these, “.HTML”, “.CSS”, “.JS” and so on.
Legal Requirements
Legal Requirement is not applicable for the development of the system.
3.17 Change Management Process
To incorporate ad hoc changes in the requirements and to see if proper changes to the system meet
the requirements, change management process will be done iteratively with all the
activities, the following strategy will be followed.
The developers will identify a new requirement or a modification in a requirement and
communicate it to the team lead via email or to the entire team in a meeting. The team will
assess the feasibility of the proposed change considering the time constraints and structural
constraints of the implemented modules and develop an implementation strategy and
Center of Information Technology and Scientific Computing 30
Multi-Featured Android Based Smartphone Tracking APP 2017
submit it to the mentor for approval. A change plan will be created for the implementation
of the change and following sequences of the changes is determined.
The team will then continue implementing the new requirements. Then testing will be done
on the new programmed system. During the testing phase, the product will be tested for
satisfying the requested changes. After the changes have been done, update will be made
to documentation also. The changes will then be verified for the last time, and a new system
release is made.
Any requests to change the project scope and requirements shall be discussed by all the
members of the team. A change will be made only when the majority of the team agree on
the change. In this case, the document shall be updated by the team members in order to
reflect the changes, and a date of change shall be noted in the file. If a change request is
made by a team member, he or she can raise it during the weekly team meeting or
contact other team members via email.
Center of Information Technology and Scientific Computing 31
Multi-Featured Android Based Smartphone Tracking APP 2017
Chapter 4: SYSTEM DESIGN
4.1 General Overview
The system design section presents the technical details of the multi-featured tracking
application system design. More information about the specific features and the
motivation of the system can be found in the Requirements Analysis and the problem
statement.
This document starts with an introduction to the architecture and the design goals to be
considered. Then it presents the proposed system architecture by describing the subsystem
decomposition and the subsystem decomposition and the subsystem services. The
hardware/software mapping is defined and the management of persistent data is explained.
Layer architectures are essentially objects and work in object oriented environment. 3-tier
architecture is a very well-known architecture in the world of software development, it
doesn't matter whether you are developing web based application or desktop based, it is
the best architecture to use.
3-Tier architecture consists of
1) UI or Presentation Layer
2) Business Access Layer or Business Logic Layer
3) Data Access Layer
Presentation Layer
Presentation layer consists of pages like .java or desktop based form where data is
presented to users or getting input from users.
Business Logic layer or Business Access Layer
Business logic layer contains all of the business logic. Its responsibility is to validate the
business rules of the component and communicating with the Data Access Layer. Business
Logic Layer is the class in which we write functions that get data from Presentation Layer
and send that data to database through Data Access Layer.
Data Access Layer
Data Access Layer is also the class that contains methods to enable business logic layer to
connect the data and perform desired actions. These desired actions can be selecting,
inserting, updating and deleting the data. DAL accepts the data from business access lay
and sends it to the database or data access layer gets the data from the database and sends
Center of Information Technology and Scientific Computing 32
Multi-Featured Android Based Smartphone Tracking APP 2017
it to the business layer. In short, its responsibility is to communicate with the backend
structure.
4.2 Development Methods & Contingencies
The system uses an object oriented approach in the development process. It is intended to
be implemented using today’s powerful object oriented programming language java for the
development of the mobile application and ASP.NET for the web application, in
addition sql server will be used as a back end.
The project first identifies all the objects and how they relate to each other. Once objects
are identified, they are generalized as a class of objects which contains different attributes
and methods or functions that can manipulate the predefined attributes.
An agile development strategy was adopted in the development of this project. Other
strategy such as the Waterfall model will not be suitable for a couple of reasons. Firstly,
obtaining a complete analysis of the way the tracker works at the beginning of the project
was impractical. Only at certain stage of development will additional information be
demanded and obtained, because no formal document detailing the internal workings
of the tracker was obtainable from the owner company. Secondly, requirements change
so often, mainly due to the constraints of mobile phone development, such as speed,
size and usability. If Waterfall was adopted, this will require a complete redesign of the
system every-time such changes occur.
Center of Information Technology and Scientific Computing 33
Multi-Featured Android Based Smartphone Tracking APP 2017
4.3 System Architecture
4.3.1 Subsystem decomposition
Figure 8 Deployment Diagram
4.3.2 Hardware/software mapping
Figure 9Hardware/Software Mapping
Center of Information Technology and Scientific Computing 34
Multi-Featured Android Based Smartphone Tracking APP 2017
To implement a web application client-server architecture is required. The most popular
client-server architectures are the two-tier and the three-tier architecture. The choice of
architecture affects the development time and the future flexibility and maintenance of the
application. While selecting the architecture most suitable for an application, many factors
including the complexity of the application, the number of users and their
geographical dispersion are considered. This system is designed based on a traditional
three-tier architecture used by many web applications. Three-tier architecture includes a
presentation layer, business rules/ logic layer, and the data layer. The client layer consists
of a personal computer running a Web browser. This layer provides the user interface and
operates by generating requests to the application server via HTTP and displays the
resulting HTML file in a Web browser. The middle layer is itself a layered system
consisting of a Web server layered on an application server. The Web server receives
requests from the client which are processed by the application servers, then passed to the
application server. The application server makes requests to the data layer via TCP/IP and
ODBC. The data layer is a data repository consisting of a relational SQL database that
handles user's profiles and credentials.
4.4 Object Model
4.4.1 Class Diagram
Main Map Activity
The Main Map Activity class is the main entry point for the application. It displays
a map and overlays the location markers on the map if they are available. It also
houses the main menu of the application. From the main menu some of the other
activities can be launched. It also houses a sliding layout by the right, with which
visible location markers are toggled on and off on the map.
The Drawer Handler class is responsible for routing event from the components
inside the slider view to the Main Map Activity class to process. It also handles the
display of an asset image in the slider if available.
Center of Information Technology and Scientific Computing 35
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 10 Main Map Activity Class Diagram
Message Processing Service
Message Processing Service class is a service that processes the SMS messages it receives
from the SMS Message Receiver class and insert the relevant fields to the database. It also
handles firing of notifications to signal a new SMS for the application has been received
or show that the concerned asset is out of its geofence. Sms Message Sender class is started
whenever the application needs to be send an SMS to the tracker.
Service classes are responsible for the non-visual part of the application. They include
the MessageProcessingService, SmsMessageSender and SmsMessageReceiver class.
The SmsMessageReceiver class is more accurately describe as a BroadcastReceiver. It is
a service that is started by the system when a new SMS arrives on the phone. It determines
if the message is meant for the application. If it is, it starts the MessageProcessingService
and passes the SMS to it for further processing. The SMS is passed on to the message
Processing Service.
Center of Information Technology and Scientific Computing 36
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 11Message Processing Service Class Diagram
Register User
The Register User class displays a form which is filled by the user to perform user
registration. It then handles the saving of the data entered into the database. It is also used
when if the user needs to edit the details of an already existing user.
Center of Information Technology and Scientific Computing 37
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 12 Register User Class Diagram
Center of Information Technology and Scientific Computing 38
Multi-Featured Android Based Smartphone Tracking APP 2017
4.4.2 Sequence Diagram
Figure 13 Map View Sequence Diagram
Figure 14 Log In Sequence diagram
Center of Information Technology and Scientific Computing 39
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 15 SMS Track Request Sequence Diagram
Figure 16 Register User Sequence Diagram
Center of Information Technology and Scientific Computing 40
Multi-Featured Android Based Smartphone Tracking APP 2017
Chapter 5: CONCLUSION AND RECOMMENDATION
6.1 Conclusion
The challenges found in this project were more than anticipated when drawing-up the project plan.
The amount of time needed to write out the thesis document, was particularly
underestimated. In retrospect, writing the thesis document should have been included as a
unit in the work cycle as part of the iterative Agile approach taken in the project
development. A lot of time could have been saved there. Also the simulator used in testing
and providing data to the application could have been used to expand the use of the
application for tracking another Android mobile phone.
Like any software product or design, there is still room for improvement. Time has not
permitted some of the requirements such as the use of Open-Maps, to be implemented. The
use of Open-Maps will remove the license constraint attached to the use of Google maps
[16] for enterprise application. Due to shortage of resources, testing has not been
rigorous enough. While the application was thoroughly tested with the emulator
and a personal Android device, the application still needs to be tested on more devices
from the plethora of Android devices in the market, which vary on manufacturer, size,
speed and version of the operating system. These are definitely source of future
improvement if customer's satisfaction is to be guaranteed.
On the tracker side, the cost of maintenance may still be an issue. Considering a user that
chooses to receive constant updates at the long intervals.
Overall, the project has a substantial business value because it reduces hardware and
maintenance cost and increases customer's satisfaction.
6.2 Recommendation
For future research or project, the development team suggests that navigation path should
be included and a system that could run on other operation systems like IOS, Windows
Phone and Black Berry should be developed.
At last, the project team would like to note that more research directions and
recommendations will be raised at the end of phase two of the project (i.e. the
implementation phase) by the coming semester. And those directions and
recommendations will be further included in the final paper.
Center of Information Technology and Scientific Computing 41
Multi-Featured Android Based Smartphone Tracking APP 2017
Center of Information Technology and Scientific Computing 42
Multi-Featured Android Based Smartphone Tracking APP 2017
Reference
[1]www.webilop.com/tag/openstreetmap Open Database Connectivity ODBC
[2] www.gpsfprtoday.com/real-time-gps-tracking/ Real Time GPS Tracking
APPENDIX A: Glossory
Functional requirements: define a function of a system and its components. A
function is described as a set of inputs, the behavior, and outputs.
GPS Navigation: is an installed software on mobile phone which could provide GPS
connection and data, show locations on map and find paths from current position to
defined destination.
Center of Information Technology and Scientific Computing 43
Multi-Featured Android Based Smartphone Tracking APP 2017
Non-functional requirements: are requirements that specify criteria that can be
used to judge the operation of the system, rather than specific behaviors.
Real-time track: is getting continuous data streaming from different of data points.
Use Case Diagram: A use case is a methodology used in system analysis to identify,
clarify, and organize system requirements. In this context, the term "system" refers to
something being developed or operated, such as a mail-order product sales and service
Web site.
APPENDIX B: Cost Breakdown
This section gives an overview of the cost breakdown structure. This cost breakdown
structure includes the price from the time of requirement analysis to deployment. Most of
the prices of the software are acquired from their respective websites.
Center of Information Technology and Scientific Computing 44
Multi-Featured Android Based Smartphone Tracking APP 2017
Figure 17 Cost Break down
Center of Information Technology and Scientific Computing 45