2018 - kshitijdivakar.com · project planning waterfall model 6 7 certificate of originality...

186

Upload: vanquynh

Post on 26-Apr-2018

227 views

Category:

Documents


3 download

TRANSCRIPT

2018

2

Sr. # Topic Page #

4

5

6-45

46

50

53

55

57

59

60

61

64

66

68

69

70

72

1

2

3

4 5

6

7

CERTIFICATE OF ORIGINALITY

ACKNOWLEDGEMENT

SYNOPSIS

INTRODUCTION OF THE PROJECT

OBJECTIVE OF THE PROJECT

SYSTEM ANALYSIS

PROJECT PLANNING

SOFTWARE REQUIREMENT SPECIFICATION

FUNCTIONAL REQUIREMENT

NON-FUNCTIONAL REQUIREMENT

LIFE CYCLE MODEL

WATERFALL MODEL

COCOMO MODEL

CLASS DIAGRAM

USE CASE DIAGRAM

FLOW CHART

SCHEDULING TECHNIQUES

GANTT CHART

PERT CHART

RISK MANAGEMENT

INDEX

2018

3

8

9

10

11

12

13

14

15

SYSTEM DESIGN

PROGRAM STRUCTURE DATA INTEGRITY AND CONSTRAINTS USER INTERFACE DESIGN

TESTING

TEST PLAN

Test flow information

TESTING USED

VERIFICATION AND VALIDATION

TEST CASES DESIGN

TEST REPORTS

DEBUGGING

CODE IMPROVEMENTS SECURITY

DATABASE SECURITY

DATA SECURITY

Validation Controls

Exception Handling

USER AND ACESS RIGHTS

STEPS AGAINST HACKING MAINTENANCE OF THE PROJECT

FUTURE OF THE PROJECT

INPUT AND OUTPUT SCREENS

SOURCE CODES

BIBLIOGRAPHY NOTES

RESUME(S)

75

83

89

91

94

100

102

105

106

111

115

117

121

125

126

128

131

132

163

184

186

187

2018

4

This is to certify that the project report entitled ___________________________ submitted

to Maharishi Dayanand Saraswati University, Ajmer in partial fulfillment of the

requirement for the award of the degree of Bachelor in Computer Applications, is an

authentic and original work carried out by Mr. / Ms.________________________ with roll

no./enrolment no. _______________________ under my guidance.

The matter embodied in this project is genuine work done by the student and has not been

submitted whether to this University or to any other University / Institute for the fulfillment

of the requirements of any course of study.

............................ ............................

Signature of the Student: Signature of the Guide

Date:.................... Date: .....................

Name and Address Name, Designation

of the student & Address of the Guide:

............................. .............................

............................. .............................

............................. ............................

Enrolment No. : ....................................

CERTIFICATE OF ORIGINALITY

2018

5

It is our privilege to express our sincerest regards to our project

guide/supervisor/coordinator, <NAME OF GUIDE, WITH DESIGNATION>, for their

valuable inputs, able guidance, encouragement, whole-hearted cooperation and constructive

criticism throughout the duration of our project.

We deeply express our sincere thanks to our Head of Department <NAME OF THE

HOD> for encouraging and allowing us to present the project on the topic <PROJECT

TITLE > at our department premises for the partial fulfillment of the requirements leading

to the award of <COURSE/DEGREE FULL NAME>.

A special thanks goes to my team mate, XXXXXXXXXXX, who help me to

assemble the parts and gave suggestion about the task “SPECIFY NAME”.

Last but not least, many thanks go to the <NAME OF THE

PRINCIPAL/DIRECTOR> whose have invested his full effort in providing all required

tools and environment which helped in achieving the goal.

I have to appreciate the guidance given by other supervisor as well as the panels

especially in our project presentation that has improved our presentation skills thanks to

their comment and advices.

............................

Signature (Student1): Name : ............................. Enrolment No. : .......................

............................

Signature (Student2): Name : ............................. Enrolment No. : .......................

ACKNOWLEDGEMENT

2018

6

SYNOPSIS

2018

7

Sr.# Topic Page #

1. TITLE OF THE PROJECT……………………………………………………….. 3

2. INTRODUCTION…………………………………………………………….……. 4

3. OBJECTIVES………………………………………………………………….…... 8

4. SYSTEM ANALYSIS…………………………………………………………… . 13

FACT FINDING…………………………………………………. 16

FEASIBILITY STUDY………………………………………........ 16

5. HARDWARE AND SOFTWARE REQUIREMENT…………………………… 19

6. MODULAR DISCRIPTION……………………………………………………… 21

7. ENTITY RELATIONSHIP DIAGRAM (ER-D)…………………………………. 25

7. DATA FLOW DIAGRAM (DFD)……………………………………………….. ..26

8. DATA DICTIONARY……………………………………………………………… 36

9. SECURITY FEATURES…………………………………………………………. 40

10. FUTURE SCOPE OF THE APPLICATION…………………………………….. 42

INDEX

2018

8

NGO PARTNERSHIP

SYSTEM

TITLE OF THE PROJECT

2018

9

A non-governmental organization (NGO) and (Voluntary Organization)

VOs is a legally constituted organization created by natural or legal persons

that operates independently from any government. The term is usually used

by government to refer to entities that have no government status. In the

cases in which NGOs are funded totally or partially by governments, the NGO

maintains its non-governmental status by excluding government

representatives from membership in the organization. The term is usually

applied only to organizations that pursue some wider social aim that has

political aspects, but that are not overtly political organizations such as

political parties. Unlike the term "intergovernmental organization", the term

"non-governmental organization" has no generally agreed legal definition. In

many jurisdictions, these types of organization are called "civil society

organizations" or referred to by other names.

IndianNon-governmental organizations (NGOs) can be set up under

various Indian laws, and the different legal entities under which civil society

organizations can register themselves are:

Registered Societies

Societies registration Act, 1860 is a central act for registering not-for-profit

organizations. Almost all the states in India have adopted (with modifications,

INTRODUCTION

2018

10

if any) the central Act for creating state level authorities for registering

various types of not-for-profit entities. According to the act any seven persons

who subscribe to the Memorandum of Association (MOA) can register a

society. The memorandum should include names of the society, its objectives,

its names, addresses and occupations of the members subscribing to it as well

as the first governing body to be constituted on registration.

Public Trust

Public trust can be created for public charitable purposes. There is no All India

Level Act for setting up public charitable trusts. Some of the states in India

has enacted the Public Charitable Trust Act, while most states in India does

not have a trust act. An NGO can be created only under a public trust act.

Private Trust

A private trust , created under and governed by the Indian Trusts Act of 1882,

aims at managing assigned trust properties for private or religious purpose. A

private trust does

In recent years, especially in developed countries, various systems have

been created to advance the management and organization of participation for

various governmental projects by NGOs.

This is system invites all Voluntary Organizations (VOs)/ Non-Governmental

Organizations (NGOs) to Sign Up on this system,which has been developed in

consultation with the below mentioned Ministries/Departments/Government

2018

11

Bodies to facilitate VOs / NGOs during their interaction with the Government

in connection with requests for Government Grants under various schemes of

the below mentioned Ministries/ Departments/ Government Bodies, in the first

phase.

Participating Ministries/Departments/Government Bodies:

Ministry of Culture

Ministry of Health & Family Welfare

Ministry of Social Justice & Empowerment

Ministry of Tribal Affairs

Ministry of Women & Child Development

Department of Higher Education

Department of School Education & Literacy

National AIDS Control Organization (NACO)

Council for Advancement of People's Action and Rural Technology

(CAPART)

Central Social Welfare Board (CSWB)

All VOs / NGOs, are requested to Sign Up (one time) with the Portal to help

create a data base of existing VOs / NGOs and to access information on

various schemes of the participating Ministries/ Departments/ Government

Bodies open for grants. Later you will also be able to apply online for

2018

12

government grants to the participating Ministries/Departments/Government

Bodies and track the status of your applications through this system.

Nowadays, in every field computer science has brought so many software for

to maintenance and database and keeps the records of daily basis work. But

my personal point of view to make this project is build-up software for

Ministries/Departments/Governments bodies that can upload various schemes

related to different subjects. For which VOs/NGOs can just register themselves

into this website and benefit from it just online not anywhere to go for apply

of various schemes to direct ministry or regular visiting the sites. My main

prime and aim behind this project is let them all VOs/NGOs know the online

platform to work directly and check the status for various schemes and grants

applied for.

2018

13

The main objective behind developing this software is to make the process of

The NGO-PS to provide information about all signed up VOs / NGOs,

information about schemes of the participating Government Ministries /

Departments / Government Bodies open for partnership and funding with the

voluntary sector. It will also have the facility to apply for NGO grants online,

upload all common documents (like Registration Certificate, Annual Reports,

Annual Audited Statements etc) required by government Ministries /

Departments / Government Bodies as well as track the processing of your

application until the grant is sanctioned / rejected.

Feature- This software is design with all features which is very useful

for NGO employees, and managementteams.

This software will maintain online information related to specific

scheme and their various details.

It will automatically track the issue & closing date of various schemes.

It will generate the list of schemes whose names are allotted in the

website.

It maintains the various schemes of ministries with their apply date and

expiry date.

It will maintain the records history of NGOs who have applied after or

before the schemes.

OBJECTIVE

2018

14

It will maintain the payment details of grant received towards schemes.

Queues- With the help of NGO partnership System, the long queues

will reduced and we can easily get any information regarding any

doubt/query.

Automate the work- It will transform NGOs with the power of

computer, the operations is automated. It is capable to done its work

more quickly in the comparison of human beings.

Remove Registers Work-Bulky register and paper works is removing

in the attendance of powerful database.

Menu- Providing menus on the screen for user convenient & interface

on screen for link more feature and make attractive of the startup

screen.

Easy to Use- Providing user friendly environment which is useful for

NGOs employees to interact more quickly and friendly with the

software.

Better Understandability-With NGOs, there is a better

understandability due to less chance of occurring error in comparison of

manual working.

Graphics- Use graphics to explain complex links.

To provide proper coordination and efficient implementation.

Reliable, Efficient & Security Feature- This software is performing

consistently. This software is able to take any type of work load as

2018

15

comparison of human beings. Providing all security Feature which is

necessary.

New user can:-

1. Get details of existing VOs/ NGOs across India.

2. Get details of the schemes of the above

Ministries/Departments/Government Bodies offering grants to VOs

/NGOs.

3. Apply on-line for NGO grants.

4. Track status of your applications for grants.

2018

16

A system analyst is a person who conducts study identifies activities &

objective and determines a procedure to achieve goal. Designing and

implementing system to suit organizational needs are the function of system

analyst. He plays a major role in seeking business benefits from computer

technology. An analyst must possess various skills to effectively carry out the

job. Specifically, they may be divided into two categories, interpersonal and

technical skills. Both are required for system development.

Systems Analysis is a management exercise, which helps us in designing a

new system or improving the existing system. It is the study of sets of

interacting entities, including computer systems analysis. This field is closely

related to operations researches. It is also "an explicit formal inquiry carried

out to help someone (referred to as the decision maker) identify a better

course of action and make a better decision than he might otherwise have

made."

The analysis of the role of a proposed system and the identification of the

requirements that it should meet. SAD is the starting point for system design.

The term is most commonly used in the context of commercial programming,

where software developers are often classed as either systems analysts or

SYSTEM ANALYSIS

2018

17

programmers. The systems analysts are responsible for identifying

requirements (i.e. systems analysis) and producing a design. The

programmers are then responsible for implementing it.

Thus, system analysis is the process of investigating a system, identifying

problems, and using the information to recommend improvements to the

system.System analysis is an explicit formal inquiry carried out to help

someone (referred to as the decision maker) identify a better course of action

and make a better decision than he might otherwise have made. Systems

analysis usually has some combination of the following: identification and re-

identification) of objectives, constraints, and alternative courses of action;

examination of the probable consequences of the alternatives in terms of

costs, benefits, and risks; presentation of the results in a comparative

framework so that the decision maker can make an informed choice from

among the alternatives. The typical use of systems analysis is to guide

decisions on issues such as national or corporate plans and programs,

resource use and protection policies, research and development in technology,

regional and urban development, educational systems, and Health and other

social services.

2018

18

The goal of fact-finding efforts is to incorporate as much reliable information

as possible into the dispute resolution process. Outlined in this section are

problems which make it difficult to achieve this objective. Fact-finding is the

formal process of using research, interviews, questionnaires, sampling, and

other techniques to collect information about systems, requirements, and

preferences. It is also called information gathering or data collection.

To do the fact finding the analyst does the following:-

Questionnaires

Interviews

Sampling

Onsite Observation

Questionnaires :-

Questionnaires are a good survey technique, because the cost (printing,

distribution, collection, analysis) is low relative to that of other methods such

as personal interviews, because participants can respond at their own

convenience, because no interviewer bias is introduced, and because

responses can be kept completely confidential. Questionnaires are an

FACT FINDING

2018

19

inexpensive way to gather data from a potentially large number of

respondents.

Interviews:-

A conversation in which one person (the interviewer)elicits information from

another person (the subject or interviewee). A transcript or account of such a

conversation is also called an ―interview‖ In this phase we conduct interviews

of the working staff at the client site. Interviews help in collecting important

facts about existing system and also allow analyst to involve people into it.

Sampling :-

Samplingis that part of statistical practice concerned with the selection of

individual observations intended to yield some knowledge about a population

of concern, especially for the purposes of statistical inference. A form

containing a set of questions, especially one addressed to a statistically

significant number of subjects as a way of gathering information for a survey.

Sampling is the process where system analyst collects the various type of

form used by the client.

Onsite Observation: -

On-site observations are one of the most effective tools with the analyst

where the analyst personally goes to the site and discovers the functioning of

the system. As an observer, the analyst can gain first-hand knowledge of the

2018

20

activities, operations, processes of the system on-site; hence here the role of

an analyst is of an information seeker.

This information is very meaningful as it is unbiased and has been directly

taken by the analyst. This method is however less effective for learning about

people's perceptions, feelings and motivations. This is the best way for

gathering information about any company or organization.

2018

21

Feasibility studies are preliminary investigations into the potential benefits

associated with undertaking a specific activity or project. The main purpose of

the feasibility study is to consider all factors associated with the project, and

