Top Banner
1. INTRODUCTION 1.1 INTRODUCTION TO GIS A geographic information system (GIS), geographical information system, or geospatial information system is the system that captures, stores, analyzes, manages, and presents data with reference to geographic location data. In the simplest terms, GIS is the merging of cartography, statistical analysis, and database technology. GIS may be used in archaeology, geography, cartography, remote sensing, land surveying, public utility management, natural resource management, precision agriculture, urban planning, emergency management, landscape architecture, navigation, aerial video, and localized search engines. As GIS can be thought of as a system, it digitally creates and "manipulates" spatial areas that may be jurisdictional, purpose or application oriented for which a specific GIS is developed. Hence, a GIS developed for an application, jurisdiction, enterprise, or purpose may not be necessarily interoperable or compatible with a GIS that has been developed for some other application, jurisdiction, enterprise, or purpose. What goes beyond a GIS is a spatial data infrastructure (SDI), a concept that has no such restrictive boundaries. Therefore, in a general sense, the 1
98

GIS Documentation FINAL

Nov 28, 2014

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GIS Documentation FINAL

1. INTRODUCTION

1.1 INTRODUCTION TO GIS

A geographic information system (GIS), geographical information system,

or geospatial information system is the system that captures, stores, analyzes, manages,

and presents data with reference to geographic location data. In the simplest terms, GIS is

the merging of cartography, statistical analysis, and database technology. GIS may be

used in archaeology, geography, cartography, remote sensing, land surveying, public

utility management, natural resource management, precision agriculture,  urban planning,

emergency management, landscape architecture, navigation, aerial video, and localized

search engines.

As GIS can be thought of as a system, it digitally creates and "manipulates"

spatial areas that may be jurisdictional, purpose or application oriented for which a

specific GIS is developed. Hence, a GIS developed for an application, jurisdiction,

enterprise, or purpose may not be necessarily interoperable or compatible with a GIS that

has been developed for some other application, jurisdiction, enterprise, or purpose. What

goes beyond a GIS is a spatial data infrastructure (SDI), a concept that has no such

restrictive boundaries. Therefore, in a general sense, the term describes any information

system that integrates , stores, edits, analyzes, shares, and

displays geographic information for informing decision making. GIS applications are

tools that allow users to create interactive queries (user-created searches),

analyze spatial information, edit data, maps, and present the results of all these

operations.

1.2 HISTORY OF DEVELOPMENT

In 1854, John snow depicted a cholera outbreak in London using points to represent the

locations of some individual cases, possibly the earliest use of the geographic

1

Page 2: GIS Documentation FINAL

method. His study of the distribution of cholera led to the source of the disease, a

contaminated water pump within the heart of the cholera outbreak.

While the basic elements of  topography and theme existed previously in cartography, the

John Snow map was unique, using cartographic methods not only to depict but also to

analyze clusters of geographically dependent phenomena for the first time.

The early 20th century saw the development of photolithography, by which maps were

separated into layers. Computer hardware development spurred by nuclear

weapon research led to general-purpose computer "mapping" applications by the early

1960s.

The year 1960 saw the development of the world's first true operational GIS in Ottawa,

Ontario, Canada by the federal Department of Forestry and Rural Development.

Developed by Dr. Roger Tomlinson, it was called the "Canada Geographic Information

System" (CGIS) and was used to store, analyze, and manipulate data collected for

the Canada Land Inventory (CLI) – an effort to determine the land capability for rural

Canada by mapping information about soils, agriculture, recreation, wildlife, waterfowl,

forestry, and land use at a scale of 1:50,000. A rating classification factor was also added

to permit analysis.

2

Page 3: GIS Documentation FINAL

CGIS was the world's first such system and an improvement over "mapping" applications

as it provided capabilities for overlay, measurement, and digitizing/scanning. It supported

a national coordinate system that spanned the continent, coded lines as "arcs" having a

true embedded topology, and it stored the attribute and locational information in separate

files. As a result of this, Tomlinson has become known as the "father of GIS,"

particularly for his use of overlays in promoting the spatial analysis of convergent

geographic data. CGIS lasted into the 1990s and built a large digital land resource

database in Canada. It was developed as a mainframe based system in support of federal

and provincial resource planning and management. Its strength was continent-wide

analysis of complex datasets. The CGIS was never available in a commercial form.

1.3 GIS UNCERTAINTIES

GIS accuracy depends upon source data, and how it is encoded to be data

referenced. Land Surveyors have been able to provide a high level of positional accuracy

utilizing the GPS derived positions.[Retrieved from Federal Geographic Data Committee]

the high-resolution digital terrain and aerial imagery, [Retrieved NJGIN] the powerful

computers, Web technology, are changing the quality, utility, and expectations of GIS to

serve society on a grand scale, but nevertheless there are other source data that has an

impact on the overall GIS accuracy like: paper maps that are not found to be very suitable

to achieve the desired accuracy since the aging of maps affects their dimensional

stability.

In developing a Digital Topographic Data Base for a GIS, topographical maps are

the main source of data. Aerial photography and satellite images are extra sources for

collecting data and identifying attributes which can be mapped in layers over a location

facsimile of scale. The scale of a map and geographical rendering area representation

type are very important aspects since the information content depends mainly on the scale

set and resulting locatability of the map's representations. In order to digitize a map, the

map has to be checked within theoretical dimensions, then scanned into a raster format,

3

Page 4: GIS Documentation FINAL

and resulting raster data has to be given a theoretical dimension by a rubber

sheeting/warping technology process.

Uncertainty is a significant problem in designing a GIS because spatial data tend to be

used for purposes for which they were never intended. Some maps were made many

decades ago, where at that time the computer industry was not even in its perspective

establishments. This has led to historical reference maps without common norms. Map

accuracy is a relative issue of minor importance in cartography. All maps are established

for communication ends. Maps use a historically constrained technology of pen and paper

to communicate a view of the world to their users. Cartographers feel little need to

communicate information based on accuracy, for when the same map is digitized and

input into a GIS, the mode of use often changes. The new uses extend well beyond a

determined domain for which the original map was intended and designed.

A quantitative analysis of maps brings accuracy issues into focus. The electronic

and other equipment used to make measurements for GIS is far more precise than the

machines of conventional map analysis [Retrieved USGS]. The truth is that all

geographical data are inherently inaccurate, and these inaccuracies will propagate

through GIS operations in ways that are difficult to predict, yet have goals of conveyance

in mind for original design. Accuracy Standards for 1:24000 Scales Map: 1:24,000 ±

40.00 feet

This means that when we see a point or attribute on a map, its "probable" location

is within a +/- 40 foot area of its rendered reference, according to area representations and

scale.

A GIS can also convert existing digital information, which may not yet be in map form,

into forms it can recognize, employ for its data analysis processes, and use in forming

mapping output. For example, digital satellite images generated through remote

sensing can be analyzed to produce a map-like layer of digital information about

vegetative covers on land locations. Another fairly recently developed resource for

naming GIS location objects is the Getty Thesaurus of Geographic Names (GTGN),

which is a structured vocabulary containing about 1,000,000 names and other information

about places.

4

Page 5: GIS Documentation FINAL

1.4 DATA REPRESENTATION

1.4.1 RASTER

