Sunteți pe pagina 1din 74

1.Ce este o baz de date distribuit?

O baz de date distribuit reprezint o colecie de date integrate logic,


ns repartizate2 fizic pe siturile3 unei reele de calculatoare .Aadar, o baz de
date distribuit e un ansamblu de baze de date administrate de
diferite situri, dar care apar pentru utilizator ca o baz unic.
2. Care sunt elementele care caracterizeaz sistemele distribuite i la care
fac referire n general definiiile?
Integrarea logic. Se refer la aspectul c datele nmagazinate nu sunt simple
colecii de fiiere. Ele reprezint o structur bine organizat pe care utilizatorul
potrivit
unor principii ce vor fi enunate ulterior trebuie s-o perceap ca fcnd parte
dintr-o singur
baz de date global, la fel ca i n cazul bazelor de date locale sau centralizate;
Repartizarea fizic. Relev faptul c baza de date nu este stocat ntr-o singur
locaie, precum n cazul bazelor de date locale i sistemelor centralizate, ci este
mprit
ntre mai multe staii de lucru.
3. Ce este un SGBDD?
Un sistem de gestiune al bazelor de date distribuite reprezint sistemul
software care permite gestiunea bazelor de date distribuite, fcnd distribuirea
fizic
transparent pentru utilizatori. Sistemele de Gestiune a Bazelor de Date
Distribuite (SGBDD4) au ca obiectiv crearea unei puni ntre insulele de
informaii. Ideea unui astfel de sistem este de a face accesibile toate datele
necesare funcionrii unei organizaii, oriunde s-ar afla ele, i de a le rspndi
fizic, dac este cazul, n acele locaii unde vor fi utilizate cel mai des.
4. Ce se nelege prin fragmentarea bazelor de date i de cte tipuri este
aceasta?
Fragmentarea reprezint procedeul de spargere a relaiilor utilizate ntrun
sistem distribuit prin operaiuni relaionale de proiecie i selecie controlate, n
vederea
plasrii aa-numitelor partiii (fragmente) rezultate n locul n care sunt cel mai
frecvent
solicitate datele pe care le conin. Fragmentarea (partiionarea) poate fi de mai
multe tipuri: orizontal, vertical i mixt. Pe lng aceste tipuri clasice, uneori
situaia impune necesitatea unor fragmentri derivate sau chiar a unor relaii
nefragmentate.
5. Care sunt argumentele n favoarea fragmentrii?
Uzana; Eficiena; Paralelismul.; Securitatea.;
6. Ce reguli stau la baza fragmentrii?
Completitudinea fragmentrii.; Refacerea relaiei iniiale; Caracterul disjunct

7. Descriei fragmentarea orizontal. Exemplificai.