determine if the investment of time and other resources will yield a desirable

result. While considered a preliminary study, it is not unusual for a feasibility

study to be highly detailed.

To measure the feasibility three aspects should be considered:

Economical Feasibility:-

In economic feasibility, cost benefit analysis is done in which expected costs

and benefits are evaluated. Economic analysis is used for evaluating the

effectiveness of the proposed system. In economic feasibility; the most

important is cost-benefit analysis. As the name suggests, it is an analysis of

the costs to be incurred in the system and benefits derivable out of the

system. It is the most frequently used method for evaluating the effectiveness

of the candidate system that is proposed system. The procedure is to

determine the benefit and savings that are expected from the candidate

system and compare them with the cost.

FEASIBILITY STUDY

2018

22

Technical Feasibility:-

Technical feasibility is concerned with the availability of hardware and

software required for the development of the system, to see compatibility and

maturity of the technology proposed to be used and to see the availability of

the required technical manpower to develop the system.

Because this program is web based application we required windows class

processor with any good internet browser. In technical feasibility the following

issues are taken into consideration.

Whether the required technology is available or not

Resources are available –-Manpower- programmers, testers & debuggers

-Software and hardware.

Once the technical feasibility is established, it is important to consider the

monetary factors also.

Operational Feasibility:-

It is mainly related to human & political aspects. It is carried out by a small

group of people who are familiar with information system techniques. It is

done to check whether the system will be easily operational. Generally project

will not be rejected because of operational in feasibility.

Operational feasibility is all about problem that may arise during operations.

There are two aspect related with this issue:

2018

23

What is the probability that the solution developed may not be put to use or

may not work. And what is the inclination of the management and end users

towards the solution. When we develop any software, our main motive is that

our software is easy to operate there are no any difficulty face by the user.

2018

24

Hardware Requirements

CPU : Intel Pentium 4 Processor 2.6 GHz

RAM : 1 GB

Motherboard : Intel Original/Chipset

HDD : 80 GB

CD/DVD ROM : Any brand For Optical Use

Monitor : 17 Inches with Resolution 800 X 600

HARDWARE AND SOFTWARE SPECIFICATIONS

2018

25

Software Requirements

Operating Systems :

Microsoft Window XP/VISTA

Front End

Asp .net using c#

Back End

Microsoft SQL Server 2005

2018

26

NGO Partnership System has categorized into four sub points i.e. Scheme-

wise Listing, NGO Grants, Scheme Directory and VOs/NGOs Directory.

NGO PARTNERSHIP

SYSTEM

Scheme-wise

Listing

VOs/NGOs Directory

Schemes Directory

NGO Grants

MODULAR DESIGN

2018

27

Scheme-wise Listing- In this module, the various schemes will be

listed on various subjects like Proposals from Non-Governmental

Organizations and National Tobacco Control Programmes. NGOs can

choose schemes from the list and apply online. And the schemes will

have mentioned all the relevant information to fulfill the eligibility criteria.

Schemes Directory- This module design for various schemes offered by

Ministries/Governments/Organization are available for the NGOs.

Different schemes have different eligibility criteria, payment option &and

grants particulars. This modules also has included the features of Nodal

Officers Contact Details of participating ministries/Departments,

Schemes by Ministries/Departments, Schemes by target Groups and

search schemes. In this module, the schemes will be available on the

website of offered by Ministries/Governments/Organization. For which

NGOs can choose schemes and see the eligibility criteria and relevant

experience and documents and apply online to specified

Ministries/Governments/Organization.

VOs/NGOs Directory–In this module you can search various NGOs in

India who has been registered with this NGO partnership system under

this website. It has contained Name, Address and various particulars

related to NGOs. It has also features of State-wise list of VOs/NGOs

signed up on the NGO-PS, Sector-wise list of VOs/Ngo signed up on the

NGO-PS, Search VOs/NGOs and Blacklisted VOs/NGOs.

MODULAR DESCRIPATION

+

2018

28

NGOs Grants - This module is used to make keep the records of the

NGOs who have applied for the grant under any ministries. Also, to track

the status of the products with applied unique code of projects. In this

module, applied schemes whose payment particulars will be shown ,

view status of applied grants, submit annual documents and view

submitted documents.

2018

29

Admin

NGOs/VOs

Manage Details

Manage Status

Manage Payments

Manage Schemes

Manage Grants

USE CASE DIAGRAM

Apply Schemes

Applications

Make/Receive Payments

Login

Applying

Sign Up / Register

2018

30

NGOs

ENTITY RELATIONSHIP DIAGRAM (ER-D)

NGO_id

Registration No

Address

Telephone

NGO_Name

Apply for

SCHEMES

Sch-Id

Sch-Name

Issue-date

Eligibility

Receive Handles

Announces

GRANTS ADMIN

Scheme_id

Sch- Name

Amount

Ministry Name

Password

User-name

Admin-id

Address

Amount

Installment

Closing date

Ministry

Address Name

Telephone

State

2018

31

NGOs

Admin

Ministries

NGO

PARTNERSHIP

SYSTEM

Grants

Announcement

Schemes

DATA FLOW DIAGRAM (DFD)

2018

32

Payment_Details Scheme_master Ministry_master YES Scheme_master Payment_Details NGO_master NGO_history Scheme_master YES P Payment_details Payment_Details

YES NGO_master Cust_master Ministry_master Payment_details Ministry_master NO SCHEME_master Announcement_master

1st level VOs/NGOS

Registration process

Fillup NGO”s details

Select any one

available schemes

Do Payment

Generate TransactionID

Make Payment

Issue scheme forms

Applying for

Schemes process

Scheme Process

Fillup Schme forms

Receive payment

Project

Verify Available

flats

Error message

Verifying registration

details

Withdraw payment

No Approved process

Verify registration details

Cancel Registrati

on

Make record history

Generate transaction

ID

Make announcement

General transaction

ID

Cancel Sch

Charge processing

amt

Verify registration details

Request for

withdrawl

Admin

Approval

Generate transaction

ID Error message

YES

NO

NO

2018

33

YES Y

NO

NGO_MASTER

NGO_HISTORY

NGO

Generate transaction

ID

Make record

history

Cancel

Registration

Error

message

NO approve

process

Admin

Verify registration

details

2nd level

2018

34

NGO_details

NGO_master Payment _details

Payment_details Payment_details

NGO Registration

process

Fill up personel details

Select any one

available scheme

Make Payment

Generate transaction

ID

Do Payment

Generate Transactio

n ID

Admin

2nd level

2018

35

SCHEME_DETAILS

SCHEME_MASTER NGO_DETAILS

PAYMENT_DETAILS NGO _MASTER PAYMENT_DETAILS

NGO

Scheme filling

process

Fill up Scheme

forms

Make

payment

Fill up personnel

details

Generate transaction

ID Issue

Scheme

forms

Scheme process

Admin

2nd level

2018

36

2nd level NGO_details YES

NO NO

Ministry_master

YES

Scheme_master

Payment_Details

NGO

Make payment

Approve scheme

Error message

Admin Approve Verifying

registration details

Verify Available Schemes

2018

37

NGO_detail

Ministry_master

YES

Payment_Details

Scheme Master NGO Master

Announcement_details

Announcement_Master

NGO

Charge processing

amt

Cancel approval

General transaction

ID Admin

Withdraw payment

Request for withdrawal

Verify registration

details

2nd level

2nd level

Admin

Make

Announcement

2018

38

INPUT OUTPUT OF THE PROJECT

VOs/NGOs Registration

Inputs Outputs

NGO Name VOs/NGOs ID

Registration No. Application ID

Address

Office Address

PAN No

Contact No.

Scheme Search Inputs Outputs

Scheme Id Scheme ID

Scheme Name Ministry Name

Ministry Name

Category

2018

39

Apply Scheme Online

Inputs Outputs

Scheme Id Reference IDS

Scheme Name

Scheme ID

NGO Name

Upload files Date

Office Address

Contact No.

PAYMENT ONLINE

Inputs Outputs

Draft No Transaction id

Amount

Scheme ID

Bank Name

Date Date

Scheme Id

Scheme Name

NGO Id

NGO Name

2018

40

User Login Table

Fields Data Type Key Constraint

Description

Username Char Primary key It store the user name for login.

Password Bigint _ It store the Password for login

Schemes_Master

Fields Data Type Key Constraint

Description

Scheme Id BIgInt Primary key It store the Scheme ID

Scheme name Char _ It store the Scheme name

Issue Date Date _ It store the date of issuing Scheme

Amount BIgInt _ It store the amount of Scheme

Eligibility Varchar _ It store the eligibility for applying

Scheme

Ministry Name Char _ It store the name of ministry who has

announce the scheme

DATA STRUCTURE

2018

41

Payment Details

NGO Master

Fields Data Type Key Constraint

Description

NGO_ID Bigint Primary key It store the NGO ID

NGO_name Char _ It store the NGO name

Date of

Registartion

Date _ It store the date of Registration of

ngo

Office Varchar _ It store the office address

Address Varchar _

It store the existing address of

Customer

Fields Data Type Key Constraint

Description

Ack_no Bigint Primary key It store receipt no

NGO_Id Bigint Foreign key It store the NGO ID

Scheme Id Bigint Foreign key It store the Scheme ID

Application Id Bigint Foreign key It store the form ID

Pay_Date Date _ It store the date of payment

DraftNo Int _ It store the draft number

Drawn On Date Foreign key It store the drawn date of draft

Branch No Int Foreign key It store the branch number

Amount Bigint check It store the payment amount

2018

42

NGO History

Fields Data Type Key Constraint

Description

NGO_ID Bigint Foreign key It store the NGO ID

NGO_name Char _ It store the NGO name

Office Varchar _ It store the office address

Address Varchar _ It store the existing address of

customer

Amt_Withdr

aw

Int _ It store the withdrawal amount

Draft_no Int _ It store the draft number

Bank_name Char _ It store the Bank name

Announcement Master

Fields Data Type Key Constraint Description

App No Int Foreign key It store the draw number

App Date Date _ It store the draw date

Area Varchar _ It store the area info.

NgoID Bigint Foreign key It store the NGO ID

SchemeID Int Foreign key It store the Scheme ID

FORM MASTER

Fields Data Type Key Constraint Description

2018

43

Form_no. Bigint Primary key It store form no

NGO_name Char _ It store the NGO name

Office Varchar _ It store the office address

Deposite_date date Not null It store deposited date

NGO_type Char _ It store NGO type

Amount Bigint _ It store amount

BRANCH MASTER

Fields Data Type Key Constraint Description

Branch_no Int Primary key It store Branch no

Branch _name Char _ It store Branch name

B_manager Char _ It store branch manager

MINISTRY MASTER

Fields Data Type Key Constraint Description

Ministry Id. Bigint Primary key It store ministry ids.

Ministry_name Char _ It store the Ministry name

Address Varchar _ It store the office address

State Char _ It store state name

Telephone Number _ It store Telephone Number

2018

44

Security is very important process which is doing for secure your data from

the

―Unauthorized person because data and information is a strategic resources‖.

Securing your data goes beyond paranoia—it is often vital, although paranoia

does drive much of data security. Physical files and folders can be locked away

without your having to give much thought to it.

Username and password protection- Assign username and password

at the startup of the software for security. The purpose behind it that if

an unauthorized user want to open this software if he/she has username

and password then he/she is authorize to open the software else this

software is give a error message, the message is ―YOU ARE NOT

AUTHORIZED USER SORRY THEN PROGRAM IS TERMINATED‖.

Security of System Documents - System documents, such as system

flows, operational flows, system structure and authorization procedures,

shall be properly protected to avoid misuse of system documents.

Records of System Errors - In case of operational errors on systems,

it is required to immediately report to the relevant supervisors and take

necessary corrective actions.

Protection of Data Files - Important data files shall be safe kept in a

secure manner in accordance with relevant regulations to avoid loss,

damage, forgery or unauthorized changes.

SYSTEM SECURITIES

2018

45

1. In future, we will try to make availability of variousschemes for NGOs/VOs

in the automated way using a online platform so that it will be done in in

time.

2. This is a windows based application; hence it has a limited access. We will

try to make it online so that its access gets widened & users from all over

the India can access these services.

3. If this software will be online, then it will facilitates many online services

like:-

Online application for schemes/projects.

Online tracking application.

Special announcement.

Credit/Debit card payments.

FUTURE SCOPE

2018

46

INTRODUCTION OF THE PROJECT

A non-governmental organization (NGO) and (Voluntary Organization)

VOs is a legally constituted organization created by natural or legal persons

that operates independently from any government. The term is usually used

by government to refer to entities that have no government status. In the

cases in which NGOs are funded totally or partially by governments, the NGO

maintains its non-governmental status by excluding government

representatives from membership in the organization. The term is usually

applied only to organizations that pursue some wider social aim that has

political aspects, but that are not overtly political organizations such as

political parties. Unlike the term "intergovernmental organization", the term

"non-governmental organization" has no generally agreed legal definition. In

many jurisdictions, these types of organization are called "civil society

organizations" or referred to by other names.

IndianNon-governmental organizations (NGOs) can be set up under

various Indian laws, and the different legal entities under which civil society

organizations can register themselves are:

Registered Societies

Societies registration Act, 1860 is a central act for registering not-for-profit

organizations. Almost all the states in India have adopted (with modifications,

2018

47

if any) the central Act for creating state level authorities for registering

various types of not-for-profit entities. According to the act any seven persons

who subscribe to the Memorandum of Association (MOA) can register a

society. The memorandum should include names of the society, its objectives,

its names, addresses and occupations of the members subscribing to it as well

as the first governing body to be constituted on registration.

Public Trust

Public trust can be created for public charitable purposes. There is no All India

Level Act for setting up public charitable trusts. Some of the states in India

has enacted the Public Charitable Trust Act, while most states in India does

not have a trust act. An NGO can be created only under a public trust act.

Private Trust

A private trust , created under and governed by the Indian Trusts Act of 1882,

aims at managing assigned trust properties for private or religious purpose. A

private trust does

In recent years, especially in developed countries, various systems have

been created to advance the management and organization of participation for

various governmental projects by NGOs.

This is system invites all Voluntary Organizations (VOs)/ Non-Governmental

Organizations (NGOs) to Sign Up on this system,which has been developed in