A raster data type is, in essence, any type of digital image represented by

reducible and enlargeable grids. Anyone who is familiar with digital photography will

recognize the Raster graphics pixel as the smallest individual grid unit building block of

an image, usually not readily identified as an artifact shape until an image is produced on

a very large scale. A combination of the pixels making up an image color formation

scheme will compose details of an image, as is distinct from the commonly used points,

lines, and polygon area location symbols of scalable vector graphics as the basis of the

vector model of area attribute rendering. While a digital image is concerned with its

output blending together its grid based details as an identifiable representation of reality,

in a photograph or art image transferred into a computer, the raster data type will reflect a

digitized abstraction of reality dealt with by grid populating tones or objects, quantities,

cojoined or open boundaries, and map relief schemas. Aerial photos are one commonly

used form of raster data, with one primary purpose in mind: to display a detailed image

on a map area, or for the purposes of rendering its identifiable objects by digitization.

Additional raster data sets used by a GIS will contain information regarding elevation,

a digital elevation model, or reflectance of a particular wavelength of light, Landsat, or

other electromagnetic spectrum indicators.

Digital elevation model, map (image), and vector data

5

Page 6: GIS Documentation FINAL

Raster data type consists of rows and columns of cells, with each cell storing a

single value. Raster data can be images (rasterimages) with each pixel (or cell) containing

a color value. Additional values recorded for each cell may be a discrete value, such as

land use, a continuous value, such as temperature, or a null value if no data is available.

While a raster cell stores a single value, it can be extended by using raster bands to

represent RGB (red, green, blue) colors, colormaps (a mapping between a thematic code

and RGB value), or an extended attribute table with one row for each unique cell value.

The resolution of the raster data set is its cell width in ground units.

Raster data is stored in various formats; from a standard file-based structure of TIF,

JPEG, etc. to binary large object (BLOB) data stored directly in a relational database

management system (RDBMS) similar to other vector-based feature classes. Database

storage, when properly indexed, typically allows for quicker retrieval of the raster data

but can require storage of millions of significantly sized records.

VECTOR

In a GIS, geographical features are often expressed as vectors, by considering those

features as geometrical shapes. Different geographical features are expressed by different

types of geometry:

Points

6

Page 7: GIS Documentation FINAL

A simple vector map, using each of the vector elements: points for wells, lines for rivers, and

a polygon for the lake.

Zero-dimensional points are used for geographical features that can best be

expressed by a single point reference — in other words, by simple location.

Examples include wells, peaks, features of interest, and trailheads. Points convey

the least amount of information of these file types. Points can also be used to

represent areas when displayed at a small scale. For example, cities on a map of

the world might be represented by points rather than polygons. No measurements

are possible with point features.

Lines  or polylines

One-dimensional lines or polylines are used for linear features such as rivers,

roads, railroads, trails, and topographic lines. Again, as with point features, linear

features displayed at a small scale will be represented as linear features rather

than as a polygon. Line features can measure distance.

Polygons

Two-dimensional polygons are used for geographical features that cover a

particular area of the earth's surface. Such features may include lakes, park

boundaries, buildings, city boundaries, or land uses. Polygons convey the most

amount of information of the file types. Polygon features can measure perimeter

and area.

Each of these geometries are linked to a row in a database that describes

their attributes. For example, a database that describes lakes may contain a

lake's depth, water quality, pollution level. This information can be used to

make a map to describe a particular attribute of the dataset. For example,

lakes could be coloured depending on level of pollution. Different

geometries can also be compared. For example, the GIS could be used to

identify all wells (point geometry) that are within one kilometre of a lake

(polygon geometry) that has a high level of pollution.

Vector features can be made to respect spatial integrity through the

application of topology rules such as 'polygons must not overlap'. Vector

data can also be used to represent continuously varying

phenomena. Contour lines and triangulated irregular networks (TIN) are

7

Page 8: GIS Documentation FINAL

used to represent elevation or other continuously changing values. TINs

record values at point locations, which are connected by lines to form an

irregular mesh of triangles. The face of the triangles represent the terrain

surface.

ADVANTAGES AND DISADVANTAGES

There are some important advantages and disadvantages to using a raster or vector data

model to represent reality:

Raster datasets record a value for all points in the area covered which may require

more storage space than representing data in a vector format that can store data only

where needed.

Raster data allows easy implementation of overlay operations, which are more

difficult with vector data.

Vector data can be displayed as vector graphics used on traditional maps, whereas

raster data will appear as an image that may have a blocky appearance for object

boundaries. (depending on the resolution of the raster file)

Vector data can be easier to register, scale, and re-project, which can simplify

combining vector layers from different sources.

Vector data is more compatible with relational database environments, where they

can be part of a relational table as a normal column and processed using a multitude

of operators.

Vector file sizes are usually smaller than raster data, which can be 10 to 100 times

larger than vector data (depending on resolution).

Vector data is simpler to update and maintain, whereas a raster image will have to

be completely reproduced. (Example: a new road is added).

Vector data allows much more analysis capability, especially for "networks" such

as roads, power, rail, telecommunications, etc. (Examples: Best route, largest port,

airfields connected to two-lane highways). Raster data will not have all the

characteristics of the features it displays.

8

Page 9: GIS Documentation FINAL

2. ANALYSIS

2.1 SOFTWARE REQUIREMENT SPECIFICATION

Software requirement: Visual Studio .Net 2005

Web Based Framework ASP.NET and AJAX

Language for Development C#.NET

Visual Studio .Net Framework (Minimal for Deployment)

SQL Server 2005

Hardware requirement

PIII 500MHZ or above

Client Operating System - Windows-XP

Server Operating System - Windows 2003

Web Server - IIS

3. DESIGN

3.1 INTRODUCTION

SOFTWARE ENGINEERING PARADIGM APPLIED- (RAD-

MODEL)

The two design objectives continuously sought by developers are reliability

and maintenance.

Reliable System

9

Page 10: GIS Documentation FINAL

There are two levels of reliability. The first is meeting the right requirements.

A careful and through systems study is needed to satisfy this aspect of reliability. The

second level of systems reliability involves the actual working delivered to the user. At

this level, the systems reliability is interwoven with software engineering and

development. There are three approaches to reliability.

Error avoidance: Prevents errors from occurring in software.

Error detection and correction:

In this approach errors are recognized whenever they are encountered and

correcting the error by effect of error, of the system does not fail.

Error tolerance:

In this approach errors are recognized whenever they occur, but enables the

system to keep running through degraded perform or by applying values that instruct the

system to continue process.

Maintenance:

The key to reducing need for maintenance, while working, if possible to do

essential tasks.

More accurately defining user requirement during system development.

Assembling better systems documentation.

Using more effective methods for designing, processing, login and communicating information with project team members.

Making better use of existing tools and techniques.

Managing system engineering process effectively.

10

Page 11: GIS Documentation FINAL

Output Design

One of the most important factors of an information system for the user is the

output the system produces. Without the quality of the output, the entire system may

appear unnecessary that will make us avoid using it possibly causing it to fail. Designing

the output should process the in an organized well throughout the manner. The right

output must be developed while ensuring that each output element is designed so that

people will find the system easy to use effectively.

The term output applying to information produced by an information system

whether printed or displayed while designing the output we should identify the specific

