active city administration construction of monolithic ... - tansche

62
ACTIVE CITY ADMINISTRATION CONSTRUCTION OF MONOLITHIC ARCHITECTURE FOR E-GOVERANCE OF A CITY USING WEB SERVICES Student Mini Project Report submitted to Tamilnadu State Council for Higher Education (TANSCHE) submitted by RAMYA M (Ref.: D.O.Rc.No.745/2017 A - Dated: 18.12.2017) Under the guidance of Dr. J. JEGATHESH AMALRAJ DEPARTMENT OF COMPUTER SCIENCE THIRUVALLUVAR UNIVERSITY Model Constituent College of Arts and Science Tittagudi 606 106, Cuddalore. FEBRUARY 2018

Transcript of active city administration construction of monolithic ... - tansche

ACTIVE CITY ADMINISTRATION CONSTRUCTION OF

MONOLITHIC ARCHITECTURE FOR E-GOVERANCE OF

A CITY USING WEB SERVICES

Student Mini Project Report

submitted to

Tamilnadu State Council for Higher Education (TANSCHE)

submitted by

RAMYA M

(Ref.: D.O.Rc.No.745/2017 A - Dated: 18.12.2017)

Under the guidance of

Dr. J. JEGATHESH AMALRAJ

DEPARTMENT OF COMPUTER SCIENCE

THIRUVALLUVAR UNIVERSITY

Model Constituent College of Arts and Science

Tittagudi – 606 106, Cuddalore.

FEBRUARY 2018

Dr. J. Jegathesh Amalraj

Assistant Professor,

Department of Computer Science,

Thiruvalluvar University

Model Constituent College of Arts & Science, Mobile: 0 – 98945 35317

Tittagudi – 606 106, Cuddalore. Email: [email protected]

22.02.2018

CERTIFICATE

This is to certify that the project entitled “ACTIVE CITY ADMINISTRATION –

CONSTRUCTION OF A MONOLITHIC ARCHITECTURE FOR E-GOVERANCE

OF A CITY USING WEB SERVICES” is a bonafide record of the project work done by

Ms. M. RAMYA during 2017-18, submitted to the TAMIL NADU STATE COUNCIL

FOR HIGHER EDUCATION (TANSCHE) in partial fulfillment of the requirement of

the award of the STUDENTS MINI PROJECT for the year 2017-18 and that the project

work has not previously formed the basis for the award of any other Degree, Diploma,

Associateship, Fellowship or other title. It is also certified that the project work represents

independent and original work on the part of the candidate under my guidance.

Dr. J. Jegathesh Amalraj

ACKNOWLEDGEMENT

I am deeply indebted to the Lord, Heavenly King and Almighty, who is the source

of all wisdom and without whose divine guidance my research and thesis wouldn’t have

taken this final form.

I am also genuinely indebted to my PARENTS for their blessings and support all

throughout, as I crossed many hurdles, overcoming discouragements, disappointments, etc.

Further, I am thankful to Dr. J. Jegathesh Amalraj, Assistant Professor, Department

of Computer Science, Thiruvalluvar University Model Constituent College of Arts &

Science, Tittagudi, Cuddalore – 606106 for his valuable guidance. Without his guidance,

this project would not have been completed, satisfying its full requirements. It has been a

great opportunity and a unique learning experience for me to work under his supervision

especially his kind treatment, cooperation, and sharing of all necessary inputs and wisdom

that a scholar needs.

I proudly render my immense gratitude to the Honorable Vice-Chancellor

Prof. Dr. K. Murugan, Thiruvalluvar University, the Registrar Dr. V. Peruvalluthi,

Thiruvalluvar University and the Controller of Examinations Dr. B. Senthilkumar,

Thiruvalluvar University for providing this opportunity to complete the project work.

Also, I hereby wish to record my deepest gratitude to our college principal

Dr. S. Mohandass for his advice and it leads me in different dimensions of Education and

Research.

I wish to express my sincere thanks to Dr. S.P. Ponnusamy, Head of the Department,

for giving me a delightful opportunity to work in the Department of Computer Science,

Thiruvalluvar University Model Constituent College of Arts & Science, Tittagudi,

Cuddalore.

I extend my sincere and deep thanks to all the Guest Lectures of the Computer

Science Department and Computer Applications Department, and the staff members of our

college Administration, who were always encouraging and enriched me with their

knowledge.

I am also highly grateful to The Member Secretary, Tamilnadu State Council for

Higher Education (TANSCHE) and the staff members for providing me the financial

support to do the project work.

I convey my sincere thanks to all my friends and all those who offered constant

support for the completion of the project work.

RAMYA M

ABSTRACT

The Active City Administration (ACA) is a web application intended to provide

complete solutions for the people of the city as well as the governing authorities through a

single gateway using the internet as the sole medium. The ACA creates a user-friendly

online interface for citizens to communicate with administrative body and reduce the

distance/time barrier between citizens and administration.

It provides an online platform where people can share ideas, invoke discussions,

issue complaints about various departments and create suggestion/petitions for

improvement of city administration. The aim is to encourage the citizens to actively

participate in city administration and to bring transparency and flexibility in the system.

The main motive for developing this project is to get multi web applications on one

site. The multi web application, web hub would lead to lesser efforts of user and less

manual work compared to the current individual automated systems. Using this system, all

the operations concerned can be performed systematically and efficiently.

The data (such as suggestions/petitions or complaints) sharing between multiple

departments like electricity board, water department, transport department, etc., are done

through web services. Data security is maintained between different departments and the

data transfer between the different department servers is aided by the web services.

CONTENTS

Chapter No. Title Page No.

1 Introduction

1.1 Overview

1.2 Description

1

1

2 Problem Statement

2.1 Problem Statement

4

3 System Analysis

3.1 Architecture

3.1.1 Architecture Business Cycle

3.2 Functional Requirements

3.3 Platform Selection

3.4 Visual Studio

3.5 C# .Net

3.6 ASP.Net

3.7 Microsoft SQL Server

5

5

7

7

8

9

10

13

4 System Design

4.1 Overview

4.2 Data Flow Diagrams

4.3 Entity Relationship Model

4.4 Database Tables

4.5 Dataset Representation

14

14

18

19

25

5 Implementation

5.1 ASP.NET Web Application

5.1.1 Masterpage

5.1.2 Grid view

5.1.3 Disconnected Database Connectivity

5.1.4 Microsoft Reporting Services

5.2 Web Application Features (ASP.NET 3.5)