consultation with the below mentioned Ministries/Departments/Government

2018

48

Bodies to facilitate VOs / NGOs during their interaction with the Government

in connection with requests for Government Grants under various schemes of

the below mentioned Ministries/ Departments/ Government Bodies, in the first

phase.

Participating Ministries/Departments/Government Bodies:

Ministry of Culture

Ministry of Health & Family Welfare

Ministry of Social Justice & Empowerment

Ministry of Tribal Affairs

Ministry of Women & Child Development

Department of Higher Education

Department of School Education & Literacy

National AIDS Control Organization (NACO)

Council for Advancement of People's Action and Rural Technology

(CAPART)

Central Social Welfare Board (CSWB)

All VOs / NGOs, are requested to Sign Up (one time) with the Portal to help

create a data base of existing VOs / NGOs and to access information on

various schemes of the participating Ministries/ Departments/ Government

Bodies open for grants. Later you will also be able to apply online for

2018

49

government grants to the participating Ministries/Departments/Government

Bodies and track the status of your applications through this system.

Nowadays, in every field computer science has brought so many software for

to maintenance and database and keeps the records of daily basis work. But

my personal point of view to make this project is build-up software for

Ministries/Departments/Governments bodies that can upload various schemes

related to different subjects. For which VOs/NGOs can just register themselves

into this website and benefit from it just online not anywhere to go for apply

of various schemes to direct ministry or regular visiting the sites. My main

prime and aim behind this project is let them all VOs/NGOs know the online

platform to work directly and check the status for various schemes and grants

applied for.

2018

50

OBJECTIVES OF THE PROJECT

The main objective behind developing this software is to make the process of

The NGO-PS to provide information about all signed up VOs / NGOs,

information about schemes of the participating Government Ministries /

Departments / Government Bodies open for partnership and funding with the

voluntary sector. It will also have the facility to apply for NGO grants online,

upload all common documents (like Registration Certificate, Annual Reports,

Annual Audited Statements etc) required by government Ministries /

Departments / Government Bodies as well as track the processing of your

application until the grant is sanctioned / rejected.

Feature- This software is design with all features which is very useful

for NGO employees, and managementteams.

This software will maintain online information related to specific

scheme and their various details.

It will automatically track the issue & closing date of various schemes.

It will generate the list of schemes whose names are allotted in the

website.

It maintains the various schemes of ministries with their apply date and

expiry date.

2018

51

It will maintain the records history of NGOs who have applied after or

before the schemes.

It will maintain the payment details of grant received towards schemes.

Queues- With the help of NGO partnership System, the long queues

will reduced and we can easily get any information regarding any

doubt/query.

Automate the work- It will transform NGOs with the power of

computer, the operations is automated. It is capable to done its work

more quickly in the comparison of human beings.

Remove Registers Work-Bulky register and paper works is removing

in the attendance of powerful database.

Menu- Providing menus on the screen for user convenient & interface

on screen for link more feature and make attractive of the startup

screen.

Easy to Use- Providing user friendly environment which is useful for

NGOs employees to interact more quickly and friendly with the

software.

Better Understandability-With NGOs, there is a better

understandability due to less chance of occurring error in comparison of

manual working.

Graphics- Use graphics to explain complex links.

To provide proper coordination and efficient implementation.

2018

52

Reliable, Efficient & Security Feature- This software is performing

consistently. This software is able to take any type of work load as

comparison of human beings. Providing all security Feature which is

necessary.

New user can:-

5. Get details of existing VOs/ NGOs across India.

6. Get details of the schemes of the above

Ministries/Departments/Government Bodies offering grants to VOs

/NGOs.

7. Apply on-line for NGO grants.

8. Track status of your applications for grants.

2018

53

PROJECT PLANNING

Project planning is part of projectmanagement, which relates to the use

of schedules such as Gantt charts to plan and subsequently report progress within the

project environment.It is a discipline for stating how to complete a project within a

certain timeframe, usually with defined stages, and with designated resources. One

view of project planning divides the activity into:

Setting objectives (these should be measurable)

Identifying deliverables

Planning the schedule

Making supporting plans

This article explores the various aspects of Software Project Planning and Scheduling.

Project planning is an aspect of Project Management, which comprises of various

processes. The aim of theses processes is to ensure that various Project tasks are well

coordinated and they meet the various project objectives including timely completion

of the project.

Initially, the project scope is defined and the appropriate methods for completing the

project are determined. The durations for the various tasks necessary to complete

the work are listed and grouped into a work breakdown structure. The

2018

54

logical dependencies between tasks are defined using an activity network

diagram that enables identification of the critical path. Float or slack time in the

schedule can be calculated using project management software. Then the

necessary resources can be estimated and costs for each activity can be allocated to

each resource, giving the total project cost. At this stage, the project plan may be

optimized to achieve the appropriate balance between resource usage and project

duration to comply with the project objectives. Once established and agreed, the plan

becomes what is known as the baseline. Progress will be measured against the

baseline throughout the life of the project. Analyzing progress compared to the

baseline is known as earned value management.

The inputs of the project planning phase include Project Charter and the Concept

Proposal. The outputs of the Project Planning phase include the Project Requirements,

the Project Schedule, and the Project Management Plan.

2018

55

SOFTWARE REQUIREMENT SPEIFICATIONS(SRS)

A requirements specification for a software system - is a complete description of the

behavior of a system to be developed. It includes a set of use cases that describe all the

interactions the users will have with the software. Use cases are also known

as functional requirements. In addition to use cases, the SRS also contains non-

functional (or supplementary) requirements. Non-functional requirements are

requirements which impose constraints on the design or implementation (such

as performance engineering requirements, quality standards, or design

constraints).The complete description of the functions to be performed by the

software specified in the SRS will assist the potential users to determine if the

software specified meets their needs or how the software must be modified to meet

their needs. A software requirements specification (SRS) is a comprehensive

description of the intended purpose and environment for software under

development. The SRS fully describes what the software will do and how it will be

expected to perform.

An SRS minimizes the time and effort required by developers to achieve desired goals

and also minimizes the development cost. A good SRS defines how an application

will interact with system hardware, other programs and human users in a wide variety

of real-world situations. Parameters such as operating speed, response

2018

56

time,availability, portability, maintainability, footprint, security and speed of recovery

from adverse events are evaluated

It's important to note that an SRS contains functional and nonfunctional requirements

only; it doesn't offer design suggestions, possible solutions to technology or business

issues, or any other information other than what the development team understands

the customer's system requirements to be.

A well-designed, well-written SRS accomplishes four major goals:

It provides feedback to the customer. An SRS is the customer's assurance that the

development organization understands the issues or problems to be solved and the

software behavior necessary to address those problems. Therefore, the SRS should be

written in natural language (versus a formal language, explained later in this article),

in an unambiguous manner that may also include charts, tables, data flow diagrams,

decision tables, and so on.

It decomposes the problem into component parts. The simple act of writing down

software requirements in a well-designed format organizes information, places

borders around the problem, solidifies ideas, and helps break down the problem into

its component parts in an orderly fashion.

It serves as an input to the design specification. As mentioned previously, the SRS

serves as the parent document to subsequent documents, such as the software design

specification and statement of work. Therefore, the SRS must contain sufficient detail

in the functional system requirements so that a design solution can be devised.

2018

57

FUNCTIONAL REQUIREMENT

It serves as a product validation check. The SRS also serves as the parent document for

testing and validation strategies that will be applied to the requirements for

verification.

SRSs are typically developed during the first stages of "Requirements Development,"

which is the initial product development phase in which information is gathered about

what requirements are needed--and not. This information-gathering stage can include

onsite visits, questionnaires, surveys, interviews, and perhaps a return-on-investment

(ROI) analysis or needs analysis of the customer or client's current business

environment. The actual specification, then, is written after the requirements have

been gathered and analyzed.

A functional requirement defines a function of a software system or its component. A

function is described as a set of inputs, the behavior, and outputs (see also software).

Functional requirements may be calculations, technical details, data manipulation and

processing and other specific functionality that define what a system is supposed to

accomplish. Behavioral requirements describing all the cases where the system uses

the functional requirements are captured in use cases. Functional requirements are

supported by non-functional requirements (also known as quality requirements),

which impose constraints on the design or implementation (such as performance

2018

58

requirements, security, or reliability). Generally, functional requirements are

expressed in the form "system shall do <requirement>", while non-functional

requirements are "system shall be <requirement>". The plan for

implementing functional requirements is detailed in the system design. The plan for

implementing non-functional requirements is detailed in the system architecture.

As defined in requirements engineering, functional requirements specify particular

results of a system. This should be contrasted with non-functional requirements which

specify overall characteristics such as cost and reliability. Functional requirements

drive the application architecture of a system, while non-functional requirements

drive the technical architecture of a system

A typical functional requirement will contain a unique name and number, a brief

summary, and a rationale. This information is used to help the reader understand why

the requirement is needed, and to track the requirement through the development of

the system.

The crux of the requirement is the description of the required behavior, which must be

clear and readable. The described behavior may come from organizational or business

rules, or it may be discovered through elicitation sessions with users, stakeholders,

and other experts within the organization. Many requirements may be uncovered

during the use case development. When this happens, the requirements analyst may

create a placeholder requirement with a name and summary, and research the details

later, to be filled in when they are better known.

2018

59

NON-FUNCTIONAL REQUIREMENT

A non-functional requirement is a requirement that specifies criteria that can be used

to judge the operation of a system, rather than specific behaviors. This should be

contrasted with functional requirements that define specific behavior or functions.

The plan for implementing functional requirements is detailed in the system design.

The plan for implementingnon-functional requirements is detailed in the

system architecture.

In general, functional requirements define what a system is supposed to do whereas

non-functional requirements define how a system is supposed to be. Functional

requirements are usually in the form of "system shall <do requirement>", while non-

functional requirements are "system shall be <requirement>".

Non-functional requirements are often called qualities of a system. Other terms for

non-functional requirements are "constraints", "quality attributes", "quality goals",

"quality of service requirements" and "non-behavioral requirements".[1] Qualities, that

is non-functional requirements, can be divided into two main categories:

1. Execution qualities, such as security and usability, which are observable at run

time.

2. Evolution qualities, such as testability, maintainability, extensibility and

scalability, which are embodied in the static structure of the software system.

2018

60

LIFE CYCLE MODEL

3. “Non-functional requirements tend to be things that you can measure."

4. Non-functional requirements define the overall qualities or attributes of the

resulting system

5. Non-functional requirements place restrictions on the product being developed,

the development process, and specify external constraints that the product must

meet.

A software life cycle model (SLCM) is a representation of the major components of

software development work and their interrelationships in a graphical framework

that can be easily understood and communicated. Just as the WBS partitions the

deliverable into its component parts so the SLCM apportions the work to be done into

manageable work units.

Software life cycle process classifications

2018

61

WATERFALL MODEL

The waterfall model is a sequential design process, often used in software

development processes, in which progress is seen as flowing steadily downwards (like

a waterfall) through the phases of Conception, Initiation, Analysis, Design,

Construction, Testing, Production and Maintenance.Waterfall approach was first

Process Model to be introduced and followed widely in Software Engineering to

ensure success of the project. In "The Waterfall" approach, the whole process of

software development is divided into separate process phases.

2018

62

The phases in Waterfall model are: Requirement Specifications phase, Software

Design, Implementation and Testing & Maintenance. All these phases are cascaded to

each other so that second phase is started as and when defined set of goals are

achieved for first phase and it is signed off, so the name "Waterfall Model". All the

methods and processes undertaken in Waterfall Model are more visible.

The stages of "The Waterfall Model" are:

Requirement Analysis & Definition: All possible requirements of the system to be

developed are captured in this phase. Requirements are set of functionalities and

constraints that the end-user (who will be using the system) expects from the system.

2018

63

The requirements are gathered from the end-user by consultation, these requirements

are analyzed for their validity and the possibility of incorporating the requirements in

the system to be development is also studied. Finally, a Requirement Specification

document is created which serves the purpose of guideline for the next phase of the

model.

System & Software Design: Before a starting for actual coding, it is highly important

to understand what we are going to create and what it should look like? The

requirement specifications from first phase are studied in this phase and system

design is prepared. System Design helps in specifying hardware and system

requirements and also helps in defining overall system architecture. The system

design specifications serve as input for the next phase of the model.

Implementation & Unit Testing: On receiving system design documents, the work is

divided in modules/units and actual coding is started. The system is first developed in

small programs called units, which are integrated in the next phase. Each unit is

developed and tested for its functionality; this is referred to as Unit Testing. Unit

testing mainly verifies if the modules/units meet their specifications.

Integration & System Testing: As specified above, the system is first divided in units

which are developed and tested for their functionalities. These units are integrated

into a complete system during Integration phase and tested to check if all

modules/units coordinate between each other and the system as a whole behaves as

2018

64

CONSTRUCTIVE COST MODEL(COCOMO)

per the specifications. After successfully testing the software, it is delivered to the

customer.

Operations & Maintenance: This phase of "The Waterfall Model" is virtually never

ending phase (Very long). Generally, problems with the system developed (which are

not found during the development life cycle) come up after its practical use starts, so

the issues related to the system are solved after deployment of the system. Not all the

problems come in picture directly but they arise time to time and needs to be solved;

hence this process is referred as Maintenance.

The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation

model developed by Barry Boehm. The model uses a basic regression formula, with

parameters that are derived from historical project data and current project

characteristics. COCOMO consists of a hierarchy of three increasingly detailed and

accurate forms. The first level, Basic COCOMO is good for quick, early, rough order of

magnitude estimates of software costs, but its accuracy is limited due to its lack of

factors to account for difference in project attributes (Cost Drivers). Intermediate

COCOMO takes these Cost Drivers into account and Detailed COCOMO additionally

accounts for the influence of individual project phases.

2018

65

The COCOMO cost estimation model is used by thousands of software project

managers, and is based on a study of hundreds of software projects. Unlike other cost

estimation models, COCOMO is an open model, so all of the details are published,

including:

The underlying cost estimation equations

