Sunteți pe pagina 1din 64

Informatica economic

( Curs rezumativ )

1. Bazele teoretice ale informaticii economice Informaia poate exista independent de prezena uman, ea nu capt ns valoare dect trecut prin prisma utilizrii sale ntr-un cadru decizional. Iat de ce, pe msur ce omul devine tot mai independent de necesitile sale vitale, informaia ctig n importan. "Alimentarea" oamenilor cu informaia de care au nevoie are darul de a duce la generarea unor noi i noi fapte, adic tot informaie. Nou. Date, informaii, cunotine. Dezvoltarea masiv a sistemelor informaionale n ultimele decenii, dezvoltarea tehnologic general, deschiderea ctre comunicare concur la naterea unei societi n interiorul creia cantitatea de informaie i rolul acesteia cresc enorm. Nu poate deci surprinde faptul c termenul de societate informaional ctig tot mai mult teren. Aceasta reprezint societatea n care cunoaterea i informaia devin resursele strategice i de nnoire ale societii, ele jucnd rolul pe care l aveau capitalul i munca n societatea industrial. Societatea informaional este societatea n care majoritatea forei de munc se compune din cei care opereaz cu informaii i pentru care informaia este elementul cel mai important" . Ea este societatea secolului 21. Ea va trebui s creeze i s asigure condiii echitabile pentru toi cetenii planetei, de a avea acces la informaii i cunotine. Pentru R. Moldova, adoptarea tehnologiei societii informaionale este o cerin pentru aderarea la UE (adoptarea acquis communautaires) i constituie o soluie de cretere a productivitii sociale a muncii, condiie necesar a mbuntirii nivelului de trai. n acest context, informaia devine de o importan vital. Se face ns diferena ntre informaie ca produs (apare astfel categoria de intermediatori de informaii" care se ocup de ordonarea i distribuia informaiilor prin cri; reviste, radio i televiziune) i informaie ca mijloc de producie (numrul celor care se ocup de informaii ca mijloc de producie a crescut mult n ultimii ani, ei participnd la alctuirea stocurilor interne de informaii, necesare n activitatea continu i eficient a oricrei ntreprinderi sau instituii" ).

Dac n anii '50 informaia era vzut ca un ru necesar (paper dragon), o cerin birocratic, viziunea asupra informaiei s-a schimbat de-a lungul timpului, ea trecnd progresiv de la suport al scopurilor generale (perioada 1960-1970), la suport n controlul managerial (perioada 19701980), devenind n prezent o important resurs strategic cu rol n asigurarea supravieuirii firmei, un agent hotrtor al dezvoltrii, fiind numit i petrolul secolului XXI". Datorit importanei ei, informaia a devenit o resurs la fel de valoroas ca resursele umane, cele materiale sau financiare. Pregtirea i organizarea unui sistem de informaii necesare unei aciuni coerente i de succes au devenit pentru ntreprinderea modern la fel de nseninate ca producia i vnzarea. Stpnirea informaiilor necesare i utile deciziei nseamn de fapt selectarea i utilizarea datelor obinute din gestiunea intern i n al doilea rnd capacitatea de a le compara cu cele provenite din mediul concurenial pentru a evidenia ceea ce are un caracter de durat i strategic de ceea ce este neesenial. Gestionarea acestei resurse, numit informaie, reprezint o preocupare primordial n ntreprinderile modeme. Astfel, au aprut n structura organizatoric a ntreprinderii compartimentele specializate de culegere, prelucrare i distribuire a informaiilor, responsabilii acestor compartimente fiind de multe ori manageri de nivel nalt. Informaia ca noiune este foarte veche. Ea este utilizat cu diferite semnificaii: suport al cunotinelor umane, unitate de msur n informatic (bii), tire, noutate etc. Sensurile noiunii de informaie sunt mult discutate i interpretate de ctre o disciplin sau alta. Noiunea de informaie este complex i de mare generalitate, toate tiinele opernd cu informaii ca elemente ale cunoaterii senzoriale sau raionale. Cunoaterea uman, transmiterea cunotinelor vehiculeaz informaii. n sens larg, informaia este noiunea prin care se definete fiecare din elementele noi coninute n semnificaia unui simbol sau grup de simboluri, ntr-o comunicare, tire, semnal, imagine etc. prin care se exprim o situaie, o stare, o aciune. Pentru a fi perceput, informaia trebuie exprimat ntr-o form concret. Aceast form concret se numete dat. Prin dat se nelege un numr, o mrime, o relaie care servete la rezolvarea unei probleme sau care este obinut n urma unei cercetri urmnd a fi supus unor prelucrri. Data poate fi considerat materia prim pentru informaie. Data are o existen obiectiv, tangibil. Ea este o informaie potenial ntruct prin prelucrare conduce la obinerea informaiilor. Nu orice prelucrare de date genereaz informaii. Informaia este produsul

prelucrrii datelor, care sunt aduse ntr-o form inteligibil i care pot fi utilizate ntr-un scop anume. Deci o procesare de date poate genera informaie numai dac exist un receptor care s considere acest rezultat inteligibil i folositor. Dac data este receptat de un utilizator capabil de nelegere, persoana poate spune c a primit o informaie. Un exemplu l poate reprezenta o ecuaie matematic. Pentru cineva familiarizat cu limbajul matematicii, aceast ecuaie sau dat, cnd este primit, receptat i prelucrat, comunic o informaie semnificativ. Cineva, ns, neobinuit cu limbajul matematic, cu toate ncercrile pe care le-ar face, nu reuete s obin un plus de informaii prin citirea acestei date. n informatic prin dat se nelege un "model de reprezentare a informaiei, accesibil unui anumit procesor (om, unitate central, program), model cu care se poate opera, pentru a obine noi informaii despre fenomenele, procesele i obiectele lumii reale". Sistemele de calcul prelucreaz date, iar datele furnizate la ieire pot reprezenta informaii diferite pentru utilizatori diferii. Schematic relaia dintre date i informaii poate fi reprezentat astfel: intrri d1n Prelucrri ieiri i1n

unde d1n -date i1n - informaii Datele sunt utilizate pentru: transmiterea informaiilor ntre oameni; pstrarea informaiilor pentru o utilizare viitoare; obinerea de noi informaii prin prelucrri. O trstur fundamental a informaiei este subiectivitatea. Ceea ce poate fi o informaie pentru o persoan, poate s nu nsemne nimic pentru altele. Pe de alt parte, pornind de la acelai set de

date, persoane diferite, prin prelucrri diferite, pot obine informaii diferite. Dac data are o existen fizic, tangibil, informaia exist numai n receptor, fiind intangibil. Corespondena dat-informaie este considerat ca fiind un prim nivel n informatica economic. Acestui nivel i se adaug un al doilea, acela al informaiilor derivate din alte informaii pe baz de raionament, nivel considerat a fi nivelul cunotinelor. Progresele nregistrate n domeniul tehnologiilor informaionale, materializate n cea de-a cincea generaie de calculatoare electronice au generat trecerea de la calculatoare care calculeaz i memoreaz date la calculatoare care raioneaz i informeaz. Astfel, denumirea de calculator devine improprie ntruct se prelucreaz cunotine, termenul adecvat fiind cel de sisteme de prelucrare a cunotinelor. n Dicionarul Explicativ al Limbii Romne se precizeaz c "cunotinele cuprind totalitatea noiunilor, ideilor, informaiilor pe care le are cineva ntr-un domeniu oarecare". Nu orice dat sau informaie creeaz cunotine. Astfel, unele informaii sunt deja ntre cunotinele receptorului i deci nu genereaz informaii noi. Pe de alt parte, unele informaii sar putea s nu aib semnificaie pentru receptor, n sensul c nu se integreaz ntre cunotinele lui. Cunotinele reprezint, deci, totalitatea informaiilor debndite anterior cu privire la obiectul considerat. 1.2. Aspecte privind organizarea i structura datelor Data este un model de reprezentare a informaiei, accesibil unui anumit procesor (om, calculator, program), model cu care se va putea opera pentru a obine noi informaii. O dat care apare ca o entitate indivizibil, att n raport cu informaia pe care o reprezint, ct i n raport cu procesorul care o prelucreaz se numete dat elementar. Data elementar poate fi privit ca model de reprezentare a informaiei la nivelul unui procesor uman (nivel logic) sau la nivelul reprezentrii interne, respectiv pe suport (nivel fizic).

Din punct de vedere logic, data poate fi reprezentat printr-un triplet de forma: D = ( i, a, v ) unde i - identificator a atribute v - valori Identificatorul datei (numele) este un simbol asociat datei pentru a o putea distinge de alte date i pentru a se putea face referiri la ea n timpul procesului de prelucrare. Atributele precizeaz proprietile datei i determin modul n care poate fi ea tratat n procesul de prelucrare. Iat cteva exemple de atribute: tipul datei care definete apartenena acesteia la o anumit clas de date, n funcie de natura i de domeniul valorilor luate. Se disting astfel date de tip numeric (ntreg, real, complex), logic, ir de caractere. precizia reprezentrii interne care definete ct mai fidel reproduce modelul intern de reprezentare obiectul pe care l reprezint. Precizia depinde de zona de memorie afectat datei. Ea poate fi simpl precizie sau dubl precizie. valoarea iniial modul de alocare a memoriei pe parcursul prelucrrii (static, dinamic).

Valorile datei pot fi precizate prin enumerare sau printr-o proprietate comun i pot fi numere, valori logice, iruri de caractere, n funcie de valoare, datele se clasific n : date variabile (variabile) - date care pe tot parcursul procesului de prelucrare pot lua orice valori din domeniul de definiie a datei; date constante (constante) - date care pe parcursul procesului de prelucrare i pstreaz aceeai valoare din domeniul de definiie al datei Din punct de vedere fizic, o dat elementar apare ca o zon de memorie sau de suport de o anumit mrime, situat la o anumit adres, n care se ocheaz ntr-o form specific valorile datei.

Principalele tipuri de date elementare sunt: Tipul numeric care include numerele ntregi, reale i complexe i asupra crora se pot realiza operaii de adunare, scdere, etc.; Tipul logic (boolean) utilizat pentru precizarea strilor de adevr (TRUE, YES) sau neadevr (FALSE, NO) ale unui enun. Asupra acestor date se pot efectua operaii logice: AND, OR, NOT; Tipul caracter care reprezint o succesiune de caractere alfanumerice asupra creia se pot defini operaii de concatenare, ordonare etc.; Tipul pointer, adic date elementare ale cror valori sunt adrese, referine pentru alte date. O structur este o entitate de sine-stttoare, indentificabil prin nume, ale crei componente i menin proprietile. Componentele unei structuri de date pot fi individualizate i selectate prin nume (identificatori) sau prin poziia ce o ocup n structur, conform cu relaia de ordine specificat. Structurile de date pot fi clasificate dup mai multe criterii: a. dup modul de selectare a componentelor: structuri cu acces direct atunci cnd o component poate fi selectat fr a ine seama de celelalte componente ale structurii structuri cu acces secvenial atunci cnd localizarea unui element se face printr-un proces de parcurgere a mai multor componente, conform cu ordinea acestora. b. dup suportul de memorie pe care se creeaz structura de date : structuri de date interne (ir, masiv, nregistrare, liste, arbori) structuri de date externe (fiiere, baze de date) c. dup variabilitatea structurii: structuri de date dinamice, care i modific pe parcursul prelucrrii structura structuri de date statice, care pe tot parcursul existenei au acelai numr de componente i n aceeai ordine Asupra structurilor de date se pot efectua att operaii generale, ct i operaii specifice tipului structurii. Cele mai ntlnite sunt: 1. Crearea se execut o singur dat la nceputul ciclului de via a structurii respective, presupunnd memorarea structurii respective de date n forma iniial, pe suportul de memorie intern sau extern. 2. Actualizarea reprezint operaia de aducere la zi a unei structuri de date create anterior i presupune:

adugarea i/sau inserarea de noi elemente ale structurii; modificarea valorilor unor elemente ale structurii; tergerea fizic i/sau logic a unor elemente ale structurii. 3. Consultarea (exploatarea) asigur accesarea elementelor componente ale unei

structuri n scopul prelucrrii sau vizualizrii acesteia. 4. Sortarea permite ordonarea cresctoare sau descresctoare a elementelor unor structuri, dup anumite criterii stabilite de utilizator, fiind o rearanjare fizic a acestora. 5. Separarea este desfacerea unei structuri in dou sau mai multe structuri. 6. Fuzionarea sau interclasarea este combinarea a dou sau mai multor structuri ntr-o singur structur conform unor criterii. 7. Copierea presupune obinerea unei dubluri, integrale sau pariale aleas de utilizator.

1.3. Categorii de operaiuni definite asupra datelor Prelucrarea datelor presupune parcurgerea unei succesiuni ordonate de operaii care acioneaz asupra valorilor acestora. Ele se pot grupa n urmtoarele categorii: operaiuni de atribuire; operaiuni de calcul; operaiuni de decizie; operaiuni de intrare /ieire; operaiuni de transfer a controlului.

Operaiunile de atribuire sunt acelea prin care unei variabile i se atribuie o anumit valoare predefinit sau rezultatul evalurii unei expresii. Exemplu: NOTA = 10 TOTALV = TOTALV + VALOARE Operaiunile de calcul se definesc pe mulimea numerelor reale. Dintre acestea fac parte operaia de adunare, scdere, nmulire, mprire, ridicare la putere, calculul unor expresii numerice etc. Ca operatori se utilizeaz: + pentru adunare; - pentru scdere; * pentru nmulire; / pentru mprire; ** pentru ridicare la putere.

De asemenea, n cadrul expresiilor se pot utiliza i parantezele, evaluarea acestora facndu-se dup regulile din algebr. Exemplu: SALARIU NET = ((NRORLUCR * TARIFO) + SPORVECH) - IMPOZ a = (b * c)**2 + V650 Operaiunile de decizie sunt utilizate pentru a determina valoarea logic a unei propoziii (adevrat sau fals). Ele condiioneaz executarea unor operaiuni sau grupuri de operaiuni. Operatorii utilizai pentru scrierea condiiilor pot fi operatori relaionali (=, >, <, f) i/sau operatori logici (NOT, AND, OR). Exemplu: IF STOCSIGURANTA < 25000 THEN PRIN "Este necesar reaprovizionarea" ENDIF Operaiunile de intrare/ieire vizeaz realizarea transferului de date ntre memoria extern i cea intern i invers. Pentru optimizarea operaiei de intrare/ieire se interpun zone tampon (buffere) att pentru intrare ct i pentru ieire. Cele mai utilizate operaii de intrare/ieire sunt cele de deschidere i nchidere a fiierelor i de citire i scriere date. Operaiunile de transfer a controlului sunt operaii de salt i de apelare. Cele de salt au rolul de a preda controlul unei alte operaiuni dect cea imediat urmtoare, iar cele de apel, determin lansarea n execuie a unor proceduri (grupuri de operaiuni), evitndu-se astfel descrierea lor de mai multe ori n cadrul algoritmului de rezolvare a problemei. 1.4. Accesul i organizarea fiierelor Modul de organizare al fiierelor Organizarea fiierelor nseamn definirea regulilor de dispunere fizic a articolelor pe suport. Metodele de organizare a fiierelor sunt de dou tipuri: clasice (elementare) i mixte (derivate). Metodele clasice de organizare sunt organizarea secvenial, organizarea direct, organizarea secvenial-indexat.

Organizarea secvenial presupune dispunerea articolelor pe suport unele dup altele, n ordinea obinerii lor, dup criterii stabilite de utilizator. Fiierele secveniale se caracterizeaz prin: fiecare articol n, n afar de primul i ultimul articol, are un articol precedent n-1 i un articolele nu au o identitate. Astfel, pentru a ajunge la articolul n, trebuie s se parcurg

articol urmtor n+1; toate cele n-1 articole precedente; orice fiier secvenial are ca ultim articol, un articol special, respectiv EOF (End of File); adugarea articolelor se realizeaz, de obicei, la sfritul fiierului. numit cmp de tergere unde se marcheaz articolele care se doresc a fi terse, tergerea realizndu-se prin rescrierea fiierului respectiv. Consultarea unui astfel de fiier se poate face prin citirea articolelor n ordinea n care apar pe suport, accesul fiind secvenial. Ca urmare, timpul de acces este destul de ridicat, actualizarea fiind greoaie i lent. Aceste fiiere sunt recomandate atunci cnd prin program se prelucreaz toate articolele coninute sau un numr mare a acestora. Fiierele secveniale se utilizeaz i ca fiiere de salvare/arhivare. Avantajul lor const n faptul c pot fi organizate pe orice tip de suport (adresabil sau nu, reutilizabil sau nu). O operaie tipic pentru fiierele secveniale este sortarea. Sortarea reprezint rearanjarea unui fiier secvenial la nivel fizic ntr-un alt fiier secvenial, dup un anumit criteriu aplicat unei pri a articolelor (de obicei un cmp), parte numit cheie de sortare. Sortarea poate fi efectuat dup mai multe chei. n acest caz, prima cheie este cea care hotrete ordinea i numai dac dou articole au aceeai valoare pentru aceasta, se ia n considerare a doua cheie, pe urm a treia cheie, etc. Din aceast cauz cheile se numesc chei primare, secundare, teriare etc. Fiierele secveniale se pot concatena, adic din dou fiiere se poate obine un al treilea fiier, sortat n aceeai ordine. Organizarea direct (selectiv) stocheaz i gestioneaz nregistrrile pe suport pe baza unor procedee de repartizare (randomizare). Plecnd de la un element al nregistrrii, numit cheie de repartizare, se calculeaz adresa de dispunere pe suport pe baza unei formule. Aceeai formul este aplicat att la dispunerea pe suport, ct i la cutrile ulterioare. Adresa de pe suport se articolele unui fiier secvenial nu pot fi terse, de aceea de obicei exist un cmp special,

10

determin astfel pe baza algoritmului de randomizare, folosind o funcie A=F(k), unde k reprezint un element al nregistrrii. Organizarea direct este specific suporturilor adresabile i asigur consultarea i actualizarea rapid a fiierelor. Organizarea secvenial-indexat are o larg utilizare n practic deoarece permite att accesul secvenial, ct i accesul direct. Suporturile utilizate trebuie s fie adresabile. Fiierele indexate sunt ansambluri de articole logice aezate unul dup altul n ordinea cresctoare sau descresctoare a valorii cheii de articol. Cheia de articol este un cmp sau rezultatul evalurii unei expresii de cmpuri din structura articolului fiierului indexat. Fiierele index nltur limitele fiierelor prezentate anterior: 1.5. Informatica i informatica economic. Una din caracteristicile fundamentale ale epocii actuale o reprezint explozia informaional determinat de creterea ritmului de dezvoltare a societii i de avntul fr precedent al tiinei i tehnicii. Prelucrarea electronic a datelor a fost i devine tot mai mult o necesitate stringent pentru toate domeniile activitii umane. Astfel, informatica - tiina culegerii, transmiterii, stocrii i prelucrrii automate a datelor - ptrunde, pe zi ce trece, n tot mai multe sfere de activitate, generalizndu-se. Se consider c apariia informaticii constituie cea de-a cincea descoperire venit n sprijinul omului pentru a lua decizii. Cele cinci momente care au marcat evoluia civilizaiei umane sunt urmtoarele: l. apariia limbajului articulat, ca principal mijloc de comunicare ntre oameni; 2. inventarea scrisului prin care se compenseaz limitele memoriei biologice; 3. realizarea tiparului care a pus bazele memoriei sociale constituit din cri i publicaii; 4. utilizarea sistemelor de telecomunicaii care nltur limita determinat de distan; 5. apariia calculatoarelor electronice care permit culegerea, prelucrarea i transmiterea informaiilor facilitnd realizarea dezideratelor activitii de informare. Dac primele calculatoare electronice apar n deceniul 5 al secolului XX, termenul de informatic apare abia n 1962 i provine din literatura francez. Noiunea de informatic a fost creat prin asocierea cuvintelor informaie i automatic: INFORmation i autoMATIQUE.

11

Prima definiie a informaticii aparine Academiei Franceze care n 1966 preciza c informatica este tiina prelucrrii raionale, ndeosebi prin maini automate, a informaiei considerat ca suport al cunoaterii umane i al comunicrilor n domeniile tehnice, economice i sociale". Din definiia informaticii se desprind cel puin trei caracteristici ale acesteia: - prelucrarea raional bazat pe legi generale i pe anumite tehnici proprii cercetrii operaionale, programrii liniare, teoriei algoritmilor etc.; - prelucrarea logic i automat prin intermediul reprezentnd aspectul fundamental al informaticii; mainilor electronice, acesta

- universalitatea informaticii, adic posibilitatea de cuprindere a tuturor domeniilor de activitate. n dicionarul de informatic, definiia dat este urmtoarea: informatica reprezint o activitate pluridisciplinar, avnd ca scop iniial elaborarea de metode noi, inclusiv sisteme automate pentru distribuirea informaiei tehnico-tiinifice, studiind procesele de comunicaie n colectivitile tiinifice i industriale i urmrind dezvoltarea unor tehnici i sisteme pentru organizarea, memorarea i distribuirea mai eficient a informaiei. Pe msura dezvoltrii ei, informatica a cptat noi valene, iar domeniile sale de utilizare s-au extins continuu. Specialiti din toate sferele de activitate: tehnic, economic, social etc., vorbesc de informatica lor specific i ncearc a lega tot mai mult informatica de domeniul lor de activitate, considernd-o ca o informatic particular. Lucru posibil, deoarece informatica este o tiin universal care se conduce dup legi generale aplicabile n toate domeniile de activitate. Astfel, a ajuns s se vorbeasc de o "informatic industrial" , de "informatic medical", de "informatic economic" etc. Informatica economic reprezint un ansamblu de mijloace tehnice (bazate pe calculator) i umane destinate culegerii, stocrii, prelucrrii i transmiterii informaiilor n scopul eficientizrii managementului, a altor activiti economice din firme, precum i a planificrii afacerilor.

12

La sfritul anilor '70 odat cu proliferarea microinformaticii a aprut un nou concept: Informatica utilizatorului final . Prin noile instrumente de lucru disponibile pe microcalculatoare (programe de calcul tabelar, procesoare de texte, limbaje de interogare a bazelor de date), utilizatorul lucreaz direct cu sistemele de calcul, fr a recurge la intermediari. n informatica clasic, bazat pe o organizare centralizat, ntre utilizatori i calculator se interpuneau alte categorii de personal (operatorii de date, analitii de sistem, informaticienii). Astzi, utiliznd microcalculatoarele i programe foarte uor de utilizat, orice economist, indiferent de compartimentul (finane, contabilitate, marketing etc) n care i desfoar activitatea i nivelul ierarhic la care se afl, vine n contact direct cu datele legate de operaiunile pe care le gestioneaz. Cu actualul suport din partea tehnologiilor informaionale, utilizatorii pot cuta i extrage informaiile necesare fundamentrii deciziilor, pot procesa documente, transmite electronic documente, consulta bnci de date, ba chiar pot crea programe de aplicaii de mai mare sau mai mic anvergur. Informatica utilizatorului final reprezint utilizarea direct i efectiv a calculatorului de ctre utilizatorul final. Aceasta nu nseamn dispariia centrelor (oficiilor) de calcul din ntreprinderi, ci reorientarea acestora, ieirea din ncperile speciale i difuzia n toate birourile i compartimentele funcionale. Transferul a avut loc deoarece oficiile de calcul ale ntreprinderilor nu au posibilitatea de a dezvolta attea aplicaii ct s satisfac toate cerinele informaionale ale utilizatorilor. Actualmente, datorit metodologiilor i instrumentelor utilizate n dezvoltarea de aplicaii-program, ntre cerinele utilizatorilor i implementarea aplicaiilor cerute exist un decalaj ce variaz, n general, de la doi la cinci ani. n al doilea rnd, apariia i extinderea utilizrii unor echipamente puternice, pe care se poate executa programe cu o interfa prietenoas, generalizarea limbajelor de interogare a bazelor de date, a instrumentelor pentru analiza datelor au adus la ndemna utilizatorilor instrumente care, n trecut, pentru a fi create i puse n funciune, necesitau un imens volum de timp i bani. Utilizatorii au acces nu numai la propriile echipamente, aplicaii i date, ci i ale grupului de lucru, compartimentului funcional sau ale ntregii ntreprinderi n care-i desfoar activitatea.

13

Pentru a asigura coordonarea activitii de informatic n contextul n care utilizatorii finali au acces direct la resursele informaionale, numeroase ntreprinderi i-au creat infocentre la nivelul crora exist o serie de specialiti (analiti, programatori, administratori baze de date, administratori de reele) care ofer asisten de specialitate (consultan) utilizatorilor finali n efortul lor de a-i informatiza activitile. Infocentrul este o unitate organizaional care furnizeaz echipamentele, programele i personalul care asist utilizatorii n cadrul unei organizaii. Aceasta unitate poate fi organizat ca un compartiment funcional distinct al ntreprinderii, dar poate fi i difuzat" n toate departamentele (marketing, personal, producie, financiar, contabilitate etc.). Introdus de IBM Canada n 1974, infocentrul s-a rspndit rapid i este privit ca un pilon important al informatizrii organizaiilor, n cursul ultimilor ani, ns, o serie de ntreprinderi au renunat la infocentrele proprii, delegnd responsabilitile de asistare a utilizatorilor finali unor firme specializate. Cu toate acestea, infocentrul continu s fie privit ca un excelent suport al informaticii utilizatorului final. Cea mai mare parte a infocentrelor furnizeaz: suport material utilizatorului final care are nevoie de microcalculatoare, terminale inteligente, asisten software pentru instruirea n lucrul cu procesoare de texte, programe de calcul consultan de specialitate pentru utilizatori, asigurat de consilieri n scopul exploatrii terminale grafice evoluate, imprimante rapide etc. tabelar, programe de prezentare/grafic etc. resurselor materiale i software pentru ameliorarea eficacitii i eficienei activitilor.

14

2. Baze de date
Noiuni generale

O baz de date reprezint o modalitate de stocare a unor informaii (date) pe un suport extern, cu posibilitatea regsirii acestora. De obicei o baz de date este memorat ntr-unul sau mai multe fiiere. Bazele de date sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date. Cel mai rspndit model de baze de date este cel relaional, n care datele sunt memorate n tabele. Pe lnga tabele, o baz de date relaional mai poate conine: indeci, proceduri stocate, trigger-e, utilizatori i grupuri de utilizatori, tipuri de date, mecanisme de securitate i de gestiune a tranzaciilor etc.

Un server de baze de date este un software care nteine o baz de date, i un client este o aplicaie care cere informaii de la server. Fiecare calculator ntr-un sistem este un nod. Un nod ntr-un sistem de baze de date distribuite se comport ca un client, un server, sau ambele, depinde de situaie. Bazele de date relaionale (BDR) utilizeaz modelul de date relaional i este un ansamblu organizat de tabele (relatii) mpreun cu legturile dintre ele. Atunci cnd dorim sa realizm o baz de date relaional trebuie sa tim clar ce avem de fcut, adic s stabilim obiectivele activitii noastre.

n acest sens, cteva dntre cele mai importante obiective sunt :

- Partiionarea semnific faptul c aceleasi date trebuie s poat fi folosite n moduri diferite de ctre diferii utilizatori; - Deschiderea se refer la faptul c datele trebuie s fie uor adaptabile la schimbrile care pot aprea (actualizarea structurii, tipuri noi de date etc.);

15

- Eficienta are n vedere stocarea si prelucrarea datelor, care trebuie sa se fac la costuri ct mai sczute, costuri care s fie inferioare beneficiilor obinute;

- Reutilizarea nseamn faptul c fondul de date existent trebuie s poat fi reutilizat n diferite aplicaii informatice; - Regsirea este o actvitate frecvent pe bazele de date i de aceea cererile de regsire trebuie s poat fi adresate usor de catre toate categoriile de utilizatori, dupa diferite criterii; - Accesul nseamn modul de localizare a datelor si acest lucru trebuie s poat fi realizat prin diferite moduri de acces, rapid si usor; - Modularizarea presupune faptul ca realizarea BDR trebuie s se poat face modular pentru generalitate si posibilitatea lucrului n echipa; - Protectia bazei de date trebuie asigurat sub ambele aspecte: securitatea si integritatea datelor;

Pentru a rula programe SQL, este necesar un sistem de gestionare a bazelor de date (SGBD). O baz de date nu este acelasi lucru cu software-ul pentru baze de date .Software-ul pentru baze de date este denumit SGBD. O baza de date , care este doar o component a unui SGBD, conine datele propriu-zise - cu alte cuvinte este un container (unul sau mai multe fiiere) care stocheaz informaii structurate. n afara sarcinilor de control al organizrii i integritii bazelor de date, SGBD-urile execut i alte sarcini, ca de exemplu stocarea fizic, securitatea, replicarea si recuperarea infomaiilor dupa erori. n locul prescurtrii SGBD se poate utiliza prescurtarea SGBDR n care R reprezint prescurtarea pentru relational.

16

Conceptul de baz de date. Organizarea datelor n vederea prelucrrii pe calculator este o activitae tot aa de important ca i realizarea programelor. Cele dou componente principale ale unui sistem informatic: datele i programele, se gsesc ntr-o strns interdependen. Un program, orict de elaborat i rafinat ar fi, nu va produce rezultatele scontate, dac va lucra cu o structur de date depit. Tot aa de bine, o structur de date bine pus la punct nu va putea suplini carenel unui program care o prelucreaz. Trebuie fcut distincie ntre date, informaii i cunotine. Din punct de vedere al prelucrrii pe calculator, datele sunt definite de trei elemente: un identificator, atribuite i valoare. Exemplu: cantitate (identificator), numr real i pozitiv (atribuite), 50,5 (valoare). La modul cel mai simplu, informaia este un mesaj care are carater de noutate, altfel spus care nltur o nedeterminare (necunoatere). Informaiile se obin n urma prelucrrii datelor. Cunotinele reprezint informaii simple sau agregate, pe care le dobndim din lumea real. n ultimul timp se vorbete tot mai mult de organizarea acestora n baze de cunotine. Organizarea datelor din punct de vedere informatic are 2 componente: organizarea datelor n memoria intern a calculatorului, care cuprinde structurile de tip: list, coad, stiv i decoad; organizarea datelor pe memoria extern, care cuprinde structurile de tip fiier i baz de date. Organizarea datelor pe memoria extern a parcurs n timp mai multe stadii: fiier, fiiere cu legturi i a culminat cu bazele de date actuale. Majoritatea sistemelor informatice actuale lucreaz cu baze de date. O baz de date poate fi definit ca un ansamblu de date elementare sau structurate, accesibile unei comuniti de utilizatori. Mai concret, o baz de date, este un ansamblu de fiiere intercorelate, care conine nucleul de date necesare unui sistem informatic (aplicaie informatic).

17

Un fiier este un ansamblu de nregistrri fizice, omogene din punct de vedere al coninutului i al prelucrrii. O nregistrare fizic este unitatea de transfer ntre memoria intern i cea extern a calculatorului. Aceasta este format din una sau mai multe nregistrri logice. O nregistrare logic este unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta este format dintr-un ansamblu de cmpuri, care descriu o anumit realitate. n afara conceptului de baz de date (BD) exist un alt concept cunoscut sub numele de banc de date. O banc de date este o BD mai puin struturat i care deservete sistemele documentare. Finalitatea utilizrii unei bnci de date este mai puin precis dect a unei baze de date (care rspunde cerinelor informaionale ale unei organizaii) innd seama de diversitatea utilizatorilor poteniali ai acesteia. n general, bncile de date sunt orientate spre publicul larg pentru a oferi diverse servicii de informare cum ar fi: biblioteci etc. mesul trenurilor, cursul valutar, consultarea unei

2.1. Obiectivele fundamentale ale unei baze de date (BD)

Centralizarea datelor permite: suprimarea redundanei, asigurarea unicitii nregistrrii i controlul centralizat (asupra datelor). n prelucrarea clasic n care fiierele sunt dedicate aplicaiilor, aceleai date apar nregistrate n mai multe fiiere i n formate diferite. Acest lucru implic o utilizare ineficient a spaiului de memorie extern, actualizarea dificil a acestor date i lizibilitate redus ca urmare a formatelor diferite. Independena ntre date i prelucrri. Baza de date, ca imagine a unei anumite realiti, trebuie actualizat permanent. Acest lucru nu trebuie s afecteze programele de prelucrare. Pentru aceasta trebuie ca fiecare program s aib o viziune proprie asupra BD. Realizarea de legturi ntre entitile de date, care sunt indispensabile pentru exploatarea eficient a sistemului informatic. Spre exemplu, n cadrul gestiunii aprovizionrii, trebuie asociat un furnizor la lista de produse pe care le vinde i invers un produs la lista de furnizori, preciznd condiiile de vnzare pentru un furnizor i un produs.

18

Integritatea datelor asigur fiabilitatea i coerena bazei de date (BD). Pentru aceasta trebuie definite restricii de integritate cum ar fi: apartenena la o list de valori sau interval; apartenena la un anumit format; reguli de coeren cu alte date.

Aceste reguli trebuie s reflecte att aspectele statice ct i cele dinamice. Spre exemplu, dup o actualizare de cretere a salariului, nivelul acestuia trebuie s fie mai mare dect cel precedent. Securitatea datelor. Baza de date trebuie s fie protejat mpotriva unei distrugeri logice (anomalie de actualizare) sau fizice. Pentru aceasta exist instrumente care permit: crearea unor puncte de repriz; altfel spus salvarea din timp n timp a unor copii coerente ale bazei de date;

gestiunea unui jurnal de tranzacii; lista operaiilor realizate asupra bazei de date dup ultimul punct de repriz.

Dac apare o anomalie care ar putea distruge BD, pe baza copiei de la ultima repriz i a jurnalului de tranzacii se poate reface baza de date n forma iniial. Protecia mpotriva unei distrugeri fizice se face prin realizarea unei copii a bazei de date. Confidenialitatea datelor este asigurat prin proceduri de: identificarea a utilizatorilor prin nume sau cod; autentificarea prin parole; autorizarea accesului difereniat prin drepturi de creare, consultare modificare sau tergere pentru anumite segmente de date. Partajarea datelor permite nlnuirea tranzaciilor solicitate simultan pe aceiai nregistrare din baza de date, prin blocarea cererilor n ateptare i deservirea ulterioar a acestora.

19

2.2. Sisteme de Gestiune pentru Baze de date Distribuite (SGBDD) Necesitatea descentralizrii sistemelor informatice, pe de o parte, i realizarea pe plan mondial a unor reele de calculatoare care permit conectarea mai multor baze de date ntr-o reea, pe de alt parte, au dus la apariia bazelor de date distribuite i, implicit, a SGBDD. BDD reprezint un salt calitativ superior n evoluia bazei de date, deschiznd noi perspective n proiectarea i realizarea sistemelor informatice. Un sistem de BDD este format dintr-o colecie de baze de date locale, amplasate geografic n puncte diferite (noduri ale unei reele de calculatoare) i legate logic prin relaii funcionale, astfel nct pot fi vzute la nivel global ca o singur baza de date. Obiectivele principale ale unui sistem SGBDD sunt: definirea i manipularea coleciilor de date distribuite pe calculatoare diferite, ca un singur ansamblu logic (baza de date distribuit);

distribuirea datelor trebuie s se fac dup criterii foarte variate care s rspund tuturor necesitilor utilizatorilor; utilizatorii manipuleaz datele fr a cunoate locul unde sunt memorate; pentru creterea gradului de fiabilitate sau de performan, datele pot fi duplicate pe mai multe sisteme, fr ca utilizatorii s cunoasc acest lucru; asigurarea coerenei bazei de date n cazul operaiilor de actualizare i de reluare n caz de incidente la unul sau la mai multe din nodurile reelei; exploatarea bazei de date n regim de multi-acces; controlul accesului la date.

2.3. ACCESS 2002/2003 Elemente ale bazei de date Baza de date - ansamblu de obiecte utilizat pentru a gestiona informaii. Ea conine unul sau mai multe tabele, precum i alte obiecte (de exemplu, rapoarte). O baz de date Access e stocat sub forma unui fiier unic. Tabel Obiect dintr-o baz de date, n care informaiile sunt stocate bidimensional, aranjate pe rnduri i coloane.

20

Cmp Categorie de informaii dintr-un tabel, de pild o adres, titlul unei casete sau actul de identitate al unui client. Cmpurile reprezint coloanele tabelului. nregistrare Toate informaiile legate de un subiect dintr-un tabel. Rndurile reprezint nregistrrile unui tabel. Obiect O unitate indentificabil ntr-o baz de date, de exemplu , un tabel, un raport sau un formular. Spre deosebire de instrumentele anterioare de baze de date, Microsoft Access stocheaz toate componentele unei baze de date ntr-un singur fiier cu extensia mdb. La deschiderea fiierului, obiectele care formeaz baza de date sunt afiate n fereastra Database.

Tabele Toate datele stocae n Access sunt n tabele. Fiecare coloan a tabelului este denumit cmp, iar fiecare rnd al tabelului este o nregistrare. Atunci cnd creai un tabel nou, vi se cere s definii cmpurile, atribuind fiecruia o denumire unic i indicndu-i programului Access tipul de date. Putei aduga alte cmpuri mai trziu, dar dac ai creat interogri, formulare i rapoarte care folosesc datele din tabel, s-ar putea s fie nevoie s le reproiectai i pe aceasta. n lumea bazelor de date, puin planificare popate duce la beneficii substaniale. Pentru a v ajuta s creai repede tabelele, Access v pune la dispoziie Table Wizard (program vrjitor pentru tabele), care definete nume de cmpuri i tipuri pentru baze de date personale sau de afaceri uzuale. Access construiete el nsui tabele pentru a stoca informaii despre tabelele, interogrile i celelalte obiecte pe care le crem. Pentru a vedea aceste tabele ascunse, selectai opiunile Options/View/System Objects (Opiuni / Afiare/Obiecte de sistem) din meniul Tools (Instrumente).

21

Interogri O interogare este destinat gsirii datelor din tabele sau operrii asupra acestora. Folosesc interogrile pentru: A afia numai nregistrrile care corespund criteriilor pe care le-ai ales, cum ar fi, de exemplu, membrii unei societi care provin din Germania. A afia nregistrrile n orice ordine dorii, de exemplu dup numele de familie sau corespunztor districtului potal. A combina datele din tabele diferite, afind rezultatele ntr-o singur fereastr care cuprinde tot ce v intereseaz n momentul respectiv. A realiza modificri similare n mai multe nregistrri dintr-un tabel simultan. A terge grupuri de nregistrri, cum ar fi cele referitoare la plile ntrziate cu mai mult de 12 luni. A crea alte tabele pentru a pstra un instateneu al informaiilor, cum ar fi instruciile trimise la sfritul lunii.

n majoritatea situaiilor, Access v permite s editai datele afiate ntr-o interogare. Orice modificri vor fi scrise napoi, n tabelul care a furnizat datele. O interogare nu are date proprii, opernd cu ceea ce citete din sau scrie n tabelul respectiv. Formulare Un formular este o fereastr pentru introducerea datelor pe ecran, pentru afiarea i editarea datelor. n timp ce tabele i interogrile prezint datele ntr-o form asemntoare cu o foaie de calcul, formulare pot afia, de asemenea, cte o nregistrare deodat, ca un sistem de cartele index. Totui, spre deosebire de cartele index, formularul poate prezenta nregistrrile n orice ordine, gsi o anumit nregistrare n funcie de valoarea unui cmp sau selecta numai nregistrrile care ndeplinesc criteriile alese de utilizator. Suplimentar, formularele pot conine

22

subformulare pentru a afia date asociate, cum ar fi cursurile la care este nscris un student. De asemenea, formularele pot conine butoane care realizeaz sarcini specifice. Formularele reprezint interfaa utilizator a bazei de date. n plus fa de introducerea i extragerea datelor, putem folosi butoanele unui formular pentru a deschide alte formulare sau pentru a tipri rapoarte. Deoarece formularele sunt partea cea mai vizibil a bazei de date, Access 2002 pune la dispoziie noi posibiliti de a mbunti nfiarea fortmularelor, cum ar fi fundalurile obinute prin redinmensioanrea la scar a imaginilor, etc. Rapoarte Dac formularele sunt utilizate pentru introducerea datelor pe ecran, rapoartele sunt folosite pentru operaii de ieire, datele fiind dirijate de obicei ctre o imprimant. Orice se intenioneaz a se tipri merit s capete forma unui raport, indiferent de faptul c este vorba de o list de clieni, de o statistic financiar pe o anumit perioad, de un grafic colorat sau o secven de etichete potale. Access pune la dispoziie mai multe programe Wizard (vrjitor) pentru a ajuta la crearea tipurilor de rapoarte uzuale. Dac se dorete selectarea doar a unor date n vederea includerii n raport, trebuie s se creeze mai nti o interogare i s se fundamenteze raportul pe rezultatele interogrii. De asemenea, se va folosi o interogare pentru a genera un raport care combin informaii din mai multe tabele. Comenzi macro O comand macro reprezint o secven de aciuni care trebuie repetat la comanda utilizatorului. Aceast secven este programat prin alegerea dintr-o list derulat de aciuni disponibile i introducerea detaliilor pentru operaia respectiv n partea de jos a ecranului . De exemplu, dac alegem aciunea OpenForm (Deschide formularul) , Access ateapt s introducem numele formularului care trebuie deschis. Comenzile macro sunt asociate adeseori unui buton din cadrul unui formular astfel nt, atunci cnd executai clic pe butonul respectiv, aciunile respective sunt ndeplinite. Comenzile macro din Access trebuie create direct de utilizator.

23

Module Modulele sunt recipiente pentru subrutinele i funciile Vizual Basic, astfel nct este necesar o oarecare experien de programare. Tot ce poate fi realizat cu o comand macro poate fi ndeplinit, de asemenea, cu un modul i chiar mai mult. De exemplu, o funcie simpl poate realiza o verificare de validare a datelor dintr-un formular, nainte de a permite salvarea nregistrrii ntr-un tabel. Orice formular i orice raport au un modul intern, modul care nu este reprezentat n fereastra Database i care conine codul corespunztor numai pentru formularul sau raportul respectiv. Fiecare modul CBF este creat pentru a manipula nite rutine speciale care vor fi rulate n mod automat la orice apariie a unor evenimente particulare. Aceste proceduri pentru tratarea evenimentelor determin adevrata putere i flexibilitate a sistemului, constituind esena adevratei programri a bazelor de date n Access. Posibilitile sunt extinse n continuare n Access 2000: codul dintr-un modul CBF poate fi folosit acum pentru alte formulare i module. Obinerea asistenei soft Apsnd tasta F1 apelm sitemul de asisten soft contextual la care avem acces n aproape orice situaie posibil. Fereastra iniial Access Help are patru etichete: Contents (Cuprins): dac avei nevoie s pornii de la nceput. Index: n cazul n care cunoatei denumirea subiectului pentru care vrei ajutor. Find(Gsete): dac v putei permite s folosii spaiu suplimentar pe disc pentru un sistem index mai cuprinztor. Answer Wizard (program vrjitor pentru rspunsuri): un program nou care ncearc s rspund la ntrebrile puse n limbaj natural.

24

ntreinerea bazelor de date n timp ce lucrai cu o baz de date (adugnd i tergnd date, crend i distrugnd obiecte, folosind tabele temporare i aa mai departe), stocarea din interiorul ei ncepe s se fragmenteze ntr-o anumit msur. Aa cum o unitate de disc are nevoie de o defragmentare periodic, un fiier baz de date are nevoie de o compactare periodic pentru a-i menine performanele la un nivel optim. Pentru a compacta o baz de date, nchidei fereastra Database, dar lsai sitemul Access ca atare deschis. Asigurai-v c nu exist ali utilizatori care s fi deschis fiierul. Alegei opiunile Database Utilities/Compact Database din meniul Tools. Access v va cere numele bazei de date de compactat, precum i denumirea care trebuie folosit pentru baza de date compactat. Este permis alegerea aceluiai nume. n acest caz, Access va crea o copie temporar pe care o va redenumi cu numele original la sfritul procesului de compactare. Ocazional, un fiier baz de date se poate defecta. Dac o parte a fiierului este afectat, consecinele pot fi devastatoare, deoarece toate obiectele sunt plasate ntr-un singur fiier. Access v pune la dispoziie un utilitar pentru reparaii, care ncearc s rezolve unele probleme cum ar fi indeci i legturi de obiect care nu sunt valabile. Dac primii un mesaj care v spune c baza dumneavoastr de date are nevoie de reparaie sau dac aceasta ncepe s se comporte ciudat, ncercai s folosii utilitarul pentru reparaii. Spre deosebire de Compact Database, utilitarul Repair Database nu lucreaz cu o copie a bazei dumneavoastr de date, ci ncearc s repare chiar originalul. n consecin, nainte de a rula programul de reparare a bazei de date, trebuie s v creai o copie de siguran. n cursul procedurii de preparare, n fiier sunt create obiecte temporare, astfel nct va trebui s folosii utilitarul de compactare dup finalizarea reparaiei.

Tabelele reprezint obiectele din cadrul bazei de date care stocheaz datele. Un tabel este constituit din cmpuri, care sunt coloane crora li se atribuie cte un nume, fiecare avnd un tip de date i o demensiune bine precizate. Aceast abordare structurat a datelor asigur bazelor de date puterea i viteza de lucru de care au nevoie.

25

Acces

permite s folosii nume cu o lungime de pn la 64 de carctere, inclusiv spaiile

nglobate.

Tipuri de cmpuri Trebuie de precizat tipul de date pe care-l conine fiecare cmp, n cadrul urmtoarelor opiuni: Text Cu toate c n Access dimensiunea prestabilit a unui cmp text este de 50 de caractere, putei alege orice dimensiune de la 11 la 255. Memo Dimensiunea e limitat de 64 KB (kilooctei). Aceast limit a dimensiunii unui cmp memo nseamn c putei stoca aproximativ 16 pagini de text scris la un rnd pentru fiecare nregistrare. Cmpurile memo constau numai din text. Numr Tipul numr (Number) include mai multe tipuri care difer prin modul de stocare i viteza de rspuns. Tipul Byte (Octet) accept numai valori ntregi pozitive pn la 255, tipul Integer (ntreg) acoper domeniul numerelor ntregi de la - 32768 la 32768, iar Long Integer (ntreg Lung) numerele ntregi pn dincolo de limitele de plus i minus 2 miliarde. De notat c spaiul de stocare pentru un numr Long Integer este de patru ori mai mare dect cel pentru un octet. Viteza de lucru va fi mai redus n cazul manipulrii tipurilor n virgul mobil Single i Double. Tipul Single acoper domeniul numerelor fracionare cu pn la apte cifre semnificative, n timp ce Double mrete precizia pn la 14 cifre semnificative, permind lucrul cu numere uriae i infinitezimale. Dat calendaristic/Or Access stocheaz intern datele calendariswtice sub forma unor numere n virgul mobil de opt octei, ora fiind reprezentat ca o fraciune dintr-o zi. Dac vrei ca Access s introduc n mod automat data curent, indicai pentru proprietatea Default Value (Valoarea prestabilit) a cmpului Now () pentru a stoca att ora ct i data.

26

Numr cu incrementare automat n versiunile anterioare ale programului secveniale. Da/Nu Tipul Da/nu (Yes/No) stocheaz numai valori True/False (Adevrat/Fals). O astfel de valoare poate fi afiatt n una din formele True/False, Yes/No sau On/Off (Pornit/Oprit sau Activat/Dezactivat). Dac avei nevoie s selectai manual unele nregistrri, un astfel de cmp Yes/No prezentat sub forma unei casete de validare reprezint o metod foarte eficient de selectare e deselectare. Obiect OLE Tipul de cmp OLE este destinat pstrrii datelor provenite de la alte programe, care s-au nregistrat ele nsele ca servere OLE n Windows. Aceasta permite bazei dumneavoastr de date s stocheze documente create de programe de prelucrare a textelorr, seturi de foi de calcul, ilustraii, sunete. Proprietile cmpurilor Sunt afiate n partea de jos a ferestrei Table Design (Proiecatre table), avndu-se posibilitatea de a preciza mai multe proprieti pentru fiecare cmp. Field Size (Dimensiunea cmpului) depinde de tipul cmpului, aa cum am artat mai sus. Format Opiunea stabilit pentru aceast proprietate realizeaz modul n care Access v afecteaz datele. Coninutul irului de formatare poate fi un fornmat predefinit, cum ar fi Currency (Valut), Percent (Procent) sau Short Date (Data calendaristic n form scurt ), etc. Input Mask Pe cnd proprietatea Format controleaz modul de afiare a datelor pe ecran, proprietatea Input Mask (Masca de intrare) controleaz introducerea datelor n cadrul cmpului. Access, tipul numr cu incrementare automat (AutoNumber) era numit Counter (numrtor), putndu-i fi atribuite numai valori ntregi lungi

27

Caption Access folosete valoarea proprietii Caption (Titlu) pentru a afia titlurile numelor de cmp n modul de afiare Datasheet (Foaie de date). Suplimentar, aceast valoare este utilizat ca etichet a unui control legat de acest cmp, din cadrul unui formular nou. Dac proprietatea Caption este necompletat, chiar numele cmpului va fi folosit ca titlu. Default Value Default Value (Valoarea prestabilit) reprezint valoarea iniial, oferit la adugarea unei noi nregtistrri. De exemplu, cmpurile Yes/No cer adeseori valoarea prestabilit True. Validation Rule i Validation Text Fiecare cmp are proprietile de Validation Rule (Regul de validare) i Validation Text (Text de validare). De exemplu, pentru a restrnge datele introduse la numerele dintre 75 i 750, oopinea Validation Rule trebuie stabilit la Between 75 and 750 (ntre 75 i 750). Dac datele introduse nu respect regul de validare, textul din Validation Text va fi afiat ntr-o caset de mesaje. n mod normal, acest text trebuie s explice n ce const regula, astfel nct un utilizator s poat nelege cum s introduc o valoare acceptabil. Required Pentru a sublinia faptul c un cmp nu trebuie lsat necompletat, stabilii pentru proprietatea Required (Necesar) valoarea Yes (Da). Pentru cmpurile Primary Key (Cheie primar) o astfel de configurare este inutil, deoarece Access insist deja asupra faptului c nu trebuie lsate necompletate. Indexed Indecii asigur mecanismul de regsire rapid a datelor. n general, indexai un cmp atunci cnd: 1. Cmpul cuprinde valori cu gam larg de variaie. 2. Cmpul va fi folosit n mod semnificativ n criteriile de selecie sau sortare.

28

Indexul cheie primar (Primary Key) prevede cte un pointer unic ctre fiecare nregistrare i reprezint ordinea de afiare prestabilit pentru tabele n Access.

Formularele (Forms) reprezint ferestrele primare folosite pentru introducerea i afiarea datelor n Access. Un formular poate fi afiat n trei moduri diferite: Modul Design (proiecatre) este utilizat pentru a schimba prezentarea i proprietile unui formular, sau pentru a modifica controalele dintr-un formular. Modul Datasheet (Foaie de date) este similar, cel puin n aparen, cu afiarea direct a tabelului sau a interogrii. Modul Form (Formular) reprezint modul de afiare normal al unui formular n curs de utilizare. Alegei eticheta Form din fereastra Database i executai clic pe New. Access rspunde oferinduv serviciile mai multor programe wizard pentru formulare (Form Wizards), dup cum urmeaz: Design view (modul proiectare) v permite s crerai toate elementele manual. Form Wizard v ofer posibiliatea s controlai fiecare etap a procesului. Auto Form: Columnar (Configurare automat a formularului: aezare n coloan) creaz un formular cu controalele aliniate unul sub cellalt (configuraie corespunztoare pentru un formular principal). Auto Form: Tabular (Coniguarare automat a formularului: aezare tabelar) creeaz un formular cu controalele aliniate unul sub cellalt (configuraie corespunztoare pentru un formular principal). Auto Form:Datasheet (Configurare automat a formularului: modul Datasheet) creeaz un formular avnd modul de afiare prestabilit Datasheet (configuraie corespunztoare pentru afiarea numrului maxim posibil de nregistrri deodat). Chart Wizard (program pentru reprezentri grafice) creeaz un grafic. Pentru a obine un grafic tiprit, folosii un raport n loc de formular.

29

Proprietile formularului Fiecare obiect (formularul nsui, seciunile acestuia precum i fiecare control din cadrul lui) are un anumit numr de proprieti. Pentru a afia, se execut clic pe butonul Proprieties de pe bara de instrumente sau se execut un dublu-clic pe obiect. La fiecare versiune nou a programului Access, numrul proprietilor a crescut pentru pune la dispoziie posibiliti de control mai eficiente asupra aplicaiei utilizatorului. n continuare vor fi prezentate numai proprietile de baz. Din punctul de vedere al datelor, cea mai important proprietate a formularului este RecordSource (Sursa nregistrrii). Aceast proprietate este stabilit n numele tabelului sau interogrii care furnizeaz date formularului. Se acept de asemenea o instruciune SQL valabil. Dac RecordSource este necompletat, formularul nu are un set de nregistrri suport. n cazul n care schimbai proprietatea RecordSource, formularul va citi i va scrie date ntr-un alt tabel. Programatorii modific uneori proprietatea RecordSource n timp ce formularul ruleaz n modul Form, pentru a filtra numai anumite nregistrri n cadrul formularului sau pentru a schimba ordinea de sortare. Proprietile Data controleaz tipul operaiilor cu date care sunt permise n cadrul formularului. Fiecruia dintre proprietile urmtoare i se poate atribui valoarea Yes sau no: Allows Edits (Permite editarea): dac este No, utilizatorii pot vedea , dar nu pot modifica nregistrrile existente. AllowDeletions (Permite tergerile): dac este No, nregistrrile nu pot fi terse. AllowDeletions (Permite tergerile): dac este No, nu pot fi adugate nregistrri noi. n modul de afiare Datasheet, rndul New Record (nregistrare nou) va lipsi. DataEntry ( Introducere de date): dac este Yes, formularul poate fi folosit numai pentru introducerea unor nregistrri noi. nregistrrile existente nu vor fi prezentate, iar numrtorul de nregistrri indic numai numrul de nregistrri adugate de la deschiderea formularului. Prorpietile Format controleaz aspectul formularului. printre ele sunt incluse: Caption (Titlu): introducei textul care va fi afiat pe bara de titlu a formularului. Dac proprietatea Caption este necompletat, numele formularului va fi afiat ca titlu.

30

Default View (Mod de afiare prestabilit): stabilete dac formularul va fi afiat n mod Single Form (cel mai uzual), Continuous Form (de exemplu, proiect tabelar) sau Datasheet. Views Allowed (Moduri de afiare permise): stabilete dac utilizatorul poate trece de la modul Form la modul Datasheet. ScrollBars (Bare de derulare): stabilete dac formularul are bare de derulare orizontale i/sau verticale. RecordSelectors (Elemente de selectare a nregistrrilor): dac este Yes, un element de selectare a nregistrrii va fi afiat pe toat nlimea seciunii Detail. NavigationButtons (Butoane de navigaie): dac este No, butoanele navigaie vor lipsi de la captul din stnga al barei de derulare orizontale. RecordDividers(Linii de separare a nregistrrilor): dac este Yes, o linie va fi afiat ntre nregistrri n cadrul unui formular n modul Continuos. AutoResize (Rediminsionare automat): dac este Yes, fereastra formularului va fi dimensionat corespunztor la fiecare deschidere a acestuia. Reprezint echivalenttul funcional al opiunii Size To Fit Form (Dimensioneaz corespunztor cu formularul) din meniul Window. AutoCenter (Centrare automat): deschidere. ControlBox (Caseta de control): dac este Yes, caseta de control va fi inclus n partea stng a barei de titlu. MaxMinButtons (Butoanele de maximizare i minimizare): Butoanele Maximize i Minimise sunt fie prezente amndou, fie absente am1ndou. Totui, putei preciza c numai unul dintre ele (fie Minimize, fie Maximize) este permis. Dac vrei s folosii aceste butoane, proprietatea WhatsThisButton (Ce este ecest buton) trebuie stabilit la No. dac este Yes, formularul este centrat pe ecran la

Evenimentele formularului Formularul are mai multe evenimente dect oricare alt control. Evenimentele controaleor v dau puterea de administrare a unui cmp. Multe dintre evenimentele formularului v ofer ns posibiliatatea de administrare a ntregii nregistrri. La editarea unei nregistrri, au loc evenimentele BeforeUpdate (nainte de actualizare) i AfterUpdate (Dup actualizare). La adugare unei nregistrri, au loc evenimentele BeforeInsert (nainte de inserare) i AfterInsert (Dup inserare).

31

La tergerea unei nregistrri, au loc evenimentele Delete (tergere), BeforeDelConfirm (Confirmare nainte de ergere) i AfterDelConfirm (Confirmare dup tergere). Cnd o nregistrare oarecare este selectat i devine nregistrare curent, are loc evenimentul Current. Alte evenimente ale formularului sunt dedicate administrrii formularului nsui. Evenimentele Open (Deschide) i Load (ncarc) se petrec atunci cnd este deschis un formular, iar evenimentele Unload (Descarc) i Close (nchide) atunci cnd aceasta este nchis. Activate i GotFocus au loc activarea formularului; Deactivate i LostFocus se petrec la dezactivarea acestuia. Evenimentele Click, DblClick, MouseUp, MouseDown i MouseMove au loc atunci cnd mouse-ul intercioneaz cu formularul. Evenimentele KeyDown, KeyUp i KeyOccur se petrec la interaciunea taastaturii cu formularul. De asemenea, mai exist evenimentele pentru Resize (Redimensioneaz), Error (Eroare), Timer, Filter (Filtru) i ApplyFilter (Aplic filtru).

Avem nevoie de evenimentele formularului pentru a administra nu numai un cmp, ci ntreaga nregistrare, inclusiv pentru a rspunde la modificrile operate datelor; pentru verificarea tergerilor, adugrilor sau schimbrilor datelor. pentru a desena o aplicaie i pentru a face formularele s lucreze mai cooperat. pentru a administra problemele care apar n cazul n care datele nu sunt disponibile. Analiznd pe rnd fiecare dintre aceste evenimente, vei primi sugestii pentru folosirea uzual a fiecruia. Mai jos vom analiza acele evenimente folosite pentru administrarea nregistrrii n interiorul formularului i apoi pe cele care implic fromularul.: BeforeUpdate (nainte de actualizare) este, indiscutabil, cel ami semnificativ eveniment al formularului. Acest eveniment se petrece dup editarea unei nregistrri, dar nainte de scrierea ei n tabel. Este asemntor cu ceea ce se ntmpl atunci cnd utilizatorul ncearc s treac la alt

32

nregistrare sau s salveze nregistrarea curent. Uzual, evenimentul este utilizat pentru validarea ntregii nregistrri. Folosim evenimentul BeforeUpdate (nainte de actualizare) al formularului pentru: A ne asigura c un control nu este vid, or evenimentul BeforeUpdate (nainte de actualizare) al controlului nu poate face aceast verificare, deoarece nu are loc dac nu este introdus nici o valoare de intrare. A compara diferite controale. Comparaiile nu pot fi fcute n cadrul evenimentelor controalelor, deoarece nu tii dac al doilea control conine date. A cere confirmarea n cazul n care valoarea introdus pare incorect. A anula actualizarea dac nregistrarea nu este gsit satisfctoare i altele . Evenimentul AfterUpdate (Dup actualizare) se folosete n urmtoarele cazuri: Sincronizarea datelor n alt formular, tabel sau baz de date. Scrierea unui proces de tranzacie (audit). Punerea noilor date n controale libere (ca, de exemplu, suma unui cmp n care se aplic o condiie). Evenimentul AfterUpdate (Dup actualizare) nu poate fi anulat. Evenimentul Current Are loc de fiecare dat cnd o alt nregisrtare devine curent. Acest eveniment v permite s rspundei datelor din nregistrare prin sincronizarea cu alt formular, prin ascunderea/afiarea controalelor sau prin configurarea proprietilor astfel nct s evidenieze detaliile datelor. Evenimentele Open (Deschide), Load(ncarc), UnLoad(Descarc) i Close(nchide) Evenimentul Open(Deschide) are loc primul atunci cnd este deschis un formular. Evenimentul poate fi folosit pentru anularea operaiei de deschiderea altui formular de baz sau pentru culegereade informaii suplimentare de la utilizator. Evenimentul Open (Deschide) nu are loc dac este executat aciunea OpenForm (DeschideFormular) ntr-un formular deja deschis. Dup aceasta, au loc evenimentele Current i Load (ncarc). Acest lucru nseamn c , dac vrei s facei referire la coninutul controalelor din formular, trebuie s folosii evenimentul

33

Load (ncarc) i nu evenimentul Open(Deschide). Evenimentul Load (ncarc) nu poate fi anulat. Evenimentele Activate (Activeaz), Deactivate (Dezactiveaz),GotFocus (Obine cursorul de selecie) i LostFocus (Pierde cursorul de selecie) Evenimentul GotFocus pentru un formular nu are loc dac exist cel puin un control care poate fi selectat, astfel nct, n mod normal, GotFocus se petrece numai dac undeva este o eroare. n mod similar, evenimentul LostFocus are loc numai dac toate controalele sunt dezactivate, iar formularul nsui a pierdut cursorul de selecie. n mod clar, evenimentele GotFocus I LostFocus nu v spun dac un formular este sau nu activ. Evenimentul Activate are loc atunci cnd un formular devine activ: la prima ncrcare a formularului sau ori de cte ori utilizatorul comut din noi pe acest formular. Evenimentul Deactivate se petrece atunci cnd utilizatorul comut pe alt formular sau cnd formularul este nchis. Deactivate nu are loc dac utilizatorul comut pe un lat program Windows. Dei bara de titlu a formularului indic starea inactiv, acesta este considerat nc formularul activ din aplicaia Access.

Interogri.
Scopul pentru care creai i folosii o baz de date const n extragerea rapid a datelor care v intereseaz. Interogarea (query) este o definiie a datelor pe care vrei s le regsii: ce cmpuri, din care tabele, corespunztor cror criterii, n ce ordine de sortare. Interogrile pot afia simultan nregistrri din mai multe tabele.n cazul n care dou tabele sunt implicate ntr-o relaie de la unu la mai muli, interogarea are n mod normal cte un rnd pentru fiecare nregistrare din partea mai muli, iar valorile din partea unu a relaiei sunt repetate pentru fiecare rnd.

Interogri aciune Chiar de la prima versiune, Access a prevzut patru interogri aciune. Aceste interogri nu determin afiarea unor informaii de ieire pe ecran, ocupndu-se doar cu modificarea datelor stocate n tabelele dumneavoastr:

34

Interogarea Delete (terge) terge nregistrri dintr-un tabel. Interogarea Update modific valoarea din fiecare cmp specificat. Interogarea Make Table (Creeaz tabelul) creeaz un tabel nou pornind de la nregistrrile existente. Interogarea Append (Adaug) adaug nregistrri noi unui tabel existent. Access nu v ofer nici o posibilitate de anulare a interogriloe aciune. Modificrile aduse datelor dumneavoastr sunt permanente i ireversibile. Singura metod de revenire la starea anterioare a bazei dumneavoastr de date const n restabilirea acesteia de pe o copie de siguran. Cum s creai o interogare aciune, ncepei prin a crea o interogare n modul uzual: executai clic pe New n timp ce eticheta pictograma Query Type de pe bara de instrumente pentru a alege tipul de aciune corespunztor sau selecta Query este selectat n fereastra Database. n continuare, utilizai interogarea dorit din meniul Query. Interogarea Delete Interogarea Delete este util pentru tergerea mai mulotr nregistrri deodat. Sintaxa interogrii Delete este similar cu cea a interogrii Select: DELETE [*] FROM tableexpression [WHERE...] ; Pentru a crea o interogare Delete, ncepei cu o interogare Select, dup care alegei opiunea Delete din lista derulant Query Type de pe bara de instrumente (sau din meniul Query). De multe ori, metoda cea mai sigur de generare a unei interogri Delete const n crearea ntr-o prim etap a unei interogri Select, n verificarea rezultatelor acesteia n modul de afiare Datasheet i n transformarea ulterioar ntr-o interogare Delete. Spre deosebire de alte baze de date, Access nu are posibiliti de anulare a tergerii nregistrrilor.

35

Interogarea Update Folosii interogarea Update pentru a schimba coninutul unui cmp la o valoare nou. Valoarea cea nou poate s se bazeze pe coninutul curent al cmpului de modificat sau a altor cmpuri sau poate fi o valoare literal. Examinarea nregistrrilor selectate pentru actualizare n modul de afiare Datasheet reprezint o verificare util nainte ca noile valori s fie scrise n mod ireversibil n tabelel dumneavoastr. Sintaxa interogrii Update este destul de simpl: UPDATE tableexpression SET newvaluelist [ WHERE...]; Exist posibilitatea actualizrii mai multor cmpuri ale unui tabel n acelai timp. Cmpurilor le sunt atribuite valorile noi din newvaluelist (listavalorinoi). De exemplu, dac un operator de introducere a datelor a introdus incorect adresa La Crosse, Wi n loc de Lacrosse, Wa, o interogare Update va localiza i va modifica aceste date greite. Dedesubtul cmpului Ora (City), introducei Lacrosse n rndul Update i La Crosse n rndul de criterii. Sub cmpul Stat (State), introducei Wa n rndul Update i Wi n acelai rnd de criterii. Rulai interogarea i Access va executa aceast instruciune SQL: UPDATE tblCustomers SET City = Lacrosse, State = Wa WHERE City = La Crosse AND Sate = Wi; Interogarea Update se poate referi la valoarea curent din cmp. De exemplu, pentru a asigura tuturor angajailor o cretere de salariu de 20$, rulai interogarea urmtoare: UPDATE tblStaff SET Pay= Pay + 20; Interogarea Update se poate referi de asemenea la alte cmpuri.

36

Interogarea Make Table Interogarea Make Table nu modific datele dintr-un tabel existent; rolul ei este s creeze un tabel nou din cmpurile i nregistrrile selecate. Noul tabel poate fi creat n baza de date curent sau ntr-o alt baze de date, inclusiv n mai multe baze de date diferite de Access. Interogarea Make Table poate fi util pentru crearea tabelelor temporare sau a unei copii a datelor la un anumit moment de timp. n SQL, interogarea Make Table reprezint un caz special de utilizare a verbului SELECT: SELECT fieldlist INTO newtable [IN externaldb] FROM source [WHERE...]; n acest fragment de cod fieldlist (listacmpuri) reprezint o list de nume newtable (tabelnou) reprezint numele atribuitn noului tabel externalb (bdexterna) indic numele, calea i tipul bazei de date externe. soucre (sursa) reprezint interogarea sau tabelul surs (sau instruciunea de asociere n cazul tabelelor multiple).

Interogarea Append Interogarea Append este similar din punct de vedere al fundcionrii cu interogarea Make Table, cu deosebirea c nregistrrile acesteia sunt adugate unui tabel existent. Deoarece structura tabelului destinaie exist deja, este nevoie de o oarecare atenie pentru a v asigura c datele sunt scrise n cmpul corect. Interogarea Append se bazeaz pe verbul SQL INSERT INTO: INSERT INTO target [IN externaldb] [targetfieldlist] SELECT [ sourcefieldlist] FROM source [WHERE...]; n acest fragment de cod

37

target (destinaia) reprezint tabelul sau interogarea care primete noile nregistrri. externaldb (bdexterna) reprezint numele, calea i tipul bazei de date externe. targetfieldlist (listacmpurdestinaie) reprezint o list de cmpuri n care trebuie reaqlizat scxrierea, separate cu virgule. sourcefieldlist (listacmpurisurs) reprezint o list de cmpuri din care se citesc datele, separate cu virgule, aceast list corespunznd cu lista cmpurilor destinaie. source (sursa) reprezint interogarea sau tabelul surs (sau instruciunea de asociere n cazul tabelelor multiple).

38

3. Visual Basic pentru aplicaii

Visual Basic pentru aplicaii este limbajul pentru dezvoltarea aplicaiilor n Access. Acest capitol ofer o imagine de ansamblu asupra limbajului Visual Basic pentru aplicaii i asupra structurii sale. Visual Basic pentru aplicaii, prescurtat uzual VBA, pune la dispoziie un limbaj complex pentru dezvoltarea aplicaiilor n cadrul programelor din Microsoft Office. Aceasta nseamn c nucleul limbajului, componentele sale i mediul sunt aceleai ca n Microsoft Access for Windows XP, Microsoft Visual Basic, Microsoft Excel i Microsoft Project. Aplicaiile mai simple din Access pot fi scrise folosind comenzi macro. Dai comenzile macro sunt bune pentru crearea rapid de prototipuri de funcii i pentiu dezvoltarea majoritii aplicaiilor de baz, dezvoltarea unor aplicaii serioase n Access se face folosind limbajul VBA. Acest lucru se datoreaz faptului c, spre deosebire de comenzile macro, Visual Basic pentru Aplicaii ofer urmtoarele posibiliti de lucru: crearea unor structuri ciclice pentru parcurgerea seturilor de nregistrri crearea prin program a obiectelor bazei de date utilizarea constantelor i a variabilelor implementarea tratrii erorilor, etc

De asemenea, VBA uureaz scrierea bibliotecilor de funcii reutilizabile, precum i proiectarea i depanarea proceselor complexe de ctre programatori . Codul VBA este scris n uniti numite subrutine i funcii. Aceste subrutine i funcii sunt pstrate n module. Modulele pot fi globale sau specifice unui anumit formular sau raport. Modulele specifice unui formular sau raport sunt n general numite coduri din spatele formularelor (Code Behind Forms - CBF). O subrutin (subprocedur) este o rutin care rspunde la apariia unui eveniment sau execut o anumit aciune. O funcie este un tip special de rutin, datorit faptului c poate returna o valoare. O subrutin nu poate returna o valoare.

3.1. Apelarea procedurilor evenimentetor i a celor definite de utilizator

39

Procedurile evenimentelor sunt apelate automat cnd are loc un eveniment pentru un obiect. De exemplu, cnd un utilizator execut clic pe un buton de comand, este executat codul evenimentului Click pentru acel buton de comand. n mod obinuit, pentru apelarea procedurilor definite de utilizator se folosete cuvntul cheie Call, ca n exemplul urmtor Call SayHello Ai putea apela procedura de baz i fr s folosii cuvntul cheie Call, astfel: SayHello Totui, aceast metod contravine standardelor, deoarece cuvntul cheie Call indic faptul c apelai o rutin definit de utilizator sau o rutin de eveniment. Cuvntul cheie Call face ca instruciunea s fie mai clar si mai uor de citit O procedur definit de utilizator poate fi apelat dintr-o rutin de eveniment sau din alt procedur sau funcie definit de utilizator.

3.2. Declararea variabilelor Cnd creai variabile VBA trebuie s luai n considerare mai multe lucruri. Modul n care declarai o variabil determin domeniul de valabilitate, durata de valabilitate i alte caracteristici ale acesteia. Urmtoarele subiecte analizate v vor ajuta s nelegei mai bine declararea variabilelor n limbajul Visual Basic pentru aplicaii. Sunt mai multe metode de declarare a variabilelor n limbajul VBA. Trei metode sunt greite si numai una este corect. De exemplu, ai putea declara simplu x=10 Folosind aceast metod, practic nu declarai deloc variabila. In mod obinuit, vei declara variabilele n timp ce le folosii. Aceast metod este foarte periculoas, deoarece poate cauza multe probleme. Ai putea, de asemenea, s introducei Dim iCounter

40

Aici, instruciunea Dim declar variabila. Singura problem a acestei metode este c nu ai declarat tipul variabilei. O alt greeal obinuit este declararea mai multor variabile pe aceeai linie: Dim iCounter, iAge, iWeight As Integer n acest caz, numai ultima variabil este declarat ca o variabil de tip Integer (ntreg) Celelalte variabile sunt declarate de tipul Variant. Cea mai eficient i mai lipsit de erori erori metod de declarare a variabilelor este de a le transmite ct mai exact compilatorului, ca n exemplul urmtor: Dim iCounter As Integer Dim sName As Strung Aa cum putei vedea, acest tip de declaraie conine att numele variabilei, ct i tipul datelor pe care le poate conine.. La o implementare corespunztoare, prob selectarea celui mai scurt tip de date folosit pentru fiecare variabil, putei .reduce resursele necesare executrii programului Variabilele locale

Variabilele pot fi declarate locale, la nivel de modul sau publice. Variabilele locale sunt disponibile numai n subrutina n care au fost declarate. Iat un exemplu ilustrativ: Private Sub cmdOkay_Click Dim sAnimal As String s Animal = "Cine" Call ChangeAnimal Debug.Print sAnimal End Sub nc are valoafea cine

41

Private Sub ChangeAnimal sAnimal = "Pisica" End Sub

Aceast secven de cod ar putea s fie tratat n dou moduri. Dac este valabil instruciunea Qption Explicit, ceea ce nseamn c variabilele trebuie s fie declarate nainte de folosire, acest cod va retuma o eroare de compilare. n caz contrar, variabila sAnimal poate fi schimbat n Pisic" numai n cadrul subrutinei ChangeAnimal. Option Explicit (Opiune de explicitare).

Este o instruciune care poate fi inclus n seciunea General Declarations a unui modul, formular sau raport . Cnd Option Explicit este plasata ntr-o seciune General Declarations, toate variabilele din interiorul obiectului respectiv (modul, formular sau raport) trebuie s fie declarate nainte de folosire. Realizai includerea opiunii Option Explicit prin selectarea opiunii Options din meniul Tools. n cadrul marcajului de tabulare Modules, executai clic pe opiunea Require Variable Declarafions (Cere declaraii de variabile). Este foarte important ca aceast comand (Option Explicit) s fie plasat n toate modulele dumneavoastr.

Variabile statice Exemplul urmtor ilustreaz diferena dintre variabilele locale i cele statice. Variabilele locale sunt iniializate la fiecare apel al codului. De fiecare dat cnd lansai n execuie aceast procedur, n fereastra de depanare este afiat numrul 1. Private Sub cmdLocal_Click{) Dim iCounter As Itrteger iCounter = iCounter +1 Debug.Print iCounter End Sub

42

De fiecare dat cnd acest cod este executat, instruciunea Dim reiniializeaz variabil iCounter. Este puin diferit fa de urmtoarea secven de cod, care ilustreaz folosirea variabilelor statice: Private Sub cmdStatic_Click() Static iCounter As Integer iCounter = iCounter +1 Debug.Print iCounter End Sub De fiecare dat cnd acest cod este executat, variabila cu numele iCounter este incrementat i reinut. Pn acum, aceast discuie s-a limitat la variabilele care au domeniul n interiorul unei proceduri individuale. Variabilele de nivel modul pot fi vizualizate din orice rutin aparinnd modulului n care au fost declarate. Variabilele de nivel modul sunt declarate prin plasarea unei comenzi Dim n seciunea General Declarations a formularului, raportului sau modulului de cod.

[General Declarations] Option Explicit Dim miCounter As Integer Valoarea variabilei poate fi schimbat de orice subrutin sau funcie din modulul respectiv. De exemplu, urmtoarea subrutin schimb valoarea variabilei de nivel modul miCounter la 20. Reinei convenia de numire a variabilei prin folosirea literei m ca prefix al numelui acesteia. Aceasta o face s fie recunoscut ca o variabil de nivel modul. Ar trebui s folosii declaraii de nivel modul numai pentru variabilele care trebuie s fie vzute de mai multe rutine. Ar trebui s ncercai s declarai majoritatea variabilelor dumneavoastr de tip local. Aceast metod face codul dumneavoastr mai modular i mai uor de depanat Private Sub cmdModule_Click() miCounter =20 Debug.Print miCounter Bnd Sub

43

Variabile publice O variabil public poate fi accesat de oriunde din aplicaia dumneavoastr. Variabilele publice se folosesc de obicei pentru identificatori de acces, valori de configurare pentru mediul de lucru i alte variabile cate trebuie s fie vizibile pentru ntreaga aplicaie. Declaraiile variabilelor publice trebuie s fie plasate n seciunea General Declarations a modulului de cod. O declaraie de variabil public arat ca n exemplul urmtor Option Explicit Public piCounter As Integer

Reinei folosirea prefixului p, care indic tipul public al variabilei. Secvena de cod urmtoare, plasat n evenimentul Click al butonului de comand cmdPublic schimb valoarea variabilei publice piCounter la 50. Private Sub cmdPublic_Click() piCounter = 50 Debug.Print piCounter End Sub

3.3. Structuri de control VBA VBA pune la dispoziie programatorului cteva structuri diferite pentru bucle i pentru luarea deciziei. Cele mai folosite dintre ele sunt analizate n seciunile urmtoare. Structura IF Then ELSE Structura If. ..Then. ..Else evaluieaz dac o condiie este adevrat sau fals. Dac expresia este adevrat , vor fi executate toate instruciunile dintre IF i Else. Dac expresia este fals, vor fi executate toate instruciunile dintre Else i End. Folosirea comemti Else este opional.

Private Sub cmdIf_Click()

44

If isNull (Me!txtValue) Then MsgBox "Trebuie s introduceti a valoane Else MsgBox "Ai introdus" & Me!txtValue End If End Sub . '

Structura Setect Case n loc s folosii mai multe instruciuni If. ..Then. ..Else este cu mult mai simplu, fr ndoial, s.folosii o instruciune Case. Private Sub cmdCase_Click Dim iResponse As Integer If isNull (Me!txtValue) Then iResponse=0 Else iResponse = Val (Me!txtValue) End If Select Case iResponse Case 0 MsgBox "Trebuie sa introducei un numr" Case 1 to 5 MsgBox "Ai introdus un numr ntre 1 i 5" Case 7, 11, 21 MsgBox "Ai introdus 7, 11 sau 21" Case Else

45

MsgBox "Ai introdus un numr incorect" End Select End Sub Aceast rutin utilizeaz n prima parte o instruciune IF pentru a evalua dac txtValue este nul. n acest caz, rutina memoreaz un zero ntr-o variabil numit iResponse. n caz contrar, valoarea coninut n txtValue este memorat n iResponse. Instruciunea Case evalueaz coninutul variabilei iResponse. Dac valoarea este 0, este. afiat o Caset de text cu mesajul Trebuie s introducei un numr". Dac valoarea este ntre l i 5 inclusiv, este afiat o caset de text coninnd mesajul Ai introdus o valoare ntre l i 5". Dac utilizatorul introduce 7, 11 sau 21, este afiat un mesaj corespunztor. n celelalte cazuri, utilizatorul primete un mesaj care indic introducerea unui numr incorect.

Structura Looping (Buclarea) n VBA sunt disponibile mai multe structuri ciclice. Dou, dintre ele vor fi discutate n aceast seciune. Private Sub cmdLoop1_Click() Dim iCounter As Integer iCounter = l Do While iCounter < 5 MsgBox iCounter iCounter= iCounter+1 Loop End Sub Aceast structur nu asigur ntotdeauna executarea secvenei de cod din interiorul buclei. Dac iCounter este mai mare sau egal cu 5, codul din interiorul buclei nu va fi executat niciodat.

46

Dac dorii ca secvena de cod s fie executat necondiionat cel puin o dat, va trebui s folosii urmtoarea structur: Private Sub cmdLoop2_Click() Dim iCounter As Integer iCounter = 5 Do MsgBox iCounter iCounter= iCounter+1 Loop While iCounter+1<5 End Sub Acest cod va fi executat cel putin o dat, chiar dac iCounter are valoarea 5. Structura Do While . . . Loop face evaluarea nainte de executarea codului i de Aceea nu asigur execuia codului din interiorul buclei. Structura Do Loop While face evaluarea la sfritul buclei i de aceea execuia codului este asigurat.

Structura For...Next Structura For... Next este folosit atunci cnd avei un numr exact de iteraii pe care dorii s le executai. Aceasta va arta astfel: Private Sub cmdForNext_Click() Dim iCounter As Integer For iCounter = l To 5 MsgBox iCounter Next iCounter End Sub

47

Observai c iCounter se auto-incrementeaz. Att valoarea de start, ct i cea de sfrit pot fi ambele variabile. Unei structuri For ... Next i se poate da, de asemenea, o valoare de incrementare ( Step ): Private Sub cmdForNext_Click() Dim iCounter As Integer For iCounter = l To 5 Step 2 MsgBox iCounter Next iCounter End Sub

3.4. Transmiterea parametrilor i s returnarea valorilor

Att subrutinele, ct i funciile pot primi argumente (parametri), dar numai funciile pot retuma valori. Subrutina din exemplul urmtor primete doi parametri, txtFirst i txtLast. Aceasta afieaz apoi un mesaj cu primul caracter al fiecruia dintre parametri primii.

Private Sub cmdSendNames_Click( ) Call Initials(Me!txtFirstName, Me!txtLastName) End Sub

Sub Initials (sFirst As String, sLast As String) MsgBox "Iniialele dumneavoastr sunt & Left$(sFirst, 1) & Left$(sLast, 1)

48

End Sub Observai c textul din controalele txtFirstName i txtLastName din formularul curent (Me) sunt transmise subrutinei cu numele Initials (Iniiale). Parametrii sunt recepionai ca sFirst i sLast. Primul caracter din stnga al fiecrui parametru este afiat n caseta de mesaje. Codul precedent transmite pur i simplu valori i apoi opereaz cu ele. Exemplul urmtor ilustreaz folosirea unei funcii care ntoarce o valoare. Private Sub cmdNameFunc_Click() Dim sInitials As Integer sInitials = ReturnInit (Me!txtFirstName, Me!txtLastName) MsgBox "Iniialele dumneavoastr sunt: " & sInitials End Sub

Function ReturnInit(sFName As String, sLName As String) ReturnInit=Left$( sFName,1) & Left$( sLName,1) End Function Reinei c acest exemplu apeleaz o funcie ReturnInit, trimind valorile celor dou casete de text ca parametri ai funciei. Funcia asociaz numelui funciei ( ReturnInit ) o valoare egal cu primele dou caractere ale irurilor. Apoi, funcia retumeaz valoarea rutinei apelante (cmdNameFunc_Click) i o atribuie variabilei sInitials.

Parametri opionali

Access v permite s utilizai parametri opionali. Cu alte cuvinte, nu este necesar s tii ci parametri vor fi transmii. Funcia numit ReturnInit din secvena de cod urmtoare primete

49

ultimii doi parametri ca opionali. Apoi evalueaz prezena sau nu a parametrilor i acioneaz n consecin.

Function ReturnInit (sFName As String, Opional sMI, Opional sLName) If IsMissing(sMI) Then sMI=InputBox(" Introducei iniiala cuvntului din mijloc) End If If IsMissing(sLName) Then sLName = InputBox (" Introducei ultimul nume") " End If ReturnInit = sLName & " " & sFName & " " & sMI End Function Aceasta funcie poate fi apelat n felul urmtor sName = ReturnInit ("Bill", , "Gates") Aa cum ati putut vedea, lipsete al doilea parametru, n loc s rezulte o eroare de compilare, acest cod va fi compilat i executat cu succes.

3.5. Funcii interne Visual Basic pentru aplicaii conine o bibliotec de funcii foarte bogat i cuprinztoare. Cteva dintre cele mai utilizate funcii sunt listate n seciunea urmtoare a capitolului.

Funcia Format

50

Funcia Format formateaz expresiile n stilul specificat. Primul parametru este expresia pe care dorii s o formatai. Al doilea parametru este tipul de format pe care dorii s l aplicai. Private Sub cmdFormat_Click( ) Debug.Print Format$ (50, Valuta ) ' Tiprete $50.00 Debug.Print Format$ (Now,: "Data n format scurt.") Debug.Print Format$ (Now, "DDDD") Debug.Print Format$ (Now, "DDD") Debug.Print Format$ (Now, "YYYY) End Sub , Reinei c apostroful indic un comentriu. ' - Afieaz 8/5/07 ' - Afieaz cuvntul 'pentru zi ' - Afieaz ziua n 3 caractere ' - Afieaz anul din 'patru cifre

Funcia InStr Funcia InStr retumeaz poziia n care un ir se situeaz n interiorul altui ir. Private Sub cmdInstr_Click() Debug.Print InStr("Alison Balter","Balter") Derbur.Print lnStr("Hello",l") End Sub Returneaz 8

' Returneaz 3

Funcia. Left Funcia. Left (Stnga) retumeaz primele n caractere ale unui ir, unde n este un argument care indic numrul de caractere.

Private Sub cmdLeft_Click()

51

Debug.Print Left$("Hello World", 7) End Sub

'tiprete Hello W

Funcia Right Funcia Right (Dreapta) returneaz ultimele n caractere ale unui ir, unde n este un argument care indic numrul de caractere. Private Sub cmdRight_Click() Debug.Print Right$("Hello World", 7) ' tiprete End Sub Funia Mid o World

Funia Mid returneaz un subir format dintr-un numr specificat de caractere dintr-un ir. n exemplul urmtor, subirul ncepe la al patrulea caracter i retumeaz cinci caractere. Debug.Print Mid$("Hello World", 4, 5) End sub Funcia Ucase Funcia Ucase retumeaz un ir cu toate caracterele majuscule. Private Sub cmdUCase_Click() Debug.Print Ucase$ ("Hello World") Tiprete HELLO WORLD ' Tiprete lo Wor

52

End Sub

Funia DatePart

Funcia DatePart

returneaz o parte specificat a unei date.

Private Sub DatePart_Click( ) Debug.Print DatePart$ ( "YYYY", Now ) Tiprete anul Debug.Print DatePart$ ( "M" , Now) Tiprete luna Debug.Print DatePart$ ( "Q" , Now) Tiprete numrul trimestrului Debug.Print DatePart$ ( "Y" , Now) Tiprete ziua din an

End Sub

Funcia DateDiff Funcia DateDif f retumeaz intervalul de timp dintre dou date. Private Sub cmdDateDif f_Click() Debug.Print DateDiff ("d" , Now, "12/31/07") Tiprete numrul zilelor pn la 12/31/07 Debug.Print DateDiff ("m" , Now, "12/31/07") Tiprete numrul lunilor pn la 12/31/07 Debug.Print DateDiff ("YYYY" , Now, "12/31/07") Tiprete numrul anilor pn la 12/31/07 Debug.Print DateDiff ("q" , Now, "12/31/07") Tiprete numrul trimestrelor pn la 12/31/07 End Sub

Funcia DateAdd

53

Funcia DateAdd returneaz rezultatul adugrii sau scderii unei perioade specificate de timp la o (dintr-o) dat stabilit.

Private Sub cmdDateAdd_Click{) Debug.Print DateAdd ("d", 3, Now) 'Ziua de azi plus 3 zile Debug.Print DateAdd("m", 3, Now) 'Ziua de azi plus 3 luni Debug.Print DateAdd("yyyy", 3, Now) 'Ziua de azi plus 3 ani Debug.Prin DateAdd("q", 3, Now) 'Ziua de azi plus 3 trimestre End Sub

54

4. Produse-program utilizate n economie. Sistemele informatice economice sunt caracterizate printr-o structur complex generat att de multitudinea activitilor i subactivitilor informatizate, ct i de necesitatea asigurrii unor prelucrri ierarhizate n care regimurile de prelucrare n timp real i distribuit sunt preponderente. Aceste elemente impun n unele cazuri dezvoltarea unor sisteme de programe specifice unui anumit utilizator/grup de utilizatori, iar n alte cazuri a unor sisteme de prelucrare cu caracter generalizabil. 4.1. Caracteristici generale. Produsele informatice pot fi concepute, realizate i implementate n trei moduri: produse specifice unui anumit tip de utilizator, n care tipologia prelucrrilor este particular i n principiu regenralizabil ctre alte tipuri de utilizatori; produse-program generalizabile de la un anumit tip de utilizatori ctre alte tipuri de utilizatori, atunci cnd este posibil asimilarea acestora; sisteme informatice exploatabile att prin produse-program specifice, ct i prin produseprogram generalizabile ntr-un context operaional din punct de vedere tehnic, dinamic i funcional. Indiferent de varianta folosit trebuie s se respecte cerinele, restriciile i dezideratele legislaiei economice n vigoare. Aceste elemente impun dezvoltarea unor sisteme de programe care s satisfac cerinele informatice de prelucrare cu caracter general ale unei arii largi de utilizatori, n practica informatic aceste sisteme sunt cunoscute cel mai adesea sub denumirea de produse-program generalizabile, pachete de programe, produse informatice generalizabile. Produsul-program generalizabil reprezint un sistem complet, parametrizabil, adaptabil i documentat de programe, proiectat de firme specializate n software de aplicaii, livrabil utilizatorilor finali. Soluia utilizrii de produse program comercializate de firme productoare sau de firme specializate n comercializare conduce la o mare economie de timp n realizarea aplicaiilor la nivelul ntreprinderilor, nlturnd fazele pretenioase de analiz i proiectare a aplicaiilor.

55

Produsele-program sunt comercializate acum ca oricare alt produs i cuprind n general urmtoarele componente: dischete sau CD-ROM-ul cu programele nregistrate; manualul de prezentare care descrie amnunit diferitele funcii ale programelor i organizarea fiierelor; manualul de utilizare care explic modul de utilizare a produsului-program; datele de test care permit nsuirea uoar a principiilor de lucru. 4.2. Principii de utilizare specifice produselor program generalizabile

Pachetele de programe sunt asemntoare cu produsele rezultate dintr-o activitate de producie, fiind ns rezultatul unei activiti intelectuale. Ca i n industrie, firmele productoare fac investiii n acest domeniu numai n condiii de eficien economic. De aceea, la proiectarea pachetelor de programe se iau n considerare urmtoarele principii: 1. Existena unei piee reale pentru desfacerea produselor informatice nseamn dezvoltarea unor studii de marketing care . s evidenieze existena sau inexistena unor posibili beneficiari ai produselor program care urmeaz s fie comercializate. Prin aceste studii sunt identificate urmtoarele elemente: numrul viitorilor utilizatori, nivelul mediu al cheltuielilor de proiectare i realizare, posibiliti concrete de livrare prin estimarea unor preuri de livrare pertinente. Un prpdus-program este vndut la un pre mai mic n raport cu investiia iniial pentru realizarea lui. Investiia este totui rentabil deoarece produsul-program se vinde ntr-un mare numr de exemplare. Pentru ca piaa produselor-program s funcioneze trebuie asigurate urmtoarele condiii: Protecia firmei productoare contra copierii frauduloase a produselor-program de ctre clienii si - se realizeaz prin lege, prin contractul ncheiat ntre cumprtor i vnztor sau prin practicarea unor preuri sczute i asigurarea unor servicii care nu sunt oferite de copiile pirat (documentaia i punerea la dispoziie a unor noi versiuni). Pia potenial extins, urmrindu-se comercializarea produselor-program nu numai la nivelul unei ri, ci ntr-o zon geografic ntins. Produse-program de calitate, utilizarea lor trebuind s se fac fr probleme chiar dac utilizatorii nu sunt experimentai n domeniu.

56

Un rspuns pertinent la o cerin generic, produsul-program trebuind s rspund unor cerine care se manifest n mod curent i care pot fi satisfcute ntr-o manier standardizat. 2. Fundamentarea pe criterii tehnico-economice presupune comensurarea

cheltuielilor necesare pentru conceperea i realizarea produselor-program comparativ cu veniturile care urmeaz a fi obinute din vnzarea acestor produse. Analizele economice trebuie realizate n corelaie cu cele tehnice care implic utilizarea celor mai moderne resurse informatice. 3. Existena cadrului legislativ presupune existena unei legislaii economice naionale n concordan cu cea european pentru ca viitorul produs s poat fi uor generalizat att n ara de origine, ct i n alte ri. 4. Utilizarea unor soluii tehnice moderne i eficiente n proiectarea produselor informatice nseamn folosirea ultimelor nouti hardware i software din domeniu, nouti care conduc la obinerea unor produse competitive. 5. Posibilitatea algoritmizrii eficiente a problemelor abordate presupune dezvoltarea i utilizarea produselor informatice pentru domenii economice n care procesele de prelucrare au un caracter cuantificabil i pot fi asociate specificului sintactic i semantic al sistemului electronic de calcul. 6. Dezvoltarea de soluii informatice bazate pe sisteme de programe reutilizabile n contextul evoluiei sistemelor de operare are n vedere conceperea acestora prin folosirea unor structuri care s permit dezvoltarea, modificarea sau suprimarea unor module informatice cu efort material i uman minim n condiiile apariiei unor noi versiuni de sisteme de operare. 7. Asigurarea activitilor de publicitate i asisten tehnic are n vedere estimarea fondurilor necesare pentru lansarea pe pia a produsului informatic, urmat de o campanie publicitar eficient. Publicitatea este asigurat apelndu-se la un personal de specialitate i o tehnic de calcul de un nivel nalt. Pentru asigurarea credibilitii, firma productoare trebuie s asigure asistena tehnic pentru exploatarea la parametrii de eficien a produsului respectiv. 8. Asigurarea de soluii tehnice cu caracter plurinaional rezid din cerinele de comercializare a viitorului produs att pe piaa intern, ct i pe cea extern, n acest scop la

57

proiectare i realizare trebuie avute n vedere cerinele cadrului legislativ din ara de origine i din rile n care produsul va fi livrat, particularitile limbii, alfabetul, sistemul de uniti monetare, sistemele de codificare, termenii i conceptele economice utilizate etc. Plecnd de la aceste principii, utilizarea produselor-program generalizabile presupune parcurgerea unor etape n care utilizatorul final folosete n mod efectiv pachetul program existent n biblioteca surs direct executabil (livrat de proiectant). 4.3. Caracteristici de calitate ale produselor program generalizabile. Produsele-program generalizabile se caracterizeaz prin anumite proprieti de calitate specifice pe care le prezentm n continuare: Generalitatea asigur universalitatea pentru o gam larg de utilizatorii, ele fiind totui dedicate anumitor clase de activiti. Flexibilitatea se refer la capacitatea de adaptare a produsului-program specificaiile funcionale. Parametrizarea permite folosirea anumitor variabile specifice de prelucrare aferente unui utilizator, asigurndu-se astfel flexibilitatea n adaptarea produsului-program la nivelul fiecrui utilizator. Eficacitatea are n vedere asigurarea calitilor i performanelor imediate ale produselor-program. Adaptabilitatea se refer la compatibilitatea produsului-program cu de prelucrare ale beneficiarului (particulariti, specificaii, date reale). condiiile concrete concrete la ale utilizatorilor prin livrarea n diferite variante constructiv-

Portabilitatea permite exploatarea produselor-program pe alte sisteme de calcul dect cel pe care a fost proiectat. Interactivitatea nseamn exploatarea facil i prietenoas a produselor-program prin utilizarea unor ferestre, subferestre, a opiunilor, a tastelor de control. adugarea, Extensibilitatea se refer la posibilitatea dezvoltrii de noi versiuni prin eficiente la cerinele i condiiile concrete ale utilizatorului final. Integrabilitatea se refer la posibilitatea unei integrri statice i dinamice ntre procedurile automate ale sistemului informatic existent i cele ale produsului-program.

modificarea, inserarea sau suprimarea unor funcii standard de prelucrare n scopul adaptrii

58

Configurarea i reconfigurarea produselor-program are n vedere asigurarea unei independene relative a produselor-program fa de hardware i software, fiind posibil rularea lor chiar i n cazul instalrii unor noi versiuni constructive. Fiabilitatea i mentenabilitatea nseamn asigurarea unei sigurane maxime n utilizare i posibilitatea contracarrii uzurii fizice i morale a procedurilor asociate pachetului de programe. Eficiena presupune mbuntirea parametrilor economici ai firmei n care este exploatat produsul-program, justificndu-se astfel efortul financiar fcut achiziionarea lui. pentru

4.4. Selecia produselor program generalizabile i evaluarea performanelor acestora. Deoarece pe piaa specializat exist o mare varietate de produse informatice viitorul beneficiar trebuie s aib n vedere un sistem de criterii dup care se va face selecia. La alegerea unui produs program se iau n considerare cerine cum ar fi: 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 I/E, 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 ncorpora noi componente pentru funcii de prelucrare identificate ulterior i/su s poat fi adaptat tehnicilor de prelucrare ce corespund dezvoltrii ulterioare a configuraiei sistemului de calcul.

59

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 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. Criteriile de alegere sunt strns legate de caracteristicile de calitate, asigurate n toate etapele de elaborare a produsului program. 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;

60

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 evaluareaperformanelor 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 creaz 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.

4.5. Stocarea i 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 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, bibliotecile de programe pot fi tehnologice i de distribuie.

61

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 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 difuzarea acestora la utilizatorii interesai; evidena produselor program eleborate i n curs de elaborare aflate la autori; uz general i generalizabile de la elaboratori i programele aflate

62

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 i validarea produselor colectate; 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. 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. In concluzie, bibliotecile de programe contribuie la creterea indicilor cantitativi i calitativi ai activitii de elaborare a produselor program.

4.6. Aspecte legislative privind protecia produselor program. Protecia produselor program a fost reglementat prin lege.Legea 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 valozrea 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.

63

Durata dreptului de autor - tot timpul vieii autorului i se transmite prin motenire pe o durat anume. Dispoziiile speciale referitoare la protecia produselor program se refer la: 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 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, difuzarea originalului sau a copiilor, sub orice form, inclusiv prin nchiriere Drepturile asupra programelor create de unul sau mai muli angajai, ca atribuii de servici sau dup instruciunile celui care angajeaz, aparin acestuia din urm. Prin contractul de utilizare al unui program: Utilizatorul are dreptul neexclusiv de utilizare a programului

Utilizatorul nu poate transmite dreptul de utilizare unei alte persoane Cesiunea dreptului de utilizare al unui program nu implic transferul dreptului de autor asupra acestuia Utilizatorul autorizat are dreptul de a realiza copii de arhiv sau de siguran fr acceptul autorului

64

Reproducerea sau traducerea codului program pentru interoperabilitate cu alte programe trebuie autorizat de titularul dreptului de autor, etc