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
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.
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.
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.
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.
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.
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.
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
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.
39
CHAPTER 8
SCREEN SHOTS
8.1 SCREEN SHOTS
Figure 8.1 ACA Home Page
Figure 8.2 Citizen Registration Web Page View
43
Figure 8.9 Water Department Home Page Web Page View
Figure 8.10 Water Department Complaint Details Web Page View
45
Figure 8.13 ACA Web Service Water Department Web-Method with SOAP Details
Figure 8.14 Water Department Web Service
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
Top Related