Sunteți pe pagina 1din 11

Ministerul Educatiei si Tineretului. Universitatea Tehnica a Moldovei. Facultatea Calculatoare, Informatica si Microelectronica. Catedra Automatica si Tehnologii Informationale.

Proiect de curs
la APPOO Tema: Motor de cutare

Efectuat: studenta gr. .. Verificat: Lector superior, Ciorb Dumitru

Chisinau 2012

Introducrere: Un motor de cutare este un apelabil program cuttor, care acceseaz Internetul n mod automat i frecvent i care stocheaz titlul, cuvinte cheie i, parial, chiar coninutul paginilor web ntr-o baz de date. n momentul n care un utilizator apeleaz la un motor de cutare pentru a gsi o informaie, o anumit fraz sau un cuvnt, motorul de cutare se va uita n aceast baz de date i, n funcie de anumite criterii de prioritate, va crea i afia o list de rezultate (englez: hit list ). Problema nu este de loc trivial, deoarece:
exist

deja peste 100 milioane de situri web, sumnd n total miliarde de pagini web, distribuite pe tot globul coninutul acestor pagini nu este static, ci chiar extrem de dinamic (se schimb frecvent) rspunsul la o comand de cutare trebuie s vin repede, n general n mai puin de o jumtate de secund, chiar atunci cnd lista de rezultate conine, s zicem, zeci de mii de pagini web potrivite la criteriile de cutare folosite. Cele mai utilizate motoare de cutare n iulie 2011 sunt: Motor Google Yahoo! Baidu Bing Ask Aol Excite Cota pe pia 82,7% 6,5% 4,7% 3,7% 0,5% 0,4% 0,0%

Pentru crearea acestor motoare de cutare este necesar un spider (bot, spider, crawler) care este realizat ntr-un limbaj care poate fi Perl, Ruby, Java, Php. Acesta extrage linkurile utile. Apoi aceste linkuri se gsesc ntr-o form prelucrat i filtrat prin metode specifice ntr-o baz de date.

Analiza: Pentru realizarea unui motor de cutare vom avea nevoie de o interfa grafica (gui form) cu minimum 3 componente: unul pentru introducerea cuvintelor cheie (o linie de text), unul pentru pornirea cautarii (buton) i unul pentru afiarea rezultatelor (un text container sau list container). Apoi vom avea nevoie de o clas care va efectua cutarea i de un tabel n baza de date n care se vor pstra hosturile prin care se face cutarea. Adica programul prlund cuvinetle-cheie i hosturile din baza de date va face pentru fiecare host request prin protocolul HTTP i cu ajutorul unui robot va face parcurge toate paginile ce aparin acesui host, va controla parametrul keywords a tag-ului meta al fiecarei pagini si daca va gasi cuvintele cheie acolo va adauga lincul acestei pagini n rezultate. Aceasta idee are ca avantaj principal actualitatea datelor. Adica datele ce au fost modificate recent vor aprea n rezultatul cutrii. Dar are i un dezavantaj foarte mare cutarea va fi prea lent, fiindc pentru cutare vor trebui parcurse milioane de lincuri ceea ce va suprancrca sistemul. Deci varianta data s-a considerat ineficienta i a fost nlturat. Alt variant inverseaz avantajele i dezavantajele primei variante, dar din motiv c am considerat-o mai eficient am hotrt s m opresc la ea. Aceast variant const n crearea unei baze de date mai complexe n care se vor pstra nu numai hosturile dar i lincurile i cuvintele cheie. n acest caz, la cutare programul va apela doar la baza de date de unde dup cuvintele cheie va selecta url-urile necesare i le va prezenta utilizatorului. Actualizarea unei aa baze de date se va face pentru toate hosturile pstrate n ea la o oarecare perioad de timp. i pentru hostul nou adugat la adugarea hostului. Un astfel de motor va lucra foarte repede. Elementele principale ale motorului de cutare: interfaa pentru cutare (gui form) interfaa pentru adaugarea hostului (gui form, doar pentru programatori de site-uri) baza de date program de cutare n baza de date robot pentru cutarea paginilor host-ului program pentru actualizarea bazei de date.

