Sunteți pe pagina 1din 169

INTRODUCTION ABSTRACT The project titled as Super Market Billing Syste is de!

eloped "or users #ho #ant to do shopping in an easy #ay through internet$ %e pro!ide "ree access to kno# the details and &uy the products a!aila&le in our Super Market Billing Syste $ The data&ase is also controlled so that unnecessary data are not stored in the data&ase and are deleted as and #hen re'uired$ I" needed "or "uture re"erence #e can store the and relia&le$ The syste aintenance and handling cost is !ery lo# #hen co pared to the old o" #orking #ith "iles$ The entire syste The syste is &uilt taking at ost care in tapes( #hich are !ery cheap

o" user "riendliness and security$ is de!eloped "or a !alid user id and pass#ord( and no Also to ini i)e the o!erhead o" o!e to &ody can enter the o""icial section$

repeating "or user*id and pass#ord each and e!ery ti e the user

ne+t page( #e are using the concept o" session and cookies #here a user id and pass#ord are stored in te porary "ile #hich get deleted auto atically as user logs out$ ,ike this there is no need to enter the user*id and pass#ord on each and e!ery page also protecting it #ith asking "or user id and pass#ord as a login page$ Super Market Billing Syste to arket the goods( to "ind the re'uired goods

&uy the $ Once a shopper purchases an ite ( it-s calculated in the shopping cart$ Settle online .ay ents$ Add real*ti e credit card processing to online

store #ith a secure( easy*to*integrate solution "or accepting and processing credit card pay ents online$ The entire project has &een di!ided into / 12Ad inistrator /2Client odules0

REQUIREMENT ANALYSIS Existing System: In the e+isting syste e!ery thing is anual$ Occurrence o" errors is ore #hile accessing the data$ Data reports is pro&le atic$ The syste uni"or ity$ Proposed System: To o!erco e the di""iculties o" an o""line syste ( #hich re'uires lot o" hu an inter!ention and lot o" ti e and o!er the oney( store is looking "or #e& any &ene"its anual syste $ application o!er Internet$ The co puteri)ed Shopping has case o" co puteri)ed syste is uch less than the aintenance creates a pro&le $ 3diting or is irregular and ine""icient due to lack o"

odi"ying a record re'uired #ay is not possi&le$ Creation o" entries and

anual syste $ The ti e consu ption in achie!e ent o" tasks in

Maintenance o" nu &er o" "iles is generally reduced$ Cost o" retrie!ing the data is reduced$ Retrie!ing the data in a desired anner is possi&le$ Manual #ork is reduced$ Retrie!al and access o" data is easy$ Transactions are

processed 'uickly and easily$ In"or ation sharing &eco es 'uite easy$ The ne# drea task o" glo&al ser!ice center #ill "unction e""ecti!ely$

Module Des ription: The Super Market Billing Syste #ith the e*co odule is designed "or online shopping

erce re!olution$ The &uyers can register #ith the 3*Stores

and already e+isting users directly login to shop$ They can "ind re'uired Cars easily$ A"ter !ie#ing the descriptions( selecting their re'uired &rands and on con"ir ation they can add to their shopping cart and &uy $The &uyer can choose the &ought products$ The user can easily go through the site &y just "ollo#ing the instructions and hyperlinks pro!ided on the screen$ Mini u co puter is su""icient to use this site$ Online Market where goods are sold and bought The new user registers, already existing users logs in Finds the required goods (Cars !ooking " #ur$hasing online kno#ledge o" ode o" pay ent and can easily and securely pay "or the

The entire project has &een di!ided into / % &d'inistrator ( Client

odules0

)&*+,&*- " SOFT,&*- S#-C.F.C&T.O/ )&*+,&*- 0S-+1 .rocessor Speed RAM 7ard disk MONITOR SOFT,&*- 0S-+ 1 Operating syste ,anguages %e& Technologies DataBase %e& Ser!er Docu entation Tool 0 0 0 0 0 %indo#s /888 0 0 0 0 Celeron 455 h) 1/6 /8 g& 0 ,9 1:;; &

S3R<,3TS(=S. 7t l( =a!aScript 0 ORAC,3 6i To cat>$8 Microso"t %ord ?.

F-&S.!.2.T3 ST0+31

The "easi&ility o" the project is analy)ed in this phase and &usiness proposal is put "orth #ith a !ery general plan "or the project and so e cost esti ates$ During syste syste analysis the "easi&ility study o" the proposed is not is to &e carried out$ This is to ensure that the proposed syste is essential$

a &urden to the co pany$ @or "easi&ility analysis( so e understanding o" the ajor re'uire ents "or the syste

Three key considerations in!ol!ed in the "easi&ility analysis are 3CONOMICA, @3ASIBI,ITA T3C7NICA, @3ASIBI,ITA SOCIA, @3ASIBI,ITA

-CO/OM.C&2 F-&S.!.2.T31 This study is carried out to check the econo ic i pact that the syste #ill ha!e on the organi)ation$ The a ount o" "und that the co pany can pour into the research and de!elop ent o" the syste e+penditures ust &e justi"ied$ Thus the de!eloped syste &udget and this #as achie!ed &ecause is li ited$ The as #ell #ithin the

ost o" the technologies used are

"reely a!aila&le$ Only the custo i)ed products had to &e purchased$ T-C)/.C&2 F-&S.!.2.T31

This study is carried out to check the technical "easi&ility( that is( the technical re'uire ents o" the syste $ Any syste de!eloped ust not ha!e a high de and on the a!aila&le technical resources$ This #ill lead to high de ands on the a!aila&le technical resources$ This #ill lead to high de ands &eing placed on the client$ The de!eloped syste odest re'uire ent( as only i ple enting this syste $ SOC.&2 F-&S.!.2.T31 The aspect o" study is to check the le!el o" acceptance o" the syste &y the user$ This includes the process o" training the user to use the syste e""iciently$ The user on the to ust not "eel threatened &y the syste ( instead ust and accept it as a necessity$ The le!el o" acceptance &y the users solely depends ethods that are e ployed to educate the user a&out the syste "a iliar #ith it$ 7is le!el o" con"idence ake hi ust &e raised so that ust ha!e a ini al or null changes are re'uired "or

he is also a&le to

ake so e constructi!e criticis ( #hich is #elco ed( as

he is the "inal user o" the syste $ S3ST-M +-4-2O#M-/T Con$epts " Te$hniques 5&4& =a!a #as designed to eet all the real #orld re'uire ents #ith its key

"eatures( #hich are e+plained in the "ollo#ing paragraph$

S.M#2- &/+ #O,-*F02 =a!a #as designed to &e easy "or the pro"essional progra and use e""iciently$ =a!a can per"or "eatures$ Since it e+poses the inner #orking o" a er to learn er ing

akes itsel" si ple &y not ha!ing surprising achine( the progra

his desired actions #ithout "ear$ Unlike other progra

syste s that pro!ide do)ens o" co plicated #ays to per"or

a si ple task(

=a!a pro!ides a s all nu &er o" clear #ays to achie!e a gi!en task$ S-C0*Today e!eryone is #orried a&out sa"ety and security$ .eople "eel that conducting co erce o!er the Internet is a sa"e as printing the credit card nu &er on the "irst page o" a Ne#spaper$ Threatening o" !iruses and syste hackers also e+ists$ To o!erco e all these "ears ja!a has sa"ety and security as its key design principle$ Using =a!a Co pati&le Bro#ser( anyone can sa"ely do#nload ja!a applets #ithout the "ear o" !iral in"ection or en!iron ent and &y alicious intent$ =a!a achie!es to the ja!a e+ecution #ill &e done and no this protection &y con"ining a ja!a progra

aking it inaccessi&le to other parts o" the co puter$

%e can do#nload applets #ith con"idence that no har security #ill &e &reached$ #O*T&!2-

In ja!a( the sa e

echanis

that gi!es security also helps in porta&ility$

Many types o" co puters and operating syste s are in use throughout the #orld and are connected to the internet$ @or do#nloading progra s through di""erent plat"or s connected to the internet( so e porta&le( e+ecuta&le code is needed$ =a!a;s ans#er to these pro&le s is its #ell designed architecture$ O!5-CT6O*.-/T-+ =a!a #as designed to &e source*code co pati&le #ith any other language$ =a!a tea o&ject ga!e a clean( usa&le( realistic approach to o&jects$ The odel in ja!a is si ple and easy to e+tend( #hile si ple types( such

as integers( are kept as high*per"or ance non *o&jects$ +3/&M.C =a!a progra s carry #ith the e+tensi!e a ounts o" run*ti e

in"or ation that is used to !eri"y and resol!e accesses to o&jects at run*ti e$ Using this concept it is possi&le to dyna ically link code$ Dyna ic property o" ja!a adds strength to the applet en!iron ent( in #hich s all "rag ents o" &yte code ay &e dyna ically updated on a running syste $ JAVA TECHNOLOGY =a!a technology is &oth a progra ing language and a plat"or $

The 5a7a #rogra''ing 2anguage The =a!a progra ing language is a high*le!el language that can &e characteri)ed &y all o" the "ollo#ing &u))#ords0 Si ple Architecture neutral O&ject oriented .orta&le Distri&uted 7igh per"or ance Interpreted Multithreaded Ro&ust Dyna ic Secure %ith progra ost progra ing languages( you either co pile or interpret a ing is &oth co piled and interpreted$ %ith into an inter ediate language

so that you can run it on your co puter$ The =a!a progra

language is unusual in that a progra

the co piler( "irst you translate a progra

called Java byte codes Bthe plat"or *independent codes interpreted &y the interpreter on the =a!a plat"or $ The interpreter parses and runs each =a!a &yte code instruction on the co puter$ Co pilation happens just onceC interpretation occurs each ti e the progra "igure illustrates ho# this #orks$ is e+ecuted$ The "ollo#ing

Aou can think o" =a!a &yte codes as the

achine code instructions "or

the Java Virtual Machine D=a!a <M2$ 3!ery =a!a interpreter( #hether it;s a de!elop ent tool or a %e& &ro#ser that can run applets( is an i ple entation o" the =a!a <M$ =a!a &yte codes help any#hereF possi&le$ Aou can co pile your progra plat"or i ple entation o" the =a!a <M$ That =a!a <M( the sa e progra ake E#rite once( run into &yte codes on any

that has a =a!a co piler$ The &yte codes can then &e run on any eans that as long as a co puter has a ing language can #ritten in the =a!a progra

run on %indo#s /888( a Solaris #orkstation( or on an iMac$

The 5a7a #lat8or' A plat or! is the hard#are or so"t#are en!iron ent in #hich a progra runs$ %e;!e already entioned so e o" the ost popular

plat"or s like %indo#s /888( ,inu+( Solaris( and MacOS$ Most plat"or s can &e descri&ed as a co &ination o" the operating syste and hard#are$ The =a!a plat"or that it;s a so"t#are*only plat"or &ased plat"or s$ The =a!a plat"or

di""ers "ro

ost other plat"or s in

that runs on top o" other hard#are*

has t#o co ponents0

The Java Virtual Machine D=a!a <M2 The Java Application "ro#ra!!in# $nter ace D=a!a A.I2 and is ported onto !arious hard#are*&ased

Aou;!e already &een introduced to the =a!a <M$ It;s the &ase "or the =a!a plat"or plat"or s$ The =a!a A.I is a large collection o" ready* ade so"t#are co ponents that pro!ide any use"ul capa&ilities( such as graphical user inter"ace D9UI2 #idgets$ The =a!a A.I is grouped into li&raries o" related classes and inter"acesC these li&raries are kno#n as pac%a#es$ The ne+t section( %hat Can =a!a Technology DoG 7ighlights #hat "unctionality so e o" the packages in the =a!a A.I pro!ide$ The "ollo#ing "igure depicts a progra insulate the progra "ro the hard#are$ that;s running on the =a!a achine plat"or $ As the "igure sho#s( the =a!a A.I and the !irtual

Nati!e code is code that a"ter you co pile it( the co piled code runs on a speci"ic hard#are plat"or $ As a plat"or *independent

en!iron ent( the =a!a plat"or

can &e a &it slo#er than nati!e code$

7o#e!er( s art co pilers( #ell*tuned interpreters( and just*in*ti e &yte code co pilers can &ring per"or ance close to that o" nati!e code #ithout threatening porta&ility$ %7AT CAN =A<A T3C7NO,O9A DOG The ost co on types o" progra s #ritten in the =a!a progra ing language are applets and applications$ I" you;!e sur"ed the %e&( you;re pro&a&ly already "a iliar #ith applets$ An applet is a progra that adheres to certain con!entions that allo# it to run #ithin a =a!a* ena&led &ro#ser$ 7o#e!er( the =a!a progra progra ing language is not just "or #riting cute( entertaining applets "or the %e&$ The general*purpose( high*le!el =a!a ing language is also a po#er"ul so"t#are plat"or $ Using any types o" progra s$ that runs directly on the =a!a the generous A.I( you can #rite

An application is a standalone progra

plat"or $ A special kind o" application kno#n as a server ser!es and supports clients on a net#ork$ 3+a ples o" ser!ers are %e& ser!ers( pro+y ser!ers( progra ail ser!ers( and print ser!ers$ Another speciali)ed is a servlet$ A ser!let can al ost &e thought o" as an applet

that runs on the ser!er side$ =a!a Ser!lets are a popular choice "or &uilding interacti!e #e& applications( replacing the use o" C9I scripts$ Ser!lets are si ilar to applets in that they are runti e e+tensions o" applications$ Instead o" #orking in &ro#sers( though( ser!lets run #ithin =a!a %e& ser!ers( con"iguring or tailoring the ser!er$ 7o# does the A.I support all these kinds o" progra sG It does so #ith packages o" so"t#are co ponents that pro!ides a #ide range o"

"unctionality$ 3!ery "ull i ple entation o" the =a!a plat"or you the "ollo#ing "eatures0

gi!es

The essentials0 O&jects( strings( threads( nu &ers( input and output( data structures( syste on$ properties( date and ti e( and so

&pplets0 The set o" con!entions used &y applets$ /etworking0 UR,s( TC. DTrans ission Control .rotocol2( UD. DUser Data gra .rotocol2 addresses$ .rotocol2 sockets( and I. DInternet

.nternationali9ation0 7elp "or #riting progra s that can &e locali)ed "or users #orld#ide$ .rogra s can auto atically adapt to speci"ic locales and &e displayed in the appropriate language$ Se$urity0 Both lo# le!el and high le!el( including electronic signatures( pu&lic and pri!ate key and certi"icates$ anage ent( access control(

So8tware $o'ponents0 Hno#n as =a!aBeansTM( can plug into e+isting co ponent architectures$ Ob:e$t seriali9ation0 Allo#s light#eight persistence and co unication !ia Re ote Method In!ocation DRMI2$ 5a7a +atabase Conne$ti7ity (5+!CTM 0 .ro!ides uni"or access to a #ide range o" relational data&ases$ also has A.Is "or /D and 5D graphics(

The =a!a plat"or

accessi&ility( ser!ers( colla&oration( telephony( speech( ani ation( and ore$ The "ollo#ing "igure depicts #hat is included in the =a!a / SDH$

7O% %I,, =A<A T3C7NO,O9A C7AN93 MA ,I@3G %e can;t pro ise you "a e( "ortune( or e!en a jo& i" you learn the =a!a progra ing language$ Still( it is likely to ake your progra s &etter and re'uires less e""ort than other languages$ %e &elie!e that =a!a technology #ill help you do the "ollo#ing0

;et started qui$kly0 Although the =a!a progra especially "or progra

ing language

is a po#er"ul o&ject*oriented language( it;s easy to learn( ers already "a iliar #ith C or CII$ etrics Dclass ,rite less $ode0 Co parisons o" progra counts( #ritten in the =a!a progra s aller than the sa e progra

ethod counts( and so on2 suggest that a progra ing language can &e "our ti es in CII$ =a!a progra ing language

,rite

better

$ode0

The

encourages good coding practices( and its gar&age collection helps you a!oid e ory leaks$ Its o&ject orientation( its =a!aBeans co ponent architecture( and its #ide*ranging( easily

e+tendi&le A.I let you reuse other people;s tested code and introduce "e#er &ugs$

+e7elop progra's 'ore qui$kly0 Aour de!elop ent ti e ay &e as progra si pler progra uch as t#ice as "ast !ersus #riting the sa e ing language than CII$ porta&le &y a!oiding the use o" li&raries has a repository o" historical process aterials online$ in CII$ %hyG Aou #rite "e#er lines o" code and it is a

&7oid plat8or' dependen$ies with %<<= #ure 5a7a0 Aou can keep your progra Certi"ication .rogra #ritten in other languages$ The 188J .ure =a!aTM .roduct anuals( #hite papers( &rochures( and si ilar

,rite on$e, run anywhere0 Because 188J .ure =a!a progra s are co piled into achine*independent &yte codes( they run consistently on any =a!a plat"or $

+istribute so8tware 'ore easily0 Aou can upgrade applets easily "ro a central ser!er$ Applets take ad!antage o" the "eature o" allo#ing ne# classes to &e loaded Eon the "ly(F #ithout reco piling the entire progra $

=A<A IS A 7I97*,3<3, .RO9RAMMIN9 ,AN9UA93 T7AT IS A,, O@ T73 @O,,O%IN9 SIM.,3 N3UTRA, OB=3CT*ORI3NT3D DISTRIBUT3D .3R@ORMANC3 INT3R.R3T3D MU,TIT7R3AD3D .ORTAB,3 7I97* ARC7IT3CTUR3*

ROBUST S3CUR3

DANAMIC

=A<A IS A,SO UNUSUA, IN T7AT 3AC7 =A<A .RO9RAM IS BOT7 COM.I,3D AND INT3R.R3T3D$ %IT7 A COM.I,3 AOU TRANS,AT3 A =A<A .RO9RAM INTO AN INT3RM3DIAT3 ,AN9UA93 CA,,3D =A<A BAT3 COD3S T73 .,AT@ORM*IND3.3ND3NT COD3 INSTRUCTION IS .ASS3D AND RUN ON T73 COM.UT3R$

COM.I,ATION

7A..3NS

=UST

ONC3C

INT3R.R3TATION OCCURS 3AC7 TIM3 T73 .RO9RAM IS 3?3CUT3D$ T73 @I9UR3 I,,USTRAT3S 7O% T7IS %ORHS$

5a7a #rogra'

.nterpreter

Co'pilers

My #rogra'

AOU CAN T7INH O@ =A<A BAT3 COD3S AS T73 MAC7IN3 COD3 INSTRUCTIONS @OR T73 =A<A <IRTUA, MAC7IN3 D=A<A <M2$ 3<3RA =A<A INT3R.R3T3R( %73T73R IT;S A =A<A D3<3,O.M3NT TOO, OR A %3B BRO%S3R T7AT CAN RUN =A<A A..,3TS( IS AN IM.,3M3NTATION O@ T73 =A<A <M$ T73 =A<A <M CAN A,SO B3 IM.,3M3NT3D IN 7ARD%AR3$

=a!a &yte codes help

ake E#rite once( run any#hereF possi&le$ Aou can into &yte codes on y plat"or that has a =a!a

co pile your =a!a progra

co piler$ The &yte codes can then &e run any i ple entation o" the =a!a <M$ @or e+a ple( the sa e =a!a progra and Macintosh$ can run %indo#s NT( Solaris(

O+!C Microso"t Open Data&ase Connecti!ity DODBC2 is a standard progra ing inter"ace "or application de!elopers and data&ase syste s ers had to use proprietary a coding uch pro!iders$ Be"ore ODBC &eca e a de acto standard "or %indo#s progra s to inter"ace #ith data&ase syste s( progra ade the choice o" the data&ase syste languages "or each data&ase they #anted to connect to$ No#( ODBC has al ost irrele!ant "ro perspecti!e( #hich is as it should &e$ Application de!elopers ha!e their progra change$ Through the ODBC Ad inistrator in Control .anel( you can speci"y the particular data&ase that is associated #ith a data source that an ODBC application progra is #ritten to use$ Think o" an ODBC data source as a ight &e a SK, Ser!er door #ith a na e on it$ 3ach door #ill lead you to a particular data&ase$ @or e+a ple( the data source na ed Sales @igures data&ase( #hereas the Accounts .aya&le data source could re"er to an Access data&ase$ The physical data&ase re"erred to &y a data source can reside any#here on the ,AN$ The ODBC syste "iles are not installed on your syste &y %indo#s 6>$ Rather( they are installed #hen you setup a separate data&ase application( such as SK, Ser!er Client or <isual Basic :$8$ %hen the ODBC icon is installed in Control .anel( it uses a "ile called ODBCINST$D,,$ It is also possi&le to ad inister your ODBC data sources through a stand*alone progra called ODBCADM$3?3$ There is a 14*&it "ro

ore i portant things to #orry a&out than the synta+ that is needed to port one data&ase to another #hen &usiness needs suddenly

and a 5/*&it !ersion o" this progra ODBC @ro a progra data

and each

aintains a separate list o" sources$

ing perspecti!e( the &eauty o" ODBC is that the

application can &e #ritten to use the sa e set o" "unction calls to inter"ace #ith any data source( regardless o" the data&ase !endor$ The source code o" the application doesn;t change #hether it talks to Oracle or SK, Ser!er$ %e only ention these t#o as an e+a ple$ There are ODBC dri!ers a!aila&le uses "or se!eral do)en popular data&ase syste s$ 3!en 3+cel spreadsheets and plain te+t "iles can &e turned into data sources$ The operating syste the Registry in"or ation #ritten &y ODBC Ad inistrator to deter ine #hich lo#*le!el ODBC dri!ers are needed to talk to the data source Dsuch as the inter"ace to Oracle or SK, Ser!er2$ The loading o" the ODBC dri!ers is transparent to the ODBC application progra $ In a clientLser!er en!iron ent( the ODBC A.I e!en handles the application progra thinking there has had er$ any o" the net#ork issues "or

The ad!antages o" this sche e are so nu erous that you are pro&a&ly ust &e so e catch$ The only disad!antage o" ODBC is that it ake the charge that it is too slo#$ Microso"t has isn;t as e""icient as talking directly to the nati!e data&ase inter"ace$ ODBC any detractors al#ays clai ed that the critical "actor in per"or ance is the 'uality o" the dri!er so"t#are that is used$ In our hu &le opinion( this is true$ The a!aila&ility o" good ODBC dri!ers has i pro!ed a great deal recently$ And any#ay( the criticis a&out per"or ance is so e#hat analogous to those atch the speed o" pure asse &ly #ho said that co pilers #ould ne!er

language$ May&e not( &ut the co piler Dor ODBC2 gi!es you the opportunity

to #rite cleaner progra s( #hich co puters get "aster e!ery year$ 5+!C

eans you "inish sooner$ Mean#hile(

In an e""ort to set an independent data&ase standard A.I "or =a!aC Sun Microsyste s de!eloped =a!a Data&ase Connecti!ity( or =DBC$ =DBC o""ers a generic SK, data&ase access echanis that pro!ides a consistent odules( or drivers$ I" a ust pro!ide the inter"ace to a !ariety o" RDBMSs$ This consistent inter"ace is achie!ed through the use o" Eplug*inF data&ase connecti!ity dri!er "or each plat"or data&ase !endor #ishes to ha!e =DBC support( he or she that the data&ase and =a!a run on$

To gain a #ider acceptance o" =DBC( Sun &ased =DBC;s "ra e#ork on ODBC$ As you disco!ered earlier in this chapter( ODBC has #idespread support on a !ariety o" plat"or s$ Basing =DBC on ODBC #ill allo# !endors to &ring =DBC dri!ers to co pletely ne# connecti!ity solution$ =DBC #as announced in March o" 1664$ It #as released "or a 68 day pu&lic re!ie# that ended =une M( 1664$ Because o" user input( the "inal =DBC !1$8 speci"ication #as released soon a"ter$ The re ainder o" this section #ill co!er enough in"or ation a&out =DBC "or you to kno# #hat it is a&out and ho# to use it e""ecti!ely$ This is &y no eans a co plete o!er!ie# o" =DBC$ That #ould "ill an entire &ook$ 5+!C ;oals @e# so"t#are packages are designed #ithout goals in one that( &ecause o" its ind$ =DBC is any goals( dro!e the de!elop ent o" the A.I$ arket uch "aster than de!eloping a

These goals( in conjunction #ith early re!ie#er "eed&ack( ha!e "inali)ed the

=DBC class li&rary into a solid "ra e#ork "or &uilding data&ase applications in =a!a$ The goals that #ere set "or =DBC are i portant$ They #ill gi!e you so e insight as to #hy certain classes and "unctionalities &eha!e the #ay they do$ The eight design goals "or =DBC are as "ollo#s0 !" SQL Le#el API The designers "elt that their ain goal #as to de"ine a SK, inter"ace "or =a!a$ Although not the lo#est data&ase inter"ace le!el possi&le( it is at a lo# enough le!el "or higher*le!el tools and A.Is to &e created$ Con!ersely( it is at a high enough le!el "or application progra EgenerateF =DBC code and to hide the end user$ $" SQL %on&orm'n e SK, synta+ !aries as you o!e "ro data&ase !endor to data&ase !endor$ In an e""ort to support a #ide !ariety o" !endors( =DBC #ill allo# any 'uery state ent to &e passed through it to the underlying data&ase dri!er$ This allo#s the connecti!ity standard "unctionality in a The =DBC SK, A.I odule to handle non* anner that is suita&le "or its users$ ust EsitF on top o" other co on SK, le!el ers to use it con"idently$ Attaining this goal allo#s "or "uture tool !endors to any o" =DBC;s co ple+ities "ro

5$ (D)% must *e implement'l on top o& ommon d't'*'se inter&' es A.Is$ This goal allo#s =DBC to use e+isting ODBC le!el dri!ers &y the use o" a so"t#are inter"ace$ This inter"ace #ould translate =DBC calls to ODBC and !ice !ersa$ +" Pro#ide ' ('#' inter&' e t,'t is onsistent -it, t,e rest o& t,e ('#' system

Because o" =a!a;s acceptance in the user co designers "eel that they should not stray "ro core =a!a syste $ ." /eep it simple

unity thus "ar( the

the current design o" the

This goal pro&a&ly appears in all so"t#are design goal listings$ =DBC is no e+ception$ Sun "elt that the design o" =DBC should &e !ery si ple( allo#ing "or only one A.I$ 0" Use strong1 st'ti typing -,ere#er possi*le Strong typing allo#s "or ore error checking to &e done at co pile ti eC also( less error appear at runti e$ 2" /eep t,e ommon 'ses simple Because progra ore o"ten than not( the usual SK, calls used &y the
S3,3CT;s( INS3RT;s( D3,3T3;s

ethod o" co pleting a task per

echanis $

Allo#ing duplicate "unctionality only ser!es to con"use the users o" the

er are si ple

and

U.DAT3;s(

these

'ueries should &e si ple to per"or

#ith =DBC$ 7o#e!er(

ore co ple+

SK, state ents should also &e possi&le$ Fun$tional *equire'ents The ain purpose o" "unctional re'uire ents #ithin the re'uire ent speci"ication docu ent is to de"ine all the acti!ities or operations that take place in the syste $ These are deri!ed through interactions #ith the users o" the syste $ Since the Re'uire ents Speci"ication is a co prehensi!e docu ent N contains a lot o" data( it has &een &roken do#n into di""erent Chapters in this report$ The depiction o" the Design o" the Syste in UM, is presented in a separate chapter$ The Data Dictionary is presented in the Appendi+ o" the syste $

But the general @unctional Re'uire ents arri!ed at the end o" the interaction #ith the Users are listed &elo#$ A ore detailed discussion is presented in the Chapters( #hich talk a&out the Analysis N Design o" the syste $ 1$ The Syste holds all the details o" the ads related to di""erent clients

/$ It holds the details o" categories and su& categories$ 5$ It holds the details o" all the agents through #hich the client can post the post$ :$ The syste allo#s the ad agents to post an inside a category

>$ It holds the details o" links and yello# pages in"o$ 4$ It should allo#s custo ers to access ad in"o( links in"o and yello# pages in"o "ro online$ $ O$ It should the ad inistrator to hold the details o" the tasks$ M$ It should allo#s the ad inistrator to assign the tasks to di""erent e ployees$ 6$ It holds the details e ployees and tasks statuses 18$ It should allo# ad inistrator to track the tasks /on6Fun$tional *equire'ents The non*"unctional re'uire ents consist o" 1$ Analysis( Design N Data re'uire ents DUse*case diagra s( te+tual analysis( se'uence diagra s( data dictionary etc$2 /$ Constraints$ 5$ 9uidelines$ >? 4alidation Criteria? &nalysis, +esign " +ata require'ents

The use case diagra s( te+tual analysis and se'uence diagra s N data dictionary "all into this category$ Since each category a&o!e is o" considera&le i portance( they ha!e &een dealt in separate chapters$ An outline is only included here$ The Analysis N Design phases o" the syste yield Use Case diagra s( te+tual analysis( Se'uence Diagra s( Class diagra s N Data Dictionary$ Data dictionary consists o" process state ents sho#ing ho# data is "lo#ing "ro starting point to end point$

Constraints These are the re'uire ents that are not directly related to the "unctionality o" the syste $ These should &e considered as andatory #hen the syste is de!eloped$ The "ollo#ing Constraints #ere arri!ed at "or the syste 0 1$ The syste should &e a!aila&le o!er the internet so that the Users like the custo ers N agents can use the syste "ro their respecti!e locations #hich could &e any#here in the #orld$ /$ @or gaining entry into the syste the users should &e registered and should &e a&le use login N pass#ords "or gaining access to the syste $ 5$ The users should &e a&le to change their pass#ords "or increased security$

@? The syste' should be easy to understand and organi9ed in a stru$tured way? The users should also re$ei7e 8eedba$k about any errors that o$$ur? 4$ There should &e no li itation a&out the hard#are plat"or used to run the syste $ O$ Data integrity should &e syste co es do#n$ that is to &e

aintained i" an error occurs or the #hole

/$5$5 9uidelines %e ha!e discussed andatory re'uire ents in the pre!ious section$ The re'uire ents in this section should &e taken as suggestions N they should &e thought o" as reco endations to "urther enhance the usa&ility o" the syste $ 1$ The syste /$ The syste should display a enu "or users to choose "ro $

should display users; re'uests in a reasona&le ti e$ should &e a!aila&le /: hours a day$

5$ Ser!ices o" the syste

:$ The syste should &e designed in such a #ay that it is easy to enhance it #ith ore "unctionality$ It should &e scala&le N easily aintaina&le$

<alidation Criteria The <alidation Criteria are dealt separately in the Chapter dealing #ith the Test Strategy N Test cases$ 5+!C +ri7er Types The =DBC dri!ers that #e are a#are o" at this ti e "it into one o" "our categories0 =DBC*ODBC &ridge plus ODBC dri!er Nati!e*A.I partly*=a!a dri!er =DBC*Net pure =a!a dri!er Nati!e*protocol pure =a!a dri!er

5+!C6O+!C !ridge I" possi&le( use a .ure =a!a =DBC dri!er instead o" the Bridge and an ODBC dri!er$ This co pletely eli inates the client con"iguration re'uired &y ODBC$ It also eli inates the potential that the =a!a <M could &e corrupted &y an error in the nati!e code &rought in &y the Bridge Dthat is( the Bridge nati!e li&rary( the ODBC dri!er li&rary( and the data&ase client li&rary2$ ,hat .s the 5+!C6 O+!C !ridgeA The =DBC*ODBC Bridge is a =DBC dri!er( #hich i ple ents =DBC operations &y translating the into ODBC operations$ To ODBC it appears as a nor al application progra $ The Bridge i ple ents =DBC "or any data&ase "or #hich an ODBC dri!er is a!aila&le$ The Bridge is i ple ented as the Sun$jd&c$od&c =a!a package and contains a nati!e li&rary used to access ODBC$ The Bridge is a joint de!elop ent o" Innersole and =a!a So"t$ anager li&rary( the ODBC dri!er

5+!C $onne$ti7ity The =DBC pro!ides data&ase*independent connecti!ity &et#een the =/33 plat"or and a #ide range o" ta&ular data sources$ =DBC technology allo#s connection and authentication to a data&ase ser!er an Application Co ponent .ro!ider to0 .er"or

Manager transactions Mo!e SK, state ents to a data&ase engine "or preprocessing and e+ecution 3+ecute stored procedures Inspect and odi"y the results "ro Select state ents

+atabase1 A data&ase anage ent syste DDBMS2 is co puter so"t#are designed "or the purpose o" anaging data&ases( a large set o" structured data( and run

operations on the data re'uested &y nu erous users$ Typical e+a ples o" DBMSs include Oracle( DB/( Microso"t Access( Microso"t SK, Ser!er( @ire&ird( .ostgreSK,( MySK,( SK,ite( @ileMaker and Sy&ase Adapti!e Ser!er 3nterprise$ DBMSs are typically used &y Data&ase ad inistrators in the creation o" Data&ase syste s$ Typical e+a ples o" DBMS use include accounting( hu an resources and custo er support syste s$ Originally "ound only in large co panies #ith the co puter hard#are needed to support large data sets( DBMSs ha!e "airly standard part o" any co pany &ack o""ice$ +es$ription A DBMS is a co ple+ set o" so"t#are progra s that controls the organi)ation( storage( DBMS includes0 A odeling language to de"ine the sche a o" each data&ase hosted in the odel$ DBMS( according to the DBMS data The "our ost co anage ent( and retrie!al o" data in a data&ase$ A ore recently e erged as a

on types o" organi)ations are the hierarchical( odels$ In!erted lists and other anage ent syste ay odels$ The opti al structure

net#ork( relational and o&ject pro!ide one or ore o" the "our

ethods are also used$ A gi!en data&ase

depends on the natural organi)ation o" the application-s data( and

on the application-s re'uire ents D#hich include transaction rate Dspeed2( relia&ility( The do inant aintaina&ility( scala&ility( and cost2$

odel in use today is the ad hoc one e &edded in odel is a and ers to odel( since it !iolates se!eral o" its the sake o" practicality

SK,( despite the o&jections o" purists #ho &elie!e this corruption o" the relational "unda ental principles "or

per"or ance$ Many DBMSs also support the Open Data&ase Connecti!ity A.I that supports a standard #ay "or progra access the DBMS$ Data structures D"ields( records( "iles and o&jects2 opti i)ed to deal #ith !ery large a ounts o" data stored on a per anent data storage de!ice D#hich i plies relati!ely slo# access co pared to !olatile ain e ory2$

A data&ase 'uery language and report #riter to allo# users to interacti!ely interrogate the data&ase( analy)e its data and update it according to the users pri!ileges on data$ It also controls the security o" the data&ase$ Data security pre!ents unauthori)ed users "ro !ie#ing or

updating the data&ase$ Using pass#ords( users are allo#ed access to the entire data&ase or su&sets o" it called su&sche as$ @or e+a ple( an e ployee data&ase can contain all the data a&out an indi!idual e ployee( &ut one group o" users ay &e authori)ed to

!ie# only payroll data( #hile others are allo#ed access to only #ork history and edical data$

I" the DBMS pro!ides a #ay to interacti!ely enter and update the data&ase( as #ell as interrogate it( this capa&ility allo#s "or anaging personal data&ases$ 7o#e!er( it ay not lea!e an audit trail o" actions or pro!ide the kinds o" controls necessary in a ulti*user organi)ation$ These controls are only a!aila&le #hen a set o" application progra s are custo i)ed "or each data entry and updating "unction$

A transaction

echanis ( that ideally #ould guarantee the ACID

properties( in order to ensure data integrity( despite concurrent user accesses Dconcurrency control2( and "aults D"ault tolerance2$ It also aintains the integrity o" the data in the data&ase$ aintain the integrity o" the data&ase &y not

The DBMS can allo#ing

ore than one user to update the sa e record at the sa e

ti e$ The DBMS can help pre!ent duplicate records !ia uni'ue inde+ constraintsC "or e+a ple( no t#o custo ers #ith the sa e custo er nu &ers Dkey "ields2 can &e entered into the data&ase$ See ACID properties "or a!oidance2$ ore in"or ation DRedundancy

The DBMS accepts re'uests "or data "ro instructs the operating syste

the application progra

and

to trans"er the appropriate data$

%hen a DBMS is used( in"or ation syste s can &e changed

uch

ore

easily as the organi)ation-s in"or ation re'uire ents change$ Ne# categories o" data can &e added to the data&ase #ithout disruption to the e+isting syste $ Organi)ations and then ay use one kind o" DBMS "or daily transaction processing in'uiries and analysis$ O!erall syste s design o!e the detail onto another co puter that uses another DBMS

&etter suited "or rando

decisions are per"or ed &y data ad inistrators and syste s analysts$ Detailed data&ase design is per"or ed &y data&ase ad inistrators$ Data&ase ser!ers are specially designed co puters that hold the actual data&ases and run only the DBMS and related so"t#are$ Data&ase ser!ers are usually ultiprocessor co puters( #ith RAID disk arrays used "or sta&le ore ser!ers !ia a high*speed channel( storage$ Connected to one or processing en!iron ents$ DBMSs are "ound at the heart o" ost data&ase applications$ So eti es ultitasking kernel #ith &uilt*in DBMSs are &uilt around a pri!ate operating syste $

hard#are data&ase accelerators are also used in large !olu e transaction

net#orking support although no#adays these "unctions are le"t to the

SB2 Structured Kuery ,anguage DSK,2 is the language used to relational data&ases$ SK, is tied !ery closely #ith the relational In the relational anipulate odel$

odel( data is stored in structures called relations or ta&les&

SK, state ents are issued "or the purpose o"0 +ata de8inition1 De"ining ta&les and structures in the data&ase DDD, used to create( alter and drop sche a o&jects such as ta&les and inde+es2$ +ata 'anipulation1 Used to Data&ase2$ A sche a is a collection o" data&ase o&jects that can include0 ta&les( !ie#s( inde+es and se'uences ,ist o" SK, state ents that can &e issued against an Oracle data&ase sche a are0 &2T-* * Change an e+isting ta&le( !ie# or inde+ de"inition DDD,2 &0+.T * Track the changes COMM-/T * Add a co ade to a ta&le DDD,2 ent to a ta&le or colu n in a ta&le DDD,2 anipulate the data #ithin those sche a

o&jects DDM, Inserting( Updating( Deleting the data( and Kuerying the

COMM.T * Make all recent changes per anent DDM, * transactional2

C*-&T- * Create ne# data&ase o&jects such as ta&les or !ie#s DDD,2 +-2-T- * Delete ro#s "ro a data&ase ta&le DDM,2

+*O# * Drop a data&ase o&ject such as a ta&le( !ie# or inde+ DDD,2 ;*&/T * Allo# another user to access data&ase o&jects such as ta&les or !ie#s DDD,2 ./S-*T * Insert ne# data into a data&ase ta&le DDM,2 /o &0+.T * Turn o"" the auditing "unction DDD,2 *-4OC- * Disallo# a user access to data&ase o&jects such as ta&les and !ie#s DDD,2 *O22!&CC * Undo any recent changes to the data&ase DDM, * Transactional2 S-2-CT * Retrie!e data "ro a data&ase ta&le DDM,2 a data&ase ta&le Dcan not &e

T*0/C&T- * Delete all ro#s "ro rolled &ack2 DDM,2

0#+&T- * Change the !alues o" so e data ite s in a data&ase ta&le DDM,2

S-*42-TS Introduction The =a!a #e& ser!er is =a!aSo"t-s o#n #e& Ser!er$ The =a!a #e& ser!er is just a part o" a larger "ra e#ork( intended to pro!ide you not just #ith a #e& ser!er( &ut also #ith tools$ To &uild custo i)ed net#ork ser!ers "or any Internet or Intranet clientLser!er syste $ Ser!lets are to a #e& ser!er( ho# applets are to the &ro#ser$ A&out Ser!lets Ser!lets pro!ide a =a!a*&ased solution used to address the pro&le s currently associated #ith doing ser!er*side progra inter"aces$ Ser!lets are o&jects that con"or to a speci"ic inter"ace that can &e plugged into a =a!a*&ased ser!er$ Ser!lets are to the ser!er*side #hat applets are to the client*side * o&ject &yte codes that can &e dyna ically loaded o"" the net$ They di""er "ro applets in that they are "aceless o&jects D#ithout graphics independent( dyna ically or a 9UI co ponent2$ They ser!e as plat"or ing( including ine+tensi&le scripting solutions( plat"or *speci"ic A.Is( and inco plete

loada&le( plugga&le helper &yte code o&jects on the ser!er side that can &e used to dyna ically e+tend ser!er*side "unctionality$ @or e+a ple( an 7TT. Ser!lets can &e used to generate dyna ic 7TM, content$ %hen you use Ser!lets to do dyna ic content you get the "ollo#ing ad!antages0

They;re "aster and cleaner than C9I scripts They use a standard A.I Dthe Ser!lets A.I2 They pro!ide all the ad!antages o" =a!a Drun on a !ariety o" ser!ers #ithout needing to &e re#ritten2$

Attracti!eness o" Ser!lets There are any "eatures o" Ser!lets that ake the easy and attracti!e to use$ These include0

3asily con"igured using the 9UI*&ased Ad in tool Can &e loaded and in!oked "ro the net#ork$ a local disk or re otely across

Can &e linked together( or chained( so that one Ser!lets can call another Ser!lets( or se!eral Ser!lets in se'uence$ Can &e called dyna ically "ro ser!er*side include tags$ #ithin 7TM, pages( using

Are secure * e!en #hen do#nloading across the net#ork( the Ser!lets security syste "ro odel and Ser!lets sand&o+ protect your un"riendly &eha!ior$

&d7antages o8 the Ser7let &#. One o" the great ad!antages o" the Ser!let A.I is protocol independence$ It assu es nothing a&out0 The protocol &eing used to trans it on the net 7o# it is loaded The ser!er en!iron ent it #ill &e running in These 'ualities are i portant( &ecause it allo#s the Ser!let A.I to &e e &edded in any di""erent kinds o" ser!ers$ There are other ad!antages to the Ser!let A.I as #ell$ These include0

It;s e+tensi&le * you can inherit all your "unctionality "ro classes ade a!aila&le to you$ It;s si ple( s all( and easy to use$ Features o8 Ser7lets1

the &ase

Ser!lets are persistent$ Ser!let are loaded only &y the #e& ser!er and can o""er aintain ser!ices &et#een re'uests$ Ser!lets are "ast$ Since Ser!lets only need to &e loaded once( they uch &etter per"or ance o!er their C9I counterparts$ independent$ Ser!lets are plat"or

Ser!lets are e+tensi&le$ =a!a is a ro&ust( o&ject*oriented progra needs Ser!lets are secure$ Ser!lets can &e used #ith a !ariety o" clients$ ing language( #hich easily can &e e+tended to suit your

2oading Ser7lets1 Ser!lets can &e loaded "ro @ro three places the

a directory that is on the C,ASS.AT7$ The C,ASS.AT7 o"

=a!a%e&Ser!er includes ser!ice rootLclassesL #hich is #here the syste classes reside$ @ro the PS3R<IC3QROOT LSer!letsL directory$ This is RnotR in the this

ser!er;s class path$ A class loader is used to create Ser!lets "ro and the ser!er #ill notice these changes$ @ro

directory$ Ne# Ser!lets can &e added * e+isting Ser!lets can &e reco piled

a re ote location( "or this a code &ase like http0 LL nine$eng L classes L

"oo L is re'uired in addition to the Ser!lets class na e$ Re"er to the ad in 9UI docs on Ser!let section to see ho# to set this up$

2oading *e'ote Ser7lets Re ote Ser!lets can &e loaded &y0 1$ Con"iguring the Ad in Tool to setup auto atic loading o" re ote Ser!lets /$ Setting up ser!er side include tags in$ sht l "iles 5$ De"ining a "ilter chain con"iguration .n7oking Ser7lets A Ser!let in!oker is a Ser!let that in!okes the Sser!iceS the Ser!let Deither "ro the Sser!iceS local disk or "ro ethod on a na ed

Ser!let$ I" the Ser!let is not loaded in the ser!er( then the in!oker "irst loads the net#ork2 and the then in!okes ethod$ Also like applets( local Ser!lets in the ser!er can &e

identi"ied &y just the class na e$ In other #ords( i" a Ser!let na e is not a&solute( it is treated as local$ A client can in!oke Ser!lets in the "ollo#ing #ays1 The client can ask "or a docu ent that is ser!ed &y the Ser!let$ The client D&ro#ser2 can in!oke the Ser!let directly using a UR,( once it has &een ad in 9UI$

apped using the Ser!let Aliases section o" the

The Ser!let can &e in!oked through ser!er side include tags$

The Ser!let can &e in!oked &y placing it in the Ser!letsL directory$ The Ser!let can &e in!oked &y using it in a "ilter chain$

5a7a Ser7er #ages (5S# =a!a ser!er .ages is a si ple( yet po#er"ul technology "or creating and =a!a progra aintaining dyna ic*content #e& pages$ Based on the ing language( =a!a Ser!er .ages o""ers pro!en ature re*usa&le co ponent

porta&ility( open standards( and a content generation "ro eases

odel $The =a!a Ser!er .ages architecture ena&les the separation o" content presentation$ This separation not e &ers to designers on aintenance headachesC it also allo#s #e& tea on layout( and #e& application

"ocus on their areas o" e+pertise$ No#( #e& page designer can concentrate progra #ork$ @eatures o" =S. .orta&ility0 =a!a Ser!er .ages "iles can &e run on any #e& ser!er or #e&* ena&led application ser!er that pro!ides support "or the $ Du&&ed the =S. engine( this support in!ol!es recognition( translation( and anage ent o" the =a!a Ser!er .age li"ecycle and its interaction co ponents$ Co ponents It #as entioned earlier that the =a!a Ser!er .ages architecture ing( #ith ini al concern a&out i pacting each other;s

can include reusa&le =a!a co ponents$ The architecture also allo#s "or the e &edding o" a scripting language directly into the =a!a Ser!er .ages "ile$ The co ponents current supported include =a!a Beans( and Ser!lets$

.rocessing A =a!a Ser!er .ages "ile is essentially an 7TM, docu ent #ith =S. scripting or tags$ The =a!a Ser!er .ages "ile has a =S. e+tension to the ser!er as a =a!a Ser!er .ages "ile$ Be"ore the page is ser!ed( the =a!a Ser!er .ages synta+ is parsed and processed into a Ser!let on the ser!er side$ The Ser!let that is generated outputs real content in straight 7TM, "or responding to the client$ Access Models0 A =a!a Ser!er .ages "ile ay &e accessed in at least t#o

di""erent #ays$ A client;s re'uest co es directly into a =a!a Ser!er .age$ In this scenario( suppose the page accesses reusa&le =a!a Bean co ponents that per"or particular #ell*de"ined co putations like accessing a data&ase$ The result o" the Beans co putations( called result sets is stored #ithin the Bean as properties$ The page uses such Beans to generate dyna ic content and present it &ack to the client$ In &oth o" the a&o!e cases( the page could also contain any !alid =a!a code$ =a!a Ser!er .ages architecture encourages separation o" content "ro presentation$

Steps in the e+ecution o" a =S. Application0 1$ The client sends a re'uest to the #e& ser!er "or a =S. "ile &y gi!ing the na e o" the =S. "ile #ithin the "or tag o" a 7TM, page$

/$ This re'uest is trans"erred to the =a!a%e&Ser!er$ At the ser!er side =a!a%e&Ser!er recei!es the re'uest and i" it is a re'uest "or a jsp "ile ser!er gi!es this re'uest to the =S. engine$ 5$ =S. engine is progra #hich can under stands the tags o" the jsp and and it is stored at the e ory and then it is then it con!erts those tags into a Ser!let progra ser!er side$ This Ser!let is loaded in the

e+ecuted and the result is gi!en &ack to the =a!a%e&Ser!er and then it is trans"erred &ack to the result is gi!en &ack to the =a!a%e&Ser!er and then it is trans"erred &ack to the client$

.M#2-M-/T&T.O/

As re arked earlier( constant C@Ds are particularly i portant "or o&ject identi"ication( and thus deser!e a separate treat ent$ One #ants e""icient ethods to disco!er constant C@Ds alone( #ithout paying the price o" disco!ering all C@Ds$ Indeed( as #ill &e seen later( constant C@D disco!ery is o"ten se!eral orders o" ,e!el#ise algorith s agnitude "aster than general C@D disco!ery$ ay not per"or #ell on sa ple relations o" large ethods

arity( gi!en their inherent e+ponential co ple+ity$ More e""ecti!e

ha!e to &e in place to deal #ith datasets #ith a large arity$ A host o" techni'ues ha!e &een de!eloped "or Dnon*redundant2 association rule ining( and it is only natural to capitali)e on these "or C@D disco!ery$ As #e shall see( these techni'ues can not only &e readily used in constant C@D disco!ery( &ut also signi"icantly speed up general C@D disco!ery$ To our kno#ledge( no pre!ious #ork has considered these issues "or C@D disco!ery$ This paper in!estigates the disco!ery o" conditional "unctional dependencies DC@Ds2$ C@Ds are a recent e+tension o" "unctional dependencies D@Ds2 &y supporting patterns o" se antically related constants( and can &e used as rules "or cleaning relational data$ 7o#e!er( "inding C@Ds is an e+pensi!e process that in!ol!es intensi!e relations$ %e pro!ide three anual e""ort$ To e""ecti!ely identi"y data sa ple cleaning rules( #e de!elop techni'ues "or disco!ering C@Ds "ro to as C@DMiner( is &ased on techni'ues "or

ethods "or C@D disco!ery$ The "irst( re"erred ining closed ite sets( and is

used to disco!er constant C@Ds( na ely( C@Ds #ith constant patterns only$

The other t#o algorith s are de!eloped "or disco!ering general C@Ds$ The "irst algorith ( re"erred to as CTAN3( is a le!el#ise algorith TAN3( a #ell*kno#n algorith "or that e+tends ethod "or ining @Ds$ The other( re"erred to as ining to reduce search space$

@astC@D( is &ased on the depth"irst approach used in @ast@D( a disco!ering @Ds$ It le!erages closed*ite set ultiple orders o"

Our e+peri ental results de onstrate the "ollo#ing$ Da2 C@DMiner can &e agnitude "aster than CTAN3 and @astC@D "or constant C@D disco!ery$ D&2 CTAN3 #orks #ell #hen a gi!en sa ple relation is large( &ut it does not scale #ell #ith the arity o" the relation$ Dc2 @astC@D is "ar ore e""icient than CTAN3 #hen the arity o" the relation is large$ So8tware -n7iron'ent JAVA TECHNOLOGY =a!a technology is &oth a progra The 5a7a #rogra''ing 2anguage The =a!a progra ing language is a high*le!el language that can &e characteri)ed &y all o" the "ollo#ing &u))#ords0 Si ple Architecture neutral O&ject oriented .orta&le Distri&uted 7igh per"or ance ing language and a plat"or $

Interpreted Multithreaded Ro&ust Dyna ic Secure %ith progra ost progra ing languages( you either co pile or interpret a ing is &oth co piled and interpreted$ %ith into an inter ediate language

so that you can run it on your co puter$ The =a!a progra

language is unusual in that a progra

the co piler( "irst you translate a progra

called Java byte codes Bthe plat"or *independent codes interpreted &y the interpreter on the =a!a plat"or $ The interpreter parses and runs each =a!a &yte code instruction on the co puter$ Co pilation happens just onceC interpretation occurs each ti e the progra "igure illustrates ho# this #orks$ is e+ecuted$ The "ollo#ing

Aou can think o" =a!a &yte codes as the

achine code instructions "or

the Java Virtual Machine D=a!a <M2$ 3!ery =a!a interpreter( #hether it;s a de!elop ent tool or a %e& &ro#ser that can run applets( is an i ple entation o" the =a!a <M$ =a!a &yte codes help any#hereF possi&le$ Aou can co pile your progra ake E#rite once( run into &yte codes on any

plat"or

that has a =a!a co piler$ The &yte codes can then &e run on any eans that as long as a co puter has a ing language can #ritten in the =a!a progra

i ple entation o" the =a!a <M$ That =a!a <M( the sa e progra

run on %indo#s /888( a Solaris #orkstation( or on an iMac$

The 5a7a #lat8or' A plat or! is the hard#are or so"t#are en!iron ent in #hich a progra runs$ %e;!e already entioned so e o" the ost popular plat"or s like %indo#s /888( ,inu+( Solaris( and MacOS$ Most plat"or s can &e descri&ed as a co &ination o" the operating syste and hard#are$ The =a!a plat"or that it;s a so"t#are*only plat"or &ased plat"or s$ The =a!a plat"or

di""ers "ro

ost other plat"or s in

that runs on top o" other hard#are*

has t#o co ponents0

The Java Virtual Machine D=a!a <M2 The Java Application "ro#ra!!in# $nter ace D=a!a A.I2 and is ported onto !arious hard#are*&ased

Aou;!e already &een introduced to the =a!a <M$ It;s the &ase "or the =a!a plat"or plat"or s$

The =a!a A.I is a large collection o" ready* ade so"t#are co ponents that pro!ide any use"ul capa&ilities( such as graphical user inter"ace D9UI2 #idgets$ The =a!a A.I is grouped into li&raries o" related classes and inter"acesC these li&raries are kno#n as pac%a#es$ The ne+t section( %hat Can =a!a Technology DoG 7ighlights #hat "unctionality so e o" the packages in the =a!a A.I pro!ide$ The "ollo#ing "igure depicts a progra insulate the progra "ro the hard#are$ that;s running on the =a!a achine plat"or $ As the "igure sho#s( the =a!a A.I and the !irtual

Nati!e code is code that a"ter you co pile it( the co piled code runs on a speci"ic hard#are plat"or $ As a plat"or *independent en!iron ent( the =a!a plat"or can &e a &it slo#er than nati!e code$ 7o#e!er( s art co pilers( #ell*tuned interpreters( and just*in*ti e &yte code co pilers can &ring per"or ance close to that o" nati!e code #ithout threatening porta&ility$ %7AT CAN =A<A T3C7NO,O9A DOG The ost co on types o" progra s #ritten in the =a!a progra ing language are applets and applications$ I" you;!e sur"ed the %e&( you;re pro&a&ly already "a iliar #ith applets$ An applet is a progra that adheres to certain con!entions that allo# it to run #ithin a =a!a* ena&led &ro#ser$

7o#e!er( the =a!a progra progra

ing language is not just "or #riting cute(

entertaining applets "or the %e&$ The general*purpose( high*le!el =a!a ing language is also a po#er"ul so"t#are plat"or $ Using any types o" progra s$ that runs directly on the =a!a the generous A.I( you can #rite

An application is a standalone progra

plat"or $ A special kind o" application kno#n as a server ser!es and supports clients on a net#ork$ 3+a ples o" ser!ers are %e& ser!ers( pro+y ser!ers( progra ail ser!ers( and print ser!ers$ Another speciali)ed is a servlet$ A ser!let can al ost &e thought o" as an applet

that runs on the ser!er side$ =a!a Ser!lets are a popular choice "or &uilding interacti!e #e& applications( replacing the use o" C9I scripts$ Ser!lets are si ilar to applets in that they are runti e e+tensions o" applications$ Instead o" #orking in &ro#sers( though( ser!lets run #ithin =a!a %e& ser!ers( con"iguring or tailoring the ser!er$ 7o# does the A.I support all these kinds o" progra sG It does so #ith packages o" so"t#are co ponents that pro!ides a #ide range o" "unctionality$ 3!ery "ull i ple entation o" the =a!a plat"or you the "ollo#ing "eatures0

gi!es

The essentials0 O&jects( strings( threads( nu &ers( input and output( data structures( syste on$ properties( date and ti e( and so

&pplets0 The set o" con!entions used &y applets$ /etworking0 UR,s( TC. DTrans ission Control .rotocol2( UD. DUser Data gra .rotocol2 addresses$ .rotocol2 sockets( and I. DInternet

.nternationali9ation0 7elp "or #riting progra s that can &e locali)ed "or users #orld#ide$ .rogra s can auto atically

adapt to speci"ic locales and &e displayed in the appropriate language$

Se$urity0 Both lo# le!el and high le!el( including electronic signatures( pu&lic and pri!ate key and certi"icates$ anage ent( access control(

So8tware $o'ponents0 Hno#n as =a!aBeansTM( can plug into e+isting co ponent architectures$ Ob:e$t seriali9ation0 Allo#s light#eight persistence and co unication !ia Re ote Method In!ocation DRMI2$ 5a7a +atabase Conne$ti7ity (5+!CTM 0 .ro!ides uni"or access to a #ide range o" relational data&ases$ also has A.Is "or /D and 5D graphics(

The =a!a plat"or

accessi&ility( ser!ers( colla&oration( telephony( speech( ani ation( and ore$ The "ollo#ing "igure depicts #hat is included in the =a!a / SDH$

7O% %I,, =A<A T3C7NO,O9A C7AN93 MA ,I@3G %e can;t pro ise you "a e( "ortune( or e!en a jo& i" you learn the =a!a progra ing language$ Still( it is likely to ake your progra s &etter and re'uires less e""ort than other languages$ %e &elie!e that =a!a technology #ill help you do the "ollo#ing0

;et started qui$kly0 Although the =a!a progra especially "or progra

ing language

is a po#er"ul o&ject*oriented language( it;s easy to learn( ers already "a iliar #ith C or CII$ etrics Dclass ,rite less $ode0 Co parisons o" progra counts( #ritten in the =a!a progra s aller than the sa e progra

ethod counts( and so on2 suggest that a progra ing language can &e "our ti es in CII$ =a!a progra ing language

,rite

better

$ode0

The

encourages good coding practices( and its gar&age collection helps you a!oid e ory leaks$ Its o&ject orientation( its =a!aBeans co ponent architecture( and its #ide*ranging( easily e+tendi&le A.I let you reuse other people;s tested code and introduce "e#er &ugs$

+e7elop progra's 'ore qui$kly0 Aour de!elop ent ti e ay &e as progra si pler progra uch as t#ice as "ast !ersus #riting the sa e ing language than CII$ porta&le &y a!oiding the use o" li&raries in CII$ %hyG Aou #rite "e#er lines o" code and it is a

&7oid plat8or' dependen$ies with %<<= #ure 5a7a0 Aou can keep your progra #ritten in other languages$ The 188J .ure =a!aTM .roduct

Certi"ication .rogra

has a repository o" historical process aterials online$

anuals( #hite papers( &rochures( and si ilar

,rite on$e, run anywhere0 Because 188J .ure =a!a progra s are co piled into achine*independent &yte codes( they run consistently on any =a!a plat"or $

+istribute so8tware 'ore easily0 Aou can upgrade applets easily "ro a central ser!er$ Applets take ad!antage o" the "eature o" allo#ing ne# classes to &e loaded Eon the "ly(F #ithout reco piling the entire progra $

O+!C Microso"t Open Data&ase Connecti!ity DODBC2 is a standard progra ing inter"ace "or application de!elopers and data&ase syste s ers had to use proprietary a coding uch pro!iders$ Be"ore ODBC &eca e a de acto standard "or %indo#s progra s to inter"ace #ith data&ase syste s( progra ade the choice o" the data&ase syste languages "or each data&ase they #anted to connect to$ No#( ODBC has al ost irrele!ant "ro perspecti!e( #hich is as it should &e$ Application de!elopers ha!e their progra change$ Through the ODBC Ad inistrator in Control .anel( you can speci"y the particular data&ase that is associated #ith a data source that an ODBC application progra is #ritten to use$ Think o" an ODBC data source as a ight &e a SK, Ser!er door #ith a na e on it$ 3ach door #ill lead you to a particular data&ase$ @or e+a ple( the data source na ed Sales @igures data&ase( #hereas the Accounts .aya&le data source could re"er to an Access "ro

ore i portant things to #orry a&out than the synta+ that is needed to port one data&ase to another #hen &usiness needs suddenly

data&ase$ The physical data&ase re"erred to &y a data source can reside any#here on the ,AN$ The ODBC syste "iles are not installed on your syste &y %indo#s 6>$ Rather( they are installed #hen you setup a separate data&ase application( such as SK, Ser!er Client or <isual Basic :$8$ %hen the ODBC icon is installed in Control .anel( it uses a "ile called ODBCINST$D,,$ It is also possi&le to ad inister your ODBC data sources through a stand*alone progra ODBC @ro a progra data called ODBCADM$3?3$ There is a 14*&it and each aintains a separate list o" sources$ and a 5/*&it !ersion o" this progra

ing perspecti!e( the &eauty o" ODBC is that the

application can &e #ritten to use the sa e set o" "unction calls to inter"ace #ith any data source( regardless o" the data&ase !endor$ The source code o" the application doesn;t change #hether it talks to Oracle or SK, Ser!er$ %e only ention these t#o as an e+a ple$ There are ODBC dri!ers a!aila&le uses "or se!eral do)en popular data&ase syste s$ 3!en 3+cel spreadsheets and plain te+t "iles can &e turned into data sources$ The operating syste the Registry in"or ation #ritten &y ODBC Ad inistrator to deter ine #hich lo#*le!el ODBC dri!ers are needed to talk to the data source Dsuch as the inter"ace to Oracle or SK, Ser!er2$ The loading o" the ODBC dri!ers is transparent to the ODBC application progra $ In a clientLser!er en!iron ent( the ODBC A.I e!en handles the application progra thinking there er$ any o" the net#ork issues "or

The ad!antages o" this sche e are so nu erous that you are pro&a&ly ust &e so e catch$ The only disad!antage o" ODBC is that it isn;t as e""icient as talking directly to the nati!e data&ase inter"ace$ ODBC

has had

any detractors

ake the charge that it is too slo#$ Microso"t has

al#ays clai ed that the critical "actor in per"or ance is the 'uality o" the dri!er so"t#are that is used$ In our hu &le opinion( this is true$ The a!aila&ility o" good ODBC dri!ers has i pro!ed a great deal recently$ And any#ay( the criticis a&out per"or ance is so e#hat analogous to those atch the speed o" pure asse &ly #ho said that co pilers #ould ne!er to #rite cleaner progra s( #hich co puters get "aster e!ery year$ 5+!C In an e""ort to set an independent data&ase standard A.I "or =a!aC Sun Microsyste s de!eloped =a!a Data&ase Connecti!ity( or =DBC$ =DBC o""ers a generic SK, data&ase access echanis that pro!ides a consistent odules( or drivers$ I" a ust pro!ide the inter"ace to a !ariety o" RDBMSs$ This consistent inter"ace is achie!ed through the use o" Eplug*inF data&ase connecti!ity dri!er "or each plat"or data&ase !endor #ishes to ha!e =DBC support( he or she that the data&ase and =a!a run on$

language$ May&e not( &ut the co piler Dor ODBC2 gi!es you the opportunity eans you "inish sooner$ Mean#hile(

To gain a #ider acceptance o" =DBC( Sun &ased =DBC;s "ra e#ork on ODBC$ As you disco!ered earlier in this chapter( ODBC has #idespread support on a !ariety o" plat"or s$ Basing =DBC on ODBC #ill allo# !endors to &ring =DBC dri!ers to co pletely ne# connecti!ity solution$ =DBC #as announced in March o" 1664$ It #as released "or a 68 day pu&lic re!ie# that ended =une M( 1664$ Because o" user input( the "inal =DBC !1$8 speci"ication #as released soon a"ter$ arket uch "aster than de!eloping a

The re ainder o" this section #ill co!er enough in"or ation a&out =DBC "or you to kno# #hat it is a&out and ho# to use it e""ecti!ely$ This is &y no eans a co plete o!er!ie# o" =DBC$ That #ould "ill an entire &ook$ 5+!C ;oals @e# so"t#are packages are designed #ithout goals in one that( &ecause o" its ind$ =DBC is any goals( dro!e the de!elop ent o" the A.I$

These goals( in conjunction #ith early re!ie#er "eed&ack( ha!e "inali)ed the =DBC class li&rary into a solid "ra e#ork "or &uilding data&ase applications in =a!a$ The goals that #ere set "or =DBC are i portant$ They #ill gi!e you so e insight as to #hy certain classes and "unctionalities &eha!e the #ay they do$ The eight design goals "or =DBC are as "ollo#s0 3" SQL Le#el API The designers "elt that their ain goal #as to de"ine a SK, inter"ace "or =a!a$ Although not the lo#est data&ase inter"ace le!el possi&le( it is at a lo# enough le!el "or higher*le!el tools and A.Is to &e created$ Con!ersely( it is at a high enough le!el "or application progra EgenerateF =DBC code and to hide the end user$ 4" SQL %on&orm'n e SK, synta+ !aries as you o!e "ro data&ase !endor to data&ase !endor$ In an e""ort to support a #ide !ariety o" !endors( =DBC #ill allo# any 'uery state ent to &e passed through it to the underlying ers to use it con"idently$ Attaining this goal allo#s "or "uture tool !endors to any o" =DBC;s co ple+ities "ro

data&ase dri!er$ This allo#s the connecti!ity standard "unctionality in a The =DBC SK, A.I

odule to handle non*

anner that is suita&le "or its users$ ust EsitF on top o" other co on SK, le!el

18$ (D)% must *e implement'l on top o& ommon d't'*'se inter&' es A.Is$ This goal allo#s =DBC to use e+isting ODBC le!el dri!ers &y the use o" a so"t#are inter"ace$ This inter"ace #ould translate =DBC calls to ODBC and !ice !ersa$ !!"Pro#ide ' ('#' inter&' e t,'t is onsistent -it, t,e rest o& t,e ('#' system Because o" =a!a;s acceptance in the user co designers "eel that they should not stray "ro core =a!a syste $ !$"/eep it simple This goal pro&a&ly appears in all so"t#are design goal listings$ =DBC is no e+ception$ Sun "elt that the design o" =DBC should &e !ery si ple( allo#ing "or only one A.I$ !5"Use strong1 st'ti typing -,ere#er possi*le Strong typing allo#s "or ore error checking to &e done at co pile ti eC also( less error appear at runti e$ !+"/eep t,e ommon 'ses simple Because progra ore o"ten than not( the usual SK, calls used &y the
SELECT;s( INSERT;s( DELETE;s

unity thus "ar( the

the current design o" the

ethod o" co pleting a task per

echanis $

Allo#ing duplicate "unctionality only ser!es to con"use the users o" the

er are si ple

and

UPDATE;s(

these

'ueries should &e si ple to per"or

#ith =DBC$ 7o#e!er(

ore co ple+

SK, state ents should also &e possi&le$

@inally #e decided to proceed the i ple entation using =a!a Net#orking$ And "or dyna ically updating the cache ta&le #e go "or MS Access data&ase$ =a!a progra in> ha t#o things0 a

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>
4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4

>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4 >4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4> 4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4>4

>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>


O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O

>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O@D>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O> O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O >O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>O>

M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M


>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M

>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M


>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>

M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>


M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>

M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M> M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M >M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>M>

6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6


>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>

6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6 >6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6
>6>6@E>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6

>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6
>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6

>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6> 6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6>6

4848484848484848484848484848484848484848484848484848484 8484848484848484848484848484848484848484848484848484848 4848484848484848484848484848484848484848484848484848484 8484848484848484848484848484848484848484848484848484848 4848484848484848484848484848484848484848484848484848484 8484848484848484848484848484848484848484848484848484848 4848484848484848484848484848484848484848484848484848484 8484848484848484848484848484848484848484848484848484848484 8ata structure aintained &y the syste to handle net#ork
socket$

connections$ A socket is created using the call

It returns an

integer that is like a "ile descriptor$ In "act( under %indo#s( this handle can &e used #ith Read File and Write File "unctions$ Tinclude PsysLtypes$hU Tinclude PsysLsocket$hU int socketDint "a ily( int type( int protocol2C 7ere S"a ilyS #ill &e AF_INET "or I. co &e )ero( and
type

unications( protocol #ill

#ill depend on #hether TC. or UD. is used$ T#o unicate o!er a net#ork create a socket

processes #ishing to co does not yet e+ist$ 5Free Chart

each$ These are si ilar to t#o ends o" a pipe * &ut the actual pipe

=@reeChart is a "ree 188J =a!a chart li&rary that applications$ =@reeChart-s e+tensi!e "eature set includes0

akes it easy

"or de!elopers to display pro"essional 'uality charts in their

A consistent and #ell*docu ented A.I( supporting a #ide range o" chart typesC A "le+i&le design that is easy to e+tend( and targets &oth ser!er* side and client*side applicationsC Support "or any output types( including S#ing co ponents( i age "iles Dincluding .N9 and =.392( and !ector graphics "ile "or ats Dincluding .D@( 3.S and S<92C =@reeChart is Sopen sourceS or( ore speci"ically( "ree so"t#are$ It is distri&uted under the ter s o" the 9NU ,esser 9eneral .u&lic ,icence D,9.,2( #hich per its use in proprietary applications$ 1$ MA. <ISUA,IVATIONS Charts sho#ing !alues that relate to geographical areas$ So e e+a ples include0 Da2 population density in each state o" the United States( D&2 inco e per capita "or each country in 3urope( Dc2 li"e e+pectancy in each country o" the #orld$ The tasks in this project include0 Sourcing "reely redistri&uta&le !ector outlines "or the countries o" the #orld( statesLpro!inces in particular countries DUSA in particular( &ut also other areas2C Creating an appropriate dataset inter"ace Dplus de"ault i ple entation2( a rendered( and integrating this #ith the e+isting ?A.lot class in =@reeChartC Testing( docu enting( testing so e ore$ /$ TIM3 S3RI3S C7ART INT3RACTI<ITA ore( docu enting so e

I ple ent a ne# Dto =@reeChart2 "eature "or interacti!e ti e series charts *** to display a separate control that sho#s a s all !ersion o" A,, the ti e series data( #ith a sliding S!ie#S rectangle that allo#s you to select the su&set o" the ti e series data to display in the ain chart$

5$ DAS7BOARDS There is currently a lot o" interest in dash&oard displays$ Create a "le+i&le dash&oard echanis that supports a su&set o" =@reeChart chart types Ddials( pies( ther o eters( &ars( and linesLti e series2 that can &e deli!ered easily !ia &oth =a!a %e& Start and an applet$ :$ .RO.3RTA 3DITORS The property editor rei ple ent2 this echanis echanis in =@reeChart only handles a

s all su&set o" the properties that can &e set "or charts$ 3+tend Dor to pro!ide greater end*user control o!er the appearance o" the charts$

To'$at F?< web ser7er To cat is an open source #e& ser!er de!eloped &y Apache 9roup$ Apache To cat is the ser!let container that is used in the o""icial Re"erence I ple entation "or the =a!a Ser!let and =a!aSer!er .ages technologies$ The

=a!a Ser!let and =a!aSer!er .ages speci"ications are de!eloped &y Sun under the =a!a Co unity .rocess$ %e& Ser!ers like Apache To cat support only #e& co ponents #hile an application ser!er supports #e& co ponents as #ell as &usiness co ponents DB3As %e&logic( is one o" the popular application ser!er2$To de!elop a #e& application #ith jspLser!let install any #e& ser!er like =Run( To cat etc to run your application$

@ig To cat %e&ser!er >?S3ST-M &/&23S.S +&T& F2O, +.&;*&MS1 Data "lo# diagra s '()(s* #ere introduced and populari)ed "or structured analysis and design$ D@Ds sho# the "lo# o" data "ro entities into the syste ( "ollo#ing "igures sho#s ho# the data one process to another( as #ell as its logical storage$ The sy &ols are0 e+ternal o!ed "ro

S'uares representing e+ternal entities( #hich are sources or destinations o" data$

.rocess

Arro#s representing the data lo,s( #hich can either &e electronic data or physical ite s

Open*ended rectangles representing data stores( such as data&ases$ It is the per anent data&ase$

Te porary data&ase$

%eak entity

+&T& F2O, +.&;*&M OF &++./; C&* +-T&.2S

Add Car Details

Input para eter s

Additio n process

Output

Record Added success"u

+&T& F2O, +.&;*&M OF +-2-T./; C&* +-T&.2S

Input Delete car para eter details s

Output Deletion process

Record Deleted success"ull y

Record doesn;t e+ist

+&T& F2O, +.&;*&M OF #0*C)&S./; C&*

.urchase .urchase Details

Aour .urchas .urchase .urchase e Order no$ process is0

0/.F.-+ MO+-2./; 2&/;0&;-1 The Uni"ied Modeling ,anguage DUM,2 is a standard language "or #riting so"t#are &lueprints$ The UM, ay &e used to !isuali)e( speci"y( construct( and docu ent the arti"acts o" a so"t#are*intensi!e syste $

The UM, is a appropriate "or

odeling syste s ranging "ro

enterprise in"or ation syste s to distri&uted %e&*&ased applications and e!en to hard real ti e e &edded syste s$ It is a !ery e+pressi!e language( addressing all the !ie#s needed to de!elop and then deploy such syste s$ The UM, is only a language and so is just one part o" a so"t#are de!elop ent ethod$ The UM, is process independent( although opti ally it should &e used in a process that is use case dri!en( architecture*centric( iterati!e( and incre ental$ The UM, is a language "or <isuali)ing$ Speci"ying$ Constructing$ Docu enting$ The arti"acts o" a so"t#are*intensi!e syste $ A odeling language is

a language #hose !oca&ulary and rules "ocus on the conceptual and physical representation o" a syste $ Modeling yields an understanding o" a syste $ The !oca&ulary o" the UM, enco passes three kinds o" &uilding &locks0 Things Relationships Diagra s

0S- C&S- +.&;*&MS1 A use case is a set o" scenarios that descri&ing an interaction &et#een a user and a syste $ A use case diagra actors and use cases$ The t#o use cases and actors$ displays the relationship a ong are ain co ponents o" a use case diagra

An actor is represents a user or another syste the syste task$ you are that represents so e action the user ight per"or

that #ill interact #ith in order to co plete a

odeling$ A use case is an e+ternal !ie# o" the syste

0S-C&S- +.&;*&M

,ogin

Do Transaction Custo er Ad inistrator Maintain Record

<ie# .roduct Details

Do Transaction Custo er

Credit Card

Maintain Record

Ad inistrator

Car Details

<ie# Details

Select Car

Buy

Custo er

0M2 MO+-22./; OF T)- S3ST-M The Uni"ied Modeling ,anguage DUM,2 is a language "or speci"ying( !isuali)ing( constructing (and docu enting the arti"acts o" so"t#are syste s( as #ell as "or &usiness odeling and other non*so"t#are syste s$ The UM, represents a collection o" the &est engineering practices that ha!e pro!en success"ul in the odeling o" large and co ple+ Syste s $ 0se Case Model An Use case is an description o" the &eha!ior o" the syste $ That description is #ritten "ro syste o" e!ents that a syste discuss the hidden that a user can see$ 0se Case diagra's $o''only $ontain1 Use Cases( Actors( Dependency( 9enerali)ation and Association relationships the point o" !ie# o" a user #ho just told the to do so ething particular$ A use case captures the !isi&le se'uence goes through in response to a single user sti ulus$ echanis s o" the syste they only descri&e those things A !isi&le e!ent is a e!ent that the user can see$ Use cases don;t

C2&SS +.&;*&M16 Class diagra s sho# the static structure o" the odel( in particular( the things that e+ist Dsuch as classes and types2( their internal structure( and their relationships to other things$ Class diagra s do not sho# te poral in"or ation( although they ay contain rei"ied occurrences o" things that

ha!e or things that descri&e te poral &eha!iour$ An o&ject diagra sho#s instances co pati&le #ith a particular class diagra $ A class diagra is a graph o" Classi"ier ele ents connected &y their !arious static relationships$ Note that a EclassF diagra ay also contain inter"aces( packages( relationships( and e!en instances( such as o&jects and links$ .erhaps a &etter na e #ould &e Estatic structural diagra E&ut Eclass diagra F is shorter and #ell esta&lished$ A class diagra is a graphic !ie# o" the static structural odel$ The indi!idual class diagra s do not represent di!isions in the underlying odel$ A class diagra is a collection o" Dstatic2 declarati!e odel ele ents( such as classes( inter"aces( and their relationships( connected as a graph to each other and to their contents$ Class diagra s packages either #ith their underlying packages that &uild upon the underlying ay &e organi)ed into odels or as separate odel packages$

S-B0-/C- +.&;*&M A se'uence diagra presents an Interaction( #hich is a set o" Messages &et#een Classi"ierRoles #ithin a Colla&oration to e""ect a desired operation or result$ A se'uence diagra has t#o di ensions0 12 the !ertical di ension represents ti e and /2 the hori)ontal di ension represents di""erent o&jects$ Nor ally ti e proceeds do#n the page$ DUsually only ti e se'uences are i portant( &ut in real ti e applications the ti e a+is could &e an actual etric$ There is no signi"icance to the hori)ontal ordering o" the o&jects$ O&jects can &e grouped into Es#i lanesF on a diagra

CO22&!O*&T.O/ +.&;*&M A colla&oration diagra presents a Colla&oration( #hich contains a set o" roles to &e played &y O&jects( as #ell as their re'uired relationships gi!en in a particular conte+t$ The diagra ay also present an Interaction( #hich de"ines a set o" Messages

speci"ying the interaction &et#een the O&jects playing the roles #ithin a Colla&oration to achie!e the desired result

ST&T-C)&*T +.&;*&M A statechart diagra can &e used to descri&e the &eha!ior o" a odel ele ent such as an o&ject or an interaction$ Speci"ically( it descri&es possi&le se'uences o" states and actions through #hich the ele ent can proceed during its li"eti e as a result o" reacting to discrete e!ents De$g$( signals ( operation in!ocations2$ Statechart diagra s represent the &eha!ior o" entities capa&le o" dyna ic &eha!ior &y speci"ying its response to the receipt o" e!ent instances$ Typically( it is used "or descri&ing the &eha!ior o" classes( &ut statecharts ay also descri&e the &eha!ior o" other odel entities such as use*cases( actors( su&syste s( operations( or ethods$ State1 A state is a condition during the li"e o" an o&ject or an interaction during #hich it satis"ies so e condition( per"or s so e action( or #aits "or so e e!ent$ A co!posite state is a state that( in contrast to a si!ple state( has a graphical deco position$

&CT.4.T3 +.&;*&M An acti!ity graph is a !ariation o" a state achine in #hich the states represent the per"or ance o" actions or su& acti!ities and the transitions are triggered &y the co pletion o" the actions or su& acti!ities$ It represents a state achine o" a procedure itsel"$ An acti!ity diagra is a special case o" a state diagra in #hich all Dor at least ost2 o" the states are action or su&acti!ity states and in #hich all Dor at least ost2 o" the transitions are triggered &y co pletion o" the actions or su&acti!ities in the source states$ The entire acti!ity diagra is attached Dthrough the odel2 to a class( such as a use case( or to a package( or to the

i ple entation o" an operation$ The purpose o" this diagra is to "ocus on "lo#s dri!en &y internal processing Das opposed to e+ternal e!ents2$ &$tion state1 An action state is a shorthand "or a state #ith an entry action and at least one outgoing transition in!ol!ing the i plicit e!ent o" co pleting the entry action Dthere ay &e se!eral such transitions i" they ha!e guard conditions2$ Action states should not ha!e internal transitions or outgoing transitions &ased on e+plicit e!ents( use nor al states "or this situation$ The nor al use o" an action state is to odel a step in the e+ecution o" an algorith Da procedure2 or a #ork"lo# process +eploy'ent +iagra' Deploy ent diagra s sho# the con"iguration o" run*ti e processing ele ents and the so"t#are co ponents( processes( and o&jects that li!e on the $ So"t#are co ponent instances represent run*ti e ani"estations o" code units$ Co ponents that do not e+ist as run*ti e entities D&ecause they ha!e &een co piled a#ay2 do not appear on these diagra s( they should &e sho#n on co ponent diagra s$

0M2 +iagra's 0/.F.-+ MO+-2./; 2&/;0&;- +.&;*&MS The uni"ied analysis odeling language allo#s the so"t#are engineer to e+press an odeling notation that is go!erned &y a set o" odel using the

syntactic se antic and prag atic rules$ A UM, syste syste "ro is represented using "i!e di""erent !ie#s that descri&e the distinctly di""erent perspecti!e$ 3ach !ie# is de"ined &y a set o"

diagra ( #hich is as "ollo#s$ User Model <ie#

i$ This !ie# represents the syste perspecti!e$

"ro

the users

ii$ The analysis representation descri&es a usage scenario "ro Structural the end*users perspecti!e$ odel !ie# odel the data and "unctionality are arri!ed "ro odel !ie# odels the static structures$

i$ In this ii$ This

inside the syste $

Beha!ioral Model <ie# It represents the dyna ic o" &eha!ioral as parts o" the syste ( depicting the interactions o" collection &et#een !arious structural ele ents descri&ed in the user odel !ie#$ I ple entation Model <ie# In this the structural and &eha!ioral as parts o" the syste represented as they are to &e &uilt$ 3n!iron ental Model <ie# In this the structural and &eha!ioral aspects o" the en!iron ent in #hich the syste UM, Analysis structural UM, design is to &e i ple ented are represented$ odel and odeling( UM, is speci"ically constructed through t#o di""erent do ains they are0 odeling( this "ocuses on the user odeling( #hich "ocuses on the &eha!ioral odel !ie#s o" the syste $ are odel and structural

i ple entation

odeling and en!iron ental

odel !ie#s$ "ro a user;s

Use case Diagra s represent the "unctionality o" the syste

point o" !ie#$ Use cases are used during re'uire ents elicitation and analysis to represent the "unctionality o" the syste $ Use cases "ocus on the &eha!ior o" the syste "ro e+ternal point o" !ie#$

Actors are e+ternal entities that interact #ith the syste $ 3+a ples o" actors include users like ad inistrator( &ank custo er Wetc$( or another syste like central data&ase$

0/.F.-+ MO+-2./; 2&/;0&;-1

The Uni"ied Modeling ,anguage DUM,2 is a standard language "or #riting so"t#are &lueprints$ The UM, ay &e used to !isuali)e( speci"y( construct( and docu ent the arti"acts o" a so"t#are*intensi!e syste $ The UM, is a appropriate "or odeling syste s ranging "ro

enterprise in"or ation syste s to distri&uted %e&*&ased applications and e!en to hard real ti e e &edded syste s$ It is a !ery e+pressi!e language( addressing all the !ie#s needed to de!elop and then deploy such syste s$ The UM, is only a language and so is just one part o" a so"t#are de!elop ent ethod$ The UM, is process independent( although opti ally it should &e used in a process that is use case dri!en( architecture*centric( iterati!e( and incre ental$ The UM, is a language "or <isuali)ing$ Speci"ying$ Constructing$ Docu enting$ The arti"acts o" a so"t#are*intensi!e syste $ A odeling language is

a language #hose !oca&ulary and rules "ocus on the conceptual and physical representation o" a syste $ Modeling yields an understanding o" a syste $ The !oca&ulary o" the UM, enco passes three kinds o" &uilding &locks0 Things Relationships

Diagra s 0S- C&S- +.&;*&MS1 A use case is a set o" scenarios that descri&ing an interaction &et#een a user and a syste $ A use case diagra actors and use cases$ The t#o use cases and actors$ displays the relationship a ong are ain co ponents o" a use case diagra

An actor is represents a user or another syste the syste task$ you are that represents so e action the user ight per"or

that #ill interact #ith in order to co plete a

odeling$ A use case is an e+ternal !ie# o" the syste

C2&SS +.&;*&MS1 Class diagra s are #idely used to descri&e the types o" o&jects in a syste and their relationships$ Class diagra s odel class structure and contents using design ele ents such as classes( packages and o&jects$ Class diagra s descri&e three di""erent perspecti!es #hen designing a syste ( conceptual( speci"ication( and i ple entation$ Classes are co posed o" three things0 a na e( attri&utes( and operations$ Belo# is an e+a ple o" a class$

S-B0-/C- +.&;*&MS The Se'uence Diagra odels the colla&oration o" o&jects &ased odeling

on a ti e se'uence$ It sho#s ho# the o&jects interact #ith others in a particular scenario o" a use case$ %ith the ad!anced !isual capa&ility( you can create co ple+ se'uence diagra <.*UM, can generate se'uence diagra ha!e de"ined in the use case description$ "ro in "e# clicks$ Besides(

the "lo# o" e!ents #hich you

0S- C&S- diagra's

Mer$hant 0se Case +iagra'

Addcategory

AddProd Merchant Merchant

ProcessOrder

GenerateBill

Custo'er 0seCase +iagra's

#ie$Prod

%electIte"

!sto"er OrderPost

!sto"er

PayBill

Sequen$e +iagra's O8 Mer$hant

& Merchant

'ogin

Add ategory

AddProd!ct

BillGeneration

Ener Id(Pass$ord )eri*y

%!ccses

Add ategory+etails

%!ccses

AddProd+etails

%!ccses

BillGenerationProcess

%!ccses

Collaboration +iagra' o8 Mer$hant

.& )eri*y

'ogin -& Ener Id(Pass$ord ,& %!ccses /& Add ategory+etails Add ate gory

0& %!ccses & Merchant 3& BillGenerationProcess 4& %!ccses

2& %!ccses

1& AddProd+etails AddProd !ct

BillGener ation

Sequen$e +iagra' o8 Custo'er

&

!sto"er

)ie$ ategory

)ie$Prod

selectIte"s

OrderPost

PayBill

)ie$ ategoryFro"'ist

'ogo!t

)ie$ProdFro"'ist

'ogo!t

%elect Ite"s *or" a#aila5le ite"s

'ogo!t

EnterTheBillAddress(shippingAddress

'ogo!t

Enter redit ardN!"5er(Money Paying details

'ogo!t

Collboration +iagra' o8 Custo'er


)ie$ ate gory -& )ie$ ategoryFro"'ist .& 'ogo!t ,& )ie$ProdFro"'ist )ie$Pro d

/& 'ogo!t & !sto"er 4& Enter redit ardN!"5er(Money Paying details

2& EnterTheBillAddress(shippingAddress 1& 'ogo!t 0& %elect Ite"s *or" a#aila5le ite"s -6& 'ogo!t 3& 'ogo!t

PayBill

selectIte "s

OrderPo st

MM

Class +iagra' o8 Online Shop

Add ategory ategId & Integer ategNa"e & %tring ateg+esc & %tring Merchant'ogin Id & %tring Pass$ord & %tring

AddProd!ct ProdId & Integer ProdNa"e & %tring ategid & Integer 7nitPrice & +o!5le ProdIn%tock & +o!5le

!sto"er lass

GeneratingBill 5illid & Integer TotalBill & +o!5le NoO*Prod & Integer Bill+ate & +ate

'istIte" ategory & Integer ProdId & Integer Prod8ty & +o!5le BillPaying red ardNo & %tring PanNo & %tring redit'i"it & +o!5le

PostingOrder Prodid & Integer %hipAdd & %tring BillAdd & %tring Order+ate & +ate

M6

+&T& +.CT.O/&*3 A data dictionary is a collection o" descriptions o" the data o&jects or ite s in a data odel "or the &ene"it o" the progra er and others #ho o" o&jects #ith need to re"er to the $ A "irst step in analy)ing a syste o&jects$ This process is called data odeling results in a picture o" o&ject in is gi!en a descripti!e na e(

#hich users interact is to identi"y each o&ject and its relationship to other

relationships$ A"ter each data o&ject or ite

its relationship is descri&ed the type o" data is descri&ed( possi&le prede"ined !alues are listed and a &rie" te+tual description is pro!ided$ This collection can &e organi)ed "or re"erence in to a &ook called data dictionary$ %hen de!eloping progra s that use the data dictionary can &e consulted to understand #here a data ite structure( #hat !alues it in real #orld ter s$ A data dictionary is a set o" Meta data that contain de"initions and representations o" data ele ents #ith in the conte+t o" a DBMS a data dictionary is a data&ase in its o#n dictionary$ odel( a data "its in the eans

ay contain and &asically #hat the data ite

68

/O*M&2.G&T.O/ The process o" deco posing relations #ith ano alies to produce s aller( #ell structured relations$ A nor al "or attri&utes to that relation$ First nor'al 8or'0 Any ulti*!alued attri&ute Dalso called repeating groups2 has &een re o!ed( so there is a single !alue Dpossi&ly NU,,2$ At the intersection o" each ro# and colu n o" the ta&le$ Se$ond nor'al 8or'0 Any partial "unctional decencies ha!e &een re o!ed$ Third nor'al 8or'0 Any transiti!e decencies ha!e &een re o!ed$ !oy$e6$odd nor'al 8or'0 Any re aining ano alies that result "ro &een re o!ed$ Fourth nor'al 8or'0 Any ulti*!alued dependencies ha!e &een re o!ed$
61

is a state o" a relation that results "ro

applying

si ple rules regarding "unctional decencies or relationships &et#een

"unctional dependencies ha!e

Fi8th nor'al 8or'0 Any re aining ano alies ha!e &een re o!ed$ #ri'ary key0 A pri ary key is a key( #hich doesn;t allo# duplicate and NU,, !alues %e can also say that it is as DUni'ue I Not NU,,2$ 0nique key0 This doesn;t allo# duplicate !alue and allo#s NU,,$ Foreign key0 A "ield o" one ta&le is depending up on the pri ary key o" another ta&le$

CAR0* F.-2+ /&MCARID CNAM3 MOD3, IMA93 .RIC3 TA.3 DIS.,AC3M3NT BOR3Q?QSTROH3 MINIMUMQ.O%3R MA?IMUMQTORKU3 COM.R3SSIONQRATIO TRANSMISION NUMB3RQO@Q93ARS ,3N97TQ%IDT7 +&T&T3#NUMB3R <ARC7AR/ <ARC7AR/ <ARC7AR/ NUMB3R <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ S.G/8 188 188 188 /8(/ 188 188 188 188 188 188 188 188 188 188 188 188
6/

9ROUNDQC,3ARANC3 %33,QBAS3 <ARC7AR/ %3I97T <ARC7AR/

MA?IMUMQS.33D STR33IN9

<ARC7AR/ <ARC7AR/

188 188

CR3DITCARDIN@O0* F.-2+ /&MCR3DITCARDNAM3 CR3DITCARDNO CUSTOM3R0* F.-2+ /&MUS3RNAM3 US3RID .ASS%ORD CR3DITCARDNO ADDR3SS 3MAI,

+&T&T3#<ARC7AR/ NUMB3R

S.G/8 /8

+&T&T3#<ARC7AR/ <ARC7AR/ <ARC7AR/ NUMB3R <ARC7AR/ <ARC7AR/

S.G/8 /8 /8 /8 /8 /8

,O9IN0* F.-2+ /&MUS3RID .ASS%ORD .URC7A93IN@O0* F.-2+ /&MUS3RID CARDNAM3 CARDNO CAS7 CARSIN@O +&T&T3#<ARC7AR/ <ARC7AR/ NUMB3R NUMB3R <ARC7AR/ S.G/8 /8 /8 18(/ /8 +&T&T3#<ARC7AR/ <ARC7AR/ S.G/8 /8

65

US3RIN@O0* F.-2+ /&MUNAM3 US3RID ADDR3SS 3MAI, +&T&T3#<ARC7AR/ <ARC7AR/ <ARC7AR/ <ARC7AR/ S.G/8 /8 /8 /8

T-C)/O2O;.-S 0S-+ &!O0T )TM21 HTML stands or Hyper Te+t Lan#ua#e& Hyperte+t is ordinary te+t that has been dresses up ,ith e+tra eatures- such as or!attin#- i!a#es- !ulti!edia and lin%s to other docu!ents& Mar%up is the process o tal%in# ordinary test and addin# e+tra sy!bols& Lan#ua#e is actually a %ey point to re!e!ber about HTML& The hyperte+t !ar%up lan#ua#e 'HTML* is a si!ple !ar%up lan#ua#e& .sed to create a hyperte+t docu!ents that are portable ro! one plat or! to another HTML docu!ents are /GML '/tandard #enerali0ed !ar% up lan#ua#e* docu!ents ,ith #eneric se!antics that are appropriate or representin# in or!ation ro! a ,ide ran#e o applications& $t has its o,n synta+- sla# and rules or proper co!!unication& HTML is neither a pa#e layout lan#ua#e nor a printin# lan#ua#e& The only thin# HTML does is classi yin# parts o our docu!ent so that a bro,ser can display it correctly& A set o instructions e!bedded in a docu!ent is called !ar% up lan#ua#e& These instructions describe ,hat the docu!ent te+t !eans and ho, it should loo% li%e in a display& Hyper Te+t Mar% .p lan#ua#e 'HTML*

6:

is the lan#ua#e used to encode 1orld 1ide 1eb docu!ents& $t is universal lan#ua#e or classi yin# the unction o di erent sections o a (ocu!ent& $t is used to de ine the di erent parts o our pa#e& HTML is desi#ned to 1or% on a ,ide variety o plat or!s and also to ,or% on a variety o #raphical ,or%stations& The idea behind HTML is that i ,e !ar% up our docu!ent by indicatin# the parts o our docu!ent o unction- then should be able to trust that docu!ent ,ill be attractively and correctly displayed by any bro,ser on any co!puter any,here in the 1orld& Ad#'nt'ges o& 6TML 7

)LE2$3$L$TY

(EE"E4 .N(E4/TAN($NG T4O.3LE /HOOT$NG )4EE O) CO/T $N(E"EN(ENCE STRUCTUR3 O@ 7TM, * HTML ele!ents per or! a de ined tas%& HTML uses t,o types o ele!ents E!pty Ta#s Container Ta#s

E!pty ta#s represent or!attin# constricts such as line brea%s and hori0ontal rules& Container ta#s de ine a section o te+t- or!ats and dot all o the selected te+t& A container ta# has both a be#innin# and an endin#& 6TML L'yout 8
6>

An HTML docu!ent consists o te+t- ,hich co!prises the content o the docu!ent and ta#s- ,hich- de ines the structure- and appearance o the docu!ent& The structure o an HTML docu!ent is si!ple- consists o outer 5HTML6 ta# enclosin# the docu!ent header each docu!ent has a head and body deli!ited by the 5HEA(6 and 53O(Y6 ta#& The head is ,here you #ive your HTML docu!ent a title and ,here you indicate other para!eters the bro,ser !ay use ,hen displayin# the docu!ent& This includes the te+t or displayin# the te+t& Ta# also re erences special and indicates the hot spots that lin% your docu!ent to other docu!ents& Creatin# a or! usually involves t,o independent steps7 Creatin# the layout or the or! itsel and then ,ritin# a script pro#ra! on the server side to process the or!ation you #et bac% ro! a or!& $nside the openin# and closin# )O4M ta#s are each o the individual or! ele!ents plus any other HTML content to create a layout or that or!& The openin# ta# o the )O4M ele!ent usually includes the attributes7 METHO( and ACT$ON& The METHO( attributes can be either GET or "O/T ,hich deter!ines ho, your or! data is sent to the script to process it& The ACT$ON attribute is a pointer to the script that processes the or! on the server side& The ACT$ON can be included by a relative path or by a ull .4L to a script on your server or so!e,here else& )or e+a!ple- the ollo,in# 5)O4M6 ta# ,ould call a script called or!8na!e in c#i8bin directory on server ,,,&!yservser&co! E+a!ple 8 5)O4M Method9 post action9http7::,,,&!ytservser&co!:c#i8bin: or!8na!e&pl6 & & & 5:)O4M6

&!O0T 5&4&1

64

To cat is an open source application ser!er &ased on =a!a technology$ In a nutshell( it ser!es =a!a Ser!lets and =a!a Ser!er .ages D=S.2 technology on a %e&site$ A To cat #orker is a To cat instance that is #aiting to e+ecute Ser!lets on &ehal"$ In our project( #e ha!e chosen =a!a language "or de!eloping the code$ Initially the language #as called as EoakF &ut it #as rena ed as E=a!aF in 166>$The pri ary oti!ation o" this language #as the need "or the plat"or *independent Di$e$( architecture neutral2 language that could &e used to create so"t#are to &e e &edded in !arious consu er electronic de!ices$ =a!a is a progra progra to syste er;s language$ It is cohesi!e and consistent$ 3+cept "or ing #here C is those constraints i posed &y the Internet en!iron ent( =a!a gi!es the er "ull control$ @inally( =a!a is to Internet progra progra ing$

.'portan$e o8 5a7a to the .nternet0 =a!a has had pro"ound e""ect on the Internet$ This is &ecauseC =a!a e+pands the Uni!erse o" o&jects that can o!e a&out "reely in Cy&erspace$ In a net#ork( t#o categories o" o&jects are trans itted &et#een the Ser!er and the personal co puter$ They are0 .assi!e in"or ation and Dyna ic acti!e progra s$ The dyna ic( sel"*e+ecuting progra s cause serious pro&le s in the areas o" security and pro&a&ility$ But( =a!a addresses those concerns and &y doing so( has opened the door to an e+citing ne# "or progra called the Applet$ o"

5a7a $an be used to $reate two types o8 progra's1 &ppli$ation and &pplets1
6O

An application is a progra operating syste

that runs on our co puter under the ore or less like one creating using ake it i portant$ An Applet is an

o" that co puter$ It is

C or CII$ =a!a;s a&ility to create Applets

application designed to &e trans itted o!er the Internet and e+ecute &y a =a!a*co pati&le #e& &ro#ser$ An applet is actually a tiny ja!a progra ( dyna ically do#nloaded across the net#ork( just like an i age$ But the di""erence is( it is an intelligent progra ( not just a the user input and dyna ically change$ Features o8 5a7a se$urity1 3!ery ti e you do#nload a Enor alF progra ( you are risking a !iral in"ection$ .rior to ja!a( ost users did not do#nload e+ecuta&le "or !iruses prior to e+ists progra s "re'uently( and those #ho did scanned the syste s #ith a !irus$ In addition( another type o" that edia "ile$ It can react to

e+ecution$ Most users still #orried a&out the possi&ility o" in"ecting their alicious progra ust &e guarded against$ This type o" progra can gather pri!ate

in"or ation( such as credit card nu &ers( &ank account &alances( and pass#ords$ =a!a ans#ers &oth these concerns &y pro!iding a E"ire#allF &et#een a net#ork application and your co puter$ #ortability1 @or progra s to &e dyna ically do#nloaded to all !arious types o" plat"or s connected to the Internet( so e eans o" generating porta&le echanis that helps e+ecuta&le code is needed$ As you #ill see( the sa e t#o pro&le s is &oth elegant and e""icient$

ensure security also helps create porta&ility$ Indeed( =a!a;s solution to these

6M

The !yte $ode1 The key that allo#s the =a!a to sol!e the security and porta&ility pro&le s is that the output o" ja!a co plier is &yte code$ Byte code is a highly opti i)ed set o" instructions designed to &e e+ecuted &y the =a!a run* ti e syste ( #hich is called the =a!a <irtual Translating a ja!a progra to run a progra run*ti e package it$ Although ja!a #as designed "or interpretation( there is technically nothing a&out ja!a that pre!ents on*the*"ly co pilation o" &yte code into nati!e code$ Sun has just co pleted its =ust in Ti e D=IT2 co piler "or &yte code$ %hen the =IT co piler is a part o" =<M( it co piles &yte into e+ecuta&le code in real ti e( on a piece*&y*piece( de and &asis$ It is not possi&le to co pile an entire =a!a progra into e+ecuta&le code all at once( &ecause =a!a per"or s !arious run*ti e checks that can &e done at runti e$ The =IT co piles code( as it is needed( during e+ecution$ 5a7a 4irtual Ma$hine1 Beyond the language( there is the =a!a !irtual !irtual achine$ The =a!a achine is an i portant ele ent o" the =a!a technology$ The !irtual achine( it is !eri"ied$ As part o" achine D=<M2$ That is( in its akes it uch easier can run on standard "or ( the =<M is an interpreter "or &yte code into &yte code helps in a #ide !ariety o" en!iron ents$ The reason is( once the e+ists "or a gi!en syste ( any ja!a progra

achine can &e e &edded #ithin a #e& &ro#ser or an operating syste $ Once a piece o" =a!a code is loaded onto a the loading process( a class loader is in!oked and does &yte code !eri"ication akes sure that the code that;s has &een generated &y the co piler #ill not
66

corrupt the

achine that its loaded on$ Byte code !eri"ication takes place at ake sure that is all accurate and

the end o" the co pilation process to o" =a!a code$ =a!a progra

correct$ So &yte code !eri"ication is integral to the co piling and e+ecuting

ing is used to produce &yte codes and e+ecute the $

Source code is located in a $=a!a "ile that is processed #ith =a!a co piler called ja!ac$ The =a!a co piler produces a "ile called class "ile( #hich contains the &yte code$ The class "ile is then loaded across the net#ork or loaded on your achine into the e+ecution en!iron ent is the =a!a !irtual achine( #hich interprets and e+ecutes &yte code 5a7a &r$hite$ture1 =a!a architecture pro!ides a pota&le( ro&ust( high per"or ing en!iron ent "or de!elop ent$ =a!a pro!ides porta&ility &y co piling the &yte code "or the =a!a <irtual Machine( #hich is then interpreted on each plat"or &y the run*ti e en!iron ent( ja!a is a dyna ic syste ( a&le to load a achine in the sa e roo or across the planet$ code #hen needed "ro

Co'pilation o8 $ode1 %hen you co pile the code( the =a!a co piler creates Dcalled &yte code2 "or a hypothetical achine code achine called =a!a <irtual Machine

D=<M2$ The =<M is supposed to e+ecute the &yte code$ The =<M is created "or o!erco ing the issue o" porta&ility$ The code is #ritten and co piled "or one achine and interpreted on all achines$ This achine is called =a!a <irtual Machine$
188

During run*ti e the =a!a interpreter tricks the &yte code "ile into thinking that it is running on a =a!a <irtual Machine$ Ob:e$t6Oriented1 =a!a #as not designed to &e source*code co pati&le #ith any other language$ This allo#ed the ja!a tea o&ject the "reedo to design #ith &lank slate$ One a outco e o" this #as clean usa&le( prag atic approach to o&jects$ The odel in ja!a is si ple and easy to e+tend( #hile si ple types( such as integers( are kept as high*per"or ance non*o&jects$ 7t l tags are not case*sensiti!e$

,hat is 5+!CA =DBC is a =a!a A.I "or e+ecuting SK, state ents$ D=DBC is o"ten thought o" as E=a!a Data&ase Connecti!ityF2 $It consists o" a set o" classes and inter"aces #ritten in the ja!a progra ing language$

Using =DBC( it is easy to send SK, state ents to !irtually any relational data&ase$ In the other #ords( #ith the =DBC A.I( it is not necessary to #rite to one progra progra to access a Sy&ase data&ase( another to access Oracle using the =DBC A.I( er #rites it to access In"or i+ data&ase( another progra

data&ase( and so on$ One can #rite a single progra and the progra

#ill &e a&le to send SK, state ents to the appropriate

data&ase$ The co &inations o" =A<A and =DBC let;s a progra once and run it any#here$

181

=a!a( &eing ro&ust( secure( easy to use( easy to understand( and auto atically do#nloada&le on a net#ork( is an e+cellent language &asis "or data&ase applications$ =DBC e+tends #hat can &e done in =a!a$ @or e+a ple( #ith =a!a and the =DBC A.I( it is possi&le to pu&lish a #e& page( #hich contains an applet that uses in"or ation o&tained "ro .rogra data&ase access "ro MIS a re ote data&ase$ %ith ore and ore ers using the =a!a .rogra ing language( the need "or easy

ja!a is continuing to gro#$

anagers like the co &ination o" =a!a and =DBC &ecause it

akes disse inating in"or ation easy and econo ical( Businesses can continue to use their installed data&ase and access in"or ation e!en i" it is stored on di""erent data&ase anage ent syste s$ De!elop ent ti e "or er can #rite an application or an ne# application is short$ A progra

update once( put it on the ser!er( and e!ery&ody has access to the latest !ersion$ A ,o# ,e!el A.I and a Base "or 7igher*le!el A.Is$ =DBC is a E,o# le!el E inter"ace that SK, co eans that it is used to in!oke

ands directly( it #orks !ery #ell in this capacity and is easier to

use than other data&ase connecti!ity A.Is( &ut it #as designed to &e a &ase upon #hich to &uild higher le!el inter"aces and tools$ A high le!el inter"ace is Euser*"riendlyF( using a ore understanda&le or ore con!enient A.I that is translated &ehind the scenes into a lo# le!el inter"ace such as =DBC$ At the ti e o" #riting( t#o kinds o" higher le!el A.Is are under de!elop ent o" top o" =DBC$

18/

12 An e &edded SK, "or =a!a$ At least one !endor plan to &uild this DBMS i ple ent SK,( a language designed speci"ically "or use #ith data&ases$ =DBC re'uires that the SK, state ents &e passed as Strings to =a!a ethods$ The e &edded SK, preprocessor then translates this =A<ALSK, i+ into =a!a #ith =DBC calls$ /2 A direct apping o" relational data&ase ta&les to =a!a classes$ In this apping( each ro# o" the ta&le &eco es an instance o" ers can then operate$ i+es si ple and ad!anced "eatures ore

Eo&jectLrelationalF instance$ .rogra

that class( and each colu n !alue corresponds to an attri&ute o" that

ODBC is hard to learn$ It

together( and it has co ple+ options e!en "or si ple 'ueries$ =DBC( on the other hand( #as designed to keep si ple things si ple #hile allo#ing ad!anced capa&ilities #here re'uired$ A =a!a A.I like =DBC is needed in order to ena&le a E.ure =a!aF solution$ %hen ODBC is used( the ODBC Dri!er Manager and dri!ers &e anually installed on e!ery client ust achine$ %hen the =DBC dri!er is net#ork co puters to

#ritten co pletely in =a!a( ho#e!er( =DBC code is auto atically installa&le( porta&le( and secure on all plat"or s "ro ain"ra es$

5+!C +ri7er types The =DBC dri!ers that #e are a#are o" this ti e generally "it into one o" "our categories0
185

5+!C6O+!C !ridge plus O+!C +ri7er0 The =a!a So"t &ridge product pro!ides =DBC access !ia ODBC dri!ers$ As a result( this kind o" dri!er is ost appropriate on a corporate net#ork #here client ajor pro&le ( or "or application ser!er code installations are not a

#ritten in =a!a in a three*tier architecture$ /ati7e6&#. partly 5a7a dri7er1 This kind o" dri!er con!erts =DBC calls into calls on the Client A.I "or Oracle( Sy&ase( In"or i+ and DB/$ 5+!C6/et pure 5a7a dri7er0 This dri!er translates =DBC calls into a DBMS*independent net protocol( #hich is then translated to a DBMS* protocol &y a ser!er$ The speci"ic protocol used depends on the !endor$ /ati7e6proto$ol #ure 5a7a dri7er0 This kind o" dri!er con!erts =DBC calls directly into the net#ork protocol used &y DBMS$ Since any o" these protocols are proprietary( the data&ase !endors the sel!es #ill &e the pri ary source$

5&4& +&T&!&S- CO//-CT.O/ =a!a is an ideal language "or persistent data storage$ By using class inheritance and data encapsulation( a =a!a application de!eloped to #ork #ith one type o" data storage can &e ported or e+tended to #ork #ith another$ An e+a ple is an application currently #orking #ith an RDBMS DRelational Data&ase Manage ent Syste 2 that is e+tended to use RMI DRe ote Method In!ocation2 to store data in a "ile$
18:

A co

on

isconception #ith =a!a is that data&ase access can Although( the anage data&ase

occur only #ith =DBC D=a!a Data&ase Connecti!ity2 A.I$ =DBC pro!ides a handy set o" lo#er le!el classes to connections and transactionsC it is not a and output strea the

andatory co ponent$ Ms'l=a!a

uses the Socket classes included in the ja!a$net package and the data input classes included in the ja!a$io package$ I" you #anted to( SK, data&ase using Ms'l=a!a instead o" you could as easily connect to a s'l =DBC dri!er$ Additional e""orts are under#ay to esta&lish a standard =a!a class A.I to inter"ace #ith o&ject DBMS;s DData&ase Manage ent Syste s2$ Co panies are also creating their o#n opti i)ed data access classes( such as Microso"t;s DAO DData Access O&ject2 classes$ As an alternati!e to persistent storage o" data in data&ase seriali)ation$ The =DH contained core classes grouped together into packages( t#o o" these Dja!a$net and ja!a$io2 pro!ide the classes necessary to connect to a data&ase and send and recei!e data$ 7o#e!er( create a socket and a strea transaction$ data to and "ro ost o" us do not #ant to it to i ple ent a si ple anage ent

syste s( =a!a can also &e used to store data to "iles using o&ject

18>

The =DBC consists o" a &asic set o" inter"aces and a Dri!er Manager class used as the &asis "or se!eral dri!ers$ Dri!ers pro!ide the "unctionality speci"ic to a data&ase or data&ase iddle#are layer$ ediately apparent #hen using the ethod calls and a D,,

Certain li itations &eca e i

=DBC$ @irstC the =DBC*ODBC Bridge used nati!e

DDyna ic ,ink ,i&rary2 to connect to a data&ase( prohi&iting its use in applets accessi&le through the Internet$ Because o" applet security issues( the =DBC li its net#ork connecti!ity to the sa e host "ro #as do#nloaded$ @or use #ith an applet( data&ases to ha!e the dri!er access a type o" dri!ers$ O&ject Seriali)ation si ply anipulated in eans to store an o&ject in such a #ay the store$ O&jects can &e e &ers and any #hich the applet ust &e installed on the

sa e ser!er as the 7TT. ser!er X a potential security risk$ A #orkaround is iddle#are layer( #hich in turn accesses a data&ase( #hich located else#here$ Se!eral co panies ha!e produced this

that the o&ject can &e retrie!ed as an o&ject "ro

e ory and can re"erence their "ile2 "or later retrie!al$

associations$ %ith seriali)ation( you can also store these sa e o&jects in a persistent "or at Dsuch as a syste

As a handy #ay to e+plain the use"ulness o" the Data&ase Metadata inter"ace and to pro!ide a good "irst step "or &eginning to #ork #ith data access in =a!a( the =a!a d&util application #as created to #ork #ith the =DBC*ODBC Bridge$ This tool takes "i!e para eters0 the ODBC data&ase na e as de"ined #ith the ODBC Ad inistrator( the userna e( the pass#ord Dsorry the pass#ord is not encrypted2( the in"or ation category( and the
184

in"or ation category option$ A ong the options the e+isting tool can pro!ide is in"or ation a&out the data&ase( its procedures( ta&les; colu ns and transactions$ The =DH1$1 docu entation contains a list o" the nu erous to list here$ Use the =DH docu entation to !ery use"ul results$ ethods and

!aria&les "or use #ith the Data&ase Metadata inter"ace( #hich are too odi"y the tool to suit your needs or to ha!e a little "un #ith so e !ery si ple coding that pro!ides

The =a!a Data&ase Connecti!ity D=DBC2 A.I includes classes that can handle ost data&ase access needs$ @or si ple select state ents to ore than one ost applications processing the results o" a co ple+ stored procedure to access data&ase at a ti e( the =DBC pro!ides the "unctionality need$ Connecting to a Data&ase and data&ase(

aking Si ple KueriesOne !ery ore than a "e#

i portant aspect o" the =DBC is ho# easy is to use$ To connect to a ake a 'uery( and process the result takes not lines o" code( as the "ollo#ing sections de onstrate$

5&4& S-*4-* #&;- (5S# =a!a Ser!er .agesY D=S.2 is a ne# technology "or #e& application de!elop ent that has recei!ed a great deal o" attention since it #as "irst announced$

18O

,hy is 5S# so ex$itingA 1$ =S. is =a!a*&ased( and =a!a is #ell*suited "or enterprise co puting$ In "act( =S. is a key part o" the =a!a / 3nterprise 3dition D=/332 plat"or and can take ad!antage o" the any =a!a 3nterprise li&raries( such as =DBC( =NDI( and 3nterprise =a!a Beans$ /$ =S. supports a po#er"ul separates presentation "ro odel "or de!eloping #e& applications that

processing$$

18M

In the early days o" the %e&( the only tool "or de!eloping dyna ic #e& content #as the Co #e& ser!er progra on 9ate#ay Inter"ace DC9I2$ C9I outlined ho# a ade user input a!aila&le to a progra ( as #ell as ho# the

pro!ided the #e& ser!er #ith dyna ically generated content to

send &ack$ C9I scripts #ere typically #ritten in .erl$ DIn "act( C9I .erl scripts still dri!e nu erous dyna ic #e& sites$2 7o#e!er( C9I is not an e""icient solution$ @or e!ery re'uest( the #e& ser!er has to create a ne# operating*syste process( load a .erl interpreter and the .erl script( e+ecute the script( and then dispose o" the entire process #hen it-s done$ To pro!ide a ore e""icient solution( !arious alternati!es to C9I ha!e &een added to progra ers- tool&o+es o!er the last "e# years0 @ast C9I( "or e+a ple( runs in an e+ternal per anent process Dor a pool o" processes2$ odQperl "or Apache( NSA.I "or Netscape( and ISA.I "or each C9I progra In addition(

Microso"t-s IIS all run ser!er*side progra s in the sa e process as the #e& ser!er itsel"$ %hile these solutions o""er &etter per"or ance and scala&ility( each one is supported &y only a su&set o" the popular #e& ser!ers$ The =a!a Ser!let A.I( introduced in early 166O( pro!ides a solution to the porta&ility issue$ 7o#e!er( all these technologies su""er "ro a co on pro&le 0 7TM, code e &edded inside progra s$ I" you-!e e!er looked at the code "or a ser!let( you-!e pro&a&ly seen endless calls to out$println D 2 that contain scores o" 7TM, tags$ @or the indi!idual de!eloper #orking on a si ple #e& site this approach ay #ork "ine( &ut it akes it !ery di""icult "or people #ith di""erent skills to #ork together to de!elop a #e& application$ This is &eco ing a signi"icant pro&le $ As #e& sites &eco e increasingly co ple+
186

and are

ore and

ore critical to the success o" an organi)ation( the

appearance and usa&ility o" the #e& inter"ace &eco es para ount$ Ne# client technologies( such as client*side scripts and D7TM,( can de!elop ore responsi!e and interacti!e user inter"aces( style sheets can easier to glo&ally change "onts and colors( and i ages can inter"ace ake it ake the ore

ore appealing$ At the sa e ti e( ser!er*side code is getting

co ple+( and de ands "or relia&ility( per"or ance( and "ault tolerance are increasing$ The gro#ing co ple+ity o" #e& applications re'uires a de!elop ent e""iciently$ =a!a Ser!er .ages pro!ides just such a de!elop ent tande such as #ith progra odel( allo#ing odel that allo#s people #ith di""erent skills to cooperate

#e& page authors #ith skills in graphics( layout( and usa&ility to #ork in ers #ho are e+perienced in ser!er*side technologies ultithreading( resource pooling( data&ases( and caching$ %hile odels( none o" the o""ers all the ad!antages

there are other technologies( such as AS.( .7. and Cold @usion( that support si ilar de!elop ent o" =S.$

5S# &*C).T-CT0*IN T73 .ROC3SS O@ DANAMIC CONT3NT 93N3RATION( SUN MICROSAST3MS 7AS INTRODUC3D %IT7 A N3% CONC3.T AS E,O9IC S3.ARATIONF @ROM C,I3NT$

Client1 118

Client2

2O;.CS

Server

Client3

Fig (E

,ogic #hich is re'uired is #ritten at one place and can &e accessed &y all the clients #hich are at di""erent places #hen they re'uire$ So( in order to i ple ent this( #e ha!e t#o Architectures kno#n as Model 1 Model /

Model6% &r$hite$ture In Model*1 Architecture( presentation logics and Business logics are co &ined$ %hen these t#o are co &ined( each presentation logic re'uires copy o" &usiness logic so that the odel and ser!er should #ork to#ards
111

this( such thing is ti e and resource consu e( so in order to o!erco e this Model / Architecture has &een introduced$ Model*1 Architecture is called as =a!a Bean$

Model
Re:!est processing

View
n9 lients

+ata #alidation B!siness logic processing +ata "anip!lation Response generation

server

Fig (%<

Model6( &r$hite$ture Model*/ Architecture is also called as =a!a Strut$ In this Model( presentation and &usiness logics are separated$ %e ha!e three parts in this( <ie# Controller Model

11/

Model1 contains &usiness logics #hich represent application state along #ith data&ase$ 4iew1 =S. acts a !ie# #hich recei!es data "ro contain any data Controller1 anipulation logics$ client( process the Model and pro!ide the odel this !ie# doesn;t

takes re'uest "ro

in"or ation to di""erent =S. page and passing control to di""erent !ie#s$

Controller

Browser
View

+ata !ase

Mode l

Fig (%(

TOMC&T1 To cat is an open source application ser!er &ased on =a!a technology$ In a nutshell( it ser!es =a!a Ser!lets and =a!a Ser!er .ages D=S.2
115

technology on a %e&site$ A To cat #orker is a To cat instance that is #aiting to e+ecute Ser!lets on &ehal" o" so e #e& ser!er$ @or e+a ple( #e can ha!e a #e& ser!er such as Apache "or#arding ser!let re'uests to To cat process Dthe #orker2 running &ehind it$ To'$at Se$urity S$ope1 As stated in the Ser!let speci"ication( To cat security is pri arily concerned #ith0 &uthenti$ation0 The eans &y #hich co unication entities pro!e their

identities to one another$ &$$ess Control0 The users or progra s$ .ntegrity0 The #hile in transit$ Con8identiality0 The eans used to ensure that in"or ation is eans used to pro!e that in"or ation has not &een odi"ied eans &y #hich re'uest "or resources are li ited to

understanda&le only &y authori)ed users$ To cat security is user role*&ased and #e& container Dso e #hat #e& application2 centric$

11:

5&4&SC*.#T1 %e& pages ade using only 7TM, are so e#hat static #ith no interacti!ity and negligi&le user in!ol!e ent$ Interacti!e pages can &e descri&ed as those that understand and process user &eha!ior Dactions2 like ouse o!e ents( ouse &utton clicks( 7TM, &utton clicks etc$

7TM, tags are just instructions on docu ent layout and structure the display o" the docu ent in the #indo# is dependent on the &ro#ser$ Interacti!e pages cannot &e &uilt #ith only 7TM,( #e need a progra ing
11>

language$ @urther( since the response ti e to user actions should &e 'uick( the progra ing language has to &e e &edded in the &ro#ser itsel"$ D.rogra s residing on ser!ers can not &ring a&out interacti!ity due to the ti e taken "or sending the user input and recei!ing the response$2Heeping these things in ind( the people at Netscape ca e out #ith a client*side Dread &ro#ser2 language that #as integrated #ith !ersion / o" Netscape Na!igator$ They called this language 5a7aS$ript$ DActually( =a!aScript #as initially christened Live /cript$ Seeing the popularity gained &y Sun Syste s- =a!a( the &ig#igs at Netscape changed its na e$2 Microso"t-s i ple entation o" =a!aScript is called 5S$ript and #as "irst introduced #ith !ersion 5 o" Internet 3+plorer$ =a!aScript is thus( a client*side scripting language$ There is also a ser!er*side !ersion that is used in Acti!e Ser!er .ages( a technology pro oted &y Microso"t$ =a!aScript ena&les &ro#sers to take decisions and process in"or ation$ This is the key to interacti!ity$ *O2- OF O*&C2- ./ +&T&!&S-1 ORAC,3 Mi is one o" the clientLser!er in"or ation a ong ultiple clients$ any data&ase ser!ices that plug into a anage resources( data&ase odels$ It #orks e""iciently to

.ntrodu$tion to Ora$le1 ORAC,3 6i is a co prehensi!e operating en!iron ent that packs the po#er o" a ain"ra e syste into user icroco puter$ It pro!ides a set o" "unctional progra s that user can use as tool to &uild structures and
114

per"or

tasks$ Applications de!eloped on oracle are co pletely porta&le to o!ed into a ulti user plat"or $ Users do not ha!e

en!iron ent and can &e the progra it pro!ides$ er( the

to &e an e+pert to appreciate ORAC,3( &ut the &etter the user understands ore producti!ity and creati!ity you #ill use the tools

User can use the "ollo#ing tools to0 De"ine a data&ase$ Kuery the data&ase$ Add( edit and delete the data$ Modi"y the structure o" data&ase$ Secure data "ro Co pu&lic access$ unicate #ithin the net#orks$

3+port and I port data? ST*0CT0*-+ B0-*3 2&/;0&;- (SB2 1 SK, is an inter*acti!e language used to 'uery the data&ase and access data in data&ase$ SK, has the "ollo#ing "eatures0 It is a uni"ied language$ It is a co on language "or relational data&ase$

It is a non*procedural language$

T)- O*&C2- -/4.*O/M-/TS1 ORAC,3 is a odular syste that consists o" the ORAC,3 data&ase

and se!eral "unctional progra s$ ORAC,3 tools ha!e "our kinds o" #orks0

11O

Data&ase Manage ent$ Data access and Manipulations$ .rogra ing$

Connecti!ity?

+atabase Manage'ent Tools1 These includes the core progra s o" Oracle;s data&ase anage ent

syste ( the ORAC,3 data&ase #ith its associated ta&les and !ie#s( #hich are stored in the Oracle;s data dictionary and a group o" help"ul acti!ities$ The data dictionary stores in"or ation related to e!ery "acet o" data&ase syste $ User na es( user access rights( ta&le storage in"or ation and auditing data "or the disaster reco!ery are all stored in the data dictionary$

+ata &$$ess and Manipulations1 All o" Oracle;s data access and #ill use to access and to the Oracle syste $ anipulation tools are

"ir ly &ased on ANSI standard SK,$ In Oracle( the tools that a user anipulate data( has #ell as to design or use applications$ 3ach pro!ides separate point o" entry and uni'ue speech

O*&C2- 2.M.T&T.O/S1
11M

The single*user does not include all o" the tools a!aila&le on the hard#are plat"or s$ ORAC,3 is relati!ely e+pensi!e and single user( .C*&asis data&ase anagers$ ore co ple+ than so e o" the

O*&C2- &+4&/T&;-S1 ORAC,3 deli!ers a co prehensi!e package that allo#s "or unli ited gro#th$ ORAC,3 gi!es you security and control$ ORAC,3 has se!eral "eatures that ensure the integrity o" user data&ase$ I" an interruption occurs in processing( a roll&ack can rest the data&ase to a point &e"ore the disaster$ I" a restore is necessary( ORAC,3 has a roll "or#ard co and "or creating a data&ase to its ost recent sa!e point$

ORAC,3 pro!ides users #ith se!eral "unctions "or ser!ing data$ 9rant and re!oke co colu n le!els$ ORAC,3 stores the DBMS kernel in e+tended e ory is a!aila&le "or the application$ e ory( so ore ain ands li it access to in"or ation do#n to the ro# and

116

T-ST./;

So"t#are testing "or s an acti!ity o" so"t#are de!elop ent$ So"t#are testing identi"ies errors at an early stage$ A planned testing identi"ies the di""erence &et#een the e+pected results and the actual results$ The unco!ers( as so"t#are any as yet undisco!ered errors( #hich helps to ain o&jecti!e o" so"t#are testing is to "ind errors$ A success"ul testing is one that ake the ore rugged and relia&le$

Testing is applied at di""erent le!els in the so"t#are de!elop ent li"e cycle( &ut the testing done is di""erent in nature and has di""erent o&jecti!es at each le!el$ The "ocus o" all testing is to "ind errors( &ut di""erent type o" error are looked "or each le!el$ Testing plays a !ery critical role in deter ining the relia&ility and e""iciency o" the so"t#are and hence is !ery i portant stage in so"t#are de!elop ent$ Tests are to &e conducted on the so"t#are to e!aluate its per"or ance under a nu &er o" conditions Ideally it should do so at the le!el o" each odule and also #hen all o" the ( are integrated to "or the co plete syste $ So"t#are testing is done at di""erent le!els$ They are unit testing and syste acceptance testing$ UNIT T3STIN9 D%7IT3 BO? T3STIN92 testing #hich co prises o" integration testing and

1/8

At the lo#est le!el ( the "unction o" the &asic unit o" so"t#are is tested in isolation$ This is #here the ost detailed in!estigation o" the internal er #ho #rote the #orking o" indi!idual units is carried out$ The progra code o" then per"or s unit testing$ The purpose o" unit testing is to "ind errors in the indi!idual units( #hich could &e logic*related errors$ The test case can &e deri!ed "ro progra their speci"ication or design docu ent $ units #hich cannot &e tested in

isolation ( ay re'uire the creation o" s all test progra s kno#n as harness$ D3BU99IN90 De&ugging is the process o" isolating and correcting causes o" kno#n errors$ Conditional &reak points and suita&le diagnostic output state ents ha!e &een introduced in the source code$ Appropriate error "lagged in the case o" errors$ SAST3M T3STIN90 Syste Testing in!ol!es integration testing and acceptance testing$ testing #as carried out to see i" the @ollo#ing the unit testing a su&syste to see i" the su&syste essages are

@unctioning o" other "unction in that su&syste $ Then a test #as conducted "unctioned #ithout inter"ering #ith the "unctioning o" "inally( the reco!ery procedure "or the entire the other su&syste s$ su&syste ( #as #ritten$ T3ST .,AN0

1/1

The test plan is an i portant( &ut o!erlooked product o" so"t#are design$ A test plan prescri&es !arious kinds o" acti!ities that #ill &e eets its re'uire ents$ integration plan ust satis"y( they per"or ed to de onstrate that the so"t#are product ethods to &e used on particular are @unctional Test .er"or ance Test Stress Test Structural Test @UNCTION T3ST0 This test is &ased on the re'uire ent speci"ications( they are designed to de onstrate that the so"t#are satis"ies its re'uire ents$ There"ore( the test .lan can &e only as good as the re'uire ents( #hich in turn ust &e phrased in 'uanti"ied( testa&le ter s$ @unctional tests can speci"y typical operational conditions( typical input !alues and typical e+pected results$ E3 ployee In"oBaseF #as tested "or its "unctionality and it #as "ound to satis"y the re'uire ents$ Tests carried out included &y conducting 3+a .3R@ORMANC3 T3ST0 This test is &ased on the re'uire ent speci"ication$ This is designed to !eri"y response ti e Dunder !arious loads2(e+ecution( throughput pri ary and secondary co e ory utili)ation and tra""ic rates on data channels and unication links( per"or ance testing #ill o"ten indicate &ottlenecks to to the users$

The test plan speci"ies the o&jecti!e o" testing( the syste There are "our types o" tests that a so"t#are product

odules and the tests that can &e used$

1//

&e addressed during syste should speci"y the syste the e+pected results$ STR3SS T3ST0

testing and tuning$ The per"or ance test plan

achine con"iguration assu ptions concerning the

status "or the test case( the re'uire ent &eing tested( test inputs and

Stress test #as designed to o!erload the syste as atte pting to sign on ter inals processing le!els or disconnecting a co STRUCTUR3D T3ST0 ore than the unication link$ a+i u

in !arious #ays( such allo#ed nu &er o"

ore than the allo#ed nu &er o" identi"iers or static

This test is concerned #ith e+a ining the processing logic o" a so"t#are syste $ The particular routines called and the logical paths tra!ersed through the routines are o&jects o" interest$ The goal o" structural testing is to tra!erse a speci"ied nu &er o" paths through each routine in a syste to esta&lish thoroughness o" testing$

1/5

s$reens

1/:

1/>

1/4

1/O

1/M

1/6

158

151

15/

155

15:

15>

154

15O

15M

156

1:8

1:1

SOFT,&*- T-ST./; So"t#are Testing is a critical ele ent o" so"t#are 'uality assurance and represents the ulti ate re!ie# o" speci"ication( design and coding( Testing presents an interesting ano aly "or the so"t#are engineer$ Testing is the process o" detecting errors$ Testing per"or s a !ery critical role "or 'uality assurance and "or ensuring the relia&ility o" so"t#are$ The results o" testing are used later on during aintenance also$

1:/

#urpose o8 Testing1 The ai the errors that o" testing is o"ten to de onstrate that a progra #orks &y

sho#ing that it has no errors$ The &asic purpose o" testing phase is to detect ay &e present in the progra $ 7ence one should not start #orks( &ut the intent doesn;t #ork$ Testing is the process o" testing #ith the intent o" sho#ing that a progra should &e to sho# that a progra e+ecuting a progra #ith the intent o" "inding errors$

Testing Ob:e$ti7es in$lude1 The say( 1$ Testing is a process o" e+ecuting a progra "inding an error /$ A good test case is one that has a pro&a&ility o" "inding an as yet undisco!ered error 5$ A success"ul test is one that unco!ers an undisco!ered error Testing #rin$iples1 All tests should &e tracea&le to end user re'uire ents Tests should &e planned long &e"ore testing &egins Testing should &egin on a s all scale and progress to#ards testing in large 3+hausti!e testing is not possi&le #ith the intent o" ain o&jecti!e o" testing is to unco!er a host o" errors( ini u e""ort and ti e$ Stating "or ally( #e can syste atically and #ith

1:5

To &e

ost e""ecti!e testing should &e conducted &y a

independent third party T-ST./; ST*&T-;.-S A Strategy "or so"t#are testing integrates so"t#are test cases into a series o" #ell planned steps that result in the success"ul construction o" so"t#are$ So"t#are testing is a &roader topic "or #hat is re"erred to as <eri"ication and <alidation$ <eri"ication re"ers to the set o" acti!ities that ensure that the so"t#are correctly i ple ents a speci"ic "unction$ <alidation re"ers he set o" acti!ities that ensure that the so"t#are that has &een &uilt is tracea&le to custo er;s re'uire ents 0nit Testing1 Unit testing "ocuses !eri"ication e""ort on the s allest unit o" so"t#are design that is the odule$ Using procedural design description as a guide( i portant control paths are tested to unco!er errors #ithin the &oundaries o" the odule$ The unit test is nor ally #hite &o+ testing oriented and the step can &e conducted in parallel "or ultiple odules$ ,hite !ox Testing1 This is a unit testing ethod #here a unit #ill &e taken at a ti e and a+i u possi&le errors$ tested thoroughly at a state ent le!el to "ind the

The #hite &o+ testing is also called 9lass Bo+ Testing$ This testing is done step #ise #here e!ery piece o" code is tested( taking care that e!ery state ent in the code is e+ecuted at least once$ !la$k !ox Testing1 This testing ethod considers a odule as a single unit and checks the odules rather getting into

unit at inter"ace and co

unication #ith other

details at state ent le!el$ 7ere the

odule #ill &e treated as a &lack &o+ that


1::

#ill take so e input and generate output$ Output "or a gi!en set o" input co &inations are "or#arded to other odules$ Criteria Satis8ied by Test Cases 1$ Test cases that reduced &y a count that is greater than one( the nu &er o" additional test cases that reasona&le testing$ /$ Test cases that tell us so ething a&out the presence or a&sence o" classes o" errors( rather than an error associated only #ith the speci"ic test at hand$ .ntegration Testing1 Integration testing is a syste atic techni'ue "or constructing the progra structure( #hile conducting test to unco!er errors associated #ith the inter"ace$ The o&jecti!e is to take unit tested ethods and &uild a progra structure that has &een dictated &y design$ Top6down .ntegration1 Top do#n integrations is an incre ental approach "or construction o" progra structure$ Modules are integrated &y o!ing do#n#ard through the control hierarchy( &eginning #ith the ain control progra $ Modules su&ordinate to the ain progra are incorporated in the structure either in the &reath*"irst or depth*"irst anner$ !otto'6up .ntegration1 This ethod as the na e suggests( &egins construction and testing #ith ato ic odules i$e$( odules at the lo#est le!el$ Because the odules are integrated in the &otto up anner the processing re'uired "or the odules su&ordinate to a gi!en le!el is al#ays a!aila&le and the need "or stu&s is eli inated$ 4alidation Testing1 uch &e designed to achie!e

1:>

At the end o" integration testing so"t#are is co pletely asse &led as a package$ <alidation testing is the ne+t stage( #hich can &e de"ined as success"ul #hen the so"t#are "unctions in the anner reasona&ly e+pected &y the custo er$ Reasona&le e+pectations are those de"ined in the so"t#are re'uire ents speci"ications$ In"or ation contained in those sections "or a &asis "or !alidation testing approach$ Syste' Testing1 Syste testing is actually a series o" di""erent tests #hose pri ary purpose is to "ully e+ercise the co puter*&ased syste $ Although each test has a di""erent purpose( all #ork to !eri"y that all syste ele ents ha!e &een properly integrated to per"or allocated "unctions$ Se$urity Testing1 Atte pts to !eri"y the protection syste $ echanis s &uilt into the

#er8or'an$e Testing1 This ethod is designed to test runti e per"or ance o" so"t#are #ithin the conte+t o" an integrated syste $

T-ST./; So"t#are Testing is the process used to help identi"y the correctness( co pleteness( security( and 'uality o" de!eloped co puter so"t#are$ Testing is a process o" technical in!estigation( per"or ed on &ehal" o" stakeholders( that is intended to re!eal 'uality*related in"or ation a&out the product #ith respect to the conte+t in #hich it is intended to operate$ This includes( &ut is not li ited to( the process o" e+ecuting a progra %ith that in or application #ith the intent o" "inding errors$ Kuality is not an a&soluteC it is !alue to so e person$ ind( testing can ne!er co pletely esta&lish the correctness o" or co parison that ar&itrary co puter so"t#areC testing "urnishes a criticis

1:4

co pares the state and &eha!iour o" the product against a speci"ication$ An i portant point is that so"t#are testing should &e distinguished "ro enco passes all &usiness process areas( not just testing$ There are any approaches to so"t#are testing( &ut e""ecti!e testing o" erely a the separate discipline o" So"t#are Kuality Assurance DSKA2( #hich

co ple+ products is essentially a process o" in!estigation( not

atter o" creating and "ollo#ing routine procedure$ One de"inition o" testing is Sthe process o" 'uestioning a product in order to e!aluate itS( #here the S'uestionsS are operations the tester atte pts to e+ecute #ith the product( and the product ans#ers #ith its &eha!ior in reaction to the pro&ing o" the testerZcitation needed[$ Although connoted to ost o" the intellectual processes o" testing are nearly identical to that o" re!ie# or inspection( the #ord testing is ean the dyna ic analysis o" the productBputting the product on 'uality attri&utes include capa&ility( aintaina&ility( co pati&ility and through its paces$ So e o" the co relia&ility( e""iciency( porta&ility( ho#e!er( co

usa&ility$ A good test is so eti es descri&ed as one #hich re!eals an errorC ore recent thinking suggests that a good test is one #hich re!eals atters #ithin the project in"or ation o" interest to so eone #ho unity$

./T*O+0CT.O/ In general( so"t#are engineers distinguish so"t#are "aults "ro so"t#are "ailures$ In case o" a "ailure( the so"t#are does not do #hat the user
1:O

e+pects$ A "ault is a progra

ing error that

ay or

ay not actually

ani"est as a "ailure$ A "ault can also &e descri&ed as an error in the correctness o" the se antic o" a co puter progra $ A "ault #ill &eco e a "ailure i" the e+act co putation conditions are et( one o" the &eing that the "aulty portion o" co puter so"t#are e+ecutes on the C.U$ A "ault can also turn into a "ailure #hen the so"t#are is ported to a di""erent hard#are plat"or or a di""erent co piler( or #hen the so"t#are gets e+tended$ So"t#are testing is the technical in!estigation o" the product under test to pro!ide stakeholders #ith 'uality related in"or ation$ So"t#are testing ay &e !ie#ed as a su&*"ield o" So"t#are Kuality ay &e no SKA

Assurance &ut typically e+ists independently Dand there

areas in so e co panies2$ In SKA( so"t#are process specialists and auditors take a &roader !ie# on so"t#are and its de!elop ent$ They e+a ine and change the so"t#are engineering process itsel" to reduce the a ount o" "aults that end up in the code or deli!er "aster$ Regardless o" the ethods used or le!el o" "or ality in!ol!ed the

desired result o" testing is a le!el o" con"idence in the so"t#are so that the organi)ation is con"ident that the so"t#are has an accepta&le de"ect rate$ %hat constitutes an accepta&le de"ect rate depends on the nature o" the so"t#are$ An arcade !ideo ga e designed to si ulate "lying an airplane #ould presu a&ly ha!e a uch higher tolerance "or de"ects than so"t#are used to control an actual airliner$ A pro&le #ith so"t#are testing is that the nu &er o" de"ects in a

so"t#are product can &e !ery large( and the nu &er o" con"igurations o" the product larger still$ Bugs that occur in"re'uently are di""icult to "ind in
1:M

testing$ A rule o" thu & is that a syste "aults "or a certain length o" ti e li!ed relia&le so"t#are$

that is e+pected to "unction #ithout

ust ha!e already &een tested "or at least

that length o" ti e$ This has se!ere conse'uences "or projects to #rite long*

A co

on practice o" so"t#are testing is that it is per"or ed &y an

independent group o" testers a"ter the "unctionality is de!eloped &ut &e"ore it is shipped to the custo er$ This practice o"ten results in the testing phase &eing used as project &u""er to co pensate "or project delays$ Another practice is to start so"t#are testing at the sa e o ent the project starts and it is a continuous process until the project "inishes$ Another co on practice is "or test suites to &e de!eloped during aintained in

technical support escalation procedures$ Such tests are then repeat any o" the kno#n It is co is to "i+ it$ Ti e Detected Ti e Introduced Re'uire ents 1 Architecture * Construction * $ Re'uire ents Architecture Construction 5 1 * >*18 18 1 istakes$

regression testing suites to ensure that "uture updates to the so"t#are don-t

only &elie!ed that the earlier a de"ect is "ound the cheaper it

Syste .ost* Test 18 1> 18 Release 18*188 />*188 18*/>

1:6

In counterpoint( so e e erging so"t#are disciplines such as e+tre e progra ing and the agile so"t#are de!elop ent o!e ent( adhere to a ing in the Stest*dri!en so"t#are de!elop entS #ritten "irst( &y the progra e+tre e progra ing odel$ In this process unit tests are

ers Do"ten #ith pair progra

ethodology2$ O" course these tests "ail initiallyC as

they are e+pected to$ Then as code is #ritten it passes incre entally larger portions o" the test suites$ The test suites are continuously updated as ne# "ailure conditions and corner cases are disco!ered( and they are integrated #ith any regression tests that are de!eloped$ Unit tests are aintained along #ith the rest o" the so"t#are source anual &uild acceptance

code and generally integrated into the &uild process D#ith inherently interacti!e tests &eing relegated to a partially process2$ The so"t#are( tools( sa ples o" data input and output( and con"igurations are all re"erred to collecti!ely as a test harness$ ).STO*3 The separation o" de&ugging "ro testing #as initially introduced &y

9len"ord =$ Myers in his 16OM &ook the SArt o" So"t#are TestingS$ Although his attention #as on &reakage testing it illustrated the desire o" the so"t#are engineering co %illia unity to separate "unda ental de!elop ent acti!ities( that o" !eri"ication$ Drs$ Da!e 9elperin and such as de&ugging( "ro

C$ 7et)el classi"ied in 16MM the phases and goals in so"t#are testing

as "ollo#s0 until 16>4 it #as the de&ugging oriented period( #here testing #as o"ten associated to de&ugging0 there #as no clear di""erence &et#een

1>8

testing and de&ugging$ @ro

16>O*16OM there #as the de onstration

oriented period #here de&ugging and testing #as distinguished no# * in this period it #as sho#n( that so"t#are satis"ies the re'uire ents$ The ti e &et#een 16O6*16M/ is announced as the destruction oriented period( #here the goal #as to "ind errors$ 16M5*16MO is classi"ied as the e!aluation oriented period0 intention here is that during the so"t#are li"ecycle a product e!aluation is pro!ided and easuring 'uality$ @ro 16MM on it #as seen as pre!ention oriented period #here tests #ere to de onstrate that so"t#are satis"ies its speci"ication( to detect "aults and to pre!ent "aults$ Dr$ 9elperin chaired the I333 M/6*16MM DTest Docu entation Standard2 #ith Dr$ 7et)el #riting the &ook SThe Co plete 9uide o" So"t#are TestingS$ Both #orks #ere pi!otal in to today-s testing culture and re ain a consistent source o" re"erence$ Dr$ 9elperin and =erry 3$ Durant also #ent on to de!elop 7igh I pact Inspection Technology that &uilds upon traditional Inspections &ut utili)es a test dri!en additi!e$ ,).T-6!OH &/+ !2&CC6!OH T-ST./; %hite &o+ and &lack &o+ testing are ter s used to descri&e the point o" !ie# a test engineer takes #hen designing test cases$ Black &o+ &eing an e+ternal !ie# o" the test o&ject and #hite &o+ &eing an internal !ie#$ So"t#are testing is partly intuiti!e( &ut largely syste atic$ 9ood testing in!ol!es uch ore than just running the progra a "e# ti es to see under test( &acked &y a #hether it #orks$ Thorough analysis o" the progra

&road kno#ledge o" testing techni'ues and tools are prere'uisites to syste atic testing$ So"t#are Testing is the process o" e+ecuting so"t#are in a controlled annerC in order to ans#er the 'uestion EDoes this so"t#are &eha!e as speci"iedGF So"t#are testing is used in association #ith

1>1

<eri"ication and <alidation$ <eri"ication is the checking o" or testing o" ite s( including so"t#are( "or con"or ance and consistency #ith an associated speci"ication$ So"t#are testing is just one kind o" !eri"ication( #hich also uses techni'ues as re!ie#s( inspections( #alk*through$ <alidation is the process o" checking #hat has &een speci"ied is #hat the user actually #anted$

<alidation0 Are #e doing the right jo&G <eri"ication0 Are #e doing the jo& rightG

In order to achie!e consistency in the Testing style( it is i perati!e to ha!e and "ollo# a set o" testing principles$ This enhances the e""iciency o" Testing #ithin SKA tea testing( plus the techni'ues$ At SD3I( 5 le!els o" so"t#are testing is done at !arious SD,C phases

e &ers and thus contri&utes to increased

producti!ity$ The purpose o" this docu ent is to pro!ide o!er!ie# o" the

Unit Testing0 in #hich each unit D&asic co ponent2 o" the so"t#are is tested to !eri"y that the detailed design "or the unit has &een correctly i ple ented Integration testing0 in #hich progressi!ely larger groups o" tested so"t#are co ponents corresponding to ele ents o" the architectural design are integrated and tested until the so"t#are #orks as a #hole$ Syste testing0 in #hich the so"t#are is integrated to the o!erall et

product and tested to sho# that all re'uire ents are

A "urther le!el o" testing is also done( in accordance #ith re'uire ents0

1>/

Acceptance testing0 upon #hich the acceptance o" the co plete so"t#are is &ased$ The clients o"ten do this$ Regression testing0 is used to re"er the repetition o" the earlier success"ul tests to ensure that changes introduced ne# &ugsLside e""ects$ ade in the so"t#are ha!e not

In recent years the ter

grey &o+ testing has co e into co

on usage$

The typical grey &o+ tester is per itted to set up or

anipulate the testing

en!iron ent( like seeding a data&ase( and can !ie# the state o" the product a"ter his actions( like per"or ing a SK, 'uery on the data&ase to &e certain o" the !alues o" colu ns$ It is used al ost e+clusi!ely o" client*ser!er testers or others #ho use a data&ase as a repository o" in"or ation( &ut can also apply to a tester #ho has to anipulate ?M, "iles DDTD or an actual ?M, o" the so"t#are under test and can #rite "ile2 or con"iguration "iles directly$ It can also &e used o" testers #ho kno# the internal #orkings or algorith tests speci"ically "or the anticipated results$ @or e+a ple( testing a data #arehouse i ple entation in!ol!es loading the target data&ase #ith in"or ation( and !eri"ying the correctness o" data population and loading o" data into the correct ta&les$ T-ST 2-4-2S

Unit testing tests the or

ini al so"t#are co ponent and su&*co ponent ers$

odules &y the progra

Integration testing e+poses de"ects in the inter"aces and interaction &et#een integrated co ponentsD odules2$ @unctional testing tests the product according to progra Syste testing tests an integrated syste eets its re'uire ents$
1>5

a&le #ork$

to !eri"yL!alidate that it

Acceptance testing testing can &e conducted &y the client$ It allo#s the end*user or custo er or client to decide #hether or not to accept the product$ Acceptance testing ay &e per"or ed a"ter the testing and &e"ore the i ple entation phase$ See also De!elop ent stage
o

Alpha testing is si ulated or actual operational testing &y potential usersLcusto ers or an independent test tea shel" so"t#are as a "or at the de!elopers- site$ Alpha testing is o"ten e ployed "or o""*the* o" internal acceptance testing( &e"ore the so"t#are goes to &eta testing$

Beta testing co es a"ter alpha testing$ <ersions o" the so"t#are( kno#n as &eta !ersions( are released to a li ited audience outside o" the co pany$ The so"t#are is released to groups o" people so that "urther testing can ensure the product has "e# "aults or &ugs$ So eti es( &eta !ersions are nu &er o" "uture users$ ade a!aila&le to a+i al the open pu&lic to increase the "eed&ack "ield to a

It should &e noted that although &oth Alpha and Beta are re"erred to as testing it is in "act use e ersion$ The rigors that are applied are o"ten unsyste atic and any o" the &asic tenets o" testing process are not used$ The Alpha and Beta period pro!ides insight into en!iron ental and utili)ation conditions that can i pact the so"t#are$ A"ter odi"ying so"t#are( either "or a change in "unctionality or to "i+ odi"ied odi"ications ha!en-t unintentionally caused a

de"ects( a regression test re*runs pre!iously passing tests on the so"t#are to ensure that the

regression o" pre!ious "unctionality$ Regression testing can &e per"or ed at

1>:

any or all o" the a&o!e test le!els$ These regression tests are o"ten auto ated$ T-ST C&S-S, S0.T-S, SC*.#TS &/+ SC-/&*.OS A test case is a so"t#are testing docu ent(#hich consists o" e!ent(action(input(output(e+pected result and actual result$ Clinically de"ined DI333 M/6*166M2 a test case is an input and an e+pected result$ This can &e as prag atic as -"or condition + your deri!ed result is y-( #hereas other test cases descri&ed in ore detail the input scenario and #hat results ight &e ultiple e+pected$ It can occasionally &e a series o" steps D&ut o"ten steps are contained in a separate test procedure that can &e e+ercised against test cases( as a atter o" econo y2 &ut #ith one e+pected result or e+pected

outco e$ The optional "ields are a test case ID( test step or order o" e+ecution nu &er( related re'uire entDs2( depth( test category( author( and check &o+es "or #hether the test is auto ata&le and has &een auto ated$ ,arger test cases ay also contain prere'uisite states or steps( and descriptions$ A test case should also contain a place "or the actual result$ These steps can &e stored in a #ord processor docu ent( spreadsheet( data&ase or other co on repository$ In a data&ase syste ( you ay also &e a&le to see past test results and #ho generated the results and the syste con"iguration used to generate those results$ These past results #ould usually &e stored in a separate ta&le$ The ter test script is the co &ination o" a test case( test procedure #as deri!ed "ro the &yproduct o" #ork anual(

and test data$ Initially the ter

created &y auto ated regression test tools$ Today( test scripts can &e auto ated or a co &ination o" &oth$

1>>

The

ost co

on ter

"or a collection o" test cases is a test suite$ ore detailed instructions or goals "or each

The test suite o"ten also contains identi"ies the syste "ollo#ing tests$

collection o" test cases$ It de"initely contains a section #here the tester con"iguration used during testing$ A group o" test cases ay also contain prere'uisite states or steps( and descriptions o" the

Collections o" test cases are so eti es incorrectly ter ed a test .lan$ They ight correctly &e called a test speci"ication$ I" se'uence is speci"ied( it can &e called a test script( scenario or procedure$ & S&M#2- T-ST./; C3C2Although testing !aries &et#een organi)ations( there is a cycle to testing0 1$ Re'uire ents Analysis0 Testing should &egin in the re'uire ents phase o" the so"t#are de!elop ent li"e cycle$ During the design phase( testers #ork #ith de!elopers in deter ining #hat aspects o" a design are testa&le and under #hat para eter those tests #ork$ /$ Test .lanning0 Test Strategy( Test .lanDs2( Test Bed creation$ 5$ Test De!elop ent0 Test .rocedures( Test Scenarios( Test Cases( Test Scripts to use in testing so"t#are$ :$ Test 3+ecution0 Testers e+ecute the so"t#are &ased on the plans and tests and report any errors "ound to the de!elop ent tea $ >$ Test Reporting0 Once testing is co pleted( testers generate and so"t#are tested is ready "or release$
1>4

etrics

ake "inal reports on their test e""ort and #hether or not the

4$ Retesting the De"ects Not all errors or de"ects reported de!elop ent tea $ So e so"t#are to Others ust &e "i+ed &y a so"t#are

ay &e caused &y errors in con"iguring the test

atch the de!elop ent or production en!iron ent$ So e

de"ects can &e handled &y a #orkaround in the production en!iron ent$ ight &e de"erred to "uture releases o" the so"t#are( or the de"iciency ay Do" course( #ith due reason2 i" they ight &e accepted &y the &usiness user$ There are yet other de"ects that &e rejected &y the de!elop ent tea dee it inappropriate to &e called a de"ect$

CO+- CO4-*&;Code co!erage is inherently a #hite &o+ testing acti!ity$ The target so"t#are is &uilt #ith special options or li&raries andLor run under a special en!iron ent such that e!ery "unction that is e+ercised De+ecuted2 in the progra Ds2 are o" a syste apped &ack to the "unction points in the source code$ This process allo#s de!elopers and 'uality assurance personnel to look "or parts that are rarely or ne!er accessed under nor al conditions Derror ost handling and the like2 and helps reassure test engineers that the i portant conditions D"unction points2 ha!e &een tested$ Test engineers can look at code co!erage test results to help the de!ise test cases and input or con"iguration sets that #ill increase the code co!erage o!er !ital "unctions$ T#o co on "or s o" code co!erage used &y testers are state ent Dor line2 co!erage( and path Dor edge2 co!erage$ ,ine co!erage reports on the e+ecution "ootprint o" testing in ter s o" #hich lines o" code #ere e+ecuted to co plete the test$ 3dge co!erage reports #hich

1>O

&ranches( or code decision points #ere e+ecuted to co plete the test$ They &oth report a co!erage etric( easured as a percentage$

9enerally code co!erage tools and li&raries e+act a per"or ance andLor e ory or other resource cost #hich is unaccepta&le to nor al ight operations o" the so"t#are$ Thus they are only used in the la&$ As one co!erage tests( though a degree o" co!erage through analysis rather than direct testing$ There are also so e sorts o" de"ects #hich are a""ected &y such tools$ In particular so e race conditions or si ilar real ti e sensiti!e operations can &e asked #hen run under code co!erage en!iron entsC and con!ersely ay &eco e easier to "ind as a result o" the additional so e o" these de"ects

e+pect there are classes o" so"t#are that cannot &e "easi&ly su&jected to these apping can &e appro+i ated

o!erhead o" the testing code$

CO/T*O4-*S3 This article or section does not ade'uately cite its re"erences or sources$ .lease help i pro!e this article &y adding citations to relia&le sources$ There is considera&le contro!ersy a ong testing #riters and consultants a&out #hat constitutes responsi&le so"t#are testing$ Me &ers o" the Sconte+t*dri!enS school o" testing &elie!e that there are no S&est practicesS o" testing( &ut rather that testing is a set o" skills that allo# the tester to select or in!ent testing practices to suit each uni'ue situation$ This &elie" directly contradicts standards such as the I333 M/6 test

1>M

docu entation standard( and organi)ations such as the @ood and Drug Ad inistration #ho pro ote the $ So e o" the ajor contro!ersies include0

&gile 7s? Traditional Starting around 1668( a ne# style o" #riting a&out testing &egan to challenge #hat had co e &e"ore$ The se inal #ork in this regard is #idely considered to &e Testing Co puter So"t#are( &y Ce Haner$ Instead o" assu ing that testers ha!e "ull access to source code and co plete speci"ications( these #riters( including Haner and =a es Bach( argued that testers ust learn to #ork under conditions o" uncertainty and constant o" the Capa&ility Maturity Model$ The agile ainly in change$ Mean#hile( an opposing trend to#ard process S aturityS also gained ground( in the "or testing co o!e ent D#hich includes &ut is not li ited to "or s o" testing

practiced on agile de!elop ent projects2 has popularity ilitary so"t#are pro!iders$ 7o#e!er( saying that S aturity against or opposing Agile testing

ercial circles( #hereas the CMM #as e &raced &y go!ern ent and

odelsS like CMM gained ground o!e ent is a

ay not &e right$ Agile

-#ay o" #orking-( #hile CMM are a process i pro!e ent idea$

There is ho#e!er another point o" !ie# that is the operational culture o" an organi)ation$ %hile it

ust &e considered$ That ay &e true that testers


1>6

ust ha!e an a&ility to #ork in a #orld o" uncertainty( it is also true that their "le+i&ility ust ha!e direction$ In any cases test cultures are sel"* ay only re"lect either easure directed and as a result "ruitless( unproducti!e results can ensue$ @urther ore( pro!iding o" positi!e de"ect e!idence the tip o" a uch larger pro&le or that you ha!e e+hausted all possi&ilities$

A "ra e#ork is a test o" Testing$ It pro!ides a &oundary that can

D!alidate2 the capacity o" our #ork$ Both sides ha!e( and #ill continue to argue the !irtues o" their #ork$ The proo" ho#e!er is in each and e!ery assess ent o" deli!ery 'uality$ It does little good to test syste atically i" you are too narro#ly "ocused$ On the other hand( "inding a &unch o" errors is not an indicator that Agile ethods #as the dri!ing "orceC you ay si ply ha!e stu &led upon an o&!iously poor piece o" #ork$ -xploratory 7s? S$ripted 3+ploratory testing eans si ultaneous( test design( and test eans that

e+ecution( #ith an e phasis on learning$ Scripted testing

learning and test design happens prior to test e+ecution( and 'uite o"ten the learning has to &e done again during test e+ecution$ 3+ploratory testing is !ery co on( &ut in ost #riting and training a&out testing it is &arely isunderstood$ So e #riters consider it a pri ary entioned and generally

and essential practice$ Structured e+ploratory testing is a co pro ise #hen the testers are "a iliar #ith the so"t#are$ A !ague test plan( kno#n as a test charter( is #ritten up( descri&ing #hat "unctionalities need to &e tested &ut not ho#( allo#ing the indi!idual testers to choose the testing$ ethod and steps o"

148

There are t#o

ain disad!antages associated #ith a pri arily

e+ploratory testing approach$ The "irst is that there is no opportunity to pre!ent de"ects( #hich can happen #hen the designing o" tests in ad!ance ser!es as a "or syste o" structured static testing that o"ten re!eals pro&le s in re'uire ents and design$ The second is that( e!en #ith test charters(

de onstrating test co!erage and achie!ing repeata&ility o" tests using a purely e+ploratory testing approach is di""icult$ @or this reason( a &lended approach o" scripted and e+ploratory testing is o"ten used to reap the &ene"its o" #hile itigating each approach-s disad!antages$

Manual 7s? &uto'ated So e #riters &elie!e that test auto ation is so e+pensi!e relati!e to its !alue that it should &e used sparingly$ Others( such as ad!ocates o" agile de!elop ent( reco oracle is a echanis end auto ating 188J o" all tests$ A challenge #ith or principle &y #hich a pro&le in the so"t#are can auto ation is that auto ated testing re'uires auto ated test oracles Dan &e recogni)ed2$ Such tools ha!e !alue in load testing so"t#are D&y signing on to an application #ith hundreds or thousands o" instances si ultaneously2( or in checking "or inter ittent errors in so"t#are$ The success o" auto ated so"t#are testing depends on co plete and co prehensi!e test planning$ So"t#are de!elop ent strategies such as test*dri!en de!elop ent are highly co pati&le #ith the idea o" de!oting a large part o" an organi)ation-s testing resources to auto ated testing$ Many large so"t#are organi)ations per"or auto ated testing$ So e ha!e de!eloped their o#n auto ated testing en!iron ents speci"ically "or internal de!elop ent( and not "or resale$

141

C-*T.F.C&T.O/ Se!eral certi"ication progra s e+ist to support the pro"essional aspirations o" so"t#are testers and 'uality assurance specialists$ No certi"ication currently o""ered actually re'uires the applicant to de onstrate the a&ility to test so"t#are$ No certi"ication is &ased on a #idely accepted &ody o" kno#ledge$ No certi"ication &oard decerti"ies indi!iduals$ This has led so e to declare that the testing "ield is not ready "or certi"ication Certi"ication itsel" cannot practical kno#ledge( pro"essionalis as a tester$ easure an indi!idual-s producti!ity( their skill( or cannot guarantee their co petence( or and

O#-/ C-*T.F.C&T.O/ OF SOFT,&*- T-ST-*S Certi"ications can &e grouped into0 e+a *&ased and education*&ased$ 3+a *&ased certi"ications0 @or these there is the need to pass an e+a ( #hich can also &e learned &y sel"*study0 e$g$ "or ISTKB or KAI$ 3ducation* &ased certi"ications are instructor*led sessions( #here each course has to &e passed( e$g$ IIST DInternational Institute "or So"t#are Testing2$ Testing $erti8i$ations

CSK3 o""ered &y the A erican Society "or Kuality CST3 o""ered &y the Kuality Assurance Institute DKAI2 CST. o""ered &y the International Institute "or So"t#are Testing IS3B o""ered &y the In"or ation Syste s 3+a inations Board ISTKB o""ered &y the International So"t#are Testing Kuali"ication Board

14/

Buality assuran$e $erti8i$ations

CSKA o""ered &y the Kuality Assurance Institute DKAI2

,)O ,&TC)-S T)- ,&TC)M-/A One principle in so"t#are testing is su ed up &y the classical ,atin

'uestion posed &y =u!enal0 Kuis Custodiet Ipsos Custodes D%ho #atches the #atch enG2( or is alternati!ely re"erred in"or ally( as the S7eisen&ug concept Da co on isconception that con"uses 7eisen&erg-s uncertainty o" o&ser!ation is principle #ith o&ser!er e""ect2$ The idea is that any "or tested$ In practical ter s the test engineer is testing so"t#are Dand so eti es hard#are or "ir #are2 #ith other so"t#are Dand hard#are and "ir #are2$ The process can "ail in #ays that are not the result o" de"ects in the target &ut rather result "ro There are testing$ One de"ects in Dor indeed intended "eatures o"2 the testing tool$ etrics &eing de!eloped to easure the e""ecti!eness o"

also an interaction( that the act o" testing can also a""ect that #hich is &eing

ethod is &y analy)ing code co!erage Dthis is highly

contro!ersial2 * #here e!ery one can agree #hat areas are not at all &eing co!ered and try to i pro!e co!erage on these areas$ @inally( there is the analysis o" historical "ind*rates$ By ho# any &ugs are "ound and co paring the easuring

to predicted nu &ers D&ased easure ent o"

on past e+perience #ith si ilar projects2( certain assu ptions regarding the e""ecti!eness o" testing can &e ade$ %hile not an a&solute 'uality( i" a project is hal"#ay co plete and there ha!e &een no de"ects

145

"ound( then changes KA$

ay &e needed to the procedures &eing e ployed &y

*O2-S ./ SOFT,&*- T-ST./; So"t#are testing can &e done &y so"t#are testers$ Until the 16>8s the ter so"t#are tester #as used generally( &ut later it #as also seen as a separate pro"ession$ Regarding the periods and the di""erent goals in so"t#are testing Dsee D$ 9elperin and %$C$ 7et)el2 there ha!e &een esta&lished di""erent roles0 test leadL anager( tester( test designer( test auto aterLauto ation de!eloper( test ad inistrator$ participants o" testing tea 1$Tester /$De!eloper 5$custo er :$In"or ation Ser!ice Manage ent the custo er >$Senior 7e is the person #ho collects in"or ation "ro Organi)ation Manage ent 4$Kuality tea

T3ST CAS3 In so"t#are engineering( the ost co on de"inition o" a test case is

a set o" conditions or !aria&les under #hich a tester #ill deter ine i" a re'uire ent or use case upon an application is partially or "ully satis"ied$ It ay take any test cases to deter ine that a re'uire ent is "ully satis"ied$ et( there In order to "ully test that all the re'uire ents o" an application are su& re'uire ents$ In that situation( each su& re'uire ent ethodologies( like RU.( reco

ust &e at least one test case "or each re'uire ent unless a re'uire ent has ust ha!e at least atri+$ So e one test case$ This is "re'uently done using a Tracea&ility

end creating at least t#o test cases "or

14:

each re'uire ent$ One o" the re'uire ent and other should per"or

should per"or

positi!e testing o"

negati!e testing$ %ritten test cases

should include a description o" the "unctionality to &e tested( and the preparation re'uired to ensure that the test can &e conducted$ I" the application is created #ithout "or al re'uire ents( then test cases can &e #ritten &ased on the accepted nor al operation o" progra s o" a si ilar class$ In so e schools or testing( test cases are not #ritten at all &ut the acti!ities and results are reported a"ter the tests ha!e &een run$ %hat characteri)es a "or al( #ritten test case is that there is a kno#n input and an e+pected output( #hich is #orked out &e"ore the test is e+ecuted$ The kno#n input should test a precondition and the e+pected output should test a postcondition$ Under special circu stances( there could &e a need to run the test( produce results( and then a tea o" e+perts #ould e!aluate i" the results can &e considered as a pass$ This happens o"ten on ne# products- per"or ance nu &er deter ination$ The "irst test is taken as the &ase line "or su&se'uent test L product release cycles$ %ritten test cases are usually collected into Test suites$ A !ariation o" test cases are syste to ensure the de!eloped syste ost co only used in acceptance

testing$ Acceptance testing is done &y a group o" end*users or clients o" the eets their re'uire ents$ User acceptance testing is usually di""erentiated &y the inclusion o" happy path or positi!e test cases$

14>

ST*0CT0*- OF T-ST C&S@or al( #ritten test cases consist o" three

ain parts #ith su&sections0

In"or ation contains general in"or ation a&out Test case$


o

Identi"ier is uni'ue identi"ier o" test case "or "urther re"erences( "or e+a ple( #hile descri&ing "ound de"ect$ Test case o#nerLcreator is na e o" tester or test designer( #ho created test or is responsi&le "or its de!elop ent <ersion o" current Test case de"inition Na e o" test case should &e hu an*oriented title #hich allo#s to 'uickly understand test case purpose and scope$ Identi"ier o" re'uire ent #hich is co!ered &y test case$ Also here could &e identi"ier o" use case or "unctional speci"ication ite $ .urpose contains short description o" test purpose( #hat "unctionality it checks$ Dependencies Testing en!iron entLcon"iguration contains in"or ation a&out con"iguration o" hard#are or so"t#are #hich e+ecuting test case Initiali)ation descri&es actions( #hich open so e "ile$ ust &e et #hile

o o

Test case acti!ity


o

ust &e per"or ed

&e"ore test case e+ecution is started$ @or e+a ple( #e should

144

@inali)ation descri&es actions to &e done a"ter test case is per"or ed$ @or e+a ple i" test case crashes data&ase( tester should restore it &e"ore other test cases #ill &e per"or ed$ Actions step &y step to &e done to co plete test$ Input data description 3+pected results contains description o" #hat tester should see a"ter all test steps has &een co pleted Actual results contains a &rie" description o" #hat the tester sa# a"ter the test steps has &een co pleted$ This is o"ten replaced #ith a .assL@ail$ Kuite o"ten i" a test case "ails( re"erence to the de"ect in!ol!ed should &e listed in this colu n

o o

Results
o

14O

CO/C20S.O/ The project titled as Super Market !illing Syste'ping is de!eloped "or users #ho #ant to do shopping in an easy #ay through internet$ %e pro!ide "ree access to kno# the details and &uy the products a!aila&le in our Super Market Billing Syste $ The data&ase is also controlled so that unnecessary data are not stored in the data&ase and are deleted as and #hen re'uired$ re"erence #e can store the The syste I" needed "or "uture in tapes( #hich are !ery cheap and relia&le$

aintenance and handling cost is !ery lo# #hen co pared to the old o" #orking #ith "iles$ The entire syste is &uilt taking at ost care

o" user "riendliness and security$ In order to "acilitate the custo ers( suppliers( operators( o""icials "or the a&o!e stated "unctionalities the syste is to &e "le+i&le and e""icient$

The docu entation and the project report is "inally prepared to &e re"erred as user anual "or "urther e""ecti!e results o" this so"t#are solution$ No# the

project is co pleted and ready to su& it to the head o" the depart ent o" the college "or "urther process$

14M

%e re'uest 7OD to kindly recei!e and ackno#ledge the sa e$

!.!2.O;*&#)3

12$ =a es 9ood#ill

De!eloping =a!a Ser!lets ing Orilly

TechMedia

/2$ =anson 7untor =a!a Ser!let .rogra 52$ 7er&ert Schildt

The Co plete Re"erence Tata Mc9ra#*7ill

:2$ 9roup

=a!a Ser!er .rogra

ing

%ra+ series

>2$ Cli"" #oo""on =a!a Script Dprogra er re"erence2

%ra+ Series Oracle .ress

42$ Dkoch and coney2 Oracle6 co plete re"erence

146

S-ar putea să vă placă și