2018 - kshitijdivakar.com · project planning waterfall model 6 7 certificate of originality...
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
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
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
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
Accepted
Error Msg
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
TEST CASES DESIGN
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 & 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
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
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
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