You are on page 1of 78

INTRODUCTION

1
1.INTRODUCTION

The Public Utility Transport System has been developed to


ameliorate the bus services, by providing the details regarding the current
location of the bus. The Public Utility Transport System provides the public
with the details regarding the source, destination and the current location
of the bus. Thus it helps the public to know the current location of the bus
and avoids the undue wastage of time by waiting for long hours in the bus
stops.
Firstly the project provides an effective and a systematic way for the
state authority to manage all the buses present in the city, the web based
process of keeping track of the busses helps reduces the paper work and
helps the process to be much faster.
Secondly, the project helps the public to get the current location of
the bus from his bus stop. The public is aided with a map view and a chart
view of the current location of the buses in the city at each bus
stop.Normaly the bus services are very unpredictable, so public has to
wait long hours in the bus stop with out the knowledge when the
particular bus would arrive .By using the Public Utility Transport System,
the public gets the exact estimation of the time and it leads to avoidance
of wastage of the time.
This project helps the bus service system to become more efficient,
effective and user friendly for the users and as well as the management.
The Public Utility Transport System uses the cutting edge technology of
Global Positioning System (GPS).

1.1) Scope

1) Developed a portal capable of entering the information regarding


the bus and viewing the bus information such as bus number,
source, destination and current location.

2
2) The public is provide with the option of viewing the current location
of bus through the google map
3) The tracking of the bus is shown using the Google earth.
4) This provides effective scalability.

1. LITRATURE SURVEY

2.1. JAVA

2.1.1 Java Overview


Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed
Frank and Mike Sheridan at Sun Microsystems, Inc in 1991. It took 18
months to develop the first working version. This language was initially
called 'Oak' but was renamed 'Java'.

Java is loosely based on C++ syntax, and is meant to be object oriented.


It however differs from C++ in many ways. The structure of Java is widely
between an interpreted and a compiled language. The Java compiler
compiles Java programs into 'byte code' which are secure and portable
across different platforms. 2.1.2 Java and Net the Internet helped catapult
Java to the forefront of programming, and Java in turn, has had a profound
effect on the Internet.

The reason for this is Java expands the universe of objects that can move
freely in the cyberspace. In a network, there are two broad categories of
objects that are transmitted between the server and the personal
computer namely passive information and dynamic, active programs. For
example, when you read your e-mail, you are viewing passive data. Even

3
when you download a program, the program's code is still only passive
data until you execute it.

There is a second type of object that can be transmitted to the computer


i.e., a dynamic, self executing program. Such a program would be an
active agent on the client computer, yet the server would initiate it. For
example the server might provide a program to properly display the data.
As desirable as dynamic, networked programs are, they also present
serious problems in the areas of security and portability. Prior to Java,
cyberspace was effectively closed to half of the entities that now live
there. Java addresses those concerns and doing so, has opened the door
to an exciting new form of program: the 'applet'.

2.1.2 Security
Every time a normal program is downloaded, there is a risk of virus
infection. Prior to Java, users did not download executable programs
frequently and those who did scan them for viruses prior to execution.
Even then, most users were still worried about the possibility of infecting
their systems with virus. In addition to viruses, there is another type of
malicious program that must be guarded against.

This type of program can gather private information such as credit card
numbers, bank account balances, and passwords by searching the
contents of your computer's local file system. Java answers both these
concerns by providing a 'firewall' between a networked application and
your computer. When you use a Java-compatible Web browser, it is
possible to safely download Java applets without fear of viral infection or
malicious intent. Java achieves this by confining a Java program to the
Java execution environment and allowing it access to the other parts of
the computer. The ability to down load applets with confidence that no
harm will be done and no security breached is considered to be the single
most important aspect of Java.

4
2.1.3 Java's magic-The byte code
The key that allows Java to solve both the security and portability
problems is that the output of a Java compiler is non-executable. Rather it
is a byte code.

BYTECODE is a highly optimized set of instruction designed to be executed


by a virtual machine that the Java runtime system emulates. Java run-time
is an interpreter for byte code. Because Java programs are interpreted
rather than compiled, it is much easier to run them in a wide variety of
environments. The reason is straightforward: only the runtime system
needs to be implemented for each platform. Once the run-time package
exists for a given system, any Java program can run on it. Although the
details of the Java run-time system will differ from platform to platform, all
interpret the same byte code.

The fact that Java is interpreted also helps make it secure because the
execution of every Java program is under the control of runtime system,
the runtime system can contain the program and prevent it from
generating side effects outside of the system. When a program is
interrupted, it generally runs substantially slower than the same program
would run if compiled to executable code. The use of byte code makes it
possible for the Java runtime system to execute the programs much faster
than one might expect.

2.2. JAVA DATABASE CONNECTIVITY (JDBC)

2.2.1 JDBC Overview

JDBC is a Java API for executing SQL statements. (JDBC is a trademarked

5
name and is not an acronym; nevertheless, JDBC is often thought of as
"Java Database Connectivity".) It consists of a set of classes and interfaces
written in the Java programming language. JDBC provides a standard API
for tool/database developers and makes it possible to write database
applications using a pure Java API.

Using JDBC, it is easy to send SQL statements to virtually any relational


database. In other words, with the JDBC API, it is not necessary to write
one program to access a Sybase database, another program to access a
Oracle database, another program to access a Informix database, and so
on. One can write a single program using the JDBC API, and the program
will be able to send SQL statements to the appropriate database. And with
an application written in Java programming language, one also doesn't
have to worry about writing different applications to run on different
platforms. The combination of Java and JDBC lets a programmer to write it
once run it anywhere.

JDBC makes it possible to do three things:

Establish a connection with the database


Send SQL statements
Process the results

2.2.2 JDBC Driver Types

A JDBC driver is a middleware layer that translates the JDBC calls to the
vendor specific APIs. The Java Virtual Machine uses the JDBC driver to
translate the generalized JDBC calls into vendor-specific database calls
that the database understands. The JDBC drivers that are available at this
time fit into one of the four categories:

JDBC-ODBC Bridge Driver

6
The first category of JDBC drivers provides a bridge between the JDBC API
and the ODBC API. This bridge translates the standard JDBC calls to
corresponding ODBC calls, and sends them to ODBC data source via ODBC
libraries. The JDBC ODBC Bridge translates all JDBC API calls into
equivalent ODBC calls.

Native API, Partly Java Driver