Every assumption made in the model (e.g. "the project will enjoy good

management")

Every definition (e.g. the precise definition of the Product Design phase of a

project)

The costs included in an estimate are explicitly stated (e.g. project managers are

included, secretaries aren't)

The most fundamental calculation in the COCOMO model is the use of the Effort

Equation to estimate the number of Person-Months required to develop a

project. Most of the other COCOMO results, including the estimates for

Requirements and Maintenance, are derived from this quantity

2018

66

CLASS DIAGRAM

A class diagram in the Unified Modeling Language (UML) is a type of static structure

diagram that describes the structure of a system by showing the system's classes, their

attributes, operations(or)methods and the relationships between the classes.Class

diagrams are useful in all forms of object-oriented programming (OOP).

The class diagram is the main building block in object orientedmodelling. It is used

both for general conceptual modelling of the systematics of the application, and for

detailed modelling translating the models into programming code. The classes in a

class diagram represent both the main objects and or interactions in the application

and the objects to be programmed. In the class diagram these classes are represented

with boxes which contain three parts. Below is an example of a class.

In a class diagram, the classes are arranged in groups that share common

characteristics. A class diagram resembles a flowchart in which classes are portrayed

as boxes, each box having three rectangles inside. The top rectangle contains the name

2018

67

of the class; the middle rectangle contains the attributes of the class; the lower

rectangle contains the methods, also called operations, of the class. Lines, which may

have arrows at one or both ends, connect the boxes. These lines define the

relationships, also called associations, between the classes.

Class Diagram

NGO

NGO ID: NUMBER NGO NAME: CHAR DATE OF REG: DATE REG NO: NUMBER OFFICE: VARCHAR ADDRESS: VARCHAR SEX: CHAR N_OF_CHIEF FUNCTIONARY: CHAR

APPLICATION ( ) UPDATE( ) DELETE( ) REMOVE( )

PAYMENT

CUST ID: NUMBER

NGO NAME :CHAR

FORM ID: NUMBER

PAY DATE: DATE

DRAFT NO. : NUMBER

DRAWN ON: DATE

BRANCH NO.: NUMBER

AMOUNT : NUMBER

PAYMENT ( )

WITHDRAW ( )

SCHEME

SCHE- ID:NUMBER SCH-NAME: CHAR ISSUE DATE: DATE CLOSING DATE: DATE AMOUNT: NUMBER ELIGIBILITY: VARCHAR MINISTRY NAME:CHAR

ADD SCHEME( ) SEARCH SCHEME ( ) UPDATE SCHEME ( )

GRANTS SCH-ID: NUMBER SCH-NAME: CHAR AMOUNT: NUMBER INSTALLMENT: VARCHAR MINISTRY NAME: CHAR

APRROVE ( ) DISAPPROVE ( ) CHECK BALANCE()

PROJECT

PROJECT ID.: NUMBER PROJECT NAME.: VARCHAR LOCATION: CHAR

SCHEME ID:NUMBER

ADD PROJECT ( ) REMOVE PROJECT ( ) UPDATE PROJECT( )

2018

68

FLOW CHART

Start

NGO Registratio

n

NGO Directory

Enter Details

Search schemes

Apply Online Download Schemes

Make Payment

Grants

Check Date

NGO Details

Payment

Logout

Stop

2018

69

Scheduling is the process of deciding how to commit resources between a variety of

possible tasks. Time can be specified or floating as part of a sequence of events.

In packet-switched computer networks and other statistical multiplexing, the notion

of a scheduling algorithm is used as an alternative to first-come first-served queuing of

data packets.

The simplest best-effort scheduling algorithms are round-robin, fair queuing (a max-

min fair scheduling algorithm), proportionally fair scheduling and maximum

throughput. If differentiated or guaranteed quality of service is offered, as opposed to

best-effort communication, weighted fair queuing may be utilized.

In advanced packet radio wireless networks such as HSDPA (High-Speed Downlink

Packet Access ) 3.5G cellular system, channel-dependent scheduling may be used to

take advantage of channel state information. If the channel conditions are favorable,

the throughput and system spectral efficiency may be increased. In even more

advanced systems such asLTE, the scheduling is combined by channel-dependent

packet-by-packet dynamic channel allocation, or by assigning OFDMA multi-carriers

or other frequency-domain equalization components to the users that best can utilize

them.

SCHEDULING TECHNIQUES

2018

70

A Gantt chart is a type of bar chart that illustrates a project schedule. Gantt charts

illustrate the start and finish dates of the terminal elements and summary elements of

a project. Terminal elements and summary elements comprise the work breakdown

structure of the project. Some Gantt charts also show the dependency(i.e., precedence

network) relationships between activities. Gantt charts can be used to show current

schedule status.

It is a type of bar chart that illustrates a project schedule. Gantt charts illustrate the

start and finish dates of the terminal elements and summary elements of a project.

Terminal elements and summary elements comprise the work breakdown structure of

the project. Some Gantt charts also show the dependency (i.e., precedence network)

relationships between activities. Gantt charts can be used to show current schedule

status

GANTT CHART

2018

71

7.9.1 GANTT CHART

Initial

Investigation

Analysis &

Design

Coding

Testing

Maintenance3050 70 90 110

--Days--

Implementation time

Actual scheduling

2018

72

A PERT chart is a project management tool used to schedule, organize, and coordinate

tasks within a project. PERT stands for Program Evaluation Review Technique.

The PERT chart is sometimes preferred over the Gantt chart, another popular project

management charting method, because it clearly illustrates task dependencies. On the

other hand, the PERT chart can be much more difficult to interpret, especially on

complex projects. Frequently, project managers use both techniques.

A diagram which uses the symbols and notations of program evaluation and

review technique to depict the flow of dependent tasks and other events in a

project

A project management technique for determining how much time a project

needs before it can be completed. Each activity is assigned a best, worst and

most probably completion time estimate. These estimates are then used to

determine the average completion time.

PERT CHART

2018

73

A chart that displays the sequence of tasks that form the project schedule. PERT

charts are particularly useful for highlighting a project's critical path.

Stands for Programme Evaluation and Review Technique. A project plan where

activities are shown as boxes and dependant links between activities are shown

as arrows. Also called an Arrow diagram or Network diagram. Originated in the

US Navy in the 1950's.

2018

74

7.9.2 PERT CHART

20

20

3020 20

20

20

Initial investigation

Analysis

Design

Coding

Testing

Implementati

on

2018

75

Risk management is the identification, assessment, and prioritization of risks followed

by coordinated and economical application of resources to minimize, monitor, and

control the probability and/or impact of unfortunate events[1] or to maximize the

realization of opportunities. Risks can come from uncertainty in financial markets,

project failures, legal liabilities, credit risk, accidents, natural causes and disasters as

well as deliberate attacks from an adversary. Several risk management standards have

been developed including the Project Management Institute, the National Institute of

Science and Technology, actuarial societies, and ISO standards.[2][3] Methods,

definitions and goals vary widely according to whether the risk management method

is in the context of project management, security, engineering, industrial processes,

financial portfolios, actuarial assessments, or public health and safety.

The strategies to manage risk include transferring the risk to another party, avoiding

the risk, reducing the negative effect of the risk, and accepting some or all of the

consequences of a particular risk.

Certain aspects of many of the risk management standards have come under criticism

for having no measurable improvement on risk even though the confidence in

estimates and decisions increase.

RISK MANAGEMENT

2018

76

Principles of risk management

The International Organization for Standardization (ISO) identifies the following

principles of risk management:

Risk management should:

create value

be an integral part of organizational processes

be part of decision making

explicitly address uncertainty

be systematic and structured

be based on the best available information

be tailored

take into account human factors

be transparent and inclusive

be dynamic, iterative and responsive to change

be capable of continual improvement and enhancement

2018

77

The process of risk management consists of several steps as follows:

Establishing the context

Establishing the context involves:

1. Identification of risk in a selected domain of interest

2. Planning the remainder of the process.

3. Mapping out the following:

the social scope of risk management

the identity and objectives of stakeholders

the basis upon which risks will be evaluated, constraints.

4. Defining a framework for the activity and an agenda for identification.

5. Developing an analysis of risks involved in the process.

6. Mitigation or Solution of risks using available technological, human and

organizational resources.

Identification

After establishing the context, the next step in the process of managing risk is to

identify potential risks.

2018

78

Source analysisRisk sources may be internal or external to the system that is the

target of risk management.

Examples of risk sources are: stakeholders of a project, employees of a company or the

weather over an airport.

The chosen method of identifying risks may depend on culture, industry practice and

compliance. The identification methods are formed by templates or the development

of templates for identifying source, problem or event. Common risk identification

methods are:

Objectives-based risk identification Organizations and project teams have

objectives. Any event that may endanger achieving an objective partly or

completely is identified as risk.

Scenario-based risk identification In scenario analysis different scenarios are

created. The scenarios may be the alternative ways to achieve an objective, or an

analysis of the interaction of forces in, for example, a market or battle. Any event

that triggers an undesired scenario alternative is identified as risk - see Futures

Studies for methodology used by Futurists.

Taxonomy-based risk identification The taxonomy in taxonomy-based risk

identification is a breakdown of possible risk sources. Based on the taxonomy and

knowledge of best practices, a questionnaire is compiled. The answers to the

questions reveal risks.

2018

79

Common-risk checking in several industries, lists with known risks are available.

Each risk in the list can be checked for application to a particular situation.

Risk charting this method combines the above approaches by listing resources at

risk, Threats to those resources Modifying Factors which may increase or decrease

the risk and Consequences it is wished to avoid. Creating a matrix under these

headings enables a variety of approaches. One can begin with resources and

consider the threats they are exposed to and the consequences of each.

Alternatively one can start with the threats and examine which resources they

would affect, or one can begin with the consequences and determine which

combination of threats and resources would be involved to bring them about.

Assessment

Once risks have been identified, they must then be assessed as to their potential

severity of loss and to the probability of occurrence. These quantities can be either

simple to measure, in the case of the value of a lost building, or impossible to know for

sure in the case of the probability of an unlikely event occurring. Therefore, in the

assessment process it is critical to make the best educated guesses possible in order to

properly prioritize the implementation of the risk management plan.

The fundamental difficulty in risk assessment is determining the rate of occurrence

since statistical information is not available on all kinds of past incidents.

Furthermore, evaluating the severity of the consequences (impact) is often quite

difficult for immaterial assets. Asset valuation is another question that needs to be

2018

80

addressed. Thus, best educated opinions and available statistics are the primary

sources of information. Nevertheless, risk assessment should produce such

information for the management of the organization that the primary risks are easy to

understand and that the risk management decisions may be prioritized. Thus, there

have been several theories and attempts to quantify risks. Numerous different risk

formulae exist, but perhaps the most widely accepted formula for risk quantification

is:

Rate of occurrence multiplied by the impact of the event equals risk

Categories of risks:

Schedule Risk:

Project schedule get slip when project tasks and schedule release risks are not

addressed properly.

Schedule risks mainly affect on project and finally on company economy and may lead

to project failure.

Schedules often slip due to following reasons:

Wrong time estimation

Resources are not tracked properly. All resources like staff, systems, skills of

individuals etc.

Failure to identify complex functionalities and time required to develop those

functionalities.

2018

81

Unexpected project scope expansions.

Budget Risk:

Wrong budget estimation.

Cost overruns

Project scope expansion

Operational Risks:

Risks of loss due to improper process implementation, failed system or some external

events risks.

Causes of Operational risks:

Failure to address priority conflicts

Failure to resolve the responsibilities

Insufficient resources

No proper subject training

No resource planning

No communication in team.

Technical risks:

Technical risks generally leads to failure of functionality and performance.

Causes of technical risks are:

Continuous changing requirements

No advanced technology available or the existing technology is in initial stages.

Product is complex to implement.

Difficult project modules integration.

2018

82

Programmatic Risks:

These are the external risks beyond the operational limits. These are all uncertain

risks are outside the control of the program.

These external events can be:

Running out of fund.

Market development

Changing customer product strategy and priority

Government rule changes.

2018

83

Systems design is the process of defining the architecture, components, modules,

interfaces, and data for a system to satisfy specifiedrequirements. One could see it as

the application of systems theory to product development. There is some overlap with

the disciplines ofsystems analysis, systems architecture and systems engineering. If

the broader topic of product development "blends the perspective of marketing,

design, and manufacturing into a single approach to product development, then design

is the act of taking the marketing information and creating the design of the product to

be manufactured. Systems design is therefore the process of defining and

developingsystems to satisfy specified requirements of the user.

Object-oriented analysis and design methods are becoming the most widely used

methods for computer systems design. TheUML has become the standard language in

object-oriented analysis and design. It is widely used for modeling software systems

and is increasingly used for high designing non-software systems and organizations.

Characteristics of a System Design

1. Organization: It says the Structure or order of built.

2. Interaction: Procedure in which the components interact.

3. Interdependence.

SYSTEM DESIGN

2018

84

4. Integration

5. Central Objective

Elements of System Analysis

There are 4 basic elements of System analysis, they are

1. Outputs

2. Inputs : The essential elements of Inputs are

Accuracy of data

Timeliness

Proper format

Economy.

3. Files

4. Process

Types of Systems

1. Physical or abstract systems

2. Open or closed systems

3. Deterministic or probabilistic

4. Man-made systems

2018

85

Formal systems – Organization representation

Informal systems – Employee based system

Computer based information systems – Computer handling business applications.

These are collectively known as Computer Based Information systems (CBIS).

a. Transaction Processing System (TPS)

b. Management Information System (MIS)

c. Decision Support System (DSS)

d. Office Automation System (OAS)

Physical or abstract systems:

Physical systems:

Physical systems are tangible entities that may be touched and have physical existence.

The elements (or components) of a physical system interface enable the 'flow' of

information, matter and energy.

Abstract systems:

These are conceptual or non-physical entities that may not be touched but can be

expressed as relationships and formulas.for eg, traffic system models and computer

programs are both types of modeled systems. They can be the product of identification,

design or invention.

2018

86

Open or closed systems:

Open systems

Open systems continuously interact with its environment. It receives inputs from and

delivers output to the outside. Open systems can adopt the changing demand of the

user. It has a discrete number of interfaces to allow the exchange of matter, energy or

information with its surrounding environment.

Close systems

This isolated from environmental influences. In reality completely closed system are

rare. A closed system is self-contained in such a way that outside events have no

influence upon the system. In this case there is no possible exchange of matter, energy

or information with the surrounding environment. After a period of time all internal

activity within a closed system will stop.

Deterministic or probabilistic system:

Deterministic System

A deterministic is one in which the occurrence of all events is perfectly predictable.

Probabilistic systems

It is on in which the occurrence of events of cannot be perfectly predicted.

2018

87

Man-made systems:

These systems are designed for interaction between the user’s and the system . Some

of the main made systems are:

a. Transaction Processing System (TPS)

b. Management Information System (MIS)

c. Decision Support System (DSS)

d. Office Automation System (OAS)

Transaction Processing System (TPS): A TPS can be defined as a computer based

system that stores, maintain updates, classifies and retrieved transaction data for

record keeping. TPS are designed to improve the routine business activities on which

all organizations depends. The most successful organizations perform transaction

processing in a systematic way. TPS provide speed and accuracy to the business

activities.

Management Information System (MIS): MIS are more concerned with management

function, it can be described provide all levels of management with information

essential to the running smooth. This information must be accurate, timely, complete

and economically, feasible.

2018

88

Decision Support System (DSS): DSS assist managers who must make decision that

are not highly structured often called Unstructured if there are No clear procedures or

making factors to be considered in the decision can be identified in advance. Judgment

of the manager placed an important role in decision making. The DSS supports

judgment of managers but does not replace it.

Office Automation System (OAS): These are among the newest the most rapidly

expanding computer raised information systems. They will increase the productivity

of office workers, typists, secretary, managers, etc.

An OAS is a multi-function computer based system that allows many office activities to

be performed in an electronic mode .I t will reduce the paper work in an office.

2018

89

Program structure the overall form of a program, with particular emphasis on the

individual components of the program and the interrelationships between these

components. Programs are frequently referred to as either WELL

STRUCTUREDor POORLY STRUCTURED. With a well-structured program the division

into components follows some recognized principle such as information hiding, and

the interfaces between components are explicit and simple

According to the flow chart we will implement the program structure

1). Firstly NGO will Register them self for the use of website

Then Apply scheme Make Payments

After payment NGO will application id , Date, scheme name, ministry name

After this ngo will be shortlisted by application id

2).If a NGO wants to apply a other schemes then