5.2.1 ASP.Net Database Connectivity

5.2.2 ASP.Net Session

5.2.3 Optimistic Concurrency

28

28

29

29

30

31

31

32

32

6 Testing

6.1 Application - Software Testing

6.1.1 Introduction

6.1.2 Common Test Definitions

6.2 Testing Approaches

6.2.1 White Box Testing

6.2.2 Black Box Testing

6.2.3 Unit Testing

6.2.4 Performance Testing

6.2.5 GUI Testing

6.2.6 Validation Testing

6.2.7 Data Validation

33

33

34

35

35

35

36

36

36

37

37

7 Conclusion and Future Enhancements

7.1 Conclusion

7.2 Future Enhancements

38

38

8 Screen Shots

8.1 Screen Shots

39

Bibliography

A. References

47

INTRODUCTION

1

CHAPTER 1

INTRODUCTION

1.1 OVERVIEW

The Active City Administration (ACA) is a web application intended to provide

complete solutions for the people of the city as well as the governing authorities through a

single gateway using the internet as the sole medium. It provides an online platform where

people can share ideas, invoke discussions, issue complaints about various departments

and create suggestion/petitions for improvement of city administration. The aim is to

encourage the citizens to actively participate in city administration and to bring

transparency and flexibility in the system. The main motive for developing this project is

to get multi web applications on one site.

1.2 DESCRIPTION

The ACA creates a user-friendly online interface for citizens to communicate with

administrative body and reduce the distance/time barrier between citizens and

administration. It provides an online platform where people can share ideas, invoke

discussions, issue complaints about various departments and create suggestion/petitions

for improvement of city administration.

The aim is to encourage the citizens to actively participate in city administration and

to bring transparency and flexibility in the system.

A. Proposed Project Modules:

The proposed project work has the following modules.

a. User Registration

b. Complaint Details

c. Complaint Clearance and Maintenance

d. Feedback Details

e. Activities and Events

f. Suggestion Details

g. Web services

h. Reports

2

A. Module Descriptions:

a. User Registration:

Users should be able to create a new account, log-in to their existing accounts

which will give them the authority to use the services provided by the system.

b. Complaint Details:

Authenticated users should be able to issue complaints, check complaint status,

submit feedback, and browse through other complaints and their feedback. This module

handles the complaints provided by a particular Citizen, the urgency of the complaint, the

type of customer by whom the complaint was made, etc.

c. Complaint clearance and maintenance

This module maintains the complaint history, i.e. the type of complaints and the

troubleshooting actions performed for the particular complaint. This helps in

troubleshooting of similar type of problems faster and easier.

d. Feedback Details:

This module maintains the details of feedbacks provided by the customer. The

feedback is categorized into Positive or Negative. This helps in maintaining the standards

of the city.

e. Activities and events:

Users can share their experiences; discuss common problems, and the possible

solutions.

f. Suggestion Details:

Authenticated users should be able to create suggestions/petitions; other users can

support or make suggestions for petitions; forward petitions to corresponding authority for

possible implementation.

g. Web services:

Web services are used to share the complaints and complaint clearance details

between ACA database and the public departments’ databases.

3

h. Reports:

Complaint report, including complaint details

Response details, feedback

Section-wise user-feedback summary

B. Users:

1. Admin

2. Citizens of the City

3. Municipal Authorities

1. Admin Roles:

Admin can create and update accounts for employees and provide them access to

the complainant’s box of their departments.

Admin can remove and create forums and update any information of the ACA

system.

Admin can directly communicate with the user.

Admin can publish any notifications on the main page.

2. Citizens Roles:

Users should be able to create a new account, log-in to their existing accounts

which will give them the authority to use the services provided by the system.

Authenticated users should be able to issue complaints, check complaint status,

submit feedback, and browse through other complaints and their feedback.

Authenticated users should be able to create suggestions/petitions; other users can

support or make suggestions for petitions; forward petitions to corresponding

authority for possible implementation.

Users can create groups where users can share their experiences; discuss common

problems, and the possible solution.

3. Municipal Authorities Roles:

Municipal authorities can log-in to their accounts as created by an administrator.

The authorities can access all the complaints, suggestions from users.

Invoke proper activity in response to valid complaints, or redirect inappropriate

complaints to the administrator.

Give response to complaints with activity reports.

PROBLEM

STATEMENT

4

CHAPTER 2

PROBLEM STATEMENT

2.1 PROBLEM STATEMENT

Limited hour service availability in the current system and doesn’t have a connection

between other departments for data sharing. Lack of involvement of people in exhibiting

their responsibilities towards society. By the proposed system, people’s involvement and

their responsibilities towards the society and the administration may increase. The current

system does not force the higher officials of the same department to verify and rectify the

complaints about the subordinates.

Initially, creates the individual department websites with the needed number of

databases and perform their tasks. Then create the ACA website for citizens, municipal

officials and administrators. On this site, we provide the expected facilities to the citizens

and municipal officials for maintaining the complaints suggestions and petitions of the

city. Then we create the web services for secure data transfer between these sites. So the

complaints, suggestions and petitions, etc. are shared to the respective departments

through the ACA site using the web services.

SYSTEM

ANALYSIS

5

CHAPTER 3

SYSTEM ANALYSIS

1.1 ARCHITECTURE

The software architecture of a program or computing system is the structure or

structure of the system, which comprise software components, the externally visible

properties of those components, and the relationships between them. The term also refers

to documentation of a system's software architecture. Documenting software architecture

facilitates communication between stakeholders, documents early decisions about high

level design, and allows reuse of design components and patterns between projects

Software architecture, also described as strategic design, is an activity concerned with

global design constraints, such as programming paradigms, architectural styles,

component-based software engineering standards, design principles, and law-governed

regularities. Detailed design, also described as tactical design, is an activity concerned

with local design constraints, such as design patterns, architectural patterns, programming

idioms, and refactoring.

3.1.1 Architecture Business Cycle

The elicitation of a software-intensive system's business goals is an integral part of

standard architecture design and analysis methods. Business goals are the engines that

drive the methods, through their realization as scenarios. That is, business goals are forces

that shape the architecture.

The architecture can be designed to make a system that is, for example, high

performance, or easy to modify, or easy to integrate with other systems, or highly reliable,

where each of these is presumably supporting a business goal (for example, a system

supporting an e-commerce Web site should be high performance, highly reliable, secure

and so forth).

This architectural "shape" is achieved only when the business goals are translated

