You are on page 1of 73

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

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

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,

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

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

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

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

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.

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 MODEL)
The two design objectives continuously sought by developers are reliability and maintenance. Reliable System

ENGINEERING

PARADIGM

APPLIED-

(RAD-

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

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

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 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 result in the production of erroneous information. The input design also determines whenever the user can interact efficiently

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

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

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

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

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

User

Display village nam es

Village_info table

Select a village from the list

Select category(fam ilycode)

household_info

Display the m with corresponding info ap

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 m ap

Select the survey num ber

display the info when doubleclicked on it

17

Fig4: Selecting features based on Query

User

Display village names

Village_ info table

Select a village from the list

Select a category

category_ info table

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

18

Fig5: DFD Report generation

User

Display village nam es

Village_info table

Select a village fromthe list

Select a category

category_info table

Select reporting type

data will be populated fromcorresponding tables(Health/Gender/Houses..etc)

Select Destination(printer/screen)

Display/print the report

19

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. 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 Actor humans. If a system communicates with another application, and expects input or delivers output, then that application can also be considered an actor. A Use Case is functionality provided by the system, typically described as verb+object (eg. Register Use Case Car, Delete User). Use Cases are depicted with an ellipse. The name of the use case is written within the ellipse. Association Associations are used to link Actors with Use 20

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: Create Bug Report (Paragraph Version) 21

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: Goal in Context: Scope: Level: Stakeholders Interests: Precondition: Trigger: Main Scenario: Extensions: Success and Tester Tester is testing an application and discovers a new bug. He/She wants to report it so that it can be addressed. System - the quality assurance system for the XYZ Application User Tester: wants to record a new bug Assigned: wants to be notified of any new bugs QA Manager: wants all bugs recorded none Tester discovers a bug while testing an application 1. Tester initiates a new bug 2. System records bug with date of

report. issuing.

3. System notifies assigned user. 1a. Tester does not know who to assign bug report to: System assigns bug to QA Manager.

USE CASE DIAGRAM 1:

22

System

Household information from the area of Interest

Satellite Imagery of that specific area

Available infrastructure facilities User

BPL information

Watershed structures

N REGS works

extract layers of each geographic feature

USE CASE DIAGRAM 2:

23

System

get the LiveStock Information of a village

get the Soil Health Information of a villeage

user get the Rain fall Information of a village

get the Temperature information of a village

USE CASE DIAGRAM 3:

24

System view household assets report

View the details of aniamls report

User

view the health report

view the power supply details report

USE CASE DIAGRAM 4:

25

System

Village name <<include>>

Displaying Setlement of a village User <<include>>

Familycode

USE CASE DIAGRAM 5:

26

System

Displaying Cadastral Map based on Survey Number <<extend>>

<<extend>> Displaying Information by Clicking on Polygon User <<extend>> Based on Account holder

Cadastre Map displayed Land Category wise

USE CASE DIAGRAM 6:

System

Area reserved for Doree <<extend>>

User

Selecting a category for display on map <<extend>>

Area reserved for wells

4. IMPLEMENTATION & RESULTS


27

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. 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) 28

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

29

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 runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich. The runtime also enforces code robustness by implementing a strict type- and codeverification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety. 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 30

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 manager removes the possibilities of fragmented memory and increases memory localityof-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.

31

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. 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 Windowsbased 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. 32

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

33

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, objectoriented, 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. 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. 34

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 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 Rich graphics: Windows Forms is one of the first ship vehicles for GDI+,

quickly and easily connecting to XML Web services.

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

35

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 ActiveX control support: Windows Forms offers full support for

model.

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 Printing: Windows Forms offers a printing framework that enables Accessibility: Windows Forms controls implement the interfaces defined

runtime enhanced licensing model.

applications to provide comprehensive reports.

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

36

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

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 Commands. For issuing SQL commands against a database. DataReaders. For reading a forward-only stream of data records from a DataSets. For storing, remoting and programming against flat data, XML DataAdapters. For pushing data into a DataSet, and reconciling data

database.

SQL Server data source.

data and relational 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

38

Connections are used to 'talk to' databases, and are represented by providerspecific 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
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 39

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

40

1. 2.

ADO.NET is the next evolution of ADO for the .Net Framework. 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. 4. 5. ADO.NET can be used to get data from a stream, or to store data in a There is a lot more information about ADO.NET in the documentation. Remember, you can execute a command directly against the database in cache for updates.

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

SQL SERVER
DATABASE
41

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

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

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
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)


44

SQL SERVER is one of the leading database management systems (DBMS) because it is the only Database that meets the uncompromising requirements of todays 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. 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

45

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 Servers open architecture integrates SQL SERVER and non SQL SERVER DBMS with industries most comprehensive collection of tools, application, and third party software products SQL Servers Open architecture provides transparent access to data from other relational database and even non-relational database.

Distributed Data Sharing SQL Servers 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 46

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 Servers 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 written back to the database independently of the transaction commit, when written from memory to disk.

5. CODE
5.1 GENDER INFORMATION 47

<%@

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 runat="server"> <div class="cphDiv"> <div class="span-19" style="font-size:12px; font-weight:bold;padding-top:10px;textalign:center;"> <asp:Label Input"></asp:Label></div> <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 <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <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> class="span-4 last"><asp:Label ID="Label2" runat="server" Text="Serial No.:"></asp:Label></div> class="span-5 last"><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label1" runat="server" Text="Family ID="TextBox1" Code"></asp:Label></div> class="span-5 last"><asp:TextBox runat="server"></asp:TextBox></div> ID="Label17" runat="server" Text="Live Stock ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