they must have to check the expiry date whether it is available or not

PROGRAM STRUCTURE

2018

90

If available then select scheme and then apply for that.

3). If a NGO don’t know any scheme then he can go to the site and apply for the

Schemes then Download the schemes

2018

91

A constraint is a property assigned to a column or the setof columns in a table that

prevents certain types of inconsistent data values from being placed in the column(s).

Constraints are used to enforce the data integrity. This ensures the accuracy and

reliability of the data in the database. The following categories of the data integrity

exist:

Entity Integrity

Domain Integrity

Referential integrity

User-Defined Integrity

Entity Integrity ensures that there are no duplicate rows in a table.

Domain Integrity enforces valid entries for a given columnby restricting the type, the

format, or the range of possible values.

Referential integrity ensures that rows cannot be deleted, which are used by other

records (for example, corresponding data values between tables will be vital).

DATA INTEGRITY AND CONSTRAINTS

2018

92

User-Defined Integrity enforces some specific business rules that do not fall into

entity, domain, or referential integrity categories.

Each of these categories of the data integrity can be enforced by the appropriate

constraints. Microsoft SQL Server supports the following constraints:

PRIMARY KEY

UNIQUE

FOREIGN KEY

CHECK

NOT NULL

A PRIMARY KEY constraint is a unique identifier for a row within a database table.

Every table should have a primary key constraint to uniquely identify each row and

only one primary key constraint can be created for each table. Theprimary key

constraints are used to enforce entity integrity.

A UNIQUE constraint enforces the uniqueness of the valuesin a set of columns, so no

duplicate values are entered. The unique key constraints are used to enforce entity key

integrity as the primary constraints.

2018

93

A FOREIGN KEY constraint prevents any actions that would destroy link between

tables with the corresponding data values. A foreign key in one table points to a

primary key in another table. Foreign keys prevent actions that would leave rows with

foreign key values when there are no primary keys with that value. The foreign key

constraints are used to enforce referential integrity.

A CHECK constraint is used to limit the values that can be placed in a column. The

check constraints are used to enforce domain integrity.

A NOT NULL constraint enforces that the column will not accept null values. The not

null constraints are used to enforce domain integrity, as the check constraints.

2018

94

User interface design or user interface engineering is the design

of computers, appliances, machines, mobile communication

devices,software applications, and websites with the focus on the user's

experience and interaction. The goal of user interface design is to make the user's

interaction as simple and efficient as possible, in terms of accomplishing user goals—

what is often called user-centered design. Good user interface design facilitates

finishing the task at hand without drawing unnecessary attention to it. Graphic

design may be utilized to support its usability. The design process must balance

technical functionality and visual elements (e.g., mental model) to create a system that

is not only operational but also usable and adaptable to changing user needs.

Interface design is involved in a wide range of projects from computer systems, to

cars, to commercial planes; all of these projects involve much of the same basic human

interactions yet also require some unique skills and knowledge. As a result, designers

tend to specialize in certain types of projects and have skills centered around their

expertise, whether that be software design, user research, web design, or industrial.

The following tips and techniques:

USER INTERFACE DESIGN

2018

95

1. Consistency, consistency, consistency. I believe the most important thing you

can possibly do is ensure your user interface works consistently. If you can

double-click on items in one list and have something happen, then you should be

able to double-click on items in any other list and have the same sort of thing

happen. Put your buttons in consistent places on all your windows, use the same

wording in labels and messages, and use a consistent color scheme throughout.

Consistency in your user interface enables your users to build an accurate

mental model of the way it works, and accurate mental models lead to lower

training and support costs.

2. Set standards and stick to them. The only way you can ensure consistency

within your application is to set user interface design standards, and then stick

to them. You should follow Agile Modeling (AM)’s Apply Modeling

Standards practice in all aspects of software development, including user

interface design.

3. Be prepared to hold the line. When you are developing the user interface for

your system you will discover that your stakeholders often have some unusual

ideas as to how the user interface should be developed. You should definitely

listen to these ideas but you also need to make your stakeholders aware of your

corporate UI standards and the need to conform to them.

4. Explain the rules. Your users need to know how to work with the application

you built for them. When an application works consistently, it means you only

2018

96

have to explain the rules once. This is a lot easier than explaining in detail

exactly how to use each feature in an application step-by-step.

5. Navigation between major user interface items is important. If it is difficult

to get from one screen to another, then your users will quickly become

frustrated and give up. When the flow between screens matches the flow of the

work the user is trying to accomplish, then your application will make sense to

your users. Because different users work in different ways, your system needs to

be flexible enough to support their various approaches. User interface-flow

diagrams should optionally be developed to further your understanding of the

flow of your user interface.

6. Navigation within a screen is important. In Western societies, people read left

to right and top to bottom. Because people are used to this, should you design

screens that are also organized left to right and top to bottom when designing a

user interface for people from this culture? You want to organize navigation

between widgets on your screen in a manner users will find familiar to them.

7. Word your messages and labels effectively. The text you display on your

screens is a primary source of information for your users. If your text is worded

poorly, then your interface will be perceived poorly by your users. Using full

words and sentences, as opposed to abbreviations and codes, makes your text

easier to understand. Your messages should be worded positively, imply that

the user is in control, and provide insight into how to use the application

properly. For example, which message do you find more appealing “You have

2018

97

input the wrong information” or “An account number should be eight digits in

length.” Furthermore, your messages should be worded consistently and

displayed in a consistent place on the screen. Although the messages “The

person’s first name must be input” and “An account number should be input” are

separately worded well, together they are inconsistent. In light of the first

message, a better wording of the second message would be “The account

number must be input” to make the two messages consistent.

8. Understand the UI widgets. You should use the right widget for the right task,

helping to increase the consistency in your application and probably making it

easier to build the application in the first place. The only way you can learn how

to use widgets properly is to read and understand the user-interface standards

and guidelines your organization has adopted.

9. Look at other applications with a grain of salt. Unless you know another

application has been verified to follow the user interface-standards and

guidelines of your organization, don’t assume the application is doing things

right. Although looking at the work of others to get ideas is always a good idea,

until you know how to distinguish between good user interface design and bad

user interface design, you must be careful. Too many developers make the

mistake of imitating the user interface of poorly designed software.

10. Use color appropriately. Color should be used sparingly in your

applications and, if you do use it, you must also use a secondary indicator. The

problem is that some of your users may be color blind and if you are using color

2018

98

to highlight something on a screen, then you need to do something else to make

it stand out if you want these people to notice it. You also want to use colors in

your application consistently, so you have a common look and feel throughout

your application.

11. Follow the contrast rule. If you are going to use color in your application,

you need to ensure that your screens are still readable. The best way to do this is

to follow the contrast rule: Use dark text on light backgrounds and light text on

dark backgrounds. Reading blue text on a white background is easy, but reading

blue text on a red background is difficult. The problem is not enough contrast

exists between blue and red to make it easy to read, whereas there is a lot of

contrast between blue and white.

12. Align fields effectively. When a screen has more than one editing field,

you want to organize the fields in a way that is both visually appealing and

efficient. I have always found the best way to do so is to left-justify edit fields: in

other words, make the left-hand side of each edit field line up in a straight line,

one over the other. The corresponding labels should be right-justified and

placed immediately beside the field. This is a clean and efficient way to organize

the fields on a screen.

13. Expect your users to make mistakes. How many times have you

accidentally deleted some text in one of your files or deleted the file itself? Were

you able to recover from these mistakes or were you forced to redo hours, or

2018

99

even days, of work? The reality is that to err is human, so you should design

your user interface to recover from mistakes made by your users.

14. Justify data appropriately. For columns of data, common practice is to

right-justify integers, decimal align floating-point numbers, and to left-justify

strings.

15. Your design should be intuitable. In other words, if your users don’t

know how to use your software, they should be able to determine how to use it

by makingeducated guesses. Even when the guesses are wrong, your system

should provide reasonable results from which your users can readily

understand and ideally learn.

16. Don’t create busy user interfaces. Crowded screens are difficult to

understand and, hence, are difficult to use. Experimental results show that the

overall density of the screen should not exceed 40 percent, whereas local

density within groupings should not exceed 62 percent.

17. Group things effectively. Items that are logically connected should be

grouped together on the screen to communicate they are connected, whereas

items that have nothing to do with each other should be separated. You can use

white space between collections of items to group them and/or you can put

boxes around them to accomplish the same thing.

18. Take an evolutionary approach. Techniques such as user interface

prototyping and Agile Model Driven Development (AMDD) are critical to your

success as a developer.

2018

100

Testing is basically a process to detect errors in the software product. Before going

into the details of testing techniques one should know what errors are. In day-to-day

life we say whenever something goes wrong there is an error. This definition is quite

vast. When we apply this concept to software products then we say whenever there is

difference between what is expected out of software and what is being achieved, there

is an error.

Software testing also provides an objective, independent view of the software to allow

the business to appreciate and understand the risks of software implementation. Test

techniques include, but are not limited to, the process of executing a program or

application with the intent of finding software bugs.

Software testing can also be stated as the process of validating and verifying that a

software program/application/product:

1. meets the business and technical requirements that guided its design and

development;

2. works as expected; and

3. can be implemented with the same characteristics.

Software testing, depending on the testing method employed, can be implemented at

any time in the development process. However, most of the test effort occurs after the

TESTING

2018

101

requirements have been defined and the coding process has been completed. As such,

the methodology of the test is governed by the software development methodology

adopted.

Need

For any company developing software, at some point pressure to reach the deadline in

order to release the product on time will come into play. Additional pressure from

project stakeholders, Quite often, planned time to test the software (e.g. ascertain its

quality - QA) will become reduced so as not to impact the release date. From a pure

business perspective, this can be seen as a positive step as the product is reaching the

intended customers on time. Careful consideration should be taken though as to the

overall impact of a customer finding a 'bug' in the released product. Maybe the bug is

buried deep within a very obscure functional area of the software product, and as the

impact only results in a typo within a seldom-used report, the level of impact is very

low. In this case, the effect on the business for this software company would probably

be insignificant. Software testing (synonymous with the term Quality Assurance) itself

can have many different purposes (quality assurance, validation, performance etc).

This is a key decision when planning the QA /software testing, as not testing enough

or testing in the wrong areas will inevitably result in missed bugs. The aim should be

first ascertaining 'why' we are going to test and not simply 'what' we are going to test.

2018

102

A test plan documents the strategy that will be used to verify and ensure that a

product or system meets its design specifications and other requirements. A test plan

is usually prepared by or with significant input from Test Engineers.

Depending on the product and the responsibility of the organization to which the test

plan applies, a test plan may include one or more of the following:

Design Verification or Compliance test - to be performed during the development

or approval stages of the product, typically on a small sample of units.

Manufacturing or Production test - to be performed during preparation or

assembly of the product in an ongoing manner for purposes of performance

verification and quality control.

Acceptance or Commissioning test - to be performed at the time of delivery or

installation of the product.

Service and Repair test - to be performed as required over the service life of the

product.

Regression test - to be performed on an existing operational product, to verify that

existing functionality didn't get broken when other aspects of the environment are

changed (e.g., upgrading the platform on which an existing application runs).

TEST PLAN

2018

103

Test plan document formats can be as varied as the products and organizations to

which they apply. There are three major elements that should be described in the test

plan: Test Coverage, Test Methods, and Test Responsibilities. These are also used in a

formal test strategy.

Test coverage in the test plan states what requirements will be verified during what

stages of the product life. Test Coverage is derived from design specifications and

other requirements, such as safety standards or regulatory codes, where each

requirement or specification of the design ideally will have one or more corresponding

means of verification. Test coverage for different product life stages may overlap, but

will not necessarily be exactly the same for all stages. For example, some requirements

may be verified during Design Verification test, but not repeated during Acceptance

test. Test coverage also feeds back into the design process, since the product may have

to be designed to allow test access (see Design For Test).

Test methods in the test plan state how test coverage will be implemented. Test

methods may be determined by standards, regulatory agencies, or contractual

agreement, or may have to be created new. Test methods also specify test equipment

to be used in the performance of the tests and establish pass/fail criteria. Test

methods used to verify hardware design requirements can range from very simple

steps, such as visual inspection, to elaborate test procedures that are documented

separately.

2018

104

