You are on page 1of 134

Downloaded from http://students3k.

Submitted to Osmania University for the partial fulfillment of the
Requirement for the

Aard of !e"ree for

!one by
Mr. /Miss. XXXXXX
##### Institute of Management & Computer Sciences
- 1 -
Downloaded from

This is to certify that Mr. XXXX, bearing Roll No. XXXXXXXXXXX hae
!eelope! Soft"are pro#ect title! XXXXXXXX for ''' SO&T(ARE SO)UT%ONS as
a partial $ulfillment for the a"ar! of the %egree of XXXXXXX.
### institute of *ana"ement +
Computer S,ien,es
- 2 -
Downloaded from
My e&press than's an! gratitu!e an! than's to (lmighty )o!, my parents
an! other family members an! frien!s "ithout "hose uncontaine! support, I coul!
not hae ma!e this career in XXXX.
I "ish to place on my recor! my !eep sense of gratitu!e to my pro#ect
gui!e, *r/ #####0 ''' Softare Solutions0 $yderabad for his constant
motiation an! aluable help through the pro#ect "or'. *&press my gratitu!e to
*r/ ####, %irector of XXXXX %nstitute of *ana"ement + Computer S,ien,es
for his aluable suggestions an! a!ices through out the XXX course. I also e&ten!
my than's to other $aculties for their Cooperation !uring my Course.
$inally I "oul! li'e to than' my frien!s for their cooperation to complete this
- 3 -
Downloaded from