Fragmentarea orizontal, dup cum sugereaz numele, se face de-a lungul
tuplelor
unei relaii. Aadar, un fragment orizontal, este format dintr-o submulime a
tuplurilor unei
relaii, submulime obinut n urma unei operaii de restricie. Restricia trebuie
s asigure o descompunere ortogonal n fragmente orizontale.Reprezentarea
simbolic a unui fragment orizontal F, realizat pe baza unei relaii R, prin
specificarea modalitii de obinere, este urmtoarea: Fi: p(R), unde Fi
reprezint numele fragmentului, p fiind un predicat bazat pe unul sau mai
multe atribute ale relaiei iar R reprezint denumirea relaiei. este simbolul
operaiei de restricie (selecie). CJ_STUD: Locatia = ClujNapoca(STUDENT) = Fragmentul CJ_STUD pentru studenii nscrii la
FSEGA Cluj-Napoca i urmeaz cursurile n Cluj-Napoca
8. Ce sunt predicatele minterm?
Predicatele pe baza crora se abordeaz problematica fragmentrii orizontale
sunt
predicatele minterm. Ele sunt conjuncii de predicate simple sau negaii ale
acestora.
Predicatele simple sunt de forma pi: Aj teta <valoare>, i=1, 2, ... ,n, iar
A1, ...,Am reprezint
atributele relaiei, iar teta ia una din valorile {=, <, >, <=, >=}:p1: CodSectie = 1
9. Descriei fragmentarea vertical. Exemplificai.
Fragmentarea vertical reprezint o descompunere de-a lungul atributelor unei
relaii. Realizarea acesteia presupune operaii de proiecie asupra atributelor,
prin includerea n cazul fiecrui fragment a unei chei alternative a relaiei.
Scopul includerii acesteia este obinerea unei descompuneri fr pierderi.
Simbolistica reprezentrii unui fragment vertical Fi obinut prin proiecia
atributelor a1, a2, ..., an ale unei relaii R este urmtoarea: Fi: a1, a2, ...
,an(R), unde simbolul reprezint nsemnul proieciei din algebra
relaional. Relaiei LOCALITATI(CodLoc, Loc, CodJud. L_LOC: CodLoc,
Loc(LOCALITATI). n ambele fragmente a trebuit s includem cheia primar a
relaiei LOCALITATI
10. Descriei fragmentarea mixt. Exemplificai.
Fragmentarea mixt numit i hibrid de ctre unii autori nu reprezint un tip
special de fragmentare, ci o combinaie a celorlalte dou enunate anterior.
Combinaia se
datoreaz aplicrii celor doi operatori din algebra relaional utilizai pentru
fragmentarea pe orizontal i pentru cea pe vertical. n funcie de ordinea n
care sunt aplicai, putem s avem dou tipuri de fragmentri mixte. Dac mai
nti avem o operaie de selecie, urmat apoi pentru fiecare fragment, de
operaii de proiecie obinem fragmente orizontale partiionate vertical. Dac

ordinea operaiilor este inversat, atunci vom avea fragmente verticale


partiionate orizontal. Fi: a1, a2, ... ,an(p(R)) sau Fj: p(a1, a2, ... ,an(R))
11. Ce este fragmentarea derivat
Fragmentarea derivat este o fragmentare orizontal care se face ntre
dou relaii: una printe i cealalt fiu. Se va porni de la relaia copil, care va fi
fragmentat conform predicatului prestabilit. Predicatul implic n mod
obligatoriu cheia extern.
12. Cnd se utilizeaz relaiile nefragmentate?
Relaiile care se preteaz la o astfel de abordare sunt acelea care au un numr
relativ mic de nregistrri. n astfel de situaii se recomand fie replicarea
acestora pe fiecare sit n parte, fie meninerea lor n acele noduri unde se
utilizeaz cel mai des
13. Ce este replicarea?
Replicarea cunoscut n literatura de specialitate i ca reproducere presupune
copierea unor fragmente n mai multe locaii.
14. Care sunt nivelele de replicare pe care le cunoatei?
Baze de date centralizate. Sunt sistemele cu prelucrare distribuit
(centralizate), n
care avem o singur baz de date stocat pe nodul central. La fel avem un singur
SGBD.
Caracterul local al referinei este cel mai sczut, deoarece doar nodul central
poate face
accesri sau prelucrri locale. Securitatea, fiabilitatea i disponibilitatea sunt
sczute i depind n cea mai mare msur de nodul central. Costul comunicaiei
este ridicat;
Baze de date partiionate, fragmentate sau nereplicate. Sunt acele baze de date
distribuite n care toate fragmentele apar o singur dat. Implementarea se face
cu cel mai sczut cost al stocrii. O astfel de baz de date nu ofer fiabilitate i
nici disponibilitate prea ridicate, ns este mai mare dect n cazul sistemelor
centralizate. Caracterul local al referinei
este la un nivel acceptabil. Costurile de comunicaie sunt mai moderate.
Actualizrile i
consultrile se fac eficient;
Baze de date replicate integral. Orice sit conine cte o copie a ntregii baze de
date. Caracterul local al referinei, disponibilitatea, securitatea i fiabilitatea sunt
maxime.Probleme ntmpinm la costul ridicat al echipamentelor de stocare,
comunicaia aglomerat n cazul actualizrilor. O rezolvare parial a acestor
inconveniente ar fi utilizarea instantaneelor, adic imagini ale bazei de date care
se actualizeaz periodic. Dezavantajul lor este c nu ntotdeauna ofer o situaie
actualizat, iar n momentul actualizrii se genereaz trafic mare pe reea;
Baze de date replicate parial sau selectiv. Anumite fragmente sunt replicate,
altele

nu. Sunt replicate fie acele fragmente cu utilizare frecvent, fie relaii ntregi de
dimensiuni
mici care nu merit s fie fragmentate, ci mai degrab memorate pe fiecare sit.
n aceast
ultim situaie intr i acele relaii sau fragmente cu actualizri sporadice.
Aceast strategie este o mbinare a celor 3 enunate anterior. ncearc s le preia
avantajele i s le minimizeze dezavantajele. De aceea aceasta se implementeaz
cel mai adesea. Costurile de comunicaie i de stocare sunt relativ reduse.
Caracterul local al referinei, securitatea, fiabilitatea i disponibilitatea sunt
apropiate de maxim.
15. Ce este alocarea i ce metode de alocare cunoatei?
Alocarea reprezint procesul de repartizare a fragmentelor pe situri. Alocarea
poate s fie neredundant sau redundant. Realizarea unei astfel de proiectri
se bazeaz pe metoda celei mai bune alegeri, care stipuleaz c unei staii pe
care deja a fost plasat un fragment, nu poate s-i mai fie alocat un fragment
nrudit. Alocarea redundant este o problem de proiectare mult mai
complex: Metoda selectrii., Metoda alocrii progresive.
16. Desenai i descriei arhitectura de referin a sistemelor distribuite.
Arhitectura este format din:
schemele externe globale, care reprezint viziunea fiecrui utilizator asupra
sistemului;
Sisteme de baze de date distribuite
o schem conceptual global, adic o imagine complet a ntregii baze de
date, fr a
ls mcar pentru vreun moment impresia c aceasta ar putea fi una distribuit;
schema de fragmentare, ce reprezint ideea proiectantului de partiionare a
ntregii
baze de date;
schema de alocare se refer la modul de amplasare fizic a fragmentelor i
replicilor
acestora n vederea deservirii optime a interogrilor i tranzaciilor sistemului
distribuit;
17. Enumerai principiile lui Date referitoare la sistemele distribuite.
autonomia local, absena unei dependene de un sit central, operarea
continu,
independena de fragmentare11, independena de localizare, independena
de replicare,
prelucrarea distribuit a interogrilor, gestionarea distribuit a
tranzaciilor,
independena de hardware, independena de sistemul de operare,
independena de reea i independena de sistemul SGBD.
18. Care sunt etapele de procesare a cererilor ntr-un sistem distribuit?

Descompunerea interogrilor, Localizarea datelor, Optimizarea cererilor globale


i
Optimizarea cererilor locale.
19. Dai exemple de protocoale de gestiune a accesului concurent ntr-un
mediu distribuit.
Protocolul 2PL centralizat, Protocolul 2PL de copie primar, Protocolul 2PL
distribuit i Protocolul de zvorre a majoritii
20. Care sunt avantajele i dezavantajele sistemelor distribuite?
Structura organizaional
Caracterul partajabil i autonomia local
Disponibilitate i fiabilitate crescute
Performane mbuntite
Dezvoltare modular
Economie.---- Complexitatea
Lipsa de standarde
Securitatea
Dificultatea controlului integritii i a concurenei
Lipsa de experien
Dificultatea de nlocuire sau schimbare.
21. Ce este un sistem de baze de date federative? Dai exemple de situaii la
care acestea se preteaz.
Sistemele de baze de date multiple reprezint un sistem de baze de date
distribuite n care fiecare sit pstreaz o autonomie total. Un sistem de baze de
date federative (FMDBS12) este o colecie de sisteme de baze de date
colaborative care sunt autonome i posibil heterogene.
22. Ce sunt sistemele nefederative?
Putem s avem sisteme de baze de date multiple n care nu avem
utilizatori locali.
23. Care sunt caracteristicile sistemelor federative?
Autonomia.; Heterogenitatea.; Distribuirea.;
24. Ce este wrapper-ul?
wrapper-ul, uneori fiind cunoscut i cu denumirea de mediator.Wrapper-ele
sunt nite adaptoare, nite straturi software intermediare ce transparentizeaz
diferitele nivele ale heterogenitii
25. Ce este heterogenitatea semantic? Exemplificai.
Heterogenitatea semantic se refer la numele obiectelor, valorile pe care pot s
le
ia datele i structura conceptual. Un exemplu, ce-i drept puin utopic, care ar
putea s
dezvluie o parte din problemele heterogenitii semantice, ar fi interconectarea
sistemelor
educaionale naionale ntr-o federaie internaional.

26. Ce sunt depozitele de date?


Depozitele de date (DW16) sunt colecii de date nevolatile, orientate spre
subiect, integrate, variabile n timp care sprijin managementul firmei n
procedeul de luarea deciziilor.
27. Ce reprezint pieele de date?
Pieele de date (DM18) sunt submulimi ale depozitelor de date, particularizate
n vederea ndeplinirii nevoilor unui departament sau care acoper un subiect.
28. Ce operaiuni presupune nmagazinarea datelor?
29. Ce este OLAP?
Prelucrarea analitic on-line reprezint sinteza, analiza i consolidarea
dinamic a unor volume vaste de date multidimensionale.
30. Ce sunt cuburile de date?
31. Ce este datamining-ul?
Extragerea datelor reprezint descoperirea automat a unor tipare
netriviale, anterior necunoscute i potenial folositoare, bine nrdcinate n
bazele de date
32. n ce domenii se poate aplica mineritul datelor?
Comerul cu amnuntul/marketing; Domeniul bancar; Asigurri; Medicin
33. Care sunt principalele operaii de extragere a datelor?
Modelarea predictiv, Segmentarea bazei de date, Analiza legturilor i
Detectarea deviaiilor.
36. Menionai pe scurt tipurile de baze de date NoSQL.
La ora actual exist urmtoarele categorii de baze de date NoSQL:
Key-/Value-stores cel mai simplu model pentru date nestructurate. Foarte
eficient
i flexibil. Dezavantaj: datele nu conin descrierea lor
Document databases pentru depozite XML i obiecte care se autodescriu.
Stocarea n acest caz este foarte ineficient. n aceast categorie ntlnim
subtipurile
urmtoare:
Baze de date relaionale cu faciliti XML: CLOB, XML mprit n mai
multe tabele n funcie de schema; SGBDR-uri care accept tipul ISO XML
(Ex. IBM DB2, Microsoft SQL Server, Access, Oracle Database,
PostgreSQL)
Baze de date XML native.
Column-Oriented Databases (Baze de date pe coloane) model foarte bun
folosit
n cadrul depozitelor de date pentru date rarefiate. Putem avea coloane grupate i
agregate.

Graf [Oracle 2012] un model relativ nou, bun pentru parcurgerea relaiilor,
dar nu
pentru cutri generale.

SISTEME DE OPERARE

1. Care sunt funciile de baz ale Sistemelor de operare?


Sistemele de operare realizeaz dou funcii de baz ntre care nu exist nici
o legtur: extinderea funcionalitii mainii i gestionarea resurselor,ceea ce
nu putem spune este care din aceste funcii este mai important. Prin func ia de
extindere ascunde detalii neplcute precum: ntreruperile, timer-ele, gestiunea
memoriei i alte elemente de nivel sczut. Tot funcia de extindere ascunde
programatorului adevrul despre structur hard i prezint numai partea
frumoas a fiierelor cu nume nu i cu octei i reprezint o vedere de sus n jos
a SO.
n abordarea de jos n sus este prezena funcia de gestionare a resurselor
care are c sarcin s realizeze o alocare ordonat i controlat a proceselor,
memoriilor i dispozitivelor de I/O n diversele programe scrise pentru ele.
Administrarea resurselor include partajarea resurselor n
timp i spaiu
(multiplexarea). Cnd este n timpprogramele sau utilizatorii le folosesc pe rnd
resursele (exemplu: tiprirea) formndu-se o coad SO este acela care spune
cine urmeaz i ct timp are alocat. Cnd este n spa iu fiecare client folose te o
parte din resursa (exemplu: memoria principal este mprit ntre mai multe
programe, sau HDD este o alt resursa multiplexat n spaiu.
2. Ce este un proces?
Procesul - este n fapt un program n execuie. Fiecrui proces i se
asociaz un spaiu de adrese, adic o list de locaii n memorie din care
programul poate ci sau n care poate scrie. Locaiile cuprinse ntre dou limite,
una minim (de obicei 0) i una maxim. Spaiul de adrese conine programul
executabil, datele programului i stiva. Procesului i se asociaz, de asemenea,
un set de registre care cuprinde contorul program, indicatorul de stiva i alte
registre hard, precum i diverse alte informaii necesare rulrii programului.
[TANENBAUM06]
La multe SO toate informaiile despre fiecare proces, altele dect cele
aflate n propriul spaiu de adrese, sunt memorate ntr-un tabel al sistemului de

operare numit tabel de procese, care este un tablou de structuri pentru fiecare
proces existent.
Un proces este c o grupare de resurse nrudite i are spaiu de adrese ce
conine textul programului i date, precum i alte resurse. Aceste resurse pot
include fiiere deschise, procese copil, semnale de alarm n ateptare, rutine de
tratare a semnalelor, informaii de contabilizare i altele. Acestea pot fi
gestionate uor prin gruparea lor sub form de proces.
3. Ce este un fir de excuie?
Firele de execuie n sistemele de operare tradiionale, fiecare proces are un
spaiu de adrese i un singur fir de control. Dar de cele mai multe ori este de
dorit existena mai multor fire de control n acelai spaiu de adrese rulnd
pseudo-paralel, c i cum ar fi procese separate(cu excepia partajrii
spaiului de adrese).
Firul de execuie (thread) are un contor de program care ine evidena
urmtoarei instruciuni de executat, totodat deine i registre care in variabilele
curente de lucru. Are de asemenea o stiva care conine istoricul execuiei, cu un
cadru pentru fiecare procedura apelat din care nu s-a revenit nc. Dei un fir de
execuie trebuie s ruleze ntrun proces,firul i procesul sunt concepte diferite i
pot fi tratate separat. Procesele sunt utilizate pentru a grup resurse, n timp ce
firele de execuie sunt entiti planificate pentru execuie n cadrul UCP (unitate
central de procesare). Modul de lucru al firelor de execuie este: partajeaz
spaiul de adrese, fiiere deschise i ale resurse sau partajeaz memoria fizic ,
discurile, imprimantele i alte resurse.
Prin comutarea ntre mai multe procese, sistemul ofer iluzia unor procese
secveniale separate care se execut n paralel. Programarea cu fire de execuie
multiple funcioneaz n acelai mod: UCP comut rapid ntre firele de execuie
oferind iluzia c acestea ruleaz n paralel, dei pe o UCP mai lent dect pe cea
real. n cazul unui proces cu trei fire de execuie, toate efectund calcule,
acestea pr s se execute n paralel, fiecare pe o UCP cu o vitez de trei ori mai
mic dect a UCP reale.
4. Care sunt diferenele ntre sistemul de fiiere FAT32 vs NTFS?
NTFS (New Technology File System) este sistemul de fiiere standard
pentru Windows NT i predecesoarele sale Windows 2000 i Windows XP;
capacitatea de a recupera automat dup anumite erori legate de disc, ceea ce
FAT32 nu poate realiza. Suport mbuntit pentru hard disk-uri mai mari. Are
securitate mai bun, deoarece avei posibilitatea s utilizai permisiuni i
criptare pentru a restriciona accesul la anumite fiiere numai la utilizatorii
autorizai. Acest sistem de fiiere folosete adrese de disc de 64 de bii i poate
suporta partiii de pn la 264 bytes, totodat ofer posibilitatea folosirii
caracterelor Unicode n numele de fiiere, permite folosirea numelor de fiiere

de pn la 255 de caractere, inclusiv spaii i puncte; permite indexare general a


fiierelor; ofer posibilitatea managementului dinamic al sectoarelor; datorit
compatibilitii POSIX, permite crearea hard-link-uri, face distincie ntre litere
mari i mici n cadrul numelor de fiiere i pstreaz informaii de timp
referitoare la fiier; permite utilizarea fiierelor cu seturi multiple de date.
FAT32 - utilizeaz spaiul mai eficient. FAT32 utilizeaz clustere mai mici
(adic clustere de 4 KO pentru uniti de pn la 8 GO), avnd ca rezultat o
utilizare a spaiului de disc cu 10-15 la sut mai eficient fa de unitile mari
FAT sau FAT16, este mai robust, poate relocaliza folderul rdcin i poate
utiliza copia de rezerv a tabelului de alocare a fiierelor n locul copiei
implicite. n plus, nregistrarea de ncrcare a unitilor FAT32 este extins
pentru a include o copie de rezerv a structurilor de date critice, sunt mai puin
predispuse la un singur punct de eroare dect unitile FAT16, este mai flexibil.
Folderul rdcin de pe o unitate FAT32 este un lan obinuit de clustere, astfel
nct poate fi plasat oriunde pe unitate. Limitrile anterioare n ceea ce privete
numrul de intrri n folderul rdcin nu mai exist. n plus, se poate dezactiva
oglindirea tabelului de alocare de fiiere, permind s fie activ o alt copie a
tabelului de alocare a fiierelor n loc de prima copie. Aceste caracteristici
permit redimensionarea dinamic a partiiilor FAT32.
5. Cte tipuri de memorie exist?
Memoria ocup locul doi ca importan n structura unui sistem de calcul dup
procesor i este de tip ierarhic i este caracterizata astfel:
-puin memorie cache foarte rapid, scump i volatil
-mult RAM3 de vitez medie, nu foarte scump i volatil
-foarte mult spaiu de stocare pe disc lent, ieftin i nevolatil.
Sistemele de gestiune a memoriei pot fi mprite n dou categorii: cele
care mut procesele ntre memorie i disc n timpul execu iei acestora
(interschimbare swapping i paginare) i cele care nu fac aceste operaii.
Trebuie s nelegem c interschimbarea i paginarea sunt n mare parte metode
ce compenseaz lipsa unei memorii principale suficient de mare nct s poat
conine toate programele ce ruleaz la un moment dat.
6. Ce este memoria interna?
7. Cte tipuri de RAID sunt i care anume?
RAID combin hard discuri fizice ntr-o singur unitate logic folosind o
component hardware sau o aplicaie software. Soluiile hardware sunt
proiectate cu scopul de a se prezenta sistemului ataat ca un singur hard disc,
fr ca sistemul de operare s cunoasc arhitectura fizic.

Soluiile software sunt implementate n sistemul de operare, dar aplicaiile vor


utiliza arhitectura RAID ca o singur unitate.
Sunt trei tipuri principale n RAID: mirroring (oglindirea), copierea datelor pe
mai multe discuri; striping (ntreesute), mprirea datelor pe mai multe discuri;
i error correction (cu corectarea erorilor) unde discuri de verificare redundante
stocheaz datele pentru a fi detectate i corectate eventualele erori. Diferitele
niveluri RAID folosesc unul sau mai multe dintre tipurile enumerate mai sus, n
funcie de cerinele sistemului. Scopul principal n folosirea arhitecturii RAID
este mrirea siguranei datelor, important pentru protejarea informaiilor critice
pentru afaceri, de exemplu o baz de date a comenzilor date de clieni; sau a
mririi vitezei, de exemplu un sistem care transmite programe TV la cerere
mai multor telespectatori.
RAID 0
cea mai performant metod de stocare
RAID;
se nsumeaz capacitile discurilor.
Avantajul este dat de distribuia operaiilor de scriere/citire pe mai multe
discuri, simultan;
performanta crecut a matricii;
lipsa redundanei, defectarea oricruidisc ducnd la compromiterea
ntregii matrice.
RAID 1
este oglindirea dispozitivelor
(mirroring);
dac se folosesc dou discuri n RAID1 informaia va fi stocat pe
ambele, n oglind;
RAID 3
oricare din ele poate ceda, fr s
afecteze integritatea matricei;
Performana este afectat, deoarece scrierea/citirea se face simultan;
spaiul de stocare este de jumtate;
numr par de discuri.
RAID 5
redundan de nivel N+1;
viabil de la mai mult de 3 discuri/partiii ntr-o matrice;
scrierea informaiilor de paritate se face pe toate discurile,
pentru un numr mare de discuri este cea mai eficient metod;
capacitate de stocare este data de (capacitatea unui disc)*(numrul de
discuri -1).

RAID 6,RAID 10, RAID 50,RAID 60


8. Definii RAID 1.
RAID 1
este oglindirea dispozitivelor
(mirroring);
dac se folosesc dou discuri n RAID1 informaia va fi stocat pe
ambele, n oglind;
9. Definii RAID 5.
RAID 5
redundan de nivel N+1;
viabil de la mai mult de 3 discuri/partiii ntr-o matrice;
scrierea informaiilor de paritate se face pe toate discurile,
pentru un numr mare de discuri este cea mai eficient metod;
capacitate de stocare este data de (capacitatea unui disc)*(numrul de
discuri -1).

10. Care sunt tipurile de atacuri?


1.Atacuri DOS
O alt clasificare a atacurilor DOS este dup numrul de participani:
-Atacuri uni-surs: un singur atacator are ca int o singur victim.
-Atacuri multi-surs: mai multe gazde (numite zombie) particip fr s
tie n rolul atacatorilor, fiind compromise de capul operaiunii. Dei mai greu de
pus n practic, acest tip de atac este i cel mai periculos i cel mai greu de luptat
mpotriva lui. Mai este cunoscut i sub numele de atac Distributed Denial of
Service (DDOS).
2.Atacuri asupra protocoalelor de autentificare
Atacuri prin inundare (flooding)
Atacurile prin inundare sunt comune i sunt lansate cu intenia de a satura
legturile de reea pentru a prbui router-ele i switch-urile sau inundarea cu
trafic peste posibilitile deprelucrare. Din nefericire, uneltele necesare pentru
un asemenea atac sunt disponibile pe Internet i chiar utilizatorii fr experien
le pot folosi cu succes.
Smurf Flood

Smurf Flood este un atac DOS cunoscut i sub numele de reflector. Un atacator
trimite un numr mic de pachete echo ICMP la o adres de broadcast care
definete mai multe gazde. Rspunsurile tuturor acelor gazde sunt trimise
simultan ctre victim, epuiznd toat banda de comunicaie i posibil puterea
de calcul.
TCP SYN
Atacul de tip TCP SYN este posibil datorit schimbului de mesaje de la
nceputul protocolului TCP. Un client trimite o cerere (SYN) ctre un server,
anunndu-i intenia de a porni o conversaie. La rndul su, serverul
desemneaz o intrare n tabela cu conexiuni pe jumtate deschise i trimite
napoi un mesaj de ncuviinare (SYN ACK), semnaliznd astfel disponibilitatea
sa. n acest moment clientul trebuie s rspund cu un pachet SYN ACK ACK
pentru a putea ncepe comunicaia de fapt. Un atacator ar putea s nu trimit
niciodat aceast confirmare, cauznd umplerea tabelei de conexiuni, cererile
legitime ulterioare fiind astfel blocate. Daca un atacator trimite o rafal de astfel
de cereri, acesta poate paraliza activitatea unui server de 100 MIPS care poate
deservi 2000 de conexiuni pe secund [SPAT99], dimensiunea tipic a tabelei
TCP fiind de 2048 de intrri [DEC96].
UDP Flood (Fraggle)
Acest atac este posibil datorit naturii protocolului UDP care nu este orientat pe
conexiune. Din moment ce nu este necesar nici un dialog n prealabil, un
atacator poate trimite pachete ctre porturi aleatoare ale sistemului vizat.Victima
va aloca resurse pentru determinarea aplicaiilor care ascult porturile pe care
sosesc date, iar cnd i dseama c nici o aplicaie nu face acest lucru, va
trimite ca rspuns un pachet ICMP. Dac numrul de pachete aleatoareeste
suficient de mare, exist posibilitatea ca sistemul s aib probleme.
ICMP Flood
Acest atac const din trimiterea unui numr mare de pachete ICMP ctre
victim. Aceasta nu poate ine pasulcu volumul de informaie primit i poate
observa o degradare a performanei.
E-mail bombing
E-mail bombing nseamn trimiterea unui numr mare de mesaje electronice
ctre un server cu scopul de a epuiza spaiul de pe disc i limea de band. Cu
excepia atacului UDP, restul se pot evita prin msuri luate la nivelul sistemului
de operare. Atacul UDP este dificil de contracarat ntruct exist o multitudine
de aplicaii care ascult la o multitudine de porturi. Filtrarea cu ajutorul firewallurilor ar avea un impact puternic asupra funcionalitii iar acest pre nu l vor
plti foarte muli utilizatori.
3 Atacuri prin pachete modificate
Ping of Death

Acest atac const n trimiterea unui pachet ICMP mult mai mare dect pachetul
maxim IP, i anume 64 KBytes. La destinaie, unele implementri nu pot
decodifica pachetul, cauznd prbuirea sau reboot-ul sistemului. Dou
implementri binecunoscute care au acest comportament sunt Windows 95 i
unele versiuni timpurii de Windows NT.
Chargen
Acest atac este o variant a atacului de tip UDP Flood i folosete portul 19
(chargen) al unui sistem intermediar folosit ca amplificator. Atacatorul trimite un
pachet UDP fals ctre un sistem intermediar care la rndul su rspunde cu un
ir de caractere victimei, pe portul su echo. Victima trimite napoi un ecou al
irului primit i bucla creat consum rapid banda dintre victim i sistemul
intermediar.
Teardrop
Datorit implementrii defectuoase, unele sisteme nu pot asambla fragmente de
pachete care au deplasamente eronate. n loc s ignore elegant aceste pachete,
aceste implementri blocheaz sau reboot-eaz sistemul.
Land
Dei este greu de crezut, unele sisteme se blocheaz cnd primesc pachete avnd
aceeai adresa ca surs i destinaie.
WinNuke
Acest tip de atac este specific sistemelor de operare Windows. Atacatorul trimite
date aleatoare la un port anume, ceea ce cauzeaz blocarea sau reboot-ul
sistemului.
PROIECTAREA SITEURILOR WEB
1. Care este rolul unui client, n cadrul modelului Client-Server?
Modelul Client-Server[site17] [LalaniChandak1997] st la baza tuturor
aplicaiilor electronice i serviciilor Internet. Clientul, n general, ruleaz pe
calculatorul utilizatorului i este folosit pentru a accesa informaii sau alte
aplicaii din cadrul reelei Internet. Exemplul de client este browser-ul care poate
ndeplini cu succes urmtoarele sarcini:[site17]
- emite cererile i recepioneaz datele care se vor afia;
-formateaz documentele pe baza tag-urilor HTML;
- afieaz documentele.
Clientul i serverul se pot gsi pe acelai calculator, n cazul n care se
utilizeaz mecanisme de comunicaie local sau pe calculatore diferite, atunci
cnd se folosesc mecanisme de comunicaie n reea.
Clientul folosit pentru accesarea serverului web poate fi att un browser
ct i un alt program capabil s se conecteze la un port TCP
2. Ce se nelege prin server de web?

(Povestiiiii )Un server web este o tehnologie de informaii care


proceseaz cererile prin intermediul HTTP. HTTP(HyperText Transfer Protocol)
este un protocolul de reea folosit pentru a distribui informa ii pe World Wide
Web. Ca i alte protocoale utilizate n Internet, protocolul HTTP (HyperText
Transfer Protocol) este un protocol de tip cerere-rspuns, bazat pe TCP/IP,
destinat transferurilor informaiilor hipermedia. Apache folosete HTTP pentru a
comunica cu Internet Explorer, pentru a analiza URL-ul i a stabili protocolul de
conectare n cazul de fa:-http://localhost. Termenul de server se poate referi fie
la ntregul sistem de calcul, fie la un aparat, fie n mod specific pentru softwareul care accept i supravegheaz cererile HTTP. Serverele Web au ca
funcionalitate de baz recepionarea de cereri anonime de la clieni i furnizarea
de informaii ntr-o manier dorit a fi eficient i rapid [Ricart1998]. Deci, un
server Web este un daemon care accept conexiuni confor protocolului HTTP,
rspunznd cererilor recepionate de la clieni.
Serverul [site17] ruleaz, n general, pe un calculator centralizator sau
aflat la distan, furniznd sau oferind informaii/servicii clienilor. Exemple de
servere folosite n prezent sunt:Apache, IIS i etc.
Un server web este un program care ruleaz pe un calculator, ateapt pe
un port o conexiune TCP venit de la un client i servete acestuia pagini web
folosind protocolul HTTP. [site31] Serverul web este un software, un program
de sine stttor, un executabil cu o funcie bine stabilit: accea de a servi la
cerere pagini de Internet ntr-un mod bine determinat. Acest software poate fi:
Apache HTTP Server, Microsoft Internet Information Services (IIS), iPlanet
Web Server, Roxen WebServer, Zeus WebServer, .a. Serverul web ruleaz pe un
calculator. [site31]
3 . Care este clientul n cadrul modelului Client-Server folosit n
programarea web?
Descriei caracteristicile acestui.
Browserul [site31] este un program folosit la afiarea de coninut web.
Acesta se impune s poat s interpreteze pagini HTML, s afieze imagini i
alte forme de coninut multimedia, s foloseasc referine (link-uri) etc. Cea mai
important caracteristic a sa este capacitatea lui de a se conecta prin protocolul
TCP la un server web. Metoda de conectare s-a prezentat anterior.
4.Enumerai activitiile ndeplinite de browser cnd joac rolul de
client.
n acest context se impune s se precizieze c introducerea unei adrese
web (de exemplu: http://www.ubbcluj.ro/exemplu.html) n browser, determin
executarea urmtorilor pai:
[site31][site8][Boian1997] .[stanca2007]

1. Browser-ul determin protocolul pe care l va folosi n dialogul cu serverul


web (http:// =
HTTP - HyperText Transfer Protocol).
2. Browser-ul determin adresa web a serverului (www.ubbcluj.ro).
3. Browser-ul determin ce anume trebuie s cear de la serverul web, adic
pagina html
numit exemplu.html.
4. Browser-ul determin adresa IP a mainii pe care ruleaz serverul web prin
interogri
DNS (Domain Name Service) pe baza adresei web introdus n address bar.
5. pe baza adresei IP determinat anterior, browserul va crea o conexiune TCP
pe portul
specificat n URL sau implicit pe portul 80.
6. Browser-ul lanseaz o cerere GET sau POST ctre server specificnd fiierul
dorit: GET
/exemplu.html.
7. Serverul web rspunde trimind fiierul dorit sau o eroare corespunztoare n
cazul n
care trimiterea nu este posibil (lipsa fiierului, drepturi de acces insuficiente
etc.). Aici
conexiunea dintre client i server se ncheie.
8. Browser-ul analizeaz fiierul primit i l afieaz corespunztor.
Browser-ele cele mai cunoscute i deci cele mai folosite sunt: Microsoft Internet
Explorer,
Mozilla, Netscape, Opera, Lynx, etc.[stanca2007]
5. Descriei arhitectura client-server.

Nu e nimic scris..doar poza..ce e scris e ce este mai sus..tot..ca asa o pus


intrebarile de am copy paste la tot document))

6. Definii noiunea de server web i exemplificai.


La fel ca intr nr 2
7. Definii noiunea de browser i exemplificai.
Intr 3
8. Enumerai limbajele de scripting nvate.
9. Ce se petrece pe server atunci cnd se introduce n bara de adrese a
browser-ului
urmtoarea adres http://www.localhost/proiectphp/Index.php?
Intr nr 4
10. Enumerai caracteristicile server-ului Apache.
Apache furnizeaz o implementare robust a protocolului HTTP. Apache suport
o mare varietate de module care i extind funcionalitatea, acestea variaz de la
server side programming i pn la scheme de autentificare i anume: mod_ssl
ofer suport pt SSL i TLS modulul proxyun, modul de rescriere URL (cunoscut
ca un motor de rescriere mod_rewrite), custom log files (mod_log_config) i
suport de filtrare (mod_include i mod_ext_filter).Apache este virtual hosting
(gzduirea virtual), care const n posibilitatea de a gzdui mai multe site-uri
simultan pe acelai server. [Converse_Park_Morgan_2005]Apache2 rmne o
platform pe baza creia indivizii i instituiile pot s construiasc sisteme n
scopuri experimentale i nu numai. Apache este o entitate organic, cei care
beneficeaz de ea prin utilizare contribuie de cele mai multe ori la dezvoltarea
ulterioar a platformei. Dac cineva pltete pentru un produs software, nu va
dori dup aceea s-i repare defectele.[Converse_Park_Morgan_2005]Limbajele
suportate de serverul Apache sunt:PHP, PERL, PYTHON. (Alegeti voi..e aici tot
document)
11. Ce reprezint proiectul Apache?
Proiectul Apache reprezint dezvoltarea unui soft colaborativ care urmrete
cererea i utilizarea unui Web Server puternic i robust. Proiectul era condus de
ctre voluntari din ntreaga lume.Acest grup de voluntari folosete Internet-ul
pentru comunicare, planificri i dezvoltarea serverului i a documentaiei de
rigoare.Ei sunt cunoscui sub denumirea de Grupul Apache (Apache Group).n
plus, sute de utilizatori au contribuit cu idei, coduri i documentaie la acest
proiect.
12. Care sunt caracterisiticile serverului Apache? Argumentai.
Intr nr 10nebuna femeie
13. Care este rolul unui server de web?
)) intrebarile de mai sus
14. Care este protocolul folosite de serverul web n furnizarea paginilor
web? Descriei
caracteristicile acestuia.

Un server web este o tehnologie de informaii care proceseaz cererile prin