into scenarios, which can be mapped onto architectural structures that realize the goals.

6

Architecture of ACA

7

3.2 FUNCTIONAL REQUIREMENTS

A. Proposed Project Modules:

The proposed project work has the following modules.

a. User Registration

b. Complaint Details

c. Complaint Clearance and Maintenance

d. Feedback Details

e. Activities and Events

f. Suggestion Details

g. Web services

h. Reports

B. Users:

The proposed project work has the types of users.

1. Admin

2. Citizens of the City

3. Municipal Authorities

The architect must make sure that the above functionalities will be implemented in the

final system. During the system design phase, the designer and the analyst must show

interest in identifying the potential problems in implementing these functionalities.

3.3 PLATFORM SELECTION

The system in implemented as a Desktop Application which has forms that support

insertion, deletion and modification of various database tables. The desktop application is

supplemented by a Web Application which is used only for output purposes like

displaying the data and reports.

The functionality of the web application is very limited because of security reasons

and all the major functionality is implemented in C# using Windows Forms which is more

robust and secure environment when compared to the ASP.Net Web Forms.

8

3.4 VISUAL STUDIO .NET

Visual Studio .NET fulfills the promise of a single development environment for

all languages. Visual Studio .NET simplifies development in a mixed-language

environment through features such as support for end-to-end debugging across all

programming languages; visual designers for XML, HTML, data, and server-side code;

and full IntelliSense support (statement completion). Visual Studio .NET replaces the

Visual Basic 6, Visual C++, and Visual InterDev development environments.

Visual Studio .NET is able to provide this level of integration because it relies and

builds on the facilities of the .NET Framework. Designers for Web forms and Windows

Forms enhance developer productivity during the development cycle. Integration of

deployment features enhances productivity during post-deployment debugging.

Visual Studio .NET’s Major Features

Single IDE

Simplifies mixed-language development with support for Visual Basic, C++, C#,

and Jscript.NET

Task List

Organizes tasks and manages errors and warnings in a single place. Tasks are read

from specialized comments in source code and are presented in a tabular format. Double-

click the task to jump to the section of source code where the task was entered.

Solution Explorer

Provides a hierarchical view of a solution organized into projects. Allows the

management of related projects within a single solution.

Server Explorer

Manages your computer and other computers on the network, including resources

such as SQL Server, message queues, services, and so on. Integrates performance, event

monitoring and Web services.

9

End-to-end debugging

Facilitates cross-language, process, and system debugging through the Visual

Studio .NET debugger; the learning curve is reduced, and developers are better able to

take advantage of the debugger's features.

Deployment support

Integrates deployment into each solution (project) as changes are made in the

solution, deployment information is updated. You can deploy your solution using

traditional setup (install on a single system), Web setup, and Web download. This feature

also facilitates deployment for debugging across systems.

3.5 C#.Net

C# is a multi-paradigm programming language encompassing imperative,

functional, generic, object-oriented (class-based), and component-oriented programming

disciplines. It was developed by Microsoft within the .NET initiative and later approved as

a standard by ECMA (ECMA-334) and ISO (ISO/IEC 23270). C# is one of the

programming languages designed for the Common Language Infrastructure.

The ECMA standard lists these design goals for C#:

C# language is intended to be a simple, modern, general-purpose, object-oriented

programming language.

The language, and implementations thereof, should provide support for software

engineering principles such as strong type checking, array bounds checking,

detection of attempts to use uninitialized variables, and automatic garbage

collection. Software robustness, durability, and programmer productivity are

important.

The language is intended for use in developing software components suitable for

deployment in distributed environments.

Source code portability is very important, as is programmer portability, especially

for those programmers already familiar with C and C++.

Support for internationalization is very important.

10

3.6 ASP.Net

ASP.NET, the next version of ASP, is a programming framework that is used to

create enterprise-class Web applications. The enterprise-class Web applications are

accessible on a global basis, leading to efficient information management. However, the

advantages that ASP.NET offers make it more than just the next version of ASP.

ASP.NET is integrated with Visual Studio .NET, which provides a GUI designer, a

rich toolbox, and a fully integrated debugger. This allows the development of applications

in a What You See is What You Get (WYSIWYG) manner. Therefore, creating ASP.NET

applications is much simpler.

Unlike the ASP runtime, ASP.NET uses the Common Language Runtime (CLR)

provided by the .NET Framework. The CLR is the .NET runtime, which manages the

execution of code. The CLR allows the objects, which are created in different languages,

to interact with each other and hence removes the language barrier. CLR thus makes Web

application development more efficient. In addition to simplifying the designing of Web

applications, the .NET CLR offers many advantages. Some of these advantages are listed

as follows.

Improved performance

The ASP.NET code is a compiled CLR code instead of an interpreted code. The CLR

provides just-in-time compilation, native optimization, and caching. Here, it is important

to note that compilation is a two-stage process in the .NET Framework. First, the code is

compiled into the Microsoft Intermediate Language (MSIL).Then, at the execution time,

the MSIL is compiled into native code. Only the portions of the code that are actually

needed will be compiled into native code. This is called Just In Time (JIT) compilation.

These features lead to an overall improved performance of ASP.NET applications.

Flexibility

The entire .NET class library can be accessed by ASP.NET applications. You can

use the language that best applies to the type of functionality you want to implement,

because ASP.NET is language independent.

11

Configuration settings

The application-level configuration settings are stored in an Extensible Markup

Language (XML) format. The XML format is a hierarchical text format, which is easy to

read and write. This format makes it easy to apply new settings to applications without the

aid of any local administration tools.

Security

ASP.NET applications are secure and use a set of default authorization and

authentication schemes. However, you can modify these schemes according to the security

needs of an application. In addition to this list of advantages, the ASP.NET framework

makes it easy to migrate from ASP applications.

ASP.NET Features

ASP.NET introduces two major features: Web Forms and Web Services.

Web Forms

Web Forms simplify Web development to the point that it becomes as easy as

dragging and dropping controls onto a designer (the surface that you use to edit a page) to

design interactive Web applications that span from client to server.

Web Services

A Web service is an application that exposes a programmatic interface through

standard access methods. Web Services are designed to be used by other applications and

components and are not intended to be useful directly to human end users. Web Services

make it easy to build applications that integrate features from remote sources.

The Benefits of ASP.NET

ASP.NET is a set of components that provide developers with a framework with

which to implement complex functionality. Two of the major improvements of ASP.NET

over traditional ASP are scalability and availability. ASP.NET is scalable in that it

