You are on page 1of 80

INTRODUCTION

1.1. Project Overview


The Online Blood Banking and profile searching is to create an e-Information about the
donor and organization that are related to donating the blood. Through this application any
person who is interested in donating the blood can register himself in the same way if any
organization wants to register itself with this site that can also register. Moreover if any general
consumer wants to make reuest blood online he can also take the help of this site. !dmin is
the main authority who can do addition" deletion" and modification if reuired.
1.2. Project Description
This pro#ect is aimed to developing an online Blood $onation Information. The entire
pro#ect has been developed keeping in view of the distributed client server computing
technology" in mind.
The Blood $onation !gent is to create an e-Information about the donor and organization
that are related to donating the blood. Through this application any person who is interested in
donating the blood can register himself in the same way if any organization wants to register
itself with this site that can also register. Moreover if any general consumer wants to make
reuest blood online he can also take the help of this site.
!dmin is the main authority who can do addition" deletion" and modification if
reuired.
The pro#ect has been planned to be having the view of distributed architecture" with
centralized storage of the database. The application for the storage of the data has been planned.
%sing the constructs of M&-&'( &erver and all the user interfaces has been designed using the
!&).*et technologies.
The database connectivity is planned using the +&'( ,onnection- methodology. The
standards of security and data protective mechanism have been given a big choice for proper
usage.
The application takes care of different modules and their associated reports" which are
produced as per the applicable strategies and standards that are put forwarded by the
administrative staff.
The entire pro#ect has been developed keeping in view of the distributed client server
computing technology" in mind. The specification has been normalized up to .*/ to eliminate all
the anomalies that may arise due to the database transaction that are e0ecuted by the general
users and the organizational administration. The user interfaces are browser specific to give
distributed accessibility for the overall system. The internal database has been selected as M&-
&'( server 1222.
The basic constructs of table spaces" clusters and inde0es have been e0ploited to provide
higher consistency and reliability for the data storage. The M&-&'( server 1222 was a choice as
it provides the constructs of high-level reliability and security. The total front end was dominated
using the !&).*et technologies. !t all proper levels high care was taken to check that the system
manages the data consistency with proper business rules or validations.
The database connectivity was planned using the latest +&'( ,onnection- technology
provided by Microsoft ,orporation. The authentication and authorization was crosschecked at all
the relevant stages. The user level accessibility has been restricted into two zones namely.

Problem Definition
2.1 Existin !"stem
,annot %pload and $ownload the latest updates.
*o use of 3eb &ervices and 4emoting.
4isk of mismanagement and of data when the pro#ect is under development.
(ess &ecurity.
*o proper coordination between different !pplications and %sers.
/ewer %sers 5 /riendly
Dis#$v#nt#es
6. %ser friendliness is provided in the application with various controls.
1. The system makes the overall pro#ect management much easier and fle0ible.
.. 4eadily upload the latest updates" allows user to download the alerts by clicking the
%4(.
7. There is no risk of data mismanagement at any level while the pro#ect development is
under process.
8. It provides high level of security with different level of authentication.
2.2. Propose$ !"stem
To debug the e0isting system" remove procedures those cause data redundancy" make
navigational seuence proper. To provide information about audits on different level and also to
reflect the current work status depending on organization9auditor or date. To build strong
password mechanism.

%$v#nt#es&
%ser friendliness I provided in the application with various controls.
The system makes the overall pro#ect management much easier and fle0ible.
4eadily upload the latest updates "allows user to download the alerts by clicking
the url.
It provides high level of security with different level of authentication.
'e#sibilit" !t($"
)reliminary investigation e0amine pro#ect feasibility" the likelihood the system will be
useful to the organization. The main ob#ective of the feasibility study is to test the Technical"
Operational and :conomical feasibility for adding new modules and debugging old running
system. !ll system is feasible if they are unlimited resources and infinite time. There are aspects
in the feasibility study portion of the preliminary investigation;
Technical /easibility
Operation /easibility
:conomical /easibility
).1. Tec*nic#l 'e#sibilit"
The technical issue usually raised during the feasibility stage of the investigation includes
the following;
$oes the necessary technology e0ist to do what is suggested<
$o the proposed euipments have the technical capacity to hold the data reuired to use the
new system<
3ill the proposed system provide adeuate response to inuiries" regardless of the number or
location of users<
,an the system be upgraded if developed<
!re there technical guarantees of accuracy" reliability" ease of access and data security<
:arlier no system e0isted to cater to the needs of =&ecure Infrastructure Implementation
&ystem>. The current system developed is technically feasible. It is a web based user interface for
audit workflow at *I,-,&$. Thus it provides an easy access to the users.
The database>s purpose is to create" establish and maintain a workflow among various
entities in order to facilitate all concerned users in their various capacities or roles. )ermission to
the users would be granted based on the roles specified. Therefore" it provides the technical
guarantee of accuracy" reliability and security.
The software and hard reuirements for the development of this pro#ect are not many and
are already available in-house at *I, or are available as free as open source. The work for the
pro#ect is done with the current euipment and e0isting software technology. *ecessary
bandwidth e0ists for providing a fast feedback to the users irrespective of the number of users
using the system.
).2. Oper#tion#l 'e#sibilit"
)roposed pro#ects are beneficial only if they can be turned out into information system.
That will meet the organization>s operating reuirements. Operational feasibility aspects of the
pro#ect are to be taken as an important part of the pro#ect implementation. &ome of the important
issues raised are to test the operational feasibility of a pro#ect includes the following; -
Is there sufficient support for the management from the users<
3ill the system be used and work properly if it is being developed and implemented<
3ill there be any resistance from the user that will undermine the possible application
benefits<
This system is targeted to be in accordance with the above-mentioned issues. Beforehand"
the management issues and user reuirements have been taken into consideration. &o there is no
uestion of resistance from the users that can undermine the possible application benefits.
The well-planned design would ensure the optimal utilization of the computer resources and
would help in the improvement of performance status.
).). Economic 'e#sibilit"
! system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility" the development cost in creating
the system is evaluated against the ultimate benefit derived from the new systems. /inancial
benefits must eual or e0ceed the costs.
The system is economically feasible. It does not reuire any addition hardware or
software. &ince the interface for this system is developed using the e0isting resources and
technologies available at *I," There is nominal e0penditure and economical feasibility for
certain.