Test responsibilities include what organizations will perform the test methods and

at each stage of the product life. This allows test organizations to plan, acquire or

develop test equipment and other resources necessary to implement the test methods

for which they are responsible. Test responsibilities also includes, what data will be

collected, and how that data will be stored and reported (often referred to as

"deliverables"). One outcome of a successful test plan should be a record or report of

the verification of all design specifications and requirements as agreed upon by all

parties.

2018

105

Testing is a complete process. For testing we need two types of inputs. First is

software configuration. It includes software requirement specification, design

specifications and source code of program. Second is test configuration. It is basically

test plan and procedure.

Software configuration is required so that the testers know what is to be expected and

tested whereas test configuration is testing plan that is, the way how the testing will

be conducted on the system. It specifies the test cases and their expected value. It also

specifies if any tools for testing are to be used. Test cases are required to know what

specific situations need to be tested. When tests are evaluated, test results are

compared with actual results and if there is some error, then debugging is done to

correct the error. Testing is a way to know about quality and reliability. Error rate that

is the occurrence of errors is evaluated. This data can be used to predict the

occurrence of errors in future.

TEST FLOW INFORMATION

2018

106

The development process involves various types of testing. Each test type

addresses a specific testing requirement. The most common types of testing

involved in the development process are:

• Unit Test.

• System Test

• Integration Test

• Functional Test

• Performance Test

TESTING USED

2018

107

Unit Test

• Beta Test

• Acceptance Test

Regression Testing

The first test in the development process is the unit test. The source code is normally

divided into modules, which in turn are divided into smaller units called units. These

units have specific behavior. The test done on these units of code is called unit test.

Unit test depends upon the language on which the project is developed. Unit tests

ensure that each unique path of the project performs accurately to the documented

specifications and contains clearly defined inputs and expected results.

System Test

Several modules constitute a project. If the project is long-term project, several

developers write the modules. Once all the modules are integrated, several errors may

arise. The testing done at this stage is called system test.

2018

108

System testing ensures that the entire integrated software system meets

requirements. It tests a configuration to ensure known and predictable results. System

testing is based on process descriptions and flows, emphasizing pre-driven process

links and integration points.

Testing a specific hardware/software installation. This is typically performed on a

COTS (commercial off the shelf) system or any other system comprised of disparent

parts where custom configurations and/or unique installations are the norm.

• Basic tests provide an evidence that the system can be installed, configured and

be brought to an operational state

• Functionality tests provide comprehensive testing over the full range of the

requirements, within the capabilities of the system

• Robustness tests determine how well the system recovers from various input

errors and other failure situations

• Inter-operability tests determine whether the system can inter-operate with

other third party products

• Performance tests measure the performance characteristics of the system, e.g.,

throughput and response time, under various conditions

• Scalability tests determine the scaling limits of the system, in terms of user

scaling, geographic scaling, and resource scaling

2018

109

• Stress tests put a system under stress in order to determine the limitations of a

system and, when it fails, to determine the manner in which the failure occurs

• Load and Stability tests provide evidence that the system remains stable for a

long period of time under full load

• Reliability tests measure the ability of the system to keep operating for a long

time without developing failures

• Regression tests determine that the system remains stable as it cycles through

the integration of other subsystems and through maintenance tasks

• Documentation tests ensure that the system’s user guides are accurate and

usable

Functional Test

Functional test can be defined as testing two or more modules together with the intent

of finding defects, demonstrating that defects are not present, verifying that the

module performs its intended functions as stated in the specification and establishing

confidence that a program does what it is supposed to do.

Acceptance Testing

2018

110

Testing the system with the intent of confirming readiness of the product and

customer acceptance.

Ad Hoc Testing

Testing without a formal test plan or outside of a test plan. With some projects this

type of testing is carried out as an adjunct to formal testing. If carried out by a skilled

tester, it can often find problems that are not caught in regular testing. Sometimes, if

testing occurs very late in the development cycle, this will be the only kind of testing

that can be performed. Sometimes ad hoc testing is referred to as exploratory testing.

Alpha Testing

Testing after code is mostly complete or contains most of the functionality and prior to

users being involved. Sometimes a select group of users are involved. More often this

testing will be performed in-house or by an outside testing firm in close cooperation

with the software engineering department.

Regression Testing

If a piece of Software is modified for any reason testing needs to be done to ensure

that it works as specified and that it has not negatively impacted any functionality that

it offered previously. This is known as Regression Testing.

2018

111

Verification is a Quality control process that is used to evaluate whether or not a

product, service, or system complies with regulations, specifications, or conditions

imposed at the start of a development phase. Verification can be in development,

scale-up, or production. This is often an internal process.

Validation is Quality assurance process of establishing evidence that provides a high

degree of assurance that a product, service, or system accomplishes its intended

requirements. This often involves acceptance of fitness for purpose with end users and

other product stakeholders.

It is sometimes said that validation can be expressed by the query "Are you building

the right thing?" and verification by "Are you building the thing right?" "Building the

right thing" refers back to the user's needs, while "building it right" checks that the

specifications be correctly implemented by the system. In some contexts, it is required

to have written requirements for both as well as formal procedures or protocols for

determining compliance.

VERIFICATION AND VALIDATION

2018

112

Validation Verification Am I building the right product Am I building the product right Determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs. It is traditional and is performed at the end of the project.

The review of interim work steps and interim deliverables during a project to ensure they are acceptable. To determine if the system is consistent, adheres to standards, uses reliable techniques and prudent practices, and performs the selected functions in the correct manner.

Am I accessing the right data (in terms of the data required to satisfy the requirement)

Am I accessing the data right (in the right place; in the right way).

High level activity Low level activity Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment

Performed during development on key artifacts, like walkthroughs, reviews and inspections, mentor feedback, training, checklists and standards

Determination of correctness of the final software product by a development project with respect to the user needs and requirements

Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.

Test case in software engineering is a set of conditions or variables under which a tester

will determine whether an application or software system is working correctly or not. The

mechanism for determining whether a software program or system has passed or failed

such a test is known as a test oracle. In some settings, an oracle could be a requirement or

use case, while in others it could be a heuristic. It may take many test cases to determine

that a software program or system is functioning correctly. Test cases are often referred to

2018

113

as test scripts, particularly when written. Written test cases are usually collected into test

suites.

A test case is a detailed procedure that fully tests a feature or an aspect of a feature.

Whereas the test plan describes what to test, a test case describes how to perform a

particular test. You need to develop a test case for each test listed in the test plan.

Figure 2.10 illustrates the point at which test case design occurs in the lab

development and testing process.

Figure Designing Test Cases

A test case includes:

The purpose of the test.

2018

114

Special hardware requirements, such as a modem.

Special software requirements, such as a tool.

Specific setup or configuration requirements.

A description of how to perform the test.

The expected results or success criteria for the test.

Test cases should be written by a team member who understands the function or

technology being tested, and each test case should be submitted for peer review.

Organizations take a variety of approaches to documenting test cases; these range

from developing detailed, recipe-like steps to writing general descriptions. In detailed

test cases, the steps describe exactly how to perform the test. In descriptive test cases,

the tester decides at the time of the test how to perform the test and what data to use.

Most organizations prefer detailed test cases because determining pass or fail criteria

is usually easier with this type of case. In addition, detailed test cases are reproducible

and are easier to automate than descriptive test cases. This is particularly important if

you plan to compare the results of tests over time, such as when you are optimizing

configurations. Detailed test cases are more time-consuming to develop and maintain.

On the other hand, test cases that are open to interpretation are not repeatable and

can require debugging, consuming time that would be better spent on testing.

2018

115

Test Id Objective Descricption Expected Result Actual Result Status

TC-001

TC-002

TC-003

TC-004

TC-005

TC-006

TC-007

TC-008

TC-009

TC-010

TC-011

TC-012

To check the functionality of link buttons To Check caption of label password To check whether text is password To check the functionality of sign in button To check the functionality of sign up button To check the functionality of home menu To check the back button Check the functionality of post submit button Check the print button function

To Check txtuser whether it accepts char and numeric both

To check the functionality of Discard Button

Run New user

Run login and check caption Run the login Run the sign in page To run sign up page Run the home page Run the back home page Run the post page

Print the current page

Type both char and numeric in txtuser Discard the functioning

Open New user form

“Password” Password<=8 chars

Move to sig in page

Move to new user page “Home Page”

Back Word page

Next page

Print

Accepted

Error Msg

Open New user form

“Password” Password<=8 chars

Move to sig in page Move to new user page “Home Page”

Back Word page

Next page

Print

Accepted

Error Msg

Pass

Pass

Pass

Pass

Pass

Pass

Pass

Pass

Pass

Pass

Pass

Pass

TEST CASES DESIGN

2018

116

Txt passwd should display astric(*)

Type in the txt passwd

Only Astric(*) Only Astric(*)

2018

117

Document that records data obtained from an experimentof evaluation in

an organized manner, describes the environmental or operating conditions, and shows

thecomparison of test results with test objectives.

The typical objectives of a test summary report are to:

Summarize all of the testing that was performed since the previous

test summary report.

Enable project management andthe customer to know the

status of project testing.

The typical benefits of a test summary report include:

Project management and the customer are informed of the current status of

project testing.

Project management and the customer are informed of the current

status of application quality.

Project management and the customer can take corrective action if necessary.

TEST REPORTS

2018

118

BUG REPORTS

BUG REPORT

Tester Name: Shivshankar Kumar Shah Module: Login.aspx

Test Date:28/9/2011

Objective : To check the functionality of login button

Description: 1. Run the login.aspx page

2. Type Valid Username

3.Type invalid passwd

Expected Results:- Error Msg

Actual Result :- Redirect to the Homepage

2018

119

Bug Report

Tester Name: Shivshankar Kumar Shah Module:Search .aspx

Test Date : 28/3/2011

Objective: To check the functionality of Search Button

Description: 1. Run the Search NGO .aspx page

2.Type Valid NGO ID.

3.Type Invalid Id

Expected Result:-Error Msg

Actual Result:-Redirect to the NGO Master page

Bug Report

Tester ID:Shivshankar shah Module:ForgetPasswd.aspx

Test Date : 28/3/2011

Objective: To check the functionality of Send Button

Description: 1. Run the forget passwd .aspx page

2.Type Valid User name

3.Type Invalid email Id

Expected Result:-Error Msg

Actual Result:-Redirect to the Change Password page

Bug Report

Tester ID: shivshankar shah Module:Feedback.aspx

Test Date : 28/3/2011

Objective: To check the functionality of Send Button

Description: 1. Run the feedback.aspx page

2.Type Subject

2018

120

3. Type Message

4.Type Invalid email Id

Expected Result:-Error Msg

Actual Result:-Redirect to the Home page

2018

121

Debugging is a methodical process of finding and reducing the number of bugs, or

defects, in a computer program or a piece of electronic hardware, thus making it

behave as expected. Debugging tends to be harder when various subsystems

are tightly coupled, as changes in one may cause bugs to emerge in another. Many

books have been written about debugging (see below: Further reading), as it involves

numerous aspects, including: interactivedebugging, control flow, integration

testing, log files, monitoring (application, system),memory dumps, profiling, Statistical

Process Control, and special design tactics to improve detection while simplifying

changes.

SCOPE

As software and electronic systems have become generally more complex, the various

common debugging techniques have expanded with more methods to detect

anomalies, assess impact, and schedule software patches or full updates to a system.

The words "anomaly" and "discrepancy" can be used, as being more neutral terms, to

avoid the words "error" and "defect" or "bug" where there might be an implication

that all so-called errors, defects or bugs must be fixed (at all costs). Instead, an impact

assessment can be made to determine if changes to remove

an anomaly (or discrepancy) would be cost-effective for the system, or perhaps a

scheduled new release might render the change(s) unnecessary.

Tools

DEBUGGING

2018

122

Debugging ranges, in complexity, from fixing simple errors to performing lengthy and

tiresome tasks of data collection, analysis, and scheduling updates. The debugging skill

of the programmer can be a major factor in the ability to debug a problem, but the

difficulty of software debugging varies greatly with the complexity of the system, and

also depends, to some extent, on the programming language(s) used and the available

tools, such as debuggers. Debuggers are software tools which enable

the programmer to monitor the execution of a program, stop it, re-start it,

set breakpoints, and change values in memory. The term debugger can also refer to the

person who is doing the debugging.

Generally, high-level programming languages, such as Java, make debugging easier,

because they have features such as exception handlingthat make real sources of

erratic behaviour easier to spot. In programming languages such as C or assembly,

bugs may cause silent problems such as memory corruption, and it is often difficult to

see where the initial problem happened. In those cases, memory debuggertools may

be needed.

In certain situations, general purpose software tools that are language specific in

nature can be very useful. These take the form of static code analysis tools. These tools

look for a very specific set of known problems, some common and some rare, within

the source code. All such issues detected by these tools would rarely be picked up by a

compiler or interpreter, thus they are not syntax checkers, but more semantic

checkers. Some tools claim to be able to detect 300+ unique problems. Both

2018

123

commercial and free tools exist in various languages. These tools can be extremely

useful when checking very large source trees, where it is impractical to do code

walkthroughs. A typical example of a problem detected would be a variable

dereference that occurs before the variable is assigned a value. Another example

would be to perform strong type checking when the language does not require such.

Thus, they are better at locating likely errors, versus actual errors. As a result, these

tools have a reputation of false positives.

Techniques

Print (or tracing) debugging is the act of watching (live or recorded) trace

statements, or print statements, that indicate the flow of execution of a process.

Remote debugging is the process of debugging a program running on a system

different than the debugger. To start remote debugging, debugger connects to a

remote system over a network. Once connected, debugger can control the

execution of the program on the remote system and retrieve information about its

state.

Post-mortem debugging is debugging of the program after it has already crashed.

