CIS 895- Real Time GPS Tracking System Vision Document 1.0

Vision Document

Real Time GPS Tracking System Version 1.0

Submitted in partial fulfillment of the requirements of the degree of Master Engineering

Bakor Kamal

CIS 895 – MSE Project

Kansas State University

Supervisory Committee: Major Professor: Dr. Daniel Andresen Committee Member: Dr. Gurdip Singh Committee Member: Dr. Mitchell Neilsen

CIS 895- Real Time GPS Tracking System Vision Document 1.0

Table of Contents

1. Introduction ...... 3 1.1 Purpose and Motivation ...... 3 2. Project Overview ...... 3 3. References ...... 4 4. Project Features ...... 4 5. Constraints ...... 4 6. Requirements Specification ...... 5 6.1 Software Requirements ...... 5 6.2 Hardware Requirements ...... 6 6.3 Functional Requirements ...... 6 6.3.1 Critical Use Case Requirements ...... 7 6.3.1.1 Track Connected Devices ...... 7 6.3.1.2 Signup ...... 8 6.3.1.3 Login ...... 8 6.3.1.4 Managing Accounts ...... 8 6.3.1.5 View Statistics ...... 8 6.3.1.6 Register Device ...... 8 6.3.1.7 Contact the System Administrator ...... 8

CIS 895- Real Time GPS Tracking System Vision Document 1.0

1. Introduction

1.1 Purpose and Motivation

The main reason of this Vision Document is to investigate all the critical requirements, functionality constraints, time constraints, recourses for developing this project. There are a lot of changes expected in this document before the completion of the project. All these changes will be recorded and reported to the supervisory committee for their approval. The main idea behind writing this document is to create a layout of the project by recording the different constraints and requirements necessary for the project.

The motivation of developing this project has been my desire of learning more about Mobile programming technology. Moreover, I want to apply what I learned about development lifecycle and to apply the latest software engineering techniques.

2. Project Overview

Figure 1 System Overview

The project ―Real Time GPS Tracking System‖ is an application developed to provide a website for tracking mobile devices which came with GPS functionality with it.

The website will provide some of the basic functionalities like:

- Locating the place of registered Devices. CIS 895- Real Time GPS Tracking System Vision Document 1.0

- Registering new users. - Providing the needed applications for the device to allow tracking. - Managing the user’s accounts.

New users can sign-up for a new account and registered users can login to track their connected devices and mange their accounts. More options such as displaying some statistics about the devices places, the path that it took, and the speed of its moves.

3. References

The references used for writing this document are as follows:

1. IEEE Standard for Software Requirements Specification. 2. Web Document on ―CIS 895: MSE Project and Portfolio‖. 3. Examples of pervious student’s works from: http://mse.cis.ksu.edu/oncampus/website.htm . 4. Java Platform, Micro Edition (Java ME) http://java.sun.com/javame/index.jsp

4. Project Features

The project will provide a user-friendly interface that is compatible with the usability standards, Web 2.0, and can be viewed and navigated easily from PDAs. Designing the website will be done by Content Management System Drupal which is like many modern CMSs, allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors. PHP code can be embedded into the software so as to provide the appropriate functionality for the system.

The following are the features that the website provides to its end users: - Device Registration. - Devices Tracking. - Managing Accounts. - Contact Us. - Statistics. - Signup. - Login.

5. Constraints

The main constraints for the application ―Real Time GPS Tracking System ‖ is that a client needed to be installed in the mobile devices to allow it to send its positions. This client needs to be platform-independent CIS 895- Real Time GPS Tracking System Vision Document 1.0

and need to be tested in deferent platforms. To make it platform-independent I will develop it using Java ME (Java Platform, Micro Edition). But, for testing only one mobile device that have the needed functionality – GPS receiver in particular- is available for this project.

6. Requirements Specification

In this section I will try to captures all the requirements that are crucial for the development of the project so far.

6.1 Software Requirements

The proposed software for this system was - Drupal - Java ME (Java Platform, Micro Edition). - PHP - Ajax - MySQL

Drupal, like many modern CMSs, allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors. It is an open source content management platform. Drupal is a web-based content management system. Text and pointers to other kinds of content are stored in a database, dynamically retrieved and composed, and presented to a user in response to a request sent via a web-browser. Drupal can support a variety of websites ranging from personal blogs, corporate brochures and large community-driven websites. Some of the reasons why I chose Drupal for our project are: - Drupal helps to provide a slim and powerful core that can be readily extended through custom modules. These modules can be easily coded and formatted according to our requirement. - High quality, elegant, documented code is a priority over roughed-in functionality. - Drupal supports established and upcoming standards such as XHTML and CSS - Open source Drupal is coded in the open source scripting language PHP and supports as primary data sources the open source database formats MySQL and Postgresql. - Ease of use: Drupal aims for a high standard of usability for developers, administrators, and users.

