1-1
T
R
U
M
E
N
T
SISTEME DE GESTIUNE A
BAZELOR DE DATE
EXTENSII ALE
SISTEMELOR DE OPERARE
SISTEME DE OPERARE
Om
I
N
S
Calculator
1-2
Elemente de baz
gestiunea datelor dintr-o baz de date, care asigur independena programelor fa de modul de
structurare a datelor, o redundan minim n memorarea acestora precum i timp minim de
rspuns la solicitrile utilizatorilor
4. Produse program orientate pe metod sau model matematic - sunt produse program de tipul
bibliotecilor de (sub)programe matematice, pachete i sisteme de programe pentru rezolvarea
unor clase de aplicaii ce au la baz acelai model sau metod matematic etc.
5. Produse program orientate pe domenii sau pe specificul domeniului de aplicaie - sunt
produse destinate rezolvrii aplicaiilor din diferite domenii de activitate uman (industrie,
agricultur, transporturi, sntate etc.)
6. Instrumente pentru realizarea produselor program - sunt entiti software care prelucreaz /
acioneaz asupra altor entiti software, fie ca instrumente de programare, fie ca o component
transparent a sistemului de programare sau a sistemului de operare. Ele pot fi simple
instrumente dispersate sau integrate n medii de programare, sisteme de dezvoltare complexe,
produse de tip CASE (Computer Aided Software Engineering).
Dup cum se observ din figura 1.1, instrumentele pot opera asupra tuturor componentelor clasificrii
date i se regsesc la orice nivel al piramidei. De asemenea unele dintre ele constituie calea prin care
componentele de nivel superior (de exemplu cele de nivel 4 i 5) folosesc facilitile oferite de cele de
nivel inferior. Produsele program orientate pe metod /domeniu (categoriile 4 i 5) formeaz softwareul de aplicaie. Ele sunt uor de utilizat, au o structur modular (care le confer un grad nalt de
flexibilitate n implementare precum i faciliti de extindere i modificare) i dispun de documentaie
adecvat sub form de manuale de prezentare, utilizare i operare.
Precizm faptul c acelai produs program poate fi clasificat att dup domeniul de aplicaie n care
este utilizat ct i dup metoda / modelul pe care se bazeaz.
Caracteristicile generale ntrunite de produsele program orientate sunt:
1. generalitate - produsul program rezolv toate problemele din clasa respectiv;
2. eficiena algoritmului - durata execuiei s fie mic iar memoria intern utilizat s fie redus;
3. parametrizare complet - parametrii algoritmului s fie sub controlul utilizatorului;
4. independen ntre intrri i ieiri;
5. portabilitate - produsul s poat fi implementat pe diferite tipuri de calculatoare fr modificri
prea mari;
6. robustee, siguran n execuie - dispun de o baz matematic solid, convergena algoritmului
s fie demonstrat etc.;
7. fiabilitate ridicat - numrul de erori n faza de execuie s fie foarte mic.
Utilizarea produselor program orientate prezint urmtoarele avantaje: reducerea efortului i costului
realizrii programelor / sistemelor informatice; reducerea timpului total de implementare a
aplicaiilor / sistemelor; reducerea erorilor n fazele de implementare i execuie; asigur o legtur
direct om-main; asigur performane de timp de calcul i precizie.
Dintre dezavantaje amintim: numrul mare de instruciuni, slaba eficien sub aspectul utilizrii
echipamentelor de calcul, documentaie deficitar.
Elementele constitutive ale software-ului de aplicaie sau ale produselor program orientate pot fi de
urmtoarele tipuri: programe, module, pachete sau sisteme de programe, biblioteci de programe, biblioteci
de subprograme etc.
Programul este o combinaie de instruciuni de calcul i definiii de date care permit calculatorului s
execute calcule i funcii de control, reprezentnd deci codificarea ntr-un limbaj accesibil mainii sau ntrun limbaj de nivel nalt a unor algoritmi sau a unor funcii de prelucrare a informaiei. Programul constituie
o unitate de sine stttoare care interacioneaz doar cu sistemul de operare i lucreaz cu date de intrare /
Elemente de baz
1-3
ieire proprii.
Modulul (la nivel de program) este un element de structur al programului, rezultat din divizarea
acestuia n pri disjuncte, astfel nct fiecare parte s aib independena funcional, iar interaciunea
dintre pri s fie minim. Modulul este caracterizat de urmtoarele elemente: funcia, logica, interfaa
i ponderea sau tria modulului. Menionm c termenul de modul este utilizat la orice nivel n ierarhia
sistem informatic, subsistem, aplicaie, program, modulele unui sistem fiind subsistemele, ale unui
subsistem fiind aplicaiile, ale unei aplicaii fiind programele. Modularitatea la nivel de programe se
numete micromodularitate.
Pachetul / sistemul de programe reprezint o mulime de programe / module, constituit ntr-o
structur de tip liniar, arborescent sau reea, care rezolv izolat sau mpreun probleme de un anumit
tip, aparinnd unei aceleai clase de probleme.
Bibliotecile de (sub)programe sunt colecii de (sub)programe care rezolv probleme dintr-o anumit clas
i sunt folosite de programatori ca instrumente de dezvoltare a aplicaiilor, obinnd astfel un nalt grad de
standardizare i modularizare. Subprogramele nu efectueaz operaii de intrare / ieire, datele i rezultatele
fiind transmise prin list de parametrii sau zon comun.
Orice program (figura 1.2.) este compus din trei pri principale: date, algoritm i structur. Interaciunea acestora este prezentat n figura 1.3. Algoritmul specific un set de operaii ce se aplic
asupra mulimii datelor, rezultnd la intersecia acestor dou pari, operaii de intrare / ieire, operaii
logice, atribuiri, etc.
Structura programului definete pe mulimea datelor diferite tipuri de structuri de date necesare
prelucrrilor cuprinse n algoritm.
DATE
STRUCTUR
PROGRAM
ALGORITM
De asemenea structura programelor induce asupra algoritmului diferite tipuri de structuri fundamentale
de control.
Structuri de
date
DATE
STRUCTUR
PROGRAM
Structuri de
control
Operaii logice,
de I/E, atribuiri
ALGORITM
Se mai poate spune c structura unui produs program este echivalent cu modul de organizare folosind
secvena, selecia, iteraia i ierarhia.
Secvena este un grup de enunuri care se execut liniar.
Selecia este o structur care alege ntre executarea secvenei s1 sau secvenei s2 n funcie de
1-4
Elemente de baz
realizarea sau nerealizarea unei condiii c.
Repetiia este structura care const n executarea, de un anumit numr de ori, a unui grup de
enunuri.
Ierarhia este un mod de organizare dup un anumit criteriu dominant.
Cnd aceste structuri sunt aplicate asupra datelor, rezult structuri de date iar cnd se aplic asupra
algoritmilor se obin structuri de control ale produsului program ce corespund n diferite limbaje de
programare unor construcii specifice.
Folosind aceste considerente, n capitolele urmtoare se vor trata distinct fiecare dintre prile
componente ale produsului program precum i interaciunile dintre acestea.
Elemente de baz
1-5
Avnd n vedere gradul crescut de interconectare ntre calculatoare, n prezent iau o amploare tot mai
mare aplicaiile distribuite bazate pe arhitecturi client-server. La ora actual dezvoltrile n domeniul
tehnologiei informaiei i deci i n realizarea de software, sunt legate de Internet i Intranet.
ntre evoluia produselor program, a limbajelor de programare i a generaiilor de calculatoare exist o
legtur absolut explicabil. Astfel privit n timp evoluia principalelor limbaje de programare i
rspndirea lor n utilizare poate fi reprezentat ca n figura 1.4.
Rspndire
%
Limbaj
main
Limbaje
procedurale
Limbaj
asamblare
SGBD,
generatoare,
limbaje
specializate,
limbaje de
interogare
Limbaje
orientate
obiect
100
%
?
1950
1960
1970
1980
1990
2000
Limbaje
neprocedurale
Dac la nceputurile informaticii, programarea se fcea numai n limbaj main (aportul omului era de
peste 90%), apariia urmtoarelor generaii este nsoit de cteva dezvoltri semnificative ale
limbajelor. ntre evoluia limbajelor i generaiile de calculatoare este o oarecare concordan, n sensul
c n generaia a doua predomin limbajul de asamblare, generaia a treia nseamn mai ales folosirea
limbajelor procedurale de nivel nalt, generaia a patra - rspndirea sistemelor pentru gestiunea
bazelor de date, a limbajelor de interogare, generatoarelor de rapoarte i a limbajelor specializate pentru
diverse domenii. Generaia a cincea se pare ca va fi nsoit de proliferarea limbajelor neprocedurale
apropiate de limbajul uman i in care aportul programatorului in scrierea programului va fi sub 5%.
Caracteristic deci generaiilor de produse program delimitate dup tipul limbajului de programare utilizat
este i raportul dintre munca efectuata de om i cea efectuata de calculator pentru realizarea produselor program (figura
1.5.).
MUNCA EFECTUAT DE
OM
55 60 %
80 - 85 %
25 %
MUNCA EFECTUAT DE
CALCULATOR
10 %
Limbaj
main
Limbaje de
asamblare
Limbaje
procedurale
Limbaje
specializate
Limbaje
neprocedurale
1-6
Elemente de baz
O dat cu aceast evoluie se constat o scdere permanent a raportului dintre munca efectuat de om
i cea realizat de sistemul de calcul.
Fcnd o extensie, de la tip de limbaj la produs program, se poate vedea foarte clar modul de evoluie
al acestora din urm. Nu ne putem limita ns la aceast stratificare a generaiilor de produse program
numai dup limbajele n care au fost scrise. Trebuie s inem seama i de evoluia mijloacelor tehnice,
evoluie care trebuie privit din punctul de vedere al harware-ului (de la calculatoarele mari la
calculatoarele personale) i al software-ului (de la limbaje suport, sisteme de operare, la SGBD-uri).
Astfel, produsele program au avut urmtoarea evoluie:
a. Produse program care prelucreaz date/informaii:
produse program monolit (nchise);
produse program modular-structurate;
produse program conversaionale (evoluia programului este liniar, determinat de dialogul de
tip intrebare-rspuns dintre produsul program si utilizator);
produse program interactive;
b. Produse program care prelucreaz cunotine:
sisteme de asistare a deciziei;
sisteme expert.
ntre aceste ultime dou categorii exist unele deosebiri att de natur arhitectural ct i funcional.
n ultimul timp, tot mai muli autori consider c sistemele de asistare a deciziei fac parte din clasa
sistemelor expert, care incorporeaz o baz de date, o baz de cunotine, un mecanism inferenial i o
interfa de I/E care faciliteaz interaciunea decidenilor cu sistemul.
Elemente de baz
1-7
matematic, alocare - nivelare resurse, teoria deciziei, simulare, planificare optim a produciei,
gestiunea tiinific a stocului, econometrie etc.
Produsele program orientate pe domeniul sau specificul aplicaiei se pot clasifica dup urmtoarele
criterii:
1. dup gradul de generalitate produsele program pot fi:
de uz general - realizeaz funcii de uz general;
generalizabile - informatizeaz funcii specifice la nivel de grup tipologic de uniti sau
activiti;
refolosibile - elaborate pentru o aplicaie sau pentru un anumit utilizator, pot fi preluate i de
ali utilizatori;
unicat - elaborate numai pentru un anumit tip de utilizator sau aplicaie.
2. dup natura funciilor utilizator informatizate, produsele program pot fi pentru:
informatizarea proceselor de conducere;
informatizarea principalelor funcii ale ntreprinderii;
automatizarea activitilor de birou - administrative (birotica);
informatizarea cercetrii tiinifice, documentrii, proiectrii;
robotica industrial;
automatizarea activitilor de programare;
inteligena artificial etc.
3. dup tipul de domeniu (ramura, subramura) cruia i aparine utilizatorul final produsele program
pot fi pentru uniti industriale, agricole, silvicultur, construcii, transporturi, telecomunicaii,
nvmnt, cultur i art, ocrotirea sntii, aprovizionarea tehnico - material etc.
Exist i alte criterii de clasificare a produselor program dintre care mai importante sunt: natura
problemei ce o rezolv, modul de descriere a problemei sau datelor, forma de prezentare etc.
Precizm c aceleai produse program pot fi cuprinse n mai multe clase, conform criteriului luat n
considerare. De aceea, prezentarea lor se poate face numai ntr-o singur clas, iar enumerarea lor
poate fi semnalat n toate clasele n cauz.
1-8
Elemente de baz
locul, cauza i modalitile de eliminare a erorilor.
Nivelele de fiabilitate i metenabilitate trebuie s fie astfel dimensionate nct ponderea erorilor ce
necesit modificarea de secvene n program s fie ct mai redus.
Implicaiile algoritmului utilizat n realizarea produsului program asupra preciziei, vitezei,
consumului de resurse.
Criteriile de alegere sunt dup cum rezult din cele semnalate anterior, strns legate de caracteristicile
de calitate, asigurate n toate etapele de elaborare a produsului program. Vom aminti c putem vorbi,
ca n cazul oricrui produs, de calitatea la elaborator i calitatea la beneficiar sau de calitatea procesului
de realizare i calitatea produsului final.
Din punct de vedere al beneficiarului evaluarea performanelor i limitelor unui produs program presupune examinarea unor elemente cum sunt: configuraia minim (maxim) necesar implementrii;
necesarul de memorie intern pentru program sau corelaia dintre elementele care definesc
dimensiunile problemei n raport cu disponibilul de memorie intern; precizia pe care o pot avea
rezultatele n raport cu durata rezolvrii problemei; opiuni pentru obinerea rezultatelor intermediare;
modul de tratare al erorilor; nivelul fiabilitii produsului program etc.
Evaluarea performanelor produsului program mai poate fi neleas ca o comparare a nivelelor
caracteristicilor sale de calitate i cele planificate. n acest sens evaluarea se realizeaz de ctre echipa
de realizatori lund n considerare exemple de control proprii sau unele probleme de rezolvat de ctre
beneficiarii poteniali ai produsului program. Valorile atribuite nivelelor caracteristicilor de calitate au
n acest caz caracter orientativ. Evaluarea performanelor se efectueaz i de fiecare utilizator n parte,
incluznd particularitile specifice ale fiecrui tip de problem pe care o rezolv. Valorile obinute
n acest caz au menirea de a corecta sau de a confirma nivelele existente n documentaia care nsoete
produsul program. Pentru evaluarea performanelor se ntocmete un plan de observaii statistice i se
nregistreaz informaii cu privire la:
descrierea problemei (dimensiuni, volum de date semnificative, elemente de structur a problemei);
Constituirea seriilor de date se realizeaz n timp i la evaluarea performantelor sunt utilizate metode
statistice (calculul mediei, dispersiei, corelaiei, testarea ipotezelor privind egalitatea
mediilor/dispersiilor, analiza dispersional etc.).
Pe msura completrii seriilor de date cu noi nregistrri se procedeaz la recalcularea nivelelor pentru
caracteristicile ce definesc performanele produsului program. Studierea caracteristicilor cu nivele mai
sczute creeaz premizele modificrii produsului program sau proiectrii de noi versiuni care conduc la
mbuntirea nivelelor i pentru aceste caracteristici.
Gestionarea unic a produselor program are menirea de a selecta dup criteriul performanei i de a
generaliza implementarea lor. n acelai timp cererile formulate de beneficiar au ca efect perfecionarea
produselor program existente i influeneaz lansarea n realizare de noi produse program.
Elemente de baz
1-9
semifabricate pe fluxul tehnologic, strile intermediare fiind stocate n depozite de flux, iar produsul
finit n magazia de produse finite, tot astfel i produsul program pleac de la problema concret, de la o
serie de programe de sistem (compilatoare, programe utilitare etc.), care fac obiectul unei elaborri,
strile i componentele intermediare fiind stocate n biblioteci ce pot fi numite biblioteci tehnologice, iar
produsul finit este depus n biblioteca unitii de informatic i eventual este naintat spre difuzare unei
biblioteci de distribuie.
Din punct de vedere al rolului lor n fluxul tehnologic i de utilizare a produselor program, bibiotecile de
programe pot fi: tehnologice i de distribuie.
Bibliotecile tehnologice constituie premize de cretere a productivitii i calitii produciei de
produse program i conin: bibiotecile de sistem, bibliotecile proiectelor i bibliotecile personale ale
programatorilor.
Bibliotecile tehnologice pot fi de patru tipuri:
biblioteci centrale ale unitilor de informatic n care sunt cuprinse toate programele aflate n
exploatare n unitatea respectiv;
biblioteci de proiect - sunt specifice unui anumit proiect de produs program, de aplicaie sau de
sistem informatic i conin programe sau module, componente finite ale unui produs program
complex, ale unei aplicaii sau ale unui sistem, deja testate i acceptate;
biblioteci individuale - sunt organizate i ntreinute de programator pentru nevoi ce apar pe
parcursul activitii curente de programare i conin module i programe n curs de elaborare sau
programe finite;
biblioteca de sistem conine instrumentele cu ajutorul crora se realizeaz produsele program
aplicative, adic programele utilitare, compilatoarele, translatoarele, interpretoarele etc.;
n unitile de informatic pot apare ierarhii de biblioteci de programe, la nivelul cel mai nalt fiind
biblioteca central care conine toate produsele program finite elaborate n cadrul unitii sau n alte
uniti de informatic i exploatate n unitatea n cauz. Pe nivelul urmtor pot fi considerate
bibliotecile de proiect care conin toate modulele i programele elaborate de ctre toi programatorii
care lucreaz la proiectul respectiv. La rndul lor, programatorii au biblioteci individuale, organizate
pe proiecte, care conin programe elaborate de ctre acetia i n curs de finisare i programe/module
preluate din biblioteca sistem.
Bibliotecile de distribuie sunt destinate pentru difuzarea la utilizator a produselor program de uz
general i generalizabile, ceea ce permite scurtarea duratei de elaborare a sistemelor informatice i
elimin posibilitatea elaborrii de produse program cu funcii identice.
n unele cazuri, bibliotecile de programe ale unitilor de informatic departamentale au rolul de
biblioteci de distribuie pentru produse program specifice prelucrrii informaiei din ramura respectiv.
Bibliotecile de distribuie au urmtoarele funcii:
colectarea de produse program de uz general i generalizabile de la elaboratori i difuzarea
acestora la utilizatorii interesai;
evidena produselor program elaborate i n curs de elaborare aflate la autori;
selectarea de produse program de uz general i generalizabile care prezint interes pentru mai
muli utilizatori;
colectarea produselor program selectate i repartizarea lor pe clase;
testarea produselor colectate, validare, omologare;
informarea utilizatorilor cu privire la produsele program aflate in fondul bibliotecii;
difuzarea la utilizator a produselor program;
urmrirea n exploatare a produselor program;
colectarea de la utilizator de informaii cu privire la comportarea n exploatare a produselor,
precum i de cerine pentru noi produse program.
1-10
Elemente de baz
Existena bibliotecilor de programe i organizarea lor conform anumitor principii poate constitui un
mijloc important de ordonare i disciplinare a procesului de realizare a produselor program. Ele
contribuie la mbuntirea productivitii activitii de programare prin furnizarea de module i
programe gata elaborate, prin nlturarea paralelismelor i constituie un spaiu de depozitare pentru
produsele program i componentele acestora n curs de elaborare sau produse finite. n concluzie,
bibliotecile de programe contribuie la creterea indicilor cantitativi i calitativi ai activitii de
elaborare a produselor program.
n prezent, datorit accesului rapid la o mare cantitate de informaie i a facilitilor crescute de
comunicare oferite de Internet, utilizatorii au posibilitatea de a cunoate, evalua, compara, selecta i
achiziiona produse program oferite de diverse firme productoare de software. Comunicarea direct
dintre productori i utilizatori, asigur creterea calitii produselor program prin realizarea de
mbuntiri i dezvoltri de noi versiuni n concordan cu cererile utilizatorilor.
Elemente de baz
1-11
asupra acestuia
o Utilizatorul autorizat are dreptul de a realiza copii de arhiv sau de siguran fr acceptul
autorului
Reproducerea sau traducerea codului program pentru interoperabilitate cu alte programe trebuie
autorizat de titularul dreptului de autor dac
o Actele de reproducere sau traducere sunt realizate de o persoan care deine dreptul de utilizare a
unei copii a programului
o Informaiile necesare interoperabilitii nu sunt uor i rapid accesibile
o Actele se limiteaz la pri din program
Informaiile necesare interoperabilitii
o Nu pot fi utilizate n alte scopuri dect pentru realizarea acesteia
o Nu pot fi comunicate altei persoane
o Nu pot fi utilizate pentru definitivarea, producerea sau centralizarea unui program a crui expresie
este fundamental similar