provides state services that can be utilized to manage session variables across multiple

Web servers in a server form. Additionally, ASP.NET possesses a high performance

process model that can detect application failures and recover from them. Along with

improved availability and scalability, ASP.NET provides the following additional benefits:

12

Simplified development

ASP.NET offers a very rich object model that developers can use to reduce the

amount of code they need to write.

Language independence

ASP pages must be written with scripting. In other words, ASP pages must be

written in a language that is interpreted rather than compiled. ASP.NET allows compiled

languages to be used, providing better performance and cross-language compatibility.

Simplified deployment

With .NET components, deployment is as easy as copying a component assembly

to its desired location.

Cross-client capability

One of the foremost problems facing developers today is writing code that can be

rendered correctly on multiple client types. For example, writing one script that will render

correctly in Internet Explorer 5.5 and Netscape Navigator 4.7 and on a PDA and a mobile

phone is very difficult, if not impossible, and time consuming. ASP.NET provides rich

server-side components that can automatically produce output specifically targeted at each

type of client.

Web services

ASP.NET provides features that allow ASP.NET developers to effortlessly create

Web services that can be consumed by any client that understands HTTP and XML, the de

facto language for inter-device communication.

Performance

ASP.NET pages are compiled whereas ASP pages are interpreted. When an

ASP.NET page is first requested; it is compiled and cached, or saved in memory, by the

.NET Common Language Runtime (CLR). This cached copy can then be re-used for each

subsequent request for the page. Performance is thereby improved because after the first

request, the code can run from a much faster compiled version.

13

3.7 MICROSOFT SQL SERVER 2005

Microsoft SQL Server 2005 Enterprise Edition delivers a complete platform to

support your most demanding, large-scale, and mission-critical OLTP and analytical

database applications. A comprehensive database management platform, SQL Server 2005

Enterprise Edition delivers the reliability, scalability, performance, and security your large

enterprise databases demand.

A broad range of features allow you to take full advantage of your entire IT

infrastructure with support for a variety of server configurations and implementations.

Whether you are challenged with a single large data warehouse or a consolidated server

with multiple databases, SQL Server 2005 Enterprise Edition meets the most challenging

availability, scalability, and performance requirements. Enterprise Edition’s integrated

business intelligence capabilities produce robust end to-end business intelligence and

analytics applications. SQL Server 2005 Enterprise Edition is ideal for large-scale and

complex data integration, analysis, and reporting environments. Go beyond traditional

business intelligence and achieve ultimate data integration, real-time analysis, and rich

reporting with SQL Server 2005 Enterprise Edition.

Data Management

Availability

SQL Server 2005 Enterprise Edition provides breakthrough capabilities to meet

your most demanding database availability requirements. Build and deploy highly

available applications with new features such as database mirroring, peer-to-peer

replication, and enhanced failover clustering support. Enterprise Edition features such

database snapshots, online and parallel index operations, and online restores operations

help you reduce planned downtime due to essential maintenance, tuning, and recovery

processes.

Asynchronous database mirroring

Deliver database redundancy with little or no impact to application performance by

using asynchronous database mirroring.

Peer-to-peer replication

Achieve higher availability in case of failure or to allow maintenance at any of the

participating databases by using peer-to-peer replication.

SYSTEM DESIGN

14

CHAPTER 4

SYSTEM DESIGN

4.1 OVERVIEW

Systems design is the process or art of defining the architecture, components,

modules, interfaces, and data for a system to satisfy specified requirements. One could see

it as the application of systems theory to product development. Systems design is therefore

the process of defining and developing systems to satisfy specified requirements of the

user. Until the 1990s systems design had a crucial and respected role in the data

processing industry.

In the 1990s standardization of hardware and software resulted in the ability to

build modular systems. The increasing importance of software running on generic

platforms has enhanced the discipline of software engineering. Object-oriented analysis

and design methods are becoming the most widely used methods for computer system

design.

4.2 DATA FLOW DIAGRAMS

A data-flow diagram (DFD) is a graphical representation of the "flow" of data

through an information system. DFDs can also be used for the visualization of data

processing (structured design). On a DFD, data items flow from an external data source or

an internal data store to an internal data store or an external data sink, via an internal

process.

A DFD provides no information about the timing of processes, or about whether

processes will operate in sequence or in parallel. It is therefore quite different from a

flowchart, which shows the flow of control through an algorithm, allowing a reader to

determine what operations will be performed, in what order, and under what

circumstances, but not what kinds of data will be input to and output from the system, nor

where the data will come from and go to, nor where the data will be stored (all of which

are shown on a DFD).

15

Level 0 (context level):

This level shows the overall context of the system and its operating environment

and shows the whole system as just one process. It does not usually show data stores,

unless they are "owned" by external systems.

Figure 4.1 Level 0 (Context Level) Data Flow Diagram

Level 1 (high level diagram)

This level (level 1) shows all processes at the first level of numbering, data stores,

external entities and the data flows between them. The purpose of this level is to show the

major high-level processes of the system and their interrelation. A process model will have

one, and only one, level-1 diagram. DFD Level-1 diagram must be balanced with its

parent context level diagram, i.e. there must be the same external entities and the same

data flows, these can be broken down to more detail in the level 1.

16

Figure 4.2 DFD-Level 1 (Module Level 1 Diagram) for Complaints Registration

Figure 4.3 DFD-Level 1 (Module level diagram) for Admin User Acceptance

Figure 4.4 DFD-Level 1 (Module level diagram) for Authorities Complaints View

17

Level2 (Process level)

This level is decomposition of a process shown in a level-1 diagram, as such there

should be a level-2 diagram for each and every process shown in a level-1 diagram.

Figure 4.5 DFD-Level 2 (Process level 2 diagram) Complaint Registration Process

Figure 4.6 DFD-Level 2 (Process level diagram) for Admin User Acceptance Process

18

Figure 4.7 DFD-Level 2 (Process level diagram) for Complaint Viewing Process

4.3 ENTITY RELATIONSHIP MODEL

In software engineering, an entity-relationship model (ERM) is an abstract and

conceptual representation of data. Entity-relationship modeling is a database modeling

method, used to produce a type of conceptual schema or semantic data model of a system,

often a relational database, and its requirements in a top-down fashion. Diagrams created

by this process are called entity-relationship diagrams, ER diagrams, or ERDs.

An entity may be defined as a thing which is recognized as being capable of an

independent existence and which can be uniquely identified. An entity is an abstraction