- 4 -
Downloaded from
This pro#ect is aime! at !eeloping an online search +ortal for the +lacement %ept.
of the college. The system is an online application that can be accesse! throughout
the organi,ation an! outsi!e as "ell "ith proper login proi!e!. This system can
be use! as an -nline .ob +ortal for the +lacement %ept of the college to manage
the stu!ent information "ith regar!s to placement. Stu!ents logging shoul! be
able to uploa! their information in the form of a C/. /isitors/Company
representaties logging in may also access/search any information put up by
The pro#ect has been planne! to be haing the ie" of !istribute!
architecture, "ith centrali,e! storage of the !atabase. The application for the
storage of the !ata has been planne!. 0sing the constructs of MS1S23 Serer an!
all the user interfaces hae been !esigne! using the (S+.Net technologies. The
!atabase connectiity is planne! using the 4S23 Connection5 metho!ology. The
stan!ar!s of security an! !ata protectie mechanism hae been gien a big choice
for proper usage. The application ta'es care of !ifferent mo!ules an! their
associate! reports, "hich are pro!uce! as per the applicable strategies an!
stan!ar!s that are put for"ar!e! by the a!ministratie staff.
The entire pro#ect has been !eelope! 'eeping in ie" of the !istribute!
client serer computing technology, in min!. The specification has been normali,e!
up to 6N$ to eliminate all the anomalies that may arise !ue to the !atabase
transaction that are e&ecute! by the general users an! the organi,ational
a!ministration. The user interfaces are bro"ser specific to gie !istribute!
accessibility for the oerall system. The internal !atabase has been selecte! as
MS1S23 serer 788.The basic constructs of table spaces, clusters an! in!e&es hae
been e&ploite! to proi!e higher consistency an! reliability for the !ata storage.
The MS1S23 serer 788 "as a choice as it proi!es the constructs of high1leel
reliability an! security. The total front en! "as !ominate! using the (S+.Net
technologies. (t all proper leels high care "as ta'en to chec' that the system
manages the !ata consistency "ith proper business rules or ali!ations. The
- 5 -
Downloaded from
!atabase connectiity "as planne! using the latest 4S23 Connection5 technology
proi!e! by Microsoft Corporation. The authentication an! authori,ation "as
crosschec'e! at all the releant stages. The user leel accessibility has been
restricte! into t"o ,ones namely.
- 6 -
Downloaded from
-R)(NI9(TI-N +R-$I3*
+0R+-S* -$ T:* +R-.*CT
S-30TI-N -$ T:*S* +R-;3*MS
2/ S3STE* ANA)3S%S
7.=. INTR-%0CTI-N
7.7. S<ST*M >-R?$3->
7.6. ST0%< -$ T:* S<ST*M
7.@. :(R%>(R* & S-$T>(R* R*20IRM*NT
7.A. +R-+-S*% S<ST*M
7.B. IN+0T & -0T+0T
7.C. +R-C*SS M-%*3S 0S*% >IT: .0STI$IC(TI-N
4/ &EAS%5%)%T3 REPORT
6.=. T*C:NIC(3 $*(SI;I3IT<
6.7. -+*R(TI-N(3 $*(SI;I3IT<
6.6. *C-N-MIC $*(SI;I3IT<
@.=. $0NCI-N(3 R*20IR*M*NTS
@.7. +*R$-RM(NC* R*20IR*M*NTS
A.=. INTR-%0CTI-N T- .N*T $R(M*>-R?
A.7. (S+.N*T
A.6. CD.N*T
A.@. S23 S*R/*R
9/ S3STE* !ES%.N
- 7 -
Downloaded from
B.7. S<ST*M >-R?$3->
B.6. N-RM(3I9(TI-N
B.@. *1R %I()R(M
B.A. %(T( $3-> %I()R(MS
B.B. %(T( %ICTI-N(R<
E.7. STR(T*)IC (++R-(C: -$ S-$T>(R* T*STIN)
E.@. T*ST
F.7. S*C0RIT< IN S-$T>(R*
12/ 5%5)%O.RAP$3
- 8 -
Downloaded from
Chapter 1
- 9 -
Downloaded from
- 10 -
Downloaded from
This pro#ect is aime! at !eeloping an online search +ortal for the
+lacement %etails for #ob see'ers. The system is an online application that can be
accesse! throughout the organi,ation an! outsi!e as "ell "ith proper login
proi!e!. This system can be use! as an -nline .ob +ortal for #ob see'ers. .ob
See'ers logging shoul! be able to uploa! their information in the form of a C/.
/isitors/Company representaties logging in may also access/search any
information put up by .ob aspirants.
1/2/ OR.AN%?AT%ON PRO&%)E
&&& Soft"are Solutions is an IT solution proi!er for a !ynamic enironment
"here business an! technology strategies conerge. Their approach focuses on
ne" "ays of business combining IT innoation an! a!option "hile also leeraging
an organi,ationGs current IT assets. Their "or' "ith large global corporations an!
ne" pro!ucts or serices an! to implement pru!ent business an! technology
strategies in to!ayGs enironment.
Soft"are %eelopment Serices
*ngineering Serices
Systems Integration
Customer Relationship Management
+ro!uct %eelopment
*lectronic Commerce
IT -utsourcing
>e apply technology "ith innoation an! responsibility to achiee t"o broa!
- 11 -
Downloaded from
*ffectiely a!!ress the business issues our customers face to!ay.
)enerate ne" opportunities that "ill help them stay ahea! in the future.
( strategy "here "e architect, integrate an! manage technology serices an!
solutions 1 "e call it (IM for success.
( robust offshore !eelopment metho!ology an! re!uce! !eman! on customer
( focus on the use of reusable frame"or's to proi!e cost an! times benefits.
They combine the best people, processes an! technology to achiee e&cellent
results 1 consistency. >e offer customers the a!antages ofH
They un!erstan! the importance of timing, of getting there before the
competition. ( rich portfolio of reusable, mo!ular frame"or's helps #ump1start
pro#ects. Trie! an! teste! metho!ology ensures that "e follo" a pre!ictable, lo" 1
ris' path to achiee results. -ur trac' recor! is testimony to comple& pro#ects
!eliere! "ithin an! eens before sche!ule.
-ur teams combine cutting e!ge technology s'ills "ith rich !omain
e&pertise. >hatGs eIually important 1 they share a strong customer orientation
that means they actually start by listening to the customer. TheyGre focuse! on
coming up "ith solutions that sere customer reIuirements to!ay an! anticipate
future nee!s.
They offer customers the a!antage of being able to (rchitect, integrate an!
manage technology serices. This means that they can rely on one, fully
accountable source instea! of trying to integrate !isparate multi en!or solutions.
- 12 -
Downloaded from
X&& is proi!ing itGs serices to companies "hich are in the fiel! of
pro!uction, Iuality control etc >ith their rich e&pertise an! e&perience an!
information technology they are in best position to proi!e soft"are solutions to
!istinct business reIuirements.
This system can be use! as an -nline .ob +ortal for the +lacements
proi!ing to the un employees "ho are see'ing for a #ob placement. .ob See'er
logging into the system an! he can shoul! be able to uploa! their information in
the form of a C/. /isitors/Company representaties logging in may also
access/search any information put up by .ob See'er.
1/6/ PRO5)E* %N E#%ST%N. S3STE*
Cannot 0ploa! an! %o"nloa! the latest up!ates.
No use of >eb Serices an! Remoting.
Ris' of mismanagement an! of !ata "hen the pro#ect is un!er
3ess Security.
No proper coor!ination bet"een !ifferent (pplications an! 0sers.
$e"er 0sers 1 $rien!ly.
The !eelopment of the ne" system contains the follo"ing actiities, "hich try to
automate the entire process 'eeping in ie" of the !atabase integration approach.
- 13 -
Downloaded from
=. 0ser frien!liness is proi!e! in the application "ith arious controls.
7. The system ma'es the oerall pro#ect management much easier an!
6. Rea!ily uploa! the latest up!ates, allo"s user to !o"nloa! the alerts by
clic'ing the 0R3.
@. There is no ris' of !ata mismanagement at any leel "hile the pro#ect
!eelopment is un!er process.
A. It proi!es high leel of security "ith !ifferent leel of authentication.
- 14 -
Downloaded from
Chapter 2
- 15 -
Downloaded from
(fter analy,ing the reIuirements of the tas' to be performe!, the ne&t step is to
analy,e the problem an! un!erstan! its conte&t. The first actiity in the phase is
- 16 -
Downloaded from
stu!ying the e&isting system an! other is to un!erstan! the reIuirements an!
!omain of the ne" system. ;oth the actiities are eIually important, but the first
actiity seres as a basis of giing the functional specifications an! then successful
!esign of the propose! system. 0n!erstan!ing the properties an! reIuirements of
a ne" system is more !ifficult an! reIuires creatie thin'ing an! un!erstan!ing of
e&isting running system is also !ifficult, improper un!erstan!ing of present system
can lea! !iersion from solution.
2/2/ ANA)3S%S *O!E)
The mo!el that is basically being follo"e! is the >(T*R $(33 M-%*3, "hich
states that the phases are organi,e! in a linear or!er. $irst of all the feasibility
stu!y is !one. -nce that part is oer the reIuirement analysis an! pro#ect
planning begins. If system e&ists one an! mo!ification an! a!!ition of ne" mo!ule
is nee!e!, analysis of present system can be use! as basic mo!el.
The !esign starts after the reIuirement analysis is complete an! the co!ing
begins after the !esign is complete. -nce the programming is complete!, the
testing is !one. In this mo!el the seIuence of actiities performe! in a soft"are
!eelopment pro#ect areH 1
ReIuirement (nalysis
+ro#ect +lanning
System !esign
%etail !esign
0nit testing
System integration & testing
:ere the linear or!ering of these actiities is critical. *n! of the phase an!
the output of one phase is the input of other phase. The output of each phase is to
be consistent "ith the oerall reIuirement of the system. Some of the Iualities of
- 17 -
Downloaded from
spiral mo!el are also incorporate! li'e after the people concerne! "ith the pro#ect
reie" completion of each of the phase the "or' !one.
>(T*R $(33 M-%*3 "as being chosen because all reIuirements "ere 'no"n
beforehan! an! the ob#ectie of our soft"are !eelopment is the
computeri,ation/automation of an alrea!y e&isting manual "or'ing system.
&i" 2/2A (ater &all *odel
2/4/ STU!3 O& T$E S3STE*
- 18 -
Produ,t Produ,t
Downloaded from
In the fle&ibility of the uses the interface has been !eelope! a graphics concept in min!,
associate! through a bro"ses interface. The )0IGS at the top leel hae been categori,e!
=. (!ministratie user interface
7. The operational or generic user interface
The a!ministratie user interface concentrates on the consistent information that is
practically, part of the organi,ational actiities an! "hich nee!s proper authentication for
the !ata collection. The interfaces help the a!ministrations "ith all the transactional states
li'e %ata insertion, %ata !eletion an! %ate up!ation along "ith the e&tensie !ata search
The operational or generic user interface helps the users upon the system in transactions
through the e&isting !ata an! reIuire! serices. The operational user interface also helps
the or!inary users in managing their o"n information helps the or!inary users in
managing their o"n information in a customi,e! manner as per the assiste! fle&ibilities.
The system after careful analysis has been i!entifie! to be presente! "ith the follo"ing
The modules involved areA
.ob See'er
.ob +roi!er
- 19 -
Downloaded from
In this mo!ule (!min "ill a!! all the Iualifications, s'ill, e&perience, city, state,
country an! up!ate an! !elete information about the #ob proi!er or #ob see'er he
can also search for the #ob see'er an! he can sen! mail to offer the #ob to #ob
see'er an! he can also see the #obs a!! by the #ob proi!er.
.ob See'er
In this mo!ule .ob See'er register him self an! uploa! his resume an! fill the
profile gie by a!min an! after login he "ill search for the #ob on arious
con!itions an! he can change his profiles an! resume an! he can apply for the
#obs base! on arious con!itions. :e can see the response of the company an! he
can call the company person for the interie".
.ob proi!er
In this mo!ule .ob +roi!er register him self an! his company an! after login he
"ill a!! ne" #ob an! he can search for the #ob see'ers on arious con!ition an! he
can offer the #ob to #ob see'er accor!ing to the #ob profile an! he can also see the
response from the #ob see'ers an! sen! the mail.
In this mo!ule a!min an! #ob proi!er sen! the notification to the #ob see'er in
the form of email.
This mo!ule contains all the information about the reports generate! by the a!min
base! on the particular #ob see'er, particular #ob proi!er, all #ob see'er an! #ob
proi!er, all #obs generate! by the #ob proi!ers.
This mo!ule contains all the information about the authenticate! user. 0ser
"ithout his username an! pass"or! canGt enter into the login if he is only the
authenticate! user then he can enter to his login.
- 20 -
Downloaded from
;ase! on the gien reIuirements, conceptuali,e the Solution (rchitecture. Choose the !omain
of your interest other"ise !eelop the application for ultimate! %epict the arious
architectural components, sho" interactions an! connecte!ness an! sho" internal an! e&ternal
elements. %esign the "eb serices, "eb metho!s an! !atabase infrastructure nee!e! both an!
client an! serer.
+roi!e an enironment for upgra!ation of application for ne"er ersions that are aailable in
the same !omain as "eb serice target.
2/6/ $AR!(ARE SPE!%&%CAT%ONS

+I/ 7.E ):, +rocessor an! (boe
R(M A=7M; an! (boe
:%% 78 ); :ar! %is' Space an! (boe

>IN%->S -S JX+ / 7888 / 788 Serer / 7886 SererK
/isual Stu!io .Net 788A *nterprise *!ition
Internet Information Serer A.8 JIISK
/isual Stu!io .Net $rame"or' JMinimal for %eploymentK
S23 Serer 7888 *nterprise *!ition
To !ebug the e&isting system, remoe proce!ures those cause !ata re!un!ancy,
ma'e naigational seIuence proper. To proi!e information about au!its on
!ifferent leel an! also to reflect the current "or' status !epen!ing on
organi,ation/au!itor or !ate. To buil! strong pass"or! mechanism.
- 21 -
Downloaded from
>e all 'no" the importance of computeri,ation. The "orl! is moing ahea!
at lightening spee! an! eery one is running short of time. -ne al"ays "ants to
get the information an! perform a tas' he/she/they !esireJsK "ithin a short perio!
of time an! too "ith amount of efficiency an! accuracy. The application areas for
the computeri,ation hae been selecte! on the basis of follo"ing factorsH
Minimi,ing the manual recor!s 'ept at !ifferent locations.
There "ill be more !ata integrity.
$acilitating !esire! information !isplay, ery Iuic'ly, by retrieing information
from users.
$acilitating arious statistical information "hich helps in !ecision1ma'ingL
To re!uce manual efforts in actiities that inole! repetitie "or'.
0p!ating an! !eletion of such a huge amount of !ata "ill become easier.
(s far as the pro#ect is !eelope! the functionality is simple, the ob#ectie of
the proposal is to strengthen the functioning of (u!it Status Monitoring an! ma'e
them effectie an! better. The entire scope has been classifie! into fie streams
'no"s as Coor!inator 3eel, management 3eel, (u!itor 3eel, 0ser 3eel an!
State >eb Coor!inator 3eel. The propose! soft"are "ill coer the information
nee!s "ith respect to each reIuest of the user group i,. accepting the reIuest,
proi!ing ulnerability !ocument report an! the current status of the au!it.
(OR-%N. O& T$E S3STE*
The entire scope has been classifie! into fie streams 'no"n asH 1
Coordinator )evel
J(!!ressing the information management nee!s of coor!inatorK
*ana"ement )evel
- 22 -
Downloaded from
J(!!ressing the information management nee!s of managementK
Auditor )evel
J(!!ressing the information management nee!s of au!itorsK
User )evel
J(!!ressing the information management nee!s of the user groupK
State (eb Coordinator level
J(!!ressing the nee!s of coor!inator of the stateK
The main inputs, outputs an! ma#or functions of the system are as follo"s
:ea! operator enters his or her user i! an! pass"or!.
-perators enter his or her user i! an! pass"or!.
Technicians enter his or her user i! an! pass"or!.
Sub technicians enter his or her user i! an! pass"or!.
0ser reIuests the reports.
0ser reIuests the search.
:ea! operator can e!its the personal !etails an! so on.
:ea! operator receies personal !etails.
-perator receies the personal !etails.
Technicians receie personal an! technical !etails.
0sers receie reIueste! reports.
%isplays search result.
- 23 -
Downloaded from
The follo"ing comman!s specify access control i!entifiers an! they are typically
use! to authori,e an! authenticate the user Jcomman! co!es are sho"n in
The user i!entification is that "hich is reIuire! by the serer for access to its file
system. This comman! "ill normally be the first comman! transmitte! by the user
after the control connections are ma!e Jsome serers may reIuire thisK.
This comman! must be imme!iately prece!e! by the user name comman!, an!,
for some sites, completes the userMs i!entification for access control. Since
pass"or! information is Iuite sensitie, it is !esirable in general to Nmas'N it or
suppress type out.
- 24 -
Downloaded from
Chapter 4
- 25 -
Downloaded from
&easibility Report
- 26 -
Downloaded from
+reliminary inestigation e&amine pro#ect feasibility, the li'elihoo! the
system "ill be useful to the organi,ation. The main ob#ectie of the feasibility
stu!y is to test the Technical, -perational an! *conomical feasibility for a!!ing
ne" mo!ules an! !ebugging ol! running system. (ll system is feasible if they are
unlimite! resources an! infinite time. There are aspects in the feasibility stu!y
portion of the preliminary inestigationH
Technical $easibility
-peration $easibility
*conomical $easibility
4/1/ Te,hni,al &easibility
The technical issue usually raise! !uring the feasibility stage of the
inestigation inclu!es the follo"ingH
%oes the necessary technology e&ist to !o "hat is suggeste!L
%o the propose! eIuipments hae the technical capacity to hol! the !ata
reIuire! to use the ne" systemL
>ill the propose! system proi!e a!eIuate response to inIuiries, regar!less of
the number or location of usersL
Can the system be upgra!e! if !eelope!L
- 27 -
Downloaded from
(re there technical guarantees of accuracy, reliability, ease of access an! !ata
*arlier no system e&iste! to cater to the nee!s of OSecure Infrastructure
Implementation SystemG. The current system !eelope! is technically feasible. It is
a "eb base! user interface for au!it "or'flo" at NIC1CS%. Thus it proi!es an
easy access to the users. The !atabaseGs purpose is to create, establish an!
maintain a "or'flo" among arious entities in or!er to facilitate all concerne!
users in their arious capacities or roles. +ermission to the users "oul! be grante!
base! on the roles specifie!. Therefore, it proi!es the technical guarantee of
accuracy, reliability an! security. The soft"are an! har! reIuirements for the
!eelopment of this pro#ect are not many an! are alrea!y aailable in1house at
NIC or are aailable as free as open source. The "or' for the pro#ect is !one "ith
the current eIuipment an! e&isting soft"are technology. Necessary ban!"i!th
e&ists for proi!ing a fast fee!bac' to the users irrespectie of the number of
users using the system.
4/2/ Operational &easibility
+ropose! pro#ects are beneficial only if they can be turne! out into
information system. That "ill meet the organi,ationGs operating reIuirements.
-perational feasibility aspects of the pro#ect are to be ta'en as an important part
of the pro#ect implementation. Some of the important issues raise! are to test the
operational feasibility of a pro#ect inclu!es the follo"ingH 1
Is there sufficient support for the management from the usersL
>ill the system be use! an! "or' properly if it is being !eelope! an!
>ill there be any resistance from the user that "ill un!ermine the possible
application benefitsL
- 28 -
Downloaded from
This system is targete! to be in accor!ance "ith the aboe1mentione!
issues. ;eforehan!, the management issues an! user reIuirements hae been
ta'en into consi!eration. So there is no Iuestion of resistance from the users that
can un!ermine the possible application benefits.
The "ell1planne! !esign "oul! ensure the optimal utili,ation of the computer
resources an! "oul! help in the improement of performance status.
4/4/ E,onomi, &easibility
( system can be !eelope! technically an! that "ill be use! if installe! must still
be a goo! inestment for the organi,ation. In the economical feasibility, the
!eelopment cost in creating the system is ealuate! against the ultimate benefit
!erie! from the ne" systems. $inancial benefits must eIual or e&cee! the costs.
The system is economically feasible. It !oes not reIuire any a!!ition
har!"are or soft"are. Since the interface for this system is !eelope! using the
e&isting resources an! technologies aailable at NIC, There is nominal e&pen!iture
an! economical feasibility for certain.
- 29 -
Downloaded from
Chapter 6
- 30 -
Downloaded from
- 31 -
Downloaded from
The soft"are, Site *&plorer is !esigne! for management of "eb sites from a remote
PurposeA The main purpose for preparing this !ocument is to gie a general insight into
the analysis an! reIuirements of the e&isting system or situation an! for !etermining the
operating characteristics of the system.
S,opeA This %ocument plays a ital role in the !eelopment life cycle JS%3CK an! it
!escribes the complete reIuirement of the system. It is meant for use by the !eelopers
an! "ill be the basic !uring testing phase. (ny changes ma!e to the reIuirements in the
future "ill hae to go through formal change approal process.
The !eeloper is responsible forH

%eeloping the system, "hich meets the SRS an! soling all the reIuirements of the
%emonstrating the system an! installing the system at clientMs location after the
acceptance testing is successful.
Submitting the reIuire! user manual !escribing the system interfaces to "or' on it
an! also the !ocuments of the system.
- 32 -
Downloaded from
Con!ucting any user training that might be nee!e! for using the system.
Maintaining the system for a perio! of one year after installation.
-utputs from computer systems are reIuire! primarily to communicate the results
of processing to users. They are also use! to proi!es a permanent copy of the results for
later consultation. The arious types of outputs in general areH
*&ternal -utputs, "hose !estination is outsi!e the organi,ation.
Internal -utputs "hose !estination is "ith in organi,ation an! they are the
0serGs main interface "ith the computer.
-perational outputs "hose use is purely "ith in the computer !epartment.
Interface outputs, "hich inole the user in communicating !irectly "ith
The outputs shoul! be !efine! in terms of the follo"ing pointsH
Type of the output
Content of the output
$ormat of the output
3ocation of the output
$reIuency of the output
/olume of the output
SeIuence of the output
It is not al"ays !esirable to print or !isplay !ata as it is hel! on a computer. It
shoul! be !eci!e! as "hich form of the output is the most suitable.
$or *&ample
>ill !ecimal points nee! to be inserte!
Shoul! lea!ing ,eros be suppresse!.
- 33 -
Downloaded from
Output *ediaA
In the ne&t stage it is to be !eci!e! that "hich me!ium is the most appropriate for
the output. The main consi!erations "hen !eci!ing about the output me!ia areH
The suitability for the !eice to the particular application.
The nee! for a har! copy.
The response time reIuire!.
The location of the users
The soft"are an! har!"are aailable.
?eeping in ie" the aboe !escription the pro#ect is to hae outputs mainly coming un!er
the category of internal outputs. The main outputs !esire! accor!ing to the reIuirement
specification areH
The outputs "ere nee!e! to be generate! as a hot copy an! as "ell as Iueries to be
ie"e! on the screen. ?eeping in ie" these outputs, the format for the output is ta'en
from the outputs, "hich are currently being obtaine! after manual processing. The
stan!ar! printer is to be use! as output me!ia for har! copies.
Input !esign is a part of oerall system !esign. The main ob#ectie !uring the input
!esign is as gien belo"H
To pro!uce a cost1effectie metho! of input.
To achie the highest possible leel of accuracy.
To ensure that the input is acceptable an! un!erstoo! by the user.
The main input stages can be liste! as belo"H
%ata recor!ing
%ata transcription
%ata conersion
%ata erification
%ata control
%ata transmission
- 34 -
Downloaded from
%ata ali!ation
%ata correction
It is necessary to !etermine the arious types of inputs. Inputs can be categori,e! as
*&ternal inputs, "hich are prime inputs for the system.
Internal inputs, "hich are user communications "ith the system.
-perational, "hich are computer !epartmentGs communications to the systemL
Interactie, "hich are inputs entere! !uring a !ialogue.
(t this stage choice has to be ma!e about the input me!ia. To conclu!e about the
input me!ia consi!eration has to be gien toP
Type of input
$le&ibility of format
/erification metho!s
Re#ection rates
*ase of correction
Storage an! han!ling reIuirements
*asy to use
?eeping in ie" the aboe !escription of the input types an! input me!ia, it can be
sai! that most of the inputs are of the form of internal an! interactie. (s
Input !ata is to be the !irectly 'eye! in by the user, the 'eyboar! can be consi!ere! to be
the most suitable input !eice.
- 35 -
Downloaded from
(t this stage care is to be ta'en to ensure that input !ata remains accurate form
the stage at "hich it is recor!e! upto the stage in "hich the !ata is accepte! by the
system. This can be achiee! only by means of careful control each time the !ata is
*en though eery effort is ma'e to aoi! the occurrence of errors, still a small
proportion of errors is al"ays li'ely to occur, these types of errors can be !iscoere! by
using ali!ations to chec' the input !ata.
+roce!ures are !esigne! to !etect errors in !ata at a lo"er leel of !etail. %ata
ali!ations hae been inclu!e! in the system in almost eery area "here there is a
possibility for the user to commit errors. The system "ill not accept inali! !ata.
>heneer an inali! !ata is 'eye! in, the system imme!iately prompts the user an! the
user has to again 'ey in the !ata an! the system "ill accept the !ata only if the !ata is
correct. /ali!ations hae been inclu!e! "here necessary.
The system is !esigne! to be a user frien!ly one. In other "or!s the system has
been !esigne! to communicate effectiely "ith the user. The system has been !esigne!
"ith pop up menus.
It is essential to consult the system users an! !iscuss their nee!s "hile !esigning
the user interfaceH
=. 0ser initiate! interface the user is in charge, controlling the progress of the
user/computer !ialogue. In the computer1initiate! interface, the computer selects the
ne&t stage in the interaction.
7. Computer initiate! interfaces
In the computer initiate! interfaces the computer gui!es the progress of the
user/computer !ialogue. Information is !isplaye! an! the user response of the computer
ta'es action or !isplays further information.
- 36 -
Downloaded from
0ser initiate! interfaces fall into to" appro&imate classesH
=. Comman! !rien interfacesH In this type of interface the user inputs comman!s or
Iueries "hich are interprete! by the computer.
7. $orms oriente! interfaceH The user calls up an image of the form to his/her screen an!
fills in the form. The forms oriente! interface is chosen because it is the best choice.
The follo"ing computer Q initiate! interfaces "ere use!H
=. The menu system for the user is presente! "ith a list of alternaties an! the user
chooses oneP of alternaties.
7. 2uestions Q ans"er type !ialog system "here the computer as's Iuestion an! ta'es
action base! on the basis of the users reply.
Right from the start the system is going to be menu !rien, the opening menu
!isplays the aailable options. Choosing one option gies another popup menu "ith more
options. In this "ay eery option lea!s the users to !ata entry form "here the user can
'ey in the !ata.
The !esign of error messages is an important part of the user interface !esign. (s
user is boun! to commit some errors or other "hile !esigning a system the system shoul!
be !esigne! to be helpful by proi!ing the user "ith information regar!ing the error
he/she has committe!.
This application must be able to pro!uce output at !ifferent mo!ules for !ifferent
+erformance is measure! in terms of the output proi!e! by the application.
ReIuirement specification plays an important part in the analysis of a system. -nly
"hen the reIuirement specifications are properly gien, it is possible to !esign a system,
"hich "ill fit into reIuire! enironment. It rests largely in the part of the users of the
- 37 -
Downloaded from
e&isting system to gie the reIuirement specifications because they are the people "ho
finally use the system. This is because the reIuirements hae to be 'no"n !uring the
initial stages so that the system can be !esigne! accor!ing to those reIuirements. It is
ery !ifficult to change the system once it has been !esigne! an! on the other han!
!esigning a system, "hich !oes not cater to the reIuirements of the user, is of no use.
The reIuirement specification for any system can be broa!ly state! as gien belo"H
The system shoul! be able to interface "ith the e&isting system
The system shoul! be accurate
The system shoul! be better than the e&isting system
The e&isting system is completely !epen!ent on the user to perform all the !uties.
Chapter 8
- 38 -
Downloaded from
- 39 -
Downloaded from
8/1/ %NTRO!UCT%ON TO /NET &rameorF
The .N*T $rame"or' is a ne" computing platform that simplifies application !eelopment
in the highly !istribute! enironment of the Internet. The .N*T $rame"or' is !esigne! to
fulfill the follo"ing ob#ectiesH
To proi!e a consistent ob#ect1oriente! programming enironment "hether ob#ect co!e
is store! an! e&ecute! locally, e&ecute! locally but Internet1!istribute!, or e&ecute!
To proi!e a co!e1e&ecution enironment that minimi,es soft"are !eployment an!
ersioning conflicts.
To proi!e a co!e1e&ecution enironment that guarantees safe e&ecution of co!e,
inclu!ing co!e create! by an un'no"n or semi1truste! thir! party.
To proi!e a co!e1e&ecution enironment that eliminates the performance problems of
scripte! or interprete! enironments.
To ma'e the !eeloper e&perience consistent across "i!ely arying types of
applications, such as >in!o"s1base! applications an! >eb1base! applications.
To buil! all communication on in!ustry stan!ar!s to ensure that co!e base! on the
.N*T $rame"or' can integrate "ith any other co!e.
- 40 -
Downloaded from
The .N*T $rame"or' has t"o main componentsH the common language runtime an!
the .N*T $rame"or' class library. The common language runtime is the foun!ation of
the .N*T $rame"or'. <ou can thin' of the runtime as an agent that manages co!e at
e&ecution time, proi!ing core serices such as memory management, threa!
management, an! Remoting, "hile also enforcing strict type safety an! other forms of
co!e accuracy that ensure security an! robustness. In fact, the concept of co!e
management is a fun!amental principle of the runtime. Co!e that targets the runtime is
'no"n as manage! co!e, "hile co!e that !oes not target the runtime is 'no"n as
unmanage! co!e. The class library, the other main component of the .N*T $rame"or', is
a comprehensie, ob#ect1oriente! collection of reusable types that you can use to !eelop
applications ranging from tra!itional comman!1line or graphical user interface J)0IK
applications to applications base! on the latest innoations proi!e! by (S+.N*T, such as
>eb $orms an! XM3 >eb serices.
The .N*T $rame"or' can be hoste! by unmanage! components that loa! the common
language runtime into their processes an! initiate the e&ecution of manage! co!e, thereby
creating a soft"are enironment that can e&ploit both manage! an! unmanage! features.
The .N*T $rame"or' not only proi!es seeral runtime hosts, but also supports the
!eelopment of thir!1party runtime hosts.
$or e&ample, (S+.N*T hosts the runtime to proi!e a scalable, serer1si!e
enironment for manage! co!e. (S+.N*T "or's !irectly "ith the runtime to enable >eb
$orms applications an! XM3 >eb serices, both of "hich are !iscusse! later in this topic.
Internet *&plorer is an e&ample of an unmanage! application that hosts the
runtime Jin the form of a MIM* type e&tensionK. 0sing Internet *&plorer to host the
runtime enables you to embe! manage! components or >in!o"s $orms controls in :TM3
!ocuments. :osting the runtime in this "ay ma'es manage! mobile co!e Jsimilar to
MicrosoftR (ctieXR controlsK possible, but "ith significant improements that only
manage! co!e can offer, such as semi1truste! e&ecution an! secure isolate! file storage.
The follo"ing illustration sho"s the relationship of the common language runtime
an! the class library to your applications an! to the oerall system. The illustration also
sho"s ho" manage! co!e operates "ithin a larger architecture.
- 41 -
Downloaded from
The common language runtime manages memory, threa! e&ecution, co!e
e&ecution, co!e safety erification, compilation, an! other system serices. These features
are intrinsic to the manage! co!e that runs on the common language runtime.
>ith regar!s to security, manage! components are a"ar!e! arying !egrees of
trust, !epen!ing on a number of factors that inclu!e their origin Jsuch as the Internet,
enterprise net"or', or local computerK. This means that a manage! component might or
might not be able to perform file1access operations, registry1access operations, or other
sensitie functions, een if it is being use! in the same actie application.
The runtime enforces co!e access security. $or e&ample, users can trust that an
e&ecutable embe!!e! in a >eb page can play an animation on screen or sing a song, but
cannot access their personal !ata, file system, or net"or'. The security features of the
runtime thus enable legitimate Internet1!eploye! soft"are to be e&ceptionally featuring
The runtime also enforces co!e robustness by implementing a strict type1 an!
co!e1erification infrastructure calle! the common type system JCTSK. The CTS ensures
that all manage! co!e is self1!escribing. The arious Microsoft an! thir!1party language
)enerate manage! co!e that conforms to the CTS. This means that manage! co!e
can consume other manage! types an! instances, "hile strictly enforcing type fi!elity an!
type safety.
In a!!ition, the manage! enironment of the runtime eliminates many common
soft"are issues. $or e&ample, the runtime automatically han!les ob#ect layout an!
manages references to ob#ects, releasing them "hen they are no longer being use!. This
automatic memory management resoles the t"o most common application errors,
memory lea's an! inali! memory references.
The runtime also accelerates !eeloper pro!uctiity. $or e&ample, programmers can
"rite applications in their !eelopment language of choice, yet ta'e full a!antage of the
runtime, the class library, an! components "ritten in other languages by other
!eelopers. (ny compiler en!or "ho chooses to target the runtime can !o so. 3anguage
compilers that target the .N*T $rame"or' ma'e the features of the .N*T $rame"or'
- 42 -
Downloaded from
aailable to e&isting co!e "ritten in that language, greatly easing the migration process
for e&isting applications.
>hile the runtime is !esigne! for the soft"are of the future, it also supports
soft"are of to!ay an! yester!ay. Interoperability bet"een manage! an! unmanage! co!e
enables !eelopers to continue to use necessary C-M components an! %33s.
The runtime is !esigne! to enhance performance. (lthough the common language
runtime proi!es many stan!ar! runtime serices, manage! co!e is neer interprete!. (
feature calle! #ust1in1time J.ITK compiling enables all manage! co!e to run in the natie
machine language of the system on "hich it is e&ecuting. Mean"hile, the memory
manager remoes the possibilities of fragmente! memory an! increases memory locality1
of1reference to further increase performance.
$inally, the runtime can be hoste! by high1performance, serer1si!e applications,
such as MicrosoftR S23 SererS an! Internet Information Serices JIISK. This
infrastructure enables you to use manage! co!e to "rite your business logic, "hile still
en#oying the superior performance of the in!ustryMs best enterprise serers that support
runtime hosting.
The .N*T $rame"or' class library is a collection of reusable types that tightly
integrate "ith the common language runtime. The class library is ob#ect oriente!,
proi!ing types from "hich your o"n manage! co!e can !erie functionality. This not only
ma'es the .N*T $rame"or' types easy to use, but also re!uces the time associate! "ith
learning ne" features of the .N*T $rame"or'. In a!!ition, thir!1party components can
integrate seamlessly "ith classes in the .N*T $rame"or'.
$or e&ample, the .N*T $rame"or' collection classes implement a set of interfaces
that you can use to !eelop your o"n collection classes. <our collection classes "ill blen!
seamlessly "ith the classes in the .N*T $rame"or'.
(s you "oul! e&pect from an ob#ect1oriente! class library, the .N*T $rame"or'
types enable you to accomplish a range of common programming tas's, inclu!ing tas's
such as string management, !ata collection, !atabase connectiity, an! file access. In
a!!ition to these common tas's, the class library inclu!es types that support a ariety of
- 43 -
Downloaded from
speciali,e! !eelopment scenarios. $or e&ample, you can use the .N*T $rame"or' to
!eelop the follo"ing types of applications an! sericesH
Console applications.
Scripte! or hoste! applications.
>in!o"s )0I applications J>in!o"s $ormsK.
(S+.N*T applications.
XM3 >eb serices.
>in!o"s serices.
$or e&ample, the >in!o"s $orms classes are a comprehensie set of reusable types
that astly simplify >in!o"s )0I !eelopment. If you "rite an (S+.N*T >eb $orm
application, you can use the >eb $orms classes.
Client applications are the closest to a tra!itional style of application in >in!o"s1
base! programming. These are the types of applications that !isplay "in!o"s or forms on
the !es'top, enabling a user to perform a tas'. Client applications inclu!e applications
such as "or! processors an! sprea!sheets, as "ell as custom business applications such
as !ata1entry tools, reporting tools, an! so on. Client applications usually employ
"in!o"s, menus, buttons, an! other )0I elements, an! they li'ely access local resources
such as the file system an! peripherals such as printers.
(nother 'in! of client application is the tra!itional (ctieX control Jno" replace! by
the manage! >in!o"s $orms controlK !eploye! oer the Internet as a >eb page. This
application is much li'e other client applicationsH it is e&ecute! natiely, has access to
local resources, an! inclu!es graphical elements.
In the past, !eelopers create! such applications using C/CTT in con#unction "ith
the Microsoft $oun!ation Classes JM$CK or "ith a rapi! application !eelopment JR(%K
enironment such as MicrosoftR /isual ;asicR. The .N*T $rame"or' incorporates aspects
of these e&isting pro!ucts into a single, consistent !eelopment enironment that
!rastically simplifies the !eelopment of client applications.
The >in!o"s $orms classes containe! in the .N*T $rame"or' are !esigne! to be
use! for )0I !eelopment. <ou can easily create comman! "in!o"s, buttons, menus,
- 44 -
Downloaded from
toolbars, an! other screen elements "ith the fle&ibility necessary to accommo!ate shifting
business nee!s.
$or e&ample, the .N*T $rame"or' proi!es simple properties to a!#ust isual
attributes associate! "ith forms. In some cases the un!erlying operating system !oes not
support changing these attributes !irectly, an! in these cases the .N*T $rame"or'
automatically recreates the forms. This is one of many "ays in "hich the .N*T $rame"or'
integrates the !eeloper interface, ma'ing co!ing simpler an! more consistent.
0nli'e (ctieX controls, >in!o"s $orms controls hae semi1truste! access to a
userMs computer. This means that binary or natiely e&ecuting co!e can access some of
the resources on the userMs system Jsuch as )0I elements an! limite! file accessK "ithout
being able to access or compromise other resources. ;ecause of co!e access security,
many applications that once nee!e! to be installe! on a userMs system can no" be safely
!eploye! through the >eb. <our applications can implement the features of a local
application "hile being !eploye! li'e a >eb page.
Server Appli,ation !evelopment
Serer1si!e applications in the manage! "orl! are implemente! through runtime
hosts. 0nmanage! applications host the common language runtime, "hich allo"s your
custom manage! co!e to control the behaior of the serer. This mo!el proi!es you "ith
all the features of the common language runtime an! class library "hile gaining the
performance an! scalability of the host serer.
The follo"ing illustration sho"s a basic net"or' schema "ith manage! co!e
running in !ifferent serer enironments. Serers such as IIS an! S23 Serer can perform
stan!ar! operations "hile your application logic e&ecutes through the manage! co!e.
(S+.N*T is the hosting enironment that enables !eelopers to use the .N*T
$rame"or' to target >eb1base! applications. :o"eer, (S+.N*T is more than #ust a
runtime hostP it is a complete architecture for !eeloping >eb sites an! Internet1
!istribute! ob#ects using manage! co!e. ;oth >eb $orms an! XM3 >eb serices use IIS
- 45 -
Downloaded from
an! (S+.N*T as the publishing mechanism for applications, an! both hae a collection of
supporting classes in the .N*T $rame"or'.
XM3 >eb serices, an important eolution in >eb1base! technology, are !istribute!,
serer1si!e application components similar to common >eb sites. :o"eer, unli'e >eb1
base! applications, XM3 >eb serices components hae no 0I an! are not targete! for
bro"sers such as Internet *&plorer an! Netscape Naigator. Instea!, XM3 >eb serices
consist of reusable soft"are components !esigne! to be consume! by other applications,
such as tra!itional client applications, >eb1base! applications, or een other XM3 >eb
serices. (s a result, XM3 >eb serices technology is rapi!ly moing application
!eelopment an! !eployment into the highly !istribute! enironment of the Internet.
If you hae use! earlier ersions of (S+ technology, you "ill imme!iately notice the
improements that (S+.N*T an! >eb $orms offers. $or e&ample, you can !eelop >eb
$orms pages in any language that supports the .N*T $rame"or'. In a!!ition, your co!e
no longer nee!s to share the same file "ith your :TT+ te&t Jalthough it can continue to !o
so if you preferK. >eb $orms pages e&ecute in natie machine language because, li'e any
other manage! application, they ta'e full a!antage of the runtime. In contrast,
unmanage! (S+ pages are al"ays scripte! an! interprete!. (S+.N*T pages are faster,
more functional, an! easier to !eelop than unmanage! (S+ pages because they interact
"ith the runtime li'e any manage! application.
The .N*T $rame"or' also proi!es a collection of classes an! tools to ai! in
!eelopment an! consumption of XM3 >eb serices applications. XM3 >eb serices are
built on stan!ar!s such as S-(+ Ja remote proce!ure1call protocolK, XM3 Jan e&tensible
!ata formatK, an! >S%3 J the >eb Serices %escription 3anguageK. The .N*T $rame"or'
is built on these stan!ar!s to promote interoperability "ith non1Microsoft solutions.
$or e&ample, the >eb Serices %escription 3anguage tool inclu!e! "ith the .N*T
$rame"or' S%? can Iuery an XM3 >eb serice publishe! on the >eb, parse its >S%3
!escription, an! pro!uce CD or /isual ;asic source co!e that your application can use to
become a client of the XM3 >eb serice. The source co!e can create classes !erie! from
classes in the class library that han!le all the un!erlying communication using S-(+ an!
XM3 parsing. (lthough you can use the class library to consume XM3 >eb serices
!irectly, the >eb Serices %escription 3anguage tool an! the other tools containe! in the
S%? facilitate your !eelopment efforts "ith the .N*T $rame"or'.
- 46 -
Downloaded from
If you !eelop an! publish your o"n XM3 >eb serice, the .N*T $rame"or'
proi!es a set of classes that conform to all the un!erlying communication stan!ar!s,
such as S-(+, >S%3, an! XM3. 0sing those classes enables you to focus on the logic of
your serice, "ithout concerning yourself "ith the communications infrastructure reIuire!
by !istribute! soft"are !eelopment.
$inally, li'e >eb $orms pages in the manage! enironment, your XM3 >eb serice "ill run
"ith the spee! of natie machine language using the scalable communication of IIS.
(S+.N*T is a programming frame"or' built on the common language runtime that
can be use! on a serer to buil! po"erful >eb applications. (S+.N*T offers seeral
important a!antages oer preious >eb !eelopment mo!elsH
Enhan,ed Performan,e/ (S+.N*T is compile! common language runtime co!e
running on the serer. 0nli'e its interprete! pre!ecessors, (S+.N*T can ta'e a!antage
of early bin!ing, #ust1in1time compilation, natie optimi,ation, an! caching serices
right out of the bo&. This amounts to !ramatically better performance before you eer
"rite a line of co!e.
(orldEClass Tool Support/ The (S+.N*T frame"or' is complemente! by a rich
toolbo& an! !esigner in the /isual Stu!io integrate! !eelopment enironment.
><SI><) e!iting, !rag1an!1!rop serer controls, an! automatic !eployment are #ust a
fe" of the features this po"erful tool proi!es.
Poer and &le'ibility/ ;ecause (S+.N*T is base! on the common language
runtime, the po"er an! fle&ibility of that entire platform is aailable to >eb application
!eelopers. The .N*T $rame"or' class library, Messaging, an! %ata (ccess solutions
are all seamlessly accessible from the >eb. (S+.N*T is also language1in!epen!ent, 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 e&isting inestment in C-M1base! !eelopment is presere!
"hen migrating to (S+.N*T.
Simpli,ity/ (S+.N*T ma'es it easy to perform common tas's, from simple form
submission an! client authentication to !eployment an! site configuration. $or
e&ample, the (S+.N*T page frame"or' allo"s you to buil! user interfaces that cleanly
- 47 -
Downloaded from
separate application logic from presentation co!e an! to han!le eents in a simple,
/isual ;asic 1 li'e forms processing mo!el. (!!itionally, the common language runtime
simplifies !eelopment, "ith manage! co!e serices such as automatic reference
counting an! garbage collection.
*ana"eability/ (S+.N*T employs a te&t1base!, hierarchical configuration system,
"hich simplifies applying settings to your serer enironment an! >eb applications.
;ecause configuration information is store! as plain te&t, ne" settings may be applie!
"ithout the ai! of local a!ministration tools. This N,ero local a!ministrationN philosophy
e&ten!s to !eploying (S+.N*T $rame"or' applications as "ell. (n (S+.N*T $rame"or'
application is !eploye! to a serer simply by copying the necessary files to the serer.
No serer restart is reIuire!, een to !eploy or replace running compile! co!e.
S,alability and Availability/ (S+.N*T has been !esigne! "ith scalability in min!,
"ith features specifically tailore! to improe performance in clustere! an!
multiprocessor enironments. $urther, processes are closely monitore! an! manage!
by the (S+.N*T runtime, so that if one misbehaes Jlea's, !ea!loc'sK, a ne" process
can be create! in its place, "hich helps 'eep your application constantly aailable to
han!le reIuests.
CustomiGability and E'tensibility/ (S+.N*T !eliers a "ell1factore! architecture
that allo"s !eelopers to Nplug1inN their co!e at the appropriate leel. In fact, it is
possible to e&ten! or replace any subcomponent of the (S+.N*T runtime "ith your o"n
custom1"ritten component. Implementing custom authentication or state serices has
neer been easier.
Se,urity/ >ith built in >in!o"s authentication an! per1application configuration,
you can be assure! that your applications are secure.
The Microsoft .N*T +latform currently offers built1in support for three languagesH
CD, /isual ;asic, an! .Script.
The (S+.N*T >eb $orms page frame"or' is a scalable common language runtime
programming mo!el that can be use! on the serer to !ynamically generate >eb pages.
- 48 -
Downloaded from
Inten!e! as a logical eolution of (S+ J(S+.N*T proi!es synta& compatibility "ith
e&isting pagesK, the (S+.N*T >eb $orms frame"or' has been specifically !esigne! to
a!!ress a number of 'ey !eficiencies in the preious mo!el. In particular, it proi!esH
The ability to create an! use reusable 0I controls that can encapsulate common
functionality an! thus re!uce the amount of co!e that a page !eeloper has to "rite.
The ability for !eelopers to cleanly structure their page logic in an or!erly fashion Jnot
Nspaghetti co!eNK.
The ability for !eelopment tools to proi!e strong ><SI><) !esign support for pages
Je&isting (S+ co!e is opaIue to toolsK.
(S+.N*T >eb $orms pages are te&t files "ith an .asp& file name e&tension. They
can be !eploye! throughout an IIS irtual root !irectory tree. >hen a bro"ser client
reIuests .asp& resources, the (S+.N*T runtime parses an! compiles the target file into
a .N*T $rame"or' class. This class can then be use! to !ynamically process incoming
reIuests. JNote that the .asp& file is compile! only the first time it is accesse!P the
compile! type instance is then reuse! across multiple reIuestsK.
(n (S+.N*T page can be create! simply by ta'ing an e&isting :TM3 file an!
changing its file name e&tension to .asp& Jno mo!ification of co!e is reIuire!K. $or
e&ample, the follo"ing sample !emonstrates a simple :TM3 page that collects a userMs
name an! category preference an! then performs a form postbac' to the originating page
"hen a button is clic'e!H
(S+.N*T proi!es synta& compatibility "ith e&isting (S+ pages. This inclu!es
support for UV VW co!e ren!er bloc's that can be intermi&e! "ith :TM3 content "ithin
an .asp& file. These co!e bloc's e&ecute in a top1!o"n manner at page ren!er time.
CO!EE5E$%N! (E5 &OR*S
(S+.N*T supports t"o metho!s of authoring !ynamic pages. The first is the metho!
sho"n in the prece!ing samples, "here the page co!e is physically !eclare! "ithin the
originating .asp& file. (n alternatie approach11'no"n as the co!e1behin! metho!11
enables the page co!e to be more cleanly separate! from the :TM3 content into an
entirely separate file.
- 49 -
Downloaded from
In a!!ition to Jor instea! ofK using UV VW co!e bloc's to program !ynamic
content, (S+.N*T page !eelopers can use (S+.N*T serer controls to program >eb
pages. Serer controls are !eclare! "ithin an .asp& file using custom tags or intrinsic
:TM3 tags that contain a runatIJserverJ attributes alue. Intrinsic :TM3 tags are
han!le! by one of the controls in the System/(eb/U%/$tmlControls namespace. (ny
tag that !oesnMt e&plicitly map to one of the controls is assigne! the type of
Serer controls automatically maintain any client1entere! alues bet"een roun!
trips to the serer. This control state is not store! on the serer Jit is instea! store! "ithin
an Kinput typeIJhiddenJL form fiel! that is roun!1trippe! bet"een reIuestsK. Note
also that no client1si!e script is reIuire!.
In a!!ition to supporting stan!ar! :TM3 input controls, (S+.N*T enables !eelopers
to utili,e richer custom controls on their pages. $or e&ample, the follo"ing sample
!emonstrates ho" the KaspAadrotatorL control can be use! to !ynamically !isplay
rotating a!s on a page.
=. (S+.N*T >eb $orms proi!e an easy an! po"erful "ay to buil! !ynamic >eb 0I.
7. (S+.N*T >eb $orms pages can target any bro"ser client Jthere are no script library or
coo'ie reIuirementsK.
6. (S+.N*T >eb $orms pages proi!e synta& compatibility "ith e&isting (S+ pages.
@. (S+.N*T serer controls proi!e an easy "ay to encapsulate common functionality.
A. (S+.N*T ships "ith @A built1in serer controls. %eelopers can also use controls built
by thir! parties.
B. (S+.N*T serer controls can automatically pro#ect both upleel an! !o"nleel :TM3.
C. (S+.N*T templates proi!e an easy "ay to customi,e the loo' an! feel of list serer
E. (S+.N*T ali!ation controls proi!e an easy "ay to !o !eclaratie client or serer !ata
- 50 -
Downloaded from
(%-.N*T is an eolution of the (%- !ata access mo!el that !irectly a!!resses user
reIuirements for !eeloping scalable applications. It "as !esigne! specifically for the "eb
"ith scalability, statelessness, an! XM3 in min!.
(%-.N*T uses some (%- ob#ects, such as the Conne,tion an! Command ob#ects, an!
also intro!uces ne" ob#ects. ?ey ne" (%-.N*T ob#ects inclu!e the !ataSet,
!ataReader, an! !ataAdapter.
The important !istinction bet"een this eole! stage of (%-.N*T an! preious !ata
architectures is that there e&ists an ob#ect 11 the !ataSet 11 that is separate an! !istinct
from any !ata stores. ;ecause of that, the !ataSet functions as a stan!alone entity. <ou
can thin' of the %ataSet as an al"ays !isconnecte! recor!set that 'no"s nothing about
the source or !estination of the !ata it contains. Insi!e a !ataSet, much li'e in a
!atabase, there are tables, columns, relationships, constraints, ie"s, an! so forth.
( !ataAdapter is the ob#ect that connects to the !atabase to fill the !ataSet.
Then, it connects bac' to the !atabase to up!ate the !ata there, base! on operations
performe! "hile the !ataSet hel! the !ata. In the past, !ata processing has been
primarily connection1base!. No", in an effort to ma'e multi1tiere! apps more efficient,
!ata processing is turning to a message1base! approach that reoles aroun! chun's of
information. (t the center of this approach is the !ataAdapter, "hich proi!es a bri!ge
to retriee an! sae !ata bet"een a !ataSet an! its source !ata store. It accomplishes
this by means of reIuests to the appropriate S23 comman!s ma!e against the !ata store.
The XM31base! !ataSet ob#ect proi!es a consistent programming mo!el that
"or's "ith all mo!els of !ata storageH flat, relational, an! hierarchical. It !oes this by
haing no M'no"le!geM of the source of its !ata, an! by representing the !ata that it hol!s
as collections an! !ata types. No matter "hat the source of the !ata "ithin the !ataSet
is, it is manipulate! through the same set of stan!ar! (+Is e&pose! through the !ataSet
an! its subor!inate ob#ects.
>hile the !ataSet has no 'no"le!ge of the source of its !ata, the manage! proi!er has
!etaile! an! specific information. The role of the manage! proi!er is to connect, fill, an!
persist the !ataSet to an! from !ata stores. The -3* %; an! S23 Serer .N*T %ata
+roi!ers JSystem.%ata.-le%b an! System.%ata.SIlClientK that are part of the .Net
$rame"or' proi!e four basic ob#ectsH the Command, Conne,tion, !ataReader an!
- 51 -
Downloaded from
!ataAdapter. In the remaining sections of this !ocument, "eMll "al' through each part of
the !ataSet an! the -3* %;/S23 Serer .N*T %ata +roi!ers e&plaining "hat they are,
an! ho" to program against them.
The follo"ing sections "ill intro!uce you to some ob#ects that hae eole!, an! some
that are ne". These ob#ects areH
Conne,tions. $or connection to an! managing transactions against a !atabase.
Commands. $or issuing S23 comman!s against a !atabase.
!ataReaders. $or rea!ing a for"ar!1only stream of !ata recor!s from a S23
Serer !ata source.
!ataSets. $or storing, Remoting an! programming against flat !ata, XM3 !ata an!
relational !ata.
!ataAdapters. $or pushing !ata into a !ataSet, an! reconciling !ata against a
>hen !ealing "ith connections to a !atabase, there are t"o !ifferent optionsH S23
Serer .N*T %ata +roi!er JSystem.%ata.SIlClientK an! -3* %; .N*T %ata +roi!er
JSystem.%ata.-le%bK. In these samples "e "ill use the S23 Serer .N*T %ata +roi!er.
These are "ritten to tal' !irectly to Microsoft S23 Serer. The -3* %; .N*T %ata +roi!er
is use! to tal' to any -3* %; proi!er Jas it uses -3* %; un!erneathK.
Connections are use! to Mtal' toM !atabases, an! are represente! by proi!er1
specific classes such as SqlConne,tion. Comman!s trael oer connections an!
resultsets are returne! in the form of streams "hich can be rea! by a !ataReader
ob#ect, or pushe! into a !ataSet ob#ect.
Comman!s contain the information that is submitte! to a !atabase, an! are
represente! by proi!er1specific classes such as SqlCommand. ( comman! can be a
store! proce!ure call, an 0+%(T* statement, or a statement that returns results. <ou can
also use input an! output parameters, an! return alues as part of your comman! synta&.
- 52 -
Downloaded from
The e&ample belo" sho"s ho" to issue an INS*RT statement against the Northind
The !ataReader ob#ect is some"hat synonymous "ith a rea!1only/for"ar!1only cursor
oer !ata. The !ataReader (+I supports flat as "ell as hierarchical !ata. ( !ataReader
ob#ect is returne! after e&ecuting a comman! against a !atabase. The format of the
returne! !ataReader ob#ect is !ifferent from a recor!set. $or e&ample, you might use
the !ataReader to sho" the results of a search list in a "eb page.
The !ataSet ob#ect is similar to the (%- Re,ordset ob#ect, but more po"erful, an! "ith
one other important !istinctionH the !ataSet is al"ays !isconnecte!. The !ataSet ob#ect
represents a cache of !ata, "ith !atabase1li'e structures such as tables, columns,
relationships, an! constraints. :o"eer, though a !ataSet can an! !oes behae much
li'e a !atabase, it is important to remember that !ataSet ob#ects !o not interact !irectly
"ith !atabases, or other source !ata. This allo"s the !eeloper to "or' "ith a
programming mo!el that is al"ays consistent, regar!less of "here the source !ata
resi!es. %ata coming from a !atabase, an XM3 file, from co!e, or user input can all be
place! into !ataSet ob#ects. Then, as changes are ma!e to the !ataSet they can be
trac'e! an! erifie! before up!ating the source !ata. The .etChan"es metho! of the
!ataSet ob#ect actually creates a secon! !atSet that contains only the changes to the
!ata. This !ataSet is then use! by a !ataAdapter Jor other ob#ectsK to up!ate the
original !ata source.
The !ataSet has many XM3 characteristics, inclu!ing the ability to pro!uce an! consume
XM3 !ata an! XM3 schemas. XM3 schemas can be use! to !escribe schemas interchange!
ia >ebSerices. In fact, a !ataSet "ith a schema can actually be compile! for type
safety an! statement completion.
- 53 -
Downloaded from
The !ataAdapter ob#ect "or's as a bri!ge bet"een the !ataSet an! the source
!ata. 0sing the proi!er1specific Sql!ataAdapter Jalong "ith its associate!
SqlCommand an! SqlConne,tionK can increase oerall performance "hen "or'ing "ith
a Microsoft S23 Serer !atabases. $or other -3* %;1supporte! !atabases, you "oul! use
the Ole!b!ataAdapter ob#ect an! its associate! Ole!bCommand an!
Ole!bConne,tion ob#ects.
The !ataAdapter ob#ect uses comman!s to up!ate the !ata source after changes
hae been ma!e to the !ataSet. 0sing the &ill metho! of the !ataAdapter calls the
S*3*CT comman!P using the Update metho! calls the INS*RT, 0+%(T* or %*3*T*
comman! for each change! ro". <ou can e&plicitly set these comman!s in or!er to control
the statements use! at runtime to resole changes, inclu!ing the use of store!
proce!ures. $or a!1hoc scenarios, a Command5uilder ob#ect can generate these at run1
time base! upon a select statement. :o"eer, this run1time generation reIuires an e&tra
roun!1trip to the serer in or!er to gather reIuire! meta!ata, so e&plicitly proi!ing the
INS*RT, 0+%(T*, an! %*3*T* comman!s at !esign time "ill result in better run1time
=. (%-.N*T is the ne&t eolution of (%- for the .Net $rame"or'.
7. (%-.N*T "as create! "ith n1Tier, statelessness an! XM3 in the forefront. T"o ne"
ob#ects, the !ataSet an! !ataAdapter, are proi!e! for these scenarios.
6. (%-.N*T can be use! to get !ata from a stream, or to store !ata in a cache for
@. There is a lot more information about (%-.N*T in the !ocumentation.
A. Remember, you can e&ecute a comman! !irectly against the !atabase in or!er to
!o inserts, up!ates, an! !eletes. <ou !onMt nee! to first put !ata into a !ataSet in
or!er to insert, up!ate, or !elete it.
B. (lso, you can use a !ataSet to bin! to the !ata, moe through the !ata, an!
naigate !ata relationships
( !atabase management, or %;MS, gies the user access to their !ata an! helps
them transform the !ata into information. Such !atabase management systems inclu!e
- 54 -
Downloaded from
!;ase, para!o&, IMS, S23 Serer an! S23 Serer. These systems allo" users to create,
up!ate an! e&tract information from their !atabase.
( !atabase is a structure! collection of !ata. %ata refers to the characteristics of
people, things an! eents. S23 Serer stores each !ata item in its o"n fiel!s. In S23
Serer, the fiel!s relating to a particular person, thing or eent are bun!le! together to
form a single complete unit of !ata, calle! a recor! Jit can also be referre! to as ra" or an
occurrenceK. *ach recor! is ma!e up of a number of fiel!s. No t"o fiel!s in a recor! can
hae the same fiel! name.
%uring an S23 Serer %atabase !esign pro#ect, the analysis of your business nee!s
i!entifies all the fiel!s or attributes of interest. If your business nee!s change oer time,
you !efine any a!!itional fiel!s or change the !efinition of e&isting fiel!s.
S23 Serer stores recor!s relating to each other in a table. %ifferent tables are
create! for the arious groups of information. Relate! tables are groupe! together to form
a !atabase.
PR%*AR3 -E3
*ery table in S23 Serer has a fiel! or a combination of fiel!s that uniIuely
i!entifies each recor! in the table. The 0niIue i!entifier is calle! the +rimary ?ey, or
simply the ?ey. The primary 'ey proi!es the means to !istinguish one recor! from all
other in a table. It allo"s the user an! the !atabase system to i!entify, locate an! refer
to one particular recor! in the !atabase.
Sometimes all the information of interest to a business operation can be store! in
one table. S23 Serer ma'es it ery easy to lin' the !ata in multiple tables. Matching an
employee to the !epartment in "hich they "or' is one e&ample. This is "hat ma'es S23
Serer a relational !atabase management system, or R%;MS. It stores !ata in t"o or
more tables an! enables you to !efine relationships bet"een the table an! enables you to
!efine relationships bet"een the tables.
&ORE%.N -E3
- 55 -
Downloaded from
>hen a fiel! is one table matches the primary 'ey of another fiel! is referre! to as
a foreign 'ey. ( foreign 'ey is a fiel! or a group of fiel!s in one table "hose alues match
those of the primary 'ey of another table.
Not only !oes S23 Serer allo" you to lin' multiple tables, it also maintains
consistency bet"een them. *nsuring that the !ata among relate! tables is correctly
matche! is referre! to as maintaining referential integrity.
( ma#or purpose of a !atabase system is to proi!e users "ith an abstract ie" of
the !ata. This system hi!es certain !etails of ho" the !ata is store! an! maintaine!.
%ata abstraction is !ii!e! into three leels.
Physi,al levelH This is the lo"est leel of abstraction at "hich one !escribes ho" the
!ata are actually store!.
Con,eptual )evelH (t this leel of !atabase abstraction all the attribute! an! "hat
!ata are actually store! is !escribe! an! entries an! relationship among them.
>ie levelH This is the highest leel of abstraction at "hich one !escribes only part of
the !atabase.
Re!un!ancy can be aoi!e!
Inconsistency can be eliminate!
%ata can be Share!
Stan!ar!s can be enforce!
Security restrictions ca be applie!
Integrity can be maintaine!
Conflicting reIuirements can be balance!
%ata in!epen!ence can be achiee!.
!%SA!>ANTA.ES O& !5*S
- 56 -
Downloaded from
( significant !isa!antage of the %;MS system is cost. In a!!ition to the cost of
purchasing of !eeloping the soft"are, the har!"are has to be upgra!e! to allo" for the
e&tensie programs an! the "or'space reIuire! for their e&ecution an! storage. >hile
centrali,ation re!uces !uplication, the lac' of !uplication reIuires that the !atabase be
a!eIuately bac'e! up so that in case of failure the !ata can be recoere!.
S23 S*R/*R is one of the lea!ing !atabase management systems J%;MSK because
it is the only %atabase that meets the uncompromising reIuirements of to!ayGs most
!eman!ing information systems. $rom comple& !ecision support systems J%SSK to the
most rigorous online transaction processing J-3T+K application, een application that
reIuire simultaneous %SS an! -3T+ access to the same critical !ata, S23 Serer lea!s the
in!ustry in both performance an! capability
S23 S*R/*R is a truly portable, !istribute!, an! open %;MS that !eliers unmatche!
performance, continuous operation an! support for eery !atabase.
S23 S*R/*R R%;MS is high performance fault tolerant %;MS "hich is specially !esigne!
for online transactions processing an! for han!ling large !atabase application.
S23 S*R/*R "ith transactions processing option offers t"o features "hich contribute to
ery high leel of transaction processing throughput, "hich are
The ro" leel loc' manager
The unriale! portability an! connectiity of the S23 S*R/*R %;MS enables all the
systems in the organi,ation to be lin'e! into a singular, integrate! computing resource.
S23 S*R/*R is fully portable to more than E8 !istinct har!"are an! operating
systems platforms, inclu!ing 0NIX, MS%-S, -S/7, Macintosh an! !o,ens of proprietary
platforms. This portability gies complete free!om to choose the !atabase seer platform
that meets the system reIuirements.
- 57 -
Downloaded from
S23 S*R/*R offers a lea!ing implementation of in!ustry Qstan!ar! S23. S23
SererGs open architecture integrates S23 S*R/*R an! non QS23 S*R/*R %;MS "ith
in!ustries most comprehensie collection of tools, application, an! thir! party soft"are
pro!ucts S23 SererGs -pen architecture proi!es transparent access to !ata from other
relational !atabase an! een non1relational !atabase.
S23 SererGs net"or'ing an! !istribute! !atabase capabilities to access !ata store!
on remote serer "ith the same ease as if the information "as store! on a single local
computer. ( single S23 statement can access !ata at multiple sites. <ou can store !ata
"here system reIuirements such as performance, security or aailability !ictate.
The most a!ance! architecture in the in!ustry allo"s the S23 S*R/*R %;MS to
!elier unmatche! performance.
Real >orl! applications !eman! access to critical !ata. >ith most !atabase
Systems application becomes 4contention boun!5 Q "hich performance is limite! not by
the C+0 po"er or by !is' I/-, but user "aiting on one another for !ata access . S23
Serer employs full, unrestricte! ro"1leel loc'ing an! contention free Iueries to minimi,e
an! in many cases entirely eliminates contention "ait times.
S23 SererGs fast commit groups commit an! !eferre! "rite technologies
!ramatically re!uce !is' I/- bottlenec's. >hile some !atabase "rite "hole !ata bloc' to
!is' at commit time, S23 Serer commits transactions "ith at most seIuential log file on
!is' at commit time, -n high throughput systems, one seIuential "rites typically group
commit multiple transactions. %ata rea! by the transaction remains as share! memory so
that other transactions may access that !ata "ithout rea!ing it again from !is'. Since
fast commits "rite all !ata necessary to the recoery to the log file, mo!ifie! bloc's are
- 58 -
Downloaded from
"ritten bac' to the !atabase in!epen!ently of the transaction commit, "hen "ritten from
memory to !is'.

Chapter 9
- 59 -
Downloaded from
- 60 -
Downloaded from
Soft"are !esign sits at the technical 'ernel of the soft"are engineering
process an! is applie! regar!less of the !eelopment para!igm an! area of
application. %esign is the first step in the !eelopment phase for any engineere!
pro!uct or system. The !esignerGs goal is to pro!uce a mo!el or representation of
an entity that "ill later be built. ;eginning, once system reIuirement hae been
specifie! an! analy,e!, system !esign is the first of the three technical actiities
1!esign, co!e an! test that is reIuire! to buil! an! erify soft"are.
The importance can be state! "ith a single "or! 42uality5. %esign is the
place "here Iuality is fostere! in soft"are !eelopment. %esign proi!es us "ith
representations of soft"are that can assess for Iuality. %esign is the only "ay that
"e can accurately translate a customerGs ie" into a finishe! soft"are pro!uct or
system. Soft"are !esign seres as a foun!ation for all the soft"are engineering
- 61 -
Downloaded from
steps that follo". >ithout a strong !esign "e ris' buil!ing an unstable system Q
one that "ill be !ifficult to test, one "hose Iuality cannot be assesse! until the
last stage.
%uring !esign, progressie refinement of !ata structure, program structure,
an! proce!ural !etails are !eelope! reie"e! an! !ocumente!. System !esign
can be ie"e! from either technical or pro#ect management perspectie. $rom the
technical point of ie", !esign is comprise! of four actiities Q architectural !esign,
!ata structure !esign, interface !esign an! proce!ural !esign.
9/4/ NOR*A)%?AT%ON
It is a process of conerting a relation to a stan!ar! form. The process is use! to
han!le the problems that can arise !ue to !ata re!un!ancy i.e. repetition of !ata in the
!atabase, maintain !ata integrity as "ell as han!ling problems that can arise !ue to
insertion, up!ation, !eletion anomalies.
%ecomposing is the process of splitting relations into multiple relations to eliminate
anomalies an! maintain anomalies an! maintain !ata integrity. To !o this "e use normal
forms or rules for structuring relation.
%nsertion anomalyH Inability to a!! !ata to the !atabase !ue to absence of other !ata.
!eletion anomalyH 0ninten!e! loss of !ata !ue to !eletion of other !ata.
Update anomalyH %ata inconsistency resulting from !ata re!un!ancy an! partial up!ate
Normal &ormsH These are the rules for structuring relations that eliminate anomalies.
- 62 -
Downloaded from
( relation is sai! to be in first normal form if the alues in the relation are atomic
for eery attribute in the relation. ;y this "e mean simply that no attribute alue can be
a set of alues or, as it is sometimes e&presse!, a repeating group.
( relation is sai! to be in secon! Normal form is it is in first normal form an! it
shoul! satisfy any one of the follo"ing rules.
=K +rimary 'ey is a not a composite primary 'ey
7K No non 'ey attributes are present
6K *ery non 'ey attribute is fully functionally !epen!ent on full set of primary 'ey.
T$%R! NOR*A) &OR*H
( relation is sai! to be in thir! normal form if their e&its no transitie !epen!encies.
Transitive !ependen,yH If t"o non 'ey attributes !epen! on each other as "ell as on
the primary 'ey then they are sai! to be transitiely !epen!ent.
The aboe normali,ation principles "ere applie! to !ecompose the !ata in multiple
tables thereby ma'ing the !ata to be maintaine! in a consistent state.
9/6/ E O R !%A.RA*S
The relation upon the system is stru,ture throu"h a ,on,eptual ERE!ia"ram0
hi,h not only spe,ifi,s the e'istential entities but also the standard relations
throu"h hi,h the system e'ists and the ,ardinalities that are ne,essary for the
system state to ,ontinue/
The entity Relationship !ia"ram BER!C depi,ts the relationship beteen the data
obPe,ts/ The ER! is the notation that is used to ,ondu,t the date modelin" a,tivity the
attributes of ea,h data obPe,t noted is the ER! ,an be des,ribed resi"n a data obPe,t
The set of primary ,omponents that are identified by the ER! are
!ata obPe,t Relationships
- 63 -
Downloaded from
Attributes >arious types of indi,ators/
The primary purpose of the ER! is to represent data obPe,ts and their relationships/
9/6/ !ATA &)O( !%A.RA*S
( !ata flo" !iagram is graphical tool use! to !escribe an! analy,e
moement of !ata through a system. These are the central tool an! the basis
from "hich the other components are !eelope!. The transformation of !ata from
input to output, through processe!, may be !escribe! logically an! in!epen!ently
of physical components associate! "ith the system. These are 'no"n as the
logical !ata flo" !iagrams. The physical !ata flo" !iagrams sho" the actual
implements an! moement of !ata bet"een people, !epartments an!
"or'stations. ( full !escription of a system actually consists of a set of !ata flo"
!iagrams. 0sing t"o familiar notations <our!on, )ane an! Sarson notation
!eelops the !ata flo" !iagrams. *ach component in a %$% is labele! "ith a
!escriptie name. +rocess is further i!entifie! "ith a number that "ill be use! for
i!entification purpose. The !eelopment of %$%GS is !one in seeral leels. *ach
process in lo"er leel !iagrams can be bro'en !o"n into a more !etaile! %$% in
the ne&t leel. The lop1leel !iagram is often calle! conte&t !iagram. It consists a
single process bit, "hich plays ital role in stu!ying the current system. The
process in the conte&t leel !iagram is e&plo!e! into other process at the first
leel %$%.
The i!ea behin! the e&plosion of a process into more process is that
un!erstan!ing at one leel of !etail is e&plo!e! into greater !etail at the ne&t
- 64 -
Downloaded from
leel. This is !one until further e&plosion is necessary an! an a!eIuate amount of
!etail is !escribe! for analyst to un!erstan! the process.
3arry Constantine first !eelope! the %$% as a "ay of e&pressing system
reIuirements in a graphical from, this lea! to the mo!ular !esign.
( %$% is also 'no"n as a 4bubble Chart5 has the purpose of clarifying
system reIuirements an! i!entifying ma#or transformations that "ill become
programs in system !esign. So it is the starting point of the !esign to the lo"est
leel of !etail. ( %$% consists of a series of bubbles #oine! by !ata flo"s in the
!&! S3*5O)SA
In the %$%, there are four symbols
=. ( sIuare !efines a sourceJoriginatorK or !estination of system !ata
7. (n arro" i!entifies !ata flo". It is the pipeline through "hich the information
6. ( circle or a bubble represents a process that transforms incoming !ata flo"
into outgoing !ata flo"s.
@. (n open rectangle is a !ata store, !ata at rest or a temporary repository of !ata
+rocess that transforms !ata flo".
Source or %estination of !ata
%ata flo"
%ata Store
- 65 -
Downloaded from
Seeral rules of thumb are use! in !ra"ing %$%GSH
=. +rocess shoul! be name! an! numbere! for an easy reference. *ach name
shoul! be representatie of the process.
7. The !irection of flo" is from top to bottom an! from left to right. %ata
tra!itionally flo" from source to the !estination although they may flo" bac' to
the source. -ne "ay to in!icate this is to !ra" long flo" line bac' to a source.
(n alternatie "ay is to repeat the source symbol as a !estination. Since it is
use! more than once in the %$% it is mar'e! "ith a short !iagonal.
6. >hen a process is e&plo!e! into lo"er leel !etails, they are numbere!.
@. The names of !ata stores an! !estinations are "ritten in capital letters. +rocess
an! !ataflo" names hae the first letter of each "or' capitali,e!
( %$% typically sho"s the minimum contents of !ata store. *ach !ata store
shoul! contain all the !ata elements that flo" in an! out.
2uestionnaires shoul! contain all the !ata elements that flo" in an! out.
Missing interfaces re!un!ancies an! li'e is then accounte! for often through
=. The %$% sho"s flo" of !ata, not of control loops an! !ecision are controlle!
consi!erations !o not appear on a %$%.
7. The %$% !oes not in!icate the time factor inole! in any process "hether the
!ataflo" ta'e place !aily, "ee'ly, monthly or yearly.
6. The seIuence of eents is not brought out on the %$%.
T3PES O& !ATA &)O( !%A.RA*S
=. Current +hysical
7. Current 3ogical
6. Ne" 3ogical
- 66 -
Downloaded from
@. Ne" +hysical
In Current +hysical %$% proecess label inclu!e the name of people or their
positions or the names of computer systems that might proi!e some of the
oerall system1processing label inclu!es an i!entification of the technology use! to
process the !ata. Similarly !ata flo"s an! !ata stores are often labels "ith the
names of the actual physical me!ia on "hich !ata are store! such as file fol!ers,
computer files, business forms or computer tapes.
The physical aspects at the system are remoe! as mush as possible so that
the current system is re!uce! to its essence to the !ata an! the processors that
transform them regar!less of actual physical form.
NE( )O.%CA)H
This is e&actly li'e a current logical mo!el if the user "ere completely happy
"ith he user "ere completely happy "ith the functionality of the current system
but ha! problems "ith ho" it "as implemente! typically through the ne" logical
mo!el "ill !iffer from current logical mo!el "hile haing a!!itional functions,
absolute function remoal an! inefficient flo"s recogni,e!.
The ne" physical represents only the physical implementation of the ne"
RU)ES .O>ERN%N. T$E !&!@S
=K No process can hae only outputs.
7K No process can hae only inputs. If an ob#ect has only inputs than it must be a
- 67 -
Downloaded from
6K ( process has a erb phrase label.
=K %ata cannot moe !irectly from one !ata store to another !ata store, a process
must moe !ata.
7K %ata cannot moe !irectly from an outsi!e source to a !ata store, a process,
"hich receies, must moe !ata from the source an! place the !ata into !ata
6K ( !ata store has a noun phrase label.
The origin an! /or !estination of !ata.
=K %ata cannot moe !irely from a source to sin' it must be moe! by a process
7K ( source an! /or sin' has a noun phrase lan!
!ATA &)O(
=K ( %ata $lo" has only one !irection of flo" bet"een symbols. It may flo" in
both !irections bet"een a process an! a !ata store to sho" a rea! before an
up!ate. The later is usually in!icate! ho"eer by t"o separate arro"s since
these happen at !ifferent type.
7K ( #oin in %$% means that e&actly the same !ata comes from any of t"o or more
!ifferent processes !ata store or sin' to a common location.
6K ( !ata flo" cannot go !irectly bac' to the same process it lea!s. There must
be atleast one other process that han!les the !ata flo" pro!uce some other
!ata flo" returns the original !ata into the beginning process.
@K ( %ata flo" to a !ata store means up!ate J!elete or changeK.
AK ( !ata $lo" from a !ata store means retriee or use.
- 68 -
Downloaded from
( !ata flo" has a noun phrase label more than one !ata flo" noun phrase can
appear on a single arro" as long as all of the flo"s on the same arro" moe
together as one pac'age.
Level DFDs
DFD For New Job Seeker Creation
- 69 -
Job Seeker
Insert e!
Job Seeker
n Details
Job Seeker
'(e)k #or
Downloaded from
DFD For New Job Seeker Creation
- 70 -
Job *rovi+er
Insert e!
Job *rovi+er
n Details
Job *rovi+er
'(e)k #or
Downloaded from
DFD For New Job Search Creation
- 71 -
'(e)k For
'(e)k #or
Insert e!
Job Seeker
Sear)( Job
Job Seeker
Job Seeker
Downloaded from
Level DFDs
DFD For New Recruitment Creation
- 72 -
'(e)k #or
Job Seeker
Job Seeker
Job *rovi+er
Stat,s Details
-$.e Details
Job *rovi+er
Job Seeker
Job Seeker
Insert e!
Job Seeker


'(e)k #or
Job *rovi+er
'(e)k #or Job
Seeker In#o
'(e)k #or
'(e)k #or -$.e
Downloaded from
3r+ Level DFDS
DFD For New Recruitment Creation
- 73 -
Des&-I+ /0
%e1,est #or ne! Job
*ro+-I+ /0
Job *rovi+er Details
"ali+ate Job-
Seek-I+ /0
Stat,s-ID /0
'o33it /0
53.-I+ /0
Job Seeker Details Desi&nation -$.e
Job Seeker Details
Job *rovi+er Stat,s Details Job Seeker stat,s Details
Downloaded from
Collaboration !ia"rams
6+3in Lo&in
6+3in 6++ 'ollaboration Dia&ra3
BAL : clsCountry
DAL : sqlhelper
1 : Add Country()
2 : InsertCountry()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
6+3in 6++ 'it$ 'ollaboration Dia&ra3
- 74 -
Downloaded from
BAL : cls)tate
DAL : sqlhelper
1 : Add City()
2 : InsertCity()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
%e&istration 'ollaboration Dia&ra3
- 75 -
Downloaded from
BAL : Cls%e+istration
DAL : )ql,elper
1 : %e+istration()
2 : Eecute!on"uery()
3 : Eecute!on"uery()
# : %esponse to Eecute!on"uery()
$ : %eturn %esponse()
' : )ho* %esult()
Job%e),riter 2.+ate *ro#ile
- 76 -
Downloaded from
- o.%ecuriter
/pdate - o.%ecuriter 0ro1le
BAL : cls- o.recuriter0ro1le
DAL : sqlhelper
1 : 2odi3y0ro1le()
2 : /pdate0ro1le()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
- 77 -
Downloaded from
Bal : clsCity
Dal : sqlhelper
1 : ln4City()
2 : In5alid Data()
3 : .tn6Add()
# : InsertCities()
$ : Eecute6!onquery()
' : return response()
- 78 -
Downloaded from
Bal : clsCountry
Dal : sqlhelper
1 : ln4Country()
2 : In5alid Data()
3 : .tn6Add()
# : InsertCountries()
$ : Eecute6!onquery()
' : return response()
2ser %e&istration
- 79 -
Downloaded from
Bal : cls/ser
Dal : sqlhelper
1 : ln4/ser()
2 : In5alid Data()
3 :
# : Insert/serDetails()
$ : Eecute6!onquery()
' : return response()
Sequence Diarams:
SeIuence %iagrams Represent the ob#ects participating the interaction hori,ontally
an! time ertically.
(!min 3ogin
- 80 -
Downloaded from
Admin Lo+in
Bal : AdminLo+in Dal : )ql,elper
1 : Lo+in()
2 : Chec4/ser()
3 : Eecute !on"uery()
# : Eeute !on"uery()
$ : %esponse to Eecute!on"uery()
' : 7et %esponse()
( : )ho* %esult()
- 81 -
Downloaded from
6+3in 6++ 'o,ntr$ Se1,en)e Dia&ra3
Admin Country BAL : clsCountry DAL : sqlhelper
1 : Add Country()
2 : InsertCountry()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
- 82 -
Downloaded from
6+3in 6++ State Se1,en)e Dia&ra3
Admin )tate BAL : cls)tate DAL : sqlhelper
1 : Add )tate()
2 : Insert)tate()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
- 83 -
Downloaded from
6+3in 6++ 'it$ Se1,en)e Dia&ra3
Admin City BAL : cls)tate DAL : sqlhelper
1 : Add City()
2 : InsertCity()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
Jobseeker 2.+ate *ro#ile Se1,en)e Dia&ra3
- 84 -
Downloaded from
- o.)ee4er /pdate - o.see4er 0ro1le BAL : cls/pdate- o.)ee4er0ro1le DAL : sqlhelper
1 : 2odi3y0ro1le()
2 : /pdate0ro1le()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
Job%e),riter 2.+ate *ro#ile Se1,en)e Dia&ra3
- o.%ecuriter /pdate - o.%ecuriter 0ro1le BAL : cls- o.recuriter0ro1le DAL : sqlhelper
1 : 2odi3y0ro1le()
2 : /pdate0ro1le()
3 : Eecute!on"uery()
# : Eecute!on"uery()
$ : %esponse &o Eecute!on"uery()
' : %eturn %esponse()
( : )ho* %esult()
%e&istration Se1,en)e Dia&ra3
- 85 -
Downloaded from
!cti"it# Diarams:
!cti"it# Diarams:
Lo&in 6)tivit$
- 86 -
%e+istration BAL : Cls%e+istration
DAL : )ql,elper
1 : %e+istration()
2 : Eecute!on"uery()
3 : Eecute!on"uery()
# : %esponse to Eecute!on"uery()
$ : %eturn %esponse()
' : )ho* %esult()
Get Details
Validate Data
[Enter User Name and Password]
Rejected Accepted
yes No
Downloaded from
Jobseeker $eistration !cti"it#
!dmin !cti"it# Diaram:
- 87 -
Downloaded from
Job $ecuriter !cti"it# Diaram:
- 88 -
Downloaded from
- 89 -
Downloaded from
9/8/ !ATA !%CTONAR3
(fter carefully un!erstan!ing the reIuirements of the client the the entire !ata
storage reIuirements are !ii!e! into tables. The belo" tables are normali,e! to aoi!
any anomalies !uring the course of !ata entry.
'it$ Details
'o,ntr$ Details
57.erien)e Detail
F,n)tional 6rea
Job 8.eninn& Detail
- 90 -
Downloaded from
Jobseeker %es.onse to %e)r,iter
Job -$.e Detail
Lo)ation 9aster
%e)r,iter 6))o,nt Details
%e)r,iter 8r&ani;ation Details
- 91 -
Downloaded from
%e)r,iter %es.onse to Jobseeker
Skill 9aster
State +etail
St,+ent Detail
6+3in Lo&in
Jobseeker <a)k&ro,n+ Details
- 92 -
Downloaded from
'onta)t Details
Jobseeker Job Details
Jobseeker %e&istration
- 93 -
Downloaded from
Jobseeker %es,3e
Jobseeker -e)(ni)al Details

- 94 -
Downloaded from
Chapter :
- 95 -
Downloaded from
- 96 -
Downloaded from
- 97 -
Downloaded from
- 98 -
Downloaded from
- 99 -
Downloaded from
- 100 -
Downloaded from
- 101 -
Downloaded from
- 102 -
Downloaded from
- 103 -
Downloaded from
- 104 -
Downloaded from
- 105 -
Downloaded from
- 106 -
Downloaded from
- 107 -
Downloaded from
- 108 -
Downloaded from
- 109 -
Downloaded from
- 110 -
Downloaded from
- 111 -
Downloaded from
Chapter ;
- 112 -
Downloaded from
- 113 -
Downloaded from
Soft"are testing is a critical element of soft"are Iuality assurance an!
represents the ultimate reie" of specification, !esign an! co!ing. In fact, testing
is the one step in the soft"are engineering process that coul! be ie"e! as
!estructie rather than constructie.
( strategy for soft"are testing integrates soft"are test case !esign metho!s
into a "ell1planne! series of steps that result in the successful construction of
soft"are. Testing is the set of actiities that can be planne! in a!ance an!
con!ucte! systematically. The un!erlying motiation of program testing is to affirm
soft"are Iuality "ith metho!s that can economically an! effectiely apply to both
strategic to both large an! small1scale systems.
The soft"are engineering process can be ie"e! as a spiral. Initially system
engineering !efines the role of soft"are an! lea!s to soft"are reIuirement
analysis "here the information !omain, functions, behaior, performance,
constraints an! ali!ation criteria for soft"are are establishe!. Moing in"ar!
along the spiral, "e come to !esign an! finally to co!ing. To !eelop computer
- 114 -
Downloaded from
soft"are "e spiral in along streamlines that !ecrease the leel of abstraction on
each turn.
( strategy for soft"are testing may also be ie"e! in the conte&t of the
spiral. 0nit testing begins at the erte& of the spiral an! concentrates on each unit
of the soft"are as implemente! in source co!e. Testing progress by moing
out"ar! along the spiral to integration testing, "here the focus is on the !esign
an! the construction of the soft"are architecture. Tal'ing another turn on out"ar!
on the spiral "e encounter ali!ation testing "here reIuirements establishe! as
part of soft"are reIuirements analysis are ali!ate! against the soft"are that has
been constructe!. $inally "e arrie at system testing, "here the soft"are an!
other system elements are teste! as a "hole.
;/4/ Unit Testin"
- 115 -
2I- -5S-I4
98D2L5 -5S-I4
S=S-59 -5S-I4
omponent !estin"
#nte"ration !estin"
User !estin"
Downloaded from
0nit testing focuses erification effort on the smallest unit of soft"are !esign, the
mo!ule. The unit testing "e hae is "hite bo& oriente! an! some mo!ules the
steps are con!ucte! in parallel.
1/ ($%TE 5O# TEST%N.
This type of testing ensures that
(ll in!epen!ent paths hae been e&ercise! at least once
(ll logical !ecisions hae been e&ercise! on their true an! false si!es
(ll loops are e&ecute! at their boun!aries an! "ithin their operational boun!s
(ll internal !ata structures hae been e&ercise! to assure their ali!ity.
To follo" the concept of "hite bo& testing "e hae teste! each form ."e hae
create! in!epen!ently to erify that %ata flo" is correct, (ll con!itions are
e&ercise! to chec' their ali!ity, (ll loops are e&ecute! on their boun!aries.
*stablishe! techniIue of flo" graph "ith Cyclomatic comple&ity "as use! to !erie
test cases for all the functions. The main steps in !eriing test cases "ereH
0se the !esign of the co!e an! !ra" correspon!ent flo" graph.
%etermine the Cyclomatic comple&ity of resultant flo" graph, using formulaH
/J)KX*1NT7 or
/J)KX+T= or
/J)KXNumber -f Regions
>here /J)K is Cyclomatic comple&ity,
* is the number of e!ges,
N is the number of flo" graph no!es,
+ is the number of pre!icate no!es.
%etermine the basis of set of linearly in!epen!ent paths.
- 116 -
Downloaded from
In this part of the testing each of the con!itions "ere teste! to both true an! false
aspects. (n! all the resulting paths "ere teste!. So that each path that may be
generate on particular con!ition is trace! to uncoer any possible errors.
6/ !ATA &)O( TEST%N.
This type of testing selects the path of the program accor!ing to the location of
!efinition an! use of ariables. This 'in! of testing "as use! only "hen some local
ariable "ere !eclare!. The definition-use chain metho! "as use! in this type of
testing. These "ere particularly useful in neste! statements.
In this type of testing all the loops are teste! to all the limits possible. The
follo"ing e&ercise "as a!opte! for all loopsH
(ll the loops "ere teste! at their limits, #ust aboe them an! #ust belo" them.
(ll the loops "ere s'ippe! at least once.
$or neste! loops test the inner most loop first an! then "or' out"ar!s.
$or concatenate! loops the alues of !epen!ent loops "ere set "ith the help of
connecte! loop.
0nstructure! loops "ere resole! into neste! loops or concatenate! loops an!
teste! as aboe.
*ach unit has been separately teste! by the !eelopment team itself an! all the
input hae been ali!ate!.
- 117 -
Downloaded from
Chapter <
- 118 -
Downloaded from
System Se,urity
- 119 -
Downloaded from
</1/ %ntrodu,tion
The protection of computer base! resources that inclu!es har!"are,
soft"are, !ata, proce!ures an! people against unauthori,e! use or natural
%isaster is 'no"n as System Security.
System Security can be !ii!e! into four relate! issuesH
S3STE* SECUR%T3 refers to the technical innoations an! proce!ures applie! to
the har!"are an! operation systems to protect against !eliberate or acci!ental
!amage from a !efine! threat.
!ATA SECUR%T3 is the protection of !ata from loss, !isclosure, mo!ification an!
- 120 -
Downloaded from
S3STE* %NTE.R%T3 refers to the po"er functioning of har!"are an! programs,
appropriate physical security an! safety against e&ternal threats such as
eaes!ropping an! "iretapping.
PR%>AC3 !efines the rights of the user or organi,ations to !etermine "hat
information they are "illing to share "ith or accept from others an! ho" the
organi,ation can be protecte! against un"elcome, unfair or e&cessie
!issemination of information about it.
CON&%!ENT%A)%T3 is a special status gien to sensitie information in a
!atabase to minimi,e the possible inasion of priacy. It is an attribute of
information that characteri,es its nee! for protection.
System security refers to arious ali!ations on !ata in form of chec's an!
controls to aoi! the system from failing. It is al"ays important to ensure that
only ali! !ata is entere! an! only ali! operations are performe! on the system.
The system employees t"o types of chec's an! controlsH
C)%ENT S%!E >A)%!AT%ON
/arious client si!e ali!ations are use! to ensure on the client si!e that only ali!
!ata is entere!. Client si!e ali!ation saes serer time an! loa! to han!le inali!
!ata. Some chec's impose! areH
/;Script in use! to ensure those reIuire! fiel!s are fille! "ith suitable !ata
only. Ma&imum lengths of the fiel!s of the forms are appropriately !efine!.
$orms cannot be submitte! "ithout filling up the man!atory !ata so that
manual mista'es of submitting empty fiel!s that are man!atory can be sorte!
out at the client si!e to sae the serer time an! loa!.
- 121 -
Downloaded from
Tab1in!e&es are set accor!ing to the nee! an! ta'ing into account the ease of
user "hile "or'ing "ith the system.
Some chec's cannot be applie! at client si!e. Serer si!e chec's are necessary to
sae the system from failing an! intimating the user that some inali! operation
has been performe! or the performe! operation is restricte!. Some of the serer
si!e chec's impose! isH
Serer si!e constraint has been impose! to chec' for the ali!ity of primary 'ey
an! foreign 'ey. ( primary 'ey alue cannot be !uplicate!. (ny attempt to
!uplicate the primary alue results into a message intimating the user about
those alues through the forms using foreign 'ey can be up!ate! only of the
e&isting foreign 'ey alues.
0ser is intimating through appropriate messages about the successful
operations or e&ceptions occurring at serer si!e.
/arious (ccess Control Mechanisms hae been built so that one user may not
agitate upon another. (ccess permissions to arious types of users are
controlle! accor!ing to the organi,ational structure. -nly permitte! users can
log on to the system an! can hae access accor!ing to their category. 0ser1
name, pass"or!s an! permissions are controlle! o the serer si!e.
0sing serer si!e ali!ation, constraints on seeral restricte! operations are
- 122 -
Downloaded from
Chapter 1=
- 123 -
Downloaded from
- 124 -
Downloaded from
It has been a great pleasure for me to "or' on this e&citing an! challenging
pro#ect. This pro#ect proe! goo! for me as it proi!e! practical 'no"le!ge of not
only programming in (S+.N*T an! /;.N*T "eb base! application an! no some
e&tent >in!o"s (pplication an! S23 Serer, but also about all han!ling proce!ure
relate! "ith QPROJECT NA*ER/ It also proi!es 'no"le!ge about the latest
technology use! in !eeloping "eb enable! application an! client serer
technology that "ill be great !eman! in future. This "ill proi!e better
opportunities an! gui!ance in future in !eeloping pro#ects in!epen!ently.
The pro#ect is i!entifie! by the merits of the system offere! to the user. The merits
of this pro#ect are as follo"sH 1
ItGs a "eb1enable! pro#ect.
- 125 -
Downloaded from
This pro#ect offers user to enter the !ata through simple an! interactie forms.
This is ery helpful for the client to enter the !esire! information through so
much simplicity.
The user is mainly more concerne! about the ali!ity of the !ata, "hateer he
is entering. There are chec's on eery stages of any ne" creation, !ata entry
or up!ation so that the user cannot enter the inali! !ata, "hich can create
problems at later !ate.
Sometimes the user fin!s in the later stages of using pro#ect that he nee!s to
up!ate some of the information that he entere! earlier. There are options for
him by "hich he can up!ate the recor!s. Moreoer there is restriction for his
that he cannot change the primary !ata fiel!. This 'eeps the ali!ity of the !ata
to longer e&tent.
0ser is proi!e! the option of monitoring the recor!s he entere! earlier. :e can
see the !esire! recor!s "ith the ariety of options proi!e! by him.
$rom eery part of the pro#ect the user is proi!e! "ith the lin's through
framing so that he can go from one option of the pro#ect to other as per the
reIuirement. This is boun! to be simple an! ery frien!ly as per the user is
concerne!. That is, "e can sat that the pro#ect is user frien!ly "hich is one of
the primary concerns of any goo! pro#ect.
%ata storage an! retrieal "ill become faster an! easier to maintain because
!ata is store! in a systematic manner an! in a single !atabase.
%ecision ma'ing process "oul! be greatly enhance! because of faster
processing of information since !ata collection from information aailable on
computer ta'es much less time then manual system.
(llocating of sample results becomes much faster because at a time the user
can see the recor!s of last years.
*asier an! faster !ata transfer through latest technology associate! "ith the
computer an! communication.
- 126 -
Downloaded from
Through these features it "ill increase the efficiency, accuracy an!
The si,e of the !atabase increases !ay1by1!ay, increasing the loa! on the
!atabase bac' up an! !ata maintenance actiity.
Training for simple computer operations is necessary for the users "or'ing on
the system.
- 127 -
Downloaded from
Chapter 11
- 128 -
Downloaded from
- 129 -
Downloaded from
This System being "eb1base! an! an un!erta'ing of Cyber Security %iision,
nee!s to be thoroughly teste! to fin! out any security gaps.
( console for the !ata centre may be ma!e aailable to allo" the personnel
to monitor on the sites "hich "ere cleare! for hosting !uring a particular
Moreoer, it is #ust a beginningP further the system may be utili,e! in arious
other types of au!iting operation i,. Net"or' au!iting or similar
process/"or'flo" base! applications...
- 130 -
Downloaded from
Chapter 11
- 131 -
Downloaded from
- 132 -
Downloaded from
&OR S7)
- 133 -