E-governance Web Application
1. PROJECT ABSTRACT
e-Governance and e-Government are increasingly being emphasized as ways for
governments to strengthen good governance. If implemented strategically e-governance
can not only improve efficiency, accountability and transparency of government
processes, but it can also be a tool to empower citizens by enabling them to participate in
the decision-making processes of governments.
The aim of this project is to develop an e-government website. This project is designed to
address the needs of government officials seeking to implement e-government projects,
or those already involved with such venture. It outlines key strategic issues that need to
be considered and addressed in the implementation of technology based e-government
initiatives.
This project deals with the automation of governmental tasks like birth registration, death
registration, issuing of birth and death certificates etc.
The other intention of creating this project is to provide the administrator over the full
authentication of allotting the different types of license to the different customers, death
& birth registration, financial services etc. The following are the tasks performed by the
system:
Death & Birth registration
Allotting license of different types according to the needs of the user
Renew license.
Category wise allotment of license.
Checking of documents filled by the customer.
Useful for getting license in a quick time.
1 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationThe main idea to develop this project is to provide the administrator a very light and easy
way to handle his all the customers and providing them a very easy way to get the
license.
1. 1 System M odules
We can categorize the project in following main modules
Admin Module
Death & Birth Registration module
License Module
Rent & Lease
These were the modules which are discussed till date, can be modified according
to future needs.
1.1.1) Admin module
Creating users and storing passwords in encrypted form To give permission to the users to access the modules and forms of the modules Changing of passwords of the users Adding new modules to the project Adding new web pages in an existing module
1.1.2) Death & Birth Registration Module
Birth registration Death registration Issue birth & death certificate Search details
1.1.3) License Module
Customer entry. Details of customer Type of license PERMANENT TEMPORARY
Entries must be up to date Customer id is auto generated
2 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Category description. For which category the customer is applying for: PFA NPFA ANIMAL
The software to be developed will include the information regarding the customers as
their type of license, date of issuing and renewal of license, record of birth & death of the
public etc.
Using World Wide Web portals to create one-stop shops is one currently popular e-
government approach to improving the delivery of public services to citizens. The basic
idea of these portals is to provide a single, convenient place to take care of all the steps of
a complex administrative process involving multiple government offices, bringing the
services of these offices to the citizen instead of requiring the citizen to run from office to
office.
Web portals can deliver government services with various levels of interaction. Three
levels are usually identified: information, communication, and transactions. Information
services deliver government information via static web pages and pages generated from
databases to citizens, tourists, businesses, associations, public administration, and other
government users. Communication services use groupware technology such as e-mail,
discussion forums and chat to facilitate dialogue, participation and feedback in planning
and policy-making procedures. Transaction services use online forms, workflow and
payment systems to allow citizens and business partners to take care of their business
with government online. Typical applications of transaction services for citizens include
applying for social benefits, registering automobiles, filing changes of address or
applying for building permits. For businesses, perhaps the application of greatest current
interest is the online procurement of government contracts.
2. OVERVIEW OF THE ORGANIZATION
3 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Mobile2Win and Altruist Technologies are Value Added Service and Software Design &
Development Company with 450+ Employees Nationwide. They provide End to End IT
Solution for Domestic and Overseas Clients. Below given is the brief profile of our
Offered Services and Clients. We are looking for a chance to assist you with our technical
expertise in any of the below given Service area.
2.1 Location of the Organization:
Altruist Technologies Pvt. Ltd. Head Office (Corporate Office) Altruist Technologies Private Limited.Tower C, 2nd floor,DLF Complex, IT Park,Chandigarh.
2.2 Offered Services:
Mobile2Win–Altruist group are a $40 Million company. We offer a wide range of WEB
and WAP related services such as Software application development, Website/Wapsite
design and development, Customized Windows applications, SEO, E-Commerce/M-
Commerce solutions. Below given is the range of our expertise we offer:
Customized Software Design and Development
Website Design & Development
WAPsite Design & Development
Mobile Games and Applications
SMS Application (One Way and Two Way)
Short code and IVR Services (Voice and SMS Based)
Search Engine Optimization (SEO)
E-Commerce and Shopping Cart
Social Networking
Customized Web Portals
Document Management System (DMS)
Workflow
4 Surinder Singh 7042210732 (2007-10)
E-governance Web Application ERP
HRMS
CMS
Mobile Banking
2.3 Technologies we offer:
M2W-Altruist has always been at the leading edge of driving innovation in the IT
development industry. Our record is at adding value to our services through reduced time
to market, high quality, and technologically innovative processes. We are the technical
leader in our arena with over 450 experts hailing from engineering, technical and
management backgrounds devoted towards supplementing their knowledge with internal
research and development to ensure seamless delivery. We implement a powerful set of
proven techniques that assure quality and confidence in the design, construction, and
deployment of business applications. Below given is the set of technologies we deploy:
Application Development:
ASP.NET, VC#.NET, VB.NET, VC.NET, C++, PHP, Joomla, Java, J2EE, J2ME,
AJAX, iphone
Web Development:
Joomla 1.0, Joomla 1.5, VirtueMart, HTML, DHTML, XHTML, WORDPRESS,
Megento, Custom CMS, UltraDev, Visual Interdev, JavaScript, Zend Studio,
VBscript, Shopping Gateway Integration, PayPal, Authorize.NET, Google
MAPS. PSD to Templates, Joomla Templates, CSS 2.0 Templates, Meg
Designing:
Adobe Photoshop, Image Ready, Flash, CorelDraw, Photoshop and Fireworks.
Operating Systems:
Windows 2003 .NET Server, Windows 98/ME/XP/Vista and NT 2000, Linux and
Unix.
Databases:
Oracle, MS SQL Server, Access, MySQL
2.4 Project Exposure:
5 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Mobile2Win-Altruist Group is providing their continuous support in developing and
maintaining the customized web applications for all his clients. We provide a wide range
of value Added Services to all the telecom operators of India like Airtel, Vodafone,
Aircel, Tata, Idea, BSNL, MTNL and Reliance. Altruist Technology provides Document
Management Solution (eDoc Solution) and Workflow to all the small and middle size
businesses. Altruist marketing and technical team always work closely with government
and Private organizations to provide End to End IT solution.
Few of the websites developed in PHP and .net are:
www.txt2mkts.com
www.eworldtradefair.com
www.property4delhi.com
www.chiragjoshi.com
www.anantassociates.com
http://jaconsultants.net
www.palmjewellery.com
www.altruistindia.com
www.jobsonphone.com
www.indiamobilechat.com
www.86serving.com
www.mchat.co.in
www.jumbosearch.co.uk
Mobile Websites (WAP):
wap.Setindia.com
wap.Hindustantimes.com
wap.motozone.co.in
wap.cartoonnetwork.in
wap.mobile2win.com
wap.mchat.co.in
http://ac2.mobile2win.com/wapchat/idea
6 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationhttp://servercnt1.mobile2win.com/telcospecials/
http://servercnt1.mobile2win.com/mcard/home.aspx
m.mobile2win.com
lifeonmobile.in
Mobile2Win has an extensive background in developing Mobile Games and
Applications. We’ve developed more than 1000 Mobile Games and application on J2ME
and other platform.
2.5 Client List:
Mobile2Win and Altruist have a Strong tale of Top Brand Clients to whom we are
providing our services in various domains. Few World Known Clients are given below:
Sony Cartoon Network
Motorola Nokia
Bajaj Allianz Hindustan Times
Foster Domino’s
Kingfisher The Tribune
The Indian Express MSN
Star News Siemens
Coca-Cola Pizza Hut
Whirlpool IBM
HBO Wrangler
Aviva Toyota
Kellogg’s Bacardi
BenQ Timex
Altruist and Mobile2win are providing their value added services to all the leading
telecom operators not limited to Airtel, Vodafone, Idea, Tata, Aircel, MTNL, BSNL and
Reliance.
7 Surinder Singh 7042210732 (2007-10)
E-governance Web Application3. PROFILE OF PROBLEM ASSIGNED
The aim of this project is to develop an e-government website. This project is designed to
address the needs of government officials seeking to implement e-government projects,
or those already involved with such venture. It outlines key strategic issues that need to
be considered and addressed in the implementation of technology based e-government
initiatives.
The modules assigned are:
Admin Module
Birth & Death Registration Module
License Module
3.1 Admin module
Creating users and storing passwords in encrypted form
To give permission to the users to access the modules and forms of the modules
Changing of passwords of the users
Adding new modules to the project
Adding new web pages in an existing module
3.2 Birth & Death Registration
Birth Registration
Death Registration
State Details
Hospital Details
Add New State & Hospital
Issue Birth & Death certificate
Birth & Death details search
Birth & Death correction
8 Surinder Singh 7042210732 (2007-10)
E-governance Web Application3.3 License Module
Customer entry.
Entry of new customer
Type of license to be required by the customer
PERMANENT
TEMPORARY
Entries must be up to date
Customer id is auto generated
Category description.
For which category the customer is applying for:
PFA
NPFA
ANIMAL
4. STUDY OF EXISTING SYSTEM
9 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
The project is to computerize the working of government officials. The manual system of
government tasks such as registration of birth and death, registration of customers
applying for license for opening new shop which may be pure food or non pure food etc.
takes lot of time and has lot of paper work. Due to this lot of time is wasted and
processing speed and data entering speed became very slow.
Therefore need for computerization not due to the large volume of data transactions are
taking place, but to maintain the integrity of data. Some data has to re-write in various
files due to which it is possible for error to creep in. This type of errors are difficult to
find, as it requires comparing four-five files which leads to wastage of time and
manpower . But with the use of this software these kinds of inconsistencies can be
avoided, because it informs the moment the error is committed, thus the data integrity is
maintained.
In the existing system all the work from addition of new records to modifying is done
manually. During customer entry, the first step is to fill up details about him like his
name, father’ name, address, type of license applying for, details of certificate required to
issue a license etc. takes a lot of time then license no. allocated must be entered in the
register manually which again consume a lot of time and space. The means for reading
and gaining knowledge is books i.e. frustrating to both user and client.
With the use of this software reports can be generated very easily and instantly where as
using manual system it takes lot of time to generate reports. It is possible that user may
leave empty or different records for same fields in different files but through this software
such kind of errors can’t creep in.
Also as software is graphical it is easier for new computer users to use it easily and
effectively. With the use of this software the overall speed of data transaction will
increase to great extent.
4.1 Drawbacks of the existing system:
10 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
The main drawbacks of the existing system are:-
4.1) Manual Work :
All the work concerned is done manually. All the information is stored in excel
sheets or files. A lot of time is consumed in integrating the files and generating
reviews of resource utilization.
4.2) Maintenance :
Maintaining record in excel sheets is not so easy.
4.3) Upadation :
It is difficult to change or update the records.
4.4) Complexity :
Complexity of information handling and the gathering and determination of
information is usually the most difficult problem faced.
4.5) Data Redundancy :
Maintaining separate files for each department can lead to duplication of data
present in files. This can lead to:
a. Inconsistencies
b. Update anomalies
c. Decentralization problems
4.6) Human Errors :
Human kind of errors may be generated in typing errors and slow arithmetic
calculations, fatigue and boredom.
4.7) No Security :
In case of manual work, security of data cannot be maintained.
11 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
4.8) No Report Generation :
There is no report generation. This can lead to difficulties in the later stage. If the
executive wants information regarding anything, he has to search whole database
which leads to a lot of time wastage.
4.9) Less Efficient :
The existing system is less efficient.
4.10) Less Reliable :
The existing system is less reliable.
4.11) Less Accurate :
The existing system is less accurate.
4.12) Difficult To Implement :
The existing system is difficult to implement.
4.13) Not User Friendly :
The existing system is not user friendly and also it is not interactive.
4.14) Not Flexibility :
The existing system is less flexible.
4.2 Proposed System
12 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationThe proposed system is to centralize all the work so that it can be managed easily by the
company and also it can be easily accessed by the resources working for the company.
4.2.1 Silent Features of the Proposed System
The proposed system is software, which is expected to remove the problems of the
existing system and provide value added solutions to the problems faced by the current
system.
It will provide the following advantages:-
1. It will help the government to conduct its dealings online.
2. It will increase the efficiency of the government
3. It will make the work easier as well as productive.
4. Less maintenance required.
5. Changes and updates can be done easily.
6. It will provide reliability, efficient and easy searches.
7. It is much faster than the present existing system.
8. Cost of manual labor is reduced.
9. Tampering of data by unauthorized people would not be there.
10. Figures will be available for forecasting.
11. It is highly interactive.
12. It is entirely menu driven.
13. No data redundancy.
14. It is fast and accurate in executing queries.
15. It generates efficient and quick reports.
16.
5. SYSTEM REQUIREMENTS
13 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
5.1 Product Definition
5.1.1 Problem Statement:-
The main purpose of the product specification is to define the need of the product’s user.
Sometimes, the specification may be a part of a contract sign between the producer and
the user. It could also form part of the user manuals. A user‘s needs are sometimes not
clearly understood by the developer. If this is the case, a careful analysis – involving
many interactions with the user should be devoted to reaching a clear statement of
requirements; in order to avoid possible misunderstandings.
Sometimes, at the beginning of a project, even the user has no clear idea of what exactly
the desired product is. Think for instance of user interface , a user with no previous
experience with computer products may not appreciate the difference between , say
menu driven interaction and a command line interface. Even an exact formation of
system functions and performance may be missing an initial description produced by an
inexperienced user.
5.1.2 Functions to be provided:-
With project the government can manage data more easily. For this the system has been
analyzed and clearly understood. We are required to make this computerized and also
provide online access of the connection to the resources.
Providing user friendly interface.
To store all the information about the customer
Easy access of data to admin and super admin.
Easy maintenance as the data is centralized.
Maintaining data consistency.
Providing better performance.
Increasing the efficiency through automation.
14 Surinder Singh 7042210732 (2007-10)
E-governance Web Application Proper authorization as user name and password is given to each user of the
system
Proper security as no user can see the web forms which are not allotted to
him/her.
Providing timely information to the admin and super admin.
5.1.3 Processing Environment: Hardware & Software Profile:-
Hardware Environment (End user’s PC)PC PC (Windows)Processor Intel Pentium Processor, 233
MHz or equivalent.RAM 128 MB RD RAMHDD 10 MB of free HDD space
for Internet CacheInternet Connection 56 K Model Connection
Software Environment (Deployment Server)Operating System MS Windows Server 2003 or
higherOther software SQL Server 2005 or higher,
Enterprise Edition (TBD), Internet Information Server services (IIS 6.0 or higher), .Net Framework 2.0
Web Server Microsoft IIS 6.0Browser IE 6.0 or IE 7.0
Software Environment (End User)Operating System Win 2000 / Win XP or higherBrowser Microsoft Internet Explorer
6.0 or higher
15 Surinder Singh 7042210732 (2007-10)
Hardware Environment (Deployment Server)PC PC (Windows)Processor Intel Pentium Processor 4,
2.4GHz or equivalent.RAM 512 MB RAMHDD 40 GB
E-governance Web ApplicationTechnology Used:
1) ASP .NET 3.5 MVC
2) C# .NET
3) ADO .NET Entity Framework
4) Ajax
Database Used
SQL SERVER 2005
5.1.4 Solution Strategy:-
The strategy for the system involved studying about the system, stating the problem and s
olutions to be provided, determining requirements, hardware, software etc. The team me
mbers sat together, discussed the problem, studied the system, gathered information abou
t the type of data used in the system, the flow of data, understood the user’s requirements
and determine how to solve the problems. The team leader decided to use spiral model.
After developing a simple solution of the problem, a demo of the developed project is
given to the user and according to his requirements more functionality is added to the
project.
5.1.5 Acceptance Criteria:-
Acceptance criteria are the key to making sure our stories are done, and have as few bugs
as possible. When the criteria are weak, not complete, unclear or misunderstood, this can
be the root of a whole host of problems.
Acceptance criteria are a critical point on which a team can focus to improve results and
delivery. Acceptance criteria can be implemented as automated acceptance tests. The PO,
16 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationthe Developers, and the QA people on the team should all be in agreement that the
acceptance tests do illustrate that the software works as desired.
Acceptance criteria can be a tricky bit, especially if the customer and the team don't have
much experience at generating and capturing them. I would definitely consider it a
process smell if I saw a continuing pattern of low quality acceptance criteria. thus the
acceptance criteria play a vital role. Really this can kill a project if left untended to fester
on its own. From what I have seen on several teams, we should all focus more time and
effort on acceptance criteria gathering and then automating it in the sprint as part of the
criteria for Done.
5.2 Feasibility Analysis
The next step in analysis is to verify the feasibility of the proposed system. "All projects
are feasible given unlimited resources and infinite time ". But in reality both resources
and time are scarce. Projects should conform to time bounds and should be optimal in
three consumption of resources. This places a constant on approval any project.
5.2.1 Purpose
The feasibility analysis is designed to determine whether or not, given the project
environment, a project will be successful (in virtually any interpretation of that word). A
feasibility analysis may be conducted for a project with an emphasis on financial
viability, environmental integrity, cultural acceptability, or political practicability. It is a
determination as to the likelihood of success and a description of how that determination
was achieved.
5.2.2 Application
Feasibility analyses are used to present an approach or a series of alternatives and to offer
decision-making guidance based on the climate in which the project will evolve. They
often defend a single or primary approach, incorporating extensive forecasts on the
17 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationproject’s development, as well as its evolution after implementation. Because a feasibility
analysis may focus on one or many aspects of a project, it may be a very short (one- to
two-page) or long (multivolume) document. In any case, it generally begins with an
executive summary and a description of the project outputs in their as-built condition.
5.2.3 Feasibility Study Areas
Feasibility as applied to our system pertains to the following areas:
Technical feasibility
Operational feasibility
Economic feasibility
Social feasibility
Management feasibility
Legal feasibility
5.2.3.1 Technical Feasibility:
Technical feasibility centers on the existing computer systems (hardware, software)
to what extent it can support the proposed addition. For example, if the current computer
is operating at 80 percent capacity then running another application could overload the
system or require additional hardware. This involves financial considerations to
accommodate technical enhancements. If budget is a serious constraint, then the project is
judged not feasible.
In examining technical feasibility, configuration of the system is given more importance
than the actual make of hardware. The configuration should give the complete picture
about the system requirements. What speeds of input and output should be achieved at
particular quality of printing.
The team for developing Resource Tracker System is equipped with all the modern
facilities and the latest software. Therefore as far as the equipment and the software was
concerned there was no problem. Moreover the technical skills required to complete the
18 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationproject were also present in the form of competent software professionals. Thus the
project was considered technically feasible.
5.2.3.2 Economic Feasibility:
Economic analysis is the most frequently used technique for evaluating the effectiveness
of a proposed system. More commonly known as cost/benefit analysis, the procedure is
to determine the benefits and saving that are expected from a proposed system and
compare them with cost. If benefits outweigh cost, a decision is taken to design and
implement the system. Otherwise, further justification or alternative in the proposed
system will have to be made if it is to have a chance of being approved. This is an
ongoing effort that improves in accuracy at each phase of the system life cycle.
The costs include development costs, equipment costs, personal costs like team members
salaries, operating costs like power used etc. Since, the benefits and savings overweigh
costs, a decision is made to design and implement the system.
5.2.3.3 Operation Feasibility:
It is mainly related to human organizational aspects. The points to be considered are:
What changes will be brought with the system?
What organization structures are disturbed?
What new skills will be required?
Do the existing staff members have these skills? If not, can they be trained in due course
of time?
Proposed system is beneficial only if they can be turned into information system that will
meet the organization operating requirements and efficiency. As the system is user
friendly for those who have to maintain the records of work done on each project by
various resources and also to resources that have to make their day to day time entries. If
the user wants more facilities that can also be provided
19 Surinder Singh 7042210732 (2007-10)
E-governance Web Application5.2.3.4 Steps in Feasibility analysis:
Feasibility analysis involves eight steps:
1. Form a project team and appoint a project leader.
2. Prepare system flowcharts.
3. Enumerate potential candidate systems.
4. Describe and identify characteristics of candidate systems.
5. Determine and evaluate performance and cost effectiveness of each candidate system.
6. Weight system performance and cost data.
7. Select the best candidate system.
8. Prepare and report final project directive to management.
5.3 Project Plan
5.3.1 Team Structure
The team structure was of hierarchical type. The authorities and delegations were divided
in the hierarchical way. It followed Top to Bottom approach.
In this project there is one Program Manager, one Project Manager, one Technical Leader
and one Senior Software Engineer. Seven trainees are allotted for this project and project
is progressed under the supervision of all the team members.
20 Surinder Singh 7042210732 (2007-10)
Program Manager
E-governance Web Application
5.3.2 Development Schedule
We are divided into different teams. Each team has been assigned its own module, and in
team we are assigned sub modules to different members.
At first stage we are asked to analysis our sub module requirements.
Next step involve identifying entities involve in sub module assigned
Then we were asked to make our sub modules database as well as data flow diagrams.
The DFDs well as database designed by us were checked and modified by the experts.
Finally we were asked to design our database in SQL SERVER 2005
After designing our database we are ask to design front end in asp.net.
After designing here arise the most critical phase that is coding.
21 Surinder Singh 7042210732 (2007-10)
Project Manager
Trainee
Technical Lead
Software Engineer
Trainee
Trainee
E-governance Web ApplicationProgramming language and development tools:-We are working with the .net framework
and project will be developed in asp.net which will be at front end and we are using SQL
SERVER 2005 as backend.
5.3.3 Programming Languages and Development Tools:-
5.3.3.1 .NET Framework
The Microsoft .NET Framework is a software framework available with several
Microsoft Windows operating systems. It includes a large library of coded solutions to
prevent common programming problems and a virtual machine that manages the
execution of programs written specifically for the framework. The .NET Framework is a
key Microsoft offering and is intended to be used by most new applications created for
the Windows platform.
The framework's Base Class Library provides a large range of features including user
interface, data and data access, database connectivity, cryptography, web application
development, numeric algorithms, and network communications. The class library is used
by programmers, who combine it with their own code to produce applications.
Programs written for the .NET Framework execute in a software environment that
manages the program's runtime requirements. Also part of the .NET Framework, this
runtime environment is known as the Common Language Runtime (CLR). The CLR
provides the appearance of an application virtual machine so that programmers need not
consider the capabilities of the specific CPU that will execute the program. The CLR also
provides other important services such as security, memory management, and exception
handling. The class library and the CLR together compose the .NET Framework.
Version 3.0 of the .NET Framework is included with Windows Server 2008 and
Windows Vista. The current version of the framework can also be installed on Windows
XP and the Windows Server 2003 family of operating systems.
5.3.3.2 ASP.NET
ASP.NET is a web application framework developed and marketed by Microsoft to
allow programmers to build dynamic web sites, web applications and web services. It
22 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationwas first released in January 2002 with version 1.0 of the .NET Framework, and is the
successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the
Common Language Runtime (CLR), allowing programmers to write ASP.NET code
using any supported .NET language.
CHARACTERISTICS
PAGES
.NET pages, known officially as "web forms", are the main building block for application
development.[8] Web forms are contained in files with an ".aspx" extension; in
programming jargon, these files typically contain static (X)HTML markup, as well as
markup defining server-side Web Controls and User Controls where the developers place
all the required static and dynamic content for the web page. Additionally, dynamic code
which runs on the server can be placed in a page within a block <% -- dynamic code
-- %> which is similar to other web development technologies such as PHP, JSP, and
ASP, but this practice is generally discouraged except for the purposes of data binding
since it requires more calls when rendering the page Note
USER CONTROLS
ASP.NET supports creating reusable components through the creation of User Controls.
A User Control follows the same structure as a Web Form, except that such controls are
derived from the System.Web.UI.UserControl class, and are stored in ASCX files. Like
ASPX files, an ASCX file contains static HTML or XHTML markup, as well as markup
defining web control and other User Controls. The code-behind model can be used.
23 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationProgrammers can add their own properties, methods,[9] and event handlers.[10] An event
bubbling mechanism provides the ability to pass an event fired by a user control up to its
containing page.
User can also build Custom Controls for Asp.Net application. Where controls are in
compiled DLL file. And by using Register directive user can use control from DLL.
RENDERING TECHNIQUE
ASP.NET uses a visited composites rendering technique. During compilation, the
template (.aspx) file is compiled into initialization code which builds a control tree (the
composite) representing the original template. Literal text goes into instances of the
Literal control class, and server controls are represented by instances of a specific control
class. The initialization code is combined with user-written code (usually by the assembly
of multiple partial classes) and results in a class specific for the page. The page doubles
as the root of the control tree.
After the request has been processed, the instance of the page class is discarded and with
it the entire control tree.
STATE MANAGEMENT
ASP.NET applications are hosted in a web server and are accessed over the stateless
HTTP protocol. As such, if the application uses stateful interaction, it has to implement
state management on its own. ASP.NET provides various functionality for state
management in ASP.NET applications.
TEMPLATE ENGINE
When first released, ASP.NET lacked a template engine. Because the .NET framework is
object-oriented and allows for inheritance, many developers would define a new base
class that inherits from "System.Web.UI.Page", write methods here that render HTML,
and then make the pages in their application inherit from this new class. While this allows
for common elements to be reused across a site, it adds complexity and mixes source
24 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationcode with markup. Furthermore, this method can only be visually tested by running the
application - not while designing it. Other developers have used include files and other
tricks to avoid having to implement the same navigation and other elements in every
page.
ASP.NET 2.0 introduced the concept of "master pages", which allow for template-based
page development. A web application can have one or more master pages, which can be
nested.[14] Master templates have place-holder controls, called Content Placeholders to
denote where the dynamic content goes, as well as HTML and JavaScript shared across
child pages.
Child pages use those ContentPlaceHolder controls, which must be mapped to the place-
holder of the master page that the content page is populating. The rest of the page is
defined by the shared parts of the master page, much like a mail merge in a word
processor. All markup and server controls in the content page must be placed within the
ContentPlaceHolder control.
When a request is made for a content page, ASP.NET merges the output of the content
page with the output of the master page, and sends the output to the user.
The master page remains fully accessible to the content page. This means that the content
page may still manipulate headers, change title, configure caching etc. If the master page
exposes public properties or methods (e.g. for setting copyright notices) the content page
can use these as well.
5.3.3.3 THREE TIER ARCHITECTURE IN C#.NET
Tier indicates a physical separation of components, which may mean different assemblies
such as DLL, EXE, etc. on the same server or multiple servers. We can separate the three
tiers as Data Tier, Business Tier and Presentation Tier.
25 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Data Tier is basically the server which stores all the application’s data. Data tier
contents Database Tables, XML Files and other means of storing Application
Data.
Business Tier is mainly working as the bridge between Data Tier and Presentation
Tier. All the Data passes through the Business Tier before passing to the
presentation Tier. Business Tier is the sum of Business Logic Layer, Data Access
Layer and Value Object and other components used to add business logic.
Presentation Tier is the tier in which the users interact with an application.
Presentation Tier contents Shared UI code, Code Behind and Designers used to
represent information to user.
26 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Business Logic Layer
Business Logic Layer (BUS) works as a bridge between Presentation Layer and DAO.
All the user values received from the presentation layer are being passed to BUS. The
results received from the DAO are in row data in Data Table format but in BUS it’s
converting into Value Objects (VO). Business Logic Layer (BUS) is the most important
class in the whole architecture because it mainly contains all the business logic of the
program. Whenever a user wants to update the business logic of the program only need to
update this class.
Presentation Layer
Presentation Layer is the only layer which is directly connected with the user. So in this
matter, it’s also a really important layer for marketing purposes. Presentation Layer is
mainly used for getting user data and then passing it to Business Logic Layer for further
procedure, and when data is received in Value Object then it’s responsible to represent
value object in the appropriate form which user can understand.
5.3.3.4 MICROSOFT SQL SERVER
SQL SERVER
Microsoft SQL Server is an application used to create computer databases for the
Microsoft Windows family of server operating systems. It provides an environment used
to generate databases that can be accessed from workstations, the web, or other media
such as a personal digital assistant (PDA). Microsoft SQL Server is probably the most
accessible and the most documented enterprise database environment right now.
It supports a superset of Structured Query Language SQL, the most common database
language. It is commonly used by businesses for small to medium sized databases, and in
the past 5 years large enterprise databases, and competes with other relational database
27 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
products for this market segment. SQL Server is easy to manage and provides a separate
OLAP engine. Porting it to other platforms has been disclosed.
FEATURES OF SQL SERVER 2000
* INTERNET INTEGRATION
The SQL Server 2000 database engine includes integrated XML support. It also has the
scalability, availability, and security features required to operate as the data storage
component of the largest Web sites. The SQL Server 2000 programming model is
integrated with the Windows DNA architecture for developing Web applications, and
SQL Server 2000 supports features such as English Query and the Microsoft Search
Service to incorporate user-friendly queries and powerful search capabilities in Web
applications.
* SCALABILITY AND AVAILABILITY.
The same database engine can be used across platforms ranging from laptop computers
running Microsoft Windows® 98 through large, multiprocessor servers running
Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition
supports features such as federated servers, indexed views, and large memory support
that allow it to scale to the performance levels required by the largest Web sites.
* ENTERPRISE-LEVEL DATABASE FEATURES.
The SQL Server 2000 relational database engine supports the features required to support
demanding data processing environments. The database engine protects data integrity
while minimizing the overhead of managing thousands of users concurrently modifying
the database. SQL Server 2000 distributed queries allow to reference data from multiple
sources as if it were a part of a SQL Server 2000 database, while at the same time, the
distributed transaction support protects the integrity of any updates of the distributed
data. Replication allows to also maintaining multiple copies of data, while ensuring that
the separate copies remain synchronized. We can replicate a set of data to multiple,
28 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
mobile, disconnected users, have them work autonomously, and then merge their
modifications back to the publisher.
* EASE OF INSTALLATION, DEPLOYMENT, AND USE.
SQL Server 2000 includes a set of administrative and development tools that improve
upon the process of installing, deploying, managing, and using SQL Server across several
sites. SQL Server 2000 also supports a standards-based programming model integrated
with the Windows DNA, making the use of SQL Server databases and data warehouses a
seamless part of building powerful and scalable systems. These features allow to rapidly
deliver SQL Server applications that customers can implement with a minimum of
installation and administrative overhead.
5.3.3.5 AJAX (Asynchronous JavaScript and XML)
AJAX is not a new programming language, but a technique for creating better, faster, and
more interactive web applications.With AJAX, your JavaScript can communicate directly
with the server, using the JavaScript XMLHttpRequest object. With this object, your
JavaScript can trade data with a web server, without reloading the page.
AJAX uses asynchronous data transfer (HTTP requests) between the browser and the
web server, allowing web pages to request small bits of information from the server
instead of whole pages.The AJAX technique makes Internet applications smaller, faster
and more user-friendly.AJAX is a browser technology independent of web server
software.
Brief history
Ajax is only a name given to a set of tools that were previously existing. The main part is
XMLHttpRequest, a server-side object usable in JavaScript, that was implemented into
Internet Explorer since the 4.0 version. In Internet Explorer it is an ActiveX object that
was first named XMLHTTP some times, before to be generalized on all browser under
the name XMLHttpRequest, when the Ajax technology becomes commonly used. The
use of XMLHttpRequest in 2005 by Google, in Gmail and GoogleMaps has contributed
29 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
to the success of this format. But this is the when the name Ajax was itself coined that the
technology started to be so popular.
What is Ajax?
If you've surfed the web at all lately, most likely you've seen Ajax in action without
realizing it. Ajax can help increase the speed and usability of an application's web pages
by updating only part of the page at a time, rather than requiring the entire page to be
reloaded after a userinitiated change. Through the power of Ajax, the pages of your
application can exchange small amounts of data with the server without going through a
form submit. The Ajax technique accomplishes this by using the following technologies:
JavaScript that allows for interaction with the browser and responding to events
The DOM for accessing and manipulating the structure of the HTML of the page
XML, which represents the data passed between the server and client.
An XMLHttpRequest object for asynchronously exchanging the XML data between
the client and the server.
The following graphic shows how these technologies work together to update a piece of a
page with new data from the server.
Figure 1: General Sequence of Ajax Request
30 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Figure 1 illustrates the following steps in a generalized Ajax request:
1. The user generates an event, such as by clicking a button. This results in a
JavaScript call.
2. An XMLHttpRequest object is created and configured with a request parameter that
includes the ID of the component that generated the event and any value that the
user might have entered.
3. The XMLHttpRequest object makes an asynchronous request to the web server. An
object (such as a servlet or listener) receives the request, processes it, and stores
any data in the request to the data store. In the case of Ajax-aware JavaServer
Faces components, the object that processes the request is a PhaseListener object.
We'll cover that more later in the document.
4. The object that processed the request returns an XML document containing any
updates that need to go to the client.
5. The XMLHttpRequest object receives the XML data, processes it, and updates the
HTML DOM representing the page with the new data.
How does it work?
Ajax uses a programming model with display and events. These events are user actions,
they call functions associated to elements of the web page.
Interactivity is achieved with forms and buttons. DOM allows to link elements of the
page with actions and also to extract data from XML files provided by the server.
To get data on the server, XMLHttpRequest provides two methods:
- open: create a connection.
- send: send a request to the server.
Data furnished by the server will be found in the attributes of the XMLHttpRequest
object:
- responseXml for an XML file or
- responseText for a plain text.
31 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationThe Purpose of Ajax
The main purpose of Ajax is to provide a simple and standard means for a web page to
communicate with the server without a complete page refresh. To illustrate this, consider
a simple registration form. You have very likely experienced the frustration of having to
try multiple usernames when registering for some new website. You fill out the entire
form, hit the submit button, wait for a second or so, and then get the same form right back
with a message saying that the username you have chosen is not available. You try
another easy-to-remember username and find it is also not available. You repeat this
several times until finally you pick some obscure username. This process wouldn't be
nearly as bad if you didn't have to wait for the entire page to refresh each time you tried a
new username. But that's a very simple example. Some web-based applications require
constant interaction with a database through a middle-tier. Take, for example, an
interface for updating employee records. The traditional way of doing this is illustrated
below.
32 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
6. SYSTEM REQUIREMENTS SPECIFICATIONS
A software requirements specification (SRS) is a complete description of the system to be
developed. It includes a set of use cases that describes all of the interactions that the users
will have with the software. Use cases are also known as functional requirements. In
addition to use cases, the SRS also contains nonfunctional (or supplementary)
requirements. Non-functional requirements which impose constraints on the design or
implementation (such as performance requirements, quality standards, or design
constraints).
In system engineering and software engineering, requirements analysis encompasses
those tasks that go into determining the requirements of a new or altered system, taking
account of the possibly conflicting requirements of the various stakeholders, such as
users. Requirements analysis is critical to the success of a project. The document that
contains all the requirements of the project is termed as “Software Requirement
Specification”
6.1 Input Specifications:
Input specifications refer to the kind of the input that should be given to the system.
Design of Input
Input generally refers to what data is given to system so the system can give best
output to user. Input design must be complete, efficient and effective so that we can
provide user with desired output, which he requires.
When designing input, system analyst must take of the following: -
1.) What data to be Input?
2.) What medium to use?
3.) How data should be arranged or coded?
4.) The dialogue to guide the users in providing input?
5.) Data items and transactions needing validation to detect errors?
6.) Methods for performing input, validation and steps to follow when errors occur?
33 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
6.2 Output Specifications:
Output specifications refer to the kind of the output that should be received from the
system.
Design of Output
Output as you probably know generally refers to the results and information that are
generated by the system. For many end users, output is the main reason for
developing the system and the basis on which they will evaluate the usefulness of the
application. Most end users will not actually operate the information system or enter
data through workstation, but they will use the output from the system.
When designing output, system analyst must accomplish the following:-
1.)Determine what information to present?
2.)Whether to display, print, or speak the information and select output the medium?
3.)Arrange the presentation of information in an acceptable format.
4.)Decide how to distribute the output to intended recipients.
The arrangement of information on a display or printed documented is termed as
layout. Accomplishing the general activities listed above will require specific
decision, such as weather to use preprinted forma when preparing reports and
documents, how many lines to plan on a printed page, or whether to user graphics and
color.
The output design is specified on layout forms, sheets that describe the location,
characteristics and format of the column heading and pagination. As we indicated at
the beginning of the discussion these elements are analogous to an architect’s blue-
print that show the location of each component.
34 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Following is a template for the RS document. Some example requirements are entered in
to it to show how to use the template. Make sure that you enter even the smallest/most
trivial requirements also. That would help in validating the system during testing.
No. Requirement Essential/
Desirable
Description of the
Requirement
Remarks
RS1 The system should
have a login
Essential A login box should
appear when the
system is invoked.
The logins are assigned
by the mail-admin
RS2 The system should
have help screens
Essential Help about the
various features of
the system should be
provided in
sufficient detail in a
Q&A format.
The campaign policy
should also be part of the
help.
RS3 The system should
‘lock’ the login id if
wrong password is
entered 3 times in a
row
Desirable This feature will
improve the
robustness of the
application
Since the application is
going to be used only by
the employees of the
organization, this feature
is not essential. However,
if time is there, this will
be implemented.
RS4 The system should
have formulas on
the client side
Essential These features will
not make
unnecessary calls to
back end and will
reduce the network
traffic.
Formulae can be changed
easily since it is an
intranet application
35 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
6.1 External Interface and data flows:
Data Flow Diagrams
In the late 1970s data-flow diagrams (DFDs) were introduced and popularized for
structured analysis and design (Gane and Sarson 1979). DFDs show the flow of data
from external entities into the system, showed how the data moved from one process to
another, as well as its logical storage.
There are only four symbols:
1. Squares representing external entities, which are sources or destinations of data.
2. Rounded rectangles representing processes, which take data as input, do
something to it, and output it.
3. Arrows representing the data flows, which can either, be electronic data or
physical items.
4. Open-ended rectangles representing data stores, including electronic stores such
as databases or XML files and physical stores such as or filing cabinets or stacks
of paper.
There are several common modeling rules that I follow when creating DFDs:
1. All processes must have at least one data flow in and one data flow out.
2. All processes should modify the incoming data, producing new forms of outgoing
data.
3. Each data store must be involved with at least one data flow.
4. Each external entity must be involved with at least one data flow.
5. A data flow must be attached to at least one process.
36 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
CFD E-GOVERNANCE APPLICATION
37 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
LEVEL 1
38 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
LEVEL 1
39 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7. DESIGN
7.1 Database Design:
A decade ago, database was unique to large corporations with mainframes. Today it is
recognized as a standard of MIS and is available for virtually every size of computer.
Before the database concept became operational, users had programs that own data
independent of other users. It was a conventional file environment, common data are
available and used by several users. Instead of each program managing its own data,
data across application are shared by authorized users with the data base software
managing the data as an entity. A program now requests data through the data base
management system, which determines data sharing.
IMPRO uses SQL Server 2000 for storing the data. The database design becomes
very crucial and important part of the system.
Objectives of Database
The general theme behind a database is to handle information as an integrated whole.
There is none of artificiality that is normally embedded in separate files or
applications. A database is a collection of interrelated data stored with minimum
redundancy to serve many users quickly and efficiently. The general objective is to
make information access easy, quick, and inexpensive and flexibility for the user. In
data base design, several specific objectives are considered:
Controlled redundancy
Redundancy data occupies space and therefore, is wasteful. If versions of the same
data are in different phases of updating, the system often gives conflicting
information. A unique aspect data base design is storing only once, which controls
redundancy and improves system performance.
40 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Accuracy and Integrity
The accuracy of a database ensures that quality and contents remains constant.
Integrity controls detect data inaccuracies where they occur.
As IMPRO uses SQL Server 2005 for storing the data. The database design becomes
very crucial and important part of the system.
Data Integration
It refers to the fact that the data is stored physically at different locations, but
logically the information is centralized.
Data Integrity
Data Integrity means storing all the data. This leads to more consistency, less
redundancy and reduces direct access storage requirement.
Data Independence
Data Independence is the insulation of application programs from changing aspects of
physical data organization.
41 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.1.1 Description of Master Tables used in License module:
Table Name: tbl_Lic_CustomerEntry
Description: This table is used to store details of the customer who want to apply for a
license
Table Name: tbl_lic_ltype
Description: This table is used to store information about the type of the license
Table Name: tbl_Lic_LicenseDesc.
Description: This table is used to enter store the description of the license
42 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Table Name: tbl_Lic_Apply
Description: This table is used to store information about the license details of the
customer stored in tbl_Lic_CustomerEntry table
43 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationTable Name: tbl_Apply_NPFA
Description: The information about Non Pure Food type of license issued to customer is
stored in this table
Table Name: tbl_Lic_FinYearMaster
Description: This table is used to store the current financial year
44 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationTable Name: tbl_Lic_animal
Description: This table is used to store information about Animal type of license which
is issued to customers
Table Name: tbl_Lic_DocList
Description: This table is used to store the information about the documents required for
the issue of the license
45 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationTable Name: tbl_LicType_Fee
Description: This table is used to store the information about fee for each type of license
7.1.2 Description of Master Tables used in License module:
Table Name: tbl_UserEntry
Description: This table is used to store information about the users of the application.
New Users created are stored in this table.
Table Name: tbl_modules
Description: The information about modules of the application is stored in this table.
46 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Table Name: tbl_forms
Description: The information about form name, form description of each module is
stored in this table.
Table Name: tbl_admin_UserModule
Description: The information about ‘which user can access which module’ is stored in
this table.
47 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
Table Name: tbl_UserAuthorisation
Description: This table stores information about the forms of particular module which
are accessible to the user of the application. Each user is checked for the permission of
the form he is going to open from this table.
Table Name: tbl_admin_department
Description: This table stores the departments i.e. department name and department id.
Table Name: tbl_admin_designation
Description: This table stores information about the various designations in each
department.
48 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2 Form Design (Screen Shots)
7.2.1 frmLoginpage.aspx
This page is the first page of license module .here, user can logged on to the license
module. This provides the security as the password of the user saved in the database in
encrypted form. The user of the license module is created by the administrator through
the admin module.
49 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.2 frmWelcomePage.aspx
This is the welcome page of the application. User is redirected to this page after
successful login.
50 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.3 frmFinMaster.aspx
Financial year master is the master where the current financial year is set.
51 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.4 frmCustomerEntry.aspx
Customer entry is the master where all the entries regarding customer is saved in the
database .the customer entries can be their ward like Rajpura, Patiala, etc., their name,
age, address. The data regarding customers can be manipulated i.e. updating, deletion can
be done.
52 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.5 frmCategoryDesc.aspx
Category description is the next master where the categories are added. These
categories are the applications for license on which user will issue license. The
categories are PFA (Pure Food Application), NPFA (Non Pure Food Application),
Animal. Editing of this category description can also do here.
53 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.6 frmSubCategoryDesc.aspx
In sub category description, the subcategory of applications (PFA, NPFA, and
Animal) is added. The sub category of Pure Food Application can be sweets shop,
fruits shop, bakery, etc.; for Non Pure Food, the sub category can be meat shop etc.
Basically the sub category is the category on which the customer would take license.
54 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.7 frmApplyPFA.aspx
The user can apply for license for the pure food from this form. The application can
be for new license or it can be for renewal of existing license. The user has to enter
the type whether it is new or renew. Then the user will enter the financial year,
current receipt number. If the user selected new then it will further enter all the details
of the customer like ward, customer id, name, address, pure food, trade. Then he will
enter the fee and the documents for the license. But, if he entered the type renew, then
he will enter the old receipt number of the applicant and all details are automatically
filled and the license will renewed.
55 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.8 frmApplyNpfa.aspx
The user can apply for license for the non pure food from this form. The application
can be for new license or it can be for renewal of existing license. The user has to
enter the type whether it is new or renew. Then the user will enter the financial year,
current receipt number. If the user selected new then it will further enter all the details
of the customer like ward, customer id, name, address, non pure food, trade. Then he
will enter the fee and the documents for the license. But, if he entered the type renew,
then he will enter the old receipt number of the applicant and all details are
automatically filled and the license will renewed.
56 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.9 frmAnimal.aspx
The user can apply for license for the animal from this form. The application can be
for new license or it can be for renewal of existing license. The user has to enter the
type whether it is new or renew. Then the user will enter the financial year, current
receipt number and token. If the user selected new then it will further enter all the
details of the customer like ward, customer id, name, address and the details of the
animal i.e. animal name, breed, sex, vaccination, vaccination date, vaccination marks.
Then he will enter the fee and the documents for the license. But, if he entered the
type renew, then he will enter the old receipt number of the applicant and all details
are automatically filled and the license will renewed.
57 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.10 frmIssue.aspx
Here, the license is issued to the customer. The user will enter all the details before
issuing the license i.e. ward, category description, financial year, applicant number,
current receipt number, apply date , total fees etc . Then the license would issue to the
customer.
58 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.11 frmLicDocs.aspx
The next master is the documents update. Here the documents are added which are
required for license. These documents can be different for different application of license.
The documents can be birth certificate, NOC (No Objection Certificate) , residence
certificate. These documents can be updated in this master.
59 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.12 frmupdatefee.aspx
Fee update is the master for fee. The fee for Pure Food Application, Non Pure Food
Application, and Animal would be different. The user will select the type of license
and then enter the fee for respective license type.
60 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
SNAP SHOTS OF ADMIN MODULE
7.2.13 createuser.aspx
This form is used by admin to create new users of the application.User ID is auto
generated and passwords are stored in encrypted form.
61 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.14 Changepassword.aspx
This form is used to change passwords of the user by admin.
62 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.15 frmAdminUserAuthorisationMod.aspx
This form is used to give permissions to user to access particular module of the
application. If admin wants to remove the permissions of any user then it is also done
through this form.
63 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.16 frmAdminUserAuthorisationForms.aspx
This form is used to give permissions to user to access forms of a particular module i.e.
which form of which module are accessible by the user .Permission pupation is also done
through this form.
64 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
7.2.16 frmNewModForm.aspx
This form is used by admin if in future any new module or form in an existing module is
added. Admin use this form to enter these new modules or forms.
65 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
8. TEST PLAN
8.1 Introduction
The testing activities are done in all phases of the lifecycle in an iterative software
development approach. However, the emphasis on testing activities varies in different
phases. This procedure explains the focus of testing in inception, elaboration,
construction and transition phases. In the inception phase most of requirements capturing
is done and the test plan is developed. In elaboration phase most of design is developed,
and test cases are developed. Construction phase mainly focuses on development of
components and units, and unit testing is the focus in this phase. Transition phase is about
deploying software in the user community and most of the system testing and acceptance
testing is done in this phase.
Purpose
The main purposes of this procedure are:
To carry out comprehensive testing of the system/product and its individual
components in order to ensure that the developed system/product conforms to the
user requirements/design.
To verify the proper integration of all components of the software.
To verify that all requirements have been correctly implemented.
To identify and ensure defects are addressed prior to the deployment of the
software.
Test Planning
66 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationInitial test plan addresses system test planning, and over the elaboration, construction and
transition phases this plan is updated to cater other testing requirements of these phases,
like, unit & integration testing. The test Plan must contain the following:
Scope of testing
Methodology to be used for testing
Types of tests to be carried out
Resource & system requirements
A tentative Test Schedule
Identification of various forms to be used to record test cases and test results
The Test Plan is reviewed as per the Review Procedure as defined by the Project
Manager. Adequate Review Records are maintained.
Preparation of Test Cases
Test cases describe the details of every test for each feature of the module. The inputs for
preparation of test cases are the software requirement specifications and/or Design
document/model. System test cases are prepared in elaboration phase, and initial
integration test cases are prepared which are refined and completed in construction phase.
These test cases are reviewed as per Review Procedure as defined by the Project Manager
and adequate review records are maintained. These reviews are done against
requirements and Design to ensure adequacy and completeness.
The expected results are specified in test cases, against test to be carried out.
One of the test cases made for the Registration module is shown next.
Preparation of Acceptance Plan
An Acceptance Plan is prepared and handed over to the customer. However it is at the
discretion of the Project Manager to decide when to prepare the Acceptance Plan but the
Project Manager should ensure that it is at least prepared before the completion of
construction phase.
67 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationThis Plan helps the customer in planning, scheduling and providing resources to carry out
the customer acceptance testing. The acceptance testing is done during deployment.
The Acceptance plan must consist of:
A suggested schedule for Acceptance Testing by the customer
Hardware, Software and other resources required for Acceptance Testing
Confirmation of Acceptance criteria
The Acceptance Plan is reviewed as defined in PMP based on the Review Procedure and
the review records are maintained properly.
Unit Testing
Unit testing is done as per Testing Guidelines.
Integrat ion Tes t ing
The system integrator compiles and links the system in increments. Each increment needs
to go through testing of the functionality that has been added, as well as all tests the
previous builds went through (regression tests). Within an iteration, integration testing is
executed several times until the whole system has been successfully integrated.
Testing is done as per the Test Plan for the project. A Testing Team who may be an
independent team or may include members of the project team carries out the tests.
System Test ing
System testing is initiated through a System release and a Release Note from
Development team to the testing team. The purpose of the System Testing is to ensure
that the complete system functions are intended. The system roles in PMP compile and
link the system in increments.
System Testing is similar to the Integration testing except that it is run under customer
environment or in an environment as similar as to the customer environment, as possible.
During the System testing the performance criteria is tested and factors like stress,
68 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationtransaction timing, volume of data, transaction frequency etc. are validated. The ability of
the Software to be installed in an environment likely to be encountered at the site of the
customer is also checked here.
System testing of the software is performed against base lined software and the base lined
documentation of the customer requirements and the software requirements specification
documentation.
After System Testing, efforts should be made to conduct other types of testing such as:
Stress Testing/Volume Testing (testing the performance etc.)
Security testing (testing the system against security measures e.g. password, etc.)
Recovery testing (the recovery techniques, in case the system crashes)
Regression testing (to ensure that changes have not caused unintended effects on the
baseline).
Once the system is adequately tested, the software is handed over to the customer.
8.2 Types of Testing:
Unit Testing:
In unit testing different modules are tested against the specification produced during
design for the modules. Unit testing is for verification of the code produced during the
coding phase, and hence the goal is to test the internal logic of the modules.
Integration Testing:
In this, many units tested modules are combined into subsystems, which are then tested.
The goal here is to see if the modules can be integrated properly. Hence, the emphasis is
on testing interfaces between modules. This testing activity can be considered testing the
design.
Pre-Acceptance Testing:
69 Surinder Singh 7042210732 (2007-10)
E-governance Web Application Acceptance testing is running the system with live data by the actual. It is performed
with realistic data of the client to demonstrate that the software is working satisfactorily.
Regression Testing:
It is performed when some changes are made up to an existing system. A change is made
to up grade the software by adding new features and functionality. The modified
software needs to be testing to make sure that new features to be added do indeed work.
Besides ensuring the desired behavior of the new services, testing has to sure that the
desired behavior of the old services is maintained. This is task of regression testing.
Validation Testing:
User input must be validated to conform to expected values. For example, if the software
program is requesting input on the price of an item, and is expecting a value such as 3.99,
the software must check to make sure all invalid cases are handled. A user could enter the
price as “-1” and achieve results contrary to the design of the program. Other examples of
entries that be entered and cause a failure in the software include: “1.20.35”, “Abc”,
“0.000001”, and “999999999”. These are possible test scenarios that should be entered
for each point of user input. Typically when invalid user input occurs, the program will
either correct it automatically, or display a message to the user that their input needs to be
corrected before proceeding.
Stress Testing:
In software testing, stress testing refers to tests that determine the robustness of software
by testing beyond the limits of normal operation. Stress testing is particularly important
for “mission critical” software, but is used for all types of software. Stress tests
commonly put a greater emphasis on robustness, availability, and error handling under a
70 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationheavy load, than on what would be considered correct behavior under normal
circumstances.
Reasons for stress testing include:
1. The software being tested is “mission critical”, that is, failure of the software (such as
a crash) would have disastrous consequences.
2. The amount of time and resources dedicated to testing is usually not sufficient, with
traditional testing methods, to test all of the situations in which the software will be
used when it is released.
3. Even with sufficient time and resources for writing tests, it may not be possible to
determine beforehand all of the different ways in which the software will be used.
This particularly true for operating systems and middleware, which will eventually be
used by software that doesn’t even exist at the time of the testing.
4. Customers may use the software on computers that have significantly fewer
computational resources (such as memory or disk space) than the computers used for
testing.
5. Concurrency is particularly difficult to test with traditional testing methods.
6. Stress testing may be necessary to find race conditions and deadlocks.
7. Software such as web servers that will be accessible over the Internet may be subject
to denial of service attacks.
8. Under normal conditions, certain types of bugs, such as memory leaks, can be fairly
begin and difficult to detect over the short periods of time in which testing is
performed. However, these bugs can still be potentially serious. In a sense, stress
testing for a relatively short period of time can be seen as simulating normal operation
for a longer period of time.
Performance Testing:
In software engineering, performance testing is testing that is performed, from one
perspective, to determine how fast some aspect of a system performs under a particular
71 Surinder Singh 7042210732 (2007-10)
E-governance Web Applicationworkload. It can also serve to validate and verify other quality attributes of the system,
such as scalability and reliability.
Performance testing can serve different purposes. It can demonstrate that the system
meets performance criteria. It can compare two systems to find which performs better. Or
it can measure what parts of the system or workload cause the system to perform badly.
In the diagnostic case, software engineers use tools such as profilers to measure what
parts of a device or software contribute most to the poor performance or to establish
throughput levels (and thresholds) for maintained acceptable response time. It is critical
to the cost performance of a new system that performance test efforts begin at the
inception of the development project and extend through to deployment. The later a
performance defect is detected, the higher the cost of remediation. This is true in the case
of functional testing, but even more so with performance testing, due to the end-to-end
nature of its scope. In performance testing, it is often crucial (and often difficult to
arrange) for the test conditions to be similar to the expected actual use. This is, however,
not entirely possible in actual practice. The reason is that production systems have a
random nature of the workload and while the test workloads do their best to mimic what
may happen in the production environment, it is impossible to exactly replicate this
workload variability - except in the simplest system.
72 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
9. IMPLEMENTATION
The term implementation has different meanings, ranging from the conversion of a basic
application to a complete replacement of a computer system. However the procedure is
almost similar. Implementation is used here to mean the process of converting a new or a
revised system design into an operational one. Conversion is one aspect of
implementation. The other aspects are the post implementation review and software
maintenance.
There are three types of implementation:
1. Implementation of a computer system to replace a manual system.
2. Implementation of a new computer system to replace an existing one.
3. Implementation of a modified application to replace an existing one using
the same computer.
In our case we are having third type of implementation in which we are replacing the
existing excel work in a web based centralized system. This type of implementation is
relatively easy as compared to other two.
This phase is less creative than design phase. It is primarily concerned with user training,
site preparation and file conversions. The final communications and links to other
modules and hardware components are established to make the software operative. After
that the program is run with live data otherwise a diagnostic
73 Surinder Singh 7042210732 (2007-10)
E-governance Web ApplicationProcedure is used to locate and correct the errors in program. In most of the cases, a
parallel run is conducted where the new software runs simultaneously with the older one,
that’s why software implementation includes the installation of original software and
made it operational in an operative environment. It continues until the software is
operating in accordance with the defined user requirements.
10. PROJECT LEGACY
10.1 Current Status of the Project
E-Governance System is still going on in our training organization Altruist Technologies
Pvt. Ltd. The Project is going to be developed for government to online various
governmental services. This is system provides a user friendly environment to all its
users.
10.2 Remaining Areas of Concern
This system may require further advancements as the client may want some more
functionality in this system. While developing this project spiral model is followed so
coding is written in such a way that if client wants to add more functionality in this
system then that functionality can be done easily.
10.3 Technical & Management Lessons Learnt
The lessons learnt after developing this project are as follows:
Before developing any project the requirement should be made well clear so that
after developing it the programmer does not have to change it.
Software and hardware constraints should be kept in mind.
Time and cost are those constraints, which are never told but always accounted
for.
74 Surinder Singh 7042210732 (2007-10)
E-governance Web Application Project should be error free and made in such a way so that modifications can be
done in future.
The whole IT industry is changing so rapidly that is hard to draw distinct and
channeled procedures for software development. Theories and concepts taught
cease to provide the right kind of approach and attitude. Dynamism is the key
factor and is the principle working behind all the upcoming advancement and
innovation.
A professional should have a vision to see beyond the user-defined requirement.
All members of the project team have to be cooperative with each other.
User should be given proper training about how to use project.
10.4 Future Recommendations
The primary concern of every system client is validity of the purchased software product
in the near future. In order to cope with this problem, programmers often provide their
clients with regular system updates so that in case there have been any change include in
working criteria of institution/organization, it can be absorbed within existing automated
system.
I have compiled this project keeping this point in full regards that it can be easily
upgraded if need arises. From time to time, new modules can be added to it or existing
ones can be modified. The development tools we have used i.e. Asp .Net MVC and LINQ
are flexibility allowing tools and hence changes to existing system can be made very
easily in order to make it serve a long way.
Depending upon the organization, the function processes and needs may vary from
organization to organization. Therefore, the functionality of the project can be further
enhanced as per the requirements specification of different organization. For instance, any
organization can use this project by just changing the interest rate accordingly and the rest
of the operations will be remained same. Similarly, the project can be expanded to the
required extent.
75 Surinder Singh 7042210732 (2007-10)
E-governance Web Application
11. BIBLIOGRAPHY
Stephen Walther ; ASP.NET Unleashed; Techmedia; First Edition
ASP.NET in 21 Days
Beginning ASP.NET 2.0 with VB.NET 2003; Wrox Publication
Database Management System; Vipin C.Desai
System Analysis & Design; Elias M.Awad
SQL Server; Microsoft Press
JavaScript; R. Allen Wyke,Jason D.
www.dotnetspider.com
www.codeproject.com/aspnet/
www.planet-source-code.com/
www.aspalliance.com/
www.eggheadcafe.com/articles/
www.4guysfromrolla.com/
76 Surinder Singh 7042210732 (2007-10)
Top Related