output that is needed to information requirements select a method to present the

formation and create a document report or other formats that contains produced by the

system.

Types of output

Whether the output is formatted report or a simple listing of the contents of a file,

a computer process will produce the output.

A Document

A Message

Retrieval from a data store

Transmission from a process or system activity

Directly from an output sources

Layout Design

It is an arrangement of items on the output medium. The layouts are building a

mockup of the actual reports or document, as it will appear after the system is in

11

Page 12: GIS Documentation FINAL

operation. The output layout has been designated to cover information. The outputs are

presented in the appendix.

Input design and control

Input specifications describe the manner in which data enter the system for

processing. Input design features will ensure the reliability of the systems and produce

results from accurate data, or thus can be result in the production of erroneous

information. The input design also determines whenever the user can interact efficiently

with this system.

Objectives of input design

Input design consists of developing specifications and procedures for data

preparation, the steps necessary to put transaction data into a usable from for processing

and data entry, the activity of data into the computer processing. The five objectives of

input design are:

Controlling the amount of input

Avoiding delay

Avoiding error in data

Avoiding extra steps

Keeping the process simple

Controlling the amount of input

Data preparation and data entry operation depend on people, because labor costs

are high, the cost of preparing and entering data is also high. Reducing data requirement

12

Page 13: GIS Documentation FINAL

expense. By reducing input requirement the speed of entire process from data capturing

to processing to provide results to users.

Avoiding delay

The processing delay resulting from data preparation or data entry operations is called

bottlenecks. Avoiding bottlenecks should be one objective of input.

Avoiding errors

Through input validation we control the errors in the input data.

Avoiding extra steps

The designer should avoid the input design that cause extra steps in processing saving or

adding a single step in large number of transactions saves a lot of processing time or

takes more time to process.

Keeping process simple

If controls are more people may feel difficult in using the systems. The best-designed

system fits the people who use it in a way that is comfortable for them.

NORMALIZATION

It is a process of converting a relation to a standard form. The process is used to

handle the problems that can arise due to data redundancy i.e. repetition of data in the

database, maintain data integrity as well as handling problems that can arise due to

insertion, updation , deletion anomalies. Decomposing is the process of splitting relations

into multiple relations to eliminate anomalies and maintain anomalies and maintain data

13

Page 14: GIS Documentation FINAL

integrity. To do this we use normal forms or rules for structuring relation.Insertion

anomaly: Inability to add data to the database due to absence of other data.

Deletion anomaly

Unintended loss of data due to deletion of other data.

Update anomaly

Data inconsistency resulting from data redundancy and partial update

Normal Forms

These are the rules for structuring relations that eliminate anomalies.

First Normal Form

A relation is said to be in first normal form if the values in the relation are atomic

for every attribute in the relation. By this we mean simply that no attribute value can be a

set of values or, as it is sometimes expressed, a repeating group.

Second Normal Form

A relation is said to be in second Normal form is it is in first normal form and it

should satisfy any one of the following rules.

Primary key is a not a composite primary key

No non key attributes are present.Every non key attribute is fully functionally dependent

on full set of primary key.

Third Normal Form

14

Page 15: GIS Documentation FINAL

A relation is said to be in third normal form if their exits no transitive

dependencies.

Transitive Dependency: If two non key attributes depend on each other as well as on the

primary key then they are said to be transitively dependent.

The above normalization principles were applied to decompose the data in

multiple tables thereby making the data to be maintained in a consistent state.

3.2 DATA FLOW DIAGRAMS

Fig1:For displaying Livestock/soil health images related to a village.

15

Page 16: GIS Documentation FINAL

User Display village names Village_info table

Select a village from the list

Select Livestock/Soil health/rainfall/temp.. info

Display the corresponding info to user

Fig2: DFD related to Displaying Settlement of Village based on Family

16

Page 17: GIS Documentation FINAL

User

Select a village from the list

Display village names Village_info table

Select category(familycode) household_info

Display the map with corresponding info

Fig3: DFD related to Displaying Information by Clicking on Polygon

User Select a village from the list Village_info table

Select a village from the list

Display cadastral map

Select the survey number

display the info when doubleclicked on it

17

Page 18: GIS Documentation FINAL

Fig4: Selecting features based on Query

User Display village names Village_info table

Select a village from the list

Select a categorycategory_info table

Display the corresponding category image to user(area reserved fordoree/wells)

18

Page 19: GIS Documentation FINAL

Fig5: DFD Report generation

User Display village names Village_info table

Select a village from the list

Select a category category_info table

data will be populated from corresponding tables(Health/Gender/Houses..etc)Select reporting type

Select Destination(printer/screen)

Display/print the report

19

Page 20: GIS Documentation FINAL

3.3 USE CASE DIAGRAMS

Use Case diagrams identify the functionality provided by the system (use cases),

the users who interact with the system (actors), and the association between the users and

the functionality. Use Cases are used in the Analysis phase of software development to

articulate the high-level requirements of the system. The primary goals of Use Case

diagrams include:

Providing a high-level view of what the system does

Identifying the users ("actors") of the system

Determining areas needing human-computer interfaces

Use Cases extend beyond pictorial diagrams. In fact, text-based use case descriptions are

often used to supplement diagrams, and explore use case functionality in more detail.

Graphical Notation

The basic components of Use Case diagrams are the Actor, the Use Case, and the

Association.

Actor

An Actor, as mentioned, is a user of the system,

and is depicted using a stick figure. The role of

the user is written beneath the icon. Actors are

not limited to humans. If a system communicates

with another application, and expects input or

delivers output, then that application can also be

considered an actor.

Use Case

A Use Case is functionality provided by the

system, typically described as verb+object (eg.

Register Car, Delete User). Use Cases are

depicted with an ellipse. The name of the use

case is written within the ellipse.

20

Page 21: GIS Documentation FINAL

Associatio

n

Associations are used to link Actors with Use

Cases, and indicate that an Actor participates in

the Use Case in some form. Associations are

depicted by a line connecting the Actor and the

Use Case.

The following image shows how these three basic elements work together to form a use

case diagram.

Text Notation

Behind each Use Case is a series of actions to achieve the proper functionality, as

well as alternate paths for instances where validation fails, or errors occur. These actions

can be further defined in a Use Case description. Because this is not addressed in UML

1.4, there are no standards for Use Case descriptions. However, there are some common

templates you can follow, and whole books on the subject writing of Use Case

descriptions.

Common methods of writing Use Case descriptions include:

Write a paragraph describing the sequence of activities in the Use Case

List two columns, with the activities of the actor and the responses by the system