Related techniques often include various tracing techniques (for example, and/or

analysis of memory dump (or core dump) of the crashed process. The dump of the

process could be obtained automatically by the system (for example, when process

2018

124

has terminated due to an unhandled exception), or by a programmer-inserted

instruction, or manually by the interactive user.

Delta Debugging - technique of automating test case simplification.

2018

125

INDENTATION

Code Indentation:

Variable `wave-block-indent' specifies relative indent for

block statements(begin...end),

variable `wave-continuation-indent' specifies relative indent for

continuation lines.

Continuation lines inside [], (), {} (structures) are indented by

`wave-continuation-indent' chars after opening parenthesis.

Continuation lines in PRO, FUNCTION declarations are indented

just after the procedure/function name followed by comma.

Labels not followed by code are left justified to the beginning

of the line.

Include files introduced by '@' are left justified to the beginning

of the line.

COMMENT INDENTATION

CODE IMPROVEMENTS

2018

126

Comment Indentation:

Full line comments starting at the beginning of the line are

are not indented.

Full lin comments starting with white space are indented as

a code.

Code line comment is indented to the value of `comment-column'.

2018

127

Computer security is a branch of computer technology known as information

security as applied to computers and networks. The objective of computer security

includes protection of information and property from theft, corruption, or natural

disaster, while allowing the information and property to remain accessible and

productive to its intended users. The term computer system security means the

collective processes and mechanisms by which sensitive and valuable information and

services are protected from publication, tampering or collapse by unauthorized

activities or untrustworthy individuals and unplanned events respectively. The

strategies and methodologies of computer security often differ from most other

computer technologies because of its somewhat elusive objective of preventing

unwanted computer behavior instead of enabling wanted computer behavior.

SECURITY

2018

128

Database security is the system, processes, and procedures that protect

a database from unintended activity. Unintended activity can be categorized as

authenticated misuse, malicious attacks or inadvertent mistakes made by authorized

individuals or processes. Database security is also a specialty within the broader

discipline of computer security.

Traditionally databases have been protected from external connections

by firewalls or routers on the network perimeter with the database environment

existing on the internal network opposed to being located within a demilitarized zone.

Additional network security devices that detect and alert on malicious database

protocol traffic include network intrusion detection systems along with host-based

intrusion detection systems.

Database security is more critical as networks have become more open.

Databases provide many layers and types of information security, typically specified in

the data dictionary, including:

Access control

Auditing

DATABASE SECURITY

2018

129

Authentication

Encryption

Integrity controls

Database security can begin with the process of creation and publishing of appropriate

security standards for the database environment. The standards may include specific

controls for the various relevant database platforms; a set of best practices that cross

over the platforms; and linkages of the standards to higher level polices and

governmental regulations.

IT provides a formidable defense against SQL Injection, Script Injection (Cross Site

Scripting), Input Tampering, and Brute Force attacks on your ASP.NET web sites.

FieldSecurityValidator - A validator for visible controls where you can set attack

detection rules and error messages on a field-by-field basis

PageSecurityValidator - A validator for all inputs on the page. Use it to set rules on

hidden fields, query string parameters, and cookies.

Security Analysis Report - An audit of all the page's inputs and their security settings

Log And Respond Engine - Log and email attacks, exceptions, and errors on your site

Methods to Help Neutralize Inputs

TextLengthSecurityValidator - A validator that reports errors when text exceeds a

maximum. It looks at text after it is neutralized which causes it to grow.

Slow Down Manager - Block access to a page after a number of attacks

2018

130

SQL and Script Detection Engines - Powerful and customizable algorithms that detect

SQL and Script Injection attacks.

TRIGGERS

SQL Server 2005 supports DDL Triggers. DDL Triggers are triggers that fire in

response to data definition language (DDL) statements such as CREATE TABLE or

UPDATE STATISTICS. They're similar to the data manipulation language (DML)

triggers that we've been using for years, except that they're tied to a database or

server instead of a table or view. With DDL Triggers we can write code that runs in

response to changes made to server and database objects. This can be a very powerful

tool. (It becomes even more powerful when used with SQL Server's CLR Integration

feature, which allows SQL Server objects to be created with our choice of .NET

language.) DDL Triggers can be used for many purposes, but most commonly for

change tracking and prevention.

This article introduces DDL Triggers and shows how to use them to track and prevent

changes to database objects. We'll discuss trigger creation, trigger deletion, and trigger

security. We'll also walk through some examples of typical DDL Trigger use. Along the

way, we'll see how we can use XQuery to retrieve specific information about the event

that caused the trigger to fire. Although a thorough knowledge of XQuery isn't critical,

it's definitely beneficial

2018

131

Data security is the means of ensuring that data is kept safe from corruption and that

access to it is suitably controlled. Thus data security helps to ensure privacy. It also

helps in protecting personal data.

In simple terms, data security is the practice of keeping data protected from

corruption and unauthorized access. The focus behind data security is to ensure

privacy while protecting personal or corporate data.

ENCRYPTION

Encryption has become a critical security feature for thriving networks and active

home users alike. This security mechanism uses mathematical schemes and

algorithms to scramble data into unreadable text. It can only by decoded or decrypted

by the party that possesses the associated key.

(FDE) Full-disk encryption offers some of the best protection available. This

technology enables you to encrypt every piece of data on a disk or hard disk drive. Full

disk encryption is even more powerful when hardware solutions are used in

DATA SECURITY

2018

132

conjunction with software components. This combination is often referred to as end-

based or end-point full disk encryption.

Authentication

Authentication is another part of data security that we encounter with everyday

computer usage. Just think about when you log into your email or blog account. That

single sign-on process is a form authentication that allows you to log into applications,

files, folders and even an entire computer system. Once logged in, you have various

given privileges until logging out. Some systems will cancel a session if your machine

has been idle for a certain amount of time, requiring that you prove authentication

once again to re-enter.

The single sign-on scheme is also implemented into strong user authentication

systems. However, it requires individuals to login using multiple factors of

authentication. This may include a password, a one-time password, a smart card or

even a fingerprint.

Backup Solutions

Data security wouldn't be complete without a solution to backup your critical

information. Though it may appear secure while confined away in a machine, there is

2018

133

always a chance that your data can be compromised. You could suddenly be hit with a

malware infection where a virus destroys all of your files. Someone could enter your

computer and thieve data by sliding through a security hole in the operating system.

Perhaps it was an inside job that caused your business to lose those sensitive reports.

If all else fails, a reliable backup solution will allow you to restore your data instead of

starting completely from scratch.

VALIDATION CONTROLS

Set of server controls bundled with ASP.NET which verifies user input. After coming

from HTML server controls and Web server controls, input is checked against

requirements defined by the developer. Validation controls check input check on the

server side. Also, validation controls can validate using client-side scripting if the

user's browser supports DHTML.

User Input Validation

While any application can be designed with sound logic and good technology and can

deliver high performance with accuracy, some errors could still creep into it. This

2018

134

could be due to wrong inputs by users. While the programmer may have taken care of

all the exceptions it could cause a loss of business goodwill if a customer is confronted

with an error message after he has input data into a number of fields. All of us are

familiar with warnings like “Please enter a valid ZIP” or “Please Enter Your First

Name!” and so on!

Thus some client side validations ensure that correct data is sent to the application.

We can ensure such validations using validation controls. .NET Framework provides

several controls for different types of validations.

The validation Controls that are available in .Net Framework are given below:

Control Description

RequiredFieldValidator Ensures that the user enters data in the associated data-entry control

CompareValidator

Uses comparison operators to compare user-entered data to a constant value or the value in another data-entry control

RangeValidator Ensures that the user-entered data is in a range between given lower and upper bounds

RegularExpressionValidator Ensures that the user entered data matches a regular expression pattern

CustomValidator Ensures that the user-entered data passes validation criteria that you set yourself

2018

135

Required Field Validators

This is one of the simplest controls to use. This validating control makes sure that the

users have entered data into a data-entry control. For example, you may want to make

sure that users enter their mail id or their credit card number before they proceed to

submit the form. The RequireFieldValidator control will ensure that the user will not

be able to complete the form submission with null value for the field associated with

this control.

The InitialValue property of this control has an initial value set to an empty String (“”)

by default. The control raises an error message if this value does not change when

validation occurs.

The other controls do not perform validation if the data entry field is empty and make

it appear that the validation succeeded when no validation check has been performed.

Therefore, it is imperative that a validation check be performed before other checks

are activated.

2018

136

Comparison Validators

This control is used to validate the value entered in to one data entry control by

comparing it with the data entered in to another control. The ControlToValidate

property sets the field to be validated. The ControlToCompare property specifies the

control to compare with. You can also validate the data from constant value by setting

the property ValueToCompare. When you set both the ControlToCompare and

ValueToCompare then ControlToCompare takes precedence.

The Operator property sets the type of comparison that will be performed.

Table showing the values for Operator property:

Value Description Equal Checks if the comared values are equal NotEqual Checks if the compared values are not equal GreaterThan Checks for greater than relationship GreaterThanEqual Checks for greater than or equal relationship LessThan Checks for Less than relationship LessThanEqual Checks for less than or equal relationship

DataTypeCheck Compares the data types between the value entered into the data-entry control that is validated and the data type specified

The type property can have any of the following values:

1. String

2. Integer

3. Double

4. Date

5. Currency

2018

137

Range Validators

A range validator test is used to check if the value entered in the data-entry control is

within a specified range of values. The property ControlToValidate is set to the control

that contains the data which is to be validated. The property MinimumValue sets the

minimum value of the range. The property MaximumValue sets the maximum value of

the range. The property Type sets the date type of the values to be compared. All the

types of comparisons discussed above are still valid for this also.

Regular Expression Validator

RegularExpressionValidator control is used to check if the value in a data-entry

control matches a pattern defined by a regular expression. You can check even the

format of the text entered. Regular expressions are generally made up of test with

embedded codes that start with a backslash (). For instance a simple expression for

checking for either a uppercase or lower case alphabet is given by the expression

“ b[A-ZA-z]+b.

2018

138

Custom Validators

This control allows the developer freedom to define his own validations. The property

ClientValidationFunction property sets the name of function or script that will do the

validation. This function takes two parameters. The first argument source identifies

the source control to validate. The second argument arguments hold the data to

validate.

The Causes Validation Property

CausesValidation is one of the public instance properties of the control class, which

specifies whether all controls which require validation gets it when the control gets

focus. It returns true if the control causes validation to be performed on any controls

requiring validation when it receives focus and false otherwise.

2018

139

Exception Handling

Exception handling is an in built mechanism in .NET framework to detect and handle

run time errors. Exceptions are defined as anomalies that occur during the execution

of a program. The .NET framework provides a rich set of standard exceptions that are

used during exceptions handling. Exception handling is one of the

major feature provide by .NET. There might be various reason to handle exception,

this can be caused due to improper user inputs, improper design logic or system

errors. In this scenario if application do not provide a mechanism to handle

these anomalies then there might be cases the application may crash. .NET run

time environment provide a default mechanism, which terminates the program

execution.

This article provides insight about exception handling on the basis of ASP.NET and C#

as code behind.

ASP.NET Exception Handling

In ASP.NET exception handling is achieved using the

Try

Catch

2018

140

Finally block.

All the three are ASP.NET keywords and are used do exception handling. The try block

encloses the statements that might throw an exception whereas catch block handles

any exception if one exists. The finally block can be used for doing any clean up

process. Any general ASP.NET exception forces the application to terminate without

allowing the code to continue executing, resulting in an error page.

try

{

// Statements that are can cause exception

}

catch(Type x)

{

// Statements to handle exception

}

finally

{

// Statement to clean up

}

try-catch-finally block in ASP.NET

<Script runat=server>

Public Page_Load(sender As Object, e As EventArgs)

{

try

2018

141

{

// Statements that are can cause exception

}

catch(Type x)

{

// Statements to handle exception

}

finally

{

// Statement to clean up

}

}

</Script>

User should be login with a password.

User cannot access the private details or information .

User have rights to register or recover password to authorized the system.

USER AND ACESS RIGHTS

2018

142

Network security is a serious matter. A network allows you to share information and

resources, but it also lets computer viruses, human intruders, or even disgruntled

employees do far more damage than they could on a single machine. Think about what

would happen if every bit of data on your local area network (LAN) vanished, and

you'll understand why security is so important.

Here is a brief list of security measures:

Virtual data still requires physical security. This could mean keeping your

server in a locked room, removing disk drives from workstations that don't need

them, and installing an alarm system in your office. All the security software in the

world won't stop someone from breaking into your office and carting off your

computers.

Beware of bugs. Most computer viruses are just a nuisance, but it takes only one

malevolent virus to bring your network to its knees. Install reliable antivirus

software, keep it updated, and train your employees to use it. Think about other

protective measures, such as installing only shrink-wrapped commercial software

on your computers.

Network security is a daily job. Stay on top of changes that could affect the

security of your LAN. Keep your operating system updated with the latest security

STEPS AGAINST HACKING

2018

143

patches and bug fixes. Assign access to directories and other network resources on

a need-to-have basis, and remove a user's account immediately when they leave

your company. Use network logging and security tests to check your network for

security holes and possible break-ins.

Pay attention to passwords. One bad password can compromise your entire

network. Avoid passwords that contain dictionary words or personal information,

and require users to change their passwords regularly. When an employee leaves

the company, disable their password immediately as part of the termination

process.

Don't let trouble come calling. Take special precautions if you connect your LAN

to the outside world through a wireless hotspot at your local café or library.

Protect against wireless attacks by using encrypted passwords or firewall, which

can be in the form of portable hardware, such as a USB dongle.

Install a software firewall. If you connect your LAN directly to the Internet,

configure a firewall to screen both incoming and outgoing traffic. A software

firewall like Zone Labs ZoneAlarm will also protect your network against

malicious applications known as Trojan horses that let intruders enter and take

over your computer system.

Restrict access to the admin log pruning and viewing to the administrator only, and

do not allow anybody else to have access to do that (including other admins)

2018

144

Keep the amount of admins and super mods very low. I.e. only have yourself as an

administrator if possible and if someone else needs admin control panel access, they

can be set to the super mod user group.

Turn off HTML in signatures, private messages and posting - this way old &amp; new

exploits cannot be abused. Turn off the way to link images dynamic with [ img ] tags.

Keep an eye on your crew and if someone gets mad, track his steps more carefully

and you can prevent someone to mass destruct your site.

You can set the main administrator as 'invisible' and post on your site with a

different username/pass - this way they can't 'guess' the username of the main

admin that easy.

You should frequently cycle through your passwords and make new ones, this way if

one of your passes get out in the open, good chance that when they try it, it doesn't

work. - Suggest your members and staff to do the SAME.

Use hard to guess passwords to avoid brute force attacks - in case someone has the

hashed (encrypted) password. Use upper and lower case letter, numbers and extra

characters like @$% etc. (and at least 6 characters) moo is easy to brute force and

guess !M0_o! is a bit harder

Do not provide too much information about the server.

2018

145

Software maintenance in software engineering is the modification of a software

product after delivery to correct faults, to improve performance or other attributes.

This section describes the six software maintenance processes as:

1. The implementation processes contains software preparation and transition

activities, such as the conception and creation of the maintenance plan, the

preparation for handling problems identified during development, and the

follow-up on product configuration management.

2. The problem and modification analysis process, which is executed once the

application has become the responsibility of the maintenance group. The

maintenance programmer must analyze each request, confirm it (by

reproducing the situation) and check its validity, investigate it and propose a

solution, document the request and the solution proposal, and, finally, obtain all

the required authorizations to apply the modifications.

3. The process considering the implementation of the modification itself.

4. The process acceptance of the modification, by confirming the modified work

with the individual who submitted the request in order to make sure the

modification provided a solution.

MAINTENANCE OF THE PROJECT

2018

146

5. The migration process (platform migration, for example) is exceptional, and is

not part of daily maintenance tasks. If the software must be ported to another

platform without any change in functionality, this process will be used and a

maintenance project team is likely to be assigned to this task.

6. Finally, the last maintenance process, also an event which does not occur on a

daily basis, is the retirement of a piece of software.

There are a number of processes, activities and practices that are unique to

maintainers, for example:

Transition: a controlled and coordinated sequence of activities during which a

system is transferred progressively from the developer to the maintainer;

Service Level Agreements (SLAs) and specialized (domain-specific) maintenance

contracts negotiated by maintainers;

Modification Request and Problem Report Help Desk: a problem-handling process

used by maintainers to prioritize, documents and route the requests they receive;

Modification Request acceptance/rejection: modification request work over a

certain size/effort/complexity may be rejected by maintainers and rerouted to a

developer.

A common perception of maintenance is that it is merely fixing bugs. However, studies

and surveys over the years have indicated that the majority, over 80%, of the

maintenance effort is used for non-corrective actions (Pigosky 1997). This perception

2018

147

is perpetuated by users submitting problem reports that in reality are functionality

enhancements to the system.

Software maintenance and evolution of systems was first addressed by Meir M.

Lehman in 1969. Over a period of twenty years, his research led to the formulation

of eight Laws of Evolution (Lehman 1997). Key findings of his research include that

maintenance is really evolutionary developments and that maintenance decisions are

aided by understanding what happens to systems (and software) over time. Lehman

demonstrated that systems continue to evolve over time. As they evolve, they grow

more complex unless some action such as code refactoring is taken to reduce the

complexity.

The key software maintenance issues are both managerial and technical. Key

management issues are: alignment with customer priorities, staffing, which

organization does maintenance, estimating costs. Key technical issues are: limited

understanding, impact analysis, testing, maintainability measurement.

Corrective

Corrective software maintenance involves developing and deploying solutions to

problems ("bugs") that arise during use of a software program. Computer users will

notice performance problems with software, such as error messages coming on the

screen or the program freezing or crashing, meaning corrective software maintenance

is needed. Often these fixes permanently solve the problem, but not always. Some fixes

2018

148

act as a temporary solution while computer programmers work on a more permanent

solution.

Perfective

No software program contains zero flaws or areas for improvement. Perfective

software maintenance involves computer programmers working to improve the way a

software program functions or how quickly it processes requests. Programmers may

also engage in perfective software maintenance to improve the software's menu

layouts and command interfaces. Sometimes programmers need to conduct perfective

maintenance on software because of outside influences, such as new government

regulations that affect how a business operates.

Adaptive

The field of technology constantly changes through both hardware and software

developments. Adaptive software maintenance addresses these changes. A change in a

processor's speed, for example, will affect how the software performs on a single

computer. Software interacts with other software programs on a computer or network,

meaning changes in one program can require changes in other programs. A user will

eventually introduce new software to the computer or network, which can also affect

how other software already present operates.

Preventative

2018

149

When computer programmers engage in preventative software maintenance they

try to prevent problems with software programs before they occur. Programmers seek

to prevent corrective maintenance as much as possible, while also anticipating

adaptive maintenance needs before users experience problems. Computer

programmers also test the software with other programs users likely will use on their

computers making sure compatibility issues do not arise.

2018

150

FUTURE SCOPE OF THE PROJECT

1. In future, we will try to make availability of variousschemes for

NGOs/VOs in the automated way using a online platform so that it will

be done in in time.

2. This is a windows based application; hence it has a limited access. We

will try to make it online so that its access gets widened & users from all

over the India can access these services.

3. In future this website will be used and highly demand for user of NGO to

apply and get the information reated to NGOs, Schemes, and Project.

4. If this software will be online, then it will facilitates many online services

like:-

Online application for schemes/projects.

Online tracking application.

Special announcement.

Credit/Debit card payments.

2018

151

SCREEN SHOTS

Home Page

2018

152

User Log In

2018

153

Sign Up

2018

154

About Us

2018

155

Contact Us

2018

156

Feedback Page

2018

157

Forgot Password

2018

158

Change Password

2018

159

Admin Login Page

2018

160

Admin Page

2018

161

Details Page

2018

162

View All Page

2018

163

SOURCE CODES

2018

164

Login User.aspx

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void LinkButton2_Click(object sender,

EventArgs e)

{

Response.Redirect("Signup.aspx");

}

protected void ImageButton1_Click(object sender,

ImageClickEventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "select *from signup where

uname=" + "'" + txtuid.Text + "'" + "and pwd=" + "'"

+ txtpwd.Text+"'";

2018

165

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0)

{

lblmsg.Text = "Login Are Not Match";

}

else

{

Session["uname"] = txtuid;

Response.Redirect("Service.aspx");

}

con.Close();

con.Dispose();

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

protected void LinkButton1_Click(object sender,

EventArgs e)

{

Response.Redirect("FPwd.aspx");

}

}