!"stem %n#l"sis
+.1. !oftw#re Re,(irement !pecific#tion -!R!.
The software" &ite :0plorer is designed for management of web sites from a remote
location.
INTRODUCTION
P(rpose& The main purpose for preparing this document is to give a general insight into the
analysis and reuirements of the e0isting system or situation and for determining the operating
characteristics of the system.
!cope& This $ocument plays a vital role in the development life cycle ?&$(,@ and it describes
the complete reuirement of the system. It is meant for use by the developers and will be the
basic during testing phase. !ny changes made to the reuirements in the future will have to go
through formal change approval process.
DE/E0OPER! RE!PON!I1I0ITIE! O/ER/IE2&
The developer is responsible for;

$eveloping the system" which meets the &4& and solving all the reuirements of the system<
$emonstrating the system and installing the system at clientAs location after the acceptance
testing is successful.
&ubmitting the reuired user manual describing the system interfaces to work on it and also
the documents of the system.
,onducting any user training that might be needed for using the system.
Maintaining the system for a period of one year after installation.
T*e mo$(les involve$ #re&
6. %$ministr#tion&
In this module the !dministrator has the privileges to add all the Blood Broups"
Blood Type" Organization" Type" ,ountry" &tate" ,ity" and (ocation. Ce can search all
the info about the Organization" $onor.
User %cco(nt&
!ccountI$
%sername
)assword
%ser$esc
Cint'uestion
!nswer
4oleI$
!ctive
'(nction#lit"

!ssociation %ser !ccount with %ser4ole.
!ssociation %ser !ccount with Organisation.
!ssociation %ser !ccount with personal $etails.
!ssociation %ser !ccount with :mployee deatails.
!ssociation %ser !ccount with Blood$onation $etails.
%lerts&
!ll fields are mandatory
&elect user role
&elect role id
&elect role name
UserRole&
4oleI$
4ole*ame
4ole$esc
!ctive
'(nction#lit"&
!ssociation user role with user !ccount
%lerts&
&elect 4ole Id
&elect role name
1D% !t#te&
&tateI$
&tate*ame
&tate,ode
&tate$esc
,ountryI$
!ctive
'(nction#lit"&
!ssociation state with city
!ssocition state with !ddress

%lerts&
&elect &tate id
&elect state name
Co(ntr"&
,ountryI$
,ountry*ame
,ountry$esc
,ountry,ode
!ctive
'(nction#lit"&
!ssociation state with country
!ssocition state with !ddress
%lerts&
&elect countryId
&elect countryname
&elect country code
1D% Cit"&
,ityI$
,ity*ame
,ity$esc
,ity,ode
&tateI$
!ctive
'(nction#lit"&
!ssociation (ocation with city
!ssocition !ddress with city.
%lerts&
&elect cityId
&elect city*ane
&elect state code
1D%0oc#tion&
(ocationI$
(ocation*ame
(ocation$esc
(ocation,ode
,ityI$
)in code
!ctive
'(nction#lit"&
!ssociation (ocation with !ddress.
%lerts&
&elect (ocationId
&elect (ocation *ame
&elect )incode.
1loo$3ro(p&
BloodBroupI$
BloodBroup
$escription
!ctive
'(nction#lit"&
!ssociation Blood group with )ersonal details.
%lerts&
&elect BloodBroupI$
&elect BloodBroupI$
1loo$ T"pe&
BloodTypeI$
Type*ame
Type$esc
!ctive
'(nction#lit"&
!ssociation Blood type with )ersonal details.
%lerts&
&elect BloodBroupI$
&elect Type*ame
Person#l Det#ils&
%ser!ccountI$
/irst*ame
Middle*ame
(ast*ame
:mail
$OB
3eight
Bender
Image%4(
BloodBroupI$
BloodType
BloodType
!ddressI$
,ontact*oDOffice
,ontact*oD4esidence
Mobile*o
!ctive
'(nction#lit"&
!ssociation personal detaials with preferd location $ay Time
$etails.
%lerts&
&elect user account id
&elect :mail id
&elect date of birth
C#ll Center&
In this module all the employee who has been appointed by !dmin will come. !dmin will add all
the information of employee and assign user name and password to them. By using that user
name and password they will enter to their login and can search for all the donor" and about all
the blood reuest which have been made by either consumer" donor or any organization. ,all
center people will assign donor to related reuest.
Emplo"ee Det#il&
:mpId
*ame
!ddress
)hone
:mail
!ctive
'(nction#lit"&
!ssociation :mployee $etails type with user !ccounts.
%lerts&
&elect :mp Id
&elect email id
Donor&
$onor is that person who is interested in donating their blood so they can register themselves
through this website. If any reuirement comes then they will be contacted and they can donate
their blood. !long with it they can search for the various organization locations wise and can
also make reuest for blood if needed
Don#tion 're,(encies&
/reuency I$
/reuency
$escription
'(nction#lit"&
!ssociation $onor /reuencies with Blood donation
preferences.
%lerts&
&elect /reuency Id
Donor Preferre$ Or#ni4#tion&
%ser !ccount $
Organization I$
!ctive
'(nction#lit"&
!ssociation $onor preferred organization with personal
details.
%lerts&
&elect user account id
&elect organization id.
Or#ni4#tion&
In this module if any organization wants to register itself then it can do it. It can also search for
donor location wise and if needed then it can also make reuest for blood
Or#ni4#tion&
OrgI$
Org*ame
OrgType
:mail
Org!ddrI$
OrgImage%4(
Org$escription
,ontact*o
Mobile*o
!ctive
,omment
'(nction#lit"&
!ssociation organization type with Organization type.
%lerts&
&elect OrgId
&elect :mail
Or#ni4#tion T"pe&
TypeI$
Type*ame
Type $escription
'(nction#lit"&
!ssociation organization type with Organization.
%lerts&
&elect Type Id
&elect Type *ame
5%RD2%RE RE6UIRE7ENT!&

)IE 1.F BCz )rocessor and !bove
4!M 861MB and !bove
C$$ 12 BB Card $isk &pace and !bove
!O'T2%RE RE6UIRE7ENT!&

3I*$O3& O& ?G) 9 1222 9 122 &erver 9 122. &erver@
Eisual &tudio .*et 1228 :nterprise :dition
Internet Information &erver 8.2 ?II&@
Eisual &tudio .*et /ramework ?Minimal for $eployment@
&'( &erver 1222 :nterprise :dition


!"stem Desin

8.1. D#t# 'low Di#r#ms -D'D.
! data flow diagram is graphical tool used to describe and analyze movement of data
through a system. These are the central tool and the basis from which the other components are
developed. The transformation of data from input to output" through processed" may be
described logically and independently of physical components associated with the system. These
are known as the logical data flow diagrams.
The physical data flow diagrams show the actual implements and movement of data
between people" departments and workstations. ! full description of a system actually consists
of a set of data flow diagrams. %sing two familiar notations Hourdon" Bane and &arson notation
develops the data flow diagrams. :ach component in a $/$ is labeled with a descriptive name.
)rocess is further identified with a number that will be used for identification purpose.
The development of $/$>& is done in several levels. :ach process in lower level
diagrams can be broken down into a more detailed $/$ in the ne0t level. The lop-level diagram
is often called conte0t diagram. It consists a single process bit" which plays vital role in studying
the current system. The process in the conte0t level diagram is e0ploded into other process at the
first level $/$.
The idea behind the e0plosion of a process into more process is that understanding at one
level of detail is e0ploded into greater detail at the ne0t level. This is done until further
e0plosion is necessary and an adeuate amount of detail is described for analyst to understand
the process.
(arry ,onstantine first developed the $/$ as a way of e0pressing system reuirements
in a graphical from" this lead to the modular design.
! $/$ is also known as a +bubble ,hart- has the purpose of clarifying system
reuirements and identifying ma#or transformations that will become programs in system design.
&o it is the starting point of the design to the lowest level of detail. ! $/$ consists of a series of
bubbles #oined by data flows in the system.
D'D !971O0!&
In the $/$" there are four symbols
6. ! suare defines a source?originator@ or destination of system data
1. !n arrow identifies data flow. It is the pipeline through which the information flows
.. ! circle or a bubble represents a process that transforms incoming data flow into outgoing
data flows.
7. !n open rectangle is a data store" data at rest or a temporary repository of data
)rocess that transforms data flow.
&ource or $estination of data
$ata flow
$ata &tore
CON!TRUCTIN3 % D'D&
&everal rules of thumb are used in drawing $/$>&;
6. )rocess should be named and numbered for an easy reference. :ach name should be
representative of the process.
1. The direction of flow is from top to bottom and from left to right. $ata traditionally flow
from source to the destination although they may flow back to the source. One way to
indicate this is to draw long flow line back to a source. !n alternative way is to repeat the
source symbol as a destination. &ince it is used more than once in the $/$ it is marked with
a short diagonal.
.. 3hen a process is e0ploded into lower level details" they are numbered.
7. The names of data stores and destinations are written in capital letters. )rocess and dataflow
names have the first letter of each work capitalized
! $/$ typically shows the minimum contents of data store. :ach data store should
contain all the data elements that flow in and out.
'uestionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.
!%I0ENT 'E%TURE! O' D'D:!
6. The $/$ shows flow of data" not of control loops and decision are controlled considerations
do not appear on a $/$.
1. The $/$ does not indicate the time factor involved in any process whether the dataflow take
place daily" weekly" monthly or yearly.
.. The seuence of events is not brought out on the $/$.
T9PE! O' D%T% '0O2 DI%3R%7!
6. ,urrent )hysical
1. ,urrent (ogical
.. *ew (ogical
7. *ew )hysical
CURRENT P59!IC%0&
In ,urrent )hysical $/$ proecess label include the name of people or their positions or
the names of computer systems that might provide some of the overall system-processing label
includes an identification of the technology used to process the data. &imilarly data flows and
data stores are often labels with the names of the actual physical media on which data are stored
such as file folders" computer files" business forms or computer tapes.
CURRENT 0O3IC%0&
The physical aspects at the system are removed as mush as possible so that the current
system is reduced to its essence to the data and the processors that transform them regardless of
actual physical form.
NE2 0O3IC%0;
This is e0actly like a current logical model if the user were completely happy with he
user were completely happy with the functionality of the current system but had problems with
how it was implemented typically through the new logical model will differ from current logical
model while having additional functions" absolute function removal and inefficient flows
recognized.
NE2 P59!IC%0&
The new physical represents only the physical implementation of the new system.
RU0E! 3O/ERNIN3 T5E D'D:!
PROCE!!
6@ *o process can have only outputs.
1@ *o process can have only inputs. If an ob#ect has only inputs than it must be a sink.
.@ ! process has a verb phrase label.
D%T% !TORE
6@ $ata cannot move directly from one data store to another data store" a process must move
data.
1@ $ata cannot move directly from an outside source to a data store" a process" which receives"
must move data from the source and place the data into data store
.@ ! data store has a noun phrase label.
!OURCE OR !IN;
The origin and 9or destination of data.
6@ $ata cannot move direly from a source to sink it must be moved by a process
1@ ! source and 9or sink has a noun phrase land
D%T% '0O2
6@ ! $ata /low has only one direction of flow between symbols. It may flow in both directions
between a process and a data store to show a read before an update. The later is usually
indicated however by two separate arrows since these happen at different type.
1@ ! #oin in $/$ means that e0actly the same data comes from any of two or more different
processes data store or sink to a common location.
.@ ! data flow cannot go directly back to the same process it leads. There must be atleast one
other process that handles the data flow produce some other data flow returns the original
data into the beginning process.
7@ ! $ata flow to a data store means update ?delete or change@.
8@ ! data /low from a data store means retrieve or use.
,onte0t $iagram
Blood Donation
Agent
Future Use
%$min
Donor
Organization
Call Center
D#t#1#se
1
st
0evel D'D:s
0evel 1 D'D& 'or %$min 7o$(le
0evel 1 D'D& 'or Users 7o$(le
Admin
login
0oin $#t#
View of value
Abilities details
Value Abilities
Table
Call Center
Login
updating and
editing
Value Abilities
Table
D'D 'or Donor Cre#tion
Insert New
Donor
Verify
Data
!
Verify
Data
!"
Donor I$
Insert
$onor Det#ils
Donor
$etails
Insert Donor
Id
D'D 'or Oper#tor Cre#tion
D'D 'or C#ll Center Cre#tion
Insert New
Operator
Verify
Data
"!
Verify
Data
"!"
Operator Id
Inser
t
Operator
Details
Operator
$etails
Insert
Operator Id
D'D for Donor Cre#tion
Insert New
Call Center
Verify
Data
#!
Verify
Data
#!"
Call Center
Id
Insert
Call Center
Details
,all ,enter
$etails
Insert Call
Center Id
Donor Id
$onor
$etails
Organizati
on Details
Donor
Det#ils
Blood Details
Donor Details
Insert New
Donor
Eerify $ata
$!
Eerify $ata
$!"

Eerify $ata
$!#
Verify
Data
$!$
Eerify
$ata
7.8
Dates
Details
Check in
Organization
Insert $onor Id
Check for
Dates
Check for
Appointm
ent
Details
Check for
Blood Type
Eerify
$ata
7.I
Appointment
Details
Insert
Insert
$onor
$etails
2or< 'low of %ll 7o$(les
Administrator
Logs In
Login data
Call
Center
Appointment
Details
Organiza
tion
Varios !eports
"enerated the
Donar
View !andom
Information for
the App Donar
Donor !eport
Blood Details
Call Center !eport
Operator !eport
Donar
8.2. U70 Di#r#ms

Use C#se Di#r#m&
The unified modeling language allows the software engineer to e0press an analysis model
using the modeling notation that is governed by a set of syntactic semantic and pragmatic
rules.
! %M( system is represented using five different views that describe the system from
distinctly different perspective. :ach view is defined by a set of diagram" which is as follows.
%ser Model Eiew
i. This view represents the system from the users perspective.
ii. The analysis representation describes a usage scenario from the end-users
perspective.
!tr(ct(r#l mo$el view
In this model the data and functionality are arrived from inside the system.
This model view models the static structures.
1e*#vior#l mo$el view
It represents the dynamic of behavioral as parts of the system" depicting the
interactions of collection between various structural elements described in the user model and
structural model view.
Implement#tion 7o$el /iew
In this the structural and behavioral as parts of the system are represented
as they are to be built.
Environment#l 7o$el /iew
In this the structural and behavioral aspects of the environment in which the
system is to be implemented are represented.
%M( is specifically constructed through two different domains they are
%M( !nalysis modeling" which focuses on the user model and structural model views of
the system.
%M( design modeling" which focuses on the behavioral modeling" implementation modeling and
environmental model views.
%se case $iagrams represent the functionality of the system from a user>s point of view. %se
cases are used during reuirements elicitation and analysis to represent the functionality of the
system. %se cases focus on the behavior of the system from e0ternal point of view.
%ctors are e0ternal entities that interact with the system. :0amples of actors include users like
administrator" bank customer Jetc." or another system like central database.
Use c#se 7o$el
SYSTEM NAME

Use case 1
Use case 2
Use case n
!ctor
!ctor
Use C#ses of 1loo$ Don#tion %ent Interf#ce
Use c#se 'or %$min 7o$(le

%$min
Blood $onation !gent Interface

Come )age

(ogin )age

$onar Come )age

$onor!ccount$etail

Make4euest/orBlood
Organization &earch )age
&earch
,ontact &
!bout %&

Use c#se 'or Donor 7o$(le
1loo$ Don#tion %ent Interf#ce
Come )age
(ogin )age
$onar Come )age
$onor !ccount $etail
Make 4euest /or Blood
Organization &earch )age
&earch
,ontact &
!bout us
Donor
Use c#se 'or C#ll Center 7o$(le
1loo$ Don#tion %ent Interf#ce


Come )age
(ogin )age
,all ,enter Come )age
Blood $onation $etail
&earch $onor !ccording To 4euest
&earch Blood $onor
&earch
,ontact &
!bout %&
C#ll Center
Use c#se 'or Or#ni4#tion 7o$(le
Blood $onation !gent Interface
Come )age
(ogin )age
Organization Come )age
$onor&earch)age
Make4euest/orBlood
Organization!ccount$etail
&earch
,ontact &
!bout %&
Or#ni4#tion
Use case name (ogin
Participating
actors
!dmin" $onor" ,all ,enter" Organization
Flow of events The !ctor will give the user name and password to the system. The
system will verify the authentication.
Entry
Condition
The actor will enter the system by using username and password
Exit condition If un authenticated should be e0ited
Quality
Requirements
)assword must satisfy the comple0ity reuirements.
Use case name !dmin 4egistration
Participating
actors
!dmin
Flow of events The !dmin will submit all the details and place in the application.
Entry
Condition
Must satisfy all the norms given by the Blood $onation !gent interface
site.
Exit condition &uccessful or %n successful completion of creation of account.
Quality
Requirements
!ll fields are mandatory.
Use case name $onor 4egistration
Participating
actors
$onor
Flow of events The $onor must enter all his personal details.
Entry
Condition
Eiew Come page
Exit condition 4egistered $onor should be successfully logged out. :rror Message
should be displayed on %n successful creation.
Quality Best :rror Candling techniues. ,heck on Mandatory fields.
Requirements
Use case name ,all ,enter 4egistration
Participating
actors
,all ,enter
Flow of events The ,all ,enter must enter all his personal details.
Entry
Condition
Eiew Come page
Exit condition 4egistered ,all ,enter should be successfully logged out. :rror
Message should be displayed on %n successful creation.
Quality
Requirements
Best :rror Candling techniues. ,heck on Mandatory fields.
Use case name Organization 4egistration
Participating
actors
Organization
Flow of events The Organization must enter all his personal details.
Entry
Condition
Eiew Come page
Exit condition 4egistered Organization should be successfully logged out. :rror
Message should be displayed on %n successful creation.
Quality
Requirements
Best :rror Candling techniues. ,heck on Mandatory fields.
!E6UENCE DI%3R%7!
&euence $iagrams 4epresent the ob#ects participating the interaction horizontally and time
vertically.
!e,(ence Di#r#m for %$min

!dmin
; (ogin ; ,reate Bank
!ccount
; (og Out
%se url
)ress login button
)ress ,reate !ccount
Time
!e,(ence Di#r#m for Donor
$onor
; (ogin ; !ccounts
$B
Bet login page ?@
)ress login button ?@
)ress create accounts button ?@
Ealidate forms ?@
!e,(ence Di#r#m for c#llcenter
,all ,enter
; (ogin ; !ccounts
$B
Bet login page ?@
)ress login button ?@
)ress create accounts button ?@
Ealidate forms ?@
!e,(ence Di#r#m for or#ni4#tion
Organization
; (ogin ; !ccounts
$B
Bet login page ?@
)ress login button ?@
)ress create accounts button ?@
Ealidate forms ?@
!e,(ence Di#r#m 8
!dmin
; (ogin ; TG Ealidate ; $B

)ress login button?@
)ress !ccept94e#ect Button
; !ccount
Ealidate
!dmin
Come
)age
&elect Ealidate or 4e#ect
Transaction ?@
&elect Ealidate or 4e#ect !ccount?@
4eports?@
8.+. D#t#b#se Desin
ER Di#r#ms
ER $i#r#m for User %cco(nt #n$ Users


User%cco(nt&
!ccountI$
%sername
)assword
%ser$esc
Cint'uestion
!nswer
4oleI$
User %cco(nt&
Cas9
belo
ngs
UserRole&
ER $i#r#m for User %cco(nt #n$ Or#nis#tion
Or#nis#tion&
OrgI$
Org*ame
OrgType
:mail
Org!ddrI$
OrgImage%4(
Org$escription
,ontact*o
Mobile*o
!ctive
,omment
User %cco(nt
Cas9
belo
ngs
Or#nis#tion&
ER $i#r#m for Users %cco(nt #n$ Person#l Det#ils



User%cco(nt&
!ccountI$
%sername
)assword
%ser$esc
Cint'uestion
!nswer
4oleI$
User %cco(nt&
Cas9
belo
ngs
Person#l $et#ils
ER $i#r#m for User %cco(nt #n$ Emplo"ee Det#ils
ER $i#r#m for User Role #n$ 1loo$ User #cco(nt
User %cco(nt&
!ccountI$
%sername
)assword
%ser $esc
Cint 'uestion
!nswer
4ole I$
Cas9
belo
ngs
:mployee $etails
%ser !ccount

$i#r#m for !t#te #n$ 1D% Cit"
User %cco(nt&
!ccountI$
%sername
)assword
%ser $esc
Cint 'uestion
!nswer
4ole I$
UserRole&
4oleI$
4ole*ame
4ole$esc
!ctive
%ser !ccount
%ser4ole
Cas9
belo
ngs
&tate
B$!city
Cas9
belo
ngs

ER $i#r#m for !t#te #n$ %$$ress
1D%Cit"&
,ityI$
,ity*ame
,ity$esc
,ity,ode
&tateI$
!ctive
1D%!t#te&
&tateI$
&tate*ame
&tate,ode
&tate$esc
,ountryI$
!ctive
1D%!t#te&
&tateI$
&tate*ame
&tate,ode
&tate$esc
,ountryI$
!ctive
$1D%=%$$ress
!ddressI$
!ddress(ine6
(ocationI$
,ityI$
&tateI$
,ountryI$
,ountryI$
Kipcode
!ctive
&tate !ddress;
Cas9
belo
ngs
ER $i#r#m for !t#te #n$ Co(ntr"&
1D%!t#te&
&tateI$
&tate*ame
&tate,ode
&tate$esc
,ountryI$
!ctive
Co(ntr"&
,ountryI$
,ountry*ame
,ountry$esc
,ountry,ode
!ctive
&tate ,ountry
Cas9
belo
ngs
ER $i#r#m for 0oc#tion #n$ Cit"
ER $i#r#m for 0oc#tion #n$ Cit"
1D%0oc#tion&
(ocationI$
(ocation*ame
(ocation$esc
(ocation,ode
,ityI$
)in code
!ctive
1D%!t#te&
&tateI$
&tate*ame
&tate,ode
&tate$esc
,ountryI$
!ctive
0oc#tion& &tate Cas9
belo
ngs
D1D%$$ress&
Cit"&
Cas9
belo
ngs

ER $i#r#m for 0oc#tion #n$ %$$ress

1D%Cit"&
,ityI$
,ity*ame
,ity$esc
,ity,ode
&tateI$
!ctive
$1D%=%$$ress
!ddressI$
!ddress(ine6
(ocationI$
,ityI$
&tateI$
,ountryI$
,ountryI$
Kipcode
!ctive
1D%0oc#tion&
(ocationI$
(ocation*ame
(ocation$esc
(ocation,ode
,ityI$
)in code
!ctive
BDALo%ation& D1D%$$ress&
Cas9
belo
ngs
ER $i#r#m for 1loo$ ro(p Person#l $et#ils


Person#l $et#ils&
%ser!ccountI$
/irst*ame
Middle*ame
(ast*ame
:mail
$OB
3eight
Bender
Image%4(
BloodBroupI$
BloodType
!ddressI$
,ontact*oDOffice
,ontact*oD4esidence
Mobile*o
!ctive
1loo$ ro(p& Person#l $et#ils
Cas9
belo
ngs
ER $i#r#m for Person#l $et#ils #n$ 1loo$ Don#tion preferences

Person#l $et#ils&
%ser!ccountI$
/irst*ame
Middle*ame
(ast*ame
:mail
$OB
3eight
Bender
Image%4(
BloodBroupI$
BloodType
!ddressI$
,ontact*oDOffice
,ontact*oD4esidence
Mobile*o
!ctive
Preferre$Don#tionD#"Time
$onor)referenceI$
3eek$ay
Time/rom
Time/rom
Time%pto
%ser!ccountI$
,omment
!ctive
Person#l $et#ils
Prefer$ loc#tion D#" Time Det#ils.
Cas9
belo
ngs

ER $i#r#m for Donor 're,(encies #n$ 1loo$ Don#tion Preferences

Don#tion're,(encies&
/reuencyI$
/reuency
$escription
!ctive
1loo$Don#tionPreference&
)referenceI$
%ser!ccountI$
$onation/reuencyI$
3antTo$onate3hitecells
!ctive
DonationFre'uen%ies&
1loo$Don#tionPrefere
nce
Cas9
belo
ngs
ER $i#r#m for Donor preferre$ or#ni4#tion #n$ person#l $et#ils


ER $i#r#m
for Or#ni4#tion t"pe #n$
Or#ni4#tion .

DonorPreferre$Or#nis#tion&
%ser!countI$
OrganisationI$
!ctive
Person#l $et#ils&
%ser!ccountI$
/irst*ame
Middle*ame
(ast*ame
:mail
$OB
3eight
Bender
Image%4(
BloodBroupI$
BloodType
!ddressI$
,ontact*oDOffice
,ontact*oD4esidence
Mobile*o
!ctive
Or#nis#tion&
OrgI$
Org*ame
OrgType
:mail
Org!ddrI$
OrgImage%4(
Org$escription
,ontact*o
Mobile*o
!ctive
,omment
Don#r preferre$ or#ni4#tion Pers#n#l Det#ils
Cas9
belo
ngs
Or#ni4#tion
Or#ni4#tion t"pe
Cas9
belo
ngs
8.8. D#t#b#se T#bles
1. D#t# Diction#r"
1D%= %$$ress
!no Col(mn n#me D#t# t"pe Constr#int reference
6 !ddressI$ Bigint )rimary Ley
1 !ddress(ine6 varchar?861@ *ot null
. (ocationI$ Bigint /oreign key B$!D(ocation
7 ,ityI$ Bigint /oreign key B$!D,ity
8 &tateI$ Bigint /oreign key B$!Dstate
I ,ountryI$ Bigint !llow *ull B$!D,ountry
M Kipcode varchar?62@ !llow *ull
F !ctive Bit *ot *ull
1D%=1loo$Don#tionDet#ils
!no Col(mn n#me D#t#t"pe Constr#int reference
6 I$ Bigint )rimary Ley
1 $onorI$ Bigint /oreign key B$!DBlood4euest
. $onation$ate $atetime *otnull
7 TakerI$ Bigint /oreign key B$!D%ser!ccount
8 OrgI$ Bigint /oreign key BdaDOrganisation
I 'uantity varchar?62@ !llow *ull
M ,omment varchar?6217@ !llow *ull
F !ctive Bit *otnull
1D%=1loo$Don#tionPreference
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 )referenceI$ bigint )rimary key
1 %ser!ccountI$ bigint /oreign key B$!D%ser!ccount
. $onation/reuencyI$ tinyint /oreign key B$!D$onation /reuencies
7 3antTo$onate3hitecells bit !llow*ull
8 !ctive bit !llow*ull
1D%=1loo$3ro(p
!no Col(mnn#me D#t#t"pe Constr#int reference
6 BloodBroupI$ tinyint )rimary Ley
1 BloodBroup varchar?62@ *ot *ull
. $escription varchar?6217@ !llow *ull
7 !ctive bit *ot *ull
1D%=1loo$Re,(est
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 4euestI$ int )rimary Ley
1 $onorId bigint /oreign key B$!D%ser!ccount
. OrgId bigint /oreign key B$!DOrganisation
7 *ame varchar?82@ !llow *ull
8 :mail varchar?82@ !llow *ull
I )hone varchar?12@ !llow *ull
M ,ountry varchar?82@ !llow *ull
F &tate varchar?82@ !llow *ull
N ,ity varchar?82@ !llow *ull
62 (ocation varchar?82@ !llow *ull
66 Blood4euire!ddress varchar?622@ !llow *ull
61 BloodType varchar?82@ !llow *ull
6. BloodBroup varchar?82@ !llow *ull
67 !pp$ate datetime !llow *ull
68 4e$ate datetime !llow *ull
6I &tatus varchar?62@ !llow *ull
6M 4euestType varchar?82@ !llow *ull
1D%=Cit"
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 ,ityI$ bigint )rimary key
1 ,ity*ame varchar?622@ *ot null
. ,ity$esc varchar?6217@ allownull
7 ,ity,ode varchar?8@ !llownull
8 &tateI$ bigint /oreign key B$!D&tate
I !ctive bit notnull
1D%=1loo$T"pe
!no Col(mnn#mes D#t#t"pes Constr#int reference
6 BloodTypeI$ tinyint )rimary Ley
1 Type*ame varchar?82@ *ot null
. Type$esc varchar?6217@ !llow*ull
7 !ctive bit *otnull
1D%=Co(ntr"
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 ,ountryI$ bigint )rimary key
1 ,ountry*ame varchar?622@ *ot null
. ,ountry$esc varchar?6217@ !llow *ull
7 ,ountry,ode varchar?8@ !llow *ull
8 !ctive bit *ot null
1D%=Don#tion're,(encies
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 /reuencyI$ tinyint )rimary key
1 /reuency varchar?82@ *ot null
. $escription varchar?188@ !llow null
7 !ctive bit !llow null
1D%=DonorPreferre$Or#nis#tion
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 %ser!countI$ bigint )rimary key
1 OrganisationI$ bigint *ot null
. !ctive bit !llow null
1D%=Emplo"eeDet#il
!no Col(mnn#me D#t#t"pe Constr#int reference
6 :mpId bigint )rimary Ley
1 *ame varchar?I2@ !llow *ull
. !ddress varchar?682@ !llow *ull
7 )hone varchar?12@ !llow *ull
8 :mail varchar?18@ !llow *ull
I !ctive tinyint !llow *ull
1D%='%6
!no Col(mnn#me D#t#t"pe Constr#int reference
6 /aI$ bigint )rimary key
1 'uestion varchar?.22@ !llow null
. !nswer varchar?6222@ !llow null
7 !ctive bit !llow null
1D%=0oc#tion
&no ,olumnname $atatype ,onstraints reference
6 (ocationI$ bigint )rimary Ley
1 (ocation*ame varchar?622@ *ot *ull
. (ocation$esc varchar?6217@ !llow null
7 (ocation,ode varchar?8@ !llow null
8 ,ityI$ bigint !llow null
I )incode varchar?62@ !llow null
M !ctive bit !llow null
1D%=Or#nis#tion
&no ,olumnname $atatype ,onstraint reference
6 OrgI$ bigint )rimary key
1 Org*ame varchar?622@ *ot null
. OrgType tinyint /oreign key B$!DOrganisation Type
7 :mail varchar?82@ !llownull
8 Org!ddrI$ bigint /oreign key B$!D!ddress
I OrgImage%4( varchar?688@ !llownull
M Org$escription varchar?6217@ !llownull
F ,ontact*o varchar?12@ !llownull
N Mobile*o varchar?12@ !llownull
62 !ctive bit !llownull
66 ,omment varchar?861@ !llownull
1D%=Or#nis#tionT"pe
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 TypeI$ tinyint )rimary key
1 Type*ame varchar?82@ *ot null
. Type$escription varchar?82@ !llow null
7 OrgImage varchar?.22@ !llow null
8 !ctive bit !llow null
1D%=Preferre$Don#tionD#"Time
!no Col(mnn#mes D#t#tt"pe Const#rint Reference
6 $onor)referenceI$ bigint )rimary Ley
1 3eek$ay varchar?62@ *ot null
. Time/rom varchar?62@ !llow null
7 Time%pto varchar?62@ !llow null
8 %ser!ccountI$ bigint !llow null
I ,omment varchar?6217@ !llow null
M !ctive bit *ot null
F
1D%=Person#lDet#ils
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 %ser!ccountI$ bigint )rimary Ley
1 /irst*ame varchar?82@ *ot *ull
. Middle*ame varchar?82@ !llow *ull
7 (ast*ame varchar?82@ !llow *ull
8 :mail varchar?622@ !llow *ull
I $OB datetime *otnull
M 3eight float !llow *ull
F Bender varchar?I@ *ot *ull
N Image%4( varchar?688@ !llow *ull
62 BloodBroupI$ tinyint /oreign key B$!DBloodgroup
66 BloodType tinyint /oreign key B$!DBloodType
61 !ddressI$ bigint /oreign key B$!D!ddress
6. ,ontact*oDOffice varchar?12@ !llow *ull
67 ,ontact*oD4esidence varchar?12@ !llow *ull
68 Mobile*o varchar?12@ *ot *ull
6I !ctive bit !llow *ull
1D%=UserRole
!no Col(mnn#me D%t#t"pe Constr#int Reference
6 4oleI$ tinyint )rimary key
1 4ole*ame varchar?82@ *ot null
. 4ole$esc varchar?6217@ !llow null
7 !ctive bit *ot null
1D%=!t#te
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 &tateI$ bigint )rimary key
1 &tate*ame varchar?622@ *ot null
. &tate,ode varchar?8@ !llow null
7 &tate$esc varchar?6217
@
!llow null
8 ,ountryI$ bigint /oreign Ley B$!D,ountry
I !ctive bit *ot null
1D%=User%cco(nt
!no Col(mnn#me D#t#t"pe Constr#int Reference
6 !ccountI$ bigint )rimary key
1 %sername varchar?622@ *ot null
. )assword varchar?622@ *ot null
7 %ser$esc varchar?6217@ !llow null
8 Cint'uestion varchar?688@ !llow null
I !nswer varchar?688@ !llow null
M 4oleI$ tinyint /oreign key B$!D%ser4ole
F !ctive bit *ot null
!oftw#re Development Environment
>.1. Intro$(ction To .Net 'r#mewor<
The .*:T /ramework is a new computing platform that simplifies application development in
the highly distributed environment of the Internet. The .*:T /ramework is designed to fulfill the
following ob#ectives;
To provide a consistent ob#ect-oriented programming environment whether ob#ect code is
stored and e0ecuted locally" e0ecuted locally but Internet-distributed" or e0ecuted remotely.
To provide a code-e0ecution environment that minimizes software deployment and
versioning conflicts.
To provide a code-e0ecution environment that guarantees safe e0ecution of code" including
code created by an unknown or semi-trusted third party.
To provide a code-e0ecution environment that eliminates the performance problems of
scripted or interpreted environments.
To make the developer e0perience consistent across widely varying types of applications"
such as 3indows-based applications and 3eb-based applications.
To build all communication on industry standards to ensure that code based on the .*:T
/ramework can integrate with any other code.
The .*:T /ramework has two main components; the common language runtime and the .*:T
/ramework class library. The common language runtime is the foundation of the .*:T
/ramework. Hou can think of the runtime as an agent that manages code at e0ecution time"
providing core services such as memory management" thread management" and 4emoting" while
also enforcing strict type safety and other forms of code accuracy that ensure security and
robustness. In fact" the concept of code management is a fundamental principle of the runtime.
,ode that targets the runtime is known as managed code" while code that does not target the
runtime is known as unmanaged code.
'E%TURE! O' T5E CO77ON 0%N3U%3E RUNTI7E&
The common language runtime manages memory" thread e0ecution" code e0ecution" code
safety verification" compilation" and other system services. These features are intrinsic to the
managed code that runs on the common language runtime.
3ith regards to security" managed components are awarded varying degrees of trust"
depending on a number of factors that include their origin ?such as the Internet" enterprise
network" or local computer@. This means that a managed component might or might not be able
to perform file-access operations" registry-access operations" or other sensitive functions" even if
it is being used in the same active application.
The runtime enforces code access security. /or e0ample" users can trust that an
e0ecutable embedded in a 3eb page can play an animation on screen or sing a song" but cannot
access their personal data" file system" or network. The security features of the runtime thus
enable legitimate Internet-deployed software to be e0ceptionally featuring rich.
The runtime also enforces code robustness by implementing a strict type- and code-
verification infrastructure called the common type system ?,T&@. The ,T& ensures that all
managed code is self-describing. The various Microsoft and third-party language compilers
Benerate managed code that conforms to the ,T&. This means that managed code can
consume other managed types and instances" while strictly enforcing type fidelity and type
safety.
In addition" the managed environment of the runtime eliminates many common software
issues. /or e0ample" the runtime automatically handles ob#ect layout and manages references to
ob#ects" releasing them when they are no longer being used. This automatic memory
management resolves the two most common application errors" memory leaks and invalid
memory references.
The runtime also accelerates developer productivity. /or e0ample" programmers can write
applications in their development language of choice" yet take full advantage of the runtime" the
class library" and components written in other languages by other developers. !ny compiler
vendor who chooses to target the runtime can do so. (anguage compilers that target the .*:T
/ramework make the features of the .*:T /ramework available to e0isting code written in that
language" greatly easing the migration process for e0isting applications.
.NET 'R%7E2OR; C0%!! 0I1R%R9
The .*:T /ramework class library is a collection of reusable types that tightly integrate
with the common language runtime. The class library is ob#ect oriented" providing types from
which your own managed code can derive functionality. This not only makes the .*:T
/ramework types easy to use" but also reduces the time associated with learning new features of
the .*:T /ramework. In addition" third-party components can integrate seamlessly with classes
in the .*:T /ramework.
/or e0ample" the .*:T /ramework collection classes implement a set of interfaces that
you can use to develop your own collection classes. Hour collection classes will blend seamlessly
with the classes in the .*:T /ramework.
!s you would e0pect from an ob#ect-oriented class library" the .*:T /ramework types
enable you to accomplish a range of common programming tasks" including tasks such as string
management" data collection" database connectivity" and file access. In addition to these common
tasks" the class library includes types that support a variety of specialized development scenarios.
/or e0ample" you can use the .*:T /ramework to develop the following types of applications
and services;
,onsole applications.
&cripted or hosted applications.
3indows B%I applications ?3indows /orms@.
!&).*:T applications.
GM( 3eb services.
3indows services.
/or e0ample" the 3indows /orms classes are a comprehensive set of reusable types that
vastly simplify 3indows B%I development. If you write an !&).*:T 3eb /orm application"
you can use the 3eb /orms classes.
C0IENT %PP0IC%TION DE/E0OP7ENT
,lient applications are the closest to a traditional style of application in 3indows-based
programming. These are the types of applications that display windows or forms on the desktop"
enabling a user to perform a task. ,lient applications include applications such as word
processors and spreadsheets" as well as custom business applications such as data-entry tools"
reporting tools" and so on. ,lient applications usually employ windows" menus" buttons" and
other B%I elements" and they likely access local resources such as the file system and peripherals
such as printers.
!nother kind of client application is the traditional !ctiveG control ?now replaced by the
managed 3indows /orms control@ deployed over the Internet as a 3eb page. This application is
much like other client applications; it is e0ecuted natively" has access to local resources" and
includes graphical elements.
In the past" developers created such applications using ,9,OO in con#unction with the
Microsoft /oundation ,lasses ?M/,@ or with a rapid application development ?4!$@
environment such as MicrosoftP Eisual BasicP. The .*:T /ramework incorporates aspects of
these e0isting products into a single" consistent development environment that drastically
simplifies the development of client applications.
The 3indows /orms classes contained in the .*:T /ramework are designed to be used
for B%I development. Hou can easily create command windows" buttons" menus" toolbars" and
other screen elements with the fle0ibility necessary to accommodate shifting business needs.
/or e0ample" the .*:T /ramework provides simple properties to ad#ust visual attributes
associated with forms. In some cases the underlying operating system does not support changing
these attributes directly" and in these cases the .*:T /ramework automatically recreates the
forms. This is one of many ways in which the .*:T /ramework integrates the developer
interface" making coding simpler and more consistent.
%!P.NET
!erver %pplic#tion Development
&erver-side applications in the managed world are implemented through runtime hosts.
%nmanaged applications host the common language runtime" which allows your custom
managed code to control the behavior of the server. This model provides you with all the features
of the common language runtime and class library while gaining the performance and scalability
of the host server.
The following illustration shows a basic network schema with managed code running in
different server environments. &ervers such as II& and &'( &erver can perform standard
operations while your application logic e0ecutes through the managed code.
!erver?!i$e 7#n#e$ Co$e&
!&).*:T is the hosting environment that enables developers to use the .*:T /ramework
to target 3eb-based applications. Cowever" !&).*:T is more than #ust a runtime hostQ it is a
complete architecture for developing 3eb sites and Internet-distributed ob#ects using managed
code. Both 3eb /orms and GM( 3eb services use II& and !&).*:T as the publishing
mechanism for applications" and both have a collection of supporting classes in the .*:T
/ramework.
If you develop and publish your own GM( 3eb service" the .*:T /ramework provides a
set of classes that conform to all the underlying communication standards" such as &O!)"
3&$(" and GM(. %sing those classes enables you to focus on the logic of your service" without
concerning yourself with the communications infrastructure reuired by distributed software
development.
/inally" like 3eb /orms pages in the managed environment" your GM( 3eb service will run
with the speed of native machine language using the scalable communication of II&.
%ctive !erver P#es.NET
!&).*:T is a programming framework built on the common language runtime that can
be used on a server to build powerful 3eb applications. !&).*:T offers several important
advantages over previous 3eb development models;
En*#nce$ Perform#nce. !&).*:T is compiled common language runtime code running
on the server. %nlike its interpreted predecessors" !&).*:T can take advantage of early
binding" #ust-in-time compilation" native optimization" and caching services right out of the
bo0. This amounts to dramatically better performance before you ever write a line of code.
2orl$?Cl#ss Tool !(pport. The !&).*:T framework is complemented by a rich
toolbo0 and designer in the Eisual &tudio integrated development environment. 3H&I3HB
editing" drag-and-drop server controls" and automatic deployment are #ust a few of the
features this powerful tool provides.
Power #n$ 'lexibilit". Because !&).*:T is based on the common language runtime" the
power and fle0ibility of that entire platform is available to 3eb application developers.
The .*:T /ramework class library" Messaging" and $ata !ccess solutions are all seamlessly
accessible from the 3eb. !&).*:T is also language-independent" so you can choose the
language that best applies to your application or partition your application across many
languages. /urther" common language runtime interoperability guarantees that your e0isting
investment in ,OM-based development is preserved when migrating to !&).*:T.
!implicit". !&).*:T makes it easy to perform common tasks" from simple form
submission and client authentication to deployment and site configuration. /or e0ample" the
!&).*:T page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple" Eisual Basic - like
forms processing model. !dditionally" the common language runtime simplifies
development" with managed code services such as automatic reference counting and garbage
collection.
7#n#e#bilit". !&).*:T employs a te0t-based" hierarchical configuration system" which
simplifies applying settings to your server environment and 3eb applications. Because
configuration information is stored as plain te0t" new settings may be applied without the aid
of local administration tools. This Rzero local administrationR philosophy e0tends to
deploying !&).*:T
!c#l#bilit" #n$ %v#il#bilit". !&).*:T has been designed with scalability in mind" with
features specifically tailored to improve performance in clustered and multiprocessor
environments. /urther" processes are closely monitored and managed by the !&).*:T
runtime" so that if one misbehaves ?leaks" deadlocks@" a new process can be created in its
place" which helps keep your application constantly available to handle reuests.
C(stomi4#bilit" #n$ Extensibilit". !&).*:T delivers a well-factored architecture that
allows developers to Rplug-inR their code at the appropriate level. In fact" it is possible to
e0tend or replace any subcomponent of the !&).*:T runtime with your own custom-written
component. Implementing custom authentication or state services has never been easier.
!ec(rit". 3ith built in 3indows authentication and per-application configuration" you
can be assured that your applications are secure.
0%N3U%3E !UPPORT
The Microsoft .*:T )latform currently offers built-in support for three languages; ,S" Eisual
Basic" and T&cript.
25%T I! %!P.NET 2E1 'OR7!@
The !&).*:T 3eb /orms page framework is a scalable common language runtime
programming model that can be used on the server to dynamically generate 3eb pages.
Intended as a logical evolution of !&) ?!&).*:T provides synta0 compatibility with
e0isting pages@" the !&).*:T 3eb /orms framework has been specifically designed to address a
number of key deficiencies in the previous model. In particular" it provides;
The ability to create and use reusable %I controls that can encapsulate common functionality
and thus reduce the amount of code that a page developer has to write.
The ability for developers to cleanly structure their page logic in an orderly fashion ?not
Rspaghetti codeR@.
The ability for development tools to provide strong 3H&I3HB design support for pages
?e0isting !&) code is opaue to tools@.
CODE?1E5IND 2E1 'OR7!
!&).*:T supports two methods of authoring dynamic pages. The first is the method
shown in the preceding samples" where the page code is physically declared within the
originating .asp0 file. !n alternative approach--known as the code-behind method--enables the
page code to be more cleanly separated from the CTM( content into an entirely separate file.
CA.NET
%DO.NET O/ER/IE2
!$O.*:T is an evolution of the !$O data access model that directly addresses user
reuirements for developing scalable applications. It was designed specifically for the web with
scalability" statelessness" and GM( in mind.
!$O.*:T uses some !$O ob#ects" such as the Connection and Comm#n$ ob#ects" and also
introduces new ob#ects. Ley new !$O.*:T ob#ects include the D#t#!et" D#t#Re#$er" and
D#t#%$#pter.
The important distinction between this evolved stage of !$O.*:T and previous data
architectures is that there e0ists an ob#ect -- the D#t#!et -- that is separate and distinct from any
data stores. Because of that" the D#t#!et functions as a standalone entity. Hou can think of the
$ata&et as an always disconnected recordset that knows nothing about the source or destination
of the data it contains. Inside a D#t#!et" much like in a database" there are tables" columns"
relationships" constraints" views" and so forth.
! D#t#%$#pter is the ob#ect that connects to the database to fill the D#t#!et. Then" it
connects back to the database to update the data there" based on operations performed while the
D#t#!et held the data. In the past" data processing has been primarily connection-based. *ow" in
an effort to make multi-tiered apps more efficient" data processing is turning to a message-based
approach that revolves around chunks of information. !t the center of this approach is the
D#t#%$#pter" which provides a bridge to retrieve and save data between a D#t#!et and its
source data store. It accomplishes this by means of reuests to the appropriate &'( commands
made against the data store.
Connections. /or connection to and managing transactions against a database.
Comm#n$s. /or issuing &'( commands against a database.
D#t#Re#$ers. /or reading a forward-only stream of data records from a &'( &erver data
source.
D#t#!ets. /or storing" 4emoting and programming against flat data" GM( data and
relational data.
D#t# %$#pters. /or pushing data into a D#t#!et" and reconciling data against a database.
@.
Connections&
,onnections are used to Atalk toA databases" and are represented by provider-specific
classes such as !,lConnection. ,ommands travel over connections and resultsets are returned in
the form of streams which can be read by a D#t#Re#$er ob#ect" or pushed into a D#t#!et ob#ect.
Comm#n$s&
,ommands contain the information that is submitted to a database" and are represented by
provider-specific classes such as !,lComm#n$. ! command can be a stored procedure call" an
%)$!T: statement" or a statement that returns results. Hou can also use input and output
parameters" and return values as part of your command synta0. The e0ample below shows how to
issue an I*&:4T statement against the Nort*win$ database.
D#t#Re#$ers&
The D#t#Re#$er ob#ect is somewhat synonymous with a read-only9forward-only cursor over
data. The D#t#Re#$er !)I supports flat as well as hierarchical data. ! D#t#Re#$er ob#ect is
returned after e0ecuting a command against a database. The format of the returned D#t#Re#$er
ob#ect is different from a recordset. /or e0ample" you might use the D#t#Re#$er to show the
results of a search list in a web page.
!60 !ER/ER
! database management" or $BM&" gives the user access to their data and helps them
transform the data into information. &uch database management systems include dBase" parado0"
IM&" &'( &erver and &'( &erver. These systems allow users to create" update and e0tract
information from their database.
! database is a structured collection of data. $ata refers to the characteristics of people"
things and events. &'( &erver stores each data item in its own fields. In &'( &erver" the fields
relating to a particular person" thing or event are bundled together to form a single complete unit
of data" called a record ?it can also be referred to as raw or an occurrence@. :ach record is made
up of a number of fields. *o two fields in a record can have the same field name.
$uring an &'( &erver $atabase design pro#ect" the analysis of your business needs
identifies all the fields or attributes of interest. If your business needs change over time" you
define any additional fields or change the definition of e0isting fields.
!60 !erver T#bles
&'( &erver stores records relating to each other in a table. $ifferent tables are created for the
various groups of information. 4elated tables are grouped together to form a database.
Prim#r" ;e"
:very table in &'( &erver has a field or a combination of fields that uniuely identifies
each record in the table. The %niue identifier is called the )rimary Ley" or simply the Ley. The
primary key provides the means to distinguish one record from all other in a table. It allows the
user and the database system to identify" locate and refer to one particular record in the database.
Rel#tion#l D#t#b#se
&ometimes all the information of interest to a business operation can be stored in one
table. &'( &erver makes it very easy to link the data in multiple tables. Matching an employee
to the department in which they work is one e0ample. This is what makes &'( &erver a
relational database management system" or 4$BM&. It stores data in two or more tables and
enables you to define relationships between the table and enables you to define relationships
between the tables.
'orein ;e"
3hen a field is one table matches the primary key of another field is referred to as a
foreign key. ! foreign key is a field or a group of fields in one table whose values match those of
the primary key of another table.
Referenti#l Interit"
*ot only does &'( &erver allow you to link multiple tables" it also maintains consistency
between them. :nsuring that the data among related tables is correctly matched is referred to as
maintaining referential integrity.
CODIN3
2E1CON'I3 'I0E&-Desin Co$e.
%sed to set the connections of each page.
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file yo !an se
the
"e# admin tool to !onfigre settings for yor a$$li!ation.
%se
the &e#site->As$.Net 'onfigration o$tion in (isal )tdio.
A fll list of settings and !omments !an #e fond in
ma!hine.!onfig.!omments sally lo!ated in
*&indo"s*+i!rosoft.Net*,rame"or-*v..x*'onfig
-->
<!onfigration>
<a$$)ettings>
<add -ey="'onn)tr" vale="data sor!e=/A+0A-
.1'A231.45data#ase=3lood3e6eath,ederalAgent5integrated
se!rity=ss$i"7>
<7a$$)ettings>
<!onne!tion)trings>
<add name="3lood1onationAgent'onne!tion)tring"
!onne!tion)tring="1ata )or!e=/A+0A-.1'A231.458nitial
'atalog=3lood1onationAgent5integrated se!rity=ss$i"
$roviderName=")ystem.1ata.)6l'lient" 7>
<7!onne!tion)trings>
<system."e#>
<!--
)et !om$ilation de#g="tre" to insert de#gging
sym#ols into the !om$iled $age. 3e!ase this
affe!ts $erforman!e9 set this vale to tre only
dring develo$ment.
-->
<!om$ilation de#g="tre">
<assem#lies>
<add assem#ly=")ystem.1esign9
(ersion=..0.0.09 'ltre=netral9
:#li!;ey<o-en=304,2,=,11120A4A"7>
<add assem#ly=")ystem.&e#.>xtensions9
(ersion=1.0.?10.2.09 'ltre=netral9
:#li!;ey<o-en=413,4@2?A14?A>42"7>
<add assem#ly=")ystem.&e#.>xtensions.1esign9
(ersion=1.0.?10.2.09 'ltre=netral9
:#li!;ey<o-en=413,4@2?A14?A>42"7>
<add assem#ly=")ystem.&indo"s.,orms9
(ersion=..0.0.09 'ltre=netral9
:#li!;ey<o-en=3==A2'2?1B4A>0@B"7><7assem#lies><7!om$ilation>
<!--
<he <athenti!ation> se!tion ena#les !onfigration
of the se!rity athenti!ation mode sed #y
A):.N>< to identify an in!oming ser.
-->
<athenti!ation mode="&indo"s"7>
<!--
<he <!stom>rrors> se!tion ena#les !onfigration
of "hat to do if7"hen an nhandled error o!!rs
dring the exe!tion of a re6est. )$e!ifi!ally9
it ena#les develo$ers to !onfigre html error $ages
to #e dis$layed in $la!e of a error sta!- tra!e.
<!stom>rrors mode="/emoteCnly"
defalt/edire!t="Deneri!>rror:age.htm">
<error stats'ode="A04" redire!t="NoA!!ess.htm" 7>
<error stats'ode="A0A"
redire!t=",ileNot,ond.htm" 7>
<7!stom>rrors>
-->
<7system."e#>
<7!onfigration>
User 0oin 'orm
sing )ystem5
sing )ystem.1ata5
sing )ystem.'onfigration5
sing )ystem.'olle!tions5
sing )ystem.&e#5
sing )ystem.&e#.)e!rity5
sing )ystem.&e#.%85
sing )ystem.&e#.%8.&e#'ontrols5
sing )ystem.&e#.%8.&e#'ontrols.&e#:arts5
sing )ystem.&e#.%8.Etml'ontrols5
$#li! $artial !lass Fogin : )ystem.&e#.%8.:age
G
'he!-%ser ser = ne" 'he!-%serHI5
%serA!!ont3sinessFayer a!!ont = ne" %serA!!ont3sinessFayerHI5
CrganiJationA!!ont3sinessFayer org = ne"
CrganiJationA!!ont3sinessFayerHI5
$rote!ted void :ageKFoadHo#Le!t sender9 >ventArgs eI
G
txt%sername.,o!sHI5
M
$rote!ted void #tnFoginK'li!-Ho#Le!t sender9 >ventArgs eI
G
try
G
ser.%sername = txt%sername.<ext5
ser.:ass"ord = txt:ass"ord.<ext5
77'he!- %ser