Use a template (such as those from the Rational Unified Process or Alistair

Cockburn's book, Writing Effective Use Cases) identifying actors, preconditions,

post conditions, main success scenarios, and extensions.

Remember, the goal of the process is to be able to communicate the requirements of

the system, so use whichever method is best for your team and your organization. Here

are examples of a paragraph and template use case description for our Use Case Diagram:

21

Page 22: GIS Documentation FINAL

Create Bug Report (Paragraph Version)

The Tester initiates a new bug report. The Tester indicates the source of the bug, a

description of the problem, and the person to whom the bug should be assigned. The

System records the bug as an open issue, and notifies the Assigned Person that a new bug

has been submitted.

Create Bug Report (Template Version)

Primary Actor: Tester

Goal in Context:Tester is testing an application and discovers a new bug. He/She

wants to report it so that it can be addressed.

Scope: System - the quality assurance system for the XYZ Application

Level: User

Stakeholders and

Interests:

Tester: wants to record a new bug

Assigned: wants to be notified of any new bugs

QA Manager: wants all bugs recorded

Precondition: none

Trigger: Tester discovers a bug while testing an application

Main Success

Scenario:

1. Tester initiates a new bug report.

2. System records bug with date of issuing.

3. System notifies assigned user.

Extensions:1a. Tester does not know who to assign bug report to: System

assigns bug to QA Manager.

22

Page 23: GIS Documentation FINAL

USE CASE DIAGRAM 1:

System

User

Household information from the area of Interest

Satellite Imagery of that specific area

Available infrastructure facilities

BPL information

Watershed structures

NREGS works

extract layers of each geographic feature

23

Page 24: GIS Documentation FINAL

USE CASE DIAGRAM 2:

System

user

get the LiveStock Information of a village

get the Soil Health Information of a villeage

get the Rain fall Information of a village

get the Temperature information of a village

24

Page 25: GIS Documentation FINAL

USE CASE DIAGRAM 3:

System

User

view household assets report

View the details of aniamls report

view the health report

view the power supply details report

25

Page 26: GIS Documentation FINAL

USE CASE DIAGRAM 4:

System

User

Displaying Setlement of a village

Village name

Familycode

<<include>>

<<include>>

26

Page 27: GIS Documentation FINAL

USE CASE DIAGRAM 5:

System

User

Displaying Information by Clicking on Polygon

Displaying Cadastral Map based on Survey Number

<<extend>>

Cadastre Map displayed Land Category wise

<<extend>>

Based on Account holder

<<extend>>

USE CASE DIAGRAM 6:

27

Page 28: GIS Documentation FINAL

System

UserSelecting a category for display on map

Area reserved for Doree

Area reserved for wells

<<extend>>

<<extend>>

4. IMPLEMENTATION & RESULTS

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 provide a consistent object-oriented programming environment whether object

code is stored and executed locally, executed locally but Internet-distributed, or

executed remotely.

To provide a code-execution environment that minimizes software deployment

and versioning conflicts.

To provide a code-execution environment that guarantees safe execution of code,

including code created by an unknown or semi-trusted third party.

To provide a code-execution environment that eliminates the performance

problems of scripted or interpreted environments.

28

Page 29: GIS Documentation FINAL

To make the developer experience consistent across widely varying types of

applications, such as Windows-based applications and Web-based applications.

To build all communication on industry standards to ensure that code based on the

.NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language runtime and

the .NET Framework class library. The common language runtime is the foundation of

the .NET Framework. You can think of the runtime as an agent that manages code at

execution time, providing core services such as memory management, thread

management, and remoting , while also enforcing strict type safety and other forms of

code accuracy that ensure security and robustness. In fact, the concept of code

management is a fundamental principle of the runtime. Code that targets the runtime is

known as managed code, while code that does not target the runtime is known as

unmanaged code. The class library, the other main component of the .NET Framework, is

a comprehensive, object-oriented collection of reusable types that you can use to develop

applications ranging from traditional command-line or graphical user interface (GUI)

applications to applications based on the latest innovations provided by ASP.NET, such

as Web Forms and XML Web services.

The .NET Framework can be hosted by unmanaged components that load the

common language runtime into their processes and initiate the execution of managed

code, thereby creating a software environment that can exploit both managed and

unmanaged features. The .NET Framework not only provides several runtime hosts, but

also supports the development of third-party runtime hosts.

For example, ASP.NET hosts the runtime to provide a scalable, server-side

environment for managed code. ASP.NET works directly with the runtime to enable Web

Forms applications and XML Web services, both of which are discussed later in this

topic.

Internet Explorer is an example of an unmanaged application that hosts the runtime

(in the form of a MIME type extension). Using Internet Explorer to host the runtime

29

Page 30: GIS Documentation FINAL

enables you to embed managed components or Windows Forms controls in HTML

documents. Hosting the runtime in this way makes managed mobile code (similar to

Microsoft® ActiveX® controls) possible, but with significant improvements that only

managed code can offer, such as semi-trusted execution and secure isolated file storage.

The following illustration shows the relationship of the common language runtime

and the class library to your applications and to the overall system. The illustration also

shows how managed code operates within a larger architecture.

Features of the Common Language Runtime

The common language runtime manages memory, thread execution, code execution,

code safety verification, compilation, and other system services. These features are

intrinsic to the managed code that runs on the common language runtime.

With regards to security, managed components are awarded varying degrees of trust,

depending on a number of factors that include their origin (such as the Internet, enterprise

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

30

Page 31: GIS Documentation FINAL

runtime thus enable legitimate Internet-deployed software to be exceptionally feature

rich.

The runtime also enforces code robustness by implementing a strict type- and code-

verification 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.

In addition, the managed environment of the runtime eliminates many common

software issues. For example, the runtime automatically handles object layout and

manages references to objects, releasing them when they are no longer being used. This

automatic memory management resolves the two most common application errors,

memory leaks and invalid memory references.

The runtime also accelerates developer productivity. For example, programmers can

write applications in their development language of choice, yet take full advantage of the

runtime, the class library, and components written in other languages by other

developers. Any compiler vendor who chooses to target the runtime can do so. Language

compilers that target the .NET Framework make the features of the .NET Framework

available to existing code written in that language, greatly easing the migration process

for existing applications.

While the runtime is designed for the software of the future, it also supports software

of today and yesterday. Interoperability between managed and unmanaged code enables

developers to continue to use necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the common language

runtime provides many standard runtime services, managed code is never interpreted. 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

31

Page 32: GIS Documentation FINAL

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.

.NET Framework Class Library

The .NET Framework class library is a collection of reusable types that tightly

integrate with the common language runtime. The class library is object oriented,

providing types from which your own managed code can derive functionality. This not

only makes the .NET Framework types easy to use, but also reduces the time associated

with learning new Features of the .net frame work.

In addition, third-party components can integrate seamlessly with classes in the .NET

Framework.

For example, the .NET Framework collection classes implement a set of interfaces

that you can use to develop your own collection classes. Your collection classes will

blend seamlessly with the classes in the .NET Framework.

As you would expect from an object-oriented class library, the .NET Framework

types enable you to accomplish a range of common programming tasks, including tasks

such as string management, data collection, database connectivity, and file access. In

addition to these common tasks, the class library includes types that support a variety of

specialized development scenarios.

For example, you can use the .NET Framework to develop the following types of

applications and services:

Console applications.

32

Page 33: GIS Documentation FINAL

Scripted or hosted applications.

Windows GUI applications (Windows Forms).

ASP.NET applications.

XML Web services.

Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types

that vastly simplify Windows GUI development. If you write an ASP.NET Web Form

application, you can use the Web Forms classes.

Client Application Development

Client applications are the closest to a traditional style of application in Windows-

based programming. These are the types of applications that display windows or forms on

the desktop, enabling a user to perform a task. Client applications include applications

such as word processors and spreadsheets, as well as custom business applications such

as data-entry 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

local resources, and includes graphical elements.

In the past, developers created such applications using C/C++ in conjunction with the

Microsoft Foundation Classes (MFC) or with a rapid application development (RAD)

environment such as Microsoft® Visual Basic®. The .NET Framework incorporates

aspects of these existing products into a single, consistent development environment that

drastically simplifies the development of client applications.

The Windows Forms classes contained in the .NET Framework are designed to be

used for GUI development. You can easily create command windows, buttons, menus,

33

Page 34: GIS Documentation FINAL

toolbars, and other screen elements with the flexibility necessary to accommodate

shifting business needs.

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.

Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a

user's computer. This means that binary or natively executing code can access some of

the resources on the user's system (such as GUI elements and limited file access) without

being able to access or compromise other resources. Because of code access security,

many applications that once needed to be installed on a user's system can now be safely

deployed through the Web. Your applications can implement the features of a local

application while being deployed like a Web page.

C#.NET

Introduction to Windows Forms (C#.NET)

Windows Forms is the new platform for Microsoft Windows application

development, based on the .NET Framework. This framework provides a clear, object-

oriented, extensible set of classes that enable you to develop rich Windows applications.

Additionally, Windows Forms can act as the local user interface in a multi-tier distributed

solution. Windows Forms is a framework for building Windows client applications that

utilize the common language runtime. Windows Forms applications can be written in any

language that the common language runtime supports.

34

Page 35: GIS Documentation FINAL

What Is a Form?

A form is a bit of screen real estate, usually rectangular, that you can use to present

information to the user and to accept input from the user. Forms can be standard

windows, multiple document interface (MDI) windows, dialog boxes, or display surfaces

for graphical routines. The easiest way to define the user interface for a form is to place

controls on its surface. Forms are objects that expose properties which define their

appearance, methods which define their behavior, and events which define their

interaction with the user. By setting the properties of the form and writing code to

respond to its events, you customize the object to meet the requirements of your

application.

As with all objects in the .NET Framework, forms are instances of classes. The form you

create with the Windows Forms Designer is a class, and when you display an instance of

the form at run time, this class is the template used to create the form. The framework

also allows you to inherit from existing forms to add functionality or modify existing

behavior. When you add a form to your project, you can choose whether it inherits from

the Form class provided by the framework, or from a form you have previously created.

Additionally, forms are controls, because they inherit from the Control class.

Within a Windows Forms project, the form is the primary vehicle for user interaction. By

combining different sets of controls and writing code, you can elicit information from the

user and respond to it, work with existing stores of data, and query and write back to the

file system and registry on the user's local computer.

Although the form can be created entirely in the Code Editor, it is easier to use the

Windows Forms Designer to create and modify forms.

Some of the advantages of using Windows Forms include the following:

Simplicity and power: Windows Forms is a programming model for

developing Windows applications that combines the simplicity of the C# .net

35

Page 36: GIS Documentation FINAL

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

and easily connecting to XML Web services.

Rich graphics: Windows Forms is one of the first ship vehicles for GDI+, a

new version of the Windows Graphical Device Interface (GDI) that supports

alpha blending, texture brushes, advanced transforms, rich text support, and

more.

Flexible controls: Windows Forms offers a rich set of controls that encompass

all of the controls offered by Windows. These controls also offer new features,

such as "flat look" styles for buttons, radio buttons, and check boxes.

Data awareness: Windows Forms offers full support for the ADO data model.

ActiveX control support: Windows Forms offers full support for ActiveX

controls. You can easily host ActiveX controls in a Windows Forms

application. You can also host a Windows Forms control as an ActiveX

control.

Licensing: Windows Forms takes advantage of the common language runtime

enhanced licensing model.

36

Page 37: GIS Documentation FINAL

Printing: Windows Forms offers a printing framework that enables

applications to provide comprehensive reports.

Accessibility: Windows Forms controls implement the interfaces defined by

Microsoft Active Accessibility (MSAA), which make it simple to build

applications that support accessibility aids, such as screen readers.

Design-time support: Windows Forms takes full advantage of the meta-data

and component model features offered by the common language runtime to

provide thorough design-time support for both control users and control

implementers.

ACTIVE X DATA OBJECTS.NET

ADO.NET Overview

ADO.NET is an evolution of the ADO data access model that directly addresses

user requirements for developing scalable applications. It was designed specifically for

the web with scalability, statelessness, and XML in mind.

ADO.NET uses some ADO objects, such as the Connection and Command

objects, and also introduces new objects. Key new ADO.NET objects include the

DataSet, DataReader, and DataAdapter.

The important distinction between this evolved stage of ADO.NET and previous

data architectures is that there exists an object -- the DataSet -- that is separate and

distinct from any data stores. Because of that, the DataSet functions as a standalone

entity. You can think of the DataSet as an always disconnected recordset that knows

37

Page 38: GIS Documentation FINAL

nothing about the source or destination of the data it contains. Inside a DataSet, much

like in a database, there are tables, columns, relationships, constraints, views, and so

forth.

A DataAdapter is the object that connects to the database to fill the DataSet.

Then, it connects back to the database to update the data there, based on operations

performed while the DataSet held the data. In the past, data processing has been

primarily connection-based. Now, in an effort to make multi-tiered apps more efficient,

data processing is turning to a message-based approach that revolves around chunks of

information. At the center of this approach is the DataAdapter, which provides a bridge

to retrieve and save data between a DataSet and its source data store. It accomplishes this

by means of requests to the appropriate SQL commands made against the data store.

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:

Connections. For connection to and managing transactions against a database.

38

Page 39: GIS Documentation FINAL

Commands. For issuing SQL commands against a database.

DataReaders. For reading a forward-only stream of data records from a SQL

Server data source.

DataSets. For storing, remoting and programming against flat data, XML data

and relational data.

DataAdapters. For pushing data into a DataSet, and reconciling data against a

database.

When dealing with connections to a database, there are two different options:

SQL Server .NET Data Provider (System.Data.SqlClient) and OLE DB .NET Data

Provider (System.Data.OleDb). In these samples we will use the SQL Server .NET Data

Provider. These are written to talk directly to Microsoft SQL Server. The OLE DB .NET

Data Provider is used to talk to any OLE DB provider (as it uses OLE DB underneath).

Connections

Connections are used to 'talk to' databases, and are represented by provider-

specific classes such as SQLConnection. Commands travel over connections and

resultsets are returned in the form of streams which can be read by a DataReader object,

or pushed into a DataSet object.

Commands

Commands contain the information that is submitted to a database, and are

represented by provider-specific classes such as SQLCommand. A command can be a

stored procedure call, an UPDATE statement, or a statement that returns results. You can

also use input and output parameters, and return values as part of your command syntax.

The example below shows how to issue an INSERT statement against the Northwind

database.

DataReaders

39

Page 40: GIS Documentation FINAL

The DataReader object is somewhat synonymous with a read-only/forward-only

cursor over data. The DataReader API supports flat as well as hierarchical data. A

DataReader object is returned after executing a command against a database. The format

of the returned DataReader object is different from a recordset. For example, you might

use the DataReader to show the results of a search list in a web page.

DataSets and DataAdapters

DataSets:

The DataSet object is similar to the ADO Recordset object, but more powerful, and with

one other important distinction: the DataSet is always disconnected. The DataSet object

represents a cache of data, with database-like structures such as tables, columns,

relationships, and constraints. However, though a DataSet can and does behave much

like a database, it is important to remember that DataSet objects do not interact directly

with databases, or other source data. This allows the developer to work with a

programming model that is always consistent, regardless of where the source data resides.

Data coming from a database, an XML file, from code, or user input can all be placed

into DataSet objects. Then, as changes are made to the DataSet they can be tracked and

verified before updating the source data. The GetChanges method of the DataSet object

actually creates a second DatSet that contains only the changes to the data. This DataSet

is then used by a DataAdapter (or other objects) to update the original data source.

The DataSet has many XML characteristics, including the ability to produce and

consume XML data and XML schemas. XML schemas can be used to describe schemas

interchanged via Web Services. In fact, a DataSet with a schema can actually be

compiled for type safety and statement completion.

DataAdapters (OLEDB/SQL)

The DataAdapter object works as a bridge between the DataSet and the source

data. Using the provider-specific SqlDataAdapter (along with its associated

40

Page 41: GIS Documentation FINAL

SqlCommand and SqlConnection) can increase overall performance when working with

a Microsoft SQL Server databases. For other OLE DB-supported databases, you would

use the OleDbDataAdapter object and its associated OleDbCommand and

OleDbConnection objects.

The DataAdapter object uses commands to update the data source after changes

have been made to the DataSet. Using the Fill method of the DataAdapter calls the

SELECT command; using the Update method calls the INSERT, UPDATE or DELETE

command for each changed row. You can explicitly set these commands in order to

control the statements used at runtime to resolve changes, including the use of stored

procedures. For ad-hoc scenarios, a CommandBuilder object can generate these at run-

time based upon a select statement. However, this run-time generation requires an extra

round-trip to the server in order to gather required metadata, so explicitly providing the

INSERT, UPDATE, and DELETE commands at design time will result in better run-time

performance.

1. ADO.NET is the next evolution of ADO for the .Net Framework.

2. ADO.NET was created with n-Tier, statelessness and XML in the forefront.

Two new objects, the DataSet and DataAdapter, are provided for these

scenarios.

3. ADO.NET can be used to get data from a stream, or to store data in a cache for

updates.

4. There is a lot more information about ADO.NET in the documentation.

5. Remember, you can execute a command directly against the database in order

to do inserts, updates, and deletes. You don't need to first put data into a

DataSet in order to insert, update, or delete it.

6. Also, you can use a DataSet to bind to the data, move through the data, and

navigate data relationships

41

Page 42: GIS Documentation FINAL

SQL SERVER

DATABASE

A database management, or DBMS, gives the user access to their data and helps

them transform the data into information. Such database management systems include

dBase, paradox, IMS, SQL Server and SQL Server. These systems allow users to create,

update and extract information from their database.

A database is a structured collection of data. Data refers to the characteristics of

people, things and events. SQL Server stores each data item in its own fields. In SQL

Server, the fields relating to a particular person, thing or event are bundled together to

form a single complete unit of data, called a record (it can also be referred to as raw or an

occurrence). Each record is made up of a number of fields. No two fields in a record can

have the same field name.

42

Page 43: GIS Documentation FINAL

During an SQL Server Database design project, the analysis of your business

needs identifies all the fields or attributes of interest. If your business needs change over

time, you define any additional fields or change the definition of existing fields.

SQL Server Tables

SQL Server stores records relating to each other in a table. Different tables are

created for the various groups of information. Related tables are grouped together to form

a database.

Primary Key

Every table in SQL Server has a field or a combination of fields that uniquely

identifies each record in the table. The Unique identifier is called the Primary Key, or

simply the Key. The primary key provides the means to distinguish one record from all

other in a table. It allows the user and the database system to identify, locate and refer to

one particular record in the database

.

Relational Database

Sometimes all the information of interest to a business operation can be stored in

one table. SQL Server makes it very easy to link the data in multiple tables. Matching an

employee to the department in which they work is one example. This is what makes SQL

Server a relational database management system, or RDBMS. It stores data in two or

more tables and enables you to define relationships between the tables and enables you to

define relationships between the tables.

Foreign Key

43

Page 44: GIS Documentation FINAL

When a field is one table matches the primary key of another field is referred to as

a foreign key. A foreign key is a field or a group of fields in one table whose values

match those of the primary key of another table.

Referential Integrity

Not only does SQL Server allow you to link multiple tables, it also maintains

consistency between them. Ensuring that the data among related tables is correctly

matched is referred to as maintaining referential integrity.

Data Abstraction

A major purpose of a database system is to provide users with an abstract view of

the data. This system hides certain details of how the data is stored and maintained. Data

abstraction is divided into three levels.

Physical level: This is the lowest level of abstraction at which one describes how the

data are actually stored.

Conceptual Level: At this level of database abstraction all the attributed and what data

are actually stored is described and entries and relationship among them.

View level: This is the highest level of abstraction at which one describes only part of

the database.

Advantages of RDBMS

44

Page 45: GIS Documentation FINAL

Redundancy can be avoided

Inconsistency can be eliminated

Data can be Shared

Standards can be enforced

Security restrictions ca be applied

Integrity can be maintained

Conflicting requirements can be balanced

Data independence can be achieved.

Disadvantages of DBMS

A significant disadvantage of the DBMS system is cost. In addition to the cost of

purchasing of developing the software, the hardware has to be upgraded to allow for the

extensive programs and the workspace required for their execution and storage. While

centralization reduces duplication, the lack of duplication requires that the database be

adequately backed up so that in case of failure the data can be recovered.

FEATURES OF SQL SERVER (RDBMS)

SQL SERVER is one of the leading database management systems (DBMS)

because it is the only Database that meets the uncompromising requirements of today’s

most demanding information systems. From complex decision support systems (DSS) to

the most rigorous online transaction processing (OLTP) application, even application that

require simultaneous DSS and OLTP access to the same critical data, SQL Server leads

the industry in both performance and capability

SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched

performance, continuous operation and support for every database.

SQL SERVER RDBMS is high performance fault tolerant DBMS which is specially

designed for online transactions processing and for handling large database application.

45

Page 46: GIS Documentation FINAL

SQL SERVER with transactions processing option offers two features which contribute

to very high level of transaction processing throughput, which are

The row level lock manager

Enterprise wide Data Sharing

The unrivaled portability and connectivity of the SQL SERVER DBMS enables

all the systems in the organization to be linked into a singular, integrated computing

resource.

Portability

SQL SERVER is fully portable to more than 80 distinct hardware and operating

systems platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary

platforms. This portability gives complete freedom to choose the database sever platform

that meets the system requirements.

Open Systems

SQL SERVER offers a leading implementation of industry –standard SQL. SQL

Server’s open architecture integrates SQL SERVER and non –SQL SERVER DBMS

with industries most comprehensive collection of tools, application, and third party

software products SQL Server’s Open architecture provides transparent access to data

from other relational database and even non-relational database.

46

Page 47: GIS Documentation FINAL

Distributed Data Sharing

SQL Server’s networking and distributed database capabilities to access data

stored on remote server with the same ease as if the information was stored on a single

local computer. A single SQL statement can access data at multiple sites. You can store

data where system requirements such as performance, security or availability dictate.

Unmatched Performance

The most advanced architecture in the industry allows the SQL SERVER DBMS

to deliver unmatched performance.

Sophisticated Concurrency Control

Real World applications demand access to critical data. With most database

Systems application becomes “contention bound” – which performance is limited not by

the CPU power or by disk I/O, but user waiting on one another for data access. SQL

Server employs full, unrestricted row-level locking and contention free queries to

minimize and in many cases entirely eliminates contention wait times.

No I/O Bottlenecks

SQL Server’s fast commit groups commit and deferred write technologies

dramatically reduce disk I/O bottlenecks. While some database write whole data block to

disk at commit time, SQL Server commits transactions with at most sequential log file on

disk at commit time, On high throughput systems, one sequential writes typically group

commit multiple transactions. Data read by the transaction remains as shared memory so

that other transactions may access that data without reading it again from disk. Since fast

commits write all data necessary to the recovery to the log file, modified blocks are

47

Page 48: GIS Documentation FINAL

written back to the database independently of the transaction commit, when written from

memory to disk.

5. CODE

5.1 GENDER INFORMATION

<%@ Page Title="" Language="C#" MasterPageFile="~/Village.Master"

AutoEventWireup="true"

CodeBehind="GenderInput.aspx.cs" Inherits="VillageGIS.GenderInput" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

<div class="cphDiv">

<div class="span-19" style="font-size:12px; font-weight:bold;padding-top:10px;text-

align:center;">

<asp:Label ID="Label17" runat="server" Text="Live Stock

Input"></asp:Label></div>

48

Page 49: GIS Documentation FINAL

<div class="span-19" style="font-size:12px; padding-top:20px;padding-left:10px;">

<div class="span-9">

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label1" runat="server" Text="Family

Code"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox1"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label2" runat="server" Text="Serial

No.:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox2"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label3" runat="server" Text="Live Stock

Type:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox3"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label4" runat="server"

Text="Species:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox4"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label5" runat="server" Text="Total

Count:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox5"

runat="server"></asp:TextBox></div>

49

Page 50: GIS Documentation FINAL

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label6" runat="server" Text="Milk Yielding

Count:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox6"

runat="server"></asp:TextBox></div>

</div>

</div>

<div class="span-9">

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label7" runat="server"

Text="Production:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox7"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label8" runat="server" Text="Home

Use:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox8"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label9" runat="server" Text="Sales

Volume:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox9"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label10" runat="server"

Text="Rate:"></asp:Label></div>

50

Page 51: GIS Documentation FINAL

<div class="span-5 last"><asp:TextBox ID="TextBox10"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label11" runat="server" Text="Earned

Money:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox11"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label12" runat="server"

Text="Expenditure:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="TextBox12"

runat="server"></asp:TextBox></div>

</div>

</div>

</div>

<div class="span-17" style="font-size:12px; padding-top:20px; text-align:right; padding-

left:5px;">

<asp:Button ID="btnSave" runat="server" Text="Save" />

</div>

</div>

</asp:Content>

51

Page 52: GIS Documentation FINAL

CADASTRE INFORMATION

%@ Page Title="" Language="C#" MasterPageFile="~/Village.Master"

AutoEventWireup="true"

CodeBehind="CadastryInfo.aspx.cs" Inherits="VillageGIS.CadastryInfo" %>

<%@Register TagPrefix="aspmap" Namespace="AspMap.Web"

Assembly="AspMapNET" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

<div class="cphDiv">

<div class="span-19" style="font-size: 12px; font-weight: bold; padding-top: 10px;

52

Page 53: GIS Documentation FINAL

text-align: center;">

<asp:Label ID="Label1" runat="server" Text="Cadastry

Information"></asp:Label></div>

<div class="span-19" style="padding-top: 20px;">

<div class="span-2 last" style="float: left;">

<asp:Label ID="lblName" runat="server" Text="Village Name:"></asp:Label>

</div>

<div class="span-4 last" style="float: left;">

<asp:DropDownList ID="ddlVillageName" runat="server">

<asp:ListItem Text="Bera" Value="02828300"></asp:ListItem>

<asp:ListItem Text="JashwanthPura" Value="02828500"></asp:ListItem>

<asp:ListItem Text="Surajpura" Value="02828600"

Selected="True"></asp:ListItem>

</asp:DropDownList>

</div>

<div class="span-4 last" style="float: left;">

<asp:DropDownList ID="DropDownList1" runat="server">

<asp:ListItem Text="Select Category" Value="category"

Selected="True"></asp:ListItem>

<asp:ListItem Text="Cat 1" Value="cat1"></asp:ListItem>

</asp:DropDownList>

</div>

<div class="span-4 last" style="float: left;">

<asp:DropDownList ID="DropDownList2" runat="server">

<asp:ListItem Text="Select" Value="select"

Selected="True"></asp:ListItem>

<asp:ListItem Text="Cat 1" Value="cat1"></asp:ListItem>

</asp:DropDownList>

</div>

<div class="span-2">

<asp:Button ID="btnShow" runat="server" Text="Show Data" /></div>

53

Page 54: GIS Documentation FINAL

</div>

<div class="span-19" style="padding-top: 20px; padding-left: 10px;">

<div>

<asp:ImageButton ID="zoomFull" runat="server" BorderColor="White"

ToolTip="Zoom All"

BorderWidth="1px" BorderStyle="Outset" ImageUrl="tools/zoomfull.gif"

OnClick="zoomFull_Click">

</asp:ImageButton>

<aspmap:maptoolbutton id="zoomInTool" runat="server" tooltip="Zoom In"

imageurl="tools/zoomin.gif"

map="map">

</aspmap:maptoolbutton>

<aspmap:maptoolbutton id="zoomOutTool" runat="server" tooltip="Zoom

Out" imageurl="tools/zoomout.gif"

map="map" maptool="ZoomOut">

</aspmap:maptoolbutton>

<aspmap:maptoolbutton id="panTool" runat="server" tooltip="Pan"

imageurl="tools/pan.gif"

map="map" maptool="Pan">

</aspmap:maptoolbutton>

<aspmap:maptoolbutton id="centerTool" runat="server" tooltip="Center"

imageurl="tools/center.gif"

map="map" maptool="Center">

</aspmap:maptoolbutton>

<aspmap:maptoolbutton id="infoTool" runat="server" tooltip="Identify"

imageurl="~/TOOLS/info.gif"

map="map" maptool="Info">

</aspmap:maptoolbutton>

<aspmap:maptoolbutton id="InfoWindowTool" runat="server"

imageurl="~/TOOLS/infowindow.gif"

map="map" maptool="InfoWindow" /></div>

54

Page 55: GIS Documentation FINAL

<div>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

<ContentTemplate>

<strong>

<aspmap:legend id="Legend1" runat="server" style="top: 0px; left:

0px; width: 72px;" />

</strong>

<aspmap:map id="map" runat="server" mapunit="Foot" height="440px"

fontquality="ClearType"

smoothingmode="None" imageformat="Gif" backcolor="green"

width="450px" oninfotool="map_InfoTool"

oninfowindowtool="map_InfoWindowTool" maptool="Point">

</aspmap:map>

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger ControlID="zoomFull" />

<%-- <asp:AsyncPostBackTrigger ControlID="searchAddress" />

<asp:AsyncPostBackTrigger ControlID="searchOwner" />

<asp:AsyncPostBackTrigger ControlID="searchParcel" />--%>

</Triggers>

</asp:UpdatePanel>

</div>

<div>

<asp:UpdatePanel ID="UpdatePanel2" runat="server">

<ContentTemplate>

<asp:DataGrid ID="identifyGrid" runat="server" HorizontalAlign="Center">

<HeaderStyle Font-Bold="True" ForeColor="White"

BackColor="RoyalBlue"></HeaderStyle>

</asp:DataGrid>

</ContentTemplate>

55

Page 56: GIS Documentation FINAL

</asp:UpdatePanel>

</div>

</div>

</div>

</asp:Content>

RAINFALL INFORMATION

<%@ Page Title="" Language="C#" MasterPageFile="~/Village.Master"

AutoEventWireup="true" CodeBehind="RainfallInput.aspx.cs"

Inherits="VillageGIS.RainfallInput" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

runat="server">

<div class="cphDiv">

<div class="span-19" style="font-size:12px; font-weight:bold;padding-top:10px;text-

align:center;">

<asp:Label ID="Label17" runat="server" Text="Rainfall Input"></asp:Label></div>

<div class="span-19" style="font-size:12px; padding-top:20px;padding-left:10px;">

<div class="span-19" style="font-size:12px; padding-top:10px;">

56

Page 57: GIS Documentation FINAL

<div class="span-4 last"><asp:Label ID="Label1" runat="server"

Text="Year:"></asp:Label></div>

<div class="span-14 last"><asp:TextBox ID="txtYear"

runat="server"></asp:TextBox></div>

</div>

<div class="span-19" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label2" runat="server"

Text="Block:"></asp:Label></div>

<div class="span-14 last"><asp:TextBox ID="txtBlock"

runat="server"></asp:TextBox></div>

</div>

<div class="span-19" style="font-size:11px; padding-top:10px; font-weight:bold;">

<div class="span-4 last"><asp:Label ID="Label13" runat="server" Text="Rainfall in the

months"></asp:Label></div>

<div class="span-14 last">&nbsp;</div>

</div>

<div class="span-9">

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label3" runat="server"

Text="January:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtJan"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label4" runat="server"

Text="Febrauary:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtFeb"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

57

Page 58: GIS Documentation FINAL

<div class="span-4 last"><asp:Label ID="Label5" runat="server"

Text="March:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtMarch"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label6" runat="server"

Text="April:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtApril"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label7" runat="server"

Text="May:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtMay"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label8" runat="server"

Text="June:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtJune"

runat="server"></asp:TextBox></div>

</div>

</div>

<div class="span-9">

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label9" runat="server"

Text="July:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtJuly"

runat="server"></asp:TextBox></div>

58

Page 59: GIS Documentation FINAL

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label10" runat="server"

Text="August:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtAug"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label11" runat="server"

Text="September:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtSept"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label12" runat="server"

Text="October:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtOct"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label14" runat="server"

Text="November:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtNov"

runat="server"></asp:TextBox></div>

</div>

<div class="span-9" style="font-size:12px; padding-top:10px;">

<div class="span-4 last"><asp:Label ID="Label15" runat="server"

Text="December:"></asp:Label></div>

<div class="span-5 last"><asp:TextBox ID="txtDec"

runat="server"></asp:TextBox></div>

</div>

59

Page 60: GIS Documentation FINAL

</div>

</div>

<div class="span-17" style="font-size:12px; padding-top:20px; text-align:right; padding-

left:5px;">

<asp:Label ID="lblMsg" runat="server"></asp:Label>

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" />

</div>

</div>

</asp:Content>

6.TESTING & VALIDATION

TESTING PHASE

Black box Testing

This is tested for connecting to databases while providing transactions and

queries. OLEDB data providers functionality, radio connection was black box tested in

all the modules related to touch-screen and display, client, DQM admin, central admin.

White box Testing

This test is done to check each and every line of the code executed at least once.

In order to do this both valid and invalid inputs are provided such as null data, invalid

60

Page 61: GIS Documentation FINAL

format, invalid data types, invalid length and Boolean values. Exceptions were handled to

remove the errors.

String Testing

In most of the modules inputs were in the form of the strings which were tested

for null data, format of the data and length of the data, special characters etc. Exceptions

were handled through try-catch blocks to trap the errors then and there in the client-server

modules while in the web modules they were taken care of by web modules.

Unit Testing

Each and every module was tested to execute as per the SRS. Appropriate

inputs were provided to check with output required was available. Corresponding tables

were cross verified for updations of data and complete transactions were rolled back and

were ensured not to affect the database.

Integration Testing

All the modules were integrated that pertain to the two phases of the

application. The client-server phase was checked with top-down testing to check if the

screens opened in the order starting from the splash screen to the reports module.

Synchronization of the flow of the data, message passing and database transactions

between the modules were verified.

System Testing

The client-server and the web application modules were integrated along

with the concept of the virtual website in order to test the complete system. Errors the

61

Page 62: GIS Documentation FINAL

arose as a result of network failures, protocols, port number, locating the web pages,

handling the URL were isolated.

Compilation Testing

It was a good idea to do our stress testing early on, because it gave us time to fix

some of the unexpected deadlocks and stability problems that only occurred when

components were exposed to very high transaction volumes.

Output Testing

This program was successfully loaded and executed. Because of good

programming there were no execution errors.

Output Testing

The successful output screens are placed in the output screens section.

7.SCREEN SHOTS

SCREEN 1

General Information

62

Page 63: GIS Documentation FINAL

SCREEN 2

Live Stock Details

63

Page 64: GIS Documentation FINAL

SCREEN 3

Live Stock Create

64

Page 65: GIS Documentation FINAL

SCREEN 4

Soil Health Card

65

Page 66: GIS Documentation FINAL

SCREEN 5

Soil Health Create

66

Page 67: GIS Documentation FINAL

SCREEN 6

Rain Fall Data

67

Page 68: GIS Documentation FINAL

SCREEN 7

Rain Fall Data

68

Page 69: GIS Documentation FINAL

SCREEN 8

69

Page 70: GIS Documentation FINAL

Temperature Data

SCREEN 9

Temperature Data

70

Page 71: GIS Documentation FINAL

SCREEN 10

Cadastry Information

71

Page 72: GIS Documentation FINAL

8. CONCLUSION

The project has been appreciated by all the users in the organization.

It is easy to use, since it uses the GUI provided in the user dialog.

72

Page 73: GIS Documentation FINAL

User friendly screens are provided.

The usage of software increases the efficiency, decreases the effort.

It has been efficiently selected service process.

It has been thoroughly tested and implemented.

Any endeavor is incomplete without the spirit of teamwork. I could not only

muster up support for hosting and fostering this project, but also gather up the

enthusiastic team.

7. BIBLIOGRAPHY

SOFTWARE ENGINEERING

73

Page 74: GIS Documentation FINAL

By Roger’s. Pressman

VISUAL C#.NET Black Book

By Evangeleous Petereous

SQL FOR PROFESSIONALS

By Jain

MSDN 2005

By Microsoft

74