intermediul HTTP. HTTP(HyperText Transfer Protocol) este un protocolul de
reea folosit pentru a distribui informaii pe World Wide Web. Ca i alte
protocoale utilizate n Internet, protocolul HTTP (HyperText Transfer Protocol)
este un protocol de tip cerere-rspuns, bazat pe TCP/IP, destinat transferurilor
informaiilor hipermedia. Apache folosete HTTP pentru a comunica cu Internet
Explorer, pentru a analiza URL-ul i a stabili protocolul de conectare n cazul de
fa:-http://localhost. Termenul de server se poate referi fie la ntregul sistem de
calcul, fie la un aparat, fie n mod specific pentru software-ul care accept i
supravegheaz cererile HTTP. Serverele Web au ca funcionalitate de baz
recepionarea de cereri anonime de la clieni i furnizarea de informaii ntr-o
manier dorit a fi eficient i rapid [Ricart1998]. Deci, un server Web este un
daemon care accept conexiuni conform protocolului HTTP, rspunznd
cererilor recepionate de la clieni.
15. Ce este MySQL? Definii acest concept.
MySQL este cel mai popular sistem de management pentru baze de date
relaionale deoarece
este open-source. MySQL Server a fost creat pentru a lucra cu baze de date mai
rapid dect
soluiile deja existente la ora actual pe pia [Graeme-site].
16. Care este modul de funcionare a unui server de baze de date pentru
Web
Funcionarea unui server de baze de date pentru Web, n cazul nostru
MySQL, implic existena a dou elemente: un browser Web i un server. ntre
aceste dou elemente se impune s existe un canal de comunicare. Serverul de
Web funcioneaz n moduri diferite n urmtoarele situaii:
[WellingThomson2005]
n cazul n care server-ul lucreaz cu pagini de web statice, un browser Web
(clientul)
formuleaz cererea ctre server, iar serverul trimite napoi un rspuns.
n cazul n care server-ul lucreaz cu pagini web dinamice care preiau datele
dintr-o baz
de date i le afieaz se realizeaz urmtorii pai: [WellingThomson2005]
browser-ul web al unui utilizator emite o cerere HTTP pentru o anumit pagin
Web;
server-ul web recepioneaz cererea i transfer fiierul ctre motorul PHP, n
cazul nostru,
pentru prelucrare;
motorul php ncepe analiza paginii. n interiorul unei pagini web dinamice
exist o
comand care realizeaz legtura la baza de date i execut interogrile pe care
le trimite

serverului MySql;
serverul MySQL recepioneaz interogarea bazei de date i o prelucreaz, iar
apoi trimite
rezultatele motorului PHP;
motorul PHP afieaz rezultatele furnizate de server-ul MySQL formatate ntrun cod
HTML pe care l returneaz server-ului Web, n cazul nostru Apache.
Server-ul Web transmite codul HTML browser-ului, unde utilizatorului i se
afieaz rezultatul dorit de acesta.
17. Enumerai i descriei faciliti oferite de MySQL.
Facilitile oferite de MySQL sunt variate, dintre care se vor preciza urmtoarele
[BuBois2001]:
posibilitatea accesului concurent la date de ctre un numr nelimitat de
utilizatori;
capacitatea de a gestiona pn la 50000000 de nregistrri i chiar mai multe;
execuia foarte rapid a comenzilor, poate chiar cea mai rapid din cele
existente pe pia;
sistem uor i eficient de gestiune a drepturilor utilizatorilor;
este gratuit, fapt ce a atras extinderea fr precedent a folosirii acestui server
de baze de
date.
18. Enumerai principalele motive pentru folosirea pe scar larg a
MySQL.
MySQL este un sistem de gestiune a bazelor de date. Pentru a aduga, insera i
procesa datele
memorate pe un calculator este nevoie de un astfel de sistem de gestiune a
datelor. Avnd n
vedere c toate calculatoarele sunt destinate pentru memorarea informaiilor,
managementul
bazelor de date joac un rol decisiv, att n gestiunea datelor ca activitate de sine
stttoare, ct i n cadrul aplicaiilor ample [BuBois2001].
MySQL este un sistem multiuser (permite s fie folosit concomitent de mai
muli utilizatori) i multithread (prezint mai multe fire de execuie). Utilizeaz
SQL, limbajul standard de
interogare a bazelor de date.[WellingThomson2005]
MySQL este un sistem de gestiune a bazelor de date relaionale. Tabelele sunt
conectate prin
relaii predefinite, fapt ce face posibil combinarea datelor din mai multe tabele,
la cerere.
MySQL este un produs open source.

MySQL este un sistem client-server care este alctuit dintr-un server SQL
multithread care are faciliti pentru mai muli utilizatori, mai multe programe i
biblioteci client, instrumente de administrare i un numr mare de interfee de
programare. Avnd n vedere c MySQL suport o gam variat de produse
software, exist posibilitatea ca multe din limbajele de programare deja folosite
de anumii utilizatori s suporte deja interfaa cu acest produs [BuBois2001].
19. Explicai mecanismul de funcionare a unui server Web.
Reallyyyy????
20. Enumerai tipurile de date numerice cunoscute. Dai un exemplu de
asociere a unui tip de
date pentru un cmp al unei tabel.
Tipuri numerice sunt: TINYINT, SMALLINT, MEDIUMINT, INT sau
INTEGER,
BIGINT, FLOAT, REAL sau DOUBLE, NUMERIC
21. Enumerai tipurile de date calendaristice cunoscute.
Tipurile de dat calendaristic sunt : DATETIME, DATE, TIMESTAMP, TIME,
YEAR ;
22. Enumerai grupurile n care se mpart de irurile de caractere?
irurile de caractere se mpart n trei grupuri i anume: iruri normale definite
prin tipul
CHAR (fixed length character), respectiv VARCHAR (variable length
character), iruri
text definite prin tipul TEXT respectiv BLOB (pentru iruri lungi sau date
binare) i
irurile care folosesc SET respectiv ENUM pentru valori predefinte.[site11]
23. Definii conceptul de baz de date.
O baza de date poate fi definita ca un ansamblu de date elementare sau
structurate, accesibile unei comunitati de utilizatori. Mai concret, o baza de date,
este un ansamblu de fisiere intercorelate, care contine nucleul de date necesare
unui sistem informatic(aplicatie informatica).
24. Definii conceptul de relaie ntre tabele.
Relaia (tabela) este un subansamblu al produsului cartezian al mai multor
domenii, caracterizat prin nume i care conine tupluri cu semnificaie (tabel).
ntr-o relaie, tuplurile trebuie s fie distincte nu se admit duplicate. O
reprezentare a relaiei este tabelul bidimensional (tabela de date) n care liniile
reprezint tuplurile, iar coloanele corespund domeniilor. Numrul tuplurilor
dintr-o tabel este cardinalul tabelei, numrul valorilor dintr-un tuplu este gradul
tabelei. Pentru a diferenia coloanele care conin valori ale aceluiai domeniu,

eliminnd dependena de poziie, se asociaz fiecrei coloane un nume distinct


atribut. n timp ce tuplurile sunt unice, un domeniu poate aprea de mai multe
ori n produsul cartezian pe baza cruia este definit tabela.
25. Enumerai i explicai tipurile de relaii ce se pot stabili ntre dou sau
mai multe tabele ale unei baze de date.
Tipuri de relaii
Relaia unu-la-unu (1-1) este tipul cel mai simplu de relaie, prin care unui
element din tabela R1 i corespunde un singur element din tabela R2 i reciproc.
Relaia 1-1 este mai rar folosit, n general pentru a reduce numrul de atribute
dintr-o tabel.
Relaia unu-la-mai muli (1-N) este tipul de relaie prin care unui element din
tabela R1 i corespund unul sau mai multe elemente din tabela R2, iar unui
element din tabela R2 i corespunde un singur element din tabela R1.
Relaia mai muli-la-mai muli (M-N) prin care unui element din tabela R1 i
corespunde unul sau mai multe elemente din tabela R2 i reciproc. Acest tip de
relaie este frecvent ntlnit, dar nu se poate implementa direct n bazele de date
relaionale. Pentru modelare se folosete o relaie suplimentar, de tip 1-N
pentru fiecare din tabelele iniiale.
26. Enumerai operaiile care se pot realiza asupra unei tabele dintr-o baz
de date i
exemplificai.
tergerea unui tabel, index, baz de date sau o coloan dintr-un tabel se
face folosind comanda DROP astfel[Chip2/2003]:
DROP TABLE nume_tabel;
DROP DATABASE nume_baza_de_data;
Popularea tabelelor cu nregistrri se face prin comanda INSERT care are
urmtoarea sintax[Chip2/2003]:
INSERT INTO nume_tabel (cmp1, cmp2, cmp3) values (valoare1, valoare2,
valoare3);
Comanda SELECT se folosete pentru a afia toate nregistrrile dintr-o
tabel astfel:
mysql>SELECT * FROM nume_tabel; Comanda SELECT se folosete pentru a
afia toate nregistrrile dintr-o tabel astfel:
mysql>SELECT * FROM nume_tabel;
Modificarea coninutului unei nregistrri se face utiliznd comanda
UPDATE care are sintaxa[Chip2/2003]
UPDATE nume_tabel SET nume_coloan1=`noua valoare a coloanei 1`,
nume_coloan2=`noua valoare a coloanei 2` WHERE condiii
tergerea nregistrrilor dintr-o tabel se face prin comanda DELETE care
are urmtorea sintax [Chip2/2003]:

DELETE FROM nume_tabel WHERE condiii;


27. Care sunt activittiile necesare pentru creare a unui tabel n MySql.
Pasul urmtor n procesul de creare a unei baze de date l constituie crearea
tabelelor ce o
compun. Comanda de crearea a unui tabel are urmtoarea sintax:
CREATE TABLE nume_tabel (nume_cmp tip_cmp);
n procesul de creare a unui tabel activitile sunt:
1. denumirea cmpurilor;
2. alegerea unui tip de date potrivit pentru fiecare cmp;
3. definirea atributelor pentru fiecare cmp n parte;
4. stabilirea coloanei care va juca rolul de cheie primar sau secundar cu
ajutorul creia se
va stabili legtura ctre alte tabele ale bazei de date.
Indexii pentru o tabel se pot crea astfel:
1. fie adugnd la sfritul instruciunii CREATE TABLE... comanda
[Chip2/2003]
INDEX(nume_coloan_index);
2. fie folosind comanda: [WellingThomson2005]
CREATE [UNIQUE|FULLTEXT] INDEX nume_index ON nume_tabel
(nume_coloan_index
[(lungime)[ASC|DESC],...);
28. Care sunt principiile ce se impun a fi respectate n procesul de
proiectare a unei baze de date.
O regul de baz n MySql este c majoritatea comenzilor tastate n
monitorul MySQL de clieni pentru a fi transmise serverului se termin cu ;.
Caracterul ; indic server-ului de baze de date MySql c s-a terminat
introducerea unei comenzi i deci o poate procesa i afia rezultatul.
Crearea unei aplicaii Web dinamice, n marea majoritate a lor, implic
crearea unei baze de date alctuit din una sau mai multe tabele legate ntre ele.
Crearea unei astfel de baze de date n MySql, pentru un magazin virtual care se
ocup cu comercializarea produselor IT, se realizeaz cu comanda:mysql>
create database nume_baz_de_date;
nume_baz_de_date va trebui s fie nlocuit cu numele pe care utilizatorul
dorete s l
acorde bazei lui de date, n cazul nostru magazin.
Vizualizarea bazelor de date existente pe server-ul Mysql de ctre
administrator se face cu comanda: [Chip2/2003]:mysql> SOW DATABASES;
Interogarea de mai sus se termin cu punct i virgul deoarece toate
comenzile SQL trebuie ncheiate astfel pentru a semnala server-ului c s-a

terminat de scris propoziia i c se poate trece la procesarea cererii. Rezultatul


procesrii comenzii de mai sus este afiarea tuturor bazelor de date existente n
directorul data a serverului MySQL.
Selectarea unei baze de date ca fiind cea curent se face prin comanda:
USE nume_baza_de_data;
29. Care sunt situaii n care serverul de Web funcioneaz n moduri
diferite?
30. Definii noiunea de limbaj PHP.
PHP este un limbaj de scripting folosit pentru crearea paginilor Web
dinamice. PHP poate fi folosit pentru scrierea unor programe stocate pe server
ce acceseaz baze de date. PHP este un limbaj eficient i securizat. Aplicaiile
PHP sunt uor de configurat pentru exploatare. PHP asigur timpi de rspuns
competitivi la rularea aplicaiilor Web, asigurnd n acelai timp securitatea
informaiilor i transparena fa de utilizator [Chip2/2003].
Limbajul PHP-ul poate fi folosit pe aproape toate marile sisteme de
operare, incluzand Linux, multe variante de Unix , Microsoft Windows, Mac OS
X, probabil si altele. PHP are deasemenea suport pentru majoritatea serverelor
de web din prezent. Acestea includ serverele Apache,Microsoft Internet
Information Server, Personal Web Server, Netscape , iPlanet si multe altele.
Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte care
suporta standardul CGI, PHP putand sa lucreze ca un procesor CGI.Cu PHP nu
exista limitare in obtinerea unor rezultate doar HTML. Posibilitatile limbajului
PHP-ului includ afisarea de imagine, fisiere PDF si chiar filmulete Flash. PHP
suporta incarcareafisierelor de pe calculatorul client upload si ofera suport
pentru cookies.
PHP este un limbaj ideal pentru construirea de pagini Web dinamice. El
poate fi rulat pe mai multe platforme i se poate conecta la mai multe baze de
date, n particular baze de date relaionale create cu MySQL. Cel mai important
aspect al limbajului este ns posibilitatea de a fi inclus n cod HTML. Se pot
crea pagini HTML statice i din loc n loc, acolo unde este nevoie, s se
introduc dinamism cu PHP.
Limbajul PHP fiind open-source beneficeaz de un sprijin activ din partea
comunitii on-line, acesta fiind i motivul creterii explozive a numrului de
site-uri bazate pe acest limbaj
31. Enumerai facilitile oferite de limbajul PHP.
Limbajul PHP ofer urmtoarele faciliti [Welling2001]:
1. manipularea coninutului paginilor web;
2. transmiterea header-elor HTTP pentru autentificare;
3. setarea cookie-urilor;
4. redirecionarea utilizatorilor;

5. asigurarea spargerii (paser) fiierelor XML;


6. crearea i manipularea imaginilor, animaiilor i a PDF-urilor;
7. conectarea la un server de e-mail.
32. Enumerai caracteristicile limbajului PHP.
PHP, i ntr-o anumit msur i alte limbaje Web, prezint urmtoarele
caracteristici
[Welling2001]:
este interpretativ;
execuia este rapid deoarece interpretorul este inclus n server-ul Web, prin
urmare nu
se cheltuiesc resurse cu configurarea;
este bogat n faciliti, coninnd numeroase funcii utile;
are o sintax simpl, variabilele nu trebuie declarate, tipul acestora se
stabilete la
iniializarea lor cu o valoare i n plus numele de funcii sunt intuitive.
33. Descriei principiul de funcionare a limbajului PHP.
Modul de funcionare a limbajului PHP este urmtorul: browser-ul trimite
ctre server-ul Web o cerere HTTP pentru un fiier PHP. Server-ul recunoate c
fiierul cerut conine cod PHP, n consecin va lansa parser-ul PHP, care va
primi la intrare fiierul respectiv. Parser-ul va identifica secvenele PHP, care n
cadrul codului HTML sunt cuprinse ntre marcajele <? i ?> i le va
interpreta. Tot ce nu este cod PHP este trimis spre ieirea standard fr nici o
prelucrare. Codul PHP poate scrie la rndul su n ieirea standard prin
comenzile prestabilite cum ar fi echo sau print. n final serverul Web
interceptez ieirea standard a parser-ului i transfer totul browser-ului care a
cerut pagina [McCarty2002].
34. Care este efectul comenzii echo();?
n sistemele de operare UNIX, Windows i OS/2, comanda echo tiprete textul
specificat pe linia de comand. Comanda este folosit adeseori n scripturi shell
35. Exist diferene ntre comanda echo(); i print();? Dac da enumeraile?
Comenzile de editare a unei pagini HTML dintr-un script PHP, sunt: echo,
print, print_r, i printf. Toate aceste comenzi mai sunt folosite pentru afiarea
rezultatelor unei funcii, a valorilor unei variabile, a elementelor unui tablou, a
mesajelor text, a valorilor introduse de utilizator n cmpurile unui formular
HTML, pentru a transmite valorile ncadrate ntre ghilimele la browser,etc
36. Ce sunt variabilele PHP? Scriei sintaxa i exemplificai.
Variabilele sunt elemente ce au o anumita valoare la un moment dat. Valoare
unei variabile se poate schimba de-a lungul executiei unui script.

Lucrul cu variabile in PHP este foarte usor. Nu trebuie specificat un tip pentru
ele (de genul "variabila text", "variabila numerica") ci acesta este determinat in
mod automat.
Variabilele sunt diferentiate de celelalte elemente ale limbajului prin caracterul
$. Astfel, o variabila are forma $nume. Numele variabilei poate fi orice
identificator valid (un text ce contine doar litere, cifre si underscore, fara spatii
sau alte caractere; un identificator nu poate incepe cu o cifra)(de pe net..nu este
in material)
Sintaxa unei variabile PHP este:
$nume_variabil=valoare;.

37. Care sunt structurile de control complexe prezente n PHP?


Structurile de control complexe prezente n PHP sunt: [stanca2007]
structura alternativ care se realizeaz cu ajutorul instruciunii IF;
structura repetitiv condiionat anterior care se realizeaz cu ajutorul
instruciunilor
WHILE, FOR i FOREACH;
structura repetitiv condiionat posterior care se realizeaz cu ajutorul
instruciunii DOWHILE;
structura selectiv care se realizeaz cu ajutorul instruciunii SWICH.
instruciuni folosite n cadrul ciclurilor care ofer o flexibilitatea mare n
programarea n
PHP sunt: CONTINUE, BREAK i RETURN.
38. Definii noiunea de constant PHP?
O constant are un tip i o valoare. Att tipul, ct i valoare, sunt
determinate de caracterele care intr n componena constantei. Valoare unei
constante nu poate fi schimbat n timpul execuiei programului n care a fost
utilizat. [Negrescu2000]
Constantele se caracterizeaz prin: [site16]
li se atribuie o valoare care nu poate fi modificat sau ters de-a lungul
execuiei
programului;
constantele nu prezint n sintaxa lor simbolul $ ;
numele unei constante este o succesiune de litere i eventual cifre, primul
caracter este n
mod obligatoriu liter. Aceasta este case sensitiv.
constantele au un caracter global.
definirea constantei se realizeaz cu funcia define().

39. Enumerai i explicai 2 funcii PHP predefinite.


max(x,y,...) returneaz valoarea maxim a unui set de valori;
min(x,y,...) returneaz valoarea minim a unui set de valori;
pow(x,n) returneaz numrul x, ridicat la puterea specificata n;
sqrt(x) returneaz rdcina ptrat a lui x.
40. Care este rolul operatorii relaionali n programarea PHP?
Operatorii relaionali se folosesc n procesul de compararea a dou valori,
variabile, constante,etc. Expresiile n care acetia apar au ca rezultat valori
logice (true sau false). Aceti operatorisunt:
1. Operatorul de atribuire definit de semnul = are rolul de a atribui unei
variabile,
constante o valoare.
2. Operatorul de egalitate se definete prin semnul == i se folosete pentru a
compara
dou valori, expresii, etc.
3. Operatorul diferit este definit prin semnul != i se folosete n acelai scop
ca i
operatorul de egalitate.
4. Operatorul mai mare este definit de semnul > .
5. Operatorul mai mare egal este definit de semnul >= .
6. Operatorul mai mic este definit de semnul < .
7. Operatorul mai mic egal este definit de semnul <=.
41. Care este efectul funcie strcmp()?
int strcmp (string sir1, string sir2) [McCatry2002] are rolul de a compara
caracter cu
caracte cele dou iruri de caractere primite ca parametru. Valoarea returnat
este:
a. <0, dac ir1<ir2;
b. =0, dac ir1=ir2;
c. >0, dac ir1>ir2.
42. Care este efectul funcie substr()?
string substr (string sir, int n [, int m])) [McCatry2002] are rolul de a returna
un subir,
din irul primit ca parametru ncepnd cu poziia n i avnd lungimea m, n caz
c m este
specificat. Din cauz c parametrul m este specificat n sintaxa funciei ntre
paranteze ptrate
nseamn c este opional, deci poate lipsi i atunci se afieaz toate caracterele
irului sir primit