Due to the multiple layers of indirection for each data access call, this
solution for data access is inefficient for high-performance database
access requirements. The second alternative is the Type 2 driver. Type 2
drivers use a mixture of Java implementation and vendor-specific native
APIs for data access. This is much faster. It acts as a gateway for multiple
database servers. While the specific protocol used between clients and
the intermediate server depends on the middleware server vendor, the
intermediate server can use different native protocols to connect to
different databases.

When a database call is made using JDBC, the driver translates the
request into vendor specific API calls. The database will process the
request and send the results back through the API, which will forward
them, back to the JDBC driver. The JDBC driver will format the result to
conform to the JDBC standard and return them to the program.

Net Protocol All Java Driver


Type 3 drivers are based on intermediate (middleware) database servers
with the ability to connect multiple Java clients to multiple database
servers. In this approach, clients connect to various database servers via
an intermediate server that databases. The Java client application sends a
JDBC call through a JDBC driver to the intermediate data access server.
The middle-tier then handles the request using another driver to complete
the request.

Native Protocol All Java Driver

7
This is a pure Java alternative to Type2 drivers. These drivers convert JDBC
calls to direct network calls using vendor-specific networking protocols by
making direct socket connections with the database. This is the most
efficient method of accessing databases, both in performance and
development time. It is also the simplest to deploy since there are no
additional libraries or middleware to install.

2.2.3 JDBC Interfaces

Connection Overview
A connection object represents a connection with a database. Connection
session includes the SQL statements that are executed and the results are
returned over that connection. A single application can have one or more
connections with a single database, or it can have connections with many
different databases.

Opening a connection
The standard way to establish a connection with a database is to call the
method Driver Manager.getConnection. This method takes a string
containing a URL. The Driver Manager class, referred to as the JDBC
manager layer, attempts to locate a driver than it connect to the database
represented by that URL. The Driver Manager class maintains a list of
registered Driver classes, and when the method getConnection is called, it
checks with each driver in the list until it finds one that can connect to the
database specified in the URL. The driver method connects uses this URL
to actually establish the connection.
The user can by pass the JDBC management layer and call driver methods
directly. This could be useful in the rare case that two drivers can connect
to a database and the user wants to explicitly select a particular driver.
Normally, however, it is much easier to just let the Driver Manager class
handle opening a connection.

Driver Manager Overview

8
The Driver Manager class is the management layer of JDBC, working
between the user and the drivers. It keeps track of the drivers that are
available and handles establishing a connection between a database and
the appropriate driver. In addition, the Driver Manager class attends to
things like driver login time limits and the printing of log and tracing
messages. For simple applications, the only method in this class that
needs to be used directly is Driver Manager.getConnection. As its name
implies, this method establishes a connection to the database. JDBC
allows the user to call the Driver Manager methods:
getDriver
getDrivers
registerDriver

Statement Overview
A statement object is used to send SQL statements to a database. There
are three kinds of statement objects, all of which act as containers for
executing. SQL statements on a given connection: Statement, Prepared
Statement, which inherits from statement, and Callable Statement, which
inherits from prepared statement. They are specialized for sending
particular type of SQL statements. A Statement object is used to execute
a simple SQL statement with no parameters. A Prepared Statement Object
is used to execute a precompiled SQL statement with or without IN
parameter. A Callable statement object is used to execute a call to the
database stored procedure.
The statement interface provides basic methods for executing statements
and retrieving results. The Prepared Statement interface adds methods for
dealing with IN parameters; Callable Statement adds methods for dealing
with OUT parameters.

2.3. JAVA SERVER PAGES (JSP)

2.3.1 JSP Overview

9
Java Server Pages (JSP) technology offers a simple way to create dynamic
web pages that are both platform independent and server independent,
giving you more freedom through Java technology's "Write Once, Run
Anywhere" capability. JSP technology separates content generation from
presentation and takes advantage of reusable tags and objects,
simplifying the maintenance of your web applications. It's your choice --
JSP technology provides the scripting ability you need to create simple
interactive Web pages, or it scales to support complex web sites that are
fully integrated with enterprise class applications. JSP is a technology for
developing web pages that include dynamic content.

Unlike a plain HTML page, which contains static content that always
remain the same, a JSP page can change its content based on any number
of variable items, including the identity of the user, the user's browser
type, information provided by the user and selections made by the user.

A JSP page contains standard markup language elements, such as HTML


tags, just like a regular web page. However a JSP page also contains
special elements that allow the server to insert dynamic content in the
page. JSP elements can be used for a wide variety of purposes such as
retrieving information from a database or registering user preferences.

2.3.2 Life Cycle of a JSP page


A JSP page services requests as a servlet. Thus, the life cycle and many of
the capabilities of JSP pages (in particular the dynamic aspects) are
determined by Java Servlet technology. When a request is mapped to a JSP
page, it is handled by a special servlet that must check whether title JSP
page’s servlet translates the JSP page into a servlet class and compiles
the class. The server executes the JSP elements, merges the results with
the static parts of the page and sends the dynamically composed page
back to the browser.

10
2.3.3 Translation and Compilation

During the translation phase each type of data in a JSP page is treated
differently. Template data is transformed into code that will emit the data
into the stream that returns data to the client. Each time you change a JSP
page, the web container generates a new Java source file and increments
the version number v. Translation and compilation phases can yield errors
that are only observed when the page is requested for the first time.

If an error occurs while the page is being translated (for example, if the
translator encounters a malformed JSP elements), server will return a
ParseException and the servlet class source file will be empty or
incomplete. The last incomplete line will give a pointer to the incorrect JSP
element. If an error occurs while the JSP page is being compiled (for
example, due to a syntax error in a scriptlet), the server will return a
JasperException and a message that include the name of the JSP page's
servlet and the line where the error occurred.

If an instance of the JSP page's servlet does not exist, the container:
Loads the JSP page's servlet class
Instantiates an instance of the servlet class
Initializes the servlet instance by calling the jsplnit method
Invokes the jspService method, passing a request and response object.
If the container needs to remove the JSP page's servlet, it calls the
jspDestroy method.

2.3.4 JSP Tags

JSP tags fall into three categories:


Directives: These affect the overall structure of the servlet that results

11
from translation.
Scripting elements: These let you insert Java code into the JSP page.
Actions: These are special tags available to affect the runtime behavior of
the JSP.

Directives
There are three main directives that can be used in JSP:
The page directive.
The include directive.
The taglib directive.

The page directive:


