Uspsocialmediaseriespharma4 1330710013868 Phpapp01 120302114453 Phpapp01
mgt-130109215725-phpapp01
-
Upload
chejetimanojreddy -
Category
Documents
-
view
214 -
download
0
description
Transcript of mgt-130109215725-phpapp01
Mobile GPS Tracking
R V College of Engineering 1
INTRODUCTION
1.1 Overview of Background
The Global Positioning System (GPS) is a location system based on a constellation of 24 to 32
satellites orbiting round the earth at altitudes of 11,000 miles. Each satellite is powered by
the Sun via its solar panel. In its earlier years, GPS was developed in the US for military use,
for the Department of Defense (DOD). Through the years of development and
improvement, we have advanced the use of GPS to tracking our precise location worldwide
and as a navigation aiding tool for civilian usage. Currently, it is used as navigation tool
device to assist us in finding the shortest route to our destination. We can use it either in
the forest to help in navigation task or in a vehicle to guide us to our destination. Runner
uses GPS watches worn on wrist to track the distance and route they have travelled. As
such, with the advancement of GPS into our life, we will never lose our way again which
saves us time, energy and petrol. In conclusion, overall GPS improves our efficiency in our
daily life.
1.2 GPS Technology
The most important factor in GPS tracking, accuracy is essential to precisely track the exact
location in real-time. There is a need to know the GPS infrastructure layouts, limitations,
and communication protocol. Research will need to be conduct in order to fully understand
each individual component. We need to understand the type of methods used for the GPS
technology and the problem which would affect the performance of the GPS tracker
receiving of satellite signal.
1.3 Motivations and Goals
Security is very important in some activities. Free ride, mountain walking or climbing,
paragliding are those where accidents can be serious or fatal. Having the possibility to
follow physically the position of a person on regular basis can be comfortable for family,
relatives or others.
These meant to propose a simple and portable solution for people to get traced during a
trip. The application is web based and should be available for every people who have the
possibility to
Chapter 1
Mobile GPS Tracking
R V College of Engineering 2
1. Run a small Java application on its mobile phone.
2. Has link between a GPS device and its mobile phone.
3. Has Internet access.
This concept is not new and a lot of applications involving GPS are available on the market:
now a day’s almost every new car is equipped with a GPS on board and helps people in city
or country side to find their road.
The concept of this project is a bit different. We are not focusing on "where are we?" but
more on "where he/she is?”. For this the idea is to use a cell phone which accepts to receive
GPS coordinates and send them to a server able to record them under the account of a
register user (tracked person). Then from a web client, the user can be followed on a map in
real time mode.
Figure 1.3 GPS Tracker General Schema
Mobile GPS Tracking
R V College of Engineering 3
REQUIREMENT ANALYSIS
2.1 System Requirements
The system needs different components are given below:
An Application Server J2EE EJB 2.1 compatible.
A SQL database
Java compatible mobile phone with Bluetooth
Internet access
2.1.1 Functional Requirements
The application will follow the use cases described in Fig 1.4. All use cases are now
described formally. Within the 3 actors, the manager has a special role and is automatically
created with the user Id 1. It can do exactly what a standard user can do but has special
rights that the others don't have.
Creation of users
Any user who wants to be followed needs to be register in the system first. The applications
will offer a web interface to enter the following data.
1. First Name 2. Last Name 3. Street 4. Zip code 5. City 6. Phone 7. Password
Then the user receives a user Id (integer) and is recorded in the database. This part is done
on the web client side. The password must be more than 4 characters long. Any fields must
be empty otherwise the user is not register.
Chapter 2
Mobile GPS Tracking
R V College of Engineering 4
Modification of the user profile
Once logged, the user can modify its profile using the same data as above and same
constraints.
User login
This web page is the first one in the system. The user must be identify in order to access any
options. The web page contains two fields:
1. User ID
2. Password
Creation of a track for a given user
The user, once registered, can log in the system and create a track. There is two possibilities
to do it.
1. From the web client application.
2. From the mobile application (mobile phone).
If a new track is started from the mobile application, the user must provide:
1. User Id
2. Password
Then the server will create a new track and be ready to store the future positions
in under this track's id.
For a track started from the web client, the user can give:
1. North coordinates
2. East coordinates
This will represent the first point of the track. The track has a unique identifier within the
system. The time and date when the track is created is taken from the server's clock.
Sending GPS coordinates to a server using mobile data communication
The users get the coordinates (position) from its GPS device and send them to the server
with mobile phone. The position must contain:
1. User Id
2. Time
3. North coordinates
Mobile GPS Tracking
R V College of Engineering 5
4. East coordinates
5. Altitude
Then the server records the position under the user's current track id. If no track is created
or the user Id does not exists, the system gives an error message and do not record the
position.
Follow a user in real time mode on the Internet
Any person having the right to watch a user's track must log in the system under the user's
ID and password. Then he/she can choose the track to be drawn. A list of the user's tracks is
available. This is done through the web page. The drawings of the track are done in two
different manners: Swiss Topo 2D maps and Google Earth. If the track chosen is the current
one and drawn in 2D mode, it is refreshed periodically using a "refresh time" parameter.
Delete a track
The user can delete tracks from a list of tracks. If the track deleted is the current one then
the previous one become again the current track and all the future positions sent to the
server will be save under this track id.
Manager - Delete users
The web page allow the manager to delete users from a list of register one. This list shows
all the available users.
Manager - Follow a tracked user in real time mode on the Internet
The manager can choose the track to be drawn. A list of all users tracks is available. This is
done through the web page. The other options are the same
as standard users.
2.1.2 Non – Functional Requirements
Constraints on the services or functions offered by the system such as timing constraints,
constraints on the development process, standards, etc.
Following Non-functional requirements will be there in our project:
Mobile GPS Tracking
R V College of Engineering 6
1. Secure access of confidential data (user’s details).
2. 24 X 7 availability.
3. Security
4. Reliability
5. Maintainability
6. Portability
7. Extensibility
8. Reusability
9. Application Compatibility
2.3 Software Requirements
The OS where all the following were installed is Windows XP sp2:
J2EE Application Server: Sun Java System Application Server Platform Edition 8.1
2005Q1
Enterprise Java Beans 2.1
Java Midlet : SUN J2ME Wireless Tool Kit 2.2
PointBase free Version: 5.2 ECF build 294
Java VM : J2SE Version 1.5.0 (build 1.5.0 06 b05)
2.4 Hardware Requirements
Only two devices where needed and are
1. Mobile Nokia Phone
2. GPS EMTAC Bluetooth - GPS Trine
Mobile GPS Tracking
R V College of Engineering 7
DESIGN
3.1 Architecture
The technologies used for the project are client-server and web based. The main platform of
development is J2EE. The full description of the language, server version is described above.
We will not explain in detail how J2EE works and assume that the reader knows this
technology and how the modules are defined. The general structure of the application is
shown in the Fig 3.1.
The application is based on 3-tiers architecture:
1. Client side: mobile application, web browser
2. Server side: business logic, web application (interface)
3. Database
Figure 3.1 General Architecture of GPS Tracker application
3.2 Components
As shown in the fig 3.1, there are 3 main components. The client side which contains an
Java Midlet application (loaded in the mobile phone) and the browsers. The
application server which contains the Web container (JSPs and servlets) and the EJB
container where the business logic (Session beans and Entity beans) stands. The third
tier is the database managing the tables where the entity beans store their values.
Chapter 3
Mobile GPS Tracking
R V College of Engineering 8
3.3 Software Modules
Now we enter into the different modules which are contained in the main components. We
will treat them by decreasing complexity. Finally we will describe the communication layer
between the different modules.
1. EJB container: description of the Session and Entity Bean.
2. WEB container: description of the JSPs and Servlets.
3. Database: description of the tables and relations.
4. Midlet: description of the Java mobile application.
3.3.1 EJB container: description of Entity Bean and the Session
The fig 3.2 shows the definition of the entity beans class and the relation between them.
Primary Key management: the primary key management is implemented with an entity
bean. The idea is to avoid for the user to give manually a unique key for each new position,
track, address, user, etc. This is simply impossible to do it in a large scale. Also managing the
primary key allow the system to be "database vendor independent".
3.3.2 WEB Container: description of the JSPs and Servlets
The figure 7 shows the different JSPs and Servlets that the Web container manages. The
association represents the navigation between the JSPs. This figure contains the web access
JSPs. The JSPs are composed with HTML code for the front end and quite a lot of Java code
which call methods in the session beans. We still need to describe the servlets which allow
the mobile phone to access the application server.
Mobile GPS Tracking
R V College of Engineering 9
Figure 3.2 Entity Bean: Class diagram 3.3.3 Database: description of the tables and relations
Each Entity Bean represents the storage medium and must correspond to a table in the
database. We going to describe in pseudo SQL command the fields of the six tables
contained in the database SAMPLE.
TABLE TRACKER_PERSON (
ID INTEGER NOT NULL CONSTRAINT PERSON_PK PRIMARY KEY,
FIRSTNAME VARCHAR (24) NOT NULL,
LASTNAME VARCHAR (24) NOT NULL,
ADDRESS_ID INTEGER NOT NULL,
CRT_TRACK INTEGER NOT NULL,
USER_ID INTEGER);
Mobile GPS Tracking
R V College of Engineering 10
3.3.4 Midlet: description of the Java mobile application
The mobile application is developed in Java using J2ME 2.2. More precisely we have the
description in fig 3.3 of the Midlets Architecture. Again, only the methods which are
needed to request or send data are shown. The "not described" methods are usual ones in a
Midlet (Menu definition, button, action, etc
Figure 3.3 Midlets - complete architecture of the mobile application
3.4 Communication between modules
The communication layer is describing in the fig 3.4 for the project, H t t p
request between mobile phone and server (using GPRS) i s implemented. The
idea is to develop the SMS communication in the future.
Figure 3.4 Communication between the different modules of the application
Mobile GPS Tracking
R V College of Engineering 11
3.5 Use cases
Figure 3.5 Use Cases
The Fig 3.5 shows the use cases for the application. There are 3 actors, 10 use cases which
represent for different action what actors can do with the system. The use case Start a track
is in fact 2 use cases. A track can be started from the web client or from the mobile
application (cell phone application). The use case Send a position is only available from the
mobile application.
Mobile GPS Tracking
R V College of Engineering 12
INTEGRATION AND TESTING
Software testing is an investigation conducted to provide stakeholders with information
about the quality of the product or service under test. The GPS tracking system will be
subjected to a series of field trials and functional testing where various test cases will be
performed to validate the different features of the system. The methodology used in the
testing process is described in Fig 4.1
Configure test
case input
parameters
Perform testing
Results and
outcome
Evaluation and
compare with
expected results/
outcome
Any errors or
deviations from
expected results?
Debug and rectify
errors
Further
improvement and
enhancement
End
Start
Yes
No
Figure 4.1 functional testing methodologies
Chapter 4
Mobile GPS Tracking
R V College of Engineering 13
A few test cases will be defined and tested where the collated results will be verified and
compared with the expected outcome. If there are any errors or deviations from the
expected results, the program will be analyzed to rectify any software bugs. This testing
cycle will be repeated until all the problems have been resolved. Thereafter, evaluation will
be performed to further enhance and improve the system to deliver the best user
experience.
4.1 Unit Testing
Unit testing is a method by which individual units of source code, sets of one or more
computer program modules together with associated control data, usage procedures, and
operating procedures, are tested to determine if they are fit for use.
4.1.1 Test Strategies
Features to be tested
1. module which create user
2. module which delete’s the tracks
3. module which send positions
4. module which draws tracks
5. module which deletes user
6. module which create track
4.1.2 Test case
Sl No. of test case : 1
Name of test : User
Item / Feature being tested Whether system is able to create users account
Sample Input : Allowing user to Register on providing specified constraints
Expected output : User account should created
Actual output : User created successfully
Remarks : Module is working properly
Mobile GPS Tracking
R V College of Engineering 14
Sl No. of test case : 2
Name of test : Delete tracks
Item / Feature being tested
:
Whether the module allow to Delete tracks
Sample Input : Trying to delete track
Expected output : It should delete the specified
Actual output : Track deleted
Remarks : Module is working properly
Sl No. of test case : 3
Name of test : Sending positions
Item / Feature being tested
:
Whether system is able send GPS coordinates to a server
using mobile data communication
Sample Input : Module gets position from GPS and send it to server
Expected output : Module should send user_id, position to server
Actual output : Position sent properly
Remarks : Module is working properly
Sl No. of test case : 4
Name of test : Drawing tracks
Item / Feature being tested
: Whether system is able draw tracks stored in database
Sample Input : Module should get positions
Mobile GPS Tracking
R V College of Engineering 15
Expected output : Module should draw track on google earth application
Actual output : Draw track properly
Remarks : Module is working properly
Sl No. of test case : 5
Name of test : Delete user
Item / Feature being tested: Whether system is able delete user
Sample Input : Module gets user id from manager
Expected output : Module should delete only specified user
Actual output : Specified module deleted properly
Remarks : Module is working properly
Sl No. of test case : 6
Name of test : Track creation
Item / Feature being tested: Whether system is able create track
Sample Input : Module get position from mobile GPS
Expected output : Module should create track only for registered user
Actual output : Track created properly
Remarks : Module is working properly
Mobile GPS Tracking
R V College of Engineering 16
4.2 Integration Testing
Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the
phase in software testing in which individual software modules are combined and tested as
a group.
4.2.1 Test Strategies
Features to be tested
1. Login and save track
4.2.2 Test case:
Sl No. of test case : 1
Name of test : Login and save track
Item / Feature being tested : Whether system login proper user and track
Sample Input : User name and password for login and position for track
Expected output : User should login, track the positions and save track
Actual output : Track of user stored in database
Remarks : Integration of module 2 and 1 is working properly
Mobile GPS Tracking
R V College of Engineering 17
4.3 Known Problems
Here is the list of most severe problems:
We had one serious database corruption due to external access and manual unlock
of tables. The database had to be recreated (Point base is only an evaluation
version!)
At least two times, the SUN application Server crashed and had to be re-installed.
Again the version used is only a free version.
The Http session are not well managed. The login is a real "secure Login". When a
user is in the system, an Http session is created and its context is available during the
session. But there is a bug when no activities where done for a long period: the
server raises an exception (which is good in term of security) when the client try to
refresh or access the system. I was not able to catch this exception and redirect the
request to the login page indicating to the user that the session is over and he must
authenticate himself again.
We have not succeeded in properly saving the applet in the package
and use it from here. We still need to save it in the
where all the JSPs stand and compile it before.
No real and efficient security is setup and the Midlets can send only the user ID to
start a track for instance (unacceptable in a real usage).
Mobile GPS Tracking
R V College of Engineering 18
OPERATION AND MAINTENANCE
5.1 Tutorial
The application is very simple to use and very intuitive. The user interfaces are:
1. Web client
2. Midlet
1. Web client
The web client can allow two types of users to be log in the system:
1. Manager
2. User.
The manager is a special user and is identified in the system by the user Id number”1”. It is
in fact the first user to be register. The figure shows the web site map for a normal user. We
will see what the additional rights that the manager has later are.
To access the application from the web the URL
Figure 5.1 User navigation site map
Chapter 5
Mobile GPS Tracking
R V College of Engineering 19
: : must be entered in the browser. This is valid of course if
the server is local. The main page asks for a Login and if the user is not yet register he/she
must register first. The user receives a user Id and will need it every time he/she enter in
the system.
Once logged in, the navigation page allows the user to change its profile, add a new track,
delete a track, and view its different tracks, logout the system. The different buttons are:
Profile Setup: allow the user to change its profile and password.
Add Track: allow the user to add a track. The Field coordinates and altitude is
optional. once the track created, all the positions send to the server will be saved
under this track Id.
Delete: Delete a selected track from a list. If the track is the current one, the
previous track becomes the current one.
View Track: The user can view the list of track and select one from a list. Once the
track selected, click Get List of points and then only the track can drawn on maps.
Two options are available:
1. Draw on a Swiss topo Map
2. Draw the track using Google Earth application (which must be installed!)
The manager has the same Profile setup and Logout as the standard user.
The differences are:
Users: allow the manager to delete a user.
Tracks: show all active tracks in the system (all users) and can draw them with the
View track of the standard user.
GPS points: The manager can modify a specific position by selecting a track then the
particular point of this track.
Mobile GPS Tracking
R V College of Engineering 20
2. Midlet
At that level of development, the midlets are available only with the Java Simulator.
KtoolBar of the WTK must be launched. You must open the project Mobile Tracker and run
it.The Mobile Application offers two menus which allow the user to:
1. Create a new track
2. Send a position to the server
The option create atrack will send a request to server after the user provides its Id as shown
in the Figure When a track has started, you begin to send your positions (GPS points). The
option Start Position Tracking propose the same interface than the Start new Track but
when the user Id as been sent, the tracking starts and every 5 seconds a new point is sent
to server.
5.2 Future enhancement
Here is a list of possible extension for such project.
1. Server implementation
A Map Entity bean in order to choose the appropriate map according to the
range of coordinate of the track.
A dynamic selection of coordinate system (Swiss Grid, WGS 84, etc.)
Definition of the Roles within the application.
Re-definition of the Position Entity bean vs simple records in the database.
Client interfaces.
Web pages to be re-looked. 2. Graphics
Dynamically change the view on a map (zoom in-out).
Interface with Google Earth real time!
3. Mobile communication
Finalize the GPS-Mobile Phone communication.
SMS communication.
Mobile graphic interface to follow another user.