ce parametru ncepnd cu poziia n.


43. Ce aciuni se pot realiza asupra fiierelor n PHP.
PHP, ca orice alt limbaj modern de programare, ofera facilitati avansate in lucrul
cu fisierele. Astfel, folosind cod PHP se pot crea, modifica, manipula si sterge
fisiere.
In orice limbaj de programare, si deci si in PHP, cand se lucreaza cu fisiere
trebuie efectuate urmatoarele operatiuni:
1. deschiderea fisierului
2. citirea din fisier/scrierea in fisier
3. inchiderea fisierului

44. Care este mecanismul de creare a unei sesiuni? Exemplificai.


Sesiuni au rolul de a reine informaiile care trebuie transmise de la o
pagin la alta ntr-o aplicaie PHP. ntr-o sesiune datele pot fi salvate ntr-o
variabil de tip array, numit
$_SESSION. nainte de a folosi aceast variabil pentru a stoca informaiile
trebuie s se apeleze funcia predefinit de deschidere, creare sau reiniializare a
sesiunii. Sintaxa acestei funcii este:[WellingThomson2005] [site27]
[McCatry2002]session_start();
Acest funcie creaz i pornete o sesiune n cazul n care nu exist
niciuna dar n cazul n care aceasta exist o reiniializeaz. Informaiile din
sesiune sunt pstrate pe server n directorulpentru fiiere temporare, adic
Temp dar acestea pot fi memorate i ntr-o baz de date.
45. Care este mecanismul de creare a unei cookies? Exemplificai.
Cookie aceast noiune este utilizat generic ca bloc de date. n prezenta
abordare se va utiliza aceast noiune n sensul uzual din WWW
[Microsoft1999]: ...bloc de date pe care un server Web l stocheaz ntr-un
sistem client. Cnd utilizatorul revine la site-ul Web respectiv, browser-ul trimite
serverului o copie a prjiturii. Prjiturile sunt utilizate pentru a identifica
utilizatorii, pentru a instrui server-ul s transmit o versiune personalizat a
paginii Web cerute, pentru a prezenta informaii referitoare la contul
utilizatorului i pentru operaii cu character administrativ. Dezavantajul
folosirii doar a blocurilor cookie n programarea paginilor web provine din
faptul c pe de o parte unele browsere nu le accept, pe de alt parte exist
utilizatori care le dezactiveaz din browser-ele lor. PHP tocmai din acest
considerent folosete metoda dual bloc cookie/URL

46. Ce este un tablou bidimensional? Care este rolul unui tablou


unidimensional? Creai un tablou unidimensional.
n PHP un tablou multidimensional este o reuniune de tablouri
unidimensiomale. Deci, fiecare element al lui este un tablou. Crearea tablourilor
multidimensionale n PHP se realizeaz prin declararea mai multor tablouri
unidimensionale ce reprezint linile tabloului iar elementele acestora reprezint
coloanele. Sintaxa funciei array(); pentru crearea tablourilor multidimensionale
este:[site21]
array( [index1 =>] array ([index=>] value, ... ),
[index2 =>] array ([index=>] value, ... ),
...
[indexn =>] array ([index=>] value, ... )
);
Unde index1,...,indexn poate fi un sting sau un ntreg formnd liniile
tabloului.
index poate fi de tipul integer sau string. Acest index poate fi identic (nu e
obligatoriu) pentru
fiecare linie fiind interpretat ca numele coloanelor tabloului declarat;
valoare poate fi de orice tip.
n majoritatea limbajelor prin tablou se nelege o mulime de date de
acelai tip cu acceai structur. Tablourile sunt alctuite din elemente i indici.
n PHP i nu numai, tipurile cele mai utilizate de tablouri sunt: tablouri
unidimensionale i bidimensionale. n cadrul unui tablou activitile care se pot
realiza sunt:
1.Crearea tablourilor n PHP se realizeaz prin atribuirea explicit a unei valori
fiecrui elemet al acestuia, cu funciile array();. Sintaxa funciei array(); este:
[site21]array( [index=>] value, ... )
;unde index poate fi de tipul integer sau string;
valoare poate fi de orice tip.
Funcia array(); permite crearea n dou moduri a tablourilor i anume:
a)Primul mod de creare a unui tablou cu funcia array const n omiterea
parametrului optional numit indice, existent n sintaxa acesteia, rezultatul fiind
urmtorul: [Stanca2007]
<? $oamenii_la_masa = array(Mila,Cristian,Mioara) ;?>
Funcia array(); este de fapt o construcie a limbajului PHP la fel ca echo. n
exemplul de mai
sus s-a creat un tablou numit $oamenii_la_masa care conine 3 elemente de tipul
string.
b) Al doilea mod de creare a unui tablou cu funcia array(); const n folosirea
parametrului
opional numit indice, existent n sintaxa acesteia, rezultatul fiind urmtorul:
[Stanca2007]

<?$oamenii_la_masa = array (33=>Irinel, 2=>Mioara, 7=>Victorel ) ;?


>
47. Care sunt operaiile ce se pot realiza cu un tablou unidimensional?
Exemplificai.
2.Modificarea datelor din tablouri se realizeaz cu urmtoarea sintax:
[Stanca2004.3]
$nume_tablou[indice]=valoare ;//indice poate fi att de tipul ntreg
// ct i de tipul string
sau
$nume_tablou[]=valoare;
n cazul tabloului creat n exemplele anterioare dac se dorete s se modifice
valoarea
existent pe poziia a doua, adic n loc de "Marian" la mas s fie "Mirina" se
va face astfel:
[Stanca2007]
<? $oamenii_la_masa = array(Ionela,Marian,Mirel);
$oamenii_la_masa[1]= "Mirina";
print_r($oamenii_la_masa);
// afieaz datele din tabel mpreun cu indicii acestora ?>
3.tergerea[site21] unui tablou se face cu ajutorul funciei unset();. Dac se
dorete s se
tearg toate elementele unui tablou se procedeaz astfel:
<? $oamenii_la_masa = array(33=>Ionita,Morico,Tinel) ;
unset($oamenii_la_masa);// tergerea unui tablou
foreach($oamenii_la_masa as $element)
echo $element; // nu se va afisa nimic dearece tablou e ters ?>
4. Copierea datelor din tabloul $oamenii_la_masa n tabloul $oamenii_la_masa1
se face
utiliznd operatorul de atribuire astfel: [Stanca2007]
< ? $oamenii_la_masa1 =$oamenii_la_masa;?>
5.Afiarea datelor dintr-un tablou se face folosind construcia echo, numele
tabloului i indicia pe care s-au memorat elementele tabloului ca n exemplul
urmtor : [Stanca2007]
< ?$oamenii_la_masa = array(Crinela,Mirita,Vivi)
echo "$oamenii_la_masa[0] $oamenii_la_masa[1] $oamenii_la_masa[2]"; ?>
48. Care este rolul instruciunii For n programarea php? Exemplificai.
structura repetitiv condiionat anterior care se realizeaz cu ajutorul
instruciunilor
WHILE, FOR i FOREACH;
for este o instructiune de tip bucla.

for (expresia1; expresia2; expresia3) {


instructiuni de executat;
}
?>
expresia1 este evaluata la inceputul buclei
expresia2 se verifica la inceputul fiecarei iteratii
expresia3 se executa la sfarsitul fiecarei iteratii
constructia for poate functiona si fara una sau toate aceste expresii
49. Care sunt pai de realizare a accesului la bazele de date relaionale din
pagini PHP
PHP include o bibliotec de funcii care furnizeaz o interfa cu sistemul
MySQL. Folosind aceste funcii, un programator PHP poate obine accesul la
datele rezidente ntr-o baz de date MySQL i le poate modifica.
Majoritatea interaciunilor cu o baz de date se desfoar dup un model
secvenial simplu i anume [PHP2-site]:Se deschide o conexiune cu server-ul
MySQL. Pentru a se putea realiza conectarea la un server MySQL, trebuie s se
invoce funcia mysql_connect( ), a crei sintax este urmtoarea[PHP2-site]:
mysql_connect (nume_gazd, nume_utilizator, parol);
Conectarea cu succes la baza de date permite realizarea de interogri
SQL, urmate de
obinerea accesului la rezultatele interogrilor i apoi se execut operaii
nonSQL:
mysql_query($interogare);. Funcia mysql_query(); execut interogarea primit
ca parametru i returneaz TRUE dac interogarea a fost efectuat cu succes i
FALSE n caz contrar. Aceast funcie se atribuie unei variabile n care se
depune valoarea returnat de aceasta numitidentificator de resurse
50. Enumerai i descriei paii de modificarea datelor n cadrul unei tabele
a unei baze de date. Exemplificai
Modificarea coninutului unei nregistrri se face utiliznd comanda
UPDATE care are sintaxa[Chip2/2003]
UPDATE nume_tabel SET nume_coloan1=`noua valoare a coloanei 1`,
nume_coloan2=`noua valoare a coloanei 2` WHERE condiii
51. Enumerai i descrii paii de afiare a datelor n cadrul unei tabele a
unei baze de date.Exemplificai
Comanda SELECT se folosete pentru a afia toate nregistrrile dintr-o
tabel astfel:
mysql>SELECT * FROM nume_tabel; Comanda SELECT se folosete pentru a
afia toate nregistrrile dintr-o tabel astfel:
mysql>SELECT * FROM nume_tabel;

52. Enumeri i descrieti paii de tergere a datelor n cadrul unei tabele a


unei baze de date.Exemplificai
tergerea nregistrrilor dintr-o tabel se face prin comanda DELETE care
are urmtorea sintax [Chip2/2003]:
DELETE FROM nume_tabel WHERE condiii;
53. Enumeri i descrieti paii de inserare a datelor n cadrul unei tabele a
unei baze de date.Exemplificai
Popularea tabelelor cu nregistrri se face prin comanda INSERT care are
urmtoarea sintax[Chip2/2003]:
INSERT INTO nume_tabel (cmp1, cmp2, cmp3) values (valoare1, valoare2,
valoare3);

54. Descriei metodele de baz pentru colectarea informaiei din formulare


HTML folosind PHP.
Folosind PHP-ul, se ntlnesc trei metode de baz pentru colectarea informaiei
din formulare
HTML, i anume : [Stanca2007]
1. un fiier .html static conine un formular care trimite valorile sale ctre un
fiier php.
2. un fiier .php poate s creeze un formular care s trimit informaia ctre un
alt fiier
.php.
3. un fiier .php poate s creeze un formular care s trimit informaia chiar ctre
fiierul
php care conine formularul.
55. Cum se transmit datele dintr-un formular existent ntr-o pagin Web
ctre server Web?
Datele dintr-un formular existent ntr-o pagin Web sunt transferate ctre
server utiliznd numele fiierului php ca valoare pentru atributul ACTION i
preciznd una din metodele GET sau POST ca valoare pentru atributul
METHOD a tag-ului <FORM>. Elemetele formularului au asociate cte un
nume cruia i se atribuie de fapt valoarea introdus de utilizator n acestea, care
se vor transmite serveru-lui spre prelucare. Variabilele superglobale $_POST
i $_GET sunt nite array-uri care conin toate datele transmise din formular
cu una din cele dou metode.
56. Descriei mecanismul de funcionare a prelucrrii datelor din cadrul
unui formular.

Modificarea datelor n cadrul unei tabele a unei baze de date presupune


realizarea urmtorilor
pai :
1. conectarea la baza de date i efectuarea unui SELECT asupra tabelei n
funcie de o
condiie pentru a se obine nregistrarea care se dorete a fi modificat;
2. crearea unui formular n care s se afieze datele nregistrrii care urmeaz a
fi
modificate;
3. aciunea de modificare efectiv care se va realiza cu ajutorul comenzii
UPDATE a crei
sintax este :[site30]
UPDATE nume_tabel SET coloana_1='$valoare_1', coloana_2=
'$valoare_2',...,
coloana_n='$valoare_n' WHERE condiie;
57. Care sunt metodele folosite din cadrul unei pagini PHP pentru a
transmite datele ctre server? care este rolul acestei aciuni?
Acelasi lucru ca la intr 55
58. Care este rolul interfaelor CGI, Perl, ASP i PHP n programare?
Web-ul a dobndit un plus de interactivitate prin utilizarea programelor
create, folosind interfae CGI, Perl, ASP i PHP. Aceaste programe au permis
scrierea de coduri surs cu rolul de a trimite de la browser spre server-ul WEB
att a informaiilor standard coninute n antetul
HTTP al cererii ct i informaii n alte dou moduri i anume: [Stanca2004.3]
printr-un formular <FORM> ;
ca un ir de cereri adugate la sfritul URL-ului.
59. Care este rolul Variabilele superglobale $_POST i $_GET?
Variabilele superglobale $_POST i $_GETnsunt nite array-uri care conin
toate datele transmise din formular cu una din cele dou metode.
$_GET este un tablou ce conine variabile transferate scriptului prin metoda
GET;
$_POST este un tablou ce conine variabile transferate scriptului prin metoda
POST;
60. n procesul de creare a unui proiect web este necesar o baz de date
creat cu MySql? Dac da argumentai.
Eu zic ca nu ) si asa nu mai arguentam nimic

RETELE
1. Descriei tehnica CSMA/CD.
Aceast tehnic rezult din utilizarea tehnicii CSMA mpreun cu tehnica
"ascult ce transmii" (figura 11.1.). Principiul de baz este c, dup ce sursa
transmite pachetul, ateapt un interval foarte scurt de timp (dependent de
ntrzierile de propagare i de sistem) apoi i ascult propria transmisie. Dac
sursa, atunci cnd acioneaz ca receptor al propriei transmisii, detecteaz o
diferen ntre informaia recepionat fa de cea transmis, va deduce c s-a
produs o coliziune pe canal, va trunchia pachetul n curs de transmisie i va
cuta s rezolve coliziunea, organiznd dup un algoritm specific retransmiterea
ulterioar a acestuia. Este uzual ca sursa de pachete care detecteaz prima
coliziune s ia imediat decizia de difuzare pe canal a unui semnal de bruiaj
specific de scurt durat ( jamming ), n acest fel este asigurat consensul de
coliziune ntre toate sursele de pe canal implicate n interfa.
Avantajul esenial al acestei tehnici const n faptul c ea permite
detectarea prompt a unei coliziuni, adic imediat ce ea apare i nu dup un
interval de timp, evitndu-se transmiterea complet a pachetelor colizionate i se
reduc nu numai ntrzierile din reea datorate coliziunilor, dar i canalul de
difuzare devine disponibil mai repede. Intervalul de timp n care se pot produce
coliziuni dup ce o staie a nceput emisia este de 2, unde este ntrzierea de
propagare a semnalelor ntre cele mai ndeprtate staii. Deci o staie poate fi
sigur c a ocupat linia, dup ce areuit s transmit o perioad de lungime 2,
fr s se produc coliziuni.
2. Descriei formatul pachetului Ethernet IEEE 802.3
Standardul Gigabit Ethernet IEEE 802.3z
In iulie 1999, dup luni de studii iniiale, grupul IEEE 802.3 a creat grupul
operativ Gigabit Ethernet 802.3Z.Obiectivelecheie ale acestui grup operativ
erau s dezvolte un standard Gigabit Ethernet care face urmtoarele:
Permite operarea semi i ful-duplex la viteze de 1000 Mbps.
Folosete formatul cadrului Ethernet 802.3.
Folosete metoda de acces CSMA/CD cu suport pentru un repetor pe domeniul
de coliziune.
Realizeaz o compatibilitate de adresare cu tehnologiile 10 BASE-T i 100
BASE-T.
Se folosesc trei tipuri pentru liniile de legtur: o legtur prin fibr optic cu o
lungime maxim de 550 m multimod; o legtur prin fibr optic single-mod
cu o lungime maxim de 3 km ( extins la 5 km) i o legtur prinfibr de cupru
cu o lungime maxim de 25 m. In prezent IEEE investigheaz tehnologia care
ar susine legtura la distane de cel puin 100 m prin srm rsucit n pereche
neprotejat (UTP) de categoria 5. n completare grupul operativ IEEE 802 a

decis s includ o specificare pentru o interfa independent numit Gigabit


Media Independent Interface(GMII) .
3. Descriei comparativ funcionarea unui HUB i a unui
comutator(SWITCH).
1.1.2.8 Distribuitoare(HUB-uri)
Pe lng plcile de reea(NIC-Network Interface Card sau NIU-Network
Interface Unit), conectori i cabluri
de legtur avem i elemente de distribuie care se mai numesc i HUB-uri.
Hubul este cunoscut sub numele de repetor sau concentrator. Prima lui funciune
este s primeasc i s regenereze semnalele de la dispozitivele conectate. Toate
repetoarele 10Base-T sunt considerate ca funcionnd la fel. Repetoarele pentru
Ethernetul rapid sunt mprite n dou clase distincte: Clasa I i Clasa II.
1.1.2.9 Comutatoare (switch-uri)
Datorit strangulrii benzii de trecere de numai 100Mb/s(sau 10 Mbs la
Ethernetul calsic), oferit de
tehnologia Ethernet rapid i din cauza necesarului tot mai mare de band de
trecere cerut de noile aplicaii multimedia s-a impus utilizarea comutatoarelor
Ethernet. Se folosete configuraia de tip stea ca i la 100Base-T. Avantajul
utilizrii acestor comutatoare este c fiecare staie obine n ntregime o band de
100Mb/s, fr a mai fi nevoie s o mpart cu alte staii (fr a avea domeniu
comun de coliziuni cu alte staii). Acest lucru este realizat prin utilizarea unei
magistrale de semnale extrem de rapide aflat n comutatorul Ethernet i poate
avea viteze de peste 2Gb/s.Comutatorul "nva" adresele MAC i le stocheaz
ntr-o tabel de cutare intern. ntre expeditorul i destinatarul unui cadru este
creat o cale comutat temporar, iar cadrul este trimis de-a lungul acestei ci
temporare. n acest mod, zeci de staii utiliznd adaptoare Ethernet rapid pot
comunica, fr a se mai produce coliziuni.
Intr-un concentrator comutat (comutator care funcioneaz pentru Ethernet rapid,
deci la 100Mb/s la fiecare port
i deci fiecare statie avnd propriul su domeniu de coliziuni), fiecare cadru
sosit este memorat ntr-un modul de intrare. Dei aceast conectare este cu mult
mai scump dect cea n care se folosete un repetor, datorit faptului c un
commutator este cu mult mai scump dect un repetor, totui faptul c toate
staiile pot transmite (i primi) n acelai timp pachete, mbuntind
semnificativ banda total a sistemului (de cele mai multe ori cu un ordin de
mrime sau chiar mai mult), face acest mod de conectare cu mult mai atrgtor.
Cadrele memorate sunt trecute printr-un fund de sertar de vitez mare de la placa
surs la placa destinaie.
4. Enumerai i descriei funciile nivelului reea
Asigur dirijarea pachetelor de date ntre nodurile surs i destinaie, trecnd
prin noduri intermediare. Decizia este luat astfel nct s nu existe n acelai

timp legturi suprancrcate i legturi neutilizate, evitndu-se deci


