You are on page 1of 76

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

Surinder Singh 7042210732 (2007-10)

E-governance Web Application The 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 Modules


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

Surinder Singh 7042210732 (2007-10)

E-governance Web Application Entries must be up to date Customer id is auto generated 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 egovernment 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.

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

2. OVERVIEW OF THE ORGANIZATION


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:


Mobile2WinAltruist 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/MCommerce 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)

Surinder Singh 7042210732 (2007-10)

E-governance Web Application


Workflow 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

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

2.4 Project Exposure:


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

Surinder Singh 7042210732 (2007-10)

E-governance Web Application http://ac2.mobile2win.com/wapchat/idea http://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. Weve 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 Motorola Bajaj Allianz Foster Kingfisher The Indian Express Star News Coca-Cola Whirlpool HBO Aviva Kelloggs BenQ Cartoon Network Nokia Hindustan Times Dominos The Tribune MSN Siemens Pizza Hut IBM Wrangler Toyota Bacardi 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.

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

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

3.3 License Module


8 Customer entry. Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

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 cant 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:


The main drawbacks of the existing system are:-

10

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 The 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. 12 Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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 5.1 Product Definition


5.1.1 Problem Statement:13 Surinder Singh 7042210732 (2007-10)

E-governance Web Application The main purpose of the product specification is to define the need of the products 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 users 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. Proper authorization as user name and password is given to each user of the system him/her. 14 Providing timely information to the admin and super admin. Surinder Singh 7042210732 (2007-10) Proper security as no user can see the web forms which are not allotted to

E-governance Web Application 5.1.3 Processing Environment: Hardware & Software Profile:-

Hardware Environment (Deployment Server) PC PC (Windows) Processor Intel Pentium Processor 4, 2.4GHz or equivalent. RAM 512 MB RAM HDD 40 GB

Hardware Environment (End users PC) PC PC (Windows) Processor Intel Pentium Processor, 233 MHz or equivalent. RAM 128 MB RD RAM HDD 10 MB of free HDD space for Internet Cache Internet Connection 56 K Model Connection Software Environment (Deployment Server) Operating System MS Windows Server 2003 or higher Other 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.0 Browser IE 6.0 or IE 7.0 Software Environment (End User) Operating System Win 2000 / Win XP or higher Browser Microsoft Internet Explorer 6.0 or higher

15

Surinder Singh 7042210732 (2007-10)

E-governance Web Application Technology 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 sol utions to be provided, determining requirements, hardware, software etc. The team membe rs sat together, discussed the problem, studied the system, gathered information about the t ype of data used in the system, the flow of data, understood the users requirements and det ermine 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 Application the 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 Application projects 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 twopage) 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 Application project 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 Application 5.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.

Program Manager
20 Surinder Singh 7042210732 (2007-10)

E-governance Web Application

Project Manager

Technical Lead

Software Engineer

Trainee

Trainee

Trainee

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)

E-governance Web Application Programming 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 was first

22

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 Application Programmers can add their own properties, methods, and event handlers.[10] An event
[9]

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 Application code 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 placeholder 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 applications 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 its 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, its 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 its 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, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher. 28 Surinder Singh 7042210732 (2007-10)

E-governance Web Application * 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 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?

29

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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. The Purpose of Ajax

31

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 easyto-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.

6. SYSTEM REQUIREMENTS SPECIFICATIONS

32

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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.) 2.) 3.) 4.) 5.) 6.) occur? What data to be Input? What medium to use? How data should be arranged or coded? The dialogue to guide the users in providing input? Data items and transactions needing validation to detect errors? Methods for performing input, validation and steps to follow when errors

6.2 Output Specifications:

33

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 architects 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/ Description of the Remarks Requirement A login box should The logins are assigned appear when the by the mail-admin campaign policy system is invoked. Help about the The the system should be help. provided in sufficient detail in a Q&A RS3 The system should Desirable lock the login id if wrong password is entered 3 times in a row format. This feature improve robustness application of will Since the application is the going to be used only by the the employees of the organization, this feature is not essential. However, if time is there, this will RS4 The system should Essential have formulas on the client side be implemented. These features will Formulae can be changed not make easily since it is an unnecessary calls to intranet application back end and will reduce the network traffic.

Desirable RS1 The system should Essential have a login RS2 The system should Essential have help screens

various features of should also be part of the

6.1 External Interface and data flows:

35

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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

7. DESIGN
39 Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

Accuracy and Integrity

40

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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.

7.1.1 Description of Master Tables used in License module:

41

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

Table Name: tbl_Lic_Apply

42

Surinder Singh 7042210732 (2007-10)

E-governance Web Application Description: This table is used to store information about the license details of the customer stored in tbl_Lic_CustomerEntry table

Table Name: tbl_Apply_NPFA

43

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

Table Name: tbl_Lic_animal

44

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

Table Name: tbl_LicType_Fee 45 Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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.

7.2.8 frmApplyNpfa.aspx

55

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.9 frmAnimal.aspx
56 Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.10 frmIssue.aspx

57

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.11 frmLicDocs.aspx

58

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.12 frmupdatefee.aspx

59

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

SNAP SHOTS OF ADMIN MODULE

60

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.14 Changepassword.aspx

61

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

This form is used to change passwords of the user by admin.

7.2.15 frmAdminUserAuthorisationMod.aspx

62

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.16 frmAdminUserAuthorisationForms.aspx

63

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

7.2.16 frmNewModForm.aspx

64

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

8. TEST PLAN 8.1 Introduction

65

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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

Initial 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 66 Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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. This 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

67

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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. I n t e g r at i o n T e s t i n g 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 Testing 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, transaction 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.

68

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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: 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.

69

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 heavy 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.

70

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 doesnt 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 workload. 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

71

Surinder Singh 7042210732 (2007-10)

E-governance Web Application 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 Procedure 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, thats 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

73

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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

74

Surinder Singh 7042210732 (2007-10)

E-governance Web Application

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.

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 Surinder Singh 7042210732 (2007-10)

75

E-governance Web Application


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)

You might also like