A PROJECT REPORT ON
Submitted to XXXX University for the prti! fu!fi!!ment of the
re"uirement for the
A#rd of $e%ree for
Mr. /Miss. XXXXXX
XXXXX Institute of Management & Computer Sciences
- 1 -
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.
&EA$ O( $EPART,ENT PR'NC'PA+
XXX institute of ,n%ement -
- 2 -
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, ,r0 XXXXX1 ))) Soft#re So!utions1 &yderbd for his constant
motiation an! aluable help through the pro#ect "or'. *&press my gratitu!e to
,r0 XXXX, %irector of XXXXX 'nstitute of ,n%ement - Computer Sciences
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 -
- 4 -
E2/ift Shoppy is a ery important feature use! in e+commerce to assist people
ma'ing purchases online, similar to the ,S *nglish term -shopping cart..
The business+to+consumer aspect of electronic commerce /e+commerce0 is the
most isible business use of the 1orl! 1i!e 1eb. The primary goal of an e+
commerce site is to sell goo!s an! serices online.
*+commerce is fast gaining groun! as an accepte! an! use! business
para!igm. More an! more business houses are implementing "eb site proi!ing
functionality for performing commercial transactions oer the "eb. It is
reasonable to say that the process of shopping on the "eb is becoming
E2/ift Shoppy is a ery important feature use! in e+commerce to assist
people ma'ing purchases any pro!ucts online.
This pro#ect !eals "ith !eeloping an e+commerce "ebsite for online !ifferent
types of gifts. It proi!es the user "ith a catalog of !ifferent types of gifts
aailable for purchase in the store. In or!er to facilitate online purchase a
shopping cart is proi!e! to the user. The system is implemente! using a 2+tier
approach, "ith a bac'en! !atabase, a mi!!le tier of Microsoft Internet
Information Serices /IIS0 an! (S3.N*T, an! a "eb bro"ser as the front en!
The E2/ift Shoppy pro#ect has been !eelope! to allo" business gro"s
larger an! faster. This site "ill let customers to ie" an! or!er pro!ucts online
from any part of the "orl!. The site sells !ifferent types of. ,n!er this "ebsite
many pro!ucts an! serices can be or!ere!.
The E2/ift Shoppy is e&pan!e! permanently through ne" pro!ucts an!
serices in or!er to offer a pro!uct portfolio correspon!ing to the mar'et.
3riate customer an! business customers can or!er the selecte! pro!ucts of the
E2/ift Shoppy Serice online 4uic'ly an! comfortably.
Target groups of customer of the E2/ift Shoppy are huge. The customers can
hae a payment option through cre!it car! only. In or!er to use the loa!
- 5 -
"riting proce!ure, the customer registers itself an! receies a login for its
purchases name. It is an Internet application.
Users of the system3 Customer is the user of the system. (n a!ministrator of
the "ebsite is the super user. 1hen the user types in the ,R5 of the "ebsite, a
1elcome page is sho"n "hich has a menu on the left han! si!e, a banner at
the top an! any relate! lin's to other sites. This site contains an online catalog
for the user. ,ser has to login to 1elcome 3age before or!ering anything. 5ogin
functionality shoul! chec' the authenticity of the user from the !atabase.
(unction! components of the project3 $ollo"ing is a list of functionality of
• Re%istrtion Screen3 If the user is not registere!, then registration screen
shoul! be aailable
• Products Order3 This screen "ill sho" all the types of !ifferent pro!uct "ith
their alues an! minimum 4uantity that shoul! be or!ere!. If possible,
proi!e the image of each of the pro!uct. 7n selecting any one of the
pro!uct, user is sho"n the columns for the 4uantity to be entere!. (fter
entering the 4uantity, price is automatically set by the system base! on the
pro!uct price !ata. 7n a!!ing to catalog, 'in!ly chec' the inentory an!
ta'e appropriate action.
• Ct!o% 'nformtion3 This screen contains the information about the
or!ers for the user. It gies total alue of the or!er together "ith in!ii!ual
items or!ere!. 7n or!ering, the ali!ation about user.s cre!it is ma!e. Cre!it
information can be 'ept in the !atabase for the sa'e of simplicity. 7nce the
or!er is accepte!, inentory is up!ate! an! shipment entry is ma!e in the
!atabase. 7nce the shipment is !one, shipment status is up!ate!.
• Terms nd Conditions 8 ( 9rief te&t on the "ebsite e&plaining terms an!
con!itions an! printable copy of it.
• Contct 'nformtion 8 Contact information regar!ing the office a!!resses
"ith phones an! fa&es are proi!e! on this screen
- 6 -
In or!er to !eelop an e+commerce "ebsite, a number of Technologies must be
stu!ie! an! un!erstoo!. These inclu!e multi+tiere! architecture, serer an!
client si!e scripting techni4ues, implementation technologies such as (S3.N*T,
programming language /such as C:, ;9.N*T0, relational !atabases /such as
This is a pro#ect "ith the ob#ectie to !eelop a basic "ebsite "here a
consumer is proi!e! "ith a *+)ift Shoppy application an! also to 'no" about
the technologies use! to !eelop such an application.
This !ocument "ill !iscuss each of the un!erlying technologies to create an!
implement an e+commerce "ebsite.
- 7 -
INTR7%,CTI7N T7 3R7=*CT
3,R37S* 7$ T?* 3R7=*CT
3R795*M IN *XISTIN) S@ST*M
S75,TI7N 7$ T?*S* 3R795*MS
50 S6STE, ANA+6S'S
A.A. S@ST*M 17RC$571
A.2. ST,%@ 7$ T?* S@ST*M
A.D. ?(R%1(R* & S7$T1(R* R*<,IRM*NT
A.E. 3R737S*% S@ST*M
A.F. IN3,T & 7,T3,T
A.G. 3R7C*SS M7%*5S ,S*% 1IT? =,STI$IC(TI7N
70 (EAS'8'+'T6 REPORT
2.B. T*C?NIC(5 $*(SI9I5IT@
2.A. 73*R(TI7N(5 $*(SI9I5IT@
2.2. *C7N7MIC $*(SI9I5IT@
90 SO(T*ARE RE:U'RE,ENT SPEC'('CAT'ONS
D.B. $,NCI7N(5 R*<,IR*M*NTS
D.A. 3*R$7RM(NC* R*<,IR*M*NTS
;0 SE+ECTE$ SO(T*ARE
E.B. INTR7%,CTI7N T7 .N*T $R(M*17RC
E.D. S<5 S*R;*R
<0 S6STE, $ES'/N
- 8 -
F.A. S@ST*M 17RC$571
F.D. *+R %I()R(M
F.E. %(T( $571 %I()R(MS
F.F. %(T( %ICTI7N(R@
=0 OUTPUT SCREENS
>0 S6STE, TEST'N/ AN$ ',P+E,ENTAT'ON
H.A. STR(T*)IC (33R7(C? 7$ S7$T1(R* T*STIN)
H.2. ,NIT T*STIN)
?0 S6STE, SECUR'T6
I.A. S*C,RIT@ IN S7$T1(R*
440 (UTURE ',PROAE,ENT
- 9 -
- 10 -
- 11 -
4040 'NTRO$UCT'ON TO PROJECT
*+commerce is fast gaining groun! as an accepte! an! use! business
para!igm. More an! more business houses are implementing "eb sites
proi!ing functionality for performing commercial transactions oer the "eb. It
is reasonable to say that the process of shopping on the "eb is becoming
The ob#ectie of this pro#ect is to !eelop a general purpose e+commerce store
"here any pro!uct /such as 9irth!ay, $estial )ifts etc.0 can be bought from
the comfort of home through the Internet. ?o"eer, for implementation
purposes, this paper "ill !eal "ith an online E2/ift Shoppy.
The E2/ift Shoppy is a irtual store on the Internet "here customers can
bro"se the catalog an! select pro!ucts of interest. The selecte! items may be
collecte! in a shopping cart. (t chec'out time, the items in the shopping cart
"ill be presente! as an or!er. (t that time, more information "ill be nee!e! to
complete the transaction. ,sually, the customer "ill be as'e! to fill or select a
billing a!!ress, a shipping a!!ress, a shipping option, an! payment information
such as cre!it car! number. (n e+ mail notification is sent to the customer as
soon as the or!er is place!.
The E2/ift Shoppy is e&pan!e! permanently through ne" pro!ucts an!
serices in or!er to offer a pro!uct portfolio correspon!ing to the mar'et.
3riate customer an! business customers can or!er the selecte! pro!ucts of the
E2/ift Shoppy serice online 4uic'ly an! comfortably.
Target groups of customer of the E2/ift Shoppy are. The customers can hae
a payment option through cre!it car! only. In or!er to use the loa! "riting
- 12 -
proce!ure, the customer registers itself an! receies a login for its purchases
name. It is an Internet application.
*lectronic Commerce /e+commerce0 applications support the interaction
bet"een !ifferent parties participating in a commerce transaction ia the
net"or', as "ell as the management of the !ata inole! in the process.
- 13 -
4050 OR/AN'BAT'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 organiJation.s 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!ay.s enironment.
XXXCS RAN/E O( EXPERT'SE 'NC+U$ES3
• Soft"are %eelopment Serices
• *ngineering Serices
• Systems Integration
• Customer Relationship Management
• 3ro!uct %eelopment
• *lectronic Commerce
• IT 7utsourcing
1e apply technology "ith innoation an! responsibility to achiee t"o broa!
• *ffectiely a!!ress the business issues our customers face to!ay.
• )enerate ne" opportunities that "ill help them stay ahea! in the future.
T&'S APPROAC& RESTS ON3
• ( strategy "here "e architect, integrate an! manage technology serices an!
solutions + "e call it (IM for success.
- 14 -
• ( 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 + consistency. 1e offer customers the a!antages of6
They un!erstan! the importance of timing, of getting there before the
competition. ( rich portfolio of reusable, mo!ular frame"or's helps #ump+start
pro#ects. Trie! an! teste! metho!ology ensures that "e follo" a pre!ictable, lo" +
ris' path to achiee results. 7ur trac' recor! is testimony to comple& pro#ects
!eliere! "ithin an! eens before sche!ule.
7ur teams combine cutting e!ge technology s'ills "ith rich !omain
e&pertise. 1hat.s e4ually important + they share a strong customer orientation
that means they actually start by listening to the customer. They.re focuse! on
coming up "ith solutions that sere customer re4uirements to!ay an! anticipate
A (U++ SERA'CE PORT(O+'O3
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.
X&& is proi!ing it.s serices to companies "hich are in the fiel! of
pro!uction, 4uality control etc 1ith their rich e&pertise an! e&perience an!
information technology they are in best position to proi!e soft"are solutions to
!istinct business re4uirements.
- 15 -
4070 PURPOSE O( T&E PROJECT
The E2/ift Shoppy nee!s to sell !ifferent types of pro!ucts to customer
liing in any part of the "orl!. The "ebsite "ill sho" all pro!ucts in categoriJe!
manner. Customer can bro"se any pro!uct for its price an! other !etails an! can
or!er the pro!uct. 7r!ers nee!s to accompany "ith shipping & billing !etails.
Customer has to pay or!er amount online through cre!it car!s. 3ro!ucts can be
manage! by operators from a!min panel. 7perator can be create! by a!min.
(!min can 'eep trac' of or!ers through a!min panel.
The main purpose of the system is to enable customers to bro"se an! or!er
from any part of the "orl! an! hence increasing business scope.
4090 PRO8+E, 'N EX'ST'N/ S6STE,
• The e&isting system is manual system. Nee!s to be conerte! into automate!
• Ris' of mismanagement of !ata.
• 5ess Security.
• No proper coor!ination bet"een !ifferent (pplications an! ,sers.
• $e"er ,sers + $rien!ly.
• (ccuracy not guarantee!.
• Not in reach of !istant users.
- 16 -
40;0 SO+UT'ON O( T&ESE PRO8+E,S
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.
B. ,ser frien!liness is proi!e! in the application "ith arious controls.
A. The system ma'es the oerall pro#ect management much easier an!
2. There is no ris' of !ata mismanagement at any leel "hile the pro#ect
!eelopment is un!er process.
D. It proi!es high leel of security "ith !ifferent leel of authentication.
E. ,sers from any part of the "orl! can ma'e use of the system.
F. Ne" system "ill process accurate results.
G. Ne" system "ill be much better in performance as compare! to e&isting
- 17 -
- 18 -
- 19 -
(fter analyJing the re4uirements of the tas' to be performe!, the ne&t step is to
analyJe the problem an! un!erstan! its conte&t. The first actiity in the phase is
stu!ying the e&isting system an! other is to un!erstan! the re4uirements an!
!omain of the ne" system. 9oth the actiities are e4ually important, but the first
actiity seres as a basis of giing the functional specifications an! then successful
!esign of the propose! system. ,n!erstan!ing the properties an! re4uirements of
a ne" system is more !ifficult an! re4uires 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.
5050 ANA+6S'S ,O$E+
The mo!el that is basically being follo"e! is the 1(T*R $(55 M7%*5, "hich
states that the phases are organiJe! in a linear or!er. $irst of all the feasibility
stu!y is !one. 7nce that part is oer the re4uirement 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 re4uirement analysis is complete an! the co!ing
begins after the !esign is complete. 7nce the programming is complete!, the
testing is !one. In this mo!el the se4uence of actiities performe! in a soft"are
!eelopment pro#ect are6 +
• Re4uirement (nalysis
• 3ro#ect 3lanning
• System !esign
• %etail !esign
• ,nit testing
• System integration & testing
- 20 -
?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 re4uirement of the system. Some of the 4ualities of
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.
1(T*R $(55 M7%*5 "as being chosen because all re4uirements "ere 'no"n
beforehan! an! the ob#ectie of our soft"are !eelopment is the
computeriJation/automation of an alrea!y e&isting manual "or'ing system.
(i% 5053 *ter (!! ,ode!
- 21 -
5070 STU$6 O( T&E S6STE,
In the fle&ibility of the uses the interface has been !eelope! a graphics concept in min!,
associate! through a bro"ses interface. The ),I.S at the top leel hae been categoriJe!
B. (!ministratie user interface
A. The operational or generic user interface
The a!ministratie user interface concentrates on the consistent information that is
practically, part of the organiJational 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! re4uire! 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 customiJe! manner as per the assiste! fle&ibilities.
NU,8ER O( ,O$U+ES
The system after careful analysis has been i!entifie! to be presente! "ith the follo"ing
This pro#ect is !ii!e! into I mo!ules6
B. Registration Mo!ule
A. 3ro!ucts 9ro"se Mo!ule
2. 3ro!ucts Search Mo!ule
D. Shopping cart Mo!ule
E. Shipping & 9illing Mo!ule
F. 3ayment Mo!ule
G. (!min ,ser Management Mo!ule
H. (!min Catalog Management Mo!ule
- 22 -
I. (!min 7r!er Management Mo!ule
Entities 'nvo!ved in the Project3
20 1ebsite (!ministrator
Customer3 The target user of the system. ( Customer is responsible for
registering them to the site, bro"sing site, placing or!ers an! ma'ing payments.
Product3 3ro!uct is the entity, a customer loo'ing for. ( 3ro!uct "ill be sol! to
*ebsite Administrtor3 (n entity responsible for managing users, roles an!
Opertor3 7perator is a person /entity0 responsible for managing pro!ucts an!
Order6 7r!er is an entity "hich !escribes the business transaction.
• 9ase! on the gien re4uirements, conceptualiJe the Solution (rchitecture.
Choose the !omain of your interest other"ise !eelop the application for
ultimate!otnet.com. %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.
• 3roi!e an enironment for upgra!ation of application for ne"er ersions that
are aailable in the same !omain as "eb serice target.
- 23 -
5090 &AR$*ARE SPE$'('CAT'ONS
• 3I; A.H )?J 3rocessor an! (boe
• R(M EBAM9 an! (boe
• ?%% AK )9 ?ar! %is' Space an! (boe
• 1IN%71S 7S /X3 / AKKK / AKK Serer / AKK2 Serer0
• ;isual Stu!io .Net AKKE *nterprise *!ition
• Internet Information Serer E.K /IIS0
• ;isual Stu!io .Net $rame"or' /Minimal for %eployment0
• S<5 Serer AKKK *nterprise *!ition
50;0 PROPOSE$ S6STE,
To !ebug the e&isting system, remoe proce!ures those cause !ata re!un!ancy,
ma'e naigational se4uence proper. To proi!e information about au!its on
!ifferent leel an! also to reflect the current "or' status !epen!ing on
organiJation/au!itor or !ate. Re4uire! to buil! strong pass"or! mechanism.
NEE$ (OR CO,PUTER'BAT'ON
1e all 'no" the importance of computeriJation. The "orl! is moing ahea!
at lightening spee! an! eery one is running short of time. 7ne al"ays "ants to
get the information an! perform a tas' he/she/they !esire/s0 "ithin a short perio!
of time an! too "ith amount of efficiency an! accuracy. The application areas for
the computeriJation hae been selecte! on the basis of follo"ing factors6
• MinimiJing the manual recor!s 'ept at !ifferent locations.
- 24 -
• There "ill be more !ata integrity.
• $acilitating !esire! information !isplay, ery 4uic'ly, by retrieing information
• $acilitating arious statistical information "hich helps in !ecision+ma'ingL
• To re!uce manual efforts in actiities that inole! repetitie "or'.
• ,p!ating an! !eletion of such a huge amount of !ata "ill become easier.
(UNCT'ONA+ (EATURES O( T&E ,O$E+
(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 5eel, management 5eel, (u!itor 5eel, ,ser 5eel an!
State 1eb Coor!inator 5eel. The propose! soft"are "ill coer the information
nee!s "ith respect to each re4uest of the user group iJ. accepting the re4uest,
proi!ing ulnerability !ocument report an! the current status of the au!it.
*OR.'N/ O( T&E S6STE,
The entire scope has been classifie! into fie streams 'no"n as6 +
/(!!ressing the information management nee!s of coor!inator0
/(!!ressing the information management nee!s of management0
/(!!ressing the information management nee!s of au!itors0
/(!!ressing the information management nee!s of the user group0
Stte *eb Coordintor !eve!
/(!!ressing the nee!s of coor!inator of the state0
- 25 -
50<0 'NPUT AN$ OUTPUT
The main inputs, outputs an! ma#or functions of the system are as follo"s
• Customer enters his or her user i! an! pass"or!.
• 7perators enter his or her user i! an! pass"or!.
• (!min enter his or her user i! an! pass"or!.
• ,ser re4uests the pro!uct !escription.
• ,ser re4uests the pro!uct search.
• ,ser or!ers pro!uct.
• System re4uests shipping & billing a!!ress.
• Customer receies personal an! or!er !etails.
• 7perator receies the personal !etails.
• (!min receies or!er !etails.
• ,sers receie re4ueste! pro!uct !etails.
• ,sers receie or!ers.
• System processes or!ers.
- 26 -
50=0 PROCESS ,O$E+S USE$ *'T& JUST'('CAT'ON
ACCESS CONTRO+ (OR $ATA *&'C& RE:U'RE USER AUT&ENT'CAT'ON
The follo"ing comman!s specify access control i!entifiers an! they are typically
use! to authoriJe an! authenticate the user /comman! co!es are sho"n in
USER NA,E DUSERE
The user i!entification is that "hich is re4uire! 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 /some serers may re4uire this0.
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 4uite sensitie, it is !esirable in general to Nmas'N it or
suppress type out.
- 27 -
- 28 -
- 29 -
3reliminary inestigation e&amine pro#ect feasibility, the li'elihoo! the
system "ill be useful to the organiJation. The main ob#ectie of the feasibility
stu!y is to test the Technical, 7perational 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 inestigation6
• Technical $easibility
• 7peration $easibility
• *conomical $easibility
7040 Technic! (esibi!ity
The technical issue usually raise! !uring the feasibility stage of the
inestigation inclu!es the follo"ing6
• %oes the necessary technology e&ist to !o "hat is suggeste!L
• %o the propose! e4uipments hae the technical capacity to hol! the !ata
re4uire! to use the ne" systemL
• 1ill the propose! system proi!e a!e4uate response to in4uiries, regar!less of
the number or location of usersL
• Can the system be upgra!e! if !eelope!L
• (re there technical guarantees of accuracy, reliability, ease of access an! !ata
*arlier no system e&iste! to cater to the nee!s of -Secure Infrastructure
Implementation System.. The current system !eelope! is technically feasible. It
is a "eb base! user interface for au!it "or'flo" at NIC+CS%. Thus it proi!es an
easy access to the users. The !atabase.s 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. 3ermission to the users "oul! be grante!
base! on the roles specifie!. Therefore, it proi!es the technical guarantee of
- 30 -
accuracy, reliability an! security. The soft"are an! har! re4uirements for the
!eelopment of this pro#ect are not many an! are alrea!y aailable in+house at
NIC or are aailable as free as open source. The "or' for the pro#ect is !one "ith
the current e4uipment 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.
7050 Opertion! (esibi!ity
3ropose! pro#ects are beneficial only if they can be turne! out into
information system. That "ill meet the organiJation.s operating re4uirements.
7perational 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"ing6 +
• Is there sufficient support for the management from the usersL
• 1ill the system be use! an! "or' properly if it is being !eelope! an!
• 1ill there be any resistance from the user that "ill un!ermine the possible
This system is targete! to be in accor!ance "ith the aboe+mentione!
issues. 9eforehan!, the management issues an! user re4uirements hae been
ta'en into consi!eration. So there is no 4uestion of resistance from the users that
can un!ermine the possible application benefits.
The "ell+planne! !esign "oul! ensure the optimal utiliJation of the computer
resources an! "oul! help in the improement of performance status.
- 31 -
7070 Economic (esibi!ity
( system can be !eelope! technically an! that "ill be use! if installe! must still
be a goo! inestment for the organiJation. 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 e4ual or e&cee! the costs.
The system is economically feasible. It !oes not re4uire 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.
- 32 -
- 33 -
- 34 -
The soft"are, Site *&plorer is !esigne! for management of "eb sites from a remote
Purpose3 The main purpose for preparing this !ocument is to gie a general insight into
the analysis an! re4uirements of the e&isting system or situation an! for !etermining the
operating characteristics of the system.
Scope3 This %ocument plays a ital role in the !eelopment life cycle /S%5C0 an! it
!escribes the complete re4uirement 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 re4uirements in the
future "ill hae to go through formal change approal process.
$EAE+OPERS RESPONS'8'+'T'ES OAERA'E*3
The !eeloper is responsible for6
• %eeloping the system, "hich meets the SRS an! soling all the re4uirements of the
• %emonstrating the system an! installing the system at clientMs location after the
acceptance testing is successful.
• Submitting the re4uire! user manual !escribing the system interfaces to "or' on it
an! also the !ocuments of the system.
• 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.
9040 (UNCT'ONA+ RE:U'RE,ENTS3
7utputs from computer systems are re4uire! primarily to communicate the results
of processing to users. They are also use! to proi!e a permanent copy of the results for
later consultation. The arious types of outputs in general are6
• *&ternal 7utputs, "hose !estination is outsi!e the organiJation.
- 35 -
• Internal 7utputs "hose !estination is "ith in organiJation an! they are the
• ,ser.s main interface "ith the computer.
• 7perational 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 points6
Type of the output
Content of the output
$ormat of the output
5ocation of the output
$re4uency of the output
;olume of the output
Se4uence 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.
1ill !ecimal points nee! to be inserte!
Shoul! lea!ing Jeros be suppresse!.
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 are6
• The suitability for the !eice to the particular application.
• The nee! for a har! copy.
• The response time re4uire!.
• The location of the users
• The soft"are an! har!"are aailable.
- 36 -
Ceeping 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 re4uirement
The outputs "ere nee!e! to be generate! as a hot copy an! as "ell as 4ueries to be
ie"e! on the screen. Ceeping 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"6
• To pro!uce a cost+effectie 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"6
• %ata recor!ing
• %ata transcription
• %ata conersion
• %ata erification
• %ata control
• %ata transmission
• %ata ali!ation
• %ata correction
It is necessary to !etermine the arious types of inputs. Inputs can be categoriJe! as
• *&ternal inputs, "hich are prime inputs for the system.
• Internal inputs, "hich are user communications "ith the system.
- 37 -
• 7perational, "hich are computer !epartment.s 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 toO
• Type of input
• $le&ibility of format
• ;erification metho!s
• Re#ection rates
• *ase of correction
• Storage an! han!ling re4uirements
• *asy to use
Ceeping 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.
(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
- 38 -
*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.
3roce!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.
1heneer 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.
USER 'NTER(ACE $ES'/N
It is essential to consult the system users an! !iscuss their nee!s "hile !esigning
the user interface6
USER 'NTER(ACE S6STE,S CAN 8E 8ROA$+6 C+AS'('E$ AS3
B. ,ser initiate! interface the user is in charge, controlling the progress of the
user/computer !ialogue. In the computer+initiate! interface, the computer selects the
ne&t stage in the interaction.
A. 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.
,ser initiate! interfaces fall into to" appro&imate classes6
B. Comman! !rien interfaces6 In this type of interface the user inputs comman!s or
4ueries "hich are interprete! by the computer.
A. $orms oriente! interface6 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.
- 39 -
The follo"ing computer 8 initiate! interfaces "ere use!6
B. The menu system for the user is presente! "ith a list of alternaties an! the user
chooses oneO of alternaties.
A. <uestions 8 ans"er type !ialog system "here the computer as's 4uestion 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.
ERROR ,ESSA/E $ES'/N3
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
9050 PER(OR,ANCE RE:U'RE,ENTS
3erformance is measure! in terms of the output proi!e! by the application.
Re4uirement specification plays an important part in the analysis of a system. 7nly
"hen the re4uirement specifications are properly gien, it is possible to !esign a system,
"hich "ill fit into re4uire! enironment. It rests largely in the part of the users of the
e&isting system to gie the re4uirement specifications because they are the people "ho
finally use the system. This is because the re4uirements hae to be 'no"n !uring the
initial stages so that the system can be !esigne! accor!ing to those re4uirements. 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 re4uirements of the user, is of no use.
The re4uirement specification for any system can be broa!ly state! as gien belo"6
- 40 -
• 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.
- 41 -
- 42 -
;040 'NTRO$UCT'ON TO 0NET (rme#orG
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#ecties6
• To proi!e a consistent ob#ect+oriente! programming enironment "hether
ob#ect co!e is store! an! e&ecute! locally, e&ecute! locally but Internet+
!istribute!, or e&ecute! remotely.
• To proi!e a co!e+e&ecution enironment that minimiJes soft"are !eployment
an! ersioning conflicts.
• To proi!e a co!e+e&ecution enironment that guarantees safe e&ecution of
co!e, inclu!ing co!e create! by an un'no"n or semi+truste! thir! party.
• To proi!e a co!e+e&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 1in!o"s+base! applications an! 1eb+base! 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.
The .N*T $rame"or' has t"o main components6 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
- 43 -
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#ect+oriente!
collection of reusable types that you can use to !eelop applications ranging from
tra!itional comman!+line or graphical user interface /),I0 applications to
applications base! on the latest innoations proi!e! by (S3.N*T, such as 1eb
$orms an! XM5 1eb 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!+party runtime hosts.
$or e&le, (S3.N*T hosts the runtime to proi!e a scalable, serer+si!e
enironment for manage! co!e. (S3.N*T "or's !irectly "ith the runtime to enable
1eb $orms applications an! XM5 1eb serices, both of "hich are !iscusse! later
in this topic.
Internet *&plorer is an e&le of an unmanage! application that hosts the
runtime /in the form of a MIM* type e&tension0. ,sing Internet *&plorer to host
the runtime enables you to embe! manage! components or 1in!o"s $orms
controls in ?TM5 !ocuments. ?osting the runtime in this "ay ma'es manage!
mobile co!e /similar to MicrosoftP (ctieXP controls0 possible, but "ith significant
improements that only manage! co!e can offer, such as semi+truste! 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.
- 44 -
(EATURES O( T&E CO,,ON +AN/UA/E RUNT',E
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
1ith 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 /such as the
Internet, enterprise net"or', or local computer0. This means that a manage!
component might or might not be able to perform file+access operations, registry+
access operations, or other sensitie functions, een if it is being use! in the same
The runtime enforces co!e access security. $or e&le, users can trust that
an e&ecutable embe!!e! in a 1eb 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 Internet+!eploye! soft"are to be
e&ceptionally featuring rich.
The runtime also enforces co!e robustness by implementing a strict type+
an! co!e+erification infrastructure calle! the common type system /CTS0. The
CTS ensures that all manage! co!e is self+!escribing. The arious Microsoft an!
thir!+party language compilers
)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&le, 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.
- 45 -
The runtime also accelerates !eeloper pro!uctiity. $or e&le,
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. 5anguage compilers that target the .N*T $rame"or' ma'e
the features of the .N*T $rame"or' aailable to e&isting co!e "ritten in that
language, greatly easing the migration process for e&isting applications.
1hile 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 C7M
components an! %55s.
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! #ust+in+time /=IT0 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 locality+of+reference to further
$inally, the runtime can be hoste! by high+performance, serer+si!e
applications, such as MicrosoftP S<5 SererQ an! Internet Information Serices
/IIS0. 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.
0NET (RA,E*OR. C+ASS +'8RAR6
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
- 46 -
associate! "ith learning ne" features of the .N*T $rame"or'. In a!!ition, thir!+
party components can integrate seamlessly "ith classes in the .N*T $rame"or'.
$or e&le, 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#ect+oriente! 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 specialiJe! !eelopment scenarios. $or
e&le, you can use the .N*T $rame"or' to !eelop the follo"ing types of
applications an! serices6
• Console applications.
• Scripte! or hoste! applications.
• 1in!o"s ),I applications /1in!o"s $orms0.
• (S3.N*T applications.
• XM5 1eb serices.
• 1in!o"s serices.
$or e&le, the 1in!o"s $orms classes are a comprehensie set of
reusable types that astly simplify 1in!o"s ),I !eelopment. If you "rite an
(S3.N*T 1eb $orm application, you can use the 1eb $orms classes.
C+'ENT APP+'CAT'ON $EAE+OP,ENT
Client applications are the closest to a tra!itional style of application in
1in!o"s+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 !ata+entry tools, reporting tools, an!
so on. Client applications usually employ "in!o"s, menus, buttons, an! other ),I
- 47 -
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 /no"
replace! by the manage! 1in!o"s $orms control0 !eploye! oer the Internet as a
1eb page. This application is much li'e other client applications6 it is e&ecute!
natiely, has access to local resources, an! inclu!es graphical elements.
In the past, !eelopers create! such applications using C/CRR in
con#unction "ith the Microsoft $oun!ation Classes /M$C0 or "ith a rapi!
application !eelopment /R(%0 enironment such as MicrosoftP ;isual 9asicP.
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
The 1in!o"s $orms classes containe! in the .N*T $rame"or' are !esigne!
to be use! for ),I !eelopment. @ou can easily create comman! "in!o"s,
buttons, menus, toolbars, an! other screen elements "ith the fle&ibility necessary
to accommo!ate shifting business nee!s.
$or e&le, 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!
,nli'e (ctieX controls, 1in!o"s $orms controls hae semi+truste! 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 /such as ),I elements an!
limite! file access0 "ithout being able to access or compromise other resources.
9ecause 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 1eb. @our
- 48 -
applications can implement the features of a local application "hile being !eploye!
li'e a 1eb page.
SERAER APP+'CAT'ON $EAE+OP,ENT
Serer+si!e applications in the manage! "orl! are implemente! through
runtime hosts. ,nmanage! 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! S<5 Serer can
perform stan!ar! operations "hile your application logic e&ecutes through the
SERAER2S'$E ,ANA/E$ CO$E
(S3.N*T is the hosting enironment that enables !eelopers to use the .N*T
$rame"or' to target 1eb+base! applications. ?o"eer, (S3.N*T is more than #ust
a runtime hostO it is a complete architecture for !eeloping 1eb sites an!
Internet+!istribute! ob#ects using manage! co!e. 9oth 1eb $orms an! XM5 1eb
serices use IIS an! (S3.N*T as the publishing mechanism for applications, an!
both hae a collection of supporting classes in the .N*T $rame"or'.
XM5 1eb serices, an important eolution in 1eb+base! technology, are
!istribute!, serer+si!e application components similar to common 1eb sites.
?o"eer, unli'e 1eb+base! applications, XM5 1eb serices components hae no
,I an! are not targete! for bro"sers such as Internet *&plorer an! Netscape
Naigator. Instea!, XM5 1eb serices consist of reusable soft"are components
!esigne! to be consume! by other applications, such as tra!itional client
applications, 1eb+base! applications, or een other XM5 1eb serices. (s a result,
- 49 -
XM5 1eb 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 (S3 technology, you "ill imme!iately
notice the improements that (S3.N*T an! 1eb $orms offers. $or e&le, you
can !eelop 1eb $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 ?TT3 te&t
/although it can continue to !o so if you prefer0. 1eb $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! (S3 pages are al"ays
scripte! an! interprete!. (S3.N*T pages are faster, more functional, an! easier to
!eelop than unmanage! (S3 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 XM5 1eb serices applications. XM5 1eb
serices are built on stan!ar!s such as S7(3 /a remote proce!ure+call protocol0,
XM5 /an e&tensible !ata format0, an! 1S%5 / the 1eb Serices %escription
5anguage0. The .N*T $rame"or' is built on these stan!ar!s to promote
interoperability "ith non+Microsoft solutions.
$or e&le, the 1eb Serices %escription 5anguage tool inclu!e! "ith
the .N*T $rame"or' S%C can 4uery an XM5 1eb serice publishe! on the 1eb,
parse its 1S%5 !escription, an! pro!uce C: or ;isual 9asic source co!e that your
application can use to become a client of the XM5 1eb serice. The source co!e
can create classes !erie! from classes in the class library that han!le all the
un!erlying communication using S7(3 an! XM5 parsing. (lthough you can use the
class library to consume XM5 1eb serices !irectly, the 1eb Serices %escription
5anguage tool an! the other tools containe! in the S%C facilitate your
!eelopment efforts "ith the .N*T $rame"or'.
If you !eelop an! publish your o"n XM5 1eb serice, the .N*T $rame"or'
proi!es a set of classes that conform to all the un!erlying communication
- 50 -
stan!ar!s, such as S7(3, 1S%5, an! XM5. ,sing those classes enables you to
focus on the logic of your serice, "ithout concerning yourself "ith the
communications infrastructure re4uire! by !istribute! soft"are !eelopment.
$inally, li'e 1eb $orms pages in the manage! enironment, your XM5 1eb serice
"ill run "ith the spee! of natie machine language using the scalable
communication of IIS.
A Passive Web Server stores static Web Pages
An active Web Server generates dynamic Web Pages
ACT'AE SERAER PA/ES0NET
(S3.N*T is a programming frame"or' built on the common language
runtime that can be use! on a serer to buil! po"erful 1eb applications. (S3.N*T
offers seeral important a!antages oer preious 1eb !eelopment mo!els6
- 51 -
• Enhnced Performnce0 (S3.N*T is compile! common language runtime
co!e running on the serer. ,nli'e its interprete! pre!ecessors, (S3.N*T can
ta'e a!antage of early bin!ing, #ust+in+time compilation, natie optimiJation,
an! caching serices right out of the bo&. This amounts to !ramatically better
performance before you eer "rite a line of co!e.
• *or!d2C!ss Too! Support0 The (S3.N*T frame"or' is complemente! by a
rich toolbo& an! !esigner in the ;isual Stu!io integrate! !eelopment
enironment. 1@SI1@) e!iting, !rag+an!+!rop serer controls, an! automatic
!eployment are #ust a fe" of the features this po"erful tool proi!es.
• Po#er nd (!e)ibi!ity0 9ecause (S3.N*T is base! on the common language
runtime, the po"er an! fle&ibility of that entire platform is aailable to 1eb
application !eelopers. The .N*T $rame"or' class library, Messaging, an! %ata
(ccess solutions are all seamlessly accessible from the 1eb. (S3.N*T is also
language+in!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 C7M+base! !eelopment is presere! "hen migrating to
• Simp!icity0 (S3.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&le, the (S3.N*T page frame"or' allo"s you to buil! user interfaces
that cleanly separate application logic from presentation co!e an! to han!le
eents in a simple, ;isual 9asic + 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.
• ,n%ebi!ity0 (S3.N*T employs a te&t+base!, hierarchical configuration
system, "hich simplifies applying settings to your serer enironment an! 1eb
applications. 9ecause configuration information is store! as plain te&t, ne"
settings may be applie! "ithout the ai! of local a!ministration tools. This NJero
- 52 -
local a!ministrationN philosophy e&ten!s to !eploying (S3.N*T $rame"or'
applications as "ell. (n (S3.N*T $rame"or' application is !eploye! to a serer
simply by copying the necessary files to the serer. No serer restart is
re4uire!, een to !eploy or replace running compile! co!e.
• Sc!bi!ity nd Avi!bi!ity0 (S3.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 (S3.N*T runtime, so that if one misbehaes /lea's,
!ea!loc's0, a ne" process can be create! in its place, "hich helps 'eep your
application constantly aailable to han!le re4uests.
• CustomiHbi!ity nd E)tensibi!ity0 (S3.N*T !eliers a "ell+factore!
architecture that allo"s !eelopers to Nplug+inN their co!e at the appropriate
leel. In fact, it is possible to e&ten! or replace any subcomponent of the
(S3.N*T runtime "ith your o"n custom+"ritten component. Implementing
custom authentication or state serices has neer been easier.
• Security0 1ith built in 1in!o"s authentication an! per+application
configuration, you can be assure! that your applications are secure.
The Microsoft .N*T 3latform currently offers built+in support for three
languages6 C:, ;isual 9asic, an! =Script.
*&AT 'S ASP0NET *E8 (OR,SI
The (S3.N*T 1eb $orms page frame"or' is a scalable common language
runtime programming mo!el that can be use! on the serer to !ynamically
generate 1eb pages.
Inten!e! as a logical eolution of (S3 /(S3.N*T proi!es synta&
compatibility "ith e&isting pages0, the (S3.N*T 1eb $orms frame"or' has been
specifically !esigne! to a!!ress a number of 'ey !eficiencies in the preious
mo!el. In particular, it proi!es6
- 53 -
• The ability to create an! use reusable ,I controls that can encapsulate common
functionality an! thus re!uce the amount of co!e that a page !eeloper has to
• The ability for !eelopers to cleanly structure their page logic in an or!erly
fashion /not Nspaghetti co!eN0.
• The ability for !eelopment tools to proi!e strong 1@SI1@) !esign support
for pages /e&isting (S3 co!e is opa4ue to tools0.
(S3.N*T 1eb $orms pages are te&t files "ith an .asp& file name e&tension.
They can be !eploye! throughout an IIS irtual root !irectory tree. 1hen a
bro"ser client re4uests .asp& resources, the (S3.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 re4uests. /Note that the .asp& file is compile! only
the first time it is accesse!O the compile! type instance is then reuse! across
(n (S3.N*T page can be create! simply by ta'ing an e&isting ?TM5 file an!
changing its file name e&tension to .asp& /no mo!ification of co!e is re4uire!0. $or
e&le, the follo"ing sample !emonstrates a simple ?TM5 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!6
(S3.N*T proi!es synta& compatibility "ith e&isting (S3 pages. This inclu!es
support for ST TU co!e ren!er bloc's that can be intermi&e! "ith ?TM5 content
"ithin an .asp& file. These co!e bloc's e&ecute in a top+!o"n manner at page
CO$E28E&'N$ *E8 (OR,S
(S3.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 approach++'no"n as the
- 54 -
co!e+behin! metho!++enables the page co!e to be more cleanly separate! from
the ?TM5 content into an entirely separate file.
'NTRO$UCT'ON TO ASP0NET SERAER CONTRO+S
In a!!ition to /or instea! of0 using ST TU co!e bloc's to program !ynamic
content, (S3.N*T page !eelopers can use (S3.N*T serer controls to program
1eb pages. Serer controls are !eclare! "ithin an .asp& file using custom tags or
intrinsic ?TM5 tags that contain a runtJKserverK attributes alue. Intrinsic
?TM5 tags are han!le! by one of the controls in the
System0*eb0U'0&tm!Contro!s namespace. (ny tag that !oesnMt e&plicitly map
to one of the controls is assigne! the type of
Serer controls automatically maintain any client+entere! alues bet"een
roun! trips to the serer. This control state is not store! on the serer /it is
instea! store! "ithin an Linput typeJKhiddenKM form fiel! that is roun!+trippe!
bet"een re4uests0. Note also that no client+si!e script is re4uire!.
In a!!ition to supporting stan!ar! ?TM5 input controls, (S3.N*T enables
!eelopers to utiliJe richer custom controls on their pages. $or e&le, the
follo"ing sample !emonstrates ho" the Lsp3drottorM control can be use! to
!ynamically !isplay rotating a!s on a page.
B. (S3.N*T 1eb $orms proi!e an easy an! po"erful "ay to buil! !ynamic 1eb
A. (S3.N*T 1eb $orms pages can target any bro"ser client /there are no script
library or coo'ie re4uirements0.
2. (S3.N*T 1eb $orms pages proi!e synta& compatibility "ith e&isting (S3
D. (S3.N*T serer controls proi!e an easy "ay to encapsulate common
- 55 -
E. (S3.N*T ships "ith DE built+in serer controls. %eelopers can also use controls
built by thir! parties.
F. (S3.N*T serer controls can automatically pro#ect both up leel an! !o"n leel
G. (S3.N*T templates proi!e an easy "ay to customiJe the loo' an! feel of list
H. (S3.N*T ali!ation controls proi!e an easy "ay to !o !eclaratie client or
serer !ata ali!ation.
(%7.N*T is an eolution of the (%7 !ata access mo!el that !irectly
a!!resses user re4uirements for !eeloping scalable applications. It "as !esigne!
specifically for the "eb "ith scalability, statelessness, an! XM5 in min!.
(%7.N*T uses some (%7 ob#ects, such as the Connection an! Commnd
ob#ects, an! also intro!uces ne" ob#ects. Cey ne" (%7.N*T ob#ects inclu!e the
$tSet, $tReder, an! $tAdpter.
The important !istinction bet"een this eole! stage of (%7.N*T an!
preious !ata architectures is that there e&ists an ob#ect ++ the $tSet ++ that is
separate an! !istinct from any !ata stores. 9ecause of that, the $tSet
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 $tSet, much li'e in a !atabase, there are tables,
columns, relationships, constraints, ie"s, an! so forth.
( $tAdpter is the ob#ect that connects to the !atabase to fill the
$tSet. Then, it connects bac' to the !atabase to up!ate the !ata there, base!
on operations performe! "hile the $tSet hel! the !ata. In the past, !ata
- 56 -
processing has been primarily connection+base!. No", in an effort to ma'e multi+
tiere! apps more efficient, !ata processing is turning to a message+base!
approach that reoles aroun! chun's of information. (t the center of this
approach is the $tAdpter, "hich proi!es a bri!ge to retriee an! sae !ata
bet"een a $tSet an! its source !ata store. It accomplishes this by means of
re4uests to the appropriate S<5 comman!s ma!e against the !ata store.
The XM5+base! $tSet ob#ect proi!es a consistent programming mo!el
that "or's "ith all mo!els of !ata storage6 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 $tSet is, it is manipulate! through the same set of stan!ar!
(3Is e&pose! through the $tSet an! its subor!inate ob#ects.
1hile the $tSet 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 $tSet to an! from !ata stores. The 75* %9 an!
S<5 Serer .N*T %ata 3roi!ers /System.%ata.7le%b an! System.%ata.S4lClient0
that are part of the .Net $rame"or' proi!e four basic ob#ects6 the Commnd,
Connection, $tReder an! $tAdpter. In the remaining sections of this
!ocument, "eMll "al' through each part of the $tSet an! the 75* %9/S<5
Serer .N*T %ata 3roi!ers e&plaining "hat they are, an! ho" to program against
The follo"ing sections "ill intro!uce you to some ob#ects that hae eole!, an!
some that are ne". These ob#ects are6
• Connections. $or connection to an! managing transactions against a
• Commnds. $or issuing S<5 comman!s against a !atabase.
• $tReders. $or rea!ing a for"ar!+only stream of !ata recor!s from a
S<5 Serer !ata source.
- 57 -
• $tSets. $or storing, Remoting an! programming against flat !ata, XM5
!ata an! relational !ata.
• $tAdpters. $or pushing !ata into a $tSet, an! reconciling !ata
against a !atabase.
1hen !ealing "ith connections to a !atabase, there are t"o !ifferent
options6 S<5 Serer .N*T %ata 3roi!er /System.%ata.S4lClient0 an! 75* %9 .N*T
%ata 3roi!er /System.%ata.7le%b0. In these samples "e "ill use the S<5
Serer .N*T %ata 3roi!er. These are "ritten to tal' !irectly to Microsoft S<5
Serer. The 75* %9 .N*T %ata 3roi!er is use! to tal' to any 75* %9 proi!er /as
it uses 75* %9 un!erneath0.
Connections are use! to Mtal' toM !atabases, an! are represente! by
proi!er+specific classes such as S"!Connection. Comman!s trael oer
connections an! resultsets are returne! in the form of streams "hich can be rea!
by a $tReder ob#ect, or pushe! into a $tSet ob#ect.
Comman!s contain the information that is submitte! to a !atabase, an! are
represente! by proi!er+specific classes such as S"!Commnd. ( comman! can
be a store! proce!ure call, an ,3%(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&. The e&le belo" sho"s ho" to issue an INS*RT
statement against the North#ind !atabase.
The $tReder ob#ect is some"hat synonymous "ith a rea!+only/for"ar!+only
cursor oer !ata. The $tReder (3I supports flat as "ell as hierarchical !ata. (
$tReder ob#ect is returne! after e&ecuting a comman! against a !atabase.
The format of the returne! $tReder ob#ect is !ifferent from a recor!set. $or
- 58 -
e&le, you might use the $tReder to sho" the results of a search list in a
$ATASETS AN$ $ATAA$APTERS3
The $tSet ob#ect is similar to the (%7 Recordset ob#ect, but more po"erful,
an! "ith one other important !istinction6 the $tSet is al"ays !isconnecte!. The
$tSet ob#ect represents a cache of !ata, "ith !atabase+li'e structures such as
tables, columns, relationships, an! constraints. ?o"eer, though a $tSet can
an! !oes behae much li'e a !atabase, it is important to remember that $tSet
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
XM5 file, from co!e, or user input can all be place! into $tSet ob#ects. Then, as
changes are ma!e to the $tSet they can be trac'e! an! erifie! before
up!ating the source !ata. The /etChn%es metho! of the $tSet ob#ect
actually creates a secon! $tSet that contains only the changes to the !ata. This
$tSet is then use! by a $tAdpter /or other ob#ects0 to up!ate the original
The $tSet has many XM5 characteristics, inclu!ing the ability to pro!uce an!
consume XM5 !ata an! XM5 schemas. XM5 schemas can be use! to !escribe
schemas interchange! ia 1ebSerices. In fact, a $tSet "ith a schema can
actually be compile! for type safety an! statement completion.
The $tAdpter ob#ect "or's as a bri!ge bet"een the $tSet an! the
source !ata. ,sing the proi!er+specific S"!$tAdpter /along "ith its
associate! S"!Commnd an! S"!Connection0 can increase oerall performance
"hen "or'ing "ith a Microsoft S<5 Serer !atabases. $or other 75* %9+supporte!
- 59 -
!atabases, you "oul! use the O!e$b$tAdpter ob#ect an! its associate!
O!e$bCommnd an! O!e$bConnection ob#ects.
The $tAdpter ob#ect uses comman!s to up!ate the !ata source after
changes hae been ma!e to the $tSet. ,sing the (i!! metho! of the
$tAdpter calls the S*5*CT comman!O using the Updte metho! calls the
INS*RT, ,3%(T* or %*5*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!+hoc scenarios, a
Commnd8ui!der ob#ect can generate these at run+time base! upon a select
statement. ?o"eer, this run+time generation re4uires an e&tra roun!+trip to the
serer in or!er to gather re4uire! meta!ata, so e&plicitly proi!ing the INS*RT,
,3%(T*, an! %*5*T* comman!s at !esign time "ill result in better run+time
B. (%7.N*T is the ne&t eolution of (%7 for the .Net $rame"or'.
A. (%7.N*T "as create! "ith n+Tier, statelessness an! XM5 in the forefront.
T"o ne" ob#ects, the $tSet an! $tAdpter, are proi!e! for these
2. (%7.N*T can be use! to get !ata from a stream, or to store !ata in a cache
D. There is a lot more information about (%7.N*T in the !ocumentation.
E. 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
$tSet in or!er to insert, up!ate, or !elete it.
F. (lso, you can use a $tSet to bin! to the !ata, moe through the !ata,
an! naigate !ata relationships
(%7.N*T follo"s the belo" process, belo" $igure, to connect to the !atabase an!
retriee !ata to the application.
- 60 -
- 61 -
( !atabase management, or %9MS, gies the user access to their !ata an!
helps them transform the !ata into information. Such !atabase management
systems inclu!e !9ase, para!o&, IMS, S<5 Serer an! S<5 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. S<5 Serer stores each !ata item in
its o"n fiel!s. In S<5 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!
/it can also be referre! to as ra" or an occurrence0. *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 S<5 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
S:+ SERAER TA8+ES
S<5 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.
*ery table in S<5 Serer has a fiel! or a combination of fiel!s that uni4uely
i!entifies each recor! in the table. The ,ni4ue i!entifier is calle! the 3rimary Cey,
or simply the Cey. 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.
- 62 -
Sometimes all the information of interest to a business operation can be
store! in one table. S<5 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&le. This is "hat ma'es S<5 Serer a relational !atabase management
system, or R%9MS. 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
1hen 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 S<5 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.
Physic! !eve!6 This is the lo"est leel of abstraction at "hich one !escribes ho"
the !ata are actually store!.
Conceptu! +eve!6 (t this leel of !atabase abstraction all the attribute! an!
"hat !ata are actually store! is !escribe! an! entries an! relationship among
Aie# !eve!6 This is the highest leel of abstraction at "hich one !escribes only
part of the !atabase.
- 63 -
A$AANTA/ES O( R$8,S
• 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 re4uirements can be balance!
• %ata in!epen!ence can be achiee!.
$'SA$AANTA/ES O( $8,S
( significant !isa!antage of the %9MS 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 re4uire! for their e&ecution
an! storage. 1hile centraliJation re!uces !uplication, the lac' of !uplication
re4uires that the !atabase be a!e4uately bac'e! up so that in case of failure the
!ata can be recoere!.
(EATURES O( S:+ SERAER DR$8,S0
S<5 S*R;*R is one of the lea!ing !atabase management systems /%9MS0
because it is the only %atabase that meets the uncompromising re4uirements of
to!ay.s most !eman!ing information systems. $rom comple& !ecision support
systems /%SS0 to the most rigorous online transaction processing /75T30
application, een application that re4uire simultaneous %SS an! 75T3 access to
the same critical !ata, S<5 Serer lea!s the in!ustry in both performance an!
- 64 -
S<5 S*R;*R is a truly portable, !istribute!, an! open %9MS that !eliers
unmatche! performance, continuous operation an! support for eery !atabase.
S<5 S*R;*R R%9MS is high performance fault tolerant %9MS "hich is specially
!esigne! for online transactions processing an! for han!ling large !atabase
S<5 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
ENTERPR'SE *'$E $ATA S&AR'N/
The unriale! portability an! connectiity of the S<5 S*R;*R %9MS enables
all the systems in the organiJation to be lin'e! into a singular, integrate!
S<5 S*R;*R is fully portable to more than HK !istinct har!"are an!
operating systems platforms, inclu!ing ,NIX, MS%7S, 7S/A, Macintosh an!
!oJens of proprietary platforms. This portability gies complete free!om to
choose the !atabase seer platform that meets the system re4uirements.
S<5 S*R;*R offers a lea!ing implementation of in!ustry 8stan!ar! S<5.
S<5 Serer.s open architecture integrates S<5 S*R;*R an! non 8S<5 S*R;*R
%9MS "ith in!ustries most comprehensie collection of tools, application, an!
thir! party soft"are pro!ucts S<5 Serer.s 7pen architecture proi!es transparent
access to !ata from other relational !atabase an! een non+relational !atabase.
$'STR'8UTE$ $ATA S&AR'N/
S<5 Serer.s 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
- 65 -
single local computer. ( single S<5 statement can access !ata at multiple sites.
@ou can store !ata "here system re4uirements such as performance, security or
The most a!ance! architecture in the in!ustry allo"s the S<5 S*R;*R
%9MS to !elier unmatche! performance.
SOP&'ST'CATE$ CONCURRENC6 CONTRO+
Real 1orl! applications !eman! access to critical !ata. 1ith most !atabase
Systems application becomes Vcontention boun!W 8 "hich performance is limite!
not by the C3, po"er or by !is' I/7, but user "aiting on one another for !ata
access . S<5 Serer employs full, unrestricte! ro"+leel loc'ing an! contention
free 4ueries to minimiJe an! in many cases entirely eliminates contention "ait
NO 'OO 8OTT+ENEC.S
S<5 Serer.s fast commit groups commit an! !eferre! "rite technologies
!ramatically re!uce !is' I/7 bottlenec's. 1hile some !atabase "rite "hole !ata
bloc' to !is' at commit time, S<5 Serer commits transactions "ith at most
se4uential log file on !is' at commit time, 7n high throughput systems, one
se4uential "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 "ritten bac' to the
!atabase in!epen!ently of the transaction commit, "hen "ritten from memory to
- 66 -
- 67 -
- 68 -
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 !esigner.s goal is to pro!uce a mo!el or representation of
an entity that "ill later be built. 9eginning, once system re4uirement hae been
specifie! an! analyJe!, system !esign is the first of the three technical actiities
+!esign, co!e an! test that is re4uire! to buil! an! erify soft"are.
The importance can be state! "ith a single "or! V<ualityW. %esign is the
place "here 4uality is fostere! in soft"are !eelopment. %esign proi!es us "ith
representations of soft"are that can assess for 4uality. %esign is the only "ay that
"e can accurately translate a customer.s ie" into a finishe! soft"are pro!uct or
system. Soft"are !esign seres as a foun!ation for all the soft"are engineering
steps that follo". 1ithout a strong !esign "e ris' buil!ing an unstable system 8
one that "ill be !ifficult to test, one "hose 4uality cannot be assesse! until the
%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 8 architectural !esign,
!ata structure !esign, interface !esign an! proce!ural !esign.
- 69 -
<050 S6STE, *OR.(+O*
/5ogging ;ia Cust I%0
3ro!uct Search/ 5isting
Selecting a 3erticular 3ro!uct
Selection through Chec'9o& +++++++++U Temp or!er recor! recor! Y
9illing/ Shipping Info ++++++++++U Recor!ing CustomerMs %ata
Shipping R 3ro!uct 3rice Calculate! ++++U If shippe! ia 2r! party then charge is
X calculate! from their lin'e! serer
7r!er Confirmation & (ccept 7r!er ++++U *ntry into main !atabase inclu!ing temp
X recor!s. Y %elete temp recor!
CCar!/ 3ay3al/ 7ffline 3ay 3rocess
X X X
+++++++++++ +++++++++++ ++++++++++
;ia*mail ;ia*mail ;ia*mail
+++++++++++ +++++++++++ ++++++++++
X X X
Inoice to Seller Charge
Customer Inoice (mount
/ in case of
seller as *bay0
- 70 -
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 nom!y6 Inability to a!! !ata to the !atabase !ue to absence of other
$e!etion nom!y6 ,ninten!e! loss of !ata !ue to !eletion of other !ata.
Updte nom!y6 %ata inconsistency resulting from !ata re!un!ancy an! partial
Norm! (orms6 These are the rules for structuring relations that eliminate
('RST NOR,A+ (OR,3
( relation is sai! to be in first normal form if the alues in the relation are
atomic for eery attribute in the relation. 9y this "e mean simply that no
attribute alue can be a set of alues or, as it is sometimes e&presse!, a repeating
SECON$ NOR,A+ (OR,3
( 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.
B0 3rimary 'ey is a not a composite primary 'ey
A0 No non 'ey attributes are present
- 71 -
20 *ery non 'ey attribute is fully functionally !epen!ent on full set of primary
T&'R$ NOR,A+ (OR,3
( relation is sai! to be in thir! normal form if their e&its no transitie
Trnsitive $ependency6 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 normaliJation principles "ere applie! to !ecompose the !ata in
multiple tables thereby ma'ing the !ata to be maintaine! in a consistent state.
<090 E P R $'A/RA,S
• The relation upon the system is structure through a conceptual *R+
%iagram, "hich not only specifics the e&istential entities but also the stan!ar!
relations through "hich the system e&ists an! the car!inalities that are
necessary for the system state to continue.
• The entity Relationship %iagram /*R%0 !epicts the relationship bet"een the
!ata ob#ects. The *R% is the notation that is use! to con!uct the !ate mo!eling
actiity the attributes of each !ata ob#ect note! is the *R% can be !escribe!
resign a !ata ob#ect !escriptions.
• The set of primary components that are i!entifie! by the *R% are
%ata ob#ect Relationships
(ttributes ;arious types of in!icators.
The primary purpose of the *R% is to represent !ata ob#ects an! their
- 72 -
- 73 -
<090 $ATA (+O* $'A/RA,S
$ATA (+O* $'A/RA,S
( !ata flo" !iagram is graphical tool use! to !escribe an! analyJe
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. ,sing 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. 3rocess is further i!entifie! "ith a number that "ill be use! for
i!entification purpose. The !eelopment of %$%.S 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 lop+leel !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
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
leel. This is !one until further e&plosion is necessary an! an a!e4uate amount of
!etail is !escribe! for analyst to un!erstan! the process.
5arry Constantine first !eelope! the %$% as a "ay of e&pressing system
re4uirements in a graphical from, this lea! to the mo!ular !esign.
( %$% is also 'no"n as a Vbubble ChartW has the purpose of clarifying
system re4uirements an! i!entifying ma#or transformations that "ill become
- 74 -
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
In the %$%, there are four symbols
B. ( s4uare !efines a source/originator0 or !estination of system !ata
A. (n arro" i!entifies !ata flo". It is the pipeline through "hich the information
2. ( circle or a bubble represents a process that transforms incoming !ata flo"
into outgoing !ata flo"s.
D. (n open rectangle is a !ata store, !ata at rest or a temporary repository of !ata
3rocess that transforms !ata flo".
Source or %estination of !ata
CONSTRUCT'N/ A $($3
Seeral rules of thumb are use! in !ra"ing %$%.S6
B. 3rocess shoul! be name! an! numbere! for an easy reference. *ach name
shoul! be representatie of the process.
- 75 -
A. 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. 7ne "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.
2. 1hen a process is e&plo!e! into lo"er leel !etails, they are numbere!.
D. The names of !ata stores an! !estinations are "ritten in capital letters. 3rocess
an! !ataflo" names hae the first letter of each "or' capitaliJe!
( %$% typically sho"s the minimum contents of !ata store. *ach !ata store
shoul! contain all the !ata elements that flo" in an! out.
<uestionnaires 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
SA'+ENT (EATURES O( $($CS
B. The %$% sho"s flo" of !ata, not of control loops an! !ecision are controlle!
consi!erations !o not appear on a %$%.
A. The %$% !oes not in!icate the time factor inole! in any process "hether the
!ataflo" ta'e place !aily, "ee'ly, monthly or yearly.
2. The se4uence of eents is not brought out on the %$%.
T6PES O( $ATA (+O* $'A/RA,S
B. Current 3hysical
A. Current 5ogical
2. Ne" 5ogical
D. Ne" 3hysical
In Current 3hysical %$% proecess label inclu!e the name of people or their
positions or the names of computer systems that might proi!e some of the
- 76 -
oerall system+processing 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.
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 recogniJe!.
The ne" physical represents only the physical implementation of the ne"
RU+ES /OAERN'N/ T&E $($CS
B0 No process can hae only outputs.
A0 No process can hae only inputs. If an ob#ect has only inputs than it must be a
20 ( process has a erb phrase label.
B0 %ata cannot moe !irectly from one !ata store to another !ata store, a process
must moe !ata.
- 77 -
A0 %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
20 ( !ata store has a noun phrase label.
SOURCE OR S'N.
The origin an! /or !estination of !ata.
B0 %ata cannot moe !irely from a source to sin' it must be moe! by a process
A0 ( source an! /or sin' has a noun phrase lan!
B0 ( %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.
A0 ( #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.
20 ( !ata flo" cannot go !irectly bac' to the same process it lea!s. There must
be at least one other process that han!les the !ata flo" pro!uce some other
!ata flo" returns the original !ata into the beginning process.
D0 ( %ata flo" to a !ata store means up!ate /!elete or change0.
E0 ( !ata $lo" from a !ata store means retriee or use.
( !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.
- 78 -
- 79 -
P u b l i c
B r o w s e
C a t a l o g u e
R e g i s t e r
P r o f i l e
A d d p r o d u c t
C a r t
V i e w / A m e n d
C a r t
C e c ! " o u t
# r d e r
% s s u e
C C f o r
V a l i d a t i o n
% s s u e # r d e r
t o ' i p p i n g
A g e n t
P r o d u c t % n ) e n t o r * + 1
C u s t o m e r s + 2
' o p p i n g
C a r t
C u s t o m e r
# r d e r s
C r e d i t
C a r d s
C u s t o m e r s
, o g i n
C o p * # f C u s t o m e r s C r e d i t
C a r d
' i p p i n g
A g e n t
P r o d u c t % +
P r o d u c t % n f o
% t e m + e t a i l s
C u s t o m e r
+ e t a i l s
C u s t o m e r
. s e r n a m e / p a s s w "
o r d
. s e r n a m e a n d
P a s s w o r d
P r o d u c t % +
C a r t % t e m
P r o d u c t " % +
C a r t % t e m % +
C a r t % t e m
C a r t % t e m s C u s t o m e r # r d e r
C r e d i t C a r d
+ e t a i l s
0 e w C r e d i t C a r d
C r e d i t C a r d
C r e d i t C a r d
C r e d i t C a r d
C r e d i t C a r d
' t a t u s
C u s t o m e r # r d e r
' i p p i n g
R e 1 u e s t
P r o d u c t 2 t *
Unified ,ode!in% +n%u%e $i%rms
• The unifie! mo!eling language allo"s the soft"are engineer to e&press an
analysis mo!el using the mo!eling notation that is goerne! by a set of
syntactic semantic an! pragmatic rules.
• ( ,M5 system is represente! using fie !ifferent ie"s that !escribe the
system from !istinctly !ifferent perspectie. *ach ie" is !efine! by a set of
!iagram, "hich is as follo"s.
• User ,ode! Aie#
This ie" represents the system from the users perspectie.
The analysis representation !escribes a usage scenario from the en!+
• Structur! mode! vie#
In this mo!el the !ata an! functionality are arrie! from insi!e the
This mo!el ie" mo!els the static structures.
• 8ehvior! ,ode! Aie#
It represents the !ynamic of behaioral as parts of the system,
!epicting the interactions of collection bet"een arious structural
elements !escribe! in the user mo!el an! structural mo!el ie".
• 'mp!ementtion ,ode! Aie#
In this the structural an! behaioral as parts of the system are
represente! as they are to be built.
Environment! ,ode! Aie#
In this the structural an! behaioral aspects of the enironment in "hich the system is to
be implemente! are represente!.
U,+ is specific!!y constructed throu%h t#o different domins they re
,M5 (nalysis mo!eling, "hich focuses on the user mo!el an!
structural mo!el ie"s of the system
- 80 -
,M5 !esign mo!eling, "hich focuses on the behaioral mo!eling,
implementation mo!eling an! enironmental mo!el ie"s.
INTR7%,CTI7N T7 T?* ,NI$I*% M7%I$I*% 5(N),()*
9uil!ing a mo!el for a soft"are system prior to its construction is
as essential as haing a blueprint for buil!ing a large buil!ing. )oo! mo!els are
essential for communication among pro#ect teams. (s the comple&ity of the
systems increases, so !oes the importance of goo! mo!eling techni4ues.
( mo!eling language must inclu!e6
• Model elements+ fun!amentally mo!eling concepts an! semantics.
Notation+isual ren!ering of mo!el elements
)ui!elines+e&pression of usage "ithin tra!e
The use of isual notation to represent or mo!el a problem can proi!e us seeral
benefits relating to clarity, familiarity, maintenance, an! simplification. The main reason
for mo!eling is the re!uction of comple&ity.
The ,nifie! Mo!eling 5anguage /,M50 is a set of notations an! conentions
use! to !escribe an! mo!el an application. The ,M5 is inten!e! to be a uniersal
language for mo!eling systems, meaning that it can e&press mo!els of many
!ifferent 'in!s an! purposes, #ust as a programming language or a natural
language can be use! in !ifferent "ays.
( Vmo!elW is an abstract representation of a system , constructe! to
un!erstan! the system prior to buil!ing or mo!ifying it. The term VsystemW is use!
here in a broa! sense to inclu!e any process or structure. $or e&le, the
organiJational structure of a corporation , health serices, computer soft"are,
instruction of any sort /inclu!ing computers0 , the national economy, an! so forth
all "oul! be terme! VsystemsW.
The unifie! mo!eling language is a language for specifying, constructing,
isualiJing, an! !ocumenting the soft"are system an! its components. The ,M5 is
a graphical language "ith sets of rules an! semantics. The rules an! semantics of
- 81 -
a mo!el are e&presse! in *nglish, in a form 'no"n as Vob#ect constraint
languageW/7C50.7C5 is a specification language that uses simple logic for
specifying the properties of a system.
The ,M5 is not inten!e! to be a isual programming language in the
sense of haing all the necessary isual an! semantic support to replace
programming languages. ?o"eer, the ,M5 !oes hae a tight mapping to a family
of ob#ect+oriente! languages, so that you can get the best of both "orl!s.
The primry %o!s in the desi%n of the U,+ #ere s fo!!o#s3
B. 3roi!e users rea!y+to+use, e&pensie isual mo!eling languages so they can
!eelop an! e&change meaningful mo!els.
A. 3roi!e e&ten!ibility an! specialiJation mechanisms to e&ten! the core concepts.
2. 9e in!epen!ent of particular programming languages an! !eelopment process.
D. 3roi!e a formal basis for un!erstan!ing the mo!eling language.
E. *ncourage the gro"th of the 77 tools mar'et.
F. Support higher leel !eelopment concepts.
G. Integrate best practices an! metho!ologies.
U,+ is !n%u%e used to3
V;isualiJeW the soft"are system "ell+!efine! symbols. Thus a !eeloper or tool can
unambiguously interpret a mo!el "ritten by another !eeloper, using ,M5
• VSpecify the soft"are system an! help buil!ing precise, unambiguous an!
• VConstructW the mo!els of the soft"are system that can !irectly
communicate "ith a ariety of programming languages.
• V%ocumentW mo!els of the soft"are system !uring its !eelopment stages.
Architectur! vie#s nd di%rms of the U,+
The ,M5 Meta mo!el elements are organiJe! into !iagrams. %ifferent !iagrams are
!ifferent purposes !epen!ing on the angle from "hich you are ie"ing the
system. The !ifferent ie"s are calle! Varchitectural ie"sW. (rchitectural ie"s
facilitate the organiJation of 'no"le!ge, an! !iagrams enable the communication of
'no"le!ge. Then 'no"le!ge itself is "ithin the mo!el or set of mo!els that focuses
- 82 -
on the problem an! solution. The architectural ie"s an! their !iagrams are
• The Quser mode! vie#R encompasses a problem an! solution from the
preseratie of those in!ii!uals "hose problem the solution a!!resses. The ie"
presents the goals an! ob#ecties of the problem o"ners an! their re4uirements of
the solution. This ie" is compose! of Vuse case !iagramsW. These !iagrams
!escribe the functionality proi!e! by a system to e&ternal interactors. These
!iagrams contain actors, use cases, an! their relationships.
• The QStructur! mode! vie#R encompasses the static, or structural, aspects
of a problem an! solution. This ie" is also 'no"n as the static or logical
ie". This ie" is compose! of the follo"ing !iagrams.
(i%ure i!!ustrtin% the structur! vie#
o “Class diagrams” !escribe the static structure of a system, or ho" it
is !eclare! rather than ho" it behaes. These !iagrams contain classes an!
o “object diagrams” !escribe the static structure of a system at a
particular time !uring its life. These !iagrams contain ob#ects an! lin's.
• The Qbehvior! mode! vie#R encompasses the !ynamic or behaioral aspects
of a problem an! solution. The ie" is also 'no"n as the !ynamic, process,
- 83 -
State c!art diagrams
concurrent or collaboratie ie". This ie" is compose! of the follo"ing
o VSequence diagrams” ren!er the specification of behaior. These
!iagrams !escribes the behaior proi!e! by a system to
interactions. These !iagrams contain classes that e&change messages
"ith in an interaction arrange! in time se4uence. In generic form,
These !iagrams !escribe a set of message e&change se4uences
among a set of classes. In instance form/scenarios0, these
!iagrams !escribe one actual message e&change se4uence among
ob#ects of those classes.
o VCollaboration diagrams” ren!er ho" behaior is realiJe! by
components "ith in a system. These !iagrams contain classes,
associations, an! their message e&changes "ith in a collaboration
to accomplish a purpose. In generic form, these !iagrams !escribe
a set of classes an! associations inole! in message e&change
se4uences. In instance form/scenarios0, these !iagrams !escribe a
set of ob#ects of those classes lin's confirming to the
associations, an! one actual message e&change se4uence that
inconsistent "ith the generic form an! uses those ob#ects an!
o VState chart diagrams” ren!er the states an! responses of a class
participating in behaior, an! the life cycle of an ob#ect. These
!iagrams !escribe the behaior of a class in response to e&ternal
o VActivity diagrams” ren!er the actiities of a class participating in
behaior. These !iagrams !escribe the behaior of a class in
response to internal processing rather than e&ternal eents. (ctiity
!iagrams !escribe the processing actiities "ith in a class.
o The VImplementation model view” encompasses the structural an!
behaioral aspects of the solution.s realiJation. This ie" is also
'no"n as the component or !eelopment ie" an! is compose! of
Vcomponent !iagramsW. These !iagrams !escribe the organiJation of
- 84 -
an! !epen!encies among soft"are implementation components. These
!iagrams contain components an! their relationships.
o The VEnvironment model view” encompasses the structural an!
behaioral aspects of the !omain in "hich a solution must be
realiJe!. This ie" is also 'no"n as the !eployment or physical ie".
This ie" is compose! of V!eployment !iagramsW. These !iagrams
!escribe the configuration of processing resources elements an!
the mapping of soft"are implementation components onto them.
These !iagrams contain no!es, components an! their relationships.
*ery comple& system is best approache! through a small set of nearly
in!epen!ent ie"s of a mo!elO no single ie"er is sufficient. *ery mo!el
may be e&presse! at !ifferent leels of fi!elity. The best mo!els are connecte! to
reality. The ,M5 !efines nine graphical !iagrams.
B. Class !iagram
A. 7b#ect !iagram
2. ,se+case !iagram
D. 9ehaior !iagrams
D.A. (ctiity !iagram
- 85 -
USE CASE $ES'/N3
- 86 -
E2/ift Shoppy *eb Port!
- 87 -
Aie# Customer $eti!s
Aie# Content P%e
Updte Content P%e
- 88 -
Add Country Updte
Aie# Stte Add Stte Updte Stte
Aie# City Add City Updte City
'se Case Sequence %iagrams
()ig 1*1+ , Searc!ing Categries
- 89 -
5ie6 Categries 0equest
()ig 1*2+ , Searc!ing 8rducts 7ist
- 90 -
C'S-O./0 80O%'C- ."3"1/0 80O%'C-S
5ie6 8rducts 0equest
)ig* 1*3 , 'ser 0egistratin
- 91 -
8ersnal9 "ddress : credential details
Custmer 0egistratin Status
)ig* 1*4 , 8rduct 8urc!ase 8rcess
- 92 -
Clic; n 7gin
Clic; n "dd t
Clic; n <illing
Status = Order
)ig* 1*5 , Order .anagement
- 93 -
<0;0 $ATA $'CTONAR6
(fter carefully un!erstan!ing the re4uirements of the client the the entire
!ata storage re4uirements are !ii!e! into tables. The belo" tables are normaliJe!
to aoi! any anomalies !uring the course of !ata entry.
- 94 -
- 95 -
- 96 -
- 97 -
- 98 -
- 99 -
- 100 -
- 101 -
- 102 -
- 103 -
- 104 -
- 105 -
- 106 -
- 107 -
- 108 -
- 109 -
- 110 -
Pste your Output Screen
- 111 -
- 112 -
S6STE, TEST'N/ AN$
- 113 -
Soft"are testing is a critical element of soft"are 4uality 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 "ell+planne! 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 4uality "ith metho!s that can economically an! effectiely apply to
both strategic to both large an! small+scale systems.
>050 STRATE/'C APPROAC& TO SO(T*ARE TEST'N/
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 re4uirement
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
soft"are "e spiral in along streamlines that !ecrease the leel of abstraction on
( strategy for soft"are testing may also be ie"e! in the conte&t of the
spiral. ,nit 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 re4uirements establishe! as
part of soft"are re4uirements analysis are ali!ate! against the soft"are that has
- 114 -
been constructe!. $inally "e arrie at system testing, "here the soft"are an!
other system elements are teste! as a "hole.
>070 Unit Testin%
,nit 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.
40 *&'TE 8OX 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.
- 115 -
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.
50 8AS'C PAT& TEST'N/
*stablishe! techni4ue of flo" graph "ith Cyclomatic comple&ity "as use! to !erie
test cases for all the functions. The main steps in !eriing test cases "ere6
,se the !esign of the co!e an! !ra" correspon!ent flo" graph.
%etermine the Cyclomatic comple&ity of resultant flo" graph, using formula6
;/)0ZNumber 7f Regions
1here ;/)0 is Cyclomatic comple&ity,
* is the number of e!ges,
N is the number of flo" graph no!es,
3 is the number of pre!icate no!es.
%etermine the basis of set of linearly in!epen!ent paths.
70 CON$'T'ONA+ TEST'N/
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.
90 $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 definitionuse chain metho! "as use! in this type of
testing. These "ere particularly useful in neste! statements.
;0 +OOP TEST'N/
- 116 -
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 loops6
• (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
• ,nstructure! 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 -
- 118 -
- 119 -
The protection of computer base! resources that inclu!es har!"are,
soft"are, !ata, proce!ures an! people against unauthoriJe! use or natural
%isaster is 'no"n as System Security.
System Security can be !ii!e! into four relate! issues6
S6STE, SECUR'T6 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'T6 is the protection of !ata from loss, !isclosure, mo!ification an!
S6STE, 'NTE/R'T6 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'AAC6 !efines the rights of the user or organiJations to !etermine "hat
information they are "illing to share "ith or accept from others an! ho" the
organiJation can be protecte! against un"elcome, unfair or e&cessie
!issemination of information about it.
CON('$ENT'A+'T6 is a special status gien to sensitie information in a
!atabase to minimiJe the possible inasion of priacy. It is an attribute of
information that characteriJes its nee! for protection.
- 120 -
?050 SECUR'T6 'N SO(T*ARE
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! controls6
C+'ENT S'$E AA+'$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! are6
• ;9Script in use! to ensure those re4uire! 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!.
• Tab+in!e&es are set accor!ing to the nee! an! ta'ing into account the ease of
user "hile "or'ing "ith the system.
SERAER S'$E AA+'$AT'ON
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! is6
• 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.
- 121 -
• ,ser 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 organiJational structure. 7nly permitte! users can
log on to the system an! can hae access accor!ing to their category. ,ser+
name, pass"or!s an! permissions are controlle! o the serer si!e.
• ,sing serer si!e ali!ation, constraints on seeral restricte! operations are
- 122 -
- 123 -
- 124 -
The Internet has become a ma#or resource in mo!ern business, thus electronic
shopping has gaine! significance not only from the entrepreneur.s but also from
the customer.s point of ie". $or the entrepreneur, electronic shopping generates
ne" business opportunities an! for the customer, it ma'es comparatie shopping
possible. (s per a surey, most consumers of online stores are impulsie an!
usually ma'e a !ecision to stay on a site "ithin the first fe" secon!s. V1ebsite
!esign is li'e a shop interior. If the shop loo's poor or li'e hun!re!s of other
shops the customer is most li'ely to s'ip to the other site. ?ence "e hae
!esigne! the pro#ect to proi!e the user "ith easy naigation, retrieal of !ata an!
necessary fee!bac' as much as possible.
In this pro#ect, the user is proi!e! "ith an e+commerce "eb site that can be use!
to buy 3ro!ucts online. To implement this as a "eb application "e use! (S3.N*T
as the Technology. (S3.N*T has seeral a!antages such as enhance!
performance, scalability, built+ in security an! simplicity. To buil! any "eb
application using (S3.N*T "e nee! a programming language such as C:, ;9.N*T,
=: an! so on. C: "as the language use! to buil! this application. $or the client
bro"ser to connect to the (S3.N*T engine "e use! Microsoft.s Internet
Information Serices /IIS0 as the 1eb Serer. (S3.N*T uses (%7.N*T to interact
"ith the !atabase as it proi!es in+memory caching that eliminates the nee! to
contact the !atabase serer fre4uently an! it can easily !eploy an! maintain an
(S3.N*T application. S<5 Serer "as use! as bac'+en! !atabase since it is one of
the most popular open source !atabases, an! it proi!es fast !ata access, easy
installation an! simplicity.
( goo! shopping cart !esign must be accompanie! "ith user+frien!ly shopping
cart application logic. It shoul! be conenient for the customer to ie" the
contents of their cart an! to be able to remoe or a!! items to their cart. The *+
)ift Shoppy application !escribe! in this pro#ect proi!es a number of features
that are !esigne! to ma'e the customer more comfortable.
- 125 -
This pro#ect helps in un!erstan!ing the creation of an interactie "eb page an!
the technologies use! to implement it. The !esign of the pro#ect "hich inclu!es
%ata Mo!el an! 3rocess Mo!el illustrates ho" the !atabase is built "ith !ifferent
tables, ho" the !ata is accesse! an! processe! from the tables. The buil!ing of
the pro#ect has gien me a precise 'no"le!ge about ho" (S3.N*T is use! to
!eelop a "ebsite, ho" it connects to the !atabase to access the !ata an! ho" the
!ata an! "eb pages are mo!ifie! to proi!e the user "ith a *+)ift Shoppy
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 (S3.N*T an! C:.N*T "eb base! application an! no some
e&tent 1in!o"s (pplication an! S<5 Serer, but also about all han!ling proce!ure
relate! "ith QPROJECT NA,ER0 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"s6 +
• It.s a "eb+enable! pro#ect.
• 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
• 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.
- 126 -
• 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.
• ,ser 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
re4uirement. 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.
• Through these features it "ill increase the efficiency, accuracy an!
There are some limitations for the current system to "hich solutions can be
proi!e! as a future !eelopment6
B. The system is not configure! for multi+ users at this time. The concept of
transaction can be use! to achiee this.
- 127 -
A. The 1ebsite is not accessible to eeryone. It can be !eploye! on a "eb serer
so that eerybo!y "ho is connecte! to the Internet can use it.
2. Cre!it Car! ali!ation is not !one. Thir! party proprietary soft"are can be use!
for ali!ation chec'.
- 128 -
- 129 -
(s for other future !eelopments, the follo"ing can be !one6
• The (!ministrator of the "eb site can be gien more
functionality, li'e loo'ing at a specific customer.s profile, the boo's that
hae to be reor!ere!, etc.
• Multiple Shopping carts can be allo"e!.
• ( 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 beginningO further the system may be utiliJe! in
arious other types of au!iting operation iJ. Net"or' au!iting or similar
process/"or'flo" base! applications...
- 130 -
- 131 -
B. Chen, 5. /AKKK0. *nticing 7nline Consumers6 ( Technology (cceptance
- 132 -
3erspectie Research+ in+3rogress, (CM 3rocee!ings, SI)C3R
A. %i"a'ar, ?., Marathe, M. /AKKK0. The architecture of a one+stop "eb+"in!o"
shop. %ecember, (CM SI)ecom *&changes, ;olume A Issue B.
2. Morrison, M., Morrison, =., an! Ceys, (. /AKKA0. Integrating 1eb Sites an!
%atabases. Communications of the (CM, September, ;olume DE, Issue I.
D. Cubilus, N. =. /AKKK0. %esigning an e+commerce site for users. September
AKKK, Crossroa!s, ;olume G Issue B.
E. (n!erson, R., $rancis, 9., ?omer, (., ?o"ar!, R., Sussman, %. an! 1atson.
/AKKB0 3rofessional (S3.N*T. 1ro& 3ress 5t!.
F. 1agner, R., %aniels, C., )riffin, )., ?a!!a!, C. an! Nasr, =. /BIIG0
=aaScript ,nleashe!. S(MS Net.
G. 1iley, @. M. =. & Sons. /BIIG0 Creating the ;irtual Store6 Ta'ing @our 1eb
Site from 9ro"sing to 9uying.
H. http6//encyclope!ia.laborla"tal'.com/IIS for information on IIS
I. http6//aspnet.Dguysfromrolla.com/articles/KAKDKD+B.asp& for relationship
bet"een IIS an! (S3.N*T.
security authentication in (S3.N*T
for information on Transactions in (S3.N*T.
BA. http6//""".&+cart.com/articles/!esign[!eelopment.html for online
- 133 -
B2. http6//aspnet.Dguysfromrolla.com/articles/KBBDKD+B.asp& for relation
bet"een IIS an! (S3.N*T.
for !efinition of $unctional %ecomposition.
BE. http6//""".agilemo!eling.com/artifacts/!ata$lo"%iagram.htm for !efinition
of %ata $lo" %iagram.
BF. http6//""".startb!otnet.com/a!o/!efault.asp& for information on (%7.N*T
BG. http6//mypage.iusb.e!u/\hha'imJa/EKE/in!e&.html for (%7.N*T ob#ects.
BH. http6//ms!n.microsoft.com for (%7.N*T ob#ects.
- 134 -