from the complexities of some domain. When we speak of an entity we normally speak of

some aspect of the real world which can be distinguished from other aspects of the real

world.

A relationship captures how two or more entities are related to one another.

Relationships can be thought of as verbs, linking two or more nouns. Examples: an owns

relationship between a company and a computer, a supervises relationship between an

employee and a department, a performs relationship between an artist and a song, a proved

relationship between a mathematician and a theorem.

19

4.4 DATABASE TABLES

In relational databases and flat file databases, a table is a set of data elements

(values) that is organized using a model of vertical columns (which are identified by their

name) and horizontal rows. A table has a specified number of columns, but can have any

number of rows. Each row is identified by the values appearing in a particular column

subset which has been identified as a candidate key.

Table is another term for relations; although there is the difference in that a table is

usually a multi-set (bag) of rows whereas a relation is a set and does not allow duplicates.

Besides the actual data rows, tables generally have associated with them some meta

information, such as constraints on the table or on the values within particular columns.

The data in a table does not have to be physically stored in the database. Views are also

relational tables, but their data are calculated at query time.

ACA Database Tables:

Table 4.1 LOGIN

Table 4.2 CITIZEN DETAILS

S.No Field Name Field Type Allow Null Description

1 Aadhar varchar(12) No Citizen Aadhar

2 CName varchar(50) No Citizen Name

3 CDOB Date/Time No Citizen Date of Birth

4 CAddress varchar(50) No Citizen Address

S.No Field Name Field Type Allow Null Description

1 Aadhar varchar(12) No Citizen Aadhar No

2 Password varchar(50) No Citizen Password

3 UserType varchar(20) No Citizen type

20

5 CCity varchar(50) No Citizen City

6 CState varchar(50) No Citizen State

7 CPin varchar(6) No Citizen City Pin Code

8 CQualification varchar(50) No Qualification

9 CJobType varchar(50) No Citizen Job Type

10 CEmailId varchar(50) No Citizen Email Id

11 CMobileNo Varchar(10) No Mobile Number

12 Status Varchar(20) No Account Status

Table 4.3 COMPLAINT DETAILS

S.No Field Name Field Type Allow Null Description

1 ComplaintID Varchar(10) No Complaint ID

2 Aadhar varchar(12) No Citizen Aadhar No

3 ComplaintDate Date/Time No Complaint Date

4 ComplaintDept varchar(50) No Complaint Department

5 ComplaintType varchar(50) No Complaint Type

6 Complaint varchar(Max) No Citizen Complaint

7 CPlace varchar(50) No Complaint Place

8 CCity varchar(50) No Complaint City

9 CState varchar(50) No Complaint State

10 CPin varchar(6) No Pin Code

21

Table 4.4 COMPLAINT CLEARANCE DETAILS

S.No Field Name Field Type Allow Null Description

1 ComplaintID varchar(10) No Complaint ID

2 CompletedDate Date/time No Completed Date

3 Complaint Dept varchar(50) No Complaint Department

4 CAttendEmpName Varchar(50) No Complaint Attend Employee

Name

5 CActionTaken Varchar(50) No Complaint Action Taken

6 CFollowUp Varchar(Max) No Complaint Follow Up

7 ApprovedEmpName Varchar(10) No Approved Employee Name

8 ApprovedEmpDesg Varchar(50) No Approved Employee

Designation

9 AcceptedStatus Varchar(20) No Accepted Status

10 Remarks Varchar(50) Yes Remarks

Table 4.5 FEEDBACK DETAILS

S.No Field Name Field Type Allow Null Description

1 ComplaintID varchar(10) No Complaint ID

2 Aadhar varchar(12) No Aadhar No

3 FeedBack varchar(50) No Positive/Negative

22

TABLE 4.6 SUGGESTION DETAILS

S.No Field Name Field Type Allow Null Description

1 SuggestionID varchar(10) No Suggestion Details

2 Aadhar varchar(12) No Citizen Aadhar No.

3 SuuggestionDate datetime No Suggestion Date

3 SuggestionDept varchar(50) No Suggestion Department

4 SuggestionType varchar(50) No Suggestion Type

5 Suggestion varchar(Max) No Suggestion details

6 Place Varchar(50) No Place

7 City Varchar(50) No City

8 State Varchar(50) No State

9 Pin Varchar(50) No Pin Code

10 Remarks Varchar(Max) Yes Other

TABLE 4.7 ARTICLE DETAILS

S.No Field Name Field Type Allow Null Description

1 ArticleID Varchar(10) No Citizen Article ID

2 Aadhar varchar(12) No Citizen Aadhar No.

3 ADate Date/Time No Article Date details

4 ArticleType varchar(50) No Article Type

23

TABLE 4.8 ARTICLE REPLY DETAILS

S.No Field Name Field Type Allow Null Description

1 ArticleID varchar(50) No Citizen Article ID

2 Aadhar varchar(12) No Citizen Aadhar No.

3 ArticleReplyDate varchar(50) No Article date

4 ArticleReply varchar(Max) No Article Reply Details

5 Like int No Like Counts

6 Dislike int No Dislike Counts

7 Remarks Varchar(50) Yes Remarks

TABLE 4.9 EMPLOYEE DETAILS

S.No Field Name Field Type Allow Null Description

1 Aadhar varchar(12) No Citizen Aadhar

2 EmpName varchar(50) No Employee Name

3 EmpType varchar(50) No Employee Type

5 Article varchar(Max) No Article Content Details

6 Likes int No Article Like count

7 Dislikes int No Article Dislike count

8 Remarks Varchar(50) Yes Remarks

24

4 EmpDept varchar(50) No Employee Department

5 Designatiom Varchar(50) No Designation

6 EmailID Varchar(50) No Employee e-mailID

7 Mobile Varchar(10) No Mobile No

8 Status Varchar(50) No Status

TABLE 4.10 PLACE DETAILS

S.No Field Name Field Type Allow Null Description

1 State varchar(50) No State

2 City varchar(50) No City

3 Pin varchar(6) No Pin Code

Water Department Database:

TABLE 4. 11 WATER DEPT COMPLAINT DETAILS

S.No Field Name Field Type Allow Null Description

1 ComplaintID Varchar(10) No ComplaintID

2 Aadhar varchar(12) No Citizen Aadhar No

3 ComplaintDate Date/Time No Complaint Date

4 ComplaintDept varchar(50) No Complaint department

5 ComplaintType varchar(50) No Complaint Type

6 Complaint varchar(Max) No Citizen Complaint