if Hser.Det%serHI == treI
G
a!!ont.%sername = txt%sername.<ext5
1ata)et ds = ne" 1ata)etHI5
ds = a!!ont.DetA!!ont8dHI5
string A!8d = ds.<a#lesN0O./o"sN0ON0O.<o)tringHI5
)essionN"sername"O = txt%sername.<ext5
)essionN"A!id"O = A!8d5
1ata)et ds1 = ne" 1ata)etHI5
a!!ont.A!!ontid =int.:arseHA!8dI5
ds1 = a!!ont.DetAddress8dHI5
)essionN"addid"O = ds1.<a#lesN0O./o"sN0ON0O.<o)tringHI5
/es$onse./edire!tH"P71onor71onorEome.as$x"I5
M
else
8mage..(isi#le = tre5
l#l+sg.<ext = "0or Fogin Attem$t 8s ,ailed :lJ try Again....!"5
txt:ass"ord.<ext = ""5
txt%sername.,o!sHI5
77'he!-ing CrganiJation
if Hser.DetCrganiJationHI == treI
G
a!!ont.%sername = txt%sername.<ext5
1ata)et ds = ne" 1ata)etHI5
ds = a!!ont.DetA!!ont8dHI5
string A!8d = ds.<a#lesN0O./o"sN0ON0O.<o)tringHI5
)essionN"sername"O = txt%sername.<ext5
)essionN"A!id"O = A!8d5
1ata)et ds1 = ne" 1ata)etHI5
org.Crgid =int.:arseHA!8dI5
ds1 = org.DetCrgAddress8dHI5
)essionN"addid"O=ds1.<a#lesN0O./o"sN0ON0O.<o)tringHI5
/es$onse./edire!tH"P7CrganiJation7CrganiJationEome.as$x"I5
M
else
8mage..(isi#le = tre5
l#l+sg.<ext = "0or Fogin Atem$t 8s ,ailed :lJ try Again....!"5
txt:ass"ord.<ext = ""5
txt%sername.,o!sHI5
77>m$loyee 'he!-ing
if Hser.'he!->m$loyeeHI == treI
G
a!!ont.%sername = txt%sername.<ext5
1ata)et ds = ne" 1ata)etHI5
ds = a!!ont.DetA!!ont8dHI5
string A!8d = ds.<a#lesN0O./o"sN0ON0O.<o)tringHI5
)essionN"sername"O = txt%sername.<ext5
)essionN"A!id"O = A!8d5
/es$onse./edire!tH"P7'all'enter7'all'enterEome.as$x"I5
M