48

<div </div>

class="span-5

last"><asp:TextBox

ID="TextBox3"

runat="server"></asp:TextBox></div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <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="Milk Yielding Count:"></asp:Label></div> <div </div> </div> <div class="span-9"> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> class="span-4 class="span-5 last"><asp:Label ID="Label7" runat="server" ID="TextBox7" Text="Production:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-5 last"><asp:TextBox ID="TextBox6" runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label5" runat="server" Text="Total Count:"></asp:Label></div> class="span-5 last"><asp:TextBox ID="TextBox5" runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label4" runat="server" ID="TextBox4" Text="Species:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div>

49

<div <div </div>

class="span-4

last"><asp:Label

ID="Label8"

runat="server"

Text="Home

Use:"></asp:Label></div> class="span-5 last"><asp:TextBox ID="TextBox8" runat="server"></asp:TextBox></div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <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 </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> </div> </div> 50 class="span-4 class="span-5 last"><asp:Label ID="Label12" runat="server" ID="TextBox12" Text="Expenditure:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-5 last"><asp:TextBox ID="TextBox11" runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label10" runat="server" ID="TextBox10" Text="Rate:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label9" runat="server" Text="Sales Volume:"></asp:Label></div> class="span-5 last"><asp:TextBox ID="TextBox9" runat="server"></asp:TextBox></div>

<div class="span-17" style="font-size:12px; padding-top:20px; text-align:right; paddingleft:5px;"> <asp:Button ID="btnSave" runat="server" Text="Save" /> </div> </div> </asp:Content>

CADASTRE INFORMATION 51

%@

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 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="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"> 52 ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

<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> </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>

53

<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> <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" /> 54

<%-- <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> </asp:UpdatePanel> </div> </div> </div> </asp:Content>

55

RAINFALL INFORMATION <%@ Page Title="" Language="C#" MasterPageFile="~/Village.Master" CodeBehind="RainfallInput.aspx.cs"

AutoEventWireup="true" Inherits="VillageGIS.RainfallInput" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content runat="server"> <div class="cphDiv"> <div class="span-19" style="font-size:12px; font-weight:bold;padding-top:10px;textalign: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;"> <div <div </div> <div class="span-19" style="font-size:12px; padding-top:10px;"> <div <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> 56 class="span-4 class="span-14 last"><asp:Label ID="Label2" runat="server" ID="txtBlock" Text="Block:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label1" runat="server" ID="txtYear" Text="Year:"></asp:Label></div> class="span-14 last"><asp:TextBox runat="server"></asp:TextBox></div> ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

<div class="span-9"> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> 57 class="span-4 class="span-5 last"><asp:Label ID="Label7" runat="server" ID="txtMay" Text="May:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label6" runat="server" ID="txtApril" Text="April:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label5" runat="server" ID="txtMarch" Text="March:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label4" runat="server" ID="txtFeb" Text="Febrauary:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label3" runat="server" ID="txtJan" Text="January:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div>

<div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> </div> <div class="span-9"> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <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> class="span-4 last"><asp:Label ID="Label11" runat="server" ID="txtSept" Text="September:"></asp:Label></div> class="span-5 last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label10" runat="server" ID="txtAug" Text="August:"></asp:Label></div> class="span-5 last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label9" runat="server" ID="txtJuly" Text="July:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 class="span-5 last"><asp:Label ID="Label8" runat="server" ID="txtJune" Text="June:"></asp:Label></div> last"><asp:TextBox runat="server"></asp:TextBox></div>

58

<div </div>

class="span-5

last"><asp:TextBox

ID="txtOct"

runat="server"></asp:TextBox></div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> <div class="span-9" style="font-size:12px; padding-top:10px;"> <div <div </div> </div> </div> <div class="span-17" style="font-size:12px; padding-top:20px; text-align:right; paddingleft:5px;"> <asp:Label ID="lblMsg" runat="server"></asp:Label> <asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" /> </div> </div> </asp:Content> class="span-4 last"><asp:Label ID="Label15" runat="server" ID="txtDec" Text="December:"></asp:Label></div> class="span-5 last"><asp:TextBox runat="server"></asp:TextBox></div> class="span-4 last"><asp:Label ID="Label14" runat="server" ID="txtNov" Text="November:"></asp:Label></div> class="span-5 last"><asp:TextBox runat="server"></asp:TextBox></div>

59

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

60

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

61

7.SCREEN SHOTS SCREEN 1 General Information

62

SCREEN 2 Live Stock Details

63

SCREEN 3

Live Stock Create

64

SCREEN 4 Soil Health Card

65

SCREEN 5 Soil Health Create

66

SCREEN 6 Rain Fall Data

67

SCREEN 7

Rain Fall Data

68

SCREEN 8

Temperature Data

69

SCREEN 9 Temperature Data

70

SCREEN 10 Cadastry Information

71

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

72

7. BIBLIOGRAPHY

SOFTWARE ENGINEERING By Rogers. Pressman VISUAL C#.NET Black Book By Evangeleous Petereous SQL FOR PROFESSIONALS By Jain MSDN 2005 By Microsoft

73