Sunteți pe pagina 1din 11

Elemente de baz

1-1

Capitolul 1 : Elemente de baz


1.1 Produse program, componente ale software-ului
n vederea ndeplinirii unor funciuni de prelucrare a informaiilor, informatica pune la dispoziia
utilizatorilor, un ansamblu de echipamente, programe i proceduri de operare, implementare i
ntreinere; acest ansamblu constituie un sistem de prelucrare automat a datelor sau un sistem
informatic, dac colectarea, stocarea, prelucrarea i distribuirea informaiilor se face n special cu
mijloace automate.
Sistemul informatic are deci n componena sa ansamblul de echipamente (hardware), ansamblul de
programe (software) i ansamblul de personal.
Prin noiunea de software se nelege produsul intelectual ce const din programe, proceduri, reguli i
documentaia asociat pentru funcionarea unui sistem de prelucrare a datelor. Software-ul nu trebuie
redus numai la sistemul de programe propriu-zis ci cuprinde procedurile de operare, implementare,
utilizare, ntreinere, documentaia asociat acestora, precum i interaciunea cu utilizatorii.
Componentele software-ului sunt produsele program. Orice produs program este constituit din :
- programul propriu-zis (codul sau instruciunile);
- datele asociate prelucrrilor prevzute n program;
- documentaia asociat produsului.
Produsele program (produse software) sunt asemntoare produselor rezultate dintr-o activitate de
producie tradiional, ele trecnd prin etapele de analiz, proiectare, realizare, testare, experimentare i
utilizare. Deosebirea const n faptul c produsele program rezult dintr-o activitate intelectual i sunt
destinate punerii n valoare a produselor de tip calculator sau echipament, care funcioneaz pe baz de
instruciuni (program). Considernd ca esenial raportul dintre utilizator i main, produsele program
se pot stratifica n urmtoarele categorii (figura 1.1).
PRODUSE PROGRAM ORIENTATE PE DOMENIU

PRODUSE PROGRAM ORIENTATE PE


METOD SAU MODEL

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

Fig.1.1. Stratificarea produselor program

1. Sisteme de operare - programe de baz, cu caracter universal; un sistem de operare este o


colecie de elemente software care controleaz execuia programelor i furnizeaz servicii altor
componente ale software-ului
2. Extensii ale sistemelor de operare - sunt sisteme de operare cu caracter dedicat, care asigur,
la nivelul echipamentelor, faciliti speciale cerute numai de anumite aplicaii; ca exemplu,
amintim sistemele de operare pentru reele de calculatoare, mesagerie electronic,
teleconferine, sisteme de operare pentru conducere de procese tehnologice etc.
3. Sistemele de gestiune a bazelor de date (SGBD) - sunt sisteme de programare pentru

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

Fig. 1.2. Prile componente ale unui program

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

Fig. 1.3. Interaciuni ntre prile unui program

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.

1.2. Generaii de produse program