M
M
Testin
B.1. INTRODUCTION
&oftware testing is a critical element of software uality assurance and represents the
ultimate review of specification" design and coding. In fact" testing is the one step in the software
engineering process that could be viewed as destructive rather than constructive.
! strategy for software testing integrates software test case design methods into a well-
planned series of steps that result in the successful construction of software. Testing is the set of
activities that can be planned in advance and conducted systematically. The underlying
motivation of program testing is to affirm software uality with methods that can economically
and effectively apply to both strategic to both large and small-scale systems.
B.2. !TR%TE3IC %PPRO%C5 TO !O'T2%RE TE!TIN3
The software engineering process can be viewed as a spiral. Initially system engineering
defines the role of software and leads to software reuirement analysis where the information
domain" functions" behavior" performance" constraints and validation criteria for software are
established. Moving inward along the spiral" we come to design and finally to coding. To
develop computer software we spiral in along streamlines that decrease the level of abstraction
on each turn.
%*IT T:&TI*B
MO$%(: T:&TI*B
&%B-&H&T:M
T:&I*B
&H&T:M T:&TI*B
!,,:)T!*,:
T:&TI*B
Component Testing
Integration Testing
User Testing
B.). Unit Testin
%nit testing focuses verification effort on the smallest unit of software design" the module. The
unit testing we have is white bo0 oriented and some modules the steps are conducted in parallel.
1. 25ITE 1OC TE!TIN3
This type of testing ensures that
!ll independent paths have been e0ercised at least once
!ll logical decisions have been e0ercised on their true and false sides
!ll loops are e0ecuted at their boundaries and within their operational bounds
!ll internal data structures have been e0ercised to assure their validity.
To follow the concept of white bo0 testing we have tested each form .we have created
independently to verify that $ata flow is correct" !ll conditions are e0ercised to check their
validity" !ll loops are e0ecuted on their boundaries.
2. 1%!IC P%T5 TE!TIN3
:stablished techniue of flow graph with ,yclomatic comple0ity was used to derive test cases
for all the functions. The main steps in deriving test cases were;
%se the design of the code and draw correspondent flow graph.
$etermine the ,yclomatic comple0ity of resultant flow graph" using formula;
E?B@U:-*O1 or
E?B@U)O6 or
E?B@U*umber Of 4egions
3here E?B@ is ,yclomatic comple0ity"
: is the number of edges"
* is the number of flow graph nodes"
) is the number of predicate nodes.
$etermine the basis of set of linearly independent paths.
). CONDITION%0 TE!TIN3
In this part of the testing each of the conditions were tested to both true and false aspects. !nd all
the resulting paths were tested. &o that each path that may be generate on particular condition is
traced to uncover any possible errors.
+. D%T% '0O2 TE!TIN3
This type of testing selects the path of the program according to the location of definition
and use of variables. This kind of testing was used only when some local variable were declared.
The definition-use chain method was used in this type of testing. These were particularly useful
in nested statements.
8. 0OOP TE!TIN3
In this type of testing all the loops are tested to all the limits possible. The following e0ercise was
adopted for all loops;
!ll the loops were tested at their limits" #ust above them and #ust below them.
!ll the loops were skipped at least once.
/or nested loops test the inner most loop first and then work outwards.
/or concatenated loops the values of dependent loops were set with the help of connected
loop.
%nstructured loops were resolved into nested loops or concatenated loops and tested as
above.
:ach unit has been separately tested by the development team itself and all the input have been
validated.
O(tp(t !creens
5ome P#e

%$min 0oin
%$min 5ome
%$$ new Or#ni4#tion

Retrievin Or#ni4#tion inform#tion

%DD NE2 COUNTR9
Co(ntr" Inform#tion
%DD NE2 !T%TE
!t#te Inform#tion
%DD NE2 CIT9
Cit" Inform#tion
%DD NE2 0OC%TION
0oc#tion Inform#tion
Reistr#tion 'orm 'or %ll Users
0oin form
User 5ome
!e#rc*'orDonor
Up$#te %cco(nt Det#ils
Re,(est for bloo$
CONC0U!ION
It has been a great pleasure for me to work on this e0citing and challenging pro#ect. This
pro#ect proved good for me as it provided practical knowledge of not only programming in
!&).*:T and EB.*:T web based application and no some e0tent 3indows !pplication and
&'( &erver" but also about all handling procedure related with D1loo$ 1e,(e#t* 'e$er#lE. It
also provides knowledge about the latest technology used in developing web enabled application
and client server technology that will be great demand in future. This will provide better
opportunities and guidance in future in developing pro#ects independently.
1ENE'IT!&
The pro#ect is identified by the merits of the system offered to the user. The merits of this pro#ect
are as follows; -
It>s a web-enabled pro#ect.
This pro#ect offers user to enter the data through simple and interactive forms. This is very
helpful for the client to enter the desired information through so much simplicity.
The user is mainly more concerned about the validity of the data" whatever he is entering.
There are checks on every stages of any new creation" data entry or updation so that the user
cannot enter the invalid data" which can create problems at later date.
&ometimes the user finds in the later stages of using pro#ect that he needs to update some of
the information that he entered earlier. There are options for him by which he can update the
records. Moreover there is restriction for his that he cannot change the primary data field.
This keeps the validity of the data to longer e0tent.
%ser is provided the option of monitoring the records he entered earlier. Ce can see the
desired records with the variety of options provided by him.
/rom every part of the pro#ect the user is provided with the links through framing so that he
can go from one option of the pro#ect to other as per the reuirement. This is bound to be
simple and very friendly as per the user is concerned. That is" we can sat that the pro#ect is
user friendly which is one of the primary concerns of any good pro#ect.
$ata storage and retrieval will become faster and easier to maintain because data is stored in
a systematic manner and in a single database.
$ecision making process would be greatly enhanced because of faster processing of
information since data collection from information available on computer takes much less
time then manual system.
!llocating of sample results becomes much faster because at a time the user can see the
records of last years.
:asier and faster data transfer through latest technology associated with the computer and
communication.
Through these features it will increase the efficiency" accuracy and transparency"
F.1 0I7IT%TION!&
The size of the database increases day-by-day" increasing the load on the database back up
and data maintenance activity.
Training for simple computer operations is necessary for the users working on the system.
1I10IO3R%P59
'OR .NET IN!T%00%TION
www.support.mircosoft.com
'OR DEP0O97ENT %ND P%C;IN3 ON !ER/ER
www.developer.com
www.68seconds.com
'OR !60
www.msdn.microsoft.com
'OR %!P.NET
www.msdn.microsoft.com9net9uickstart9aspplus9default.com
www.asp.net
www.fme0pense.com9uickstart9aspplus9default.com
www.asptoday.com
www.aspfree.com
www.7guysfromrolla.com9inde0.asp0