I selected Java Platform, Micro Edition (Java ME) for the client application (the part that should be installed in the GPS-enabled Mobile) for the following reasons: - It provides a robust environment for applications running on mobile and other embedded devices—mobile phones, personal digital assistants (PDAs). - Java ME includes flexible user interfaces, robust security, built-in network protocols, and support for networked and offline applications that can be downloaded dynamically.

PHP is a general-purpose scripting language that is especially suited for web development and can be embedded into HTML. It runs on a web server, taking PHP code as its input and creating web pages as output. CIS 895- Real Time GPS Tracking System Vision Document 1.0

It can be deployed on most web servers and most of the and platform free of charge. We use Apache modules for Drupal, thus making this the best option that would be available for this project to use. Some of the reasons why I used PHP for coding are: - It is simple to learn and understand , especially for those who have a background of , C++, HTML. - PHP also runs on just about every platform including most , Macs and Windows versions. - PHP offers many levels of security to prevent malicious attacks. - PHP uses modular system of extension to interface with a variety of libraries such as graphics, XML, encryption. - PHP has many server interfaces, database interfaces and other modules available. - PHP can load into Apache, IIS, , THTTPD and AOLserver. It can also be run as a - CGI module

AJAX is a group of inter-related web development techniques used for creating interactive web applications. Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and web browsers as it is based on open standards such as JavaScript and the DOM. There are free and open source implementations of suitable frameworks and libraries. The main reason to opt for Ajax was to enhance the application. The pages seem to be load much faster. Also there is a separation of data and content. This could be due to a lower payload. Hence the bandwidth utilization seems far better than usual.

.

6.2 Hardware Requirements

- The Client is any personal digital assistant (PDA) that contains the following: o JAVA virtual machine (JAVA VM). o GPS receiver. o Connection to the internet. o Enough hard storage to store the position in the off-line mode.

- Server with the following: o MySQL Database o PHP server application.

- Client side with the following: o Web browser that supports AJAX.

6.3 Functional Requirements

The following are the functional requirements of the system. These requirements capture all the possible scenarios of the system.

CIS 895- Real Time GPS Tracking System Vision Document 1.0

6.3.1 Critical Use Case Requirements

The users can do the following actions as illustrated in the Case Diagram Figure 2:

- Track Connected Devices. - Managing Accounts. - View Statistics. - Device Registration. - Signup. - Login. - Contact the System Administrator.

Track Connected Devices

Managing Account

View Statistics

Register Device

Sign Up

Login

Contact the System Administrat or Figure 2 Case Diagram

Each of the above items is explained as follows:

6.3.1.1 Track Connected Devices.

Purpose: The user can see a list of connected devices that are associated with his user ID. Input: User credential. Output: information about the connected devices and links that takes the user to more details and statistics about the devise position.

CIS 895- Real Time GPS Tracking System Vision Document 1.0

6.3.1.2 Signup

Purpose: The signup option is included only as an additional functionality to the application. It is not of any other significance. First time users can create an account for themselves with the desired user name and password. The system would then check if the username is unique, if yes then the signup will be successful and the user can use the same information for every session. Input: The user will have to provide his information for the signup, and some of the fields are mandatory, so as to maintain a complete record o f the customers. Output: On successful signup the user will be given the message ―Account Successfully Created―and will be able to login using this information.

6.3.1.3 Login

Purpose: The login on the website is not of any particular use, but is included only as an additional function of the working project. All the users without an account can also do the same kind of processing, as those with the account. Input: For Logging into the system, the user needs to have an account name and password that he would be creating during the first visit to the site. Output: If the username and password match the login would be successful and the user will see a list of connected devices under his account.

6.3.1.4 Managing Accounts

Purpose: To give the user the ability to update his information including devices description, some of the tracking options, and his username and password. Output: When the user successfully does some changes he will see ―Update Successful‖ statement.

6.3.1.5 View Statistics

Purpose: To let the user to see some statistics about the user position such as the average speed of the device movements, the path of the device moves and how many miles that device moved. Input: Device ID. Output: Mentioned statistics and information.

6.3.1.6 Register Device

Purpose: to allow the user to add a new device under his account. Input: Device type and device description. Output: when the user successfully adds the device he will see ―New Device Added Successfully‖ statement.

6.3.1.7 Contact the System Administrator

Purpose: To provide a form for contacting the system admin to help the user in installing the client application CIS 895- Real Time GPS Tracking System Vision Document 1.0

in the device and to answer any questions regarding the system and to provide feedback. Input: User will select the problem type and problem details or just provide feedback.