Dac n domeniul echipamentelor se vorbete de generaii de calculatoare, determinate mai ales de
inovri tehnologice radicale (de la tub electronic, tranzistor, circuit integrat, la microelectronic),
pentru celelalte domenii - produse program, personal de specialitate, utilizatori finali i conductorii
acestora - nu se pot identifica jaloane la fel de precise i marcate.
Cu toate acestea, prin analogie i n strns legtur cu generaiile de calculatoare, se poate vorbi i de
generaii de produse program, evoluia i performanele echipamentelor de calcul fiind determinante
pentru evoluia produselor program.
Referindu-ne la cele patru domenii ale prelucrrii automate a datelor, amintite anterior, n anumite
perioade i n funcie de locul i de gradul de rspndire a informaticii, au existat i exist nc decalaje
ntre nivelele de dezvoltare sau generaii. Fa de situaia limit ideal, cnd nivelul de dezvoltare a
echipamentelor, programelor, personalului de specialitate i utilizatorilor ar trebui s fie ct mai
apropiat, se opune situaia n care ntre acestea exist decalaje, exist o "discrepan a generaiilor". O
astfel de situaie se apreciaz ca a existat atunci cnd echipamentele erau de generaia a treia,
programele de generaia a doua, personalul de specialitate de generaia nti, iar
conductorii/utilizatorii de generaia zero.
Generaia a treia de calculatoare a nsemnat, printre altele, i un nou mod de lucru, acela n regim de
teleprelucrare. Sistemele de operare care nsoeau aceste echipamente nu erau orientate spre un astfel
de regim de lucru sau n versiuni ulterioare rezolvau numai parial aceste probleme; de asemenea,
maniera de proiectare i realizare a programelor aplicative (maniera "artizanal") nu era la nivelul
hardware-ului folosit, acest lucru avnd urmri att asupra calitii produselor program, ct i sub
raportul utilizrii echipamentelor.
Formarea personalului de specialitate necesar, att ca pregtire ct i ca specialiti i numr, a
reprezentat un proces continuu, marcat de faptul c, aa cum s-a mai amintit, se desfura o dat cu
dezvoltarea echipamentelor i programelor. n acelai timp utilizatorii, mai ales conductorii acestora,
nu erau pregtii pentru introducerea i utilizarea tehnicii de calcul.
Pentru atenuarea diferenelor de nivel (generaii) ntre cele patru domenii, s-a evideniat necesitatea
unor msuri ca:
1. Introducerea unor metodologii, tehnici, metode de lucru standardizate pentru realizarea produselor
program.
2. Realizarea cu ajutorul mijloacelor amintite a unor subprograme/pachete de programe, ntr-un cuvnt
produse program aplicative generalizabile, corespunztoare din punct de vedere calitativ i cantitativ.
3. Automatizarea procesului de realizare a produselor program.
4. mbuntirea programelor de formare i perfecionare n mod unitar a specialitilor i utilizatorilor
(inclusiv conductori).

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

Fig. 1.4. Evoluia limbajelor de programare

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

Fig. 1.5. Evoluia efortului uman n raport cu generaiile de limbaje

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.

1.3. Clasificarea produselor program orientate pe metod i pe domeniu


Regsirea produselor program n cataloage i biblioteci de programe este facilitat de stabilirea
apartenenei lor la o anumit mulime de programe. Aceast apartenen este stabilit printr-o multitudine de criterii dintre care numai unele vor fi enumerate n continuare.
Produsele program orientate pe metod / model se pot clasifica astfel:
1. dup complexitatea lor, produsele program pot fi :
independente - programe distincte care realizeaz cte o funcie precis i pot fi utilizate
independent sau n cadrul unor colecii de programe;
biblioteci de programe/subprograme - colecii create pentru a fi folosite independent sau n
cadrul aciunii de dezvoltare a altor produse program;
pachete/sisteme de programe;
2. dup funcia ndeplinit n cadrul sistemelor de prelucrare automat a datelor:
programe de exploatare a datelor - sisteme de gestiune a fiierelor, sisteme de obinere
automat a unor anumite tipuri de rapoarte;
sisteme de gestiune a bazelor de date;
programe de aplicaie - programe care asigur informatizarea unor funcii la nivelul unuia
sau mai multor utilizatori finali;
programe utilitare - faciliteaz programarea/ realizarea unor operaii de rutin ca editare
texte, introducere - extragere de date, sortare, interclasare etc.;
programe auxiliare - realizeaz unele operaii auxiliare n exploatarea echipamentelor.
3. dup

natura modelului matematic rezolvat - produse program orientate pe programare

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.4. Criterii de alegere a produselor program i evaluarea


performanelor acestora
La alegerea unui produs program se iau n considerare cerine ca:
Dimensiunea maxim a problemei ce trebuie rezolvat n raport cu dimensiunea maxim
planificat de produsul program.
Resursele configuraiei sistemului de calcul necesare implementrii produsului program n raport
cu resursele configuraiei sistemului la care are acces utilizatorul.
Flexibilitate, uurina n vehicularea datelor de intrare/ieire, modul de nelegere (nvare) a
utilizrii produsului program i de interpretare care s conduc la un anumit numr redus de rulri cu
erori.
Costurile implicate de utilizarea curent i de meninere n exploatare s se situeze la nivele care s
nu afecteze negativ eficiena economic a unitii beneficiare.
Produsul program s poat incorpora noi componente pentru funcii de prelucrare identificate
ulterior i/sau s poat fi adaptat tehnicilor de prelucrare ce corespund dezvoltrii ulterioare a
configuraiei sistemului de calcul.
Nivelul de tratare a erorilor s conduc la reducerea numrului de rulri incomplete ale produsului
program; produsul poate pune n eviden totalitatea erorilor existente n date, poate realiza
corectarea sau ignorarea unora din acestea, iar mesajele de eroare trebuie s stabileasc ct mai exact

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);