25

7 CPlace varchar(50) No Complaint Place

8 CCity varchar(50) No Complaint City

9 CState varchar(50) No Complaint State

10 CPin varchar(6) No City Pin Code

TABLE 4. 12 WATER DEPT COMPLAINT CLEARANCE DETAILS

S.No Field Name Field Type Allow Null Description

1 ComplaintID varchar(10) Yes Complaint ID

2 CompletedDate Date/time No Completed Date

3 CAttendEmpName Varchar(50) No Complaint Attend Employee

Name

4 CActionTaken Varchar(50) No Complaint Action Taken

5 CFollowUp Varchar(Max) No Complaint Follow Up

6 ApprovedEmpName Varchar(10) No Approved Employee Name

7 ApprovedEmpDesg Varchar(50) No Approved Employee

Designation

8 AcceptedStatus Varchar(20) No Accepted Status

9 Remarks Varchar(50) Yes Remarks

4.5 DATASET REPRESENTATION (DISCONNECTED ENVIRONMENT)

Datasets store data in a disconnected cache. The structure of a dataset is similar to

that of a relational database; it exposes a hierarchical object model of tables, rows, and

columns. In addition, it contains constraints and relationships defined for the dataset. You

26

use datasets if you want to work with a set of tables and rows while disconnected from the

data source.

An ADO.NET dataset is one view — a relational view — of data that can be

represented in XML. In Visual Studio and the .NET Framework, XML is the format for

storing and transmitting data of all kinds. As such, datasets have a close affinity with

XML. This relationship between datasets and XML enables you to take advantage of the

following features of datasets:

1. The structure of a dataset — its tables, columns, relationships, and constraints —

can be defined in an XML Schema.

2. XML Schemas are a standards-based format of the W3C (World Wide Web

Consortium) for defining the structure of XML data.

3. Datasets can read and write schemas that store structured information using the

ReadXmlSchema and WriteXmlSchema methods. If no schema is available, the

dataset can infer one (via its InferXmlSchema method) from data in an XML

document that is structured in a relational way. For more information about

datasets and schemas, see Introduction to XML Schemas.

4. You can generate a dataset class that incorporates schema information to define its