Diagrama de clase:
Ec E E E E E E E E E
l a s s

A A A
+

9a n . a 2 l i s i Us 9 . 2 9x t . a2
s u U s e r G U

_ c l a s s I

n r e n r e n r me n r e
< <

g i s t eE r A e d 9 g i s t eE Mr A eo t od 9r
s e g > + > S

. T 2 r iU a nl . T 2 r iU a < n<l . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl
B g ) u

V e e g r is s i to eE n r A e r V s e e e >g r> is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r
u s e > > g a r r a d y a D B t a b

d9 d9
a

. T 2 r iU a nl . T 2 r iU a nl
s e

F i e l d k e y w o r d t e r e r e l t

U U U

u : s t r i n a

a e l e : s t r i n g

e n r r a

g i t s t eE r A e d 9
y

r c

( s t r i n

: s t r i n

d9 d9 d9 d9 d9 d9 d9 d9

. T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl
r . T 2 r r iU aa y nl

A + A A A A A A
+ + -

b u t t o n s e a r c h

9 . 2 9 . 2
o S e

g i s t eE r A e d 9
o

<

<

r c

U U U U U U
h

n r e n U Ir e n < r <e
t t p

( )

: v

g i s t eE r A e d 9 g i s t eE r A e d 9
U

i d

V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r
> V< e < e ug r s ies s > i to eE n r A e r

D b a F h A

e v u d

9 . e 2l o 9 . 2 9 . 2
d d t t o d n i e l d o s t = H

p e r G

p d a t e D

gs e i > s - > t t eE m r Ae e r d 9 : t i . Tm 2 e r riU a nl i


y g i s - t g eE e rt AKe e d 9 i d + A d d N e g U U e t U R L d a t e d a t e

s t ( )

n r e
: v

: / /

9 . 2 9 . 2

n r e n r e

g i s t eE p r A e d 9 g i s t eE r A e d 9

l i b r a r y p r o t o c o l w H o s t ( s t r i n g ) : v o H i Td T P w o r d s B y U R L ( s t r i n g ) : s t r i n g a s B y H o s t ( s t r i n g ) : s t r i n g a r r a y D B U R L ( s t r i n g , s t r i n g ) : v o i d E n t i r e D B ( ) : v o i d

. T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl

V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r

. T 2 r iU a nl . T 2 r iU a nl

E A 9 2 U n r e g i eE r A e d 9 . T 2 r iU l V e g is s r e n clase . Deci, dup . aceast diagram vas fit nevoie de realizat ao nbaze de rdate,i toiE 4r A e d 9 deT 2 r iU a nl lucru, dintre care 2 pentru formulare grafice i dou pentru realizarea codului. E A 9 . 2 U U n r e n r e g i s t eE r A e d 9 g i s t eE r A e d 9 . T 2 r iU a nl . T 2 r iU a nl V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r d9 d9 . T 2 r iU a nl . T 2 r iU a nl

Proiectarea:2 E A 9 .

Pentru nceput prezint cum va aveat loc rlucrul9 cu. Tbaza iUde date. eBaza isde i date rva constaT 2 r iU a nl E A 9 . 2 U n r e g i s eE A e d 2 r a nl V e g r s to eE n A e d 9 . r din urmtoarele tabele:
E E E E E E E E E E E A A A A A A A A A A A 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 U U U U U U U U U U U n r e n r e n r e n r e n r e n r e n r e n r e n r e n r e n r e g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 g i s t eE r A e d 9 . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r V e e g r is s i to eE n r A e r d9 d9 d9 d9 d9 d9 d9 d9 d9 d9 d9 . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl

Tabelul hosts servee pentru pstrarea tuturor hosturilor prin care se face cutarea. Tabelul urls servete pentru pstrarea tuturor paginilor existente pe hosturile incluse n baza de date. Tabela keywords pstreaz toate frazele i cuvintele cheie ntlnite pe paginile din tabelul urls vreodat. Ele sunt unice i sunt indexate pentru a face cutarea mai rapid. Tabelul keywordsUrls realizeaz legtura n-n ntre tabelul keywords i urls. Deci pentru a stoca datele necesare pentru cutare avem aceast baz de date. n continuare prezentm procesul de cutare a cuvintelor-cheie, care se reduce n a fi cel mai simplu proces din ntreg sistemul informatic. Cutarea se va efectua dup urmtorul algoritm: utilizatorul acceseaz formularul i introduce cuvintele cheie dup introducere utilizatorul apas butonul search la apsarea butonului se valideaz cuvintele cheie introduse (not null) dac validarea nu a reuit cutarea se ntrerupe dac validarea a reuit cuvintele-cheie sunt transmise clasei motor clasa motor face cteva apeluri la baza de date (depinde de nr de cuvinte cheie) i acumuleaz URL-urile primite ntr-un obiect obiectul obinut este prelucrat n text i returnat formularului formularul nscrie rezultatul primit n containerul pentru rezultat. n continuarea prezint diagrama caz-utilizare pentru efectuarea cutrii, aplicaia ce urmeaz a fi efectuat:
u c s e a r c h _ u s e _ c a s e

E E E E E E E E E E E E E E

A A A A A A A A A A A A A A

9 . 2 9 . p2o 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2
v

U U U U U U U U U U U U U U

n r e g is t e r e d E n ra pe l i g a it isa t e r e d E c n r e g is t e r e d E n r e g is t e r e d E n r e g i s U tS eE Rr e d E
a p l i c a t i a

AT AT AT AT AT AT AT AT
e

r9 i a. 2 l r9 i a. 2 l
c a u t a

VU e n r r s e i og ni s t e r e d E
c a u ta i n

D B

AT AT AT AT AT AT AT AT AT AT

r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l
d j r9 e i a. a 2 l b a z a a t e .

VU e n r r s

r n e s te

VU e n r i r s e c i logu dni se t e r e d E n VU e n r ris n e ic og u nid s e t e r e d E l


a fi s e a z a

VU e n r r s

r9 i a. 2 l r9 i a. 2 l

VU e n r r s

r e z u l t a t e

VU e n r r s e i og ni s t e r e d E

VU e n r r s

a e r9 ai an. 2 l l i z VU a ez na r rr se e z i uog l t ani ts t e r e d E

VU e n r r s

i n c h i d e

n r e g is t e r e d E n r e g is t e r e d E
a d a u g a e n i r n ec l gu d i s t e r e d E

r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l

VU e n r r s e i og ni s t e r e d E VU e n r r s e i og ni s t e r e d E VU e n r r s e i og ni s t e r e d E VU e n r r s e i og ni s t e r e d E
a f i s a r e a d e M u a f o s u c d e f i a 2 4 l t u m s t i n c e s i d a t e c t u a o r e .

VU e n r r s

VU e n r r s

h o s t

9 . 2 9 . 2 9 . 2 9 . 2 9 . 2

a l i d a r e a D B

n r e g is t e r e d E
h o s t u l u i i n i n c l u

AT

r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l
i n

i n

l u

e s c . S r e g i s t n b a z . I n f o r l i z a t a

i t e - u l d v r a t c u a n o a s t r a m a t i a v a t i m p d e

VU e n r r s

VU e n r r s

n r e g is t e r e d E n r e g i s t e D rB e d E n r e g is t e r e d E n r e g is t e r e d E n r e g is t e r e d E
a d a u g a r e a

AT AT AT AT AT

VU e n r r s e i i n ogf o nir ms a t t ei e ir e d E VU e n r r s e i og ni s t S e i t re e- u dl E VU e n r r s e i og ni s t e r e d E VU e n r r s e i og ni s t e r e d E VU e n r r s e i og ni s t e r e d E
a n d o a a d t u g a s t r a

VU e n r r s

h o s tu l u i

v AT

AT AT AT

i n d e

VUf o e sn t r r s

r9 i a. 2 l r9 i a. 2 l r9 i a. 2 l

VU e n r r s

VU e n r r s

VU e n r r s

ns procesul principal const n actualizarea bazei de date care este pornit de un timer la fiecare 24 ore. Deci prezint diagrama cazurilor de utilizare pentru procesul de actualizare:
u c u p d a t e _ u s e _ c a s e

E E E E E
T I M

A A A A A
E R

9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9

. 2 . 2 . 2 . 2 . 2 . 2 . 2
i n c

U U U U U U U
l u

n n n

r e r e r e
i n c

g g g
l u

i s tE e A r e 9 d . 2 T
h o s t u r i

rU i a n l r V e rU i a n l r V e
" c r a w

ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T


L g a s i r e a t u t u r o r l i n c u r i l o r i n t e r n t e h o s t u l u i

rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n rU i a n
a

s e l e c t a r e

i s tE e A r e 9 d . 2 T
p o r n i r e

l e r "

i s tE e A r e 9 d . 2 T
d e

rU i a n l r V e rU i a n l r V e
p r i m i r e c r a w

n n n n
d

r e r e r e r e
e i n c

g g g

i s i n tE ce l Au r de e 9 d . 2 T i s tE ei n A rc le u 9 dd e. 2 T i s tE ei n A r c el u 9 dd .e 2 T

ge ir s s tEi eo A r n e 9 d . 2 T
d e l a

i n

l u

u p d a t e

rU i a n l r V e rU i a n l r V e

R l e r

ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T

E E E E E E E E E E E E E E E E E E

A A A A
a A

e g i n i cs l utE ed A r e 9 d . 2 T

p r i m

p rU i aUinr Rel rL c V o n ge t e irn s st tEdi eou A r na e 9 d . 2 T e

. 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2

U U
i n

n n

r e l u g d ie s tE e A r e 9 d . 2 T r e g g g g g g g g g g g g g g g i s tE e A rc e n 9 dt e . n 2t T o i s tE e A r e 9 d . 2 T
d i n D B c a u t a r e c u v

rU i a n l r V e
i n t e - c h e i e

ge ir s s tEi eo A r n e 9 d . 2 T
i n

rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e rU i a n l r V e

ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T ge ir s s tEi eo A r n e 9 d . 2 T

d a u g a r e

U U U U U U U U U U U U U U

nB r e n n n n n n n n n n n n n r e r e r e r e r e r e r e r e r e r e r e r e r e

s t e r g e r e a

A A A A A A A A A A A A A

i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T i s tE e A r e 9 d . 2 T

n continuare folosesc diagrama de activiti pentru a reprezenta modul de funcionare a algoritmilor aplicaiei. Pentru procesul de cutare avem urmtoarea diagram de activiti:
a c t a n a l i s i s _ c l a s s

E E E E E E E E E E E E E E E E E E E E

A A A A A A A A A A A A A A A A A A A A

9 9 9 9 9
n

. 2 . 2 . 2 . 2 . 2
u l l

U U U U U U
r Ue

n n n n n n n n n n n n n n n n n n n n
v

r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e r e
e

g g g g g
r i f i c

p a

i E s p A i ec a r9 t ei e. 2i d lt iE s A e t iE s A e t i E ss a Ar ee t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t
r e z u a r e a

r n

i r e

U T U T
u v

rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d

U T U T U T U T U T
p r i m

r9 e . 2 d r9 e . 2cd r9 b e u . t 2o d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d
l t a t u l u n u l i t a

i n t r o d u c e r e a c h e i e

U i n e rn l io arr e l g V i Ees trA es ri 9 o e . n2 T d U T U T


t i i

a p a

n u l u i

rn d i ear e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ars e l l e g Vc t i Ees r e trA ecs u ri 9v o ei n. nt2 e d e a
U R L - u r i d i n D B c u v n o t i n t e n u l l l o r - c h e i e

c a u t a r e

9 9 9 9 9 9 9 9 9 9 9 9 9 9 9

. 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2

g g g g g g g g g g g g g g g

U T U T U T U T U T U T U T U T U T U T U T U T U T U T U T

U T U T U T U T U T U T U T U T U T U T U T U T U T U T U T

r e t u r n e a z a

z u l t a t

g o l

c h e

U U U U U U U U U U U U U

rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar re el t guV pr inEesie m a trA iz ets a ris9 o et r . i nn2 d r rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d
i

a d u n a r e a U R L - u r i l o r i n t r - u n s t r i n g - a r r a y

g - a r r

i E s a Af ie s a r9 r e e . a 2 t d iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t iE s A e t r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d r9 e . 2 d

rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d rn i ar e l g V i Ees trA es ri 9 o e . n2 d

Iar pentru procesul de actualizare a bazei de date avem urmtoarea diagram de activiti:
a c t a n a l i s i s _ c l a s s

E E E E E E E E E E E E E E E E E E E E E E E E E E

A A A A A A A A A A A A A A A A A A A A A A A A A A

9 . 2 9 . 2 9 . 2 9 . 2 9 . 2
n u

U U U U U U U U U U U U U U U U U U U U U U U U U U

n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g
n u

i s e t v E e nr A ei m d9e n . Tt2 e
t i m e r

r e

l i z

r e

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A n e u d9 . T2 e
s u n t U R L - u r i i n a r r a y s t e r g e d i n D B p e n t r u h o s t u l d a t t o a t e U R L - u r i l e ( c a s c a d a ) e x t r a p a g i n i n t r ( g e U R i l o r p e - u n s t r c r a w l e L - u r i l e t u t u r o r n t r u h o s t u l d a t i n g - a r r a y r ) a a r r a d y

r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o
d i n a r r a y

i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e
s u

s e l e c t a r e a t u t u r o r h o s t u r i l o r d i n D B i n s t r i n g - a r r a y

9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2

i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 d .a T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e

s t u

r i

i n

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e
s t e r g e

e x t r a g e r e a c o n t e n t u l u i d u p a U R L

h o s t

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e

r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o r Ui a nl rV e e g r i ss i t o

i s t e Ex t rr Ada e ig n ed9c < o .mnT2 te e t rna Uit ka e nyl w rV o e r ed g s r> i ss i t o E n r A e d9 . T2 e e i s t E p a r Ar es e d9 k e . T2 w ro Uir da s nl i n rVt oe e g r i ss i t o E n r A e d9 . T2 e e y
s t r i n g - a r r a y

i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e
L s u n t k e y w

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e
o

n r e g
s t e r g e

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e
U r Ui a a nld di rV ekt o ee gyd wra i tsosa r bi dt o sE s nae r An ed d9 R .L T2 e n a

r d

i n

r r a

n r e g n r e g n r e g n r e g n r e g n r e g n r e g n r e g

i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e i s t E r A e d9 . T2 e

d i n

a r r a y

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e
s t e r g e k e y w o r d d i n

a r r a y

r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e r Ui a nl rV e e g r i ss i t o E n r A e d9 . T2 e

Pentru prezentarea interschimbului de informaii n procesul de lucru a aplicatiei am elaborat diagrame de secven. Diagrama de secven a procesului de cutare:
s d

E E E E E E E E E E

a n a l i s i s _ c l a s s

A A A A A A A A A A

9 . 2 9 . 2

U U U

n n n

r e

g i s t eE r A e

d9 d9 d9 d9 d9 d9 d9 d9 d9 d9

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

r e G gU I i s t eE r A e r e
s

. T 2 rm U ao t nlo r rV e e g r i s s i to eE D n rB A e d 9 . T 2 r U a nl rV e e g i i

9 . 2
k e y w

g i s t eE r A e g i s t eE r A e
k e y w o r d s

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

r d

9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2

U U U U U U U

n n n n n n n

r e r e r e r e r e r e r e

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i
k e y w o r d s

g i s t eE r A e g i s t eE r A e g i s t eE r A e
u r l - s

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i
u r l - s

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

g i s t eE r A e g i s t eE r A e g i s t eE r A e

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

Diagrama de 2secven ar procesului eE r adugare2 a runui nhoste nou: i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g E A 9 . U n e g i s t de A e d 9 . T U a l rV e g r i i


E E E E E E E E E E E E E
s d

A E A E A E
E A E A E E E E E E E

. 2 i iU V r _ a s Aa 9n a 9. l i 2s. i2s U cU l n n rs re e g g i i s s t t eE rr A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE A e t i n U i

G U I a D B .u 2 p d i iU t e C Vl a s s r A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE rr A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE A e t i n U i U S E R

. 2 i iU V r A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE r A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE t i n U i


h o s t h o s t

A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE r A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE t i n U i . 2 i iU V r

A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE rr A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE A e t i n U i . 2 i s iUe t h oV s t r A A A A A A A

A A A A A A

9 9 9 9 9 9

9 . 2

. 2 . 2 . 2 . 2 . 2 . 2

U U U U U U

U U U U U U U

n n n n n n

n n n n n n n

r e r e r e r e r e r e

r e r e r e r e r e r e r e

g g g g g g

g i s m t eEe sr As e a gd 9

i s t eE r A e i s t eE r A e i s t eE r A e i s t eE r A e i s t eE r A e i s t eE r A e

d 9 e . T 2 r iU a nl V e e g r is s i to eE n r A e r d9 d9 d9 d9 d9 . T 2 r iU a nl V e e g r is s i to eE n r A e r . T 2 r iU a nl V e e g r is s i to eE n r A e r . T 2 r iU a nl V e e g r is s i to eE n r A e r . T 2 r iU a nl V e e g r is s i to eE n r A e r . T 2 r iU a nl V e e g r is s i to eE n r A e r

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

d9 d9 d9 d9 d9 d9

. T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl . T 2 r iU a nl

9 . 2 9 . 2 9 . 2 9 . 2 9 . 2 9 . 2

g i s t eE r A e g i s t eE r A e g i s t eE r A e g i s t eE r A e g i s t eE r A e g i s t eE r A e

d9 d9 d9 d9 d9 d9

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

. T 2 r U a nl rV e e g r i s s i to eE n r A e d 9 . T 2 r U a nl rV e e g i i

A E A E

. 2 i iU V r A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE rr A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE A e t i n U i

. 2 i iU V r A 9 9. 2 . 2 U U n n r re e g g i i s s t t eE rr A e dd99 . TT 2 r r U a a nl nl rV e ee g e r gi srs isi so eE to reEA en r Ade9 .dT92 r. T 2 a r nl iU a rV enl e g eE A e t i n U i

Diagrama de secven pentru procesul de actualizare a bazei de date:

E E E E E E E E E E

s d

Aa A A A A A A A A A

n a l i s i s _ c l a s s

9 9i 9 9 9 9 9 9 9 9

. 2 . e2 . 2

U U U

n r e

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E

d9 d9 d9 d9 d9 d9 d9 d9 d9 d9 d9 d9

. T2 . T2 . T2 . T2 . T2 . T2 . T2 . T2 . T2 . T2 . T2 . T2

s n rU e p dg a i t se Ct eEl a r A es d 9 D . T2B r U a nl rV e e g C r i rs sa iw t o elE e n rr A e i

n r e
t e

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E
g e t h o s t s

. 2 . 2 . 2 . 2 . 2 . 2 . 2

U U U U U U U

n r e n r e n r e n r e n r e n r e n r e

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E
h o s t s

g ih s o ts teE s r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E g i U s R t LeE - sr A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E
r s g g i e s t t k eEe y r Aw e o d 9 d .s T2 b ry U Ua R nl L rV- e e g r i s s i t o e n r A e i E r s g s ei s t tk eeE y r wA e o d 9d s . T2a n r dU a U nl R rVL e - e g r i s s i t o e n r A e i E

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E . T2 r U a nl rV e e g r i s s i t o e n r A e i E

E A 9 . 2 U n r e g i s t eE r A e d 9 Deci n final avem urmtorarea diagram de clas:


Ec E E E E E E E E E E E E
l a s s

s 9a n . a 2 l i s i U S

. _ 2c

n l a r s es g r Ue
g a

n r e

i s E t eA r e9 d. 2 T U r i n a r l e V g e i s E ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E

+ + -

AE

A E e 9x At . a 2 r 9e aU . 2 n l e r mUe t e
r e s u l t n h : s t r i n

F i e k e y

e a r c h G U I 9 A . 2 9 U. 2 n l d w o r d s

< < u s e > > : s t r i n g + S e e n r r a y

E i E e A r g n i rs E etM eA og tr o ie9 s d. t2 e T Ur Ar <e i nu a ds 9el e > .VT>g2 e i r s EU tsa eA i nlor er9V< ed.< e2u g sTr e Us >sr >iintao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti <
a r c h ( s t r i n g ) : s t r i n l i b g W a o rr r k a w y r a r y i t h d a t a b a s e d a t a b a s e D B

E i E e A g n it rs E et eA g r ie9 s d. t2 e T Ur Ar e i n a d 9 l e .VTg2 e i r s EU tsa eA i nlor er9V ed. e2 g Tr Us sr iintao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti

AE A A
D

b u t t o s e a r c o

9 A . 2 9 U. 2 n 9 9
S

r Ue r e
: v o

g n i rs E et eA g r ie9 s d. t2 e T Ur Ar e i n a d 9 l e .VTg2 e i r s EU tsa eA i nlor er9V ed. e2 g Tr Us sr iintao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti E i E e A < < u s e > > g g
i d

E
A

. 2 . 2o . 2
d t o

r c

9 9 n 9 9
o

U U U

( )

. 2 . 2 . t t2 p . 2
U

n nI

U U U U

n r e n r e
>- >t i m

i s E t eA r e9 d. 2 T U r i n a r l e V g e i s E ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E g U pi sd a tt e eED B r A e d 9 . T2 r U a nl rV e e g rl i i sb s r ia t or ey n r A e i E
H T T P p r o t o c o l

d9 d9 d9 d9

. T2 . T2 . T2 . T2

A+ A A
-

E A b u t
a

d d H

s t G

r e
<

i s E t eA r e9 d. 2 T U r i n a r l e V g e i s E ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r

9d 9 9

<

n n n

r u e s eg
: v

E E

F h A

i e l d o s t = d

A A

. 2
H

s t ( )

U U

: / /

r e
o

i d

g g

n + rA ed n rUU epp
g e

i s E t eAe rr e9 : t id. m 2 e T r U r i n a <r l <e V g s ee i s> E > ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r u


d

y s i sg E e t teAK re e9 w d. o 2 r dT U B r iyn aU r Rl e L V g( s e t i r si En ts g eA i) or : e9sn t r d. i n2 g T <Ua <r r riunaa s y re l e> V> g e i s E st eA i o r r t U R L d a t e d a t e

g N ei sw H t eE s tr A se t r i d n9 g . ) T2 : v r o U i ad nl rV e e g r i s s i t o e n r A e i E o ( g i s DE tBn eEt U i r Rer A DLe ( B s d t9( r ) i n . :Tg2 o, ris dtUr ai n ngl ) rV : e v eo g i rd i s s i t o e n r A e i E v


s B y H o s t ( s t r i n < < u g s e ) > : s t r i n > g a r r a y

. 2

r e r Ue r Ue r Ue r e

i s E t eA r e9 d. 2 T U r i n a r l e V g e i s E ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r

AE AE AE A

9 A . 2 9 U. 2 n 9 A . 2 9 U. 2 n 9 A . 2 9 U. 2 n 9

l i b r a r y E i l E e A g n i rs E et eA g r ie9 s d. t2 e T Ur Ar e i n a d 9 l e .VTg2 e i r s EU tsa eA i nlor er9V ed. e2 gC Trr aUs swr iinteao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti r

g n i rs E et eA g r ie9 s d. t2 e T Ur Ar e i n a d 9 l e .VTg2 e i r s EU tsa eA i nlor er9V ed. e2 g Tr Us sr i ntao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti E i E e A

g n i rs E et eA g r ie9 s d. t2 e T Ur Ar e i n a d 9 l e .VTg2 e i r s EU tsa eA i nlor er9V ed. e2 g Tr Us sr iintao er l n r V ge e i ds9E st . eA 2 o r ri n r Ti E i E e A g

. 2

. 2

n r e

i s E t eA r e9 d. 2 T U r i n a r l e V g e i s E ts eA i or e9n d. 2 T U r i n a r l e V g e i s E st eA i o r r

g i s t eE r A e d 9 . T2 r U a nl rV e e g r i s s i t o e n r A e i E

d9

. T2

Implementare: La aceast etap, folosind datele prezentate mai sus se elaboreaz codul surs al programului.