congestionarea reelei. O alt funcie important a nivelului reea este de
interconectare a reelelor cu arhitecturi diferite
Algoritmii de rutare, referii ca i protocoale la nivel reea, permit ghidarea
pachetelor de date prin subsistemul de comunicaii, de la surs la destinaie. In
reelele de tip datagram, dou pachete succesive ale aceluiai utilizator pot
traversa diverse rute, pentru fiecare pachet individual fiind necesar o decizie de
rutare. In reelele cu circuite virtuale, decizia de rutare este luat la conectare.
5. Desenai i descriei suita de protocoale TCP/IP
6. Descriei tipurile de adrese IP
Mai nou a fost introdus distincia ntre adrese publice i adrese private. Se
numesc adrese publice cele care sunt obinute de la autoritile de alocare a
adreselor i sunt rutate pe Internet. Aceste adrese au caracter de unicitate, n
sensul c nici o adres nu este alocat multiplu. Datorit creterii explozive a
conectrilor la Internet a aprut preocuparea fa de epuizarea adreselor pe 32 de
bii i una din soluiile adoptate pentru evitarea acestui fenomen a fost s se
rezerve cteva adrese care s poat fi utilizate intern(privat) de orice organizaie,
fr a fi vizibile n afara organizaiei(nu vor fi rutate n afara organizaiei). Astfel
de adrese private sunt:
10.0.0.0-10.255.255.255 -reea de clas A
172.16.0.0-172.16.255.255-reea de clas B
192.168.0.0.-192.168.255.255-bloc de reele de clas C
7. Desenai i explicai antetul unui pachet IP.
Modulul IP pregtete un antet specific care va fi ataat blocului de date
formnd astfel un pachet.Tot el gsete adresa imediat de destinaie, adic
adresa porii n cadrul reelei surs. Pachetul astfel pregtit este transmis
interfeei locale de reea, care va aduga la rndul su un antet specific i l va
trimite porii.
IHL: cmp de 4 bii care d lungimea antetului din cuvintele de 32 de bii. Acest
cmp este cerut din cauza lungimii variabile a cmpului opiune. Dac nu este
prezent nici un cmp opiune, valoarea minim a cmpului va fi 5.
Chek: suma de control a antetului IP (excluznd cmpul de date).

8. Descriei protocolul ICMP; la ce folosete.


Pe lng pachetele IP care conin articole de date ce sunt schimbate de nodurile
IP, este nevoie s se schimbe pachete IP coninnd date de control. Aceste date
sunt folosite pentru a asigura funcionarea corect a reelei IP ca un ntreg i
pentru a raporta orice erori. In stiva de protocoale IP, este inclus un protocol
specializat n vrful stivei pentru a sprijini schimbul acestui tip de informaie
ntre nodurile IP. ICMP se cere a fi suportat de fiecare nod IP din reea i include
urmtoarele servicii:
notificarea destinaiei care nu poate fi atins, adic, atunci cnd un nod IP
primete un pachet IP care nu poate fi trimis deoarece lipsete informaia de
rutare sau datorit lipsei unor conexiuni reea, nodul poate trimite un pachet
ICMP nodului IP transmitor informndu-l despre imposibilitatea trimiterii
pachetului pe care l-a primit.
notificarea timpului depit, adic, atunci cnd un nod IP primete un cadru IP
care se plimb prin reea de prea mult timp (TTL=0), poate descrca acest
pachet i trimite un mesaj ICMP gazdei origine.
notificarea parametri ilegali, atunci cnd un nod IP detecteaz un pachet IP
ilegal, poate trimite un mesaj ICMP gazdei IP origine.
notificarea tergerii sursei, dac traficul IP ntr-un nod IP devine prea ncrcat,
nodul IP poate trimite un cadru "stingere surs" altor noduri IP pentru a micora
ncrcarea. Aceste mesaje sunt utilizate pentru a implementa o schem de
control a disputelor.
notificarea redirectrii, dac un mod IP detecteaz c trebuie s dirijeze un
cadru IP ctre nodul cu acelai "netid" ca i nodul Ip anterior din rut,
informeaz nodul precedent c exist o rut utiliznd un mesaj ICMP.
notificarea cerere - ecou i rspuns. Pentru a fi capabil s verificm dac o rut
n cadrul reelei IP este disponibil, este adesea folositor s fim capabili s
trimitem un cadru IP unui nod IP arbitrar i s primim un rspuns. ICMP
furnizeaz un mecanism simplu de ecou ntrebare/rspuns.
notificarea cerere/rspuns marc de timp. Pentru a determina ntrzierea pe o
cale din reeaua IP, ICPM susine cererea unei mrci de timp pentru un nod IP.

Aceast marc de timp poate fi utilizat pentru determinarea timpului necesar


unui cadru IP de-a lungul unei ci reea.
Dei ICMP utilizeaz serviciile nivelului IP pentru a trimite mesaje ICMP, este
adesea vzut ca parte a nivelelor IP. Serviciile ICMP-ului sunt utilizate de ctre
nivelul IP pentru a menine operarea corect a reelei IP.
9. Protocoalele ARP i RARP.
Protocoalele ARP i RARP
Dup cum am vzut, adresele Ethernet au ase octei. Toate datele transmise
printr-o reea cu tehnologie Ethernet trebuie s utilizeze cadre Ethernet. Plcile
de interfa nu dein i nici nu necesit informaii despre adresele IP, care au 32
de bii i sunt utilizate pentru localizarea plcii de interfa i a calculatorului
care o conine. Cu alte cuvinte, protocoalele TCP/IP lucreaz numai cu adrese IP
i cadrele Ethernet lucreaz numai cu adrese Ethernet.
Diversele tipuri de adrese reprezint o problem a comunicaiei n reea.
Protocolul de rezoluie adres(ARP) i Protocolul de rezoluie adres invers
(RARP) rezolv aceast problem prin conversia adreselor. Acestea transform
adresa IP ntr-o adres a nivelului legtur de date i invers.
10.Funciile nivelului transport
Una din funciile importante a nivelului transport este multiplexarea
conexiunilor. Multiplexarea "n sus" const n utilizarea unei conexiuni reea ca
suport al mai multor conexiuni de transport. In acest fel se utilizeaz mai eficient
reeaua n care traficul pe fiecare conexiune de transport este redus.
Multiplexarea "n jos" const n utilizarea mai multor conexiuni de reea
pentru o singur conexiune de transport astfel nct se urmrete viteza de
transmitere a datelor n cazul unui flux ridicat. La fel de important este controlul
fluxului datelor, aspect ntlnit i la nivelul legturii de date. Complexitatea
acestuia, n contextul nivelului transport este determinat de numrul mult mai
mare de conexiuni gestionate i de intervalele de timp mult mai mari n care
mesajele trebuie pstrate pentru eventuale retransmiteri.
O alt problem se refer la lungimea unitilor de date care se poate
modifica prin blocare, adic se colecteaz mai multe mesaje ntr-o singur
unitate de date de protocol sau segmentare adic mprirea unui mesaj n mai
multe uniti de date de protocol.
Dei nivelul transport asigur conexiuni utilizabile simultan n ambele
sesiuni (duplex), multe aplicaii necesit o coordonare a dialogului n care doar
unul din interlocutori poate transmite la un moment dat.
11.Desenai i descriei antetul protocolului TCP.

Portul surs (16 bii) -mpreun cu adresa sursei formeaz soclul sursei.
Portul destinaie (16 biti) -numrul portului destinaie selecteaz procesul din
calculatorul destinaie cu care s-a stabilit o conexiune.
Numrul de secven (32 bii) - reprezint numrul primului octet de date din
cadrul segmentului de date curent. Dac bitul de control SYN este setat, numrul
de secven este adus la valoarea sa iniial.
Numrul de confirmare (32 bii) -conine valoarea urmtorului numr de
secven pe care trebuie s-l primeasc.\
Lungime antet date (offset date) (4 biti) conine lungimea antetului TCP n
cuvinte de 32 bii indicnd de unde ncep datele.
Rezervat (6 bii) -iniializai cu 0.
12.Descriei i desenai antetul protocolului UDP.

Pentru implementarea serviciilor de multiplexare i demultiplexare pentru


nivelul transport, protocolul UDP, s-a introdus ca i la TCP conceptul de porturi

UDP. Un numr de porturi UDP, n combinaie cu adresa IP a nivelului reea


local formeaz o identificare unic a portului UDP. Combinarea a dou porturi
UDP conectate, identific o legtur UDP. Pachetele de date trimise de un capt
sunt recepionate la cellalt capt (de un port) de-a lungul unei legturi UDP.
Aplicaiile conectate la un port UDP iau parte la o conversaie ntr-o legtur tip
UDP.
Structura pachetului UDP este simpl n comparaie cu structura unui pachet IP.
pachet UDP: = {
Port Surs (octet 1:2)
Port Destinaie (3:4)
Lungime (5:6)
Verificare (7:8)
Data (9:...)
};
Cmpurile au urmtoarea semnificaie:
Port Surs: portul surs UDP;
Port Destinaie: portul destinaie UDP;
Lungime: lungimea pachetului UDP n octei;
Verificare: suma de control opional a ntregului pachet UDP;
Data: data propriu zis transportat de ctre pachetul UDP, n mod normal un
pachet IP.
Un pachet IP este transportat la nivelul UDP destinaie ncapsulat n cmpul dat
al pachetului IP. Pachetul IP poate, de exemplu, fi transportat ntr-un cadru
Ethernet. Intregul proces de ncapsulare este descris n figura 11.9
13.Enumerai i descriei funciile sistemului de gestionare a reelelor.
Gestiunea configuraiei implic legarea prin puni i reconfigurarea sistemelor
utilizator precum i a subreelelor, incluznd puni i rutere, gestionarea folosirii
numelor i asocierea acestora cu adresele de reea. Acest bloc este fundamental
pentru buna funcionare a sistemului de gestiune a reelelor. El include
urmtoarele funciuni:
gestionarea de atribute ale dispozitivelor, setarea i modificarea valorilor
individuale, colective sau predefinite ale acestora;
gestionarea iniializrii i a opririi n totalitate sau a anumitor pri din reea;
inventarierea sarcinilor de gestionare a unei organizaii care are construit o
baz de date privind toate echipamentele (modemuri i multiplexoare), precum
i a circuitelor i echipamentelor logice;
actualizarea topologiei de gestionare prin identificarea tuturor relaiilor de
interconectare;
schimbarea modului de gestionare a reelei i a elementelor de reea prin
adugarea, tergerea i aducerea la zi a informaiilor care s reflecte schimbrile
fcute ntre diverse componente;

identificarea gestionrii directorilor i corelaiile tuturor numelor pentru un


serviciu dat i permiterea sincronizriiacestora cu baza de date.
Gestiunea defectelor este implicat n ntreinerea subreelelor prin detectarea
defectelor, izolarea erorilor i corectarea defectelor de comunicaie.
La identificarea problemelor este important s se clarifice diferena dintre
defecte i erori. Un defect este o situaie anormal care necesit atenionarea
managerului.
Erorile pot apare ocazional (ex. erori CRC). Componentele principale n
gestionarea defectelor sunt: detectarea defectului n cazul cnd nivelul erorilor
depete o anumit limit i atenionarea utilizatorilor privind componenta
defect, precum i meninerea strii reelei n timpii de rspuns normali.
Diagnoza defectului se face printr-o secven de test capt la capt, lansat de la
terminal la terminal, de-a lungul unui circuit, iar izolarea lui, prin identificarea
componentei specifice care a cauzat erorile. Corectarea defectelor se face prin
configurarea managementului de corectare a defectelor i prin reconfigurarea
reelei pentru evitarea componentei defecte precum i analiza erorilor pentru a
vedea dac problemele corectate mai pot apare dup rezolvare.
Gestiunea performanei trebuie s urmreasc creterea performanelor, astfel
nct s creasc eficiena reelei prin evitarea gtuirilor n noduri i pe rute.
Managerul de reea definete nivelele unei performane acceptabile, de exemplu
prin msurarea timpului de rspuns n reeaua de date sau gradul de servire
pentru o reea de voce. De asemenea, el poate alege componentele reelei care
vor fi monitorizate prin parametrii lor i nivelele parametrilor.
Monitorizarea este necesar pentru a-l ajuta pe manager s vad performana
curent a reelei i s o urmreasc de la caz la caz, din or n or, zilnic,
sptmnal sau lunar precum i n momentele de trafic maxim.
Gestiunea costurilor reelei ajut la definirea bugetului pentru reea. Utilizatorii
sunt informai asupra costurilor pentru resursele consumate precum i alocarea
acestor costuri pe diverse departamente.
Gestiunea securitii reelei este necesar pentru monitorizarea i controlarea
mecanismelor de protecie a datelor. Aceasta asigur o continu protecie a cilor
de comunicaie. Principalii parametri de securitate sunt: confidenialitatea,
integritatea i disponibilitatea (adic validarea numelor i controlul accesului).
Funciile de securitate a reelei cuprind i responsabiliti administrative de
generare, distribuire i memorare a cilor de criptare.Aceste caracteristici ale
gestionrii reelelor se situeaz la nivelul aplicaiei n ierarhia OSI.
1.
2.
3.
4.

5 legi ale lui de morgan


legea dublei negaii sau a complementului ~~P=P;
idempotena: P^P=P, respectiv P P=P;
legea absorbiei, P ^ (P Q)=P.
~( P ^ Q ) = ~P ~Q
~(P~Q)=~P ~(~Q)= ~PQ.

2.Legea dublei negatii


legea dublei negaii sau a complementului ~~P=P;
3.Axiome
Axiomele de baz ale algebrei booleene sunt:
1 comutativitatea:
P ^ Q = Q ^ P, respectiv P Q = Q P
2 asociativitatea:
P ^ ( Q ^ R) = ( P ^ Q )^ R, respectiv P ( Q R) = ( P Q ) R
3 proprietatea lui ^ i , adic:
P ^ T = P i P ^ F = F, respectiv P T = T i P F = P
4 proprietatea negaiei, adic: P ^ ~P = F respectiv P ~P=T
5 distributivitatea lui ^ fa de i a lui fa de ^

4. Stratrgia bazata pe rezolutie, rezolvare


regula de rezoluie fundamental n demonstrarea automat,
Modus-ponens caz particular al regulii rezoluiei
Regula rezolvrii permite s combinm 2 formule disjuncte n care apare
atomul A i negatul lui, eliminnd atomul respectiv.
1.Ce este un arbore rou i negru i ce proprieti are?
Un arbore rou-i-negru este un arbore binar de cutare la care fiecare nod are
bit suplimentar, reprezentnd culoarea: rou sau negru. Fiecare nod de arbore
conine urmtoarele campuri: cheia, culoarea, nodul stng, nodul drept i
printele.Un arbore rou i negru este un arbore binar de cutare cu urmtoarele
proprieti:
1. Fiecare nod este sau rou sau negru
2. Rdcina este negru
3. Fiecare frunz (NIL) este neagr
4. Dac un nod este rou, atunci amndoi copii sunt negrii5.
Pentru fiecare nod, toate cile simple de la nodul respectiv la frunzele
descendente conin acelai numr de noduri negre

Punnd constrngeri asupra culorilor nodurilor oricrei ci simple de la


rdcin la frunze, arborii rou i negru asigur c nici una din aceste chei nu
este de dou ori mai lung dect oricare alta; n consecin arborele este
aproximativ balansat.
2. Prezentai i explicai algoritmul lui Kruskal de determinare a unui
arbore de
acoperire minim.
Algoritmul lui Kruskal de determinare a unui arbore de acoperire minim se
bazeaz pe algoritmul generic .Algoritmul gsete o muchie sigur (u,v)
dintre toate muchiile care conecteaz 2 arbori n pdurea de arbori pentru a o
aduga la pdurea dezvoltat. Muchia sigur (u,v) este muchia cu costul minim
care unete doi arbori din pdurea respectiv. Folosete o structur de date
pentru mulimi disjuncte pentru a reprezenta mai multe mulimi de elemente
disjuncte.
Fiecare mulime conine vrfurile unui arbore din pdurea curent. Funcia
FIND-SET(u) returneaz un element reprezentativ din mulimea care l conine
pe u. Astfel, putem determina dac dou vrfuri u i v aparin aceluiai arbore
testnd dac FIND-SET(u) este egal cu FINDSET(v). Combinarea arborilor este
realizat de procedura UNION.

3. Ce este un heap i ce proprieti ndeplinesc elementele lui?


Heapsort utilizeaz o structur de date numit heap.
Un heap (o movil) este un vector care poate fi vizualizat sub forma unui arbore
binar aproape complet cu proprietatea c cheia fiecrui nod din arbore este mai
mare dect cheile descendenilor (deci fiecare nod are o cheie mai mic sau
egal cu cea a tatlui su).Ultimul rnd al arborelui se completeaz de la stnga
la dreapta.Un heap poate fi reprezentat sub forma unui arbore binar sau sub
forma unui vector.
4.Ce este un tip de date i ce este un tip abstract de date (ADT Abstract
Data Type)?
Un tip abstract de date (Abstract Data Type ADT) este un tip de date necesar
unui analist, dar care este posibil s nu existe n limbajul de programare ceea ce
impune necesitatea implementrii lui. De exemplu tipul abstract Boolean
reprezentat prin cele dou valori de adevr true i false. n limbajul Basic acesta
este implementat prin iruri de caractere (true i false) dar n limbajul C nu

exist acest tip de date, programatorii putndu-se folosi de faptul c valoarea 0


nseamn ntotodeauna false iar orice valoare diferit de 0 .
5. Ce este o stiv i care sunt procedurile de depunere i extragere dintr-o
stiv?
Stiva este o structur de tip LIFO (Last In First Out) elementul ce ar urma s fie
ters este ultimul element adugat ntr-o astfel de structur. Exist dou
modaliti de a implementa o stiv: folosind un ir (un array) sau folosind o
structur nlnuit cu pointeri.
Operaia de inserare ntr-o stiv este cel mai adesea denumit PUSH iar operaia
de extragere este denumit POP.
1.Enumerai tipurile de biblioteci AJAX
Nivel 0: mecanisme de nivel sczut, reutilizabil, de conectare asincron la
server:
obiectul XHR sau cadrele interne;
Nivel 1: instrumente de nivel nalt de comunicare cu serverul (ce mascheaz
detaliile nivelului 0) Dojo, JSON-RPC, Prototype, Direct Web Remoting;
Nivel 2: instrumente de nivel nalt de construire a interfeei cu utilizatorul
(construite peste nivelul 1) Dojo ofer instrumente i la acest nivel,
SmartClient,
Script.aculo.us (bazat pe Prototype), JQuery;
2.Exemplificai i explicai sintaxa Turtle.
Turtle11 este o versiune optimizat sintactic pentru N-triples, creat cu scopul de
a
face cunotinele mai uor de tastat i de citit. Scopul acestei sintaxe a fost s
ofere o serie
de abrevieri, iar fiierele se salveaz cu extensiile .ttl sau .n3.
Cea mai important facilitate sintactic e posibilitatea de a evita repetarea
poriunilor comune din identificatorii URI, cu ajutorul unui prefix (spaiu de
nume).

3. Oferii 5 exemple de vocabulare controlate i explicai pe scurt utilitatea


lor.
FOAF16, set de concepte cu care se pot descrie relaiile dintre oameni;
GoodRelations17, pentru a descrie cataloage de produse;
Dublin Core18, pentru a descrie resurse informaionale (documente, cri etc.);