2018

166

Sign Up.aspx

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

public void clear()

{

txtage.Text = " ";

txtcity.Text = " ";

txtcno.Text = " ";

txtemail.Text = " ";

txtfname.Text = " ";

txtlname.Text = " ";

txtpwd.Text = " ";

txtuname.Text = " ";

ddcnty.SelectedItem.Text = "Australia";

}

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void ImageButton1_Click(object sender,

ImageClickEventArgs e)

{

2018

167

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql="Insert into signup

values("+"'"+txtuname.Text+"'"+","+"'"+txtpwd.Text+"'

"+","+"'"+txtfname.Text+"'"+","+"'"+txtlname.Text+"'"

+","+Convert.ToInt32(txtage.Text)+","+"'"+txtemail.Te

xt+"'"+","+Convert.ToInt64(txtcno.Text)+","+"'"+txtci

ty.Text+"'"+","+"'"+ddcnty.SelectedItem.Text+"'"+")";

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

con.Close();

con.Dispose();

clear();

lblmsg.Text = "Data Inseted Successfully";

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

}

2018

168

Feed Back.aspx using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

public void clear()

{

txtemail.Text = " ";

txtmsg.Text = " ";

txtname.Text = " ";

}

protected void Button2_Click(object sender,

EventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "insert into feedback

values(" + "'" + txtname.Text + "'" + "," + "'" +

txtemail.Text + "'" + "," + "'" + txtmsg.Text + "'" +

")";

2018

169

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

lblmsg.Text = "Feed Back Submitted";

con.Close();

con.Dispose();

clear();

}

protected void Button1_Click(object sender,

EventArgs e)

{

clear();

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

}

2018

170

Forgot Password.aspx using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void ImageButton1_Click(object sender,

ImageClickEventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "select pwd from signup where

uname="+"'"+txtuname.Text+"'"+"and age="+txtage.Text;

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0)

{

lblmsg.Text = "Fail To Access";

}

2018

171

else

{

lblmsg.Text = ds.Tables[0].ToString();

}

con.Close();

con.Dispose();

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

protected void LinkButton1_Click(object sender,

EventArgs e)

{

Response.Redirect("Admin.aspx");

}

}

2018

172

Change Password.aspx using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void Button2_Click(object sender,

EventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "select *from signup where

uname=" + "'" + txtuid.Text + "'" + "and pwd=" + "'"

+ txtpwd.Text + "'";

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0)

{

lblmsg.Text = "No Data R Match";

2018

173

}

else

{

Panel2.Visible = true;

Panel1.Visible = false;

lblmsg.Text = " ";

}

con.Close();

con.Dispose();

}

protected void ImageButton1_Click(object sender,

ImageClickEventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "update signup set

pwd="+"'"+txtnpwd.Text+"'";

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

lblmsg.Text = "Password Change Successfully";

Panel2.Visible = false;

con.Close();

con.Dispose();

}

}

2018

174

Administrator Login using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void LinkButton2_Click(object sender,

EventArgs e)

{

Response.Redirect("Signup.aspx");

}

protected void ImageButton1_Click(object sender,

ImageClickEventArgs e)

{

if (txtuid.Text == "Admin" && txtpwd.Text

=="Track")

{

Response.Redirect("Admin.aspx");

}

else

{

lblmsg.Text = "You Not Authorize To Use

This Service";

2018

175

}

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

}

2018

176

Admin Page using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void LinkButton1_Click(object sender,

EventArgs e)

{

Response.Redirect("Chkin.aspx");

}

protected void LinkButton2_Click(object sender,

EventArgs e)

{

Response.Redirect("Chkout.aspx");

}

protected void LinkButton3_Click(object sender,

EventArgs e)

{

Response.Redirect("Booking.aspx");

}

protected void LinkButton4_Click(object sender,

EventArgs e)

{

Response.Redirect("CRAva.aspx");

}

2018

177

protected void LinkButton5_Click(object sender,

EventArgs e)

{

Response.Redirect("ViewAll.aspx");

}

protected void LinkButton6_Click(object sender,

EventArgs e)

{

Response.Redirect("ViewAllChkOut");

}

protected void LinkButton7_Click(object sender,

EventArgs e)

{

Response.Redirect("SBook.aspx");

}

protected void LinkButton8_Click(object sender,

EventArgs e)

{

Response.Redirect("SCust.aspx");

}

protected void LinkButton9_Click(object sender,

EventArgs e)

{

Response.Redirect("Bill.aspx");

}

protected void LinkButton10_Click(object sender,

EventArgs e)

{

Response.Redirect("VCFB.aspx");

}

protected void LinkButton11_Click(object sender,

EventArgs e)

{

Response.Redirect("Services.aspx");

}

protected void LinkButton12_Click(object sender,

EventArgs e)

{

Response.Redirect("Detail.aspx");

2018

178

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

}

2018

179

DETAILS.aspx

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void

DropDownList2_SelectedIndexChanged(object sender,

EventArgs e)

{

}

protected void Button2_Click(object sender,

EventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "select *from chkin where

roomno="+txtroomno.Text;

2018

180

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0)

{

lblmsg.Text = "Room Available";

btnsybmit.Visible = true;

}

else

{

lblmsg.Text = "Room Not Available Choose

Another";

btnsybmit.Visible = false;

}

con.Close();

con.Dispose();

}

protected void btnsybmit_Click(object sender,

EventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql ="Insert into chkin

values("+Convert.ToInt32(txtcid.Text)+","+"'"+txtcnam

e.Text+"'"+","+"'"+txtaddr.Text+"'"+","+"'"+ddsex.Sel

ectedItem.Text+"'"+","+Convert.ToInt16(txtage.Text)+"

,"+"'"+txtemail.Text+"'"+","+Convert.ToInt64(txtconta

ct.Text)+","+"'"+txtchkindate.Text+"'"+","+"'"+","+Co

nvert.ToInt32(txtfloorno.Text)+","+Convert.ToInt32(tx

troomno.Text)+","+"'"+ddroomtype.SelectedItem.Text+"'

"+")";

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

2018

181

da.Fill(ds);

con.Close();

con.Dispose();

lblmsg.Text = "Data Inserted Successfully";

}

protected void Button3_Click(object sender,

EventArgs e)

{

Response.Redirect("Payment.aspx");

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

protected void LinkButton1_Click(object sender,

EventArgs e)

{

Response.Redirect("Admin.aspx");

}

}

2018

182

VIEW PAGE.aspx

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

public SqlConnection con;

public SqlCommand com;

protected void Page_Load(object sender, EventArgs

e)

{

}

protected void Button2_Click(object sender,

EventArgs e)

{

con = new

SqlConnection("Server=localhost\\sqlexpress;database=

hotel;" + "Integrated Security=True");

con.Open();

string strsql = "select *from chkin where

cid=" + txtcid.Text;

SqlDataAdapter da = new SqlDataAdapter(strsql,

con);

DataSet ds = new DataSet();

da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0)

{

lblmsg.Text = "Sorry Customer Not Found";

DetailsView1.Visible = false;

}

2018

183

else

{

DetailsView1.DataSource = ds;

DetailsView1.DataBind();

DetailsView1.Visible = true;

lblmsg.Text = " ";

}

con.Close();

con.Dispose();

}

protected void Menu1_MenuItemClick(object sender,

MenuEventArgs e)

{

}

protected void LinkButton1_Click(object sender,

EventArgs e)

{

Response.Redirect("Admin.aspx");

}

}

2018

184

BIBLOGRAPHY

Books:

Desai Bipin C. Relational Database System [Book]. - [s.l.] : Galgotia Publishers, 1990.

John Peterson Visual Basic 2010 Black Book [Book]. - [s.l.] : Dreamtech Press, 2010.

Navathe Ramakant Fundamentals of Database Management System [Book]. - [s.l.] : Pearson Education India, 2007.

Petrousus Envangelous Mastering Visual.NET [Book]. - [s.l.] : BPB Publications, 2003.

Pressman Roger S. Software Engineering [Book]. - [s.l.] : Tata McGraw Hill, 2008.

Websites:

change password code [Online] // www.codearchive.com. - http://www.codearchive.com.

user-login-validation.asp [Online] // www.msdn.com/asp/. - https://www.msdn.com/asp/

vbcodeexamples.php [Online] // planetsourcecodes.com. - http://www.planetsourcecodes.com

2018

185

NOTES

Notes:

2018

186

RESUME(S) OF STUDENTS