The page directive is used to define and manipulate a number of
important page-dependent attributes that affect the whole JSP. A page can
contain any number of page directives, in any order, anywhere in the JSP.
They are all assimilated during translation and applied together to the
page.

General syntax:
<%@ Page [language ="java"] [extends="package. class"]
[import="{package. class/ package. *},"]
[session="true/false"] [buffer="none/8kb/sizekb';]
[autoFlush="true/false"] [isthreadSafe="true/false"]
[info="text"] [errorPage="relative URL"]
[contentType="MIMETYPE [; charset=CHARSET]"]
[isErrorPage=''true/false"] %>

The include directive:


The include directive instructs the container to include the content of the
resource in the current JSP, by inserting it, inline in the JSP in place of the
directive.

12
General syntax:
<% @ include file = "filename" %>

The taglib directive:


The taglib directive allows the page to use custom tags. It names the tag
library that contains compiled Java code defining the tags to be used.

General syntax:
<% @taglib uri= "tagLibraryURI" prefix="tagPrefix" %>

Scripting elements

JSP scripting elements allow Java code-variable and method declarations,


scriplets and expressions to be inserted into your JSP page.

Declarations
Declarations are initialized when the JSP page is initialized, and have
'class' scope in the generalized servlet.
General syntax:
<%! Java variable and method declaration(s) %>

Scriplets
A scriplet is a block of Java code executed during the request-processing
time.

General syntax:
<% Valid Java code statements %>

Expressions
An expression is a shorthand notation for a scriplet that sends the value of
a Java expression back to the client. The expression is evaluated at HTTP
processing time, and the result is converted to a string and displayed.

13
General syntax:
<%= Java expression to be evaluated %>

Actions
Actions are tags that affect the runtime behavior of the JSP and the
response sent back to the client. During compilation into a servlet, the
container comes across this tag and replaces it with Java code that
corresponds to the required predefined task.

Few of the standard action types are:


<jsp:include>
This action allows a static or dynamic resource specified by a URL, to be
included in the current JSP at request processing time.
<jsp:forward>
This action allows the request to be forwarded to another JSP, to a servlet,
or to a static resource.

2.3.5 Implicit Objects

To simplify the code in JSP expressions and scriplets, predefined variables


are supplied also called as implicit objects.

It represents the request that triggered the service invocation. It is the


HttpServletRequest, that provides access to the incoming HTTP headers,
request type and request parameters. It is the HttpServletResponse
instance that represents the server's response to the request
pageContext: It provides a single point access to many of the page
attributes and is a convenient place to put shared data within pages.

session: It represents the session created for the requesting client.


application: It represents the session created for the requesting client.

14
out: It is the object that writes into the client.
config: It is the ServletConfig for this JSP page and has page scope.
page: It is the instance of the page's implementation servlet class that is
processing the current request.

2.3.6 Advantages of JSP

JSP supports both scripting and element-based dynamic content, allows a


programmer to develop custom tag libraries to satisfy application specific
needs.
JSP are precompiled for efficient server processing.
JSP can be used in combination with servlets that handle business logic
the model supported by Java servlet template engines.
JSP is a specification, not a product. This means vendors can compete with
different implementation, leading to better performance and quality.

2.4 HYPER TEXT MARKUP LANGUAGE

2.4.1 HTML Overview

HTML or HyperText Markup Language is designed to specify the logical


organization of a document, with important hypertext extensions. It is not
designed to be the language of a WYSIWYG word processor such as Word
or WordPerfect. This choice was made because many different "browsers",
of very different abilities may view the same HTML document. Thus, for
example, HTML allows you to mark sections of text as titles or paragraphs,
and then leaves the interpretation of these marked elements up to the
browser. The detailed rules for HTML (the names of the tags/elements,
how they can be used) are defined using another language known as the
standard generalized markup language, or SGML.

15
2.4.2 Block of HTML

HTML elements perform a predefined task. HTML instructions divide the


text of a document into blocks called elements. These can be divided into
two broad categories -- those that define how the 'body' of the document
is to be displayed by the browser and those that define information' about'
the document, such as the title or relationships to other documents. HTML
uses two types of tags namely empty (or open) tags and container tags,
differing in what they represent. Empty tags represent formatting
constructs such as line breaks and horizontal rules. Container tags define
a section of text and specify the formatting of that text. A container tag
has both a beginning tag and an ending tag.

2.4.3 HTML Layout

An HTML document consists of text, which comprises the content of the


document and tags, which defines the structure and appearance of the
document.

The structure of a HTML document is simple consisting of:


<HTML>tag enclosing document header and body
<HEAD>
<TITLE> The title of the HTML document </TITLE>
</HEAD>
<BODY> </BODY>
</HTML>

Program Description

Header section enclosed between the tags <HEAD> and </HEAD>

16
contains the title of the document and other parameters the browser may
use when displaying the document Body section enclosed between
<BODY> and </BODY> is where the actual contents of the document are
placed. This includes the text for display.

2.4.4 Advantages of HTML

Each HTML document is small, so it can be transferred over the net and
displayed as fast as possible.

HTML documents are cross-platform compatible and device independent.


They can be read on any platform as long as you have a browser that can
read and understand HTML.

2.5. MICROSOFT ACCESS

Protecting information can be an important part of developing a database


application. By securing your database, you can control what a user a
group of uses, can do with database Microsoft access security is
segregated to several levels down the line: workgroups, user and group
accounts, ownership and permission assignments.

Encrypting a database makes the database file compact and


indecipherable by a utility program or word processor, decrypting a
database reverses the encryption. When you encrypt a database file,
Microsoft Access especially during electronic transmission or when it’s
stored on a transferable magnetic medium (for example, disk or tape).

Opening a Database for shared Access:

17
If your computer is connected to a network, you can use Microsoft Access
to view and edit data that others are using at the same time. You can
share data in a multi-user environment by placing a database on a
network file server and opening the database for shared access.

Editing in shared environment:


The Refresh interval option determines how often Microsoft Access
automatically updates records in a datasheet when you refresh the
current form remove deleted records. To view these changes you must
require the form or datasheet’s underlying records.

2.6.1 CONTROL OF MS ACCESS

Microsoft Access facilitates new features and enhancements that help you
work with your database. A few of these new features are summarized
below.

Moveable, Customizable Toolbars:


Microsoft Access toolbars are movable and customizable. You can move
toolbars around in the Microsoft Access window hide them individually,
and customize them by adding buttons. You can also create your own
toolbars and attach them to forms and reports.

ToolTips
Move the pointer on to the face of any toolbar button, including those in
the toolbox or palette, to display the name of the button or option.

Shortcut Menus
Press the right mouse button when you are defining a control, setting a
property, or performing most any task in Microsoft Access to display a
shortcut menu. Commands appropriate to the current task appear on the
menu.

18
Quick Sorting
In table and form Datasheets and in forms, you can click the sort
Ascending or sort Descending buttons on the tool bar to quickly sort the
current records based on the selected column.

Property builders and Build Buttons


Many properties now include builders that help you set the property. For
example, you can use the expression builder for properties that call
expressions, the query builder for the record source and row source
properties, and the color builder for defining the back color, border color,
and fore color properties. Some properties allow you to select from
multiple builders. For example the even properties allow you to select the
expression builder, the macro builder or the code builder.

Input Mask
You can make data entry quicker and more accurate by adding input
masks to fields that requires the data to be entered in the same way
every time. In a phone number field; for example, you could add an input
mask that automatically adds the necessary parenthesis, hyphens and
spaces.

Improved selection in Datasheets


You can select and copy to the clipboard a block of adjacent cells with in a
datasheet. You select the date you want by dragging the pointer with in a
data sheet. You select the date you want by dragging the pointer through
the cells.

2.6. AJAX

19
AJAX stands for Asynchronous JavaScript And XML AJAX is not a new
programming language, but a new way to use existing standards.With
AJAX you can create better, faster, and more user-friendly web
applications.AJAX is based on JavaScript and HTTP requests.

AJAX is based on the following web standards:

• JavaScript
• XML
• HTML
• CSS

The web standards used in AJAX are well defined, and supported by all
major browsers. AJAX applications are browser and platform independent.

Ajax, which consists of HTML, JavaScript™ technology, DHTML, and DOM,


is an outstanding approach that helps you transform clunky Web
interfaces into interactive Ajax applications. The author, an Ajax expert,
demonstrates how these technologies work together -- from an overview
to a detailed look -- to make extremely efficient Web development an easy
reality. He also unveils the central concepts of Ajax, including the
XMLHttpRequest object.
Basically there are two kinds of applications
1) Desktop application
2) Web application