data structures (such as tables and columns) as class members. (See "Typed versus

Untyped Datasets" below).

5. You can read an XML document or stream into a dataset using the dataset's

ReadXML method and write a dataset out as XML using the dataset's WriteXML

method. Because XML is a standard interchange format for data between different

applications, this means that you can load a dataset with XML-formatted

information sent by other applications.

6. Similarly, a dataset can write out its data as an XML stream or document, to be

shared with other applications or simply stored in a standard format.

7. You can create an XML view (an XMLDataDocument object) of the contents of a

dataset, and then view and manipulate the data using either relational methods (via

the dataset) or XML methods. The two views are automatically synchronized as

they are changed.

27

Figure 4.11 Dataset

IMPLEMENTATION

28

CHAPTER 5

IMPLEMENTATION

5.1 ASP.NET WEB APPLICATION

ASP.NET is an open-source server-side web application framework designed for

web development to produce dynamic web pages. It was developed by Microsoft to allow

programmers to build dynamic web sites, web applications and web services.ASP.NET

Web pages, known officially as Web Forms, are the main building blocks for application

development in ASP.NET. There are two basic methodologies for Web Forms, a web

application format and a web site format. Web applications need to be compiled before

deployment, while web sites structures allows the user to copy the files directly to the

server without prior compilation. Web forms are contained in files with a ".aspx"

extension; these files typically contain static (X) HTML markup or component markup.

The component markup can include server-side Web Controls and User Controls that have

been defined in the framework or the web page.

5.1.1 Master Page

ASP.NET master pages allow you to create a consistent layout for the pages in

your application. A single master page defines the look and feel and standard behavior that

you want for all of the pages (or a group of pages) in your application. You can then create

individual content pages that contain the content you want to display. When users request

the content pages, they merge with the master page to produce output that combines the

layout of the master page with the content from the content page

Use of Master Pages:

The master pages can be used to accomplish the following:

1. Creating a set of controls that are common across all the web pages and attaching

them to all the web pages.

2. A centralized way to change the above created set of controls which will effectively

change all the web pages.

3. Dynamically changing the common UI elements on master page from content pages

based on user preferences

29

Master page Elements:

ContentPlaceHolder: A control that should be added on the MasterPage which will

reserve the area for the content pages to render their contents.

Content Control: A control which will be added on content pages to tell these pages that

the contents inside this control will be rendered where the MasterPage's

ContentPlaceHolder is located.

5.1.2 Gridview

A gridview or a datagrid is a graphical user interface element (widget) that presents a

tabular view of data. A typical grid view also supports some or all of the following:

Clicking a column header to change the sort order of the grid

Dragging column headers to change their size and their order

In-place editing of viewed data

Row and column separators, and alternating row background colors

5.1.3 Disconnected Database Connectivity

The System.Data.SqlClient namespace is the.NET Framework Data Provider for

SQL Server. The.NET Framework Data Provider for SQL Server describes a collection of

classes used to access a SQL Server database in the managed space. Using the

SqlDataAdapter, you can fill a memory-resident DataSet that you can use to query and

update the database.

SqlClient is the only Managed .Net Data Provider. On the other hand, the OLEDB

data provider is unmanaged and doesn’t support the type checking and garbage collection

which is provided by the CLR for its Managed objects.

Code for Data Connectivity

using System.Data.SqlClient;

SqlConnection con = new SqlConnection;

Con.ConnectionString="Data Source=.\\SQLEXPRESS;Initial

Catalog=ACA; Integrated Security=True";

SqlCommand cmd = new SqlCommand();

con.Open();

cmd.Connection = con;

30

Code for Insert, Update and Delete

Insert:

cmd.CommandText = "insert into ComplaintClearance values('"

+ omplaintID + "','" + Convert.ToDateTime(CompletedDate) +

"','Administration','" + AttendEmpName + "','" + ActionTaken

+ "','" + FollowUp + "','" + ApprovedEmpName + "','" +

ApprovedEmpDesignation + "','" + AcceptedStatus + "','" +

Remarks + "')";

cmd.ExecuteNonQuery();

Update:

cmd.CommandText = "update Complaints SET Status='Completed'

where ComplaintID='" + ComplaintID + "'";

cmd.ExecuteNonQuery();

Delete:

cmd.CommandText = "Delete from Complaints where

ComplaintID='" + ComplaintID + "'";

cmd.ExecuteNonQuery();

5.1.4 Microsoft Reporting Services

Report Definition Language (RDL) is a standard proposed by Microsoft for

defining reports.

RDL is an XML application primarily used with Microsoft SQL Server Reporting

Services. RDL is usually written using Visual Studio, although there are also third-party

tools; it may also be created or edited by hand in a text editor. SQL Server Reporting

Services or other 3rd party reporting frameworks use RDL to define charts, graphs,

calculations, text, images (through links) and other report objects and render them in a

variety of formats.

There are three high-level sections in a typical RDL file:

Page style - The objects to display including fields, images, graphs, tables.

31

Field definitions - The extended attributes of fields which are populated with

formulas, dynamic data, or Database derived data.

Parameters and Database connections - Parameters that may be furnished by the

user or passed in from another application; and database connections and queries

for pulling data into the report.

Code for Microsoft RDLC (Report Definition Language Client)

<rsweb:ReportViewer ID="ReportViewer2" runat="server" Font-

Names="Verdana" Font-Size="8pt" Height="400px" Width="100%">

<LocalReport ReportPath="ReportComplaintDepts.rdlc">

<DataSources>

<rsweb:ReportDataSource DataSourceId="ObjectDataSource1"

Name="DataSet1_Complaints" />

</DataSources>

</LocalReport>

</rsweb:ReportViewer>

5.2 WEB APPLICATION FEATURES (ASP.NET 3.5)

The web application is developed using ASP.Net 3.5. It uses Web Forms and uses

Data-Binding expressions for dynamic content generation from the centralized SQL

Server database. It uses the request and response objects of ASP.Net for navigation and

uses Query String for passing data across WebPages.

5.2.1 ASP.Net Database Connectivity

using System.Data.SqlClient;

SqlConnection con = new SqlConnection("Data Source=.\\

SQLEXPRESS;Initial Catalog=ACA;Integrated Security=True");

SqlCommand cmd = new SqlCommand();

con.Open();

cmd.Connection = con;

32

Code for Data Connectivity

using System.Data.SqlClient;

SqlConnection con = new SqlConnection("Data

Source=.\\SQLEXPRESS;Initial Catalog=ACA;Integrated

Security=True");

SqlCommand cmd = new SqlCommand();

con.Open();

cmd.Connection = con;

cmd.CommandText = "insert into ComplaintClearance values('"

+ ComplaintID + "','" + Convert.ToDateTime(CompletedDate) +

"','Administration','" + AttendEmpName + "','" + ActionTaken

+ "','" + FollowUp + "','" + ApprovedEmpName + "','" +

ApprovedEmpDesignation + "','" + AcceptedStatus + "','" +

Remarks + "')";

cmd.ExecuteNonQuery();

5.2.2 ASP.Net Session

Session is extensively used for passing data from one webpage to another.

Code for Query String (Navigation)

using System.Net;

Session["CName"] = CName;

Session["Aadhar"] = Aadhar;

5.2.3 Optimistic Concurrency

In the field of relational database management systems, optimistic concurrency

control (OCC) is a concurrency control method that assumes that multiple transactions

can complete without affecting each other, and that therefore transactions can proceed

without locking the data resources that they affect. Before committing, each transaction

verifies that no other transaction has modified its data. If the check reveals conflicting

modifications, the committing transaction rolls back.

TESTING

33

CHAPTER 6

TESTING

6.1 APPLICATION - SOFTWARE TESTING

6.1.1 Introduction

Testing is a key component of any application deployment project. The testing

process determines the readiness of the application. Therefore, it must be designed to

adequately inform deployment decisions. Without well-planned testing, project teams may

be forced to make under-informed decisions and expose the business to undue risk.

Conversely, well-planned and executed testing can deliver significant benefit to a project,

including:

Reduced Deployment Cost

Identifying defects early in the project is a critical factor in reducing the total cost

of ownership. Research shows that the cost of resolving a defect increases dramatically in

later deployment phases. A defect discovered in the requirements definition phase as a

requirement gap can be a hundred times less expensive to address than if it is discovered

after the application has been deployed. When in production, a serious defect can result in

lost business and affect the success of the project.

Higher User Acceptance

User perception of quality is extremely important to the success of a deployment.

Functional testing, usability testing, and performance testing can provide insights into

deficiencies from the users' perspective early enough so that these deficiencies can be

corrected before releasing the application to the larger user community.

Improved Deployment Quality

Hardware and software components of the project must also meet a high level of

quality. The ability of the application to perform reliably is critical in delivering consistent

service to the users or customers. An outage caused by inadequate resources can result in

lost business. Performance, reliability, and stress testing can provide an early assessment

34

of the project to handle the production load and allow IT organizations to plan

accordingly.

Inserting testing early and often is a key component to lowering the total cost of

ownership. Software projects that attempt to save time and money by lowering their initial

investment in testing find that the cost of not testing is much greater. Insufficient

investment in testing may result in higher deployment costs, lower user adoption, and

failure to achieve business returns.

6.1.2 Common Test Definitions

There are several common terms used to describe specific aspects of software

testing. These testing classifications are used to break down the problem of testing into

manageable pieces. Here are some of the common terms that are used throughout this

book.

Integration Testing

This testing validates that all programs and interfaces external to our application

function correctly. Sometimes adding a new module, application, or interface may

negatively affect the functionality of another module.

Performance Testing

This test is usually performed using an automation tool to simulate user load while

measuring resources used. Client and server response times are both measured. This must

be conducted in an environment that has realistic test data.

Regression Testing

Code additions or changes may unintentionally introduce unexpected errors or

regressions that did not exist previously. Regression tests are executed when a new build

or release is available to make sure existing and new features function correctly.

Stress Testing

This test identifies the maximum load a given hardware configuration can handle.

Test scenarios usually simulate expected peak loads.

35

Unit Testing

Developers test their code against predefined design specifications. A unit test is an

isolated test that is often the first feature test that developers perform in their own

environment before checking changes into the configuration repository. Unit testing

prevents introducing unstable components (or units) into the larger application.

Usability Testing

User interaction with the graphical user interface (GUI) is tested to observe the

effectiveness of the GUI when test users attempt to complete common tasks.

User Acceptance Test

Users test the complete, end-to-end business processes. Functional and

performance requirements are verified to make sure there are no user task failures and no

prohibitive response times.

6.2 TESTING APPROACHES

6.2.1 White Box Testing

White box testing is also known as code testing. The code testing strategy checks

for the correctness of the every statement in the program. To follow this strategy, there

should be cases that result in execution of every instruction in the program or module,

which is every path in the program, is tested. The test cases should be guarantee that

independent paths within module are executed once.

Exercise all logical decision on their true or false sides.

Execute all loops at their boundaries and within their operational bounds.

This testing strategy, on the face of it, sounds exhaustive. If every statement in the

program is checked for bits validity, there does not seem to be much scope of error.

6.2.2 Black Box Testing

Black box testing is also known as specification testing. To perform black box

testing, the analyst examines the specification taking what the program or module should

do and how it should perform on the various conditions and submitted for processing. By

36

examine the result, the analyst can examine whether the program performs according to

the specified requirements.

6.2.3 Unit Testing

The unit testing involves testing the entire software, unit by unit. Generally, white

box testing is adopted, which assures the full coverage of the code. The white box or glass

box testing is a rigorous activity. It is a test case design method that uses the control

structure of the procedural design to derive test cases.

Test cases can be derived, that guarantee that all independent paths within a

module have been exercised at least once, exercise all logical decisions on their true and

false sides, executes all loops at their boundaries and within their operational bounds, and

exercise internal data structures to ensure their validity.

6.2.4 Performance Testing

The performance test was conducted with the help of log files. The performance of

the system is tested with the log files created. Various log levels are used according to the

need. The logs used to find the actions performed over the Parent BCs and Child BCs at

various times. When the system responds with unexpected behavior, the same will be

captured in the log files, so the particular modules can be tested.

6.2.5 GUI Testing

This testing is done to test the screen lookup in all perspectives as mentioned in the

specification.

In our case, we have tested the screens to display according to the display

standards defined within the client specification.

For example:

1. Screen resolution.

2. Left and right side alignment in terms of pixels.

3. Labels font type and their size etc.

37

6.2.6 Validation Testing

Validation succeeds when the software works in a manner expected by the

customer. Software validation is achieved through a series of black box tests that

demonstrate conformability with requirements.

Validation testing refers to the process of using software in a live environment in

order to find errors. During the course of validation of system, a failure may occur and the

software needs to be modified. The feedback from the validation phase generally produces

changes in the software to deal with errors and failures are uncovered.

6.2.7 Data Validation

In common usage, validation is the process of checking if something satisfies a

certain criterion. Examples would include checking if a statement is true (validity), if an

appliance works as intended, if a computer system is secure, or if computer data are

compliant with an open standard. Validation implies one is able to document that a

solution or process is correct or is suited for its intended use.

Validation refers to the process of data validation, ensuring that data inserted into

an application satisfies pre-determined formats or complies with stated length and

character requirements and other defined input criteria. It may also ensure that only data

that is either true or real can be entered into a database.

Figure 6.1 Required filed Validation output

CONCLUSION

& FUTURE

ENHANCEMENTS

38

CHAPTER 7

CONCLUSION AND FUTURE ENHANCEMENTS

7.1 CONCLUSION

It was a wonderful experience doing this project for the development of the

Cuddalore City Administration. This project provided me an environment to learn,

experiment and develop code, that is robust and reliable. Through this project, I was

introduced to newer and emerging technologies like Microsoft C#.Net 3.5, Web services,

Optimistic Concurrency options of the SQL Server 2005, ASP.Net 3.5, Microsoft

Reporting Services and the SqlDataClient (a managed .Net object as opposed to OLEDB

which is unmanaged).The nature of the project helped me in a great manner, that the

project should meet the requirements as specified and cannot compromise on any of the

functionality dictated by the end users, which motivated me in learning and implementing

newer technologies.

The project also gave me an opportunity to experience an entire software life cycle

in a real life situation. It was good to experience what we have only read in books and

have heard from others.

This project will be helpful for the citizens to have an active participation and

communication with Municipal authorities irrespective of time barrier and distance barrier.

It will be helpful to the public department workers to identify the problems in their area

through the Citizens Complaints. And the problems may resolve as soon by the workers.

7.2 FUTURE ENHANCEMENTS

In future, the mobile application can develop for the ACA website. That facility

may provides to the users to view and use the ACA website features in their mobile

phones, PDA’s etc. Most of the modules could be further enhanced to support SMS

service. So that, the information could reach the Citizens, Administrators and Authorities

wherever they are and instantly.

SCREEN SHOTS

39

CHAPTER 8

SCREEN SHOTS

8.1 SCREEN SHOTS

Figure 8.1 ACA Home Page

Figure 8.2 Citizen Registration Web Page View

40

Figure 8.3 Login detail Web Page View

Figure 8.4 Complaint Details Web Page View

41

Figure 8.5 Feedback Web Page View

Figure 8.6 Suggestion Web Page View

42

Figure 8.7 Citizen Forum Web Page View

Figure 8.8 Citizen Profile Management Web Page View

43

Figure 8.9 Water Department Home Page Web Page View

Figure 8.10 Water Department Complaint Details Web Page View

44

Figure 8.11 Microsoft Report for Complaint Details

Figure 8.12 ACA Web Service

45

Figure 8.13 ACA Web Service Water Department Web-Method with SOAP Details

Figure 8.14 Water Department Web Service

46

Figure 8.15 Water Department Web Service Web-Method with SOAP Details

BIBLIOGRAPHY

47

BIBLIOGRAPHY

A. REFERENCES

References for the project development were taken from the following Books and

Websites.

BOOKS:

1. Roger S. Pressman, “Software Engineering” McGraw Hill, New Delhi, 6th

Edition, 2006.

2. Mathew MacDonald, “ASP.NET: The Complete Reference”, Tata McGraw

Hill Ltd, New Delhi, 2008.

3. Andrew Troelsen, “Pro C# 2008 and the .NET 3.5 Platform”, Fourth Edition,

Apress, 2008.

4. Kogent Learning Solutions Inc., “Asp.Net 4.0 Projects: Covers .Net 3.5 And

.Net 4.0 Codes-Black Book”, 1st Edition, 2010.

5. Shivprasad Koirala, Rajesh Pilli and Pravin Joshi, “C# and ASP.NET

Projects”, 2010.

6. Bill Evjen, “Visual Studio .Net Bible”, Illustrated Edition, Wiley Publishing,

2001.

WEB Links:

1. www.msdn.microsoft.com

2. www.codeproject.com

3. www.stackoverflow.com

4. www.w3schools.com

5. www.jqgridDemo.com

6. www.technet.microsoft.com