Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCTION
1. INTRODUCTION
1.1 Background
The project abstract has been done. The requirements are identified. The functional
requirements (use cases) and the actors involved with use cases are identified. User
requirement document is done.
1.2 Overview
Footrace tracking system is designed to display a course map showing runners
progress.The continuous updating of the race course display can be monitored and can be
updated on the central server.Global positioning system technology and mobile phones can be
used to track selected runners on a course map.
The following are the modules in this project
The real time updates give information about the longitude and latitude values from the
GPS devices and are forwarded over an Evolution-Data optimized network to a central server
where position data was maintained for a continuous updating of the race course display.
Advertisement subsystem is used to display the advertisement content of various
companies and sponsors for the events.
Pentium 4 Processor
1 GB of Memory
80GB of hard drive space
GPS device
Mobile device
2. Software
About GPS
The Global Positioning System (GPS) is the only fully-functional satellite navigation
system. More than two dozen GPS satellites are in medium Earth orbit, transmitting signals
allowing GPS receivers to determine location, speed and direction.
Since the first experimental satellite was launched in 1978, GPS has become indispensable
for navigation around the world and an important tool for map-making and land surveying.
GPS also provides a precise time reference used in many applications including scientific
study of earthquakes, and synchronization of telecommunications networks.
Technologically and scientifically, GPS is perhaps the most important practical application
so far of Einstein's theory of general relativity.
A GPS receiver calculates its position by measuring the distance between itself and three
or more GPS satellites. Measuring the time delay between transmission and reception of each
GPS radio signal gives the distance to each satellite, since the signal travels at a known speed.
The signals also carry information about the satellites' location.
By determining the position of, and distance to, at least three satellites, the receiver can
compute its location using trilateration. Receivers do not have perfectly accurate clocks, and
must track one extra satellite to correct their clock error.
Pocket PC
According to Microsoft, the Pocket PC is "a handheld device that enables users to store
and retrieve e-mail, contacts, appointments, tasks, play multimedia files, games, exchange text
messages with Windows Live Messenger (MSN Messenger), browse the Web, and more."
For instance, any device which is to be classified as a Pocket PC must
Some Pocket PCs feature integrated GPS often combined with mobile phone functionality.
Pocket PCs with built-in telephony differ from Windows Mobile Smart phone Edition devices
in several respects - including the lack of a touch screen on the latter.
2. THEORETICAL ANALYSIS
2. THEORETICAL ANALYSIS
2.1 Microsoft.NET Framework
The .NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet. The .NET Framework is
designed to fulfill the following objectives
To build all communication on industry standards to ensure that code based on the
.NET Framework can integrate with any other code.
The .NET Compact Framework is used to develop applications for smart devices. By smart
devices we mean devices that run the Pocket PC 2000, Pocket PC 2002 and Windows
CE.NET operating systems. These operating systems are targeted for mobile devices (like
PDA, Pocket PC) that have small display areas, small storage areas and run on batteries.
Developing applications for devices has never been easier! It essentially consists of an
operating system and development tools (like embedded Visual Basic and embedded Visual
C++). With the advent of the .NET Compact Framework, Microsoft has unified the
programming models between developing applications for PC's and applications for devices.
The .NET Compact Framework provides a managed execution environment for applications
on devices and makes writing applications extremely easy.
Case class libraries which are a set of reusable classes that contain a basic set of
building blocks that applications can use. The following figure shows a typical
construction of the .NET Compact Framework.
Console applications.
ASP.NET applications.
Windows services.
10
network, or local computer). This means that a managed component might or might not be
able to perform file-access operations, registry-access operations, or other sensitive functions,
even if it is being used in the same active application.
The runtime enforces code access security. For example, users can trust that an executable
embedded in a Web page can play an animation on screen or sing a song, but cannot access
their personal data, file system, or network. The security features of the runtime thus enable
legitimate Internet-deployed software to be exceptionally feature rich.
The runtime also enforces code robustness by implementing a strict type-and-codeverification infrastructure called the common type system (CTS). The CTS ensures that all
managed code is self-describing. The various Microsoft and third-party language compilers
generate managed code that conforms to the CTS.
This means that managed code can consume other managed types and instances, while
strictly enforcing type fidelity and type safety.
A feature called just-in-time (JIT) compiling enables all managed code to run in the native
machine language of the system on which it is executing. Meanwhile, the memory manager
removes the possibilities of fragmented memory and increases memory locality-of-reference
to further increase performance.
Finally, the runtime can be hosted by high-performance, server-side applications, such as
Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables
you to use managed code to write your business logic, while still enjoying the superior
performance of the industry's best enterprise servers that support runtime hosting.
11
tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons,
and other GUI elements, and they likely access local resources such as the file system and
peripherals such as printers.
Another kind of client application is the traditional ActiveX control (now replaced by the
managed Windows Forms control) deployed over the Internet as a Web page. This application
is much like other client applications: it is executed natively, has access to
For example, the .NET Framework provides simple properties to adjust visual attributes
associated with forms. In some cases the underlying operating system does not support
changing these attributes directly, and in these cases the .NET Framework automatically
recreates the forms. This is one of many ways in which the .NET Framework integrates the
developer interface, making coding simpler and more consistent.
12
developing Windows applications that combines the simplicity of the Visual Basic 6.0
programming model with the power and flexibility of the common language runtime.
Lower total cost of ownership: Windows Forms takes advantage of the
versioning and deployment features of the common language runtime to offer reduced
deployment costs and higher application robustness over time. This significantly
lowers the maintenance costs (TCO) for applications written in Windows Forms.
Architecture for controls: Windows Forms offers an architecture for controls
and control containers that is based on concrete implementation of the control and
container classes. This significantly reduces control-container interoperability issues.
Security: Windows Forms takes full advantage of the security features of the
common language runtime. This means that Windows Forms can be used implement
everything from an untrusted control running in the browser to a fully trusted
application installed on a user's hard disk.
XML Web services support: Windows Forms offers full support for quickly
new version of the Windows Graphical Device Interface (GDI) that supports alpha
blending, texture brushes, advanced transforms, rich text support, and more.
Flexible controls: These controls also offer new features, such as "flat look"
It gives access to many of the facilities previously available only in C++, while
13
It has been designed specifically with the .NET framework in mind, and hence
is very well structured for writing code that will be compiled for .NET.
C# is a simple, modern, object oriented language which aims to combine the high
productivity of VB and raw power of C++. C# is a new programming language developed by
Microsoft.
Using C# we can develop console applications, web applications and windows applications.
In C#, Microsoft has taken care of C++ problems, such as memory management , pointers etc.
14
The XML-based DataSet object provides a consistent programming model that works with
all models of data storage: flat, relational, and hierarchical. It does this by having no
'knowledge' of the source of its data, and by representing the data that it holds as collections
and data types. No matter what the source of the data within the DataSet is, it is manipulated
through the same set of standard APIs exposed through the DataSet and its subordinate
objects.
While the DataSet has no knowledge of the source of its data, the managed provider has
detailed and specific information. The role of the managed provider is to connect, fill, and
persist the DataSet to and from data stores. The OLE DB and SQL Server .NET Data
Providers (System.Data.OleDb and System.Data.SqlClient) that are part of the .Net
Framework provide four basic objects: the Command, Connection, DataReader and
DataAdapter. In the remaining sections of this document, we'll walk through each part of the
DataSet and the OLE DB/SQL Server .NET Data Providers explaining what they are, and
how to program against them.
The following sections will introduce you to some objects that have evolved, and some that
are new.
These objects are
DataSets. For storing, remoting and programming against flat data, XML data
DataAdapters. For pushing data into a DataSet, and reconciling data against a
database.
15
2.5 XML
XML is a markup language for documents containing structured information. Structured
information contains both content (words, pictures, etc.) and some indication of what role that
content plays (for example, content in a section heading has a different meaning from content
in a footnote, which means something different than content in a figure caption or content in a
database table, etc.). Almost all documents have some structure.A markup language is a
mechanism to identify structures in a document. The XML specification defines a standard
way to add markup to documents.
16
A web service has a service interface. This service interface helps the web service to
be called by another application programmed or another web service. Service interface
is an XML document this is because XML has emerged as a global data exchange
technology that has been widely accepted by the technology world.
components.
Each of these service components can be built using any architectural frame work and
can be physically distributed among a number of computers.
These machines should be on the web and the services need to be registered with the
service registry.
17
HTTP-GET
HTTP-POST
SOAP
18
service can be accessed. Information about the web service such as the method contains,the
parameters that need to be passed to these methods are described through WSDL.
2.8 UDDI
UDDI - Universal Description, Discovery and Integration creates a platform-independent, open
framework for describing services, discovering businesses, and integrating business services. It is a
directory service which business can be registered and web services can be searched. It can be used
for locating Information about web services offered by the business partners.
The technical details of how a particular web service has been exposed .
service and so
on.Thus the services registered once with UDDI are accessible from
anywhere on the net. UDDI is helpful both to the web consumer as well as the
programmer this is because UDDI features programmatic discovery of web services.
UDDI can be used for locating technical details about business registrations to be
combined with online market places and search engines to provide advanced search features.
UDDI provides market places and search engines with standardized formats for programmatic
service and business discovery.
ADO.NET - ActiveX Data Objects, Microsoft's high-level interface for data objects.
HTTP - HyperText Transfer Protocol, the underlying protocol used by the World
Wide Web.
SMTP - Simple Mail Transfer Protocol, a protocol for sending e-mail messages
between servers.
19
TCP/IP - Transmission Control Protocol over Internet Protocol. TCP is one of the
main protocols in TCP/IP networks. Whereas the IP protocol deals only with packets, TCP
enables two hosts to establish a connection and exchange streams of data.
20
COM component, or a component class. All ofthese are delivered through a compiled
assembly (DLL) from the Web application,which sits in the bin directory within IISs Web
root. ASP.NET includes some new file
extensions for the different types of pages you can create in your solutions. Thenew
extensions allow ASP.NET to sit alongside ASP 3.0 on the same server withno filename
conflicts.Here is a list of the four most commonly used extensions
.aspx Used for Web Forms and is the replacement for the standard .asp
.asax Used for the Global file and is the replacement for the .asa extension.
Programmable controls
Event-driven programming
XML-based components
Higher scalability
Language Support
ASP .NET uses the new ADO .NET.
ASP .NET supports full Visual Basic, not VBScript.
ASP .NET supports C# (C sharp) and C++.
ASP .NET supports JScript as before.
21
User Authentication
ASP .NET supports forms-based user authentication, including cookie management and
automatic redirecting of unauthorized logins.
High Scalability
Much has been done with ASP .NET to provide greater scalability.
22
Server to server communication has been greatly enhanced, making it possible to scale an
application over several servers. One example of this is the ability to run XML parsers, XSL
transformations and even resource hungry session objects on other servers.
Compiled Code
The first request for an ASP .NET page on the server will compile the ASP .NET code and
keep a cached copy in memory. The result of this is greatly increased performance.
Easy Configuration
Configuration of ASP .NET is done with plain text files.
Configuration files can be uploaded or changed while the application is running. No need
to restart the server. No more metabase or registry puzzle.
Compatibility
ASP .NET is not fully compatible with earlier versions of ASP, so most of the old
ASP code will need some changes to run under ASP .NET. To overcome this problem,
ASP .NET uses a new file extension ".aspx". This will make ASP .NET applications able to
run side by side with standard ASP applications on the same server.
23
3. SYSTEM DESIGN
24
3. SYSTEM DESIGN
3.1 Systems design
Systems design is the process or art of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements. One could see it as the
application of systems theory to product development. There is some overlap and synergy
with the disciplines of systems analysis, systems architecture and systems engineering.
Requirements Analysis
In systems engineering and software engineering, requirements analysis encompasses
those tasks that go into determining the needs or conditions to meet for a new or altered
product, taking account of the possibly conflicting requirements of the various stakeholders,
such as beneficiaries or users. Systematic requirements analysis is also known as requirements
engineering. It is sometimes referred to loosely by names such as requirements gathering,
requirements capture, or requirements specification. The term requirements analysis can also
be applied specifically to the analysis proper (as opposed to elicitation or documentation of
the requirements, for instance).
Requirements analysis is critical to the success of a development project.
Requirements must be actionable, measurable, testable, related to identified business needs
or opportunities, and defined to a level of detail sufficient for system design.
Benchmarking
Benchmarking (also "best practice benchmarking" or "process benchmarking") is a process
used in management and particularly strategic management, in which organizations evaluate
various aspects of their processes in relation to best practice, usually within their own sector.
This then allows organizations to develop plans on how to adopt such best practice, usually
with the aim of increasing some aspect of performance. Benchmarking may be a one-off
25
event, but is often treated as a continuous process in which organizations continually seek to
challenge their practices.
Architectural design - creates a blueprint for the design with the necessary specifications for
the hardware, software, people and data resources. In many cases, multiple architectures are
evaluated before one is selected.
Design designers will produce one or more 'models' of what they see a system eventually
looking like, with ideas from the analysis section either used or discarded. A document will be
produced with a description of the system, but nothing is specific they might say
'touchscreen' or 'GUI operating system', but not mention any specific brands.
Computer programming and debugging in the software world, or detailed design in the
consumer, enterprise or commercial world - specifies the final system components.
System Testing - evaluates the system's actual functionality in relation to expected or
intended functionality, including all integration aspects.
26
Why UML?
Modeling is an activity that has been carried out over the years in software
development. When writing applications by using the simplest languages to the most
powerful and complex languages, you still need to model. Modeling can be as
straightforward as drawing a flowchart listing the steps carried out by an application. Why
do we use modeling? Defining a model makes it easier to break up a complex application
or a huge system into simple, discrete pieces that can be individually studied. We can
focus more easily on the smaller parts of a system and then understand the big picture.
Hence, the reasons behind a modeling can be summed up in two words:
Readability
Reusability
27
Even though there are many techniques and tools for modeling, in this article series ,
we will be concerning our selves with modeling object oriented systems and applications
using the Unified Modeling Language. The UML as it is popularly known by its
TLA(Three letter acronym!),is the language that can be used to model systems and make
them readable. This essentially means that UML provides the ability to capture the
characteristics of a system by using notations. UML provides a wide array of simple, easy
to understand notations for documenting systems based on the object oriented design
principles. This notations are called the nine diagrams of UML.
So the question arises, why is UML the preferred option that should be used for
modeling? Well , the answer lies in one word: standardization!
Different languages have been used for depicting systems using object oriented
methodology. The prominent among these were the Rumbaugh methodology, the Booch
methodology, and the Jacobson methodology.
The problem was that, although each methodology has its advantages, they were
essentially disparate. Hence, if you had to work on different projects that used any of these
methodologies, you had to well verse with each of these methodologies. A very tall order
indeed! The UML is just that. It unifies the design principles of each of these
methodologies into a single, standard, language that can be easily applied across the board
for all object oriented systems. But, unlike the different methodologies that tended more to
the design and detailed design of systems, UML spans the realm of requirements, analysis
and design and, uniquely, implementation as well. The beauty of UML lies in the fact that
any of the nine diagrams of UML can be used on an incremental basis as the need arises.
For example, if you need to model requirements for a given system, you can use the use
case diagrams only without using the other diagrams in UML. Considering all these
reasons, it is no wonder that UML is considered the language of choice.
28
UML does not have any dependencies with respect to any technologies or languages.
This implies that you can use UML to model applications and systems based of the current
hot technologies.
29
Explanation
In the figure 3.2.1.1 the user and the server are the actors. The GPS location service runs
on the central server. The device coordinates are updated on the central server. They are used
by the GPS client.
In the figure 3.2.1.2 the user and the server are the actors. The Race Course Map is
monitored by the user on the Footrace Application Server.
In the figure 3.2.1.3 the user, server and the GPS Device are the actors. The Race Course
Display is updated on the Central Server using the Real-Time Updates i.e., the latitude and
longitude values provided by the GPS Device. The Real-Time Updates will be in the form of
an XML file.
In the figure 3.2.1.4 the user and the Advertisement Server are the actors. The
advertisement content of various Companies and Sponsors for the event is displayed on the
advertisement Server as well as on GPS enabled Mobile devices.
30
GPS Services
User
Checks information
on central server
Updates the
device coordinates
Figure 3.3.1.1 GPS Communication Subsystem
31
Server
User
Server
32
Information about
latitudes and longitudes
GPS device
Real-Time
updates
Server
User
33
User
Advertisement
content
GPS device
34
Advertisement
server
: User
GPS
Communication
Race Course
Real Time
Updates
Advertisement
Communicates
35
Race Course
Drawing System
GPS Communication
Subsystem
6:Gets Initial
longitude &
latitude values
1:Establish Connection
2:Get service info
3:Access longitude
& latitude values
5:*Display Map
8:*Gets Updated longitude
& latitude information
Server
36
Footarce(CentralServer)
display()
cal_coordinates()
get_updcoordinates()
Race-Course subsystem
location : String
latitude : number
longitude : number
RealTimeUpdates
location : String
latitude : number
longitude : number
Get_coordinates()
Get_updcoordinates()
drawsmap()
Get_Coordinates()
perform_updations()
37
Server
Constructs the
map
Access
Information
Display
Map
Updates of latitude
And longitude
Yes
Access longitude&
Latitude values
Any
Updates
No
38
4. ARCHITECTURE
39
4. ARCHITECTURE
4.1 Software Architecture
The software architecture of a program or computing system is the structure or structures
of the system, which comprise software components, the externally visible properties of those
components, and the relationships between them. The term also refers to documentation of a
system's software architecture. Documenting software architecture facilitates communication
between stakeholders, documents early decisions about high-level design, and allows reuse of
design components and patterns between projects.
4.2 Working
In all there are 4 modules,namely
a) GPS Communication Subsystem
b) Race Course Drawing Subsystem
c) Real-Time Updates
d) Advertisement Subsystem
Initially the GPS Communication Subsystem communicates with the Footrace Application
Server by sending a request for Device Co-ordinates.The Footrace Application Server
requests the Race Course Drawing Subsystem for mapping service.The Race Course Drawing
Subsystem displays the map.
The Footrace Application Server gets context information from the Real-Time Updates
module. The athletes position is forwarded to the Footrace Application Server in the form of
an XML file. Finally the advertisement content of various companies, organizations and
sponsors for the event is displayed on the Footrace Application Server.
40
41
5. CODE
42
5. CODE
/* Code for GPS Communication Subsystem */
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using gps;
namespace gpstest
{
class Program
{
static void Main(string[] args)
{
XmlSerializer ser = new XmlSerializer(typeof(gpxType));
using (FileStream str = new FileStream("DamLoop.gpx", FileMode.Open))
{
gpxType info = (gpxType)ser.Deserialize(str);
if (info.trk != null)
{
OutputTracks(info.trk);
}
}
XmlSerializer ser1 = new XmlSerializer(typeof(gpxType));
using (FileStream str1 = new FileStream("DamLoop2.gpx", FileMode.Open))
{
gpxType info = (gpxType)ser1.Deserialize(str1);
if (info.trk != null)
{
OutputTracks(info.trk);
}
}
}
static void OutputTracks(trkType[] tracks)
{
Console.WriteLine("{0} Tracks", tracks.Length);
43
static void GetCourseAndDistance(wptType pt1, wptType pt2, ref double course, ref
double dist)
{
44
45
using System.Xml.Serialization;
using gps;
using gpstest;
namespace gps
{
class gpxutil
{
private gpxutil()
{
}
public static string LatLonToString(double lat, double lon)
{
string latDir = (lat >= 0) ? "N" : "s";
string lonDir = (lon >= 0) ? "E" : "W";
double tLat = Math.Abs(lat);
double tLon = Math.Abs(lon);
double flat = (tLat - Math.Truncate(tLat)) * 60;
double flon = (tLon - Math.Truncate(tLon)) * 60;
string slat = string.Format("{0}{1}{2}", latDir, Math.Truncate(tLat),
flat.ToString("#.000"));
string slon = string.Format("{0}{1}{2}", lonDir, Math.Truncate(tLon),
flon.ToString("#.000"));
return string.Format("{0}{1}", slat, slon);
}
public static void GetCourseAndDistance(wptType pt1, wptType pt2, ref double course,
ref double dist)
{
double lat1 = DegreesToRadians((double)pt1.lat);
double lon1 = DegreesToRadians((double)pt1.lon);
double lat2 = DegreesToRadians((double)pt2.lat);
double lon2 = DegreesToRadians((double)pt2.lon);
double dlat = lat2 - lat1;
double dlon = lon2 - lon1;
double distanceNorth = dlat;
double distanceEast = dlon * Math.Cos(lat1);
dist = Math.Sqrt(distanceNorth * distanceNorth + distanceEast * distanceEast);
46
dist = RadiansToMeters(dist);
double dele = (double)pt2.ele - (double)pt1.ele;
dist = Math.Sqrt(dist * dist + dele * dele);
course = Math.Atan2(distanceEast, distanceNorth) % (2 * Math.PI);
course = RadiansToMeters(course);
if (course < 0)
course += 360;
}
static double DegreesToRadians(double degrees)
{
return degrees * Math.PI / 180.0;
}
static double RadiansToDegrees(double radians)
{
return radians * 180.0 / Math.PI;
}
static double RadiansToNauticalMiles(double radians)
{
return radians * 60 * 180 / Math.PI;
}
static double RadiansToMeters(double radians)
{
return 1852 * RadiansToNauticalMiles(radians);
}
}
}
47
6. TESTING
48
6. TESTING
Once the source code has been generated, the software must be tested to uncover as
many errors as possible before delivery to the customer. Software testing is a critical
element of software quality assurance and represents the ultimate review of
specification design and code generation.
A good test case is one that has a high probability of finding an as yet
Undiscovered.
49
Manual testing can be replaced by test automation. It is possible to record and playback
manual steps and write automated test script(s) using Test automation tools. Although, test
automation tools will only help execute test scripts written primarily for executing a particular
specification and functionality. Test automation tools lack the ability of decision-making and
recording any unscripted discrepancies during program execution. It is recommended that one
should perform manual testing of the entire product at least a couple of times before actually
deciding to automate the more mundane activities of the product.
Despite the proliferation of automated solutions, manual testing still accounts for at least
80% of all testing. Automation can only be justified where repeatable consistent tests can be
run over a stable environment. When this isn't the case (i.e. during the early stages of the test
cycle), then testing teams almost always revert back to manual testing. So manual testing is
here to stay! Here are some reasons why...
Business critical / Heavily tested software
With constantly changing applications, automation can simply be too daunting. New to
testing, those that are new to testing may not want to dive right in to complex automation
tools. Using a tool such as TestDrive-Assist can provide an easy and cost effective way to gain
real advantages in a short space of time and use it as a springboard to full automation. Script
based automation tools not living up to their hype: Many people still find that despite
investing in script based automation solutions this only covers 10-20% of their total testing.
The rest is still carried out manually. Full Automation simply not appropriate: You may be
testing new functionality, or a new platforms/OS. Or there maybe insufficient time and/or
skills to develop test scripts. Agile Development: With Agile development techniques, there is
no place for traditional automation tools because they take too long to set up and need to be
re-scripted after the first change to the application.
Manual testing helps discover defects related to the usability testing and GUI testing area.
While performing manual tests the software application can be validated whether it meets the
various standards defined for effective and efficient usage and accessibility. For example, the
standard location of the OK button on a screen is on the left and of CANCEL button on the
right. During manual testing you might discover that on some screen, it is not. This is a new
50
defect related to the usability of the screen. In addition, there could be many cases where the
GUI is not displayed correctly and the basic functionality of the program is correct. Such bugs
are not detectable using test automation tools.
Repetitive manual testing can be difficult to perform on large software applications or
applications having very large dataset coverage. This drawback is compensated for by using
manual black-box testing techniques including equivalence partitioning and boundary value
analysis. Using which, the vast dataset specifications can be divided and converted into a
more manageable and achievable set of test suites.
A manual tester would typically perform the following steps for manual testing:
1. Understand the functionality of program
2. Prepare a test environment
3. Execute test case(s) manually
4. Verify the actual result
5. Record the result as Pass or Fail
6. Make a summary report of the Pass and Fail test cases
7. Publish the report
8. Record any new defects uncovered during the test case execution
Test automation has become a necessity mainly due to shorter deadlines for performing
test activities, such as regression testing, performance testing, and load testing.
51
Test Objective: With the Gpx schema file as input generating c# file.
Test setup precondition: Entering the correct command at the command prompt
Actions
Saving schema file with .xsd
Expected Result
Xml format
extension
Writing a command at the
C# file
command prompt.
Incorrect command at the
command prompt.
Problems/Issues: None
52
Expected Result
Map is displayed.
Problems/Issues: None
Notes: Successfully tested and executed.
53
Expected Result
application.
Incorrect applications.
Incorrect values.
Problems/Issues: None
54
7. SCREEN SHOTS
55
7. SCREEN SHOTS
Screen 7.1
56
Screen 7.2
The command xsd gpx.xsd /classes /languages:cs /namespace:gpstest is used to generate
the C# file.
57
Screen 7.3
Upon running the C# file we get the latitude, longitude, elevation, time, distance values.
58
Screen 7.4
Pocket PC is the device on which race updates and alarms can be received.
59
Screen 7.5
Initially, the values are set to Zero.
60
Screen 7.6
Raw Data that is being relayed by the GPS device tied to the contestants wrist.
61
Screen 7.7
The location of the runner in terms of latitude, longitude, altitude, direction. The speed of the
runner can also be viewed. Apart from this the satellite time & local time can also be viewed.
62
Screen 7.8
As the race progresses the speed, direction, latitude, longitude values keep changing.
63
Screen 7.9
Configuring the data source as XML file.
64
Screen 7.10
Selecting the XML File.
65
Screen 7.11
Selecting the 1st Damloop file.
66
Screen 7.12
Selecting the 2nd Damloop file.
67
Screen 7.13
The map of the race course with the advertisements of the sponsors.
68
8. CONCLUSION
69
8. CONCLUSION
Only GPS enabled mobile users are facilitated to get the updates of the race.
It is expensive, as all the participants should be provided GPS Devices.
Only the status of the participant can be known but the original picture cannot be viewed.
If the communication with the satellites fails then the whole process gets crashed.
A satellite signals down as it passes through inclement weather.
At times, the satellites may provide inaccurate information.
70
9. APPENDIX
71
9. APPENDIX
ABBREVIATIONS
72
g. Equator
An imaginary line, or one drawn on a map, around the earth at an equal distance from North
and South Poles.
h. Footrace
Footrace is defined as the race run by contestants on foot.
j. GPX
GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of
GPS data (waypoints, routes, and tracks) between applications and Web services on the
Internet.
k. Greenwich Meridian
00 LONGITUDE which passes through the North and South Poles and Greenwich, England.
l. Latitude
Lines of Latitude are the horizontal lines running from east-to-west on maps. It is the distance
of a place north or south of the EQUATOR, measured in degrees.
m. Log
A written record of events on a voyage (of a ship or plane).
n. Longitude
Lines of Longitude are the lines running from north-to-south on maps. It is the distance east or
west of the Greenwich MERIDIAN, measured in degrees.
o. Meridian
Any imaginary circle round the earth that passes through both the North and South Poles.
p. Nautical Mile
A nautical mile or sea mile is a unit of length.It corresponds approximately to one minute of
latitude along any meridian. 1 nautical mile = 1,852 meters.
73
q. North Pole
The northernmost point of the Earth's axis.
r. Radian
The unit of plane angle adopted under the Systeme International d'Unites. Equal to the angle
at the centre of a circle subtended by an arc equal in length to the radius (approximately
57.295 degrees).
s. Route
In GPS navigation, a route is usually defined as a series of one or more waypoints.
t. South Pole
The southernmost point of the Earth's axis.
u. Track
A track, also course over ground, is the actual path followed by a moving body.
v. Tracking Devices
A GPS tracking unit is a device that uses the GPS to determine the precise location of person
to which it is attached and to record the position of the asset at regular intervals. The recorded
location data can be stored within the tracking unit or it may be transmitted to a central
location database.
w. Waypoint
A waypoint is a reference point in physical space used for purposes of navigation. Waypoints
are sets of coordinates that identify a point in physical space.
x. XML
XML is a makup language for documents containing structured information. A markup
language is a mechanism to identify structures in a document.
y. XML Schema
An XML schema describes the structure of an XML document and also describes the various
constraints on the data in the document.
74
z. XML Serialization
It is the process of converting XML documents and streams to common language runtime
objects and vice versa.
75
10. BIBLIOGRAPHY
76
BIBLIOGRAPHY
Book References
SOFTWARE ENGINEERING
By Roger .S. Pressman
Mastering C#.NET
By Microsoft Press
C# Complete Reference
MSDN 2003
By Microsoft
Web References
http://msdn.Microsoft.com MSDN for Dotnet
http://ASP.NET
http://www.google.com
http://www.wikipedia.org
http://www.mhhe.com
http://c-charpcorner.com
77