Desktop applications usually come on a CD (or sometimes are downloaded


from a Web site) and install completely on your computer. They might use
the Internet to download updates, but the code that runs these
applications resides on your desktop. Web applications -- and there's no
surprise here -- run on a Web server somewhere and you access the
application with your Web browser.

More important than where the code for these applications runs, though,
is how the applications behave and how you interact with them. Desktop

20
applications are usually pretty fast (they're running on your computer;
you're not waiting on an Internet connection), have great user interfaces
(usually interacting with your operating system), and are incredibly
dynamic. You can click, point, type, pull up menus and sub-menus, and
cruise around, with almost no waiting around.

On the other hand, Web applications are usually up-to-the-second current


and they provide services you could never get on your desktop (think
about Amazon.com and eBay). However, with the power of the Web
comes waiting -- waiting for a server to respond, waiting for a screen to
refresh, waiting for a request to come back and generate a new page.

Obviously this is a bit of an oversimplification, but you get the basic idea.
As you might already be suspecting, Ajax attempts to bridge the gap
between the functionality and interactivity of a desktop application and
the always-updated Web application. You can use dynamic user interfaces
and fancier controls like you'd find on a desktop application, but it's
available to you on a Web application.

Here are the basic technologies involved in Ajax applications:

• HTML is used to build Web forms and identify fields for use in the
rest of your application.
• JavaScript code is the core code running Ajax applications and it
helps facilitate communication with server applications.
• DHTML, or Dynamic HTML, helps you update your forms
dynamically. You'll use div, span, and other dynamic HTML elements
to mark up your HTML.
• DOM, the Document Object Model, will be used (through JavaScript
code) to work with both the structure of your HTML and (in some
cases) XML returned from the server.

21
AJAX Uses HTTP Requests

In traditional JavaScript coding, if you want to get any information from a


database or a file on the server, or send user information to a server, you
will have to make an HTML form and GET or POST data to the server. The
user will have to click the "Submit" button to send/get the information,
wait for the server to respond, then a new page will load with the results.

Because the server returns a new page each time the user submits input,
traditional web applications can run slowly and tend to be less user-
friendly.

With AJAX, your JavaScript communicates directly with the server, through
the JavaScript XMLHttpRequest object

With an HTTP request, a web page can make a request to, and get a
response from a web server - without reloading the page. The user will
stay on the same page, and he or she will not notice that scripts request
pages, or send data to a server in the background.

The XMLHttpRequest Object

By using the XMLHttpRequest object, a web developer can update a page


with data from the server after the page has loaded!

AJAX was made popular in 2005 by Google (with Google Suggest).

Google Suggest is using the XMLHttpRequest object to create a very


dynamic web interface: When you start typing in Google's search box, a
JavaScript sends the letters off to a server and the server returns a list of
suggestions.

The XMLHttpRequest object is supported in Internet Explorer 5.0+, Safari


1.2, Mozilla 1.0 / Firefox, Opera 8+, and Netscape 7.

22
AJAX - More About the XMLHttpRequest Object

Before sending data to the server, we have to explain three important


properties of the XMLHttpRequest object.

The onreadystatechange Property

After a request to the server, we need a function that can receive the data
that is returned by the server.

The onreadystatechange property stores the function that will process the
response from a server.

The readyState Property

The readyState property holds the status of the server's response. Each
time the readyState changes, the onreadystatechange function will be
executed.

Here are the possible values for the readyState property:

State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete

AJAX - Sending a Request to the Server

To send off a request to the server, we use the open() method and the
send() method.

The open() method takes three arguments. The first argument defines
which method to use when sending the request (GET or POST). The
second argument specifies the URL of the server-side script. The third

23
argument specifies that the request should be handled asynchronously.
The send() method sends the request off to the server.

24
SYSTEM ALALYSIS

3. SYSTEM ANALYSIS

System analysis is a developed method for the analysis of an existing


manual or automated system, leading to the specification for a new
modified system. System analysis allows the analyst to learn about a
system or a process in a manageable and logical way.
The objective in system analysis is to completely understand the system
from which requirements are determined which forms the basis for a new
modified system. Fully understanding a large complex system may be
difficult, but system analysis developed method is aimed at overcoming
this difficulty through its components.

25
3.1 PRESENT DAY SCENARIO

The present bus system is not reliable as the there is no proper way to get
the information regarding the arrival of the busses ,thus the common
public has to wait a long time and therefore the public waiting time is
increased. The busses do not follow the regular timings which lead in
wastage of valuable time of the public.
In the current scenario the there is no way to track the bus or else know
the current position of the bus which in turn would provide us with the
correct time of arrival. Even the bus registration system is not automated
therefore the bus management central authority requires to do a lot of
paper work and enter the bus details manually in the spread sheets.

3.2 PRODUCT PERSPECTIVE

The public Utility Transport System provides a convenient way through


which the current location of the bus can be obtained. It provides a very
user friendly way through which the user can obtain the current location
of the bus. The public can access the bus location through the computer
or the display board installed at each bus stop. The public can get the
view in the tabular form as well as the map form, thus the scalability of
the project is increased.
This project also helps to atomize the whole process of bus registration
and the bus routes of the busses in the city, there fore a lot of time can be
saved and the paper work involved in process of bus registration is also
reduced. This project achieves customer satisfaction and the reliability of
the bus services is increased.

3.3 USER CHARACTERSTICS

26
The users of Public Utility Transport System are

• Public: The public can obtain the current location of the bus from the
display provided at each bus stop.
• The PUT’s manager: The manger enters all the details regarding the
registration of bus and updation the bus.
The manager knowledge is assumed to be average and therefore the
interface, which is in the form of a website, is designed not only to be
consistent to gather all details, but also self-explanatory throughout the
process with appropriate help messages, thus, reducing the ambiguity in
the options provided.

3.4 GENERAL CONSTRAINTS

• There should be a GPs kit installed on each of the busses in the city.

• There should be displays available at each of the bus stop.

3.5 FEASIBILITY STUDY

Procedure that identifies, describes and evaluates the proposed system


and selects the best system for the job is called FEASIBILITY STUDY.
There are three important considerations involved in the feasibility study.

3.5.1 ECONOMIC FEASIBILITY


Economic analysis is most frequently used to evaluate the effectiveness of
a proposed system. It is more commonly known as COST/BENEFIT
ANALYSIS. This procedure is to determine the benefits and savings that
are expected from a proposed system and compare them with costs. If
benefits overweigh costs, decision is made to design and implement the
system.

27
3.5.2 TECHNICAL FEASIBILITY
Technical Feasibility centers on the existing manual system and to what
extent it can support the proposed system. According to the feasibility
analysis procedure, the technical feasibility of the proposed system is
analyzed and the technical requirements such as software facilities,
hardware facilities, procedures, inputs and outputs are identified. It is one
of the important phases of the system development.

3.5.3 BEHAVIORIAL FEASIBILITY


People are inherently resistant to change and computers have been
known to facilitate changes. An estimate should be made of how strong a
reaction of the user staff is likely to have towards the development of a
computerized system. Any person having a minimum knowledge of
Windows and Internet can operate it. Therefore, the product’s behavioral
feasibility is also satisfied.

28
SYSTEM
SPECIFICATION

29
4 SYSTEM SPECIFICATION

4.1 HARDWARE ENVIRONMENT

The hardware requirements for the developer include

 GPS Receiver

 Microcontroller:PIC microcontroller

4.2 SOFTWARE ENVIRONMENT

 Operating System : Windows 9X/XP/Vista

 AJAX

 Java 2 SDK.

 Microsoft Office Enterprise Edition 2003.

 WAS (Application Server).

30
 Browser: Internet Explorer, Mozilla Firefox, Netscape Navigator,
Opera.

 ECLLIPSE(IDE)

 Embedded C

SYSTEM DESIGN

31
5. SYSTEM DESIGN

5.1) Architecture diagram