numrul de rulri, tipul i numrul erorilor nregistrate pentru fiecare rulare;


consumurile de resurse (ore programare, asisten, timp calculator);
momentele de timp n care se efectueaz msurtorile.

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.

1.5. Stocarea si difuzarea produselor program


Progresul n domeniul programrii, pn la ceea ce se numete industrializarea programrii
calculatoarelor s-a realizat n momentul n care s-a constatat paralelismul existent ntre produsele
industriale n general i produsul program, deosebit de precedentele prin faptul c este un produs
abstract. Dup cum produsul industrial este obinut prin prelucrarea unor materii prime i

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.

1.6. Aspecte legislative privind protecia produselor program


Protecia produselor program a fost reglementat prin Legea privind dreptul de autor i drepturile
conexe, aprobat n februarie 1996.
Aceast lege definete obiectul i coninutul dreptului de autor, avnd o serie de dispoziii speciale
referitoare la produsele software.
Astfel, obiectul dreptului de autor l reprezint operele originale de creaie intelectual, indiferent de
modalitatea de creaie, modul i forma concret de exprimare i independent de valoarea i destinaia
lor.
Coninutul dreptului de autor: autorul are dreptul exclusiv de a autoriza reproducerea integral sau
parial, difuzarea, transmiterea prin fir, cablu, fibr optic, accesul public la bazele de date, dac ele
sunt protejate, utilizarea, nchirierea, mprumutul originalului sau a copiilor.
Prin contractul de nchiriere autorul permite folosirea pe un timp determinat a originalului sau a
copiilor.
Durata dreptului de autor - tot timpul vieii autorului i se transmite prin motenire pe o durat de 50
ani.
Dispoziii speciale referitoare la protecia produselor program:
Protecia programelor pentru calculator include orice expresie a unui program, programele de
aplicaie i sistemele de operare, exprimate n orice limbaj (cod surs sau cod obiect), materialul de
concepie pregtitor i manualele
Nu sunt protejate ideile, procedeele, metodele de funcionare, conceptele matematice i principiile
care stau la baza oricrui element dintr-un program, inclusiv cele care stau la baza interfeelor
Autorul are dreptul exclusiv de a realiza i de a autoriza:
o reproducerea permanent sau temporal, integral sau parial a unui program, prin orice mijloc
sau form
o traducerea, adaptarea, rearanjarea i alte transformri ale unui program precum i reproducerea
acestor transformri, fr a prejudicia drepturile persoanei care face transformrile
o difuzarea originalului sau a copiilor, sub orice form, inclusiv prin nchiriere
Drepturile asupra programelor create de unul sau mai muli angajai, ca atribuii de servicii sau
dup instruciunile celui care angajeaz, aparin acestuia din urm.
Prin contractul de utilizare al unui program
o Utilizatorul are dreptul neexclusiv de utilizare a programului
o Utilizatorul nu poate transmite dreptul de utilizare unei alte persoane
o Cesiunea dreptului de utilizare al unui program nu implic transferul dreptului de autor

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

Se sancioneaz cu amend sau nchisoare urmtoarele fapte:


Accesul public la bazele de date care conin sau constituie opere protejate, fr autorizarea
titularului dreptului de autor
nsuirea fr drept a calitii de autor
Fr autorizarea titularului dreptului de autor se:
o Reproduc, difuzeaz, comercializeaz programe
o Pune la dispoziia publicului, prin vnzare, a mijloacelor tehnice destinate neutralizrii
dispozitivelor de protecie a programelor
Beneficiaz de protecie prin lege i programele create anterior intrrii n vigoare a acestei legi.