Page 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
USE CASE DIAGRAM 4:
System
User
Displaying Setlement of a village
Village name
Familycode
<<include>>
<<include>>
26
Page 27
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
</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
<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
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
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
</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
<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
</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
<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"> </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
<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
</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
</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
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
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
SCREEN 2
Live Stock Details
63
Page 64
SCREEN 3
Live Stock Create
64
Page 65
SCREEN 4
Soil Health Card
65
Page 66
SCREEN 5
Soil Health Create
66
Page 67
SCREEN 6
Rain Fall Data
67
Page 68
SCREEN 7
Rain Fall Data
68
Page 70
Temperature Data
SCREEN 9
Temperature Data
70
Page 71
SCREEN 10
Cadastry Information
71
Page 72
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
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
By Roger’s. Pressman
VISUAL C#.NET Black Book
By Evangeleous Petereous
SQL FOR PROFESSIONALS
By Jain
MSDN 2005
By Microsoft
74