The architecture involves a bus which has a GPS receiver with


microcontroller attached and a cell phone connected to it, then there is a
control center which with a cell phone attached and there are bus stops
each aided with a computer or a display board. The communication
process is as follows, first the GPS receiver placed on the bus receives the
current location information and the microcontroller attached to it filters
the information from the GPS receiver and transfers the required latitude
and longitude information to the cell phone connected to the
microcontroller. Then this information is transferred via the mobile
network to the cell phone connected to the controller center where the
processing is done and theses information can be passed to the other bus
stops through the GSM, modem or internet.

32
SATALLITE

BUS

GPS
RECEIVER

MICROCONTROLER
COMMUNICATION IS THROUGH
CONTROLLER
MOBILE CENTER
CELL
NETWORK

CELL

MOBILE NETWORK

BUS BUS BUS


-STOP 1 -STOP 2 -STOP n

Figure 1
The four major parts involved in the architecture are:
1. The satellite
2. The bus unit
3. The Controller center unit
4. The individual bus stops

1) The Satellite

GPS consists, nominally, of a constellation of 24 operational satellites. This


constellation, known as the initial operational capability (IOC).To ensure
continuous worldwide coverage satellites are arranged so that four
satellites are placed in each of six orbital planes. With this constellation
geometry, four to ten GPS satellites will be visible anywhere in the world,
if an elevation angle of 10° is considered. Only four satellites are needed

33
to provide the positioning, or location, information.GPS consists of three
segments: the space segment, the control segment, and the user
segment. Each GPS satellite transmits a signal, which has a number of
components such as the longitude, latitude, velocity acceleration and
various parameters.

2) The bus unit

Each bus contains a GPS receiver which is attached to a microcontroller


and is connected to a mobile phone. The GPS receiver receives the signal
that is transmitted from the satellite these signal are filtered and the
required parameters are obtained using the microcontroller program. Then
the filtered parameters are sent using GSM through the mobile
communication network to the central controller unit.

3) Microcontroller

Microcontroller has a three parts a flash memory unit where the code is
written, RAM where the temporary variables are stored and ROM where
the constant variable are stored.

The pin diagram is as follows:

34
Issuing AT Commands
Getting Started with the Terminal Mode

With your modem installed, your computer powered ON, and your
computer's communications software loaded in its terminal mode, you can
enter commands to the modem.If available in your communication's
software, select the "terminal mode" (sometimes referred to as, "terminal
emulation mode", "dumb terminal mode", "local mode", or "direct connect
mode"). This mode allows you to send commands directly to the modem..

Using AT Commands

When issued to the fax modem, AT commands direct the fax modem to
dial, answer, hang up, and to perform many other communication tasks.
Some of the most commonly used commands are:

AT (Attention). This is the command line prefix. (All the commands listed ,
except A/ and +++, must be preceded by the command AT). A Answer an
incoming call D Dial the following phone number E Turn echo OFF H Hang
up O Return to on-line state Z Reset the modem to the values stored in
the N.V. Ram +++ Return to the Command State A/ Repeat last command
(Do not precede this command with AT or follow it with <Enter>)

The Command Line

35
A Command line allows you to issue a number of commands at one time
rather than issuing and waiting for the modem to react to each command
separately. Here are a few rules you must follow when issuing a command
line to the modem.

•1. Every command line must begin with the letters AT, (except the
commands A/ and +++)

•2. You can group several commands on one line as long as the total
line does not exceed 40 characters. Remember that "DT" and <Enter>
each count as one character, (do not count spaces and the AT).

•3. Because all spaces are ignored in the command line, you may leave
spaces between each command, and between each character of every
command. You can also include punctuation's in telephone numbers,
and type commands in either UPPER- or lowercase. For example, the
following commands are identical:

ATDT8005551234 < Enter > or

atdt (800) 876-5555 < Enter >

•4. To cancel a dialing command in progress, press any key on the


keyboard.

•5. If you make an error, backspace to erase it, and retype the
characters correctly.

•6. To execute the command line, press the <Enter> or <Return> key
on your keyboard.

The various commands used in the GSM are:


1) The following command is used to set the message format
AT+CMGF=0; is for PDU Format
AT+CMGF=1; is for Text Format

2) The following command is used to send messages


AT+CMGS=”phone number”

36
>enter the message
Ctlr+Z

3) The following command is used to receive message


AT+CMGR=1

4) The following command is used to delete message


AT+CMGD=1

5) The following command is used to set the preferred storage


AT+CMGS=”SM”; stores the message in SIM
AT+CPMS=”ME”; stores the message in mobile

4) The controller center unit


The controller center unit has a cell phone connected to it, which receives
all the messages containing the latitude longitude information. The actual
processing is performed here wherein the data regarding the buses is
entered and the current location of the bus is tracked and the public has
three options of viewing the current location of the bus. Firstly, he can
look at the current position of the bus using the google earth application
wherein the public can get a visual of the map and the current location of
the bus marked. Secondly, he can obtain the current location using the
google map. Thirdly, he can view the details of the buses such as the bus
number, source, destination and current location using the chart based
view.

The individual bus stop

Each bus stop is aided with a computer or a display board where the
information processed from the controller center is transferred to all the
bus stops through the ftp, modem or internet. The public can access the
computer or display board installed and can obtain the details of the bus
and its current location.

37
5.2) Use case diagrams with use case specifications

5.1.1) PUTS Personnel use case diagram and specifications

38
after entering the
details of bus,halt
LOGIN s are added

New Bus Registration Add Halts

PUTS Personnel
Change pwd

Logout

PUTS Login
Use Case ID: UCI-1
Use Case login
Name:
Actors: PUTS Personnel
Description: The personnel enters into PUT’S homepage
Trigger: This event occurs when the personnel clicks next
page button in the home page.
Preconditions: If the personnel enters user name and its
corresponding password correctly then he enters
into the PUTS home page.

39
Post Success end condition: when the dealer successfully
conditions: logins into the PUTS home page.
Failure end condition: A Login page is displayed if
user enters wrong username or password.
Flow of The user enters the (uname, pswd) the system
conditions: checks for the validity and displays the dealer’s
home page.
Issue The user name must be in for mat of ‘user@domain
‘ and the password must be at least 6 characters in
length

New Bus registration


Use Case ID: UCI-2
Use Case New Bus registration
Name:
Actors: PUTS Personnel
Description: A personnel enters into the bus registration form
where he has to enter all the fields regarding the
bus.
Trigger: This event occurs when the dealer clicks ‘new bus
registration ‘button in the PUT’s home page.
Preconditions: Each bus should be installed with GPS equipment.
Post Success end condition: when the personnel
conditions: successfully enters the data and the database is
updated.

Flow of The personnel fill all the related data and later on
conditions: fills the halts which comes in the route of the
particular bus.
Issue All fields are mandatory

Change Password

Use Case ID: UCI-3


Use Case Change Password
Name:
Actors: PUTS Personnel
Description: A Personnel can change the password corresponding

40
to his user name.
Trigger: This event occurs when the user clicks ‘Change
Password’ button
in the PUTS’s home page
Preconditions: The data base should be proper with all the entries
Post Success end condition: when the database is
conditions: updated with the changed new password.
Flow of The PUTS personnel can use the change password
conditions: from now on.
Issue

Logout

Use Case ID: UCI-4


Use Case Logout
Name:
Actors: PUTS Personnel
Description: A personnel can come out of the working page using
this button
Trigger: This event occurs when the user clicks ‘Logout’
button
in the PUT’s home page
Preconditions: The user should be logged in first .
Post Success end condition: when the session ends.
conditions:
Flow of The user can perform any other operation he wants.
conditions:
Issue

5.1.2) Public use case diagram and specifications

41
Map Based View

Public View Current Location Google Earth Based View

Chart Based View

View Current Location

Use Case ID: UCI-5


Use Case View Current Location
Name:
Actors: Public
Description: The public can get the information regarding the
current location of the bus from the PC provided at
the bus stop
Trigger: This event occurs when the user clicks ‘View
Location’ button
in the home page
Preconditions: The application should be installed at the bus stop
Post Success end condition: the person will get a choice
conditions: of map based view, chart based view and google
earth based view.
Flow of The user can take further course of action.
conditions:

42
5.3) Application design

5.3.1) Sequence diagrams

Login Sequence

Form Submit DataBase

: Govt Employee

Enter username and pwd


Click on submit

checking for validation

Display Message

43
Bus Registration

Form Submit DataBase

: Govt Employee
fill the form
Click on Submit

Insert into DataBase

Display Message

Update

44
Update Form Update DataBase

: Govt Employee

Fill the update form


Click update

Inserted into DataBase

Updated Successfully

Logout

Logout

: Govt Employee
Click on Logout

Successfully logged out

Google Map View:

45
Bus Equipment Control Center Display

Sends all required data : User

Contains all Logic and displayed

View the map

Table View:

46
Bus Equipment Control Center Display
: User

Sends all required Data

Contains logic

Displayin tabular form

5.3.2) Collaboration Diagrams

Login Collaboration

47
1: Enter username and pwd
Form

: Govt Employee

5: Display Message
4:

2: Click on submit

3: checking for validation Data


Base

Submit

Bus Registration

1: fill the form

: Govt Employee Form

4: Display Message

2: Click on Submit

3: Insert into DataBase Data


Base
Submit

Update

48
Update
Form
1: Fill the update form

: Govt Employee

2: Click update

4: Updated Successfully

3: Inserted into DataBase


Update
Data
Base

Google Map

1: Sends all required data


Control
Bus Center
Equipment

2: Contains all Logic and displayed

Display

3: View the map

: User

Tabular Form

49
Bus
Equipment 1: Sends all required Data

Control
Center
Display
2: Contains logic

3: Displayin tabular form

: User

5.4) Database design


5.4.1) Logical data model

LOCATION TABLE:

GNO BUSNO

LOCATION TABLE

PLACE

50
EMPLOYEE LOGIN TABLE

USERNAME PASSWD

LOGIN TABLE

51
5.5) User interface design
5.5.1) Screen flow charts
Flow charts of few screens

HOME

About us View Map

FAQ View Chart

Sitemap

Contact us

Home Contact us FAQ Site map About us

Next Page

Forgot
Login password

PUT’s
home page

New Bus Registration Change


Logout
password

Add Halts

52
5.5.2) Screen shots
Home Page

About Us

53
FAQ

Site Map

54
Contact Us

Login

55
Change Password

PUT’s Home Page

56
Bus Registration Form

Change Password

57
Add Halts

58
SAMPLE OUTPUTS

59
6. SAMPLE OUTPUTS

The public has three options of viewing the current location of the bus.
Firstly, he can look at the current position of the bus using the google
earth application wherein the public can get a visual of the map and the
current location of the bus marked. Secondly, he can obtain the current
location using the google map. Thirdly, he can view the details of the
buses such as the bus number, source, destination and current location
using the chart based view.

Google Earth based Output

60
Google Map Based Output

Chart Based Output

61
62
TESTING

7. TESTING
Testing is a process of executing the program with the intent of finding an
errors, bugs and defects. Test cases are designed to uncover different
classes of errors with a minimum amount of time and effort. Testing
cannot show the absence of defects, it can only show that software
defects are present.

6.1 LEVELS OF TESTING

6.1.1 Unit Testing

Unit or module testing is the process of testing the smallest unit of


software design-the module. Using the detail design description as a

63
guide, important control parts are tested to uncover errors within the
boundary of the module. The module interface is tested to ensure that
information properly flows into and out of the program unit under test.

The local data structure is examined to ensure that data stored


temporarily maintains its integrity during all steps in an algorithm's
execution. Boundary conditions are tested to ensure that the module
operates properly at boundaries established to limit or restrict processing.
All independent paths (basis paths) through the control structure are
exercised to ensure that all statements in a module have been executed
at least once.

And finally all error-handling paths are tested.

In our system each module namely


(i) Librarian module
(ii) Staff modules have been tested independently for validation.

6.1.2 Integration Testing

Integration testing is a systematic technique for constructing the program


structure while at the same time conducting tests to uncover errors
associated with interfacing. The objective is to take unit-tested modules
and built a program structure that has been dictated by design. In our
system each of the modules mentioned above, are tested for checking the
integration between them, after each of them have been tested
individually.

6.1.3 Validation Testing

At the culmination of integration testing, software is completely


assembled as a package, interfacing errors have been uncovered and

64
corrected and a final series of software tests -validation test begins.
Validation succeeds when the software functions in a manner that can be
reasonably expected by the customer. When customer software is built for
one customer, a series of acceptance tests are conducted to enable the
customer to validate all requirements.

Most software product builders use a process called alpha and beta
testing to uncover errors that only the end user seems able to find. A
customer in a controlled environment conducts the alpha test at the
developer's site. The beta test is conducted at one or more customer sites
by the end user. The customer records all the problems that are
encountered during beta testing and reports these to the developer at
regular intervals. As a result of problems reported, the developer makes
modifications.

6.1.4 System Testing

System testing is actually a series of tests whose primary purpose is to


fully exercise the computer-based system. The types of system tests are:

Recovery Testing

Recovery testing is a system test that forces the software to fail in a


variety of ways and verifies that the recovery is properly performed.

Security Testing

Security testing attempts to verify that protection mechanisms built into a


system will, in fact, protect it from improper penetration.

Performance Testing

65
Performance testing is designed to test the run time performance of
software within the context of an integrated system. Performance testing
occurs through out all steps in the testing process.

66
CASE STUDY

67
8. CASESTUDY

DEVELOPMENT OF SOFTWARE MODULES IN A GLOBAL


POSITIONING SYSTEM (GPS) RECEIVER

Introduction
The Global Positioning System GPS is the only fully functional Global
Navigation Satellite System(GNNS).utilizing a constellation of at least 24
medium earth orbit satellites that transmits microwave signals ,the
system enables a GPS receiver to determine its location,speed,direction
and time. Global Navigation Satellite System (GNSS) is the standard
generic term for satellite navigation systems that provide autonomous
geo-spatial positioning with global coverage.
A GPS receiver calculates its position using the signals from four or
more GPS satellites. Four are needed as the process needs very accurate
local time. Each GPS has an atomic clock and continually transmits
messages, each contain current time at start of message, parameters to
calculate the location of satellite, general system health. The signals
travel at the speed of light, the receiver uses the arrival time to compute
distance to each satellite from which it determines the position using
geometry. The space vehicles (SV) transmit two MW carrier signals i.e. the
L1 frequency (1575.42 MHz) carries the navigation message and the SPS
code signals and the L2 frequency (1227.60 MHz) is used to measure the
ionosphere delay by PPS equipped receivers
The Global Positioning System (GPS) is the only fully functional
Global Navigation Satellite System (GNSS). Utilizing a constellationn of at
least 24 Medium Earth Orbit satellites that transmit precise microwave
signals, the system enables a GPS receiver to determine its location,
speed, direction, and time.

68
A typical GPS receiver calculates its position using the signals from
four or more GPS satellites. Four satellites are needed since the process
needs a very accurate local time, more accurate than any normal clock
can provide, so the receiver internally solves for time as well as position.
In other words, the receiver uses four measurements to solve for 4
variables - x, y, z, and t. These values are then turned into more user-
friendly forms, such as latitude/longitude or location on a map, then
displayed to the user.

The System segmentation

The Global Positioning System consists of three major segments: the


Space Segment, the Control Segment, and the User Segment. The space
and control segments are operated by the United States Military and
administered by the U.S. Space Command of the U.S. Air Force. Basically,
the control segment maintains the integrity of both the satellites and the
data that they transmit. The space segment is composed of the
constellation of satellites as a whole that are currently in orbit, including
operational, backup and inoperable units. The user segment is simply all
of the end users who have purchased any one of a variety of commercially
available receivers. While the user segment obviously includes military
users, this book will concentrate on the civilian uses only. Each of the
segments will be examined more closely in the following pages.

The Space Segment

The space segment consists of the complete constellation of orbiting


Navstar GPS satellites. The current satellites are manufactured by
Rockwell International and cost approximately $40 million each. To each
satellite must be added the cost of the launch vehicle itself which may be

69
as much as $100 million. To date, the complete system has cost
approximately $10 billion. Each satellite weighs approximately 900
kilograms and is about five meters wide with the solar panels fully
extended. There were 11 Block I prototype satellites launched (10
successfully), followed by 24 Block II production units. Currently, only one
of the Blocks I satellites is still operational, while four Block II backups
remain in ground storage. The base size of the constellation includes 21
operational satellites with three orbiting backups, for a total of 24. They
are located in six orbits at approximately 20,200 kilometers altitude. Each
of the six orbits are inclined 55 degrees up from the equator, and are
spaced 60 degrees apart, with four satellites located in each orbit (see
diagram on next page). The orbital period is 12 hours, meaning that each
satellite completes two full orbits each 24-hour day.

The Control Segment

The control segment of the Global Positioning System consists of one


Master Control Station (MCS) located at Falcon Air Force Base in Colorado
Springs, Colorado, and five unmanned monitor stations located
strategically around the world. In addition, the Air Force maintains three
primary ground antennas, located more or less equidistant around the
equator. In the event of some catastrophic failure, there are also two
backup Master Control Stations, one located in Sunnyvale, California, and
the other in Rockville, Maryland. The unmanned monitor stations passively
track all GPS satellites visible to them at any given moment, collecting

70
signal (ranging) data from each. This information is then passed on to the
Master Control Station at Colorado Springs via the secure DSCS (Defense
Satellite Communication System) where the satellite position
(“ephemeris”) and clock-timing data (more about these later) are
estimated and predicted. The Master Control Station then periodically
sends the corrected position and clock-timing data to the appropriate
ground antennas which then upload those data to each of the satellites.
Finally, the satellites use that corrected information in their data
transmissions down to the end user. This sequence of events occurs every
few hours for each of the satellites to help insure that any possibility of
error creeping into the satellite positions or their clocks is minimized.

User segment

GPS receivers come in a variety of formats, from devices integrated into


cars, phones, and watches, to dedicated devices such as those shown
here from manufacturers Trimble, Garmin and Leica(left to right).

The user's GPS receiver is the user segment (US) of the GPS. In general,
GPS receivers are composed of an antenna, tuned to the frequencies
transmitted by the satellites, receiver-processors, and a highly-stable
clock .They may also include a display for providing location and speed
information to the user. A receiver is often described by its number of
channels: this signifies how many satellites it can monitor simultaneously.
Originally limited to four or five, this has progressively increased

DRDL (Defense and Research Development Laboratory) is


developing an augmented navigation system for GPS which filters
random errors, using the

71
Navigation solution

Navigation solution is the art or science of plotting, ascertaining, or


directing of movements (knowing your whereabouts and being able to find
your way around).The Space Segment of the system consists of the 24
GPS satellites (21 in Operation, 3 as spare) These space vehicles (SVs)
send radio signals from space, GPS Satellites orbit the earth in 12 hours
The satellite orbits repeat almost the same ground track (as the earth
turns beneath them) once each day
It is algorithm to determine the GPS receiver’s position, which may
move. Locating receiver’s position is very important to transmit
information. For finding the receiver’s position we take four satellites into
consideration for more accurate result.
Inputs and outputs
Input:

1. X,Y,Z coordinates of three satellites.


2. Assumed correct position of the receiver.
3.Assumed expected position of the receiver.

Output:
Gps receiever’s position.

72
(x1,y1,z1)
(x2,y2,z2)
(x3,y3,z3)

(Xc,yc,zc)
Processing

(Xe,ye,ze) GPS
receiver’s
position

Procedure:
The step wise procedure to calculate the GPS receiver’s position is as
follows:
• Assume correct position of the receiver as some Xcrct, Ycrct, and
Zcrct.
• Calculate pseudo ranges for each satellite. And name them as R1,
R2, R3
• Now consider assumed exception position as Xasu, Yasu, Zasu.
• Form a 4*1 matrix represented as R
R= [R1
R2
R3]
Where R1, R2, R3 are calculated before
• Form another matrix G as 3*3 matrixes
G= [G00 G01 G02
G10 G11 G12
G20 G21 G22]

Where

73
G00= - (Xasu-Xsat1)/R1
G01= - (Yasu-Ysat1)/R1
G02= - (Zasu-Zsat1)/R1

G10= - (Xasu-Xsat2)/R2
G11= - (Yasu-Ysat2)/R2
G12= - (Zasu-Zsat2)/R2

G20= - (Xasu-Xsat3)/R3
G21= - (Yasu-Ysat3)/R3
G22= - (Zasu-Zsat3)/R3

• Then declare another result matrix R as


[Dx
Dy
Dz ]
• The result matrix is calculated as

R=G-1[R]
• as a result we get Dx, Dy, Dz values
• Now for second iteration take Xasu as Dx+Xasu
Yasu = Dy + Yasu
Zasu = Dz + Zasu

• We perform 10 iterations to estimate the accurate value of


receiver’s position.

74
CONCLUTION

75
9. CONCLUSION

The Public Utility Transport System is an effective way


of by which the public can get the actual time of the
arrival of the busses in the city ,thus this helps to
reduce the public waiting time .This system uses the
GPS technology which is effective and robust and it is
greatly reliable. This has a potential of greater
development.

76
REFRENCES

77
REFRENCES

 An Integrated approach to Software Engineering


Second edition.-by Pankaj Jalote

 Understanding the GPS - by Gregory T.French

 Introduction to GPS- by Ahmed EL-Rabbany

 J2EE Complete Reference-by James Keogh

78

You might also like