OpenGraph19, cu acelai scop ca FOAF, dar conceput de Facebook pentru a


stoca relaiile sociale;
voID20, pentru a descrie baze de cunotine (de exemplu cte clase,
proprieti,

1. Care sunt efectele fundamentale oferite de Scriptaculous?


Pachetul Script.aculo.us ofer un nucleu de efecte fundamentale i, pe baza
acestora, o serie de efecte combinate de nivel mai nalt. Fiecare efect este o
tranziie ntre dou stri, aadar fiecare efect permite fixarea unui punct iniial i
a unui punct final,precum i durata desfurrii. Unele efecte sunt parametrizate
cu coordonate ale ecranului sau distane. Toate efectele sunt asincrone n sens
AJAX6, deci execuia lor nu ntrerupe execuia i experiena utilizrii, deci
multiple efecte pot fi aplicate simultan aceluiai element. Efectele
Script.aculo.us sunt o resurs deosebit pentru promovarea utilizabilitii
aplicaiilor Web.
XML

1. Explicai principiul subiectivitii n Web-ul Semantic.


Principiul AAA (al subiectivitii)
Acronimul AAA nseamn Anyone may state Anything about Anything7. Aa
cum oricine poate scrie orice n propriile pagini Web, oricine trebuie s poat
stoca orice afirmaii ntr-o baz de cunotine. Aadar, principiul e puternic legat
de cel precedent, al validitii implicite: orice afirmaie e considerat valid pn
cnd intr n contact cu o
afirmaie contradictorie.
2.Explicai principiul identitii multiple n Web-ul Semantic.
Principiul identitii multiple

E permis posibilitatea ca un acelai concept s aib mai muli identificatori!


Acesta e principiul identitii multiple, care l completeaz pe cel al identitii
nonambigue:
Un identificator nu poate fi folosit pentru mai multe concepte diferite, dar un
concept poate avea mai muli identificatori!
Acest principiu permite ca diferii creatori de cunotine s poat stoca afirmaii
despre aceleai concepte fr a se pune de acord n prealabil asupra
identificatorilor (aspect care nici nu ar fi posibil la nivelul ntregului Internet!).
Fiecare va folosi identificatori convenabil alei, fr a se ngrijora dac nu
cumva altcineva a memorat afirmaii despre
acelai concept.
Ulterior, dac se dorete fuzionarea afirmaiilor din mai multe surse, i fiecare
surs a folosit ali identificatori pentru aceleai concepte, se pot insera n baza de
cunotine relaii de echivalen8. Mai mult, exist chiar situaii n care se
urmrete deducerea de astfel de relaii de echivalen.

3. Explicai principiul identitii nonambigue n Web-ul Semantic precum i


tipurile de identificatori ce pot fi folosii (cu exemple).
Principiul identitii nonambigue
Nu e permis s se foloseasc acelai identificator pentru concepte diferite.
Dac se fac afirmaii despre oameni diferii cu acelai nume, vor trebui s se
construiasc identificatori diferii pentru fiecare individ. Aceast difereniere
trebuie s fie garantat pentru ntreaga reea WWW!
n baze de date, identitatea e asigurat la nivelul unei baze de date (valori-cheie
unice, nume unice de tabele etc.). Cheia primar e o coloan creat special
pentru a aloca identificatori diferii fiecrui individ/obiect din tabel, evitnd
riscul ca ali identificatori

tradiionali, precum numele, s se repete n cadrul aceluiai tabel. n programare


datele sunt stocate n variabile cu nume unice ntr-un domeniu de vizibilitate. n
aceste cazuri, identitatea e asigurat cel mult la nivelul unei aplicaii software,
alte aplicaii i alte baze de date ar putea reutiliza aceiai identificatori. n
Semantic Web ns, identitatea trebuie asigurat la nivelul ntregului Internet!
Creatorii de cunotine trebuie s foloseasc identificatori despre care au
garania c nimeni altcineva din Internet nu i va folosi n alte scopuri.

4.Explicai i exemplificai modelul de date RDF


n limbajul natural, prile de baz ale oricrei afirmaii (propoziii) sunt
subiectul, predicatul i complementul9. Mai multe astfel de afirmaii conectate
prin diveri delimitatori (conjuncii, semne de punctuaie), formeaz fraze i
texte de dimensiuni mai mari. n RDF, terminologia oficial numete cele 3
componente, n ordinea:
subiect (conceptul despre care se face afirmaia);
predicat, numit i proprietate (conceptul prin care se descrie subiectul);
obiect (conceptul care asigur descrierea).
Reprezentarea abstract a afirmaiilor RDF se realizeaz cu ajutorul grafurilor,
n care nodurile corespund subiectului i obiectului, iar arcele corespund
proprietii:

5. Explicai noiunea de cunotine contextuale i dai un exemplu n mod


graphic i n sintaxa TriG.
n Semantic Web nu doar proveniena conceptelor (sugerat de URI i prefixe
trebuie explicitat, ci i proveniena afirmaiilor, mai exact contextul n care
afirmaiile trebuie considerate valide. Acest model poart numele de reificare i,
dup cum s-a amintit deja, are rolul de a permite s se fac afirmaii despre
afirmaii: Marian crede c Alin este frate cu Andrei.
n sintaxele RDF tradiionale, contextul poate fi ataat unei afirmaii pe multiple
ci (s-au demonstrat deja n capitolul dedicat reprezentrii grafice RDF):
printr-o relaie de aritate 3;
folosind modelul standard al reificrii;
Din pcate ambele soluii sunt destul de complexe necesit 4-5 afirmaii i
minim 7 noduri (dintre care unul anonim) pentru reprezentare. Cum se estimeaz
posibilitatea ca n viitor Semantic Web s exploateze foarte frecvent astfel de
cunotine contextualizate, s-a propus o soluie optimal n acest sens:
identificatorii de grafuri. Conform acestei idei, nu doar conceptele primesc
identificatori de tip URI, ci orice mulime de afirmaii, deci orice graf RDF.
Identificatorul alocat unei mulimi de afirmaii (graf) va fi contextul acelei
mulimi i poate fi la rndul su folosit n afirmaii despre context.

6. Exemplificai i explicai sintaxa N-triples.


N-triples10 este sintax brut de serializare RDF. Aceasta e cea mai primitive
sintax i are un set minim de reguli cu privire la scrierea afirmaiilor (reguli pe
care le-am folosit deja n cteva exemple anterioare):
ntre concepte trebuie s apar minim un spaiu sau un Tab;
Orice afirmaie (triplet) trebuie s se ncheie cu un spaiu urmat de un punct i
un salt la rnd nou (Enter);
Identificatorii de tip URI se ncadreaz ntre <...>;
Identitatea resurselor anonime e asigurat prin nume prefixate de _:;
Obiectele-valoare sunt implicit de tip text (se trec ntre ghilimele indiferent de
tipul/semnificaia lor) dar pot fi nsoite de:

o Un cod de limb (care precizeaz n ce limb e scris valoarea);


o Un tip de dat, de obicei dintre cele oferite de limbajul XML Schema (dac
dorim ca valoarea s fie considerat de alt tip dect string); unicul tip oferit de
RDF este XMLLiteral (un ir de caractere ce conine cod XML bine format).
Comentariile se scriu pe linii noi, ncepute cu un #.

7. Exemplificai i explicai sintaxa Turtle.


Turtle11 este o versiune optimizat sintactic pentru N-triples, creat cu scopul de
a face cunotinele mai uor de tastat i de citit. Scopul acestei sintaxe a fost s
ofere o serie de abrevieri, iar fiierele se salveaz cu extensiile .ttl sau .n3.
Cea mai important facilitate sintactic e posibilitatea de a evita repetarea
poriunilor comune din identificatorii URI, cu ajutorul unui prefix (spaiu de
nume). De exemplu, n loc de:
<http://expl.ro#Alin> <http://expl.ro#esteFrateCu> <http://expl.ro#Andrei> .
<http://expl.ro#Alin> <http://expl.ro#locuiesteIn> <http://expl.ro#Anglia> .
<http://expl.ro#Alin> <http://expl.ro#areNumele> "Alin .
8. Exemplificai i explicai inferenele permise de proprietatea funcional i
proprietatea invers funcional n OWL.
Deducerea echivalenei indivizilor din proprietatea funcional
(owl:FunctionalProperty).
Proprietatea funcional se comport ca o funcie matematic: oricrui subiect i
poate aloca un singur obiect. Dac i aloc mai multe, se va deduce c acestea
sunt identiti multiple ale unui acelai obiect.

Ex. O persoan nu poate avea dou mame naturale, deci cele dou mame trebuie
s fie una i aceeai.
Deducerea echivalenei indivizilor din proprietatea invers funcional
(owl:inverseFunctionalProperty).
Aceasta se comport invers fa de cea funcional: pe orice obiect l poate pune
n relaie cu un singur subiect. Dac apar mai multe subiecte, se va deduce
echivalena lor. Ex. (ne bazm pe prezumia c dou persoane nu pot avea
acelai e-mail, deci dac apare o astfel de situaie e vorba de aceeai persoan)

9. Exemplificai i explicai inferenele permise de domeniu i codomeniu n


RDF/S
Proprietatea unei proprieti de a avea domeniu (rdfs:domain) i codomeniu
(rdfs:range)
Dup ce s-au creat taxonomiile de clase i de proprieti, se recomand ca
acestea s fie conectate. Aceasta presupune ca pentru fiecare proprietate din
taxonomie s se indice cu ce fel (clas) de subiecte (domeniul) i cu ce fel de
obiecte (codomeniul) va fi folosit.
10. Exemplificai i explicai diferena ntre liste i containere n RDF.
Un container se aseamn cu clasa prin aceea c este o mulime, ns relaia pe
care fiecare concept o are cu containerul este de alt natur. Apartenena la o
clas (rdf:type) ar trebui s fie dictat de o oarecare asemnare ntre indivizi, de
prezena unor proprieti comune (de aceea poate fi dedus din rdfs:domain i
rdfs:range). n schimb un container poate fi un set de elemente grupate dup
orice criterii. Apartenena elementelor la un container poate fi afirmat prin dou
relaii (spre deosebire de apartenena la clase, aici containerul apare ca subiect
iar elementele sale ca obiecte).

Conceptul de List (rdf:List, rdf:nil) i relaiile de apartenen la o list (rdf:first,


rdf:rest).
Lista este o colecie de concepte ordonat i nchis, pentru care Turtle ofer o
abreviere sintactic des folosit.
Listele sunt mai apropiate claselor dect containerele, prin aceea c de obicei
elementele enumerate ntr-o list au o semnificaie comun, ar putea deveni
elementele unei clase. De aceea, vom vedea mai trziu, OWL se bazeaz pe liste
la definirea claselor:
permite ca o clas s fie creat prin enumerarea listei elementelor sale (i prin
aceasta aplic i o nchidere clasei); n plus mai permite ca o clas s fie definit
prin intersecie sau reuniune aplicate asupra unei liste de alte clase.

11. Exemplificai i explicai 3 tipuri de relaii (proprieti) introduse de


vocabularul OWL
Proprietatea de denumire (rdfs:label)
Denumirile sunt iruri de caractere menite a fi folosite n rapoarte, pagini Web i
orice document bazat pe cunotine ce se adreseaz unui cititor uman pentru care
URI ar putea crea probleme la citire (mai ales c nu e obligatoriu ca URI s
sugereze n vreun fel semnificaia conceptului, poate fi un ir aleatoriu de
caractere!). RDF Schema ofer o proprietate standard pentru alocarea de
denumiri. Dac dorim totui s folosim propriile proprieti n acest scop
(situaie uzual!), putem realiza o mapare fa de rdfs:label.
Proprietatea de a avea un comentariu (rdfs:comment)
Aceast proprietate funcioneaz similar cu rdfs:label, ne permite s atam un
ir de caractere unui concept, ns rolul irului de caractere nu e de a oferi o
denumire lizibil, ci de a ataa un comentariu care s explice ct mai detaliat
semnificaia acelui concept pentru un cititor uman care ar putea opta s parcurg
cunotinele noastre n sintaxa lor brut, mai ales dac denumirea sau
identificatorul URI nu. sunt foarte sugestive:
Proprietatea de a avea o pagin Web definitorie (rdfs:isDefinedBy)

n capitolul legat de identitatea n Semantic Web s-a atras atenia asupra crizei
identitii, prin care un identificator nu ar trebui folosit i pe post de pagin Web.
De aceea, chiar dac Wikipedia ofer pagini Web pentru numeroase concepte,
sau Facebook pentru numeroase persoane, nu ar trebui s folosim acele adrese
pentru a identificarea de concepte. n schimb putem s indicm faptul c dac se
doresc informaii detaliate despre concept, pot fi gsite pe o pagin Wikipedia
sau pe alt site. Exemplul urmtor indic faptul c relaia de frate poate fi
neleas depe pagina oferit de Wikipedia pentru cuvntul brother:
Proprietatea de a avea pagini Web descriptive alternative (rdfs:seeAlso)
Cum acelai concept poate fi descris de numeroase pagini Web (site propriu, o
pagin Wikipedia, o pagin Facebook, un blog etc.) avem posibilitatea de a
anexa oricte pagini Web secundare, considerate nedefinitorii pentru nelegerea
conceptului, dar totui relevante. Printre acestea se pot numra chiar baze de
cunotine RDF disponibile direct pe Web, precum cele oferite de DBPedia:
12. Oferii 5 exemple de vocabulare controlate i explicai pe scurt utilitatea lor.
Vocabularele nu sunt neaprat standardizate. Ele pot fi i vocabulare controlate,
propuse de diverse organizaii pentru a deservi un anumit domeniu, devenind
suficient de populare nct s fie adoptate pe scar larg:
FOAF16, set de concepte cu care se pot descrie relaiile dintre oameni;
GoodRelations17, pentru a descrie cataloage de produse;
Dublin Core18, pentru a descrie resurse informaionale (documente, cri etc.);
OpenGraph19, cu acelai scop ca FOAF, dar conceput de Facebook pentru a
stoca relaiile sociale;
voID20, pentru a descrie baze de cunotine (de exemplu cte clase, proprieti,
subiecte, obiecte conine);

SPARQL Service Description21, pentru a descrie capabilitile oferite de un


server de tip SPARQL endpoint (ce contexte ofer, ce versiune de SPARQL
suport etc.);
OWL-Time22, pentru a indica n mod precis momente i perioade de timp (util
n a ataa contexte temporale afirmaiilor);
GeoOWL23, pentru a indica n mod precis locaii i concepte spaiale (util n a
ataa contexte spaiale afirmaiilor);
DBPedia24, setul de concepte oferite de Wikipedia, fr a avea un domeniu de
utilizare specific. Obiectivul su este s devin
un dicionar de referin pentru diveri termeni
comuni, o limb comun la care s se alinieze ct mai multe baze de cunotine
(un deziderat periculos sub anumite aspecte, ce risc s ncalce principiile
descentralizrii Web).
13. Explicai modul de utilizare a cererilor HTTP n accesarea cunotinelor la
distan.
Paradigma Linked Data se bazeaz pe accesarea prin HTTP a identificatorilor de
concepte, la care serverul s rspund fie cu un set de cunotine despre acel
concept (identificatori cu foldere fictive), fie cu toat baza de cunotine din care
clientul s-i selecteze informaia relevant (identificatori cu ancore). Filtrarea
informaiei relevante se poate realiza cu SPARQL fie la nivelul clientului, fie la
al serverului. Aadar sunt posibile diferite scenarii de combinare ntre interogri
i accesul la distan, n funcie de ce faciliti ofer serverul. S-au consacrat
dou protocoale bazate pe HTTP prin care are loc accesul la cunotine oferite
de servicii Web:
Protocolul SPARQL27;
Protocolul Graph Store28.

Ambele se bazeaz pe metodele cererilor HTTP


14. Exemplificai i explicai inferenele permise de restriciile de cardinalitate
n OWL.
Deducerea echivalenei indivizilor din cardinalitatea maxim
(owl:maxCardinality) aplicat ca restricie (owl:Restriction) asupra unei
proprieti
(owl:onProperty):
Prin cardinalitate putem impune de cte ori poate fi implicat un anumit subiect
ntr-o anumit relaie. Dac numrul de relaii depete limita pe care o
impunem, obiectele suplimentare trebuie s fie echivalente cu unele dintre
celelalte.
15. Exemplificai i explicai inferenele permise de restriciile owl:hasValue,
owl:someValuesFrom i owl:allValuesFrom.
Necesitatea i suficiena (owl:Restriction, owl:onProperty, owl:hasValue,
owl:allValuesFrom, owl:someValuesFrom, owl:hasSelf)
Un individ poate fi alocat unei clase n funcie de relaiile la care particip (vezi
RDF Schema) dar i n funcie de indivizii cu care particip la acea relaie, sau
clasele crora aceti indivizi aparin. Demonstrm mai nti deduciile posibile
dintr-o relaie cu un anumit individ clar specificat:
@prefix : <http://expl.ro#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix owl:
<http://www.w3.org/2002/07/owl#>.
:SatelitAlPamantului owl:onProperty :Orbiteaza; owl:hasValue :Pamantul.

Am afirmat c mulimea :SatelitAlPamantului e format din toate acele lucruri


X care au relaia :Orbiteaza cu :Pamantul (care apar n afirmaii de forma X
:Orbiteaza :Pamantul). Aceasta permite dou tipuri de deducii:
dac se mai tie c
:Luna :Orbiteaza :Pamantul.
se poate deduce:
:Luna a :SatelitAlPamantului.
n schimb dac se tie c
:Luna a :SatelitAlPamantului.
se deduce:
:Luna :Orbiteaza :Pamantul.
Deci avem o deducie posibil n ambele sensuri apartenena la o clas poate fi
produs de existena unei relaii cu un anumit individ dar i invers, relaia cu un
individ dedus din apartenena la o clas.
16. Exemplificai i explicai trei moduri de deducere a echivalenei indivizilor.
Limitnd superior numrul de relaii (cu owl:maxCardinality) putem deduce
echivalena indivizilor (dac are relaii cu mai mult de n obiecte, o parte din
acele obiecte trebuie s fie echivalente) sau contradicii (dac echivalena
respectiv e contrazis de distincii derivate din alte reguli);
Relaiile de echivalare a indivizilor (owl:sameAs), a claselor
(owl:equivalentClass), a proprietilor (owl:equivalentProperty).

Aceste concepte ne scutesc de a folosi reciprocitatea relaiilor rdfs:subClassOf i


rdfs:subPropertyOf pentru a declara echivalena. Principalele utilizri sunt:
Atunci cnd sunt direct afirmate, echivalenele faciliteaz maparea ntre baze de
cunotine din organizaii diferite sau alinierea unei baze de cunotine la un
vocabular standard / controlat, fr a substitui conceptele originale;
n alte situaii echivalenele sunt deduse, nu afirmate direct, prin reguli menite s
surprind situaiile n care un acelai concept are multiple identiti;
n sfrit, echivalenele mai sunt folosite la detectarea contradiciilor (cnd un
set de reguli concluzioneaz simultan c dou concepte sunt identice i
distincte).
17. Exemplificai i explicai trei moduri de deducere a distinciei indivizilor.
Relaiile de distincie ntre indivizi (owl:differentFrom), ntre clase
(owl:disjointWith, owl:complementOf), ntre proprieti
(owl:propertyDisjointWith).
Aceste proprieti sunt menite s introduc negaia implicit n afirmaii i s
genereze prin regulile lor contradicii, cnd apar n aceeai baz de cunotine
alturi de cele de echivalare. Ca i echivalenele, distinciile pot fi afirmate
direct (de exemplu pentru a realiza o contra-mapare, afirmarea clar a faptului
c dou ontologii ce par s conin aceleai lucruri nu vor s fie echivalate) sau
pot fi deduse din alte reguli. Se poate afirma distincia ntre indivizi
(owl:differentFrom), faptul c dou clase nu pot avea elemente comune
(owl:disjointWith) i faptul c dou proprieti nu au voie s apar ntre acelai
subiect i obiect (owl:propertyDisjointWith).
18. Exemplificai i explicai trei moduri de deducere a contradiciilor.
Diferena ntre cele dou este expresivitatea, bogia de reguli care pot fi extrase
din conceptele standardizate. O distincie particular este c OWL ofer
mecanisme de detectare a contradiciilor, deci o form de validare a
cunotinelor care pn la acel nivel nu exist.

19. Exemplificai i explicai trei moduri de extindere a taxonomiei de clase


OWL cu ajutorul unor operaii pe mulimi.
Ca i n cazul incluziunii, putem folosi aceast relaie pentru a defini taxonomii
de proprieti sau pentru a mapa proprieti cu semnificaie similar dar
identificatori diferii (din baze de cunotine diferite). Vocabularul OWL
completeaz tabloul cu cteva proprieti standard:
owl:topObjectProperty relaia universal ntre dou concepte, care exist ntre
oricare dou resurse din univers (faptul c aparin aceluiai univers?);
owl:topDataProperty atributul universal, pe care l are orice concept i poate
lua orice valoare;
owl:bottomObjectProperty relaia absurd ntre dou concepte, nu are voie s
apar
n nicio baz de cunotine (sau apariia sa poate fi folosit ca semnal de apariie
a unei contradicii);
owl:bottomDataProperty atributul absurd (nu poate avea valoare pentru nici un
concept).
O serie de tehnici de definire a claselor i de deducere a apartenenei indivizilor:
o prin operaii pe mulimi (reuniune, intersecie, complement);
20. Exemplificai i explicai trei exemple de utilizare a nodurilor anonime n
RDF.
Am sugerat deja c nodul anonim nu va putea apare n interogri, deci nu se va

putea pune ntrebarea Care e orasul din _:adresa? ns se va putea pune


ntrebarea Care e oraul n care locuiete Ana? (profitnd de nlnuirea relaiilor
locuiesteIn i Oras,
intermediat de nodul anonim, care devine astfel important doar prin poziia sa,
nu i prin identitate).
Un alt exemplu relevant n acest sens este reificarea. Aceasta e o noiune extrem
de important i controversat, strns legat de principiul subiectivitii: uneori
cele 3 pri ale propoziiei nu sunt suficiente, mai exact atunci cnd se fac
afirmaii despre afirmaii:
Marian crede c Alin este frate cu Andrei.
Modelarea corect n RDF pentru acest caz este urmtoarea: (a) Subiectul este
Marian; (b) Predicatul este crede; (c) Acesta predicat exprim relaia cu o
afirmaie (format la rndul su din Alin, relaia de frate i Andrei).
Reificarea folosete prile propoziiei secundare ca o structur de date, le
grupeaz sub un nod anonim comun (ce reprezint afirmaia), pe care apoi l
folosete drept obiect pentru propoziia principal. Un alt aspect sugerat de acest
exemplu este c reificarea are aplicabilitate atunci cnd dorim s afirmm
subiectivitatea sau valabilitatea limitat a unor cunotine. Afirmaia c Alin e
frate cu Andrei este o credin personal a lui Marian.
Cineva care interogheaz baza de cunotine va decide dac s filtreze sau nu
credinele respective n funcie de cine le crede. O a treia utilizare important a
nodurilor anonime apare n reprezentarea relaiilor de aritate superioar. Este
evident din structura de baz a modelului RDF c tripleii pot exprima doar
relaii binare, ntre un subiect i un obiect. Uneori cunotinele trebuie s
exprime mai muli participani la aceeai relaie:
Andrei are 10 la Matematic.
Alin, Andrei i Ana sunt colegi.

21. Ce este arborele DOM? Oferii un exemplu, cu codul XML aferent, cu


minim 3 nivele n arbore.

Modelul DOM este una din cele dou soluii consacrate (alturi de SAX) pentru
extragerea informaiilor dintr-un document XML, indiferent c acestea sunt
stocate n numele sau valorile elementelor, numele sau valorile atributelor sau n
structurile XML auxiliare. DOM nu este o aplicaie n sine, ci un model abstract
implementat la nivelul parserelor, ca o colecie de interfee de programare (API)
ce folosesc paradigma obiectual pentru a transpune coninutul oricrui
document conform cu standardul XML n clase, obiecte i metode. Astfel, DOM
este independent de platform i limbajul de programare, fiind considerat un
strat ntre parser i aplicaiile consumatoare de XML. Practic, parserul citete
date din sursa XML i alctuiete arborele DOM translatnd imbricrile ntre
marcatori n relaii tat-fiu i unitile XML n noduri ale arborelui.
n modelarea DOM, pornim de la exemplul de mai jos, salvat n fiierul
fisier.xml:
<produse>
<produs cod="p01">Televizor</produs> </produse>
22. Care sunt efectele fundamentale oferite de Scriptaculous?
Pachetul Script.aculo.us ofer un nucleu de efecte fundamentale i, pe baza
acestora, o serie de efecte combinate de nivel mai nalt. Fiecare efect este o
tranziie ntre dou stri, aadar fiecare efect permite fixarea unui punct iniial i
a unui punct final, precum i durata desfurrii. Unele efecte sunt parametrizate
cu coordonate ale ecranului sau distane. Toate efectele sunt asincrone n sens
AJAX6, deci execuia lor nu ntrerupe execuia i experiena utilizrii, deci
multiple efecte pot fi aplicate simultan aceluiai element. Efectele
Script.aculo.us sunt o resurs deosebit pentru promovarea utilizabilitii
aplicaiilor Web.
23. Enumerai tipurile de biblioteci AJAX
Aceast tendin a dus la apariia unei multitudini de biblioteci AJAX construite
pe nivelele:
Nivel 0: mecanisme de nivel sczut, reutilizabil, de conectare asincron la
server: obiectul XHR sau cadrele interne;

Nivel 1: instrumente de nivel nalt de comunicare cu serverul (ce mascheaz


detaliile nivelului 0) Dojo, JSON-RPC, Prototype, Direct Web Remoting;
Nivel 2: instrumente de nivel nalt de construire a interfeei cu utilizatorul
(construite peste nivelul 1) Dojo ofer
instrumente i la acest nivel, SmartClient, Script.aculo.us (bazat pe Prototype),
JQuery; Nivel 3: medii de dezvoltare a aplicaiilor AJAX: Rails, Tapestry,
AJAX.NET,
SAJAX.

biblioteca Prototype, JavaScript


24. Enumerai 8 beneficii aduse de biblioteca Prototype programrii paginilor
AJAX.
Detaliem cteva din facilitile oferite de biblioteca Prototype: prescurtarea
sintaxei JavaScript;
metode noi de localizare a nodurilor DOM (pe baz de stiluri); extinderea
claselor JavaScript;
funcii noi pentru lucrul cu colecii de date (masive, obiecte); ascunderea i
eliminarea facil de noduri DOM;
inserare facil de cod HTML n orice poziie a paginii;
activarea, dezactivarea i focalizarea facil a cmpurilor formularelor;
determinarea poziiei elementelor n pagin.

25. Realizai o comparaie ntre XML i JSON, incluznd cte un exemplu din
fiecare.
n cele ce urmeaz vom realiza o comparaie ntre formatele JSON i XML
aplicate asupra datelor trimise de server. Prezentm n continuare acelai set de
date n format XML i n format JSON:
XML:
<produse>
<produs denumire=Televizor pret=100 /> <produs denumire=Calculator pret
=200 /> </produse>
Valoare JSON atribuit unei variabile:
produse=[ {denumire:Televizor, pret:100},{denumire:Calculator,pret:200}]
Obiect JSON de transferat (de exemplu generat de un serviciu Web sau de
server):
{ produse: [{denumire:Televizor, pret:100},{denumire:Calculator,pret:200}] }
Astfel, produse devine un vector de dou elemente, fiecare element fiind un
obiect cu cte dou proprieti. Insistm asupra faptului c valorile masive se
enumer ntre paranteze ptrate, iar proprietile obiectelor ntre acolade, fiind
posibil orice combinaie de imbricare ntre acestea (ex: vector de obiecte,
obiect cu proprieti vectori, obiect cu
proprieti obiect, vector cu elemente vector etc.). Se observ c ambele modele
(XML i JSON) pot transpune n format text serializat (ir de caractere) structuri
de date arborescente sau obiecte.
Avantajele JSON sunt:

performana, atunci cnd se transfer strict seturi date (n schimb XML devine
esenial atunci cnd se transfer poriuni de documente ce vor fi manipulate prin
DOM, validate sau procesate de instrumente XML);
compatibilitatea cu obiectele JavaScript efortul de extragere a datelor din
JSON e minimal n JavaScript;
accesul facil la proprietile JSON prin sintaxa JavaScript, comparativ cu
accesul mai dificil la XML prin DOM/Xpath n exemplul JSON, al doilea pre
poate fi accesat prin produse[1].pret, n timp ce n exemplul XML ar fi necesar
parcurgerea vectorilor getElementsByTagName sau childNodes pentru nodul
rdcin, urmate apoi de solicitarea atributului pret cu getAttribute.
Suporterii JSON susin c oricum conceptele XML sunt inutile: spaiile de nume
devin inutile dac nu se mai folosesc marcatori iar validarea prin vocabulare e
considerat o delegare inutil a responsabilitiilor:

26. Enumerai i explicai 6 metode, funcii sau atribute (JavaScript) prin care se
poate modifica formatul sau coninutul paginii HTML
Coninutul elementelot XML se manipuleaz doar cu metotode DOM standard:
appendChild, removeChild, insertBefore, replaceChild, cloneNode, nodeValue
Suport selecie mai uoar cu getElementById,getElementsByClassName,
getElementsByName
27. Care sunt beneficiile AJAX fa de paginile Web tradiionale?
Web tradiional:
o Datele se trimit de la client spre server cu ajutorul formularelor sau a
hiperlegturilor (variabile GET sau POST), aadar prin decizia contient a
utilizatorului (n urma unui clic); rspunsul se returneaz de la server\ sub form
de cod HTML;

o Starea iniial a aplicaiei e determinat de transferul dinspre server a primei


pagini (homepage);
o Fiecare stare a aplicaiei are asociat o nou pagin generat dynamic (deci
strile aplicaiei sunt pagini diferite din punct de vede al operaiilor
Back/Forward i Add Bookmark/Favorites);
o Fiecare pagin generat dinamic implic un refresh complet al paginii curente,
de cele mai multe ori redundant (implic i rencrcarea elementelor
nemodificate de pe pagin); o Fiecare refresh sau ncrcare de pagin nou
blocheaz temporar aplicaia, pn cnd noua pagin sosete de la server, ceea
ce afecteaz fluiditatea experienei de utilizare (comparativ cu aplicaiile
desktop unde durata dintre clic i reacia la clic e de regul insesizabil); o
Experiena de utilizare i utilizabilitatea las de dorit, nu doar datorit
comunicrii intermitente cu serverul care suspend utilizarea, ci i datorit
gamei reduse de evenimente la care reacioneaz pagin (de obicei doar clic-uri);

28. Oferii 6 exemple de interogri XPath pe un exemplu de document XML.


/comanda/produs/@id
...caut atributul ID al elementelor PRODUS din COMANDA
/comanda/produs
....toate elementele PRODUS din COMANDA /comanda/*
...toate elementele din COMANDA /comanda/text()
....toate nodurile text din COMANDA /comanda/node()
....toate nodurile din COMANDA, indiferent de tip /comanda/produs/@*

....toate atributele din toate elementele PRODUS din COMANDA


/comanda//@id
...returneaz toate atributele ID din COMANDA, indiferent de nivelul pe care se
afl
/comanda/produs[1]
...returneaz primul PRODUS din COMANDA
/comanda/produs[id]
...returneaz acele PRODUSE din COMANDA care conin elemente ID
/comanda/produs[@id]
...returneaz acele PRODUSE din COMANDA care conin atribute ID
29. Realizai o comparaie ntre DTD i XSDL (diferene i asemnri).
DTD, care a consacrat denumirea tip de document n loc de vocabular sau clas
de documente. Rezumm caracteristicile DTD:
o Permite crearea vocabularelor interne, ce nsoesc documentul;
o Are suport general, fiind adoptat odat cu standardul XML original; o Fixeaz
structura instanelor XML (ordine, ocurene, cardinalitate, imbricare);
o Ofer tipizare slab i valori implicite doar pentru atribute;
o Permite crearea de notaii pentru diverse formate de date referite n instan;
o DTD nu creeaz documente XML bine formate, folosind o sintax de tip
SGML. Aceasta are implicaii asupra complexitii instrumentelor de validare
DTD;
o Suportul pentru spaii de nume este rudimentar.
XSDL este rezultatul unor soluii convergente precum XDR3, SOX4 i

DDML5. Acest limbaj a consacrat denumirea schem de documente pentru


vocabular. XSDL ofer:
o Tipizare puternic;
o Suport pentru spaiile de nume; o Derivarea tipurilor;
o O modularitate ce permite convertirea facil a documentelor XML n ierarhii
de structuri de date, cu trsturi obiectuale;
o Transfer indicaii de procesare i documentaie complex spre consumator la
nivelul clasei de documente;
o Nu permite definirea unui ablon permis pentru elementul rdcin; o Nu
asigur coocurena (ocurena unui element n funcie de altul); o Are nc un
suport inconsistent n rndul instrumentelor software, comparativ cu DTD;
30. Realizai o comparaie ntre XSLT i XPath (diferene i asemnri).
XSLT este limbajul de transformare a documentelor XML i se bazeaz pe
Xpath pentru a extrage informaii dintr-un document surs i a le pune ntr-un
document rezultat (cu structur diferit). De obicei XSLT e folosit pentru a
genera pagini HTML din date XML, deci poate fi folosit i ca instrument AJAX
(conversia rspunsului de la server n cod HTML).
31. Realizai o comparaie ntre DOM SAX (ce sunt, ce au n comun, prin ce
difer).
Modelul SAX nu este un standard, ci este o realizare a grupului de lucru
XMLDev ca alternativ la procesarea XML prin DOM, folosind o fereastr de
memorie limitat n locul ncrcrii ntregului document n memoria intern. Sau implementat deja un numr mare de parsere SAX, inclusiv pe platforme
Microsoft (MSXML versiunea 3.0).

Independena fa de limbaj nu este la fel de mare ca n cazul DOM. Majoritatea


implementrilor sunt gzduite de Java, dar exist i excepii,
Modelul DOM este una din cele dou soluii consacrate (alturi de SAX) pentru
extragerea informaiilor dintr-un document XML, indiferent c acestea sunt
stocate n numele sau valorile elementelor, numele sau valorile atributelor sau n
structurile XML auxiliare. DOM nu este o aplicaie n sine, ci un model abstract
implementat la nivelul parserelor, ca o colecie de interfee de programare (API)
ce folosesc paradigma obiectual pentru a transpune coninutul oricrui
document conform cu standardul XML n clase, obiecte i metode. Astfel, DOM
este independent de platform i limbajul de programare,
fiind considerat un strat ntre parser i aplicaiile consumatoare de XML. Practic,
parserul citete date din sursa XML i alctuiete arborele DOM translatnd
imbricrile ntre marcatori n relaii tat-fiu i unitile XML n noduri ale
arborelui. Nucleul DOM, numit DOM Core, este un set de interfee de
programare de uz general la care se adaug module opionale precum cele
adaptate pentru manipulare de de stiluri HTML, care nu apar neaprat n toate
implementrile i dintre care indicm:
DOM Views pentru manipularea unei reprezentri particulare a unui
document; DOM Events un sistem de evenimente generice;
DOM HTML pentru manipularea de HTML clasic; DOM CSS pentru
manipulare dinamic a foilor de stil;
DOM Traversal an Range pentru identificarea i parcurgerea unor poriuni de
document care nu reprezint neaprat colecii de noduri (fragmente, coninut
textual).

Expunerea de fa legat de Proiectarea sistemelor informatice reprezint un set


de cunotine eseniale pentru absolventul specializrii de Informatic
Economic pentru a putea analiza sisteme noi sau existente i a concepe
mecanismele sale de funcionare. Nu ne vom concentra n discuia noastr pe un
anumit tip de sistem informatic, ns vom trata din punctul de vedere al

aplicaiilor n general. nainte de a discuta noiuni legate de faza de proiectare a


sistemelor informatice vom prezenta mai nti analiza acestora, ca faz
premergtoare.
n primul rnd, sistemul este un ansamblu de elemente, care interrelaioneaz n
interior i cu mediul nconjurtor i care acioneaz n comun sub un aspect
unitar pentru a
ndeplini obiective bine definite. Orice sistem are un comportament specific,
determinat de natura elementelor din care este compus i de relaiile dintre
acestea.
O restrngere a sistemului este sistemul informaional, acesta fiind ansamblul
elementelor de structur organizatoric din seciunea societii umane (precum o
organizaie), mpreun cu legturile funcional-informaionale dintre ele i cu
contextul n care se afl, care acioneaz n comun pentru ndeplinirea
obiectivelor propuse. Rolul sistemului informaional este de a obine, stoca,
prelucra i livra informaii factorilor de decizie din organizaie.
n cntinuare putem identifica sistemul informatic, care reprezint partea
automatizat a sistemului informaional (cu toate componentele sale de tip
hardware, software) responsabil cu stocarea i prelucrarea informaiilor utile
factorilor de decizie.
Continuarea acestui capitol este organizat astfel: n subcapitolul 10.2 prezentm
elemente de analiz software, n subcapitolul 10.3 discutm modele uzuale de
dezvoltare software, n subcapitolele 10.4-5 vom prezenta proiectarea efectiv,
iar n subcapitolul 10.6 vom discuta riscuri pentru proiectul informatic i noiuni
generale de management ale ciclului de via al produsului software.
1.2 Elemente de analiz software
Pentru realizarea unui produs software este necesar parcurgerea mai multor
etape. Acestea formeaz ciclul de via al produsului. n prima faz, analiza
software, analitii descriu spaiul problemei i elaboreaz un set de cerine care
descriu ce se dorete de la noul sistem informatic. n continuare urmeaz
proiectarea, faz n care proiectanii hotrsc modul de realizare a cerinelor
primite din faza anterioar, stabilind tehnologiile ce urmeaz a fi folosite la
nivelul sistemului informatic creat. A treia faz a ciclului de dezvoltare este
implementarea, care const n transpunerea n cod a algoritmilor, a logicii
stabilite n faza de
Proiectarea sistemelor informatice 3
proiectare. Realizarea efectiv a produsului informatic se ncheie cu testarea
sistemului informatic
Ulterior fazelor prezentate, n urma crora am obinut un produs informatic, pot
fi discutate fazele de instalare i configurare (n englez deployment) a
sistemului informatic (la beneficiar) i ntreinerea acestuia. ntreinerea unui
sistem informatic reprezint aciunile de modificare a unui sistem informatic

existent n vederea creterii performanei acestuia, mbuntirii funcionale sau


reparrii unor disfuncionaliti.
Ultimele dou faze au i ele o importan semnificativ, ntruct pot influena
dezvoltarea urmtoarelor versiuni ale produsului informatic i reprezint
confirmarea corectitudinii cu care au fost parcurse primele patru etape. Diverse
moduri de parcurgere a acestor faze n dorina de a elabora un sistem informatic
vor fi discutate n capitolul 10.3 ca modele de dezvoltare software.
Analiza software reprezint aadar faza iniial a ciclului de dezvoltare al
produsului. Scopul analizei este de a produce un document numit raport de
analiz i care s conin specificaii complete cu privire la sistemul informatic
dorit. Natura informaiilor este de natura ce trebuie s ofere viitorul sistem
utilizatorilor si i ignornd complet cum le va oferi acesta. Aceast preocupare
este specific proiectrii sistemului.
Raportul de analiz are n general o structur similar cu cea discutat mai jos, i
ne ajut mult n nelegerea niruirii etapelor analizei i a coninutului lor:
1. Introducere
n introducere se prezint scurt proiectul pentru care este realizat analiza,
amploarea sa i informaii despre grupul int/ beneficiarul produsului
informatic construit. Cel mai uor este s scriem aceast parte la sfrit, cnd
avem deja o imagine de ansamblu asupra proiectului complet i corect format.
2. Analiza problemei
2.1 Context
Aceast seciune cuprinde descrierea contextului n care va funciona sistemul
informatic. Se prezint informaii utile legate de organizaia care va utiliza
sistemul, incluznd: activitile principale i sectorul de activitate, mrimea i
structura organizaiei, aspecte motivaionale de business (i nu numai) pe care le
are organizaia (de exemplu: compania deine o reea de 10 magazine pe
teritoriul rii i n 5 ani i propune deschiderea a nc 10 magazine pentru a-i
mri reeaua de distribuie). Afirmaiile de acest gen vor fi corelate cu modelul
de business i scopuri, descrise n seciunile urmtoare.
2.2 Motivaie
Aici se descrie motivaia care st la baza crerii sistemului informatic n cadrul
organizaiei. De ce este acesta necesar? Cum poate ajuta sistemul informatic n
cadrul organizaiei? (Exemple de rspunsuri, desigur care necesit explicaii
detaliate pot fi creterea eficienei procesului, reducerea duratei de timp pentru

activiti, creterea numrului de clieni etc.). Pentru reprezentarea grafic a


ansamblului de motivaii se folosete diagrama
Fish-bone.
Deasemenea este prezentat ierarhia motivelor pentru care se recurge la
dezvoltarea sistemului informatic pentru organizaia beneficiar i schema de
descompunere a obiectivelor (generale-specifice) avute n vedere de organizaie.
2.3 Delimitarea sistemului de contextul su
n aceast seciune se prezint explicit aspectele care aparin sistemului
(procese, organizaii, sisteme tehnice/nontehnice existente etc.), i totodat
aspectele exterioare
(persoane, bunuri materiale/imateriale) graniei sistemului, dar cu care sistemul
4Proiectarea sistemelor informatice
interacioneaz. Aici se prezint i toate prile afectate semnificativ de sistem
(n englez - stakeholders).
2.4 Activiti i procese
n aceast seciune se prezint activitile principale ale organizaiei, furniznd
detalii legate de cine, cnd i ce documente produce sau modific n cadrul
organizaiei. Pentru fiecare document care este important pentru proces, se
inventariaz cmpurile sale. Pentru aceast etap se prezint diagrame de flux
(flow-charts) pentru fiecare proces. Unele procese pot fi n continuare detaliate
n subprocese. Deasemenea, unde este cazul, se folosesc diagrame de activitate.
3. Cerine
3.1 Elicitaia (extragerea) cerinelor
3.1.1 Surse de cerine
n aceast seciune se prezint sursele de cerine identificate, sunt descrise i se
justific de ce au fost acestea alese. Se specific totodat implicaia diverselor
pri n stabilirea cerinelor.

3.1.2 Procesul de elicitaie a cerinelor


n aceast seciune se descriu prile implicate (stakeholders) i se explic cum i
va afecta viitorul sistem, discutnd n termeni de beneficii, dezavantaje, riscuri.
n continuare se descriu metodele de elicitaie i particulariti ale aplicrii lor n
cadrul organizaiei. Amintim aici metodele: model de business, cazuri de
utilizare i metoda interviului.
n cazul metodei cazurilor de utilizare, se realizeaz urmtoarele aciuni:
- Se prezint lista tuturor actorilor, cu o scurt descriere pentru fiecare i
asocierile acestuia
- Se prezint cazurile de utilizare pe tipologii, specificnd cine i n ce condiii
iniiaz cazul de utilizare i care este niruirea de aciuni realizate n cazul de
utilizare.
- Se prezint cazurile de utilizare la nivel general, prezentnd delimitarea
sistemului de contextul su
Cazurile de utilizare sunt acompaniate de diagrame de cazuri de utilizare
folosind UML. Unde este necesar, cazurile de utilizare pot fi nsoite de descrieri
sumare ale interfeei grafice pentru o anumit funcionalitate formulat.
Pentru metoda interviului se prezint lista ntrebrilor adresate i rspunsurile
relevante obinute, dup care lista cerinelor extrase din rspunsuri.
4. Cerine software
n aceast seciune sunt traduse informaiile obinute n faza anterioar aplicnd
metode de elicitaie n trsturi de sistem, cerine funcionale, cerine nonfuncionale i constrngeri (limitri), totul ntr-o manier organizat. Spre
exemplu, aceast organizare presupune codificarea cerinelor pentru un control
precis al acestora i prioritizarea lor.
Glosar
Glosarul este o seciune foarte important a raportului de analiz, aici fiind
prezentate definiii, explicaii, descrieri detaliate ale conceptelor importante din
cadrul organizaiei i a sistemului analizat. Conceptele sunt prezentate sub form
de list ordonat alfabetic. n glosar pot fi folosite i scheme sau diagrame

pentru o ct mai clar explicare a termenilor. Totodat, pot fi descrise relaii ntre
concepte. Se recomand ca realizarea glosarului s nceap odat cu realizarea
analizei proiectului.
Proiectarea sistemelor informatice 5
1.3 Modele de dezvoltare software
De-a lungul timpului, n practica dezvoltrii sistemelor informatice, n funcie de
tipurile de abordare pe care le-au avut specialitii n timpul dezvoltrii au aprut
mai multe modele de dezvoltare software. Pentru a discuta modelele de
dezvoltare software vom defini mai nti ciclul de via al produsului software.
Aadar, ciclul de via al unui produs software este o structur care este urmat
n vederea realizrii unui produs informatic. Aceast structur cuprinde etape n
care sunt realizate aciuni specifice.
n aceast expunere vom discuta cteva dintre modelele cunoscute de dezvoltare
existente: modelul cascad, modelul prototipului (prototipizrii) i modelul
spiral.
Modelul cascad este alctuit din urmtoarele faze:
Analiza, sau specificarea cerinelor
Concepia, sau designul
Implementarea i integrarea componentelor software
Testarea Instalarea
Mentenana (ntreinerea)
Modelul cascad se caracterizeaz prin faptul c fiecare etap este parcurs
complet, dup care se trece la urmtoarea etap. n urma parcurgerii fiecrei
etape pot aprea ajustri la rezultatul produs, ns cu toate acestea modelul nu
ncurajeaz revenirea la etape anterioare pentru modificarea rezultatelor. Acest
model este aplicat n general pentru sisteme simple n care cerinele sunt bine
cunoscute sau pot fi corect i complet stabilite n faza de analiz.
Modelul prototipului este folosit n general n situaiile cnd sistemul vizat este
complex, cerinele sunt greu de identificat corect i n ntregime n faza de
analiz. Acest model este folosit pentru sisteme cu grad mare de noutate fie din
punct de vedere al funcionalitilor oferite, fie al tehnologiei adoptate. Acest
model pornete cu stabilirea cerinelor iniiale, dup care se realizeaz concepia
i se implementeaz versiunea iniial de sistem. Sistemul este supus n
continuare evalurilor, i n urma acestora se revine asupra cerinelor. Acest
ciclu se reia pn cnd, la evaluare, se constat c sistemul ndeplinete
performana dorit. Dup acest prag, sistemul este trecut n faza de dezvoltare
propriu-zis (n scopul obinerii produsului software final) i testat. n final,
exist i faza de mentenan.
Modelul prototipului are o abordare de la simplu la complex, ntruct la fiecare
iteraie, versiune de prototip sunt adugate funcionaliti.

Modelul spiral reprezint o combinaie a elementelor folosite de modelele n


cascad i prototipului, ns n plus trateaz riguros riscul la fiecare etap. Acest
model este utilizat n dezvoltarea sistemelor informatice mari, complexe,
realizate cu costuri semnificative, de obicei soluii dedicate. n acest model se
ncepe cu stabilirea obiectivelor pentru sistem, analiza cerinelor, identificnd
sursele de risc posibile. Pentru fiecare surs de risc se realizeaz o analiz i se
ncearc gsirea unei metode de minimizare, excludere a sa. n funcie de
rezultatul analizei de risc se consult clientul care poate alege ntre a opri
proiectul sau a continua asumndu-i riscurile identificate. n aceast faz se
poate construi un prototip (care presupune costuri mai reduse) pentru a evalua
riscul.
6Proiectarea sistemelor informatice
1.4 Proiectarea logic
Sistemele informatice sunt alctuite din subsisteme, aplicaii, uniti funcionale,
uniti de prelucrare (proceduri). La orice nivel din aceast list de componente
ne-am afla, fiecare entitate necesit intrri, pe care le prelucreaz, producnd
ieiri. Aadar, exist date de intrare, un mecanism de prelucrare a datelor de
intrare (care poate fi un algoritm sau formul) i exist date de ieire, care
reprezint rezultatul prelucrrii datelor de intrare.
Relaiile dintre diversele componente ale unui sistem se bazeaz pe acest
mecanism de intrri-prelucrri-ieiri. Astfel, dac o component A pentru a putea
realiza funcionalitatea sa are nevoie de funcionalitatea componentei B, o va
apela (executa, rula) pe aceasta din urm cu anumite date de intrare i va atepta
de la aceasta un rezultat. Datele de intrare i ieire reprezint baza
informaional, iar ntr-un sistem informatic aceasta poate fi asigurat de un
sistem de gestiune a fiierelor sau a bazelor de date.
Proiectarea logic a unui sistem informatic reprezint activitatea prin care se
stabilesc intrrile sistemului informatic, prelucrrile pe care acesta le realizeaz
i ieirile acestuia, pentru toate nivelurile de granularitate specificate mai sus.
Aadar, la nivel de sistem informatic intrrile reprezint modificrile din
sistemul informaional care determin schimbri de valori n coleciile de date.
Aceste schimbri pot duce mai departe la modificarea altor valori, care
constituie intrri pentru alte componente (proceduri). Exist deci modificri care
sunt cauzate n afara sistemului informatic, n acest caz fiind vorba de intrri
pentru sistemul informatic i modificri produse n interiorul acestuia, fiind
vorba de intrri la nivel intern pentru componente ale sistemului informatic.
Un fapt important pentru analiza logic cu privire la intrri i la baza
informaional este evitarea redundanei. Astfel, trebuie s se asigure o singur
surs de date pentru aspectul din spaiul problemei pe care l reprezint. Spre
exemplu, ntr-o baz de date nu vom proiecta pentru documente seria i numrul
acestora n mai multe entiti, din motive evidente.
n continuare, prelucrrile sistemului informatic sunt realizate de ctre
procedurile acestuia, ns trebuie s avem n vedere conceptul de agregare a

funcionalitilor care spre exemplu la nivel de sistem presupune agregarea


funcionalitilor subsistemelor. Prelucrrile presupun operaii pe baza intrrilor
n scopul de a produce ieiri, rezultate.
Componentele care alctuiesc un sistem informatic sunt reprezentate grafic
folosind diagramele de componente (n UML). Acestea permit redarea la diverse
niveluri de granularitate agregarea funcionalitilor prezentat anterior, dar i
relaii ntre componente. Relund exemplul anterior, componenta B poate fi
reprezentat ca fiind inclus n componenta B.
Ieirile sistemului informatic reprezint rezultatele produse de acesta, care pot
exista
n mai multe forme: rapoarte, liste, grafice, valori sintetice. Aceste date pot fi
salvate n fiiere i pot reprezenta mai departe intrri pentru alte sisteme
informatice (de analiz a datelor de exemplu). La un nivel mai detaliat de
proiectare trebuiesc desigur specificate ieirile la nivel de componente.
Deasemenea, observm c ieirile unui sistem informatic pot fi utile direct
utilizatorului uman sau altor sisteme informatice.
Proiectarea sistemelor informatice 7
1.5 Proiectarea tehnic
Ulterior proiectrii logice n care proiectantul a stabilit funcionarea de ansamblu
a sistemului, a identificat componentele acestuia i relaiile dintre ele la nivel
funcional, urmeaz proiectarea tehnic (sau fizic) a unui sistem informatic,
faz n care sunt cutate soluii tehnice efective pentru a obine funcionalitile
cerute.
n aceast faz proiectantul poate cuta soluii pentru urmtoarele aspecte:
structura fizic a programelor algoritmii efectivi care prelucreaz datele;
structura fizic a datelor, nelegnd c trebuiesc alese structuri (colecii) de date
pe care componentele identificate s le foloseasc n procesare;
nlnuirea operaiilor ordinea de iniializare a datelor (variabile, obiecte),
apeluri de funcii, tipuri de memorie folosite (static/dinamic), generarea i
tratarea de evenimente;
tehnologii hardware folosite, limbaje de programare folosite;
realizarea documentaiei cu specificaii de execuie pentru toate aspectele
stabilite, care este util mai departe programatorilor (cei care implementeaz
sistemul informatic), testerilor i celor care vor ntreine sistemul.
Sintetiznd, proiectantul de sisteme informatice realizeaz urmtoarele activiti:
- Proiectarea logic (sau conceptual) a sistemului informatic;
- Proiectarea tehnic (sau fizic) a sistemului informatic;
- Proiectarea implementrii sistemului informatic;
- Proiectarea testrii sistemului informatic;
- Proiectarea ntreinerii sistemului informatic.
1.6 Riscuri pentru proiectul informatic i noiuni de management ale ciclului de
via ale produsului software.

Cu ct amploarea proiectului informatic dezvoltat este mai mare, cu att este


mai mare ansa de apariie a riscurilor. Riscurile amenin reuita proiectului i
pot avea diverse surse i consecine, dintre care enumerm: ntrzierea livrrii
ctre beneficiar a proiectului informatic, neplata execuiei proiectului,
identificarea greit a prilor afectate semnificativ de sistemul informatic,
validarea necorespunztoare a cerinelor de sistem. n continuare vom dezvolta
sursele de risc pentru proiectele informatice.
Pentru a trata sursele posibile de risc ale unui proiect informatic, mai nti
acestea trebuiesc identificate. Identificarea din timp a acestora duce la o cretere
a ansei de a le gestiona cu succes. Este recomandat ca practicianul care conduce
proiecte informatice s realizeze pe parcursul experienei sale de munc liste cu
surse de riscuri pentru proiectul informatic. La fiecare proiect, sursele deja
identificate anterior trebuiesc dezvoltate, detaliate dac se manifest din nou, i
cele noi trebuiesc adugate listelor existente. Motivaia
ntreinerii listelor de riscuri este evitarea acestora n continuarea proiectului
actual i n proiectele viitoare.
8Proiectarea sistemelor informatice
n timp, aceste liste de riscuri au fost standardizate pentru a putea fi nelese,
utilizate i ntreinute mai uor de ctre managerii de proiect. Astfel, SEI
(Software Engineering Institute) ofer un standard [SEI] pentru lista de riscuri.
Abordarea standardului este gruparea pe tematici de riscuri. Vom prezenta n
continuare un exemplu de list de activiti, prin realizarea crora se elimin
posibile surse de risc:
Pri afectate semnificativ de viitorul sistem informatic:
- Identificarea prilor afectate semnificativ de viitorul sistem informatic. Dac
nu am identificat prile afectate de sistem, poate aprea de exemplu riscul de
refuz al sistemului informatic din cauza neconcordanei cu necesitile
beneficiarului, sau includerea noilor funcionaliti s ntrzie livrarea final a
produsului sau s presupun costuri ridicate.
- Identificarea persoanelor cu putere de decizie din prile afectate semnificativ.
Persoanele cu putere de decizie au o contribuie semnificativ n derularea
proiectului (de exemplu pentru modificarea resurselor organizaiei
materiale/imateriale pentru corelarea cu viitorul sistem).
- ntlnirea n persoan a persoanelor afectate. Anumii indivizi pot reprezenta
risc dac nu s-a discutat fa n fa cu ei din motive de relaii inter-umane,
curtoazie, informare mai precis asupra cerinelor de sistem. Metoda interviului
pentru extragerea cerinelor spre exemplu este mai eficace cnd persoanele se
ntlnesc fizic.
- Obinerea de informaii despre prile afectate de sistem: preferine, obinuine,
antecedente etc. Necunoaterea unor aspecte ce in de cultura, obiceiurile sau
istoria organizaiei pot duce la folosirea parial a potenialului organizaiei n
utilizarea viitorului sistem informatic.
Frici, reineri i dorine:

Dezvoltarea unui nou sistem informatic n cadrul unei organizaii presupune un


grad de schimbare. Aceasta va impune mai devreme sau mai trziu pentru
membrii ei cerina de adaptare, care poate prezenta riscuri pentru proiect.
- Identificarea ideilor de care prile afectate se tem n general n legtur cu
proiectul informatic.
- Identificarea posibilelor grupri n cadrul persoanelor afectate de sistem n
funcie de temerile pe care le au.
- Identificarea dorinelor prilor implicate n legtur cu proiectul. Produs
informatic i cerine de sistem:
- Scopul, motivaia proiectului trebuie s fie clare.
- Identificarea prilor din proiect care pot sau nu s fie schimbate pe parcursul
execuiei
Procesul de business:
- Identificarea limitrilor (constrngerilor) legate de resurse: timp, bani, personal
disponibil. Personalul disponibil pe durata execuiei proiectului trebuie analizat
att din perspectiva organizaiei care produce sistemul informatic ct i din cea a
Proiectarea sistemelor informatice 9
beneficiarului. Personalul beneficiarului este implicat n anumite faze ale
ciclului de
via al sistemului.
- Estimarea msurii n care aceste limitri pot fi influenate.
Mecanisme de reacie i analiz:
- Asigurarea mecanismelor de reacie i analiz pe toat durata realizrii
proiectului. Lipsa acestora poate duce la disfuncionaliti i uneori la
incapacitatea echipei de management de a reaciona n timp util pentru evitarea
manifestrii riscurilor. Aceste mecanisme sunt menite s ofere reacia prilor
afectate de proiect, vis-a-vis de execuia acestuia.
Lista prezentat mai sus poate fi dezvoltat n continuare cu aspecte generale
privind riscuri de proiect informatic. Pentru fiecare proiect informatic ns exist
riscuri specifice, care sunt mai greu de identificat dac experiena n situaii cu
spaiul problemei similare este redus.