Sunteți pe pagina 1din 91

SISTEME INFORMATICE DE GESTIUNE

Note de curs
2010-2011

Lect.univ.dr. Romic ADAM

CUPRINS
1. Sistemul informatic, parte componenta a sistemului informational ......................................... 1.1. Elemente fundamentale de teoria sistemelor ................................................................................. 1.2. Unitatea economica sistem cibernetic ........................................................................................ 1.3. Rolul si locul sistemelor informationale ....................................................................................... 1.4. Ciclul prelucrarii datelor intr-un sistem informatic ....................................................................... 1.5. Tipuri de sisteme informatice ........................................................................................................ 1.6. Sistemul informational contabil al intreprinderii moderne ........................................................... 1.7. Structura generala a unui sistem informatic de gestiune ............................................................... 2. Metodologii de realizare a sistemelor informatice ...................................................................... 2.1. Metode de abordare a sistemelor informationale .......................................................................... 2.2. Modele ale ciclurilor de viata ale sistemelor informationale ........................................................ 2.3. Etapele de realizare a sistemelor informatice de gestiune ............................................................ 2.4. Principiile proiectarii si realizarii sistemelor informatice de gestiune .......................................... 3. Analizele de fezabilitate in realizarea sistemelor informatice .................................................... 3.1. Tipuri de analize de fezabilitate .................................................................................................... 3.2. Fezabilitatea economica ................................................................................................................ 3.3. Tehnici de reprezentare si programare calendaristica a planurilor. Diagramele Gantt si PERT .. 3.4. Elaborarea si selectarea variantelor de realizare a sistemelor informatice ................................... 3.5. Modalitati de obtinere a software-ului .......................................................................................... 3.6. Selectarea furnizorilor de hardware si software ............................................................................ 3.7. Continutul planului de baza al proiectului .................................................................................... 4. Analiza sistemului informational existent ................................................................................... 4.1. Tehnici de culegere a datelor ........................................................................................................ 4.2. Studiul sistemului informational existent ..................................................................................... 4.3. Structurarea cerintelor sistemului. Modelarea proceselor ............................................................ 4.4. Tehnica Yourdon & DeMarco ...................................................................................................... 5. Proiectarea conceptuala a sistemului informatic ........................................................................ 5.1. Tehnici de proiectare conceptuala a sistemului informatic ........................................................... 5.2. Codificarea datelor. Cerintele si functiile codificarii .................................................................... 5.3. Tipuri de coduri utilizate in sistemele informatice ....................................................................... 5.4. Modelarea conceptuala a datelor. Modelul Entitate-Asociere-Corespondenta ............................. 5.5. Modelarea restrictiilor de integritate ............................................................................................. 5.6. Dependentele functionale .............................................................................................................. 5.7. Modelarea logica a datelor. Trecerea de la MCD la MLD ........................................................... 5.8. Normalizarea datelor ........................................................................................................................... 6. Proiectarea de detaliu a sistemelor informatice .......................................................................... 6.1. Alegerea solutiei optime de gestiune a datelor .............................................................................. 6.2. Proiectarea schemei bazei de date ................................................................................................. 6.3. Sisteme de baze de date orientate obiect ....................................................................................... 6.4. Proiectarea formularelor si a rapoartelor ....................................................................................... 6.5. Modelul unui sistem informatic contabil integrat ......................................................................... 6.6. Criterii minimale privind programele informatice utilizate in domeniu financiar-contabil ......... 7. Realizarea si testarea programelor .............................................................................................. 7.1. Caracteristici de calitate a datelor ................................................................................................. 7.2. Testarea produselor program ........................................................................................................ 7.3. Definitivarea programului testat si a documentatiei aferente ....................................................... 7.4. Securitatea si protectia informatiei ............................................................................................... 8. Implementarea, exploatarea si intretinerea sistemului informatic ......................................... 8.1. Implementarea sistemului informatic 8.2. Strategii de implementare a sistemelor informatice ...................................................................... 8.3. Exploatarea si intretinerea sistemelor informatice ........................................................................ 3 4 4 5 9 11 13 17 17 18 21 22 23 23 24 25 27 28 30 31 32 32 34 37 40 41 41 44 46 49 54 55 58 59 67 67 68 70 74 77 79 81 81 81 83 84 87 87 89 90

Curs 1

Capitolul 1. Sistemul informatic, parte componenta a sistemului informational


In contextul evolutiei tehnologiilor informationale si a comunicatiilor, nu mai exista astazi practic domeniu de activitate care sa nu recurga la utilizarea calculatoarelor - intr-un sens foarte restrans, sau sa nu aibe implementate diferite sisteme infornatice pentru executarea operatiunilor de baza sau pentru sprijinirea deciziilor. Scopul acestei discipline este insusirea metodologiilor si tehnicilor de realizare si implementare a sistemelor informatice intr-o unitate economica.

1.1. Elemente fundamentale de teoria sistemelor Sistemul poate fi definit ca o entitate alcatuita din doua sau mai multe componente sau subsisteme, care interactioneaza intre ele pentru atingerea unui scop (obiectiv). Orice sistem este caracterizat prin faptul ca este legat de mediul ambiant, ca are o anumita structura, functioneaza dupa anumite reguli si urmareste un anumit scop. Orice sistem se constituie din intrari, prelucrari si iesiri. Pentru o unitate economica, intrarile sunt reprezentate de resursele economice pe care intreprinderea le utilizeaza in activitatile sale; prelucrarile sunt procesele prin care intrarile sunt transformate in iesiri; iar iesirile sunt reprezentate de bunurile si serviciile obtinute de intreprindere si pe care le schimba cu mediul sau. Exemplu. Pentru sistemul de productie dintr-o intreprindere, intrarile sunt reprezentate de materii prime si materiale, care sunt supuse procesului de prelucrare, in urma caruia rezulta produsele finite, ca iesiri din acest sistem. Forma de reprezentare conventionala a sistemului este urmatoarea:

Se poate spune ca, orice subsistem de ordin superior este compus dintr-o multime de subsisteme de ordin inferior, sau cu alte cuvinte orice sistem este un subsistem al unui sistem mai mare: S1 < S2 < S3 . < Sn, Cu cat complexitatea sistemului este mai mare, cu atat scade posibilitatea de a-l descrie mai riguros. Oricat de independent ar fi un sistem, in realitate nu poate fi vorba decat de o independenta relativa, deoarece el este integrat, impreuna cu celelalte sisteme, cu care se afla in interactiune, intr-un sistem mai mare. La studierea unui sistem trebuiesc analizate in principal urmatoarele aspecte: mediul in care acesta functioneaza partile componente ale sistemului relatiile care se manifesta in cadrul sistemului intrarile si iesirile sistemului obiectivul(ele) sistemului

Ce este un sistem informatic ? Ce este si cu ce se diferentiaza acesta fata de celelalte sisteme ? Care sunt diferentele dintre program informatic | aplicatie informatica | sistem informatic ? Dar intai ce este comun ? La prima vedere cuvantul informatic, care presupune ca mediul in care acestea exista este calculatorul. Un program informatic este un cod executabil scris intr-un anumit limbaj de programare, prin care se executa un anumit set de instructiuni. El are anumite date de intrare, care sunt prelucrate si se obtin astfel rezultatele. Putem vorbi de o aplicatie informatica atunci cand aceasta este structurata pe mai multe module de calcul, cu diferite functiuni, care prelucreaza un volum mai mare de date, in vederea obtinerii unor raporte, situatii sau actualizarea unor date. Sistemul informatic este un ansamblu de componente, care interactioneaza intre ele (n.r. conform definitiei sistemului) in vederea culegerii, prelucrarii si stocarii datelor necesare fundamentarii anumitor decizii. Dupa aceste definitii foarte simpliste, asupra carora o sa mai revenim, putem spune ca un alt aspect comun este acela ca pot fi considerate sisteme, intrucat toate trei au anumite date de intrare, pe care le prelucreaza (dupa un anumit algoritm - de la mai simplu, la complex) in vederea obtinerii unor rezultate. Diferenta majora este din punctul de vedere al complexitatii. Cand vorbim de sistem informatic, vorbim de locul unde acesta este implementat, de tehnica de calcul folosita, de aplicatiile si programele informatice utilizate, de personalul de specialitate si de modul in care acesta opereaza pentru culegerea si prelucrarea datelor. Plecand de la aspectele enumerate, putem descrie un sistem informatic ca avand urmatoarele componente: hardware software personal de specialitate metodologii si tehnici de lucru bazele de date 1.2. Unitatea economica - sistem cibernetic Intreprinderea ca sistem, poate fi considerata un subsistem al societatii, care reprezinta mediul sau. La randul sau, intreprinderea contine mai multe subsisteme componente: departamente, servicii, compartimente etc.
Resurse: materiale financiare umane informatii Atribute manageriale si tehnologice: planificare organizare conducere controlt tehnologie Iesiri: Produse/ servicii profit / pierdere

INTRARI

PROCESE DE TRANSFORMARE

IESIRI

Management Fig.1.2. Unitatea economica system cybernetic

O unitate economica, poate fi privita ca un sistem cibernetic (fig.1.2.). Atunci cand se constata, de exemplu, o scadere a volumului vanzarilor, deci o abatere de la obiectivul propus, managementul firmei trebuie sa identifice cauzele si sa ia masurile corective necesare. Acest lucru inseamna ca intreprinderea este un sistem cibernetic. Proiectantii sistemelor informationale contabile trebuie sa determine ce informatii sunt necesare conducerii si cat de rapid trebuie ele oferite. Daca informatiile sunt insuficiente sau eronate, deciziile vor avea de suferit. Datele reprezinta un set de caractere acceptate ca intrare intr-un sistem informational, care sunt memorate si prelucrate. Informatiile reprezinta iesirile unui sistem informational si sunt rezultatul proceselor de prelucrare a datelor. Datele sunt consemnate pe suporturi (documente justificative, discuri magnetice), care formeaza fluxuri intre posturile contabile de prelucrare (compartimetele: contabilitate materiale, contabilitate produse finite, contabilitate mijl. fixe etc.). In cadrul acestor posturi se efectueaza operatii de prelucrare a datelor, potrivit procedurilor de prelucrare (analiza contabila si emiterea articolului contabil, inregistrarea in contabilitatea cronologica, inregistrarea in contabilitatea analitica si sintetica etc.) 1.3. Rolul si locul sistemelor informationale Sistemele informationale au devenit o componenta esentiala a oricarei organizatii. Ele pot juca un rol capital in succesul unei intreprinderi, prin furnizarea informatiilor de care are nevoie conducerea si exploatarea lor eficienta, pentru obtinerea si mentinerea avantajelor fata de concurenti. Se poate spune ca un sistem informational nu este niciodata finalizat, ci se afla intotdeauna intr-o continua faza de modificare si realizare. Din punct de vedere sistemic, o unitatea economica poate fi considerata ca un ansamblu format din trei sisteme (fig. 1.3): - sistemul operational , care mai este denumit si sistemul condus sau sistemul de baza - sistemul de conducere, denumit si sistemul decizional - sistemul informational

Obiective, Sarcini SISTEM DE CONDUCERE

Rapoarte, dari de seama

Mediu SISTEM INFORMATIONAL

Informatii externe

Resurse SISTEM OPERATIONAL

Produse, servicii

Fig.1.3. Structura organizatorica si functionala a unui sistem economic

Sistemul operational reprezinta resursele umane, materiale si financiare si intregul ansamblu organizatoric care asigura realizarea efectiva a obiectivelor stabilite de sistemul de conducere. Cu alte cuvinte, el asigura transformarea factorilor de productie (intrarile), in bunuri si servicii (iesirile), iar in plan managerial transforma deciziile in performante. Sistemul de conducere este format dintr-un ansamblu de specialisti care cu ajutorul unor metode specifice controleaza, dirijeaza si supravegheaza functionarea intregului sistem in scopul indeplinirii obiectivelor stabilite. Sistemul de conducere primeste informatii despre sistemul operational si actioneaza prin decizii asupra acestuia. Sistemul informational reprezinta un ansamblu de fluxuri informationale, de mijloace si metode de culegere, prelucrare si transmitere a informatiilor, in vederea luarii deciziilor pe toate treptele organizatorice ale conducerii si asigurarii unei bune a functionari a sistemului operational. El reprrezinta o interfata intre sistemul de conducere si sistemul operationale precum si intre unitatea economica si mediul extern. Informatiile pe care le ofera un sistem informational la o unitate economica, permit cunoasterea situatiei existente, a celei trecute si permite anticiparea evolutiei viitoare, cu scopul atingerii obiectivelor firmei. Misiunea sistemului informational se poate concretiza in imbunatatirea activitatii, cresterea profitabilitatii prin furnizarea de informatii corecte, sub o forma direct utilizabila, la momentul oportun, in scopul sprijinirii proceselor decizionale si operationale. Un sistem informational trebuie sa sprijine activitatea desfasurata in cadrul firmei la toate nivelurile decizionale. Avand in vedere ca sistemul de conducere are ca obiective principale: - stabilirea obiectivelor si politicilor de dezvoltare si - controlul, adica urmarirea modului de implementare a strategiilor, evaluarea performantelor realizate, corectarea eventualelor dereglari, putem spune ca fluxul informational este compus din informatii strategice, tactice si operative. La nivel strategic sistemul informational sprijina luarea deciziilor de catre conducere. Acestea sunt rezultate pe termen lung, privesc intreaga activitate desfasurate in intreprindere. Informatiile se refera la: - valoarea rezultatelor financiare necesare stabilirii modului de repartizare a profitului - starea financiara actuala - modul de utilizarea a capacitatilor de productie. La nivel tactic, informatiile oferite de sistemul informational sprijina luarea deciziilor privind planificarea activitatilor ce vor fi desfasurate in firma pe termen mediu. La nivel operational sistemul informational sprijina luarea deciziilor pentru desfasurarea activitatilor curente ale firmei, informatii referitoare la productie (stoc de materii prime, materiale), aprovizionare cu materii prime, materiale, la desfacere, situatia mijloacelor fixe, situatia necesarului de mijloace de plata, a obligatiilor de plata , cu termene de scadente. Intelegerea structurii organizatorice din intreprindere este foarte imporanta in procesul dezvoltarii unui sistem informational, intrucat acesta este grefat pe structura organizatorica a intreprinderii. Determinarea necesarului de informatii din unitate depinde de modalitatea de distribuire a autoritatii si responsabilitatii, realizata in functie de structura organizatorica. Dezvoltarea economica a intreprinderilor este determinata de realizarea sistemelor informatice. Sistemele informatice ocupa un loc din ce in ce mai important in gestiunea intreprinderilor. In procesul conducerii sunt solicitate tot mai multe informatii care sa puna in valoare toate resursele

materiale, financiare, umane si spirituale pentru realizarea in conditii optime a obiectivelor propuse. Modelul traditional al fluxului informational dintr-o unitate economica se poate prezenta ca in figura 1.4:
Conducere

Contabilitate

Desfacere

Personal

Productie

Financiar

Aprovizionare Fig. 1.4. Fluxul informational dintr-o unitate economica

Se observa ca serviciul contabilitate poate fi considerat punctul central al activitatii economice, iar sursele de informatii sunt: serviciile desfacere, aprovizionare, financiar, personal, productie. De la aplicatii informatice simple, sporadice informatizarea intrepriderilor a evoluat catre sisteme informatice complexe, in masura sa gestioneze eficient masa de informatii existenta si sa ofere solutii pentru atingerea obiectivului esential : eficienta gestionarii resurselor. Sistemul informatic este inclus in cadrul sistemului informational si are ca obiect de activitate, in general procesul de culegere, verificare, transmitere, stocare si prelucrare automata a datelor. Putem elabora astfel o alta definitie a sistemului informatic, ca fiind o parte componenta a sistemului informational, care asigura prelucrarea eficienta a datelor cu ajutorul echipamentelor de calcul. In ceea ce priveste raportul dintre sistemul informatic si sistemul informational, se poate aprecia ca sistemul informatic tinde a egala sfera de cuprindere a sistemului informational, in sensul ca noile tehnologii informationale si de comunicatii ofera suportul de culegere, prelucare si interpretare a informatiilor in format electronic, ramanand a se executa manual doar activitatile neformale.
Sistem informational neformalizat

Sistem informational formalizat Sistem informational asistat de calculator

Sistem informational manual

Sistem informational automatizat

Sistem informatic

Fig. 1.5. Relatia sistem informational - sistem informatic

Putem insa afirma ca in timp ce un sistem informational se naste si se dezvolta odata cu organizatia in care exista, un sistem (subsistem) informatic este realizat la un moment dat prin actiuni complexe, de reflexie si creatie. Din fig. 1.5 se observa ca informatizarea poate cuprinde obiectiv numai acele parti ale sistemului informational care sunt formalizabile, prin definirea unor functii de transformare a intrarilor in iesiri. Analizand resursele care sunt antrenate pentru obtinerea unui scop, putem defini sistemul informatic ca fiind un ansamblu tehnico-organizatoric de metode, procedee, echipamente de calcul si personal de specialitate, prin care se asigura culegerea, verificarea, transmiterea, stocarea si prelucrarea informatiilor in vederea fundamentarii si elaborarii deciziilor Dupa cum rezulta si din definitie, putem spune ca sistemul informatic este format din urmatoarele componente principale: - resursele materiale (hardware-ul) - totalitatea elementelor necesare pentru introducerea datelor, prelucrarea datelor, stocarea programelor si rezultatelor obtinute, comunicarea rezultatelor - resursele logice (software-ul) totalitatea programelor ce asigura functionarea si exploatarea controlata a sistemului: sistemele de operare, sisteme de gestionare a bazelor de date, programe utilitare, pachete de programe, software de aplicatii etc. - baza de date ansamblul datelor stocate in vederea prelucrarilor prin programele de aplicatii. - personalul intregul personal care intr-un fel sau altul folosesc sistemul informatic: specialisti (analisti de sistem, programatori, proiectanti de sisteme, ingineri de sistem, administratori baze de date, operatori) si nespecialisti (consultanti, utilizatori finali beneficiari ai serviciilor oferite de sistemele informatice etc.) - metodologiile principiile, proiectele si procedurile aplicate in sistemele informatice pentru a fi realizate sarcinile stabilite

Curs 2

1.4. Ciclul prelucrarii datelor intr-un sistem informatic Obiectivele sistemului informational urmaresc cresterea relativa a volumului datelor prelucrate, reducerea timpului de raspuns sau a nivelului cheltuielilor generate de sistemul informational. Cresterea relativa a volumului datelor prelucrate depinde direct de performatele tehnice ale echipamentelor de calcul si de metodele si procedeele utilizate. Performatele se masoara prin volumul maxim de date exprimat in caractere prelucrate un unitatea de timp. Costul sistemului informational este determinat de cheltuielile cu proiectarea sistemului, achizitionarea echipamentului, calificarea personalului si exploatarea curenta a sistemului. Sintetic, se poate spune ca un sistem informational eficient, trebuie sa aibe urmatoarele calitati: - sa fie flexibil, adica sa poata fi usor modificat la aparitia unor noi situatii - sa permita o vehiculare rapida a datelor la toate nivelele de conducere si executie - sa redea datele intr-un mod ierarhizat si rational, iar forma de prezentare sa fie accesibila si corespunzatoare Procesul de prelucrare a datelor intr-un sistem informatic, cuprinde cinci faze: a) culegerea (colectarea) datelor b) pregatirea datelor c) prelucrarea datelor d) intretinerea colectiilor de date (actualizarea bazei de date) e) obtinerea informatiilor de iesire a) Faza de culegere a datelor cuprinde doua activitati fundamentale: - observarea mediului care genereaza datele - inregistrarea datelor (prin scrierea lor din documentele sursa sau prin captarea lor sub diferite forme cu ajutorul unor echipamente speciale) Metodele de colectare a datelor pot fi grupate in directe (culegerea la sursa) si indirecte (culegerea traditionala a datelor). Metoda traditionala este o metoda costisitoare si succeptibila de numeroase erori si presupune realizarea unui numar mare de activitati, cele mai multe fiind realizate manual: inregistrarea datele pe documente (factura, bon de consum etc), cumuleze aceste documente pe loturi (de regula pe o luna de zile), transmiterea acestor loturi de documente personalului specializat in introducerea datelor pe calculator (operatori de date). Metodele de culegere a datelor la sursa isi propun automatizarea activitatii de colectare a datelor prin utilizarea echipamentele de citire a codurilor de bare, a scannerele de imagini si scanerele pentru recunoasterea optica a caracterelor (OCR). Aceasta metoda presupune existenta unei retele de calculatoare si dispunerea de terminale in diferite puncte din intreprindere (sectii, magazie, birouri), care sa permita culegerea datelor la locul producerii lor si transmiterea acestora in vederea unei prelucrari centralizate. b) Pregatirea datelor presupune executarea acelor operatii asupra datelor pentru a facilita prelucrarea ulterioara: - clasificarea datelor implica atribuirea de coduri de identificare (cod material, simbol cont, numar gestiune etc.) pentru ca datele sa poate fi incluse in submultimile corespunzatoare - gruparea datelor presupune acumularea intrarilor similare pentru a fi prelucrate unitar;

verificarea datelor cuprinde o mare varietate de proceduri privind controlul corectitudinii datelor (semnarea documentelor, datele sa fie complete etc.), inainte ca ele sa fie supuse procesului de prelucrare; sortarea datelor, prin care datele acumulate in loturi sunt ordonate dupa diverse criterii

c) Prelucrarea datelor, poate sa includa o varietate de activitati, cum sunt: - calcule matematice - compararea - supune unei examinari simultane doua sau mai multe tipuri de date intre care exista o logatura logica - sintetizarea presupune comasarea informatiilor - filtrarea, prin care se extrag datele ce vor fi supuse prelucrariloe urmatoare In functie de metoda de culegere a datelor folosite, pentru prelucrarea datelor din tranzactii putem avea : - prelucrarea pe loturi (batch processing) - datelor acumulate intr-o anumita perioada, sunt prelucrate la sfarsitul perioadei. Avantaje: utilizarea mai eficienta a resurselor informatice si un mai bun control asupra datelor. Dezavantaje: nu se poate obtine o informatie la zi despre activitatea intreprinderii, ca urmare a decalajului dintre timpul de culegere si de obtinere a informatiilor. Prelucrarea pe loturi este recomandata doar pentru acele aplicatii care nu necesita actualizarea bazei de date pe masura ce au loc tranzactii si atunci cand sunt solicitate rapoarte doar la intervale bine definite. - prelucrarea in timp real presupune prelucrarea datelor imediat dupa ce a avut loc o tranzactie.Daca dam ca exemplu tranzactiile cu materiale, un sistem bazat pe prelucrari in timp real preia datele privind o tranzactie (aprovizionare cu materiale) imediat ce aceasta are loc (primirea facturii de la furnizor), le prelucreaza si actualizeaza imediat stocul acelui material. In cazul in care conducerea solicita o informatie privind stocul unui material, ea poate fi furnizata imediat printr-o simpla consultare a bazei de date. Dezavantaje: necesitatea existentei a numeroase proceduri de control privind controlul continutului bazei de date, impotriva accesului neautorizat sau a distrugerii accidentale a datelor, lucru care inseamna implicit cheltuieli suplimentare. O comparatie intre cele doua tipuri de prelucrari este realizata in tabelul de mai jos: Caracteristica Prelucrarea datelor Prelucrarea pe loturi Datele tranzactionate sunt colectate, grupate, sortate, transcrise si apot prelucrate periodic Dupa prelucrarea lotului Prelucrarea in timp real Datele tranzactionate sunt prelucrate imediat ce ele au fost produse

Actualizarea fisierelor Timpul de raspuns

Dupa prelucrarea tranzactiei Mai multe ore sau zile, dupa ce Cateva secunde dupa lotul de date a fost prelucrat producerea tranzactiei

d) Faza de intretinere a colectiilor de date, presupune: - memorarea (stocarea) datelor - actualizarea datelor - indexarea datelor - protectia datelor De ex., o tranzactie de cumparare de materiale va fi memorata intr-o tabela de cumparari a bazei de date, iar pe baza acestei tabele va fi actualizata tabela de stocuri (incrementarea stocului cu

cantitatea cumparata) si tabela de furnizori (incrementarea datoriilor catre acesta, daca plata nu sa efectuat). e) Obtinerea informatiilor de iesire. Este ultima faza a ciclului de prelucrare a datelor si urmareste obtinerea si furnizarea informatiilor de iesire catre utilizatori. Informatiile de iesire pot fi regasite sub forma de documente, rapoarte sau raspunsuri la intrebari. Observatii: - unele date pot fi colectate, prelucrate si memorate simultan, fara sa mai parcurga alte operatiuni de iesire - anumite date externe, ajung direct la manageri fara sa mai fie supuse prelucrarii Daca in trecut sistemele informatice ale societatilor s-au dezvoltat in jurul unor necesitati legate in principal de gestiunea resurselor intreprinderii (Enterprise Resource Planner -ERP) planificarea productiei, gestiunea stocurilor si livrarilor, evidenta contabila si financiara, evidenta resurselor umane, astazi accentul se pune din ce in ce mai mult pe deschiderea acestor sisteme informatice pentru a e-interactiona cu mediul de afaceri inconjurator. Noile tehnologii informationale au schimbat si vor schimba structura locurilor de munc n societate; multe locuri de munc tradi ionale vor dispare, si vor fi nlocuite de ctre informatic i comunica ii electronice. Tehnologiile informationale si comunicatiile vor avea un impact major asupra organizatiilor prin prisma mutatiilor n ceea ce priveste noile forme de lucru si activitatile pe care acestea le pot genera. Trecerea la societatea informationala va imparti practic intreprinderile in organizatii moderne ("conectate" - care utilizeaza noile tehnologii) si organizatii traditionale. Succesul in afaceri implica in primul rand apel la tehnologia informatica si extinderea relatiilor de afaceri in afara limitelor teritoriului national. Astfel, o serie de companii au investit masiv pentru dezvoltarea unor sisteme si procese care sa permita integrarea operatiunilor proprii cu partenerii de afaceri si oferirea unor servicii mai bune clientilor finali. O alta distinctie intre organizatiile moderne si cele traditionale este cu privire la metodele de munca folosite. O organizatie moderna va solicita in primul rand OUTSOURCING-ul. Mai mult ea include utilizarea pe scara larga a Internetului, a retelelor de calculatoare si utilizarea pe scara larga a softwarelului colaborativ Groupware.

1.5. Tipuri de sisteme informatice Sistemele informatice se pot clasifica dupa mai multe criterii: 1. In functie de domeniul de utilizare: - SI pentru conducerea activitatilor economico-sociale. Specific acestor SI este faptul ca datele de intrare, de regula, sunt furnizate prin documente, iar datele de iesire sunt furnizate de catre sistem tot sub forma de documente, pentru interpretarea acestora de catre om - SI pentru conducerea proceselor tehnologice. Se caracterizeaza prin aceea ca datele de intrare sunt asigurate prin intermediul unor dispozitive automate care transmit sub forma de semnale (impulsuri electronice) informatii despre diversi parametrii ai procesului tehnologic (presiune , temperatura etc), iar datele de iesire se transmit sub forma de semnale unor organe de executie, regulatoare, care modifica automAt parametrii procesului tehnologic. Se executa in acest fel controlul si comanda automata a procesului tehnologic. - SI pentru cercetarea stiintifica si proiectare tehnologica. Asigura automatizarea calculelor tehnico-ingineresti, proiectarea asistata de calculator si alte facilitati necesare specialistilor din domeniile respective.
10

SI pentru activitati speciale. SI speciale sunt destinate unor domenii specifice de activitate ca de ex. : informarea si documentarea tehnico-stiintifica, medicina etc.

2. Din punctul de vedere al nivelului ierarhic ocupat de sistemul economic in cadrul societatii - SI pt. conducerea activitatii la nivelul unitatii economice. - SI pentru conducerea organizatiilor economico-sociale cu structura de grup - SI pt conducerea ramurilor, subramurilor si activitatilor la nivelul economiei nationale - SI functionale generale - au ca atribut principal faptul ca intereseaza totate ramurile si activitatile ce au loc in economia nationala (SI statistice, financiar-bancare etc) 3. Dupa modul de organizare a datelor - SI cu organizare in fisiere - SI cu organizare in baza de date 4. Din punct de vedere fizic (aria de cuprindere) - SI distribuite: - SI locale Din punct de vedere fizic integrarea se realizeaza printr-o retea de calculatoare care sa asigure distribuirea colectiilor de date memorate la unitatile ce sunt in relatii ierarhice, in vederea furnizarii necesarului de informatiii pentru fiecare dintre acestea. Arhitectura retelelor de calculatoare se stabileste in functie de specificul fiecarei unitati. Avantajele folosirii unui sistem informatic distribuit: - programele pot fi pastrate intr-o singura copie (pe server) si sunt folosite de oricare din utilizatorii retelei - bazele de date pot fi exploatate de mai multi utilizatori simultan - resursele hardware (imprimantele in special) pot fi exploatate simultan de mai multi utilizatori - posibilitati de comunicare si schimb de informatii intre utilizatori 5. Dupa tipul software-ului folosit in scrierea programelor, putem avea sisteme informatice in care aplicatiile au fost scrise in: - limbaje de nivel inalt (ex. Pascal, C++, Visual Basic etc) - limbaje orientate pe calcul tabelar (ex. Lotus, Quatro Pro, Excel etc) - limbaje orientate pe gestiunea bazelor de date (Dbase, Foxpro, Oracle, Informix etc) Un limbaj de programare este un sistem de conventii adoptate pentru realizarea unei comunicari intre programator si calculator. Un limbaj de nivel inalt manipuleaza concepte apropiate de limbajul natural, concepte de nivel logic, cum ar fi: colectie de date, nume de operatie (open, write etc). Cu ajutorul unui limbaj inalt, programatorul se face mai usor inteles de catre calculator. Uneori o singura linie de program scrisa cu un astfel de limbaj, poate echivala cu sute de linii de program scrise in limbaj masina. Limbajele orientate pe gestiunea bazelor de date presupun posibilitatea manipularii bazele de date cu mari dimensiuni prin intermediul conexiunilor logice stabilite. Avantajele folosirii unor astfel de limbaje: - nivel logic superior (corelatii, structuri 1:n) - prelucrari (regasiri) de date cu un inalt nivel de complexitate - nivel superior de portabilitate a datelor - partajarea datelor intre mai multi utilizatori - servicii de protectie a datelor

11

Alegerea de catre programator a limbajului de prelucrare a datelor este foarte importanta. Pe de o parte, odata ales un limbaj si incarcate bazele de date si construite aplicatiile ce efectueaza prelucrarea acestor date, trecerea la un alt sistem este extrem de dificila si implica un efort de programare suplimentar (pentru conversia datelor), pe langa efortul scrierii de la zero a aplicatiilor de prelucrare. Pe de alta parte, alegerea unui limbaj de programare neadecvat volumului de date ce urmeaza a fi prelucrate, poate sa conduca la obtinerea unor aplicatii cu un timp de raspuns la interogari ridicat. Un alt factor important la alegerea limbajului de programare se refera la prelucrarea distribuita sau locala a datelor. Nu toate limbajele au instructiuni privind prelucrarea datelor in retea. 6. dupa forma de coordonare a activitatilor de informatica: - sisteme informatice coordonate de componente informatice proprii (centre, statii, oficii de calcul) - sisteme informatice coordonate prin terti (outsourcing) 7. Din punct de vedere al complexitatii si al gradului de integrare: - SI autonome - specifice unei activitati economice (aplicatii pentru rezolvarea unui pachet omogen de lucrari) - sisteme partial integrate - sisteme total integrate - pentru gestionarea intregii activitatii a unei unitati economicosociale

1.6. Sistemul informational contabil al intreprinderii moderne Un studiu efectuat relata ca, intr-o unitate economica din totalul informatiilor, 80% sunt informatii economice, din care 47% sunt informatii contabile. Alte tipuri de informatii sunt: informatiile tehnice, care se refera la fluxurile fizice ale materialelor si resurselor necesare; informatii de personal; informatii de marketing.etc. Multe informatii dintr-o unitate economica se suprapun in mai mult decat una dintre aceste categorii. Pornind de la premisa ca sistemele informationale trebuie sa sprijine indeplinirea tuturor functiilor intreprinderii (marketing, resurse umane, productie, etc.), se pot identifca mai multe tipuri de sisteme informationale functionale. Potrivit criteriului functional, structura unui sistem informatic pentru conducerea unei unitati economice, poate arata astfel:
Subsistem de marketing
Sistem informatic

Subsistem financiarcontabil

Subsistem pt. productie

Subsistem de resurse umane Subsistem pt. activitatea comerciala

Fig.1.6. Structura functionala a unui sistem informatic la nivel de unitate economica

12

Un obiectiv important pentru firme il reprezinta integrarea acestor categorii de sisteme informationale. O asemenea integrare ofera posibilitatea partajarii resurselor informationale ale firmei (date, echipamente, software, resurse umane), determinand cresterea eficientei activitatii. Sistemul informational pentru activitatea comerciala urmareste in special furnizarea de informatii care sa permita realizarea unei aprovizionari ritmice cu materii prime si materiale, planificarea si promovarea vanzarilor . Activitatea comerciala, desfasurata in cadrul unor compartimente corespunzatoare, are in vedere elementele specifice fiecarei subactivitati, dupa cum urmeaza: Subactivitatea de aprovizionare tehnico-materiala propune rezolvarea urmatoarelor aspecte specifice: - Fundamentarea necesarului si comenzilor de aprovizionare - Contractarea necesarului de aprovizionat - Urmarirea derularii contractelor de aprovizionare, colectarea si inregistrarea datelor privind facturile primite de la furnizori, furnizarea diferitelor rapoarte privind activitatea de aprovizionare Subactivitatea de desfacere, presupune: - Preluarea si inregistrarea comenzilor primite de la clienti - Livrarea catre clienti a productiei contractate - Urmarirea ritmicitatii livrarilor in scopul onorarii contractelor incheiate, colectarea si inregistrarea datelor privindvanzarile, furnizarea de informatii necesare desfasurarii activitatii curente Sistemul informational pentru activitatea de marketing presupune: - Studierea caracteristicilor tehnico-economice, inclusiv a tehnicilor de comercializare a produselor concurente, furnizate de alte societati comerciale din tara sau strainatate - Studierea caracteristicilor specifice ale pietelor de desfacere in vederea realizarii relatiilor valutar-financiare si de distribuire a produselor proprii - Cooperarea cu alte societati comerciale din tara si strainatate in vederea promovarii produselor pe terte piete Sistemul informational pentru productie vizeaza ingineria asistata de claculator, proiectarea asistata de calculator, calculul si planificarea necesarului de materiale pentru productie, productia asistata de calculator . Sistemul informational pentru gestiunea resurselor umane presupune planificarea necesarului de personal, dezvcoltarea intregului potetial al angajatilor si controlul tuturor politicilor si programelor relative la personal, respectiv" - recrutarea, selectia si angajarea de personal - atribuirea sarcinilor de munca - intretinerea cartilor de munca si a altor documente - intocmirea documentelor de plata privind drepturile salariale - evaluarea randamentului personalului angajat - formarea si perfectionarea personalului Activitatea de contabilitate la nivelul unitatii economice se structureaza in doua componente: - Contabilitatea financiara (sintetica) concretizata in urmarirea existentului si miscarii elementelor patrimoniale (imobilizari stocuri, creante si datorii, mijloace finanicare, capital, fonduri, credite, cheltuieli si venituri) - Contabilitatea de gestiune (analitica) Intreaga activitate de contabilitate asigura: inregistrarea cronologica si sistematica a tuturor operatiilor economice
13

prelucrarea datelor in concordanta cu principiile si metodele contabilitatii sintetizarea intregii activitati financiar-contabile prin intermediul instrumentelor de baza ale contabilitatii (balanta si bilantul contabil).

Informatiile furnizate de contabilitate constituie fundamentul procesului decizional pe diferite nivele ierarhice. Nu intamplator informatizarea intreprinderilor a inceput cu contabilitatea. Sistemul informational contabil face parte din sistemul informational, fiind o componenta cu mare pondere. El poate fi definit ca fiind un set de resurse umane si de capital care se ocupa cu colectarea, procesarea, stocarea si accesarea si transmiterea datelor si informatiilor despre procesele contabile ce au loc organizatie. In cadrul sistemului informational contabil exista posibilitatea structrarii acestuia folsind diferite criterii. Un prim criteriu il reprezinta structurarea pe cele laturi specifice contabilitatii (dualismul contabil) respectiv: - susbsistemul contabilitatii de gestiune/manageriale - care ofera informatii contabile utilizatorilor interni - subsistemul contabilitatii financiare - care ofera informatii contabile utilizatorilor externi Informatia contabila este ceruta de sase mari categorii de utilizatori: - cumparatorii care sunt interesati sa cunoasca: pretul produselor, performantele lor; informatii despre situatia firmei (datorii, termene de plata etc.) - furnizorii, care livrand marfurile pe credit, sunt interesati sa cunoasca disponibilitatile de plata ale unitatii respective, situatia lor financiara - actionarii care urmaresc situatia economico-financiara a firmei in vederea incasarii de dividende - angajatii unitatii - vor sa cunoasca salariul mediu, ce parte din profit li se cuvine, alte informatii non-contabile - creditorii de cele mai multe ori bancile, nu numai ca se intereseaza dar si verifica majoritatea datelor contabile alte unitatii - organisnele guvernamentale, institutii de cercetare, de invatamant care de asemenea solicita date contabile Dupa criteriul circuitelor contabile putem spune ca SIC este compus din: - componenta cumparari-vanzari - componenta incasari-plati - componenta productie-stocuri-imobilizari - componenta operatii diverse Daca vom avea in vedere criteriul etapelor procesului de productie, atunci componentele SIC sunt: - aprovizionare - productie - stocuri - desfacere - terti - trezorerie Dupa natura elementelor patrimoniale, putem avea: - componenta capitaluri - componenta imobilizari - componenta stocuri - coponenta terti - componenta trezorerie
14

componenta venituri si cheltueili componenta extra-bilantiera

Circuitele contabile specifice operatiilor de exploatare In categoria operatiilor de exploatare sunt incluse cumpararile, vanzarile, tertii, inclusiv salariatii, veniturile si cheltuielile. In cadrul acestor operatii delimitam urmatoarele circuite contabile: 1. stocuri: achizitie, transfer, consum, obtinere, vanzare, operatii speciale 2. terti-furnizori: receptie, plati, compensari, transferari 3. terti-clienti: facturare, incasare, compensari, transferari 4. terti-personal si organisme speciale: inregistrari datorii, compensari, operatii speciale 5. terti-bugetul statului: inregistrari de datorii, compensari, plati, operatii speciale 6. alti terti: creare debit-creanta, compensari-regularizari, plati-incasari, operatii speciale 7. venituri si cheltuieli: conform operatiilor de mai sus si din activitatile de investitii sau finantare Circuitele contabile specifice operatiilor de investitii Circuitul investitional se refera la ansamlul de operatii ce privesc imobilizarile corporale, imobilizarile necorporale si cele financiare. In cadrul acestor circuite delimitam operatii ce privesc: - activele imobilizate - investitii, cedare, scoatere din folosinta, vanzare, transferuri - amortizarile si provizioanele aferente activelor imobilizate - constituire, diminuare, suplimentare, anulare. Circuitele contabile specifice operatiilor de finantare de finantare privesc in special structura capitalurilor intreprinderii prin prisma echilibrului dinrte capitalurile proprii si cele imprumutate, politica de dividende si deciziile de finantare. In aceste conditii trezoreria este afectata in mod direct de: - de aportul actionarilor - de datoriile financiare contractate Circuitele contabile avute in vedere se refera la: - capitalurile proprii: Capital, Rezerve, Subventii si Provizioane reglementate - datoriile financiare: Imprumuturi de la institutiile financiar-bancare (contractare, rambursare) si alte imprumuturi. Circuitele contabile specifice operatiilor de trezorerie Activitatile de exploatare, de investitii si cele financiare ce au loc in cadrul unei intreprinderi influenteaza direct nivelul trezoreriei, conducand la aparitia fluxurilor de intrare si de iesire de disponibilitati, care in final va schita fluxul de disponibilitati la nivel de intreprindere (cash-flow)

15

Curs 3

Capitolul 2. Metodologii de analiza si proiectare a sistemelor informatice


2.1. Metode de abordare a sistemelor informationale Exista mai multe metode de abordare privind realizarea sistemului informatic. In mod general, ele pot fi grupate astefel: - metode empirice, nefundamentate sistemic - metode sistemice, orientate spre sistem: - metoda descompunerii functionale - orientate spre functii - metode ale fluxurilor de date - orientate spre procese - metoda analizei informationale - orientate spre date, bazate pe diagramele entitaterelatie. - metode orientate-obiect Metodele sistemice - propuse si utilizate in anii 1980 - se bazeaza pe aplicarea teoriei sistemelor in analiza intreprinderii - sistemul informational/informatic este abordat prin prisma datelor si prelucrarilor, care sunt studiate si modelate independent si reunite cat mai tarziu cu putinta - acorda prioritate datelor fata de prelucrari a) Metoda descompunerii functionale (orientate-functii) presupune descompunerea fiecarei functii in subfunctii, pana cand se obtin forme usor de transpus in intructiunile limbajelor de programare. Conceptele au fost introduse mai intai in programarea structurata si apoi in proiectare, urmate de analiza. Dintre autorii remarcabili care au abordat descompunerea functionala enumeram pe: DeMarco, Yourdon, Constantine, Jakson, Warnier. b) Metoda fluxurilor de date (orientate-proces) are un mare grad de asemanare cu descompunerea functionala si este deseori descrisa ca analiza structurata. Prin aceasta metoda sunt definite cu claritate evenimentele din lumea reala la care sistemul trebuie sa raspunda si interactiunile dintre utilizator si sistem. De asemenea, sunt descrise incluse fluxurile datelor si transformarile la nivel inferior prin intermediul dictionarului de date, respectiv al specificatiilor de procese. Ex. Diagrama fluxurilor de date pentru vanzarea produselor foloseste liniile pentru reprezentarea fluxurilor de date si a cercurilor pentru procese.
PRODUSE
Date despre produse

Comenzi vanzare

Clienti

Prelucrare comenzi

Date vanzari

VANZARI
Fig 2.1. Diagrama fluxurilor de date pentru vanzarea

16

c) Metode orientate spre date presupune sa se identifice obiectele lumii reale si apoi descrierea lor cu ajutorul atributelor. Aceasta metoda are la baza modelarea datelor cu ajutorul diagramelor entitate-relatie (Peter Chen -1976). Metodele orientate obiect Metodele de analiza si proiectare orientate obiect au aparut dupa anul 1990 preluand cele mai bune idei ale programarii structurate pe care le-a combinat cu concepte noi. La 17 noiembrie 1997, OMG (Object Management Group - un consortiu american format din peste 800 de companii ce produc si distribuie aplicatii la orientate obiect) a hotarat unificarea celor mai utilizate si mai apreciate metode de analiza si proiectare, prin realizarea unui standard in domeniul construirii sistemelor software, respectiv a unui LIMBAJ DE MODELARE UNIFICAT - UML (Unified Modeling Language). Limbajul de modelare unificat (UML) utilizeaza simbolisitici grafice in simbioza cu adnotarile textuale care conduc la: - o intelegere mai rapida si completa a domeniului problemei - schimbarea instantanee a nivelului de abstractizare a prezentarii cu ajutorul instrumentelor - automatizarea activitatilor In cadrul metodelor orientate obiect, sistemul informatic este perceput ca o structura de obiecte autonome, ce se organizeaza si coopereaza intre ele. Un obiect este o abstractizare a datelor elementare si poate fi descris astfel: Obiect = Identitate + Comportament + Stare Datele si prelucrarile prin care este implementat comportamentul obiectului sunt incapsulate si sunt inaccesibile celorlate obiecte. De asemenea, fiecare obiect poate participa la compunerea altor obiecte mai complexe. Un obiect apartine unei clase, iar o clasa este o grupare logica a obiectelor care au aceeasi structura si un comportament similar. In incheiere, ii citam pe autorii James Martin si James Odell, care in lucrarea Object-Oriented Methods: A Foundation, spunea Exista multe metode de realizare a sistemelor, ele vor exista intotdeauna si trebuie sa existe intotdeauna. Diferite activitati pot avea caracterisitici diferite care sa necesite moduri diferite de abordare. Provocarea consta in selectia si integrarea acestor metode.

2.2. Modele ale ciclurilor de viata ale sistemelor informatice Mutatiile din domeniul tehnologiilor informationale si al metodelor de abordare s-au reflectat si in ciclul de viata al dezvoltarii sistemelor, fie prin schimbarea etapelor acestora, fie prin modificarea opticii de parcurgere a lor. Prin parcurgerea materialelor de specialitate, se poate constata ca numarul fazelor/etapelor variaza de la trei (ex. : analiza, proiectare, implementare) la peste douazeci, in functie de locul in care a fost studiata implementarea metodei respective, sau de gradul de detaliere abordat. Indiferent de numarul si numele etapelor ciclului de viata al dezvoltarii sistemelor, o problemea este mult mai importanta, si anume ordinea si felul in care se parcurg etapele respective, ceea ce in literatura de specialitate se trateaza sub numele de modele ale ciclului de viata al dezvoltarii sistemelor.

17

2.2.1. Modelul cascada Ciclul de via este prezentat ca o secven de faze intermediare cu obiective precise, toate concurand pentru atingerea obiectivului final i anume realizarea unui produs program eficient. Facilit ile acestui model sunt viabile n condi iile n care se au n vedere urmatoarele aspecte: - orice faz s fie ncheiat prin trecerea cu succes a unor verificri de sfrit. - produsele realizate ntr-o faz servesc ca punct de plecare ptr. dezvoltri ulterioare, calitatea i exactitatea lor fiind determinate . Schematic, acest model poate fi reprezentat ca in figura 2.2:
Studiul de fezabilitate

Validare
Analiza cerintelor planificareaValidare

Proiectarea de ansamblu

Verificare
Proiectarea de detaliu

Verificare
Elaborarea si testarea

Test unitar
Implementarea

Test de sistem
Exploatarea si intretinerea

Revalidare
Fig. 2.2. Modelul in cascada

2.2.2. Modelul V Este o varianta a modelului in cascada, prin care se introduc conceptele de sistem si componente (subsisteme), aplicandu-se teste explicite la un sistem ierarhic petntru cresterea controlului asupra modului in care se desfasoara etapele.

18

Fig. 2.3. Modelul V

2.2.3. Modelul incremental Este o alta forma a celui in cascada. Definirea cerintelor si analiza se efectueaza la nivelul intregului sistem, dupa care se efectueaza descompunerea proiectului in subproiecte, ele fiind urmarite pe activitati, care vor concura la obtinerea componentelor necesare sistemului final.

Fig. 2.4. Modelul incremental

2.2.4. Modelul in spirala

Fig. 2.5. Modelul in spirala

19

Dupa descrierea principalelor modele ale ciclului de viata al dezvoltarii sistemelor, se pot trage anumite concluzii, dupa cum urmeaza: - modelele sunt diferite, in functie de tehnologiile folosite in procesul de realziare a sistemelor, saltul considerabil inregistrandu-se in mediile orientate-obiect - modelele depind de marimea proiectelor, dar si domeniilor carora le apartin sistemele - diferentele dintre modele constau , indeosebi, in modul de parcurgere a etapelor, ca ordine, dar si in ceea ce priveste modalitatea de abordare a sistemului (in intregime sai pe parti componente) - in selectarea modelului un rol important il are echipa ce efectueaza aceasta operatiune, referindu-ne la experienta ei de lucru cu diverse modele - complexitatea sistemului se va reflectam in mare masura, in tipul modelului selectat Aplicarea in practica a acestor modele se face in functie de particularitatile sistemului informatic ce urmeaza a fi proiectat si de conditiile concrete de realizare, in asa fel incat avantajele obtinute sa conduca cu cheltuieli cat mai reduse si in timp cat mai scurt la obtinerea unor sisteme corespunzatoare calitativ. 2.3. Etapele de realizare a sistemelor informatice Proiectarea sistemelor informatice de gestiune contabila se realizeaza separat pentru fiecare unitate economica, in functie de particularitatile sistemelor de conducere, operational si informational ale fiecarei organizatii. Structurarea procesului de proiectare si realizarea se face din considerente practice legate de complexitatea si diversitatea activitatilor si operatiilor implicate. Se realizeaza astfel o succesiune bine definita de etape si faze care reprezinta stadii succesive de dezvoltare a sistemului informatic. In opinia celor mai multi autori, metodologia de proiectare si realizare a sistemelor informatice se desfasoara prin parcurgerea urmatoarelor etape: 1. identificarea cerintelor si a fezabilitatii sistemului: - determinarea a ceea ce nu functioneaza in vechiul sistem si identificarea obiectivelor noului sistem - analize de prefezabilitate tehnica, operationala, economica, juridica si a programarii in timp - stabilirea comitetului coordonator a proiectului noului sistem si a echipei de proiectare 2. analiza de sistemului informational existent - studierea si documentarea sistemului curent si depistarea problemelor cu care se confrunta - colectarea informatiilor despre cerintele noului sistem - integrarea cerintelor si realizarea unui model al noului sistem 3. proiectarea conceptuala (de ansamblu) a sistemului - realizarea modelului conceptual al noului sistem - luarea deciziei asupra modului de realizare a softului de aplicatii - descrierea detaliata a noului sistem 4. proiectarea de detaliu a noului sistem - proiectarea formularealor si a rapoartelor - proiectarea interfetelor si a dialogurilor - proiectarea bazelor de date 5. elaborarea si testarea programelor - construirea unei versiuni operationale a sistemului 6. implementarea sistemului - conversia de la vechiul sistem la noul sistem - instruirea utilizatorilor pentru exploatarea noului sistem - test final pentru acceptarea noului sistem 7. exploatareasi intretinerea noului sistem informatic
20

punerea in functiune a noului sistem evaluarea performantelor noului sistem si a modului de satisfacere a ceintelor inregistrarea tuturor modificarilor aparute in sistem

2.4. Principii de baza in proiectarea si realizarea sistemelor informatice Proiectarea si realizarea sistemelor informatice are la baza urmatoarelor principii generale: 1. fundamentarea realizarii sistemelor informatice pe criterii de eficienta economica. Acest principiu presupune: - evaluarea cheltuielilor necesare pentru conceperea, realizarea, implementarea si exploatarea curenta a sistemelor informatice - compararea cheltuielilor cu efectele economice directe si indirecte obtinute in urma implementarii 2. participarea nemijlocita a beneficiarului la conceperea si realizarea sistemului, presupune: - adoptarea si transpunerea in practica de catre beneficiar a tuturor masurilor cu caracter organizatoric necesar desfasurarii proiectarii si introducerii in exploatare a sistemului - participarea beneficiarului cu specialistii proprii la elaborarea conceptiei si realizarii efective a sistemului informatic - definirea obiectivelor si performantelor viitorului sistem - definirea cerintelor informationale la care urmeaza sa raspunda sistemul - stabilirea si mobilizarea resurselor umane si financiare pentru realizarea sistemului - pregatirea personalului din compartimentele functionale pentru angajarea in activitatea de informatica 3. asigurarea calitatii solutiei adoptate, presupune: - aplicarea celor mai eficiente metode si tehnici de proiectare - specificarea unor caracteristici de calitate care sa fie validate si controlate pe parcursul realizarii sistemului 4. adoptarea de solutii in concordanta cu resursele disponibile, presupune: - corelarea permanenta a proiectarii SI si caracteristicile echipamentelor de tehnica de calcul existente sau prevazute a intra in dotare - integrarea si valorificarea cat mai completa a echipamentelor de calcul de diverse tipuri existente deja in dotarea beneficiarului.

21

Curs 4

Capitolul 3. Analizele de fezabilitate in realizarea sistemelor informatice


Analizele de fezabilitate au rolul de a asigura informatiile obiective necesare pentru a cunoaste daca un proiect de realizare a unui sistem informational poate fi demarat sau nu, sau daca un proiect deja inceput mai poate fi continuat. Proportiile si durate studiilor de fezabilitate variaza, in functie de marimea si natura sistemului de implementat. Echipele de studiu trebuie sa includa in structura lor reprezentanti ai conducerii, ai echipelor de control intern, specialisti, reprezentanti ai utilizatorilor finali. Unul dintre membrii echipei va fi manager de proiect, care raspunde de : - elaborarea unor studii de fezabilitatev generala - elaborarea planurilor detaliate ale proiectelor - gasirea celor mai buni membri ai echipei proiectului. Studiile de fezabilitate trebuie sa aiba la baza o documentatie, ce va contine : - definirea problemei (o scurta descriere a proiectului si explicarea a ceea ce-si propune el sa realizeze) - descrierea cerintelor sistemului - descrierea solutiilor sistemului propus - cuantificarea tuturor costurilor materiale si beneficiilor aferente - o lista a costurilor si beneficiilor necuantificabile 3.1. Tipuri de analize de fezabilitate 1. Fezabilitatea tehnica. Trebuie sa raspunda la urmatoarele intrebari fundamentale: - poate fi elaborat si implementat sistemul planificat in organizatia respectiva folosind tehnologia existenta ? - ofera unitatea conditii persoanelor care vor proiecta, implementa si exploata sistemul propus ? 2. Fezabilitatea economica - justifica sistemul propus timpul, banii, alte resurse si costurile necesare pentru a fi implementat ? - are unitatea fondurile necesare pentru elaborarea si implementarea sistemului ? 3. Fezabilitatea exploatarii - este posibil ca noul sistem sa fie utilizat de catre persoanele carora le este adresat ? Noul sistem informatic poate sa conduca atat la schimbari formale cat si neformale. Schimbarile formale pot afecta granitele compartimentelor si relatiilor de lucru dintre executanti si personalul de conducere. Schimbarile neformale au o mare importanta deoarece: fiecare sistem nou sau transformare a altuia existent are rolul de a-l imbunatati si firesc de a-l face mai eficient. Cei afectati insa nu pot vedea schimbarea in acelasi fel. O persoana va vedea schimbarea ca buna sau rea, in functie de modul cum ea este afectata. Factorii de conducere, de exemplu, vad in schimbare ceva pozitiv, daca se concretizeaza in cresterea profitului sau a realizarilor sau daca se reduc costurile, in timp ce un angajat poate sa vada aceeasi schimbare ca fiind rea, daca este desfiintat postul sau sau daca are o influenta nefasta. 4. Fezabilitatea legalitatii urmareste sa se determine daca se pot inregistra conflicte intre sistemul propus si posibilitatea organizatiei de a nu avea anumite conflicte fata de obligatiile
22

legale. De asemenea, sistemul trebuie sa respecte toate statutele, deciziile, regulamentele, legile si alte acte normative si juridice. 5. Fezabilitatea programarii, raspunde la urmatoarea intrebare : - poate fi proiectat si implementat sistemul in timpul alocat ?

3.2. Fezabilitatea economica Determinarea fezabilitatii economice presupune estimarea cu mare atentie a costurilor si beneficiilor sistemului propus.. Cheltuielile spre deosebire de beneficii pot fi stabilite cu mai multa usurinta. In rezumat, cheltuielile initiale si cele de exploatare au urmatoarea structura : ECHIPAMENTE - calculatoare si echipamente periferice - echipamente pentru comunicatii (retele, modem-uri, linii telefonice, accesorii speciale) - upgrade hard disk-uri, memorii etc. SOFTWARE - costul achizitionarii soft-ului de aplicatii - sisteme de operare - utilitare - sisteme de gestiune a bazelor de date - procesoare de texte etc DOCUMENTATIE - documentatie despre sistemele utilizate - documentaita programelor - documentatia utilizatorilor PERSONAL - recrutarea si intruirea personalului specializat in calculatoare: operatori calculatoare, analisti de sistem si programatori etc - consultanta PREGATIREA LOCURILOR DE MUNCA - spatii aditionale (sala serverului etc.) - aer conditionat, controlul umiditatii si prafului, protectii impotriva focului si a apei - securitatea fizica (accesul in sistem) - birouri pentru analisti, programatori, controlori etc) - mobilier si alte instalatii fixe - instalatii de iluminat CHELTUIELI DE INSTALARE - taxe de transport aprovizionare - fixarea si legarea echipamentelor periferice - rearanjarea mobilierului si a celorlate echipamente existente CONVERSIA - testarea sistemului - conversia fisierelor si a datelor - exploatari paralele - instruiri FURNITURI DE BIROU - proiectarea si modificarea formularelor - formulare preimprimate - materiale pentru stocarea datelor (diskete, benzi magnetice etc) - alte furnituri specifice (hartie autocopiativa, etc) INTRETINERE/SIGURANTA

23

- intretinere hard/soft - copii de siguranta si pastrarea lor - instalatii de putere suplimentare, inclusiv UPS uri FINANCIAR - taxe legale - asigurari - taxe de consultanta

Beneficiile generate de instalarea noului sistem pot fi clasificate ca beneficii cuantificabile si necuantificabile. Dintre beneficiile aduse de un nou sistem amintim : - economii aduse de reducerea numarului personalului - cresterea capitalului circulant prin reducerea stocurilor si a soldurilor clientilor, prin facturari mai rapide si printr-o prognoza a incasarilor si platilor cat mai corecta - costuri de exploatare mai mici - cresterea productivitatii muncii - servicii mai bune prestate clientilor - imbunatatirea procesului de luare a deciziei - un control mai bun - cresterea performatelor de prelucrare si imbunatatirea conditiilor de lucru ale angajatilor

3.3. Tehnici de reprezentare si programare calendarisitica a planurilor 3.3.1. Diagramele Gantt Diagramele Gantt reprezinta o modalitate de reprezentare grafica a proiectului. Ca reprezentare grafica se folosesc barelor orizontale prin care sunr prezentate activitatile planificate. Lungimea barelor este proportionala cu timpul alocat activitatilor reprezentate. De asemenea, se pot folosi diferite culori pentru a scoate in relief anumite activitati. Diagramele Gantt nu indica ordinea activitatilor, ci indica data inceperii si cea a finalizarii acestora. Aceasta tehnica este recomandata pentru descrierea proiectelor simple sau a unor subcomponente ale proiectelor mari, si pentru monitorizarea modului in care se efectueaza activitatile in comparatie cu cele planificate. GESTIUNEA STOCURILOR Ian. 2004 Feb. Martie Aprilie 2004 2004 2004

Nr. crt. 1. 2. 3. 4. 5. 6. 7. 8.

Nume activitate Colectarea cerintelor Proiectare ecrane Proiectare rapoarte Proeictare baze de date Documnetatie utilizator Programare Testare Instalare

Mai 2004

Iunie 2004

24

3.3.2. Diagramele PERT Diagramele PERT (Program Evaluation Review Techique) sunt o modalitate de reprezentare grafica a activitatilor unui proiect si a relatiilor dintre ele. Caracterstica esentiala a acestui tip de diagrama este fapul ca scoate in relief ordinea in care se executa activitatile, prin prezentarea predecesorilor si succesorilor. Astfel, secventele de activitati ale unui proiect sunt prezentate sub forma unei retea de sageti si noduri. Sagetile reprezinta sarcinile sau activitatile care presupun anumite resurse si un anumit timp de executie. Nodurile retelei simbolizeaza evenimentele sau reperele proiectului, reprezentand indeplinirea uneia sau mai multor activitati si/sau initierea uneia sau mai multora activitati in continuare. Unul din primele aspecte ale tehnicii PERT consta in analiza retelei prin prisma timpilor necesari fiecarei activitati si ai proiectului in intregime. Primul pas in aplicarea diagramelor PERT consta in determinarea tuturor actiunilor persoanelor din proiect, dupa care se stabilesc relatiile de precedenta dintre actiuni. Aceasta inseamna ca, daca actiunea A este urmata de B, atunci intai trebuie sa demareze actiunea A si dupa terminarea ei se continua cu B. Unele actiuni pot avea mai multi predecesori si nu pot incepe pana nu au fost realizate toate actiunile anterioare. Pentru fiecare activitate se estimeaza timpul de realizare in ore, zile, saptamani sau luni. Dupa ce au fost determinate toate activitatile si relatiile de precedenta, poate fi schitata reteaua PERT. Dupa aceasta, se continua cu determinarea drumului critic al retelei calea activitatilor de la evenimentul de inceput pana la cel de sfarsit care ar necesita volumul maxim de timp consumat. Orice intarziere in executia unei actiuni este critica intrucat se reflecta imediat asupra intregului proiect.

Nr. crt. 1. 2. 3. 4. 5. 6. 7. 8.

Denumire activitate Colectarea cerintelor Proiectare ecrane Proiectare rapoarte Proiectare baze de date Documentatie utilizator Programare Testare Instalare

Durat a 3,5 sapt 6 sapt 6 sapt 3 sapt 5 sapt 5 sapt 3 sapt 1 sapt

Start planificat 05/01/200 4 01/02/200 4 01/02/200 4 16/03/200 4 08/04/200 4 08/04/200 4 16/05/200 4 08/06/200 4

Sfarsit planificat 31/01/2004 15/03/2004 15/03/2004 07/04/2004 15/05/2004 15/05/2004 07/06/2004 15/06/2004

Predeces ori 0 1 1 2,3 4 4 6 5,7

25

Documentatie utilizator 5 08/04/2004 5 sapt 15/05/2004 8

Instalare

Proiectare ecrane 2 01/02/2004 6 sapt 15/03/2004 4

Proiectare baze de date 3 sapt 07/04/2004

1 sapt 15/06/2002

08/06/2004

16/03/2004

Programare Colectarea cerintelor 1 05/01/2003 3,5 sapt 31/01/2003

Testare

6 08/04/2004

5 sapt 15/05/2004

7 16/05/2004

3 sapt 07/06/2004

Proiectare rapoarte 3 01/02/2004 6 sapt 15/03/2004

Fig. 3.1. Diagrama PERT

Utilizarea diagramelor PERT sau Gantt este preferata in functie de aspectele urmarite : - Gantt vizualizeaza durata activitatilor, PERT vizualizeaza dependenta unor activitati de altele - Gantt evidentiaza suprapunerea unor activitati in timp, PERT nu, dar poate sa prezinte in paralel activitatile respective - Unele forme ale diagramei Gantt vizualizeaza si diferenta de timp in cazul celui mai timpuriu start sau al celui mai intarziat final. Diagramele PERT indica elementele respective doar prin mentionarea datelor in interiorul dreptunghiurilor.

3.4. Elaborarea si selectarea variantelor de realizare a sistemelor informatice Parcurgerea etapei de analiza a sistemului a presupus urmatoarele faze: - determinarea cerintelor - structurarea cerintelor - elaborarea si selectarea variantelor de realizare a sistemelor informatice Elaborarea si selectarea variantelor de realizare a SI presupune: - elaborarea mai multor variante in functie de cerintele urmarite, de la cea mai modesta forma pana la cea mai performanta - prezentarea solutiilor potentiale de implementare (hard si soft) ce ar putea fi folosite pentru asigurarea performantelor dorite - propuneri privind resursele materiale si financiare necesare acestor obtinerii configuratii Se recomanda elaborarea unui numar de trei variante, pentru a surprinde un spectru posibil de solutii, respectiv cele doua extremitati si varianta de mijloc. Varianta 1 reprezinta partea de jos a spectrului si poate fi caracterizata astfel: - este cea mai conservatoare in ceea ce priveste costurile, efortul depus si tehnologiile implicate - ofera tot ceea ce a solicitat utilizatorul, printr-un sistem care difera foarte putin de cel existent Varianta 2, de la celalalt capat al spectrului, se poate caracteriza prin:

26

orientarea spre functionalitate costurile nu constituie problema cea mai importanta se ofera cele mai performante sisteme, bazate pe cele mai avansate tehnologii

Varianta 3, varianta de mijloc este varianta de compromis. La elaborarea variantelor trebuie sa se analizeze: - daca sistemul va fi realizat cu forte proprii - criteriile de selectare a software-ului si harware-ului - modurile de implementare a sistemului informatic - limitele organizatiei 3.5. Modalitati de obtinere a software-ului Softul necesar sistemului poate fi obtinut pe urmatoarele cai: - cu forte proprii - la comanda - la cheie - la cheie modificat a) Softul realizat cu forte proprii Se poate apela la aceasta varianta in cazul in care: - beneficiarii sistemului informatic sunt in faza incipienta a utilizarii calculatoarelor - nu exista pe piata programe care sa satisfaca cerintele dorite. - activitatile desfasurate sunt atat de complexe incat singura modalitate de a satisface cerintele o constituie elaborarea propriului soft de aplicatii. Avantaje: - aplicatiile pot fi concepute a.i. sa raspunda exact cerintelor unitatii - unitatea poate functiona conform solutiei dorite si nu cum este prezentata prin pachetele la cheie - pachetele proprii sunt mult mai compatibile cu alte softu-ri existente in unitate, si deci integrarea poate fi usor realizata - loialitatea angajatilor fata de propriul sistem este mult sporita Dezavantaje: - munca de elaborare este foarte mare si costisitoare - elobararea aplicatiilor dureaza mult timp (luni sau ani de zile) - posibilitatea de a esua, la primele incercari de utilizare, este mai mare - solicita costuri deosebite, timp si control exigent b) Softul realizat la comanda Presupune procurarea softului prin angajarea din afara unitatii a unor programatori sau a unei companii de soft, pentru elaborarea unui pachet-program de aplicatii. Aceasta varianta se caracterizeaza prin: - softul elaborat poate sa utilizeze si componente din programele deja existente la client, prin adaptarea, completarea si combinarea lor - realizatorul softului trebuie sa inteleaga in profunzime modul cum lucreaza unitatea, calitatea analizei sistemului jucand un rol important in performantele softului realizat - aceasta varianta presupune incheierea unui contract care sa consemneze responsabilitatea contractantului de a rezolva cerintele utilizatorului in cazul in care n-au fost onorate clauzele contractuale.
27

c) Softul la cheie Softul la cheie realizat de catre companii specializate de software, este vandut pe piata pentru o mare diversitate de utilizatori cu cerinte similare. Unii producatori de soft combina softul cu hardul si la vand ca pachete. Aceasta combinatie este numita si sistem la cheie Producerea softului la comanda presupune o munca anevoioasa si de aceea scumpa. Ca urmare, tot mai multe organizatii se indreapta spre pachetele la cheie, care sunt mai putin costisitoare pe de o parte , iar pe de alta parte s-a ajuns la concluzia ca nu este cazul sa se reinventeze roata, scriind programe care deja se comercializeaza pe piata. Odata cu trecerea timpului, apar pachete-program tot mai performante, raspunzand cerintelor unitatilor, ca si cand ele ar fi elaborate cu forte proprii. Avantaje: - costul este mult mai redus fata de celelalte variante, deoarece costul elaborarii si intretinerii se imparte la numerosi utilizatori - practic nu exista timp de asteptare pana la utilizarea lui - cumparatorul minimizeaza riscul prin testarea softului inainte, si prin chestionarea altor utilizatori ai aceluiasi pachet - utilizatorul poate sa aleaga pachetul care se raspunda cel mai bine propriilor cerinte - documentatia lor este mai buna - unitatea nu are nevoie de prea multi analisti sau programatori, sau chiar nu este nevoie de ei pentru a intretine softul. Dezavantaje - cerintele firmei nu opt sa se regaseasca perfect in ceea ce ofera pachetul-program, fiind necesare schimbari in modul de lucru sau chair revizuirea stilului de afaceri a unitatii - evaluarea pachetelor disponibile pe piata inseamna consum de timp si bani - programele ultrageneralizate nu sunt la fel de eficiente ca programele proprii ale unitatii - nu ofera posibilitatea specialistilor unitatii sa intervina in caz de esec - exista riscul ca realizatorul softului sa dea faliment sau sa nu mai fie de gasit si astfel sa nu se mai poate efectua actualizarea. d) Modificarea softului la cheie Modificarile pot fi facute de catre cel care a livrat softul si este considerata o cale foarte eficienta de a satisface cerintele utilizatorilor. Avantaje: - Raspunde mai bine cerintelor unitatii decat softul la cheie - Unitatea poate lucra conform stilului pe care si-l doreste si nu cum se impune prin programul la cheie - Pot fi mai ieftine si solicita mai putin timp decat softul realizat cu forte proprii Dezavantaje: - nu de putine ori modificarea programelor este mai dificila decat scrierea lor initiala - multi furnizori nu accepta modificarea programelor lor - documentatia despre schimbari poate di incompleta sau inexistenta - modificarile substantiale pot fi la fel de scumpe ca si programele scrise de client - modificarile pot genera erori logice de control si alte efecte neasteptate Care metoda este mai buna ? Datorita situatiilor si conditiilor diferite, nu exista o cale anume, catalogata ca fiind cea mai buna. Fiecare situatie trebuie luata in calcul separat.
28

De regula, softul la cheie tinde sa fie cea mai buna solutie, cand el raspunde exigentelor unitatii sau cand el poate fi usor modificat. Odata cu cresterea marimii si complexitatii sistemului sau a cerintelor lui, softul la cheie are slabe sperante de a fi achizitionat. Multi specialisti considera ca, daca softul la cheie nu poate fi realizat cu forte proprii, varianta apelarii la persoane din afara pentru a-l scrie este mult mai scumpa decat softul la cheie. Concluzie: solutia trebuie sa vina de la fiecare unitate, dupa ce-si evalueaza propriile cerinte, prin analiza, si dupa ce cunoaste softul existent pe piata.

3.6. Selectarea furnizorilor de harware si software Dupa tipul serviciilor si bunurilor oferite, furnizorii pot fi grupati in: - producatori de calculatoare - producatori de echipamente periferice - companii pentru inchirierea calculatoarelor sau oferirea lor in sistem leasing - furnizorii de sisteme la cheie procura echipamente de la producatori si le revand in combinatie cu softul de aplicatie adecvat - furnizorii de software elaboreaza si vand aplicatii, programe de uz general, utilitare, SGBD-uri si alte tipuri de programe pentru toate tipurile de calculatoare - furnizori de echipamente si furnituri de birou - birourile de servicii acele firme care asigura servicii de prelucrare a datelor cu propriile echipamente contra unor tarife. Serviciile sunt mai ieftine decat daca s-ar apela la propriile calculatoare, insa securitatea datelor nu mai este la fel de bine asigurata. a) Selectarea hardware-ului Raspunsul la intrebarea ce tip de calculator trebuie sa achizitionam ? ar fi acel calculator care sa satisfaca toate cerintele si care sa ofere, cu un cost redus, siguranta in functionare, precum si servicii cat mai bune si diversificate. Progrsul tehnologic atat de rapid in acest domeniu, faca ca un sistem cumparat astazi sa devina depasit peste doi sau cinci ani. Cele mai comune criterii de selectarea a unui sistem de calcul pot fi: - cost - capacitatea de a lucra cu softul dorit - viteza de prelucrare a microprocesorului - capacitatea de memorarea si posibilitatea de extensie - facilitatile de intrare/iesire - capacitatea de interconectare - compatibilitatea cu alte sisteme - intretinere usoara - garantia sistemului In cererea de oferta catre furnizori, unitatea trebuie sa precizeze: - principalele echipamente si aplicatii existente in firma - cerintele de securitate si protectie - specificatii privind hardul si softul necesar si care ai fi dorite - programul de realizare a implementarii - restrictii de costuri - cresterea economica proiectata si eventualele schimbari

29

b) Evaluarea ofertelor si selectarea sistemului La evaluarea ofertelor primite de la furnizori, unitatea trebuie sa aiba in vedere aspectele din studiile de fezabilitate si cerintele sistemului. 0 Pentru evaluarea sistemului (pachetului) trebuie sa se urmareasca urmatoarele probleme? - pachetul selectat raspunde specificatiilor obligatorii din cerere ? - sistemul va putea fi folosit pe toata durata lui de utilizare ? va avea nevoie de modificari ? - ati utilizatori au fost multumiti de sistem ? Ce probleme au avut, ce limite au observat la el? - Softul este compatibil cu ceea ce exista in unitate ? - Pachetul este prietenos utilizatorului ? - Cat de lunga este garantia si care sunt conditiile de garantare ? - Cat de eficient este softul ? Cat timp ia in executie ? De cata memorie principala si secundara ar fi nevoie ? - Softul este modularizat, flexibil si usor de intretinut ? La evaluarea furnizorului se vor avea in vedere urmatoarele criterii: - este un furnizor cu multa experienta si este bine consolidat pe piata ? Mai are sistme asemanatoare instalate la alte firme? - Are o reputatie pentru siguranta sistemelor oferite ? - Poate asigura furnizorul hardul, softul si intretinerea ? - Care este situatia financiara a furnizorului - Ofera incredere calitatea personalului furnizorului, prin experienta lui ? - Asigura instruirea necesara ? - Cat de puternic va fi sprijinul ulterior si cat de eficient ?

3.7. Continutul planului de baza al proiectului Dupa parcurgerea activitatilor mentionate anterior, finalizate prin cea mai importanta dintre ele, respectiv, selectia variantei ce urmeaza a fi impementate, se elaboreaza planul de baza al proiectului, care va avea urmatoarea structura: 1. Prezentarea generala a proiectului Se ofera o prezentare sintetica a proiectului, din care sa rezulte aria de intindere a proiectului, justificarea lui, necesarul de resurse si planificarea calendaristica. 2. Descrierea sistemului a) descrierea sistemului existent b) variantele o sumara descriere a variantelor de configuratie a sistemului c) descrierea configuratiei selectate si prezentarea detaliata a datelor de intrare, a activitatilor executate, a situatiilor de iesire 3. Studiile de fezabilitate a) analizele economice se ofera o justificare economica a sistemului, prin analizele cost beneficiu b) analizele tehnice c) analizele operationale - modul in care vor fi rezolvate problemele unitatii d) analiza desfasurarii calendaristice variante ale planificarii calendaristice in stransa concordatna cu modul de alocare a resurselor 4. Probleme ale managementului a) prezentarea rolurilor membrilor echipei in cadrul proiectului b) planul comunicarii detalii privind procedurile de comunicare dintre conducerea unitatii si echipa de proiectare

30

Curs 5

Capitolul 4. Analiza sistemului informational existent


4.1. Tehnici de culegere a datelor Analiza sistemului informational existent are scopul de a efectua un studiu complex asupra activitatilor si fluxurilor informationale, a volumului de informatii prelucrate, a ariei de cuprindere a sistemului informational, in vederea stabilirii cerintelor generale ce vor fi asigurate prin intermediul noului sistem informatic. In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc). - din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc. In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni. Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator.

31

Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex. Inventarierea documentelor utilizate in sistemul informational contabil consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem. Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat. In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc). - din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc. In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai

32

obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni. Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator. Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex. Inventarierea documentelor utilizate in sistemul informational contabil consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem. Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat. 4.2. Studiul sistemului informational existent Studiul sistemului informational existent presupune o cunoastere detaliata a : a) structurii organizatorice a unitatii b) activitatilor si mijloacelor de calcul folosite c) fluxului informational rezultat d) determinarea volumului de date din sistemului informational e) identificarea cheltuielilor de functionare a sistemului informational existent a) Studiul structurii organizatorice vizeaza urmatoarele aspecte: cunoasterea obiectivelor activitatii de baza descrierea operatiilor tehnologice, a fluxului de productie determinarea modului de ierarhizare a sectoarelor de productie si a compartimentelor functionale referiri la forma de contabilitate, metode de evidetierea valorilor materiale si cea de calculatie a costurilor

Fiecare compartiment si post din organigrama este privit sub aspectul legalitatii si oportunitatii, al sarcinilor ce-I revin, al functiilor si numarului de personal incadrat, a posibilitatilor de perfectionare a organizarii si functionarii, avand in vedere avantajele prelucrarii automate a datelor. b) Studiul activitatilor si a dotarii cu tehnica de calcul vizeaza: natura si specificul activitatilor desfasurate documentele utilizate in cadrul fiecarei activitati si compartimentele functionale implicate dotarea cu tehnica de calcul si gradul de utilizare a acesteia
33

Studierea documentelor utilizate in unitate are in vedere determinarea informatiilor privitoare la: felul documentelor utilizate frecventa si termenul intocmirii temeiul legal al emiterii acestora numarul de exemplare utilizate pentru fiecare document stabilirea fluxului informational al fiecarui document daca documentul este sub forma tipizata sau nu ce decizii se iau be baza datelor din document care sunt informatiile din documentele existente care raman nevalorificate ce echipamente de calcul sunt folosite pentru intocmirea fieacarui document determinarea gradului de incarcare a compartimentului cu documente

Analiza are menirea sa puna in evidenta gradul de automatizare a executarii lucrarilor sistemului informational contabil, limitele mijloacelor de calcul folosite si posibilitatile de integrare a acestora in sistemele de calcul mult mai evoluate. c) Studiul fluxurilor informationale are ca obiective: sa stabilieasca activitatile in detaliu si circulatia privind fiecare fel de document si exemplar, de la aparitia (emiterea) lui pana la arhivare sa stabileasca compartimentele implicate in emiterea documentelor, prelucrarea datelor si valorificarea rezultatelor prelucrarii datelor prezentarea intr-o forma grafica cat mai sugestiva, uzand de semne conventionale, a prelucrarilor la care sunt supuse datele din documente in cadrul compartimentelor unde circula identificarea deficientelor de circulatie a documentelor (fluxuri informationale paralele, inutile, stationari prelungite in cadrul compartimentelor), pentru a fi eliminate din sistemul informational determinarea gradului de utilizare a documentelor tipizate verificarea oportunitatii datelor din documentele utilizate, in scopul precizarii datelor neutilizate, nevalorificate in totalitate sau neincluse in continutul documentelor determinarea gradului de incarcare si solicitare a fiecarui compartiment implicat in cadrul functionarii intregului sistem integrarea sistemului informational specific cu alte sisteme informationale externe

d) Studiul volumului datelor in sistemul informational contabil Informatiile pentru stabilirea volumului de date din sistemul informational contabil se culeg odata cu studiul documentelor si al circulatiei acestora. Analiza volumului datelor se realizeaza prin intocmirea unui tabel cuprinzand elementele cantitative de date despre fiecare document cum ar fi: - denumirea documentului - frecventa intocmirii - nr. maxim si mediu de documente intocmite pe perioada frecventei - nr. mediu de randuri completate pentru fiecare fel de document pe perioada frecventei - nr. de exemplare pentruu fiecare fel de document - evolutia probabila a numarului mediu din fiecare fel de document in urmatorii 5 ani Concomitent cu descrierea acestor documente se vor urmari si sistemul de coduri utilizat in unitate pentru a fi preluate in viitorul sistem informatic, facand astfel sa existe o compatibilitate a datelor preluate. Analiza documentelor sub aspectul volumului de date, corelata cu numarul de posturi din statul de functiuni sau cu acela al personalului efectiv incadrat pe compartiment, permite se se puna in evidenta :
34

volumul de ansamblu al documentelor, al datelor continute, exprimat in numa de randuri (inregistrari, articole) volumul de munca necesar gradul de incarcare-solicitare a personalului incadrat gradul de folosire a tehnicii de calcul Pe baza evaluarilor facute prin studierea volumului datelor din sistemul informational, echipa de analiza poate formula recomandari privind: - tipul configuratiei echipamentelor de calcul necesare viitorului sistem informatic - numarul si capacitatea unitatilor periferice , etc. e) Studiul costurilor de functionare a SIC asigura determinarea categoriilor de cheltuieli efectuate in scopul comensurarii efortului financiar al unitatii pentru intretinerea sistemului.

35

Curs 6 4.3. Structurarea cerintelor sistemului. Modelarea proceselor Toate metodologiile folosite in realizarea unui sistem apeleaza la operatiunea de modelare logica a datelor si a prelucrarilor sub forma diagramelor fluxurilor de date (DFD). Scopul diagramelor fluxurilor de date (DFD), pentru o anumita componenta organizatorica sau functionala (sectie, birou, compartiment, intreaga unitate, o anumita activitate vanzari, cumparari, incasari, plati etc) este de a scoate in relief urmatoarele aspecte: - sursa datelor de prelucrat - operatiunile de prelucrare prin care trec datele - destinatia datelor prelucrate - legatura existenta intre prelucrari si activitatea de memorare a datelor Diagrama fluxurilor de date poate fi utilizata in doua moduri: pentru documentarea unui sistem existent sau pentru schitarea unuia in curs de proiectare. DFD pot fi clasificate in : - Diagrame de context - Diagrame ale fluxului de date logic - Diagrame ale fluxului de date fizic In practica cele mai multe produse de proiectare automata a sistemelor informatice (produsele CASE), apeleaza la doua tehnici de construire a DFD: Gane&Sarson si Yourdon & DeMarco. Aceste tehnici, in general, folosesc patru simboluri de baza pentru a reprezenta sistemele informationale si anume : Obiect Entitate externa Sageata Flux de date Dreptunghi deschis la dreapta Dreptunghi cu colturi rotunjite Sageata care poate lua diverse forme Linii paralele Simbolul Gane & Sarson Patrat ingrosat Simbolul Yourdon & DeMarco Patrat

Loc de memorare / pastrare

Cerc

Proces (prelucrare)

a) Diagrama de context este diagrama de pe cel mai inalt nivel al sistemului informational, prin care se descriu fluxurile datelor in si din sistem, din si spre entitatile externe sistemului analizat.

36

Plata

CLIENT
Depunere
Proces de incasare

BANCA

Fig. 4.1. Descrierea activitatii de incasare a unui client

Entitatile externe cele mai relevante: Client si Banca Fluxurile de date ale sistemului cu mediul sau: Plata si Depunere b) Diagrama fluxului de date logice (DFDL) este o reprezentare simbolizata a unui sistem, prin care se evidentiaza procesele sistemului, precum si intrarile sau iesirile de date in/din procese. Prin ea se reprezinta ce activitati efectueaza sistemul, fara sa specifice cum, unde sau de catre cine sunt executate activitatile. DFDL pentru exemplul anterior ar putea arata astfel:

Plata

CLIENT
Incasare

Validare incasari

Depunere
Pregatire depunere bani

Contabilizare
Inregistrare vanzare

BANCA

Jurnal_vanzari

Fig. 4.2 DFDL incasare client

Dupa cum se observa, din aceasta diagrama nu putem sti cum este efectuata "plata", sub forma de cec, bani lichizi ? etc. c) Diagramele fluxului de date ale sistemului fizic sunt o reprezentare schematica a sistemului prin care sunt scoase in evidenta entitatile interne si externe ale sistemului, precum si fluxul datelor in si din aceste entitati. O entitate interna poat fi o persoana, un loc (sectie, compartiment) sau un echipament (calculator) din sistem cate contribuie la transformarea datelor. Din aceasta cauza diagrama fluxului de date fizice (DFDF) specifica unde, cum si de cine este realizat acest proces al sistemului.

37

Bani

CLIENT
Vanzator

Monetar + Bani Foaie de varsamant + Bani


Casier

Contabilitate

BANCA
Registru de casa

Jurnal_vanzari

Fig. 4.3. DFDF incasare client

In DFDF cercurile definesc entitatile interne. In figura de mai sus : Client Plateste la Vanzator Vanzator Jusitificare-Vanzari la Casier etc. Deci, se observa unde merg banii si cum sunt pastrate informatiile privind incasarile, dar de exemplu, nu stim cu exactitate ce face Vanzatorul. Concluzie: a. DFDL permit reprezentarea activitatilor sistemului, in timp ce DFDF descriu infrastructura sistemului, ambele fiind necesare pentru intelegerea completa a sistemului. b. DFD nu scot in evidenta factorul timp. De exemplu, nu rezulta daca un flux de date apare constant, cu repetitie zilnica, saptamanala sa.m.d. De asemenea, nu reiese ca un proces este executat intr-un moment sau altul. Aceste aspecte pot fi evidentiate prin intermediul diagramele starilor de tranzitii.(DST). DST reliefeaza modul in care procesele unei diagrame a fluxului de date si stari diferite in timp ale aceluiasi proces sunt ordonate in timp. DST sunt forme de redare a logii folosite indeosebi in analiza si proiectarea orientata-obiect. c. Procesul de descompunere a analizei unui sistem este foarte subiectiv. El poate inceta in orice moment, dar poate fi reluat si ulterior daca se considera utila descompunerea, o importanta deosebita avand-o DFD logice. d. Atunci cand se intentioneaza realizarea unor diagrame ale fluxurilor de date mai complexe, se recomanda ca inainte de demararea procesului de construire a diagramei, sa se inceapa cu crearea unei liste a entitatilor externe si a intrarilor/iesirilor cu aceste entitati.. e. Prin analiza DFD finale pot rezulta urmatoarele concluzii : - fluxuri de date redundante - date care intra in prelucrari, dar nu sunt folosite - date ce sunt actualizate identic in mai multe locuri. f. Diagramele fluxului de date prezinta atat datele stocate in sistem, cat si procesele de prelucrare prin care trec acestea, indicand relatiile existente intre datele sistemului si procesele de prelucrare.

38

4.4. Tehnica Yourdon & DeMarco Tehnica Yourdon & DeMarco sugereaza ca un sistem sa fie reprezentat prin urmatorul set de diagrame: - o diagrama de context - se recomanda ca nici o diagrama sa nu cuprinda mai mult de 7 procese de prelucrare (cercuri) - o diagrama de nivel 0 indicand principalele subsisteme ale sistemului - pana la 7 diagrame de nivel 1, indicand principalele functii (aplicatii) ale fiecarui subsistem - pana la 49 de diagrame de nivel 2, indicand detaliile fiecarei functii sai ale fiecarei aplicatii Ex. Diagrama de context pentru procesul de vanzare-cumparare:
CLIENTI

Comenzi vanzare Comenzi aproviziona


FURNIZORI

Documente de
BANCA

Prelucrare stocuri vanzari si cunmparari de marfuri

Date vanzari

MANAGEMENT

Diagrama fluxurilor de date pentru vanzarea produselor


PRODUSE

Date despre Comen zi


Prelucrare comenzi

Clienti

Date vanzari

VANZARI

39

Curs 7

Capitolul 5. Proiectarea conceptuala a sistemului informatic


Proiectarea conceptuala (generala) asigura definirea de ansamblu a sistemului informatic, intr-o succesiune logica, independenta de sistemul de calcul, de sistemul de operare si de sistemul de gestiune a datelor si presupune folosirea unor variante de abordare in functie de complexitatea obiectivului stabilit, de aria de cuprindere a noului sistem si de resursele existente. 5.1. Tehnici de proiectare conceptuala a sistemului informatic Variantele de abordare a proiectarii generale se bazeaza pe aplicarea principiilor: IESIRI INTRARI, INTRARI-IESIRI sau MIXT. a) Varianta de abordare pe baza principiului IESIRI - INTRARI, debuteaza cu precizarea obiectivelor noului sistem informatic, in raport cu cerintele unitatii economice. Obiectivele sunt concretizate in iesirile sistemului (liste, situatii, indicatori, grafice etc) ale caror atribute formeaza baza informationala de iesire. Baza informationala de iesire este analizata in raport de modul de obtinere a atributelor de iesire (calculate sau preluate), in copul definirii bazei informationale de intrare. Aceasta varianta asigura, in esenta, analiza atributelor informationale de iesire, in vederea determinarii nucleului informational. Varianta de abordare a proiectarii generale pe baza principiului IESIRI INTRARI presupune parcurgerea urmatoarelor faze: 1. definirea obiectivelor sistemului informatic 2. proiectarea listelor sau situatiilor de iesire 3. proiectarea bazei informationale 4. formalizarea datelor de intrare, concretizata in codificarea datelor si adaptarea documentelor de intrare 5. proiectarea structurala si functionala si a sistemului informatic Aceasta varianta prezinta avantajul furnizarii unui continut complet al bazei informationale de intrare determinat strict pe baza ieisirilor solicitate. Dezavantajul acestei metode rezida in imposibilitatea obtinerii de noi situatii de iesire sau indicatori, deoarece acesta varianta poate genera numai atributele existente in baza informationala de intrare sau alti indicatori rezultati ca urmare a aplicarii unor algoritmi de calcul, asupra acelorasi baze informationale. Aceasta varianta este recomandata in cazul realizarii de sisteme informatice mari si mijlocii caracterizate printr-o complexitate a obiectivelor avute in vedere si a iesirilor informationale solicitate. b) Varianta de abordare pe baza principilui INTRARI IESIRI presupune ca in raport de obiectivele noului sistem informatic sa se determine multimea intrarilor necesare, structurate sub forma bazei informationale de intrare, care analizata prin prisma tuturor posibilitatilor de prelucrare, conduce la determinarea bazei informationale de iesire, care reprezinta de fapt iesirile noului sistem. Abordarea proiectarii generale pe baza acestui principiu presupune parcurgerea urmatoarelor faze: - definirea obiectivelor sistemului informatic - inventarierea tuturor documentelor si determinarea atributelor de intrare si a corespondentelor dintre acestea - proiectarea bazei informationale de intrare - formalizarea atributelor de intrare si iesire concretizate in:
40

- codificarea atributelor bazei informationale de intrare - adapatarea documentelor de intrare necesare noului sistem - proiectarea iesirilor sistemului informatic structurate in baza informationala de iesire - proiectarea functionala si structurala a sistemului informatic Aceasta varianta prezinta avantajul determinarii unei baze informationale de intrare complete, cu mentiunea ca unele atribute nu vor fi utilizate in mod efectiv in prelucrarile ulterioare ale sistemului informatic. Varianta solicita o analiza complexa a tuturor activitatilor si subactivitatilor desfasurate in cadrul compartimentelor functionale, ceea ce implica cheltuieli mari de realizare a bazei informationale de intrare si o supradimensionare a acesteia. Aceasta varianta duce la determinarea bazei informationale independent de subsistemele informatice ce vor fi proiectate, cu posibilitati de flexibilitate si extensibilitate in viitor. De asemenea, aceasta varianta prezinta avantajul flexibilitatii continutului bazei informationale de intrare in conditiile aparitiei de modificari ale iesirilor informationale, dar are si dezavantajul ca baza informationala este supradimensionata, ceea ce implica timp mare de realizare, costuri ridicate de proiectare si o sporire a complexitatii prelucrarilor sistemului informatic. Aceasta varianta este utilizabile in cazul proiectarii sistemelor informatice de dimensiuni mici, caracterizate prin dinamismul iesirelor solicitate in functie de varietatea obiectivelor. c) Varianta MIXTA de abordare a proiectarii generale are in vedere obiectivele sistemului informatic definite de unitatea economica beneficiara, folosind avantajele celor doua variante prezentate. In aceasta viziune, varianta presupune parcurgerea urmatoarelor faze: - definirea obiectivelor sistemului informatic - proiectarea initiala a bazei informationale - formalizarea atributelor de intrare si iesire concretizata in: - codificarea atributelor - adaptarea documentelor de intrare - proiectarea bazei informationale de iesire si stabilirea iesirilor prezente si previzibile - reproiectarea bazei informationale initiale si stabilirea structurii finale a acesteia - proiectarea structurala si functionala a sistemului informatic Optiunea pentru utilizarea unei variante de abordare a proiectarii generale se va face in functie de : - complexitatea obiectivelor unitatii economice - dimensiunea sistemului informatic - volumul atributelor de intrare-iesire - costurile si termenele de realizare a sistemului informatic etc. Definirea iesirilor, intrarilor si colectiilor de date a) Definirea iesirilor sistemului Prin iesirile unui subsistem informatic vom intelege totalitatea informatiilor furnizate de acesta beneficiarilor interni si externi. Listele/situatiile de iesire reflecta cerintele informationale ale conducerii unitatii economice sau compartimentelor functionale si trebuie sa reflecte prin continutul lor, starea si dinamica fenomenelor si proceselor economice care fac obiectul de prelucrare a datelor din sistemul proiectat. Continutul si forma listelor/situatiilor de iesire, se stabilesc de unitatea beneficiara impreuna cu colectivul care realizeaza sistemul informatic. Iesirile informationale ale sistemului reprezinta rezultatele prelucrarii solicitate de catre beneficiar si apar sub doua forme: scrise pe imprimanta sau afisate pe ecranul calculatorului.

Sub aspectul modului de utilizare, se pot distinge:


41

- liste de stare = prezinta gradul de indeplinire a obiectivelor si evidentiaza disponibilitatile de resurse la un anumit moment, fiind utilizate pentru luarea deciziilor privind desfasurarea in continuare a activitatii (ex. nivelul stocurilor de materiale, produse finite etc.) - liste cu caracter statistic = servesc analizelor tehnico economice, au un continut informativ mai ridicat, se refera la o perioada mai mare de timp si permit alaturi de analiza acestora si o eventuala pronosticare a tendintelor de viitor.

Din punct de vedere al intervalului de timp la care se refera: - liste cu caracter operativ = contin date cu un nivel de prelucrare mai redus, rolul lor fiind de a sesiza, in timp util, anumite anomalii si de a permite efectuarea unor interventii prompte (ex. lista produselor livrate si nefacturate) - liste cu caracter periodic = contin date ce se refera la o perioada mai mare de timp, rezultate dintr-o prelucrare mai complexa si rezuma sau caracterizeaza evolutia unui proces sau fenomen economic (ex. balanta sintetica sau analitica)
Pentru fiecare situatie de iesire va trebui sa se stabileasca in detaliu: - titlul situatiei - indicatorii prezenti in fiecare coloana si modul de ordonare si grupare a acestora - natura si lungimea fiecarui indicator - precizarea grupelor de total si subtotal - numarul de exemplare, destinatie, frecventa si termenele de obtinere - volumul estimat prin numarul de linii intr-o anumita perioada de timp - suportul tehnic Din punct de vedere tipologic, iesirile catre alte sisteme informatice pot fi: - indirecte (off-line), prin intermediul suportilor magnetici (disc flexibil, banda magnetica etc.) - directe (on-line), prin intermediul transmisiilor unei retele locale de calculatoare. b) Definirea intrarilor sistemului Prin definirea intrarilor sistemului vom intelege totalitatea datelor primare necesare obtinerii informatiilor de iesire ale sistemului. Definirea intrarilor trebuie sa includa toate elementele necesare realizarii tehnice ulterioare a documentelor de intrare si sa ofere solutii pentru preluarea datelor in sistemul informatic. Intre numarul entitatilor din cadrul bazei informationale a sistemului informatic si tipurile de documente de intrare utilizate pentru crearea si actualizarea colectiilor de date, exista o corespondenta directa definita prin urmatoarele variante: a) un tip de entitate se constituie pe baza unui singur tip de document de intrare b) un tip de entitate se poate constitui pe baza mai multor tipuri de documente de intrare c) mai multe tipuri de entitati se pot constitui dintr-un singur tip de document de intrare. Documentele de intrare destinate crearii si actualizarii colectiilor de date in conditiile in care nu corespund integral d.p.d.v. al continutului si al formei cu restrictiile impuse de sistemul proiectat si de structura bazei informationale, vor fi modificate pentru realizarea acestor deziderate. Modificarea de continut a documentelor de intrare vizeaza urmatoarele aspecte: - adaugarea in documentele existente a unor rubrici rezervate special pentru coduri in masura in care acestea nu au fost curpinse in documente - regruparea si modificarea rubricilor aferente atributelor astfel incat acestea sa se gaseasca in acelasi loc in documentele de acelasi tip Alaturi de modificarile de continut se intreprind asupra documentelor de intrare si modificari de forma impuse de necesitatea cresterii facilitatilor de prelucrare a datelor
42

Alaturi de definitivarea formei si continutului se mai impune : - stabilirea regulilor de completare si utilizarea a documentelor de intrare - precizarea numarului de exemplare si a circuitului fiecarui exemplar - stabilirea frecventei si termenelor de introducere a datelor in colectiile de date Aceste specificatii vor fi avute de asemenea in vedere pentru proiectarea noilor circuite informationale in cadrul noului sistem, cat si in manualul de utilizare a sistemului informatic ce va fi definitivat in faza de proiectare. c) Stabilirea globala a colectiilor de date Determinarea structurii bazei informationale se realizeaza in cadrul urmatoarelor activitati: 1. definirea entitatilor bazei informationale 2. definirea atributelor specifice entitatilor 3. stabilirea corespondentelor dintre entitati 4. optimizarea structurii bazei informationale 5. reprezentarea structurii bazei informationale

5.2. Codificarea datelor. Cerintele si functiile codificarii Prin codificare se intelege activitatea prin care se stabileste o corespondenta biunivoca intre o multime de elemente si o multime de simboluri astfel constituite incat sa permita identificarea unica a elementelor, si eventual, exprimarea unor caracteristici ale acestora.

P1 P2 P3 C2

C1

C3

Fig. 5.2. Codificarea datelor

Necesitatea codificarii datelor este impusa de cerintele de grupare si ierarhizare a atributelor in prelucrarea colectiilor de date. De asemenea, codurile aferente atributelor bazei informationale pot asigura confidentialitatea si integritatea valorii atributelor, ceea ce confera colectiilor de date o anumita protectie si securitate in timpul prelucrarii. De ex. codul numeric personal s-a construit astfel incat sa permita identificarea unica a oricarei persoane, cetatean roman, oferind informatii privind: sexul, anul, luna si ziua nasterii, judetul in care s-a nascut persoana respectiva. 1 67 08 31 04 008 9 Codul se formeaza utilizand simboluri - cifre sau litere - combinate sau determinate dupa reguli specifice. In aceasta viziune, codul este o colectie ordonata de simboluri care asigura identificarea si utilizarea unui atribut al bazei informationale. Codificarea se impune deoarece:

43

regulile de scriere a denumirilor sunt mult mai complexe si mai greu de respecat in comparatie cu utilizarea unor simboluri restranse, fapt pentru care si erorile sunt cu mult mai reduse in conditiile folosirii simbolurilor; denumirile, in general, nu pot fi folosite ca atare pentru realizarea ierarhizarii datelor pe grupe, subgrupe etc. denumirile se compun dintr-un numar mai mare de caractere decat simbolurile, ocupand un volum sporit de suport si necesitand un timp marit de prelucrare

Cerintele codificarii 1. unicitatea codului - presupune existenta unei valori unice atribuite elementului codificat (corespondenta biunivoca). 2. stabilitatea si supletea in timp a codului - exprima necesitatea utilizarii unui tip de cod pe toata perioada de existenta a bazei informationale, cu posibilitatea realizarii in timp a extensiilor impuse de cresterea volumului datelor supuse codificarii. 3. comoditatea utilizarii codului - se refera la facilitatea operatiilor de codificaredecodificare precum si la detectarea si corectarea erorilor. Codurile trebuie sa fie usor se inteles si aplicat, a.i. personalul unitatii economice beneficiare sa asimileze intr-un timp cat mai scurt noul sistem de coduri. 4. concizia codului - se refera la necesitatea utilizarii unui numar cat mai mic de caractere pentru reprezentarea elementelor codificate. Astfel se asigura reducerea timpului de manipulare a codului, eliminarea eventualelor erori si folosirea eficienta a spatiului de memorie. Functiile codului Prin constructia sa, codul asigura realizarea urmatoarelor functii: 1. functia de identificare - permite identificarea rapida si cu usurinta a elementului codificat datorita unicitatii codului. 2. functia de caracterizare - asigura exprimarea intr-o forma concisa, unica si stabila in timp, a continutului semantic a fiecarui atribut. 3. functia de manipulare a atributelor codificate - faciliteaza introducerea eficienta in memorie a acestora, reducerea timpului de prelucrare. 4. functia de control - presupune existenta unui caracter de control care se ataseaza in ultima pozitie din dreapta structurii codului, pe baza caruia, prin intermediul unor metode (artimetica sau geometrica) si algoritmi specifici, sa se poata verifica corectitudinea simbolurilor care intra in structura codurilor.

44

Curs 8 5.3. Tipuri de coduri utilizate in sistemele informatice Codurile utilizate in prelucrarea automata a datelor se pot grupa dupa mai multe criterii: 1. Dupa structura simbolului - elementare: - coduri secventiale - coduri secventiale pe grupe sau clase - coduri cu semnificatie mnemonica - coduri cu semnificatie descriptiva - complexe - coduri ierarhizate - coduri juxtapuse 2. dupa natura simbolurilor utilizate: - numerice - alfabetice - alfanumerice 3. dupa lungimea codului: - cu lungime fixa - cu lungime variabila 4. dupa modul de detectare si corectare a erorilor - autodetectoare de erori - autocorectoare de erori 5. dupa modul de elaborare (atribuire): - coduri elaborate manual - coduri elaborate automat Codurile secventiale se formeaza prin atribuirea unii sir de caractere fiecarui element al multimii, stabilind o corespondenta (in ordine crescatoare) intre elementele acestora si multimea numerelor naturale. - fiecarui element supus codificarii i se asociaza un cod crescator, imediat disponibil. Ex. marca salariatialor: ,1410, 1411, 1412 etc. Pentru a avea o lungime fixa a codului, este indicat a se stabili dimensiunea maxima a acestuia, ceea ce va asigura si estimarea dimensiunii fizice a codului. Codurile secventiale pe grupe sau clase se formeaza prin rezervarea unui set maxim de simboluri pentru pentru fiecare grup de elemente caracterizat prin particularitati comune, iar in interiorul grupelor elementele sunt codificate serial. De exemplu, in planuri de conturi pentru conturile de stocuri si productie in curs de executie s-au atribuit codurile 30-39, iar in cadrul acestor grupe se acorda coduri seriale pentru fiecare element: Clasa 3 Conturi de stocuri si productie in curs de executie 30 Stocuri de materii prime si materiale 300 Materii prime 301 Materiale consumabile 3011 Materiale auxiliare 3012 Combustibili 3013 Materiale pentru ambalat 3014 Piese de schimb

45

Codurile cu semnificatie mnemonica se formeaza fie din consoanele unui cuvant, fie prin prescurtarea (abrevierea) denumirii elementului codificat. De exemplu: CIM - ciment MBL - mobila ALIM - produse alimentare IND - produse industriale AGRIC - produse agricole Codurile cu semnificatie descriptiva se formeaza prin combinarea initialelor denumirilor elementelor ce se codifica cu caractersiticile tehnico-economice ale acestora exprimate cifric. Acest tip de cod este utilizat in special la nomenclatoarele industriale, fiind extensibil la unele caracteristici tehnice. De exemplu: OB 10 - Otel beton O10 mm OB 12 - Otel beton O12 mm .. ASE - Academia de Studii Economice UAIC - Universitatea Al. Ioan Cuza Codurile complexe se folosesc pentru elementele care pot sa apartina mai multor multimi distincte, ele fiind structurate in asa fel incat sa reflecte apartenenta multipla. In categoria codurilor complexe sunt cuprinse codurile ierarhizate si codurile juxtapuse. Codurile ierarhizate se utilizeaza pentru atributele pentre care exista relatii de incluziune a.i. acestea sa poata fi reprezentate prin intermediul unei structuri arborescente.
Grupa de produse

1 Aparate radio Treapta 1 1

2 Televizoare 2 TV alb-negru TV color 2 Goldstar Sony 3

3 Casetofoane

4 Aparate video

Treapta 2

Samsung

Treapta 3

Structura concreta a acestui cod ierarhizat se determina practic in functie de doi factori: - numarul de trepte ale codului - numarul maxim de aparitiii ale fiecarui atribut in cadrul treptelor Ex.: TV Samsung: TV Sony TV alb-negru 223 222 210

Codurile juxtapuse se utilizeaza pentru elemente ce apartin mai multor multimi si se construiesc prin concatenarea codurilor ierarhizate si/sau a codurilor elementare.
46

De exemplu : la codificarea personalului unei unitati, codul va specifica: sectia, atelierul, echipa si marca: 2431231 T1 T2 T3 T4

9 9 9 9999 | | | | ---- |----|------ |---------sectie -----|------|---------- atelier -------|---------- echipa ---------- marca Atribuirea codurilor poate fi realizata manual sau automat. Codificarea manuala este utilizata pentru orice tip de cod, in timp ce codificarea automata se aplica numai la codurile pentru care se poate defini un algoritm de atribuire programabil pe calculator. Fazele realizarii codificarii Fazele realizari codificarii sunt dependente de specificul sistemului informatic, marimea unitatii economice, dimensiunea bazei informationale, tipologia codurilor utilizate. Fazele realizarii codificarii sunt : - pregatirea activitatii de codificare - presupune analizarea continutului si structurii bazei informationale si examinarea codurilor existente - codificarea atributelor bazei informationale - consta in stabilirea codurilor corespunzatoare pentru fiecare atribut. - Intocmirea nomenclatoarelor de coduri - consta in intocmirea unor liste in care sunt precizate codurile si denumirea completa a atributelor la care se refera. - Intretinerea codurilor - consta in actualizarea nomenclatoarelor de coduri, pentru a elimina ambiguitatile si redundantele. Metode de determinare a cifrei de control la codurile detectoare de erori. Determinarea cifrei de control se poate realiza prin urmatoarele metode: a) metoda aritmetica b) metoda geometrica a) Determinarea cifrei de control prin metoda aritmetica are la baza urmatoarea relatie de calcul:
n

Cc = Z CiPi
i =1

unde: Cc = cifra de control Z = cifra zecilor imediat superioara sumei produselor dintre cifra codului Ci si ponderea Pi reprezentata de valori alese conventional Ci = cifra i a codului Pi = ponderea i Exemplu. Fiec codul 5237, iar ponderile alese pentru calculul cifrei de control sunt 1 si 2. Cifra de control se calculeaza astfel:

47

Ci 5 2 3 7 Pi 1 2 1 2 ______________________________________
n

CiPi
i =1

= 5+

4+

3+

(1+4) = 17

Cc = 20 - 17 = 3 Codul complet va fi : 5 2 3 7 3 b) Metoda geometrica consta in stabilirea cifrei de control prin intermediul uneia sau mai multor cifre obtinute ca rest al impartirii sumei dintre cifrele codului si puterile crescatoare ale lui 2, la un numau par/impar (X), ales conventional. Expresia de calcul este:
n

CiPi
i =1

X unde Q = ctul impartirii Cc = restul mpr irii

=Q + Cc

5 2 3 7 23 22 21 24 ______________________________________ 90 + 132 : 19 = 6 rest 18 16 + 12 + 14 = 132

Ci

5.4. Modelarea conceptuala a datelor. Modelul Entitate-Asociere-Corespondenta Cele mai multe metode de analiza si proiectarea a sistemelor informatice prevad urmatoarele niveluri de abstractizare in descrierea datelor: modelul conceptual al datelor, prin care se descriu datele asa cum sunt ele in realitate, independent de cerintele functionale ale utilizatorilor si de cerintele de natura tehnica care privesc stocarea si accesul la date. Modelarea datelor la acest nivel se realizeaza cu ajutorul modelului entitate-asociere (EA) sau variante ale acestuia. modelul logic al datelor presupune inglobarea cerintelor functionale ale utilizatorilor in modelul conceptual definit anterior si luarea in considerare a unui model de organizare a datelor. Cel mai folosit model este modelul relational. modelul fizic al datelor ia in considerare, in plus, si cerintele tehnice ale suporturilor de stocare si a programelor de aplicatie care le acceseaza. Cea mai mare parte a sarcinilor descrierii fizice a datelor au fost preluate astazi de SGBD-uri, iar proiectantii sunt mai putin preocupati de aceste aspecte. Modelul Entitate-Asociere-Corespondenta Modelul EAC prezinta caracteristicile si structura datelor independent de modul in care acestea sunt memorate in calculator. Dupa ce sunt descrise complet intrarile si iesirile sistemului, modelul conceptual al datelor este transpus intr-un format logic - de regula, modelul relational al datelor - din care se definesc bazele de date.
48

Daca diagramele fluxurilor de date (DFD) indica atat procesele de prelucrare cat si entitatile de date (redate fie sub forma fluxurilor de date, fie a locurilor de stocare), diagramele entitaterelatie (DER) trateaza doar entitatile de date si are rolul de de a scoate in evidenta entitatile de date si relatiile care exista intre acestea. Concepte de baza ale modelului: - Entitatea - Atributul - Asocierea Entitatea constituie unitatea functionala ireductibila din cadrul structurii bazei informationale, reprezentata printr-un ansamblu de atribute, care are o existenta de sine statatoare si poate fi identificata in raport cu celelalte obiecte de acelasi tip. Exemple: angajat, produs, utilaj, client, factura etc.
ANGAJAT Nume Prenume Data nasterii Salariu lunar
Nume entitate

Atribute

Entitatea este definita printr-un nume unic, de un numar mare de realizari, de un grup de atribute, precum si de o multime de legaturi cu alte entitati, care redau asocieri de tipul 1-1, 1-n, m-n. Obiectele lumii reale care sunt descrise in modelul EA, pot fi simple, compozite si complexe.
BON DE CONSUM
Nr. bon Data bon Sectia Gestiunea Cod material Cantitate eliberata Pret unitar

Obiect

Bon de consum Nr. bon Data bon Sectia Gestiunea

Material eliberat Cod material Cantitate eliberata Pret unitar

Fig. 5. Reprezentarea obiectelor compuse sub forma de tipuri de entitati

Obiectele simple sunt acele obiecte carora in modelul conceptual al datelor le va corespunde cate un tip de identitate (ex. ANGAJAT)

49

Obiectele compozite se caracterizeaza prin faptul ca ele contin una sau mai multe caracteristici multivaloare si va determina ca in modelul conceptual optimizat al datelor, sa-i corespunda mai multe tipuri de entitati (atributele multivaloare se vor regasi intr-un tip de identitate distinct) Obiectele compuse grupeaza in structura lor obiecte simple intre care exista o anumita legatura. Chiar daca in modelul EA initial pentru un obiect compus s-a definit un singur tip de entitate, ulterior acesta se va descompune in tipuri de entitati de sine statatoare corespunzatoare obiectelor elementare care intra in structura obiectului compus.
CARTE

CARTE

COTA
TITLU EDITURA AN APARITIE

COTA Obiect
TITLU EDITURA AN APARITIE AUTOR NATIONALITATE

AUTOR NUME NATIONALITATE

Tipul de entitate CARTE definit initial, s-a descompus apoi in doua entitati de sine statatoare. AUTOR este de fapt un obiect al problemei de modelat si lui trebuie sa-i corespunda un tip de entitate distinct; mai mult o carte poate avea mai multi autori, deci atributul AUTOR - din tipul entitate CARTE definit initial - este multivaloare si deci, trebuie sa se regaseasca intr-un tip de entitate separat. Atribut = o caracteristica sau proprietate a unei entitati.
Vasilescu Gheorghe
Valori ale atributelor

Ionescu Marian 15/03/1965 7000000

Realizari ale entitatii

ENTITATEA

ANGAJAT Nume Prenume Data nasterii Salariu lunar

Atribute

Prin intermediul atributelor, entitatea poate fi descrisa d.p.d.v. informational. Atributele sunt reflectate printr-un continut concret denumit valoare care reda nivelul real al procesului si fenomenului cuantificate prin intermediul entitatii. Ex. Stare civila = (necasatorit, casatorit, vaduv, divortat) Zile lucratoare = (luni, marti, .. , vineri) Atributele bazei informationale pot fi clasificate in:
50

d.p.d.v. structural: - atribute elementare - sunt componente informationale ireductibile ce nu mai pot fi descompuse in alte atribute (ex. CODMAT, UM, PRET) - atribute decompozabile - sunt componente informationale reductibile care pot fi descompuse in atribute elementare (DATA_NAST poat fi descompusa in atribute elementare: zi, luna, an) dupa valorile pe care le pot avea atributele pot fi: - obligatorii - atributele nu pot lua valoare NULL (ex. marca, datanasterii) - optionale - sunt atribute care pot sa nu prezinte nici o valoare in cadrul unei entitati (ex. telefon, e_mail) monovaloare - atribute care prezinta o singura valoare in cadrul unei entitati (ex. nr_matricol, CNP) - multivaloare - atributele care prezinta mai multe realizari in cadrul aceleiasi entitati (ex. functia, sectia, studii) d.p.d.v. al stabilitatii in timp: - atribute constante isi mentin valoarea neschimbata pe toata existenta bazei informationale, fiind invariabile in timp (COD_FURNIZOR, COD_PRODUS, COD_UM) - atribute variabile isi schimba valoarea pe parcursul existentei bazei informationale, fiind variabile in timp in functie de semantica atributului (SOLD_FINAL, RULAJ_DEBITOR)

Identificatorul entitatii un atribut sau un grup de atribute care primesc valori unice pentru fiecare realizare a entitatii respective si pot servi astfel pentru identificarea fara echivoc a acestora. Pentru simplitate se recurge frecvent la coduri, care sunt atribute construite special a.i. sa raspunda cerintelor de identificare (ex. marca salariat). In reprezentarea grafica, identificatorul entitatii se subliniaza:
Identificator

ANGAJAT

ANGAJAT Marca Nume Prenume Data nasterii Salariu lunar

Nume
Prenume

Data nasterii
Salariu lunar

Asocierea exprima legatura stabilita intre entitati si rolul pe care il joaca fiecare entitate participanta la legatura.
CLIENT
Cod client Nume Adresa
0,n

EMITE

1,1

COMANDA
Nr. comanda Data comanda Produs Cantitate

Fiecare entitate participanta la asociere joaca un anumit rol. Astfel, entitatea CLIENT joaca rolul emite (clientul A emite comanda B) si entitatea COMANDA joaca rolul este emisa (comanda B este emisa de clientul A).
51

Asociere

ANGAJAT Marca Nume Prenume Data nasterii Salariu lunar


Data_incadrarii
INCADRAT_L A

COMPARTIMENT Cod compartiment Den compartiment

O asociere poate prezenta unul sau mai multe atribute proprii cu rol de a caracteriza legatura stabilita intre entitatile participante la asociere. Cardinalitatea cuplului entitate-asociere reprezinta cuplul de valori intregi (x,y) astfel incat: x (cardinalitate minimala) exprima numarul minim de realizari ale legaturii (asocierii) ce pot exista pentru o realizare a entitatii; y (cardinalitate maximala) reprezinta numarul maxim de aparitii ale corespondentei ce pot exista pentru o realizare a entitatii. Cardinalitate minimala 0 indica faptul ca pot exista realizari ale entitatii care sa nu participe la nici o asociere. ex. Exista clienti care nu au emis nici o comanda, si orice comanda a fost emisa de un client. Cardinalitate minimala 1 indica faptul ca toate realizarile entitatii trebuie sa participe la o realizare a asocierii.
CONTRIBUABIL
Cod-identificare Nume Adresa

1,1

ARE

1,1

ROL
Nr.rol Data deschiderii

Orice contribuabil aflat in evidenta administratiei financiare are deschis un singur rol. Cardinalitate maximala 1 indica faptul ca numarul de roluri deschise unui contribuabil la administratia financiara nu poate fi mai mare de 1. Cardinalitate maximala n indica faptul ca mai mai multe realizari ale unui anumit tip participa la o asociere (valoarea lui n poate fi precizata).
BON CONSUM
Nr bon Data bon Gestiune Sectie
1,6 CUPRINDE 0,n

MATERIAL
Cod material Denumire Unitate de masura

Cantitate

Un bon de consum poate servi la eliberarea a cel mult 6 materiale. Valorile uzuale pentru exprimarea cardinalitatii sunt: 0,1; 1,1; 0,n; 1,n.

52

Curs 9 5.5. Modelarea restrictiilor de integritate Restrictiile de integritate definesc cerintele pe care datele trebuie sa le respecte pentru a fi coerente in raport de realitatea pe care o reflecta. Restrictiile de integritate privesc: - valorile pe care le pot lua atributele entitatilor si asocierilor - valorile identificatorilor entitatilor - rolurile jucate de entiati in asocierile la care participa - asocierile stabilite intre entitati Fie urmatorul Model EA
DISP_LIVRARE

PRODUS
1,n

Nr_doc Data_doc

CUPRINDE
Cantitate

0,n

Cod produs Denumire UM Pret TVA Data fabricatiei


1,n

GESTIUNE
1,n

Cod_gestiune Nume gestionar

DEPOZITA T Stoc

Pentru acest model pot fi definite urmatoarele restrictii de integritate privitoare la realizarile atributelor: - data documentului sa fie anterioarea datei curente sau egala cu aceasta - cota de TVA poate fi 0% sau 19% - codul gestiunii poate lua valori in multimea M={1,2,3} - unitatile de masura sunt KG si BUC - data fabricatiei sa fie dupa 31.12.2000 RI pot fi: - statice - conditii care trebuie sa se verifice permanent ex. Data fabricatiei > 31.12.2000 - dinamice - privesc evolutia in timp a datelor ex. Pentru o entitate STUDENT si atributul FEL_STUDENT acesta in timp poate lua valorile BURSIER/NEBURSIER Restrictiile de integritate le putem clasifica in - restrictii de domeniu - restrictii structurale - restrictii de integritate pe roluri

a) Restrictiile de domeniu sunt conditii impuse asupra ansamblului de valori acceptate pentru un atribut in cadrul tipului sau. Restrictiile pot viza realizarilor unui/unor atribute apartinand aceleiasi entitati sau asocieri, caz in care se numesc restrictii intraentitate sau a unui/unor

53

atribute apartinand unor entitati si/sau asocieri diferite, caz in care se numesc restrictii interentitati. Restrictiile de domeniu se pot exprima cu privire la: 1. continutul unui singur atribut al unei entitati sau asocieri: UM = {KG, BUC} TVA = {0,19} Cantitate > 0 Data_doc apartine intervalului [01/01/01 - 31/12/01] 2. corelatiile ce trebuiesc sa se respecte intre valorile valorile mai multor atribute sau asocieri: ex. Daca Cod_gestiune=1 atunci Cod_produs = {1000,1001,1999} (in gestiunea 1 se stocheaza doar produsele avand codurile in multimea 1000 - 1999) Daca cod_produs = 17 atunci UM = KG 3. corelatiile ce trebuie sa existe intre atributele apartinand mai multor entitati sau asocieri diferite Exemplu: Data_stoc > Data_omologarii Cantitate <= Stoc 4. corelatii realizate pe baza unor valori obtinute prin operatii de sintetizare (numarare, insumare, calculul mediei etc) a unui ansamblu de entitati. Exemplu: valoarea medie a pretului <= 100.000 b) Restrictiile structurale se refera la identificarea entitatilor - valorile luate de identificatorul entitatii trebuie sa fie unice si nenule c) Restrictiile de integritate pe roluri Plecand de la rolurile jucate de entitati in cadrul asocierilor, putem defini o serie de restrictii de integritate si anume: - egalitate - incluziune - excluziune de roluri Restrictia de incluziune de roluri - daca o entitate E1 joaca rolul r1 in asocierea A1, atunci va trebui sa joace si rolul r2 in asocierea A2. Rezulta ca rolul r1 include rolul r2. Restrictia de egalitate de roluri - presupune ca restrictia de incluziune intre roluri sa fie reciproca. Restrictia de ecluziune de roluri - specifica faptul ca un rol r1 jucat de o entitate E1 in asocierea A1 exclude existenta rolului r2 jucat in asocierea A2. 5.6. Dependente functionale Conceptul de dependenta functionale (DF) este fundamental in analiza structurii datelor. Studiul dependentelor functionale stabilite intre atribute ne permite obtinerea unei reprezentari formalizate a structurilor de date. O dependenta functionale pune in relatie doua atribute: determinatul si determinatul.
Determinant Determinat

Exemplu: cod_localitate localitate CNP nume_persoana


54

Numar_matricol

nume_student

Aceste DF subliniaza faptul ca unei realizari a codului numeric personal ii va corespunde intotdeauna aceeasi realizare a atributului nume persoana, unui anumit cod de localitate ii corespunde intotdeauna numele unei anumite localitati, iar numarul matricol determina in mod unic studentul. Rezulta ca determinantul reprezinta atributul/grupul de atribute din stanga DF care prin valoarea sa determina valoarea luata de atributul/atributele cu rol de determinat. DF este o legatura (relatie) stabilita intre atributel apartinand acleluiasi tip de entitate. Dependenta functionala simpla Intre doua atribute A si B exista o dependenta functionala notata A B, daca fiecarei valori a lui A ii corespunde o singura valoare a lui B. Spre exemplu pentru un angajat se poate defini urmatoarea dependenta functionala: Marca Nume care exprima faptul ca unui angajat (identificat print-un numar de marca) ii corespunde un singur nume. Relatia inversa: Nume Marca nu este adevarata, deoarece pot exista mai multe persoane cu acelasi nume dar cu numere de marca diferite. Pentru un angajat mai pot fi definite si alte dependente functionate: Marca Prenume Marca Data nasterii Marca Functie Determinantul poate fi compus din unul sau mai multe atribute. Ex. Pretul unitar de aprovizionare este determinat de felul materialului si de numele furnizorului, deoarece acelasi material se poate aproviziona la preturi diferite de la furnizori diferiti. Cod material, Cod furnizor Pret aprovizionare Dependenta functionala multipla Intre doua atribute A si B exista o dependenta functionala multipla, notata A B Daca o valoare a lui A determina mai multe realizari a lui B De exemplu, atributul codul sectiei (COD-SECT) determina mai multe realizari pentru atributul codul atelierului (COD_ATEL), deoarece o sectie are mai multe ateliere. COD_SECT COD_ATEL

Dependenta functionala simpla este un caz particular al dependentei fucntionale multiple. Proprietatile dependentelor functionale e) Dezvoltarea Daca X Y atunci X,Z Y Ex. Cod client Den Client Cod client, Localitate Den_client

f) Tranzitivitate
55

Daca X Ex.

Y si Y

Z, atunci X

Z Judet

Cod client Cod client

localitate, Localitate Judet Z, atunci X Y,Z

g) Aditivitatea Daca X Y si X Ex. Cod client Cod client

Den client, Cod client Den client, Adresa client

Adresa client

h) Proiectia Daca X Y,Z atunci X Y si X Z Ex. Cod client Cod client Cod client Den client, Adresa client Den client, Adresa client

Daca exista dependenta functionala: cod_material, cod_furnizor

pret_aprovizionare

rezulta ca pretul nu depinde numai de codul materialului ci si de furnizor, acelasi material putand fi aprovizionat la preturi diferite de la furnizori diferiti. Dependenta functionala X Y se numeste DF completa daca Y este dependent functional de X fara sa fie dependent functional de nici una din componentele lui X. Dependenta functionala X Y se numeste DF partiala daca Y este dependent functional atat de X cat si de o parte a lui X.

56

Curs 10 5.7. Modelarea logica a datelor. Trecerea de la MCD la MLD Modelarea logica a datelor are ca obiectiv trecerea de la MCD - Modelul Conceptul al Datelor, care este un model universal, spre o solutie informatica care sa corespunda cerintelor regasite in formulare si rapoarte. Pentru sistemele informatice financiar contabile transpunerea bazei informationale intr-o baza de date se asigura in cele mai bune conditii prin intermediul modelului relational.

Regulile de trecere de la MCD la MLD 1. o entitate devine o relatie, cu un nume distinct. Identificatorul entitatii devine cheie primara a relatiei. Atributele relatiei vor deveni structura relatiei. 2. o asociere devine o legatura intre relatii. Concret, relatia provenind din entitatea pentru care cardinalitatile sunt 1-1 "absoarbe" identificatorul celeilalte entitati, care se transforma in cheie externa (secundara). Daca se intampla ca asocierea sa aiba proprietate specifica, atributul respectiv este transferat si devine camp al relatiei care provine din entitatea cu cardinalitate maxima 1. 3. o restrictie de integritate multipla devine o relatie, a carei cheie primara este constituita prin concatenarea identificatorilor entitatilor participante la asociere. Totodata, atributele proprii asocierii devin campuri in relatia nou determinata. Modelul logic al datelor se poate prezenta in doua variante, si anume: a) scriind numele relatiei, urmat de atributele sale intre paranteze; cheia primara se subliniaza cu linie continua, iar cheia externa cu linie punctata sau se marcheaza cu semnul diez - # Exemplu: Factura_livrare(nrfactura, datafactura, cota_TVA, cod client ) sau Factura_livrare(nrfactura, datafactura, cota_TVA, #cod_client) b) grafic, utilizand pentru relatie simbolul din MCD pentru entitate, iar pentru evidenta legaturilor linii orientate.
FACTURA_LIVRARE

CLIENT cod_client nume_client sediu

nrfactura
datafactura cota_TVA cod_client

2. Modelul relational Modelului relational foloseste urmatoarele concepte specifice: - relatie (tabel), - atribut - domeniu - tuplu - valoare - cardinalitate - gradul relatiei - cheie candidata
57

cheie primara cheie externa.

Tabelul este caracterizat prin urmatoarele elemente: - tabelul are un nume - fiecare coloana este identificata distinct printr-un nume ce desemneaza un atribut, ale carui realizari sunt omogene dar distincte intre ele, motiv pentru care ele se numesc domenii - fiecare rand reprezinta un tuplu (realizare) - ordinea tuplurilor este arbitrara si poate fi modificata fara restrictii - la intersectia unei linii (tuplu) cu o coloana (domeniu) din tabelul asociat relatiei, se gaseste o valoare specifica atributului - numarul total de tupluri formeaza cardinalitatea relatiei - numarul de atribute determina gradul relatiei, - produsul dintre cardinalitate si grad determina dimensiunea relatiei - corespondetele dintre tabele (relatii) sunt asigurate in mod implicit prin intermediul cheilor (atributelor) de legatura Sa presupunem urmatoarea relatie abstracta T, compusa din cinci atribute denumite C1,C2,C3,C4,C5 si sa identificam conceptele amintite mai sus: C1 1 1 2 1 Z Z Z Z C2 1 2 3 4 C3 5 6 7 8 C4 Y X X X C5

Cheia candidata o cheie candidata este unul sau mai multe atribute care ar putea identifica unic o realizare a unei relatii. Doua chei candidate au fost imediat identificate: C3 si C4. O cheie primara este o cheie candidata care a fost selectata pentru a juca rolul de identificator unic a unei realizari intr-o tabela. In exemplul nostru pot fi chei primare C3 si C4. Un rol important in alegerea cheii primare il are contextul relatiei. Cheile alternate sunt cheile care pot candida sa devina chei primare. Odata selectata o cheie primara, celelalte chei candidate care au ramas devin chei alternate. Ele sunt disponibile in dezvoltarea aplicatiei ca o alternativa in cautarea informatiei in entitati. Cheia externa - este un atribut al unei relatii care poate lua valori egale cu ale unui atribut declarat cheie primara intr-o alta relatie.

5.8. Normalizarea datelor Normalizarea vizeaza atributele apartinand relatiilor, pe care le analizeaza si le organizeaza astfel incat sa se amelioreze structura bazei de date, inlaturandu-se treptat o serie de anomalii de ordin logic si fizic. Se poate spune ca normalizarea este un proces care pe de o parte asigura: - eliminarea redundatelor si anomaliilor manifestate in procesul actualizarii datelor si pe de alta parte asigura performante de ordin fizic cum ar fi: - ocuparea optima a spatiului de memorie - reducerea timpului de raspuns a sistemului Bazele de date care nu au fost proiectate prin aplicarea regulilor de normalizare, prezinta riscul ca in exploatarea aplicatilor sa apara diverse anomalii care, potential pot corupe datele. Pot apare trei tipuri de anomalii:
58

anomaliile la adaugare anomaliile la stergere anomaliile la modificare Anomalia de adaugare rezulta din faptul ca nu pot fi incluse noi informatii intr-o relatie deoarece nu se cunosc si alte informatii cerute pentru adaugarea unui nou tuplu la acea relatie, in principal valorile pentru atributele din cheie Anomalia de stergere rezulta din faptul ca stergand un tuplu al unei relatii, odata cu stergerea anumitor informatii se pierd si informatiile utile, existente in tuplul respectiv Anomalia de modificare rezulta din faptul ca este dificil de modificat o valoare a unui atribut atunci cand ea apare in mai mult decat intr-un tuplu al relatiei.

EXEMPLU Fie relatia CAMINE, definita sa retina modul de repartizare a studentilor in cadrul caminelor: STUDENT Popescu Vasile Ionescu Adrian Popovici Iulian Andreescu George CAMIN C1 C2 C2 C3 TAXA CAMIN 500000 550000 550000 450000

Astfel definita, in prelucrari pot apare urmatoarele anomalii: anomalie la inserare: introducerea datelor privitoare la un nou camin (de ex. C4), pentru care s-a fixat taxa de cazare (de ex. De 600.000 lei) , nu se poate pana cand nu este repartizat primul student in camin Ce s-ar intampla daca vom avea inca un student cazat in caminul C2 ? Se vor multiplica in tabel valorile pentru Student, Camin, Taxa camin, ori de cate ori va fi cazat un student in acest camin. Acest lucru reprezinta o risipa de spatiu de memorie si o anomalie la introducere. La fiecare nou tuplu apare o multiplicare a informatiei existente. anomalie la stergere: la stergerea informatiei privind studentul Popescu Vasile se pierde informatia privind taxa de cazare la caminul C1 anomalie la modificare: majorarea taxei pentru studentii din caminul C2 va impune modificarea tuturor tuplurilor implicate, in caz contrar aparand inconsistente. Daca studentul Popescu Vasile se muta din caminul C1 in C3, se pierd datele despre caminul C1 Aceasta inseamna ca relatia CAMINE nu a fost bine definita si ea trebuie supusa procesului de normalizare. Intuitiv, fara sa stim nimic de normalizare, putem veni cu o solutie mai buna spargand tabela in doua, una care sa contina toate informatiile despre camin si o a doua care se contina informatiile despre studenti: CAMINE Camin C1 C2 C3

Taxa camin 500000 550000 450000

59

cu cheia primara camin si relatia STUDENTI Student Popescu Vasile Ionescu Adrian Popovici Iulian Andreescu George

Camin C1 C2 C2 C3

In care atributul camin este cheie externa. Dupa cum se poate observa, cheia externa nu trebuie sa aiba neaparat proprietatea de a identifica unic un tuplu intr-o tabela. Dupa aceasta proiectare a tabelelor, sa vedem daca mai apar anomaliile enuntate anterior. Anomalii de inserare, stergere si modificare trebuiesc rezolvate in etapa de proiectare a structurii bazei de date si nu dupa ce baza de date a fost incarcata cu date reale si au fost scrise aplicatii pentru ea. Tehnica celor cinci forme normale Am spus noi, ca normalizarea vizeaza atributele apartinand relatiilor, pe care le analizeaza si le organizeaza astfel incat sa se amelioreze structura bazei de date, inlaturandu-se treptat o serie de anomalii de ordin logic si fizic. Sa presupunem tabela denumita NOTE_EXAMENE ce contine notele obtinute in sesiunea de examene de studentii de la profilul Economic: NOTE_EXAMENE Nume_student Specializarea Grupa Disciplina Data Nota Care incarcate cu date, are urmatoarea structura: NOTE_EXAMENE
Nume_student Aelenei Catalin Aelenei Catalin Anchidin Lucian Anchidin Lucian Ionescu Lucian . Specializarea Contabilitate si informatica de gestiune Contabilitate si informatica de gestiune Contabilitate si informatica de gestiune Contabilitate si informatica de gestiune Marketing Grupa 531 531 532 532 541 Disciplina Proiectare sistemelor informatice financiar contabile Adam Romica Finante Publice Sambotin Neculai Proiectare sistemelor informatice financiar contabile Patrut Bogdan Finante Publice Sambotin Neculai Proiectare sistemelor informatice financiar contabile Adam Romica Data 05.02.2002 01.02.2002 10.02.2002 01.02.2002 06.02.2002 Nota 7 9 9 10 8

Ce observam? - tabela contine grupuri de date care sunt redundante se repeta pentru aceeasi valoare a unui atribut - atributul Disciplina nu contine valori elementare ci valori decompozabile

60

Definitii: valori elementare componente informationale ireductibile ce nu mai pot fi descompuse valori decompozabile - componente informationale reductibile care pot fi descompuse in atribute elementare Tabela NOTE_EXAMENE nu este o tabela normalizata, contine date redundante si anomalii la actualizare. 1. O tabela este in FN1 daca toate atributele sale contin valori elementare si nu contine grupuri repetitive. Tabela noastra nu este in FN1, deoarece, atributul Disciplina contine valori decompozabile, respectiv atributele Examen si Profesor. De asemenea pentru a putea exploata cu usurinta tabela apelam si la codificarea datelor, care pe de o parte are un efect deosebit asupra reducerii spatiului de memorie necesar si pe de alta parte da posibilitatea stabilirii cheilor candidate, care sa permita identificarea unica a unei realizari. Astfel pentru Nume_student introducem atributul Matricola_student care are o valoare numerica unica pentru fiecare student (acest cod este de tip secvential se atribuie din registrul matricol existent la facultate) Specializarea o codificam printr-un cod cu semnificatie mnemonica: Contabilitate si Informatica de Gestiune CIG, si definim atributul Cod_specializ Examen, i-l codificam tot printr-un cod cu semnificatie mnemonica si definim atributul Cod_examen Se obtin astfel urmatoarele tabele: STUDENTI
Matricola_student 1670 1671 1705 . SPECIALIZAREA Cod_specializ CIG MK EXAMENE Cod_examen PSIFC FP Nume_student Aelenei Catalin Anchidin Lucian Ionescu Lucian

Specializarea Contabilitate si informatica de gestiune Marketing Examen Proiectare sistemelor informatice financiar contabile Finante Publice

Iar tabela noastra initiala va deveni: NOTE_EXAMENE


Matricola_student 1670 1670 1671 1671 1705 Cod_specializ CIG CIG CIG CIG MK Grupa 531 531 532 532 541 Cod_examen PSIFC FP PSIFC FP PSIFC Profesor Adam R. Simbotin S Adam R. Simbotin S Adam R. Data 05.02.2002 01.02.2002 10.02.2002 01.02.2002 06.02.2002 Nota 7 9 9 10 8

61

- Care este cheia primara ? Cand cheia primara este formata din mai mult de un atribut se poate spune ca acea tabela nu este normalizata Tot nu am inlaturat redundantele. Exista grupuri care se repeta. Vom separa grupul Cod_specializ si Grupa atasandu-l la relatia Studenti si vom obtine: NOTE_EXAMENE
Matricola_student 1670 1670 1671 1671 Cod_examen PSIFC FP PSIFC FP Profesor Adam R. Simbotin S Adam R. Simbotin S Nota 7 9 9 10

Cheia primara = (Matricola_student, Cod_examen) De ce si Cod_examen ?? Fiindca Matricola_student contine valori care se repeta, deci nu se poate identifica unic o singura inregistrare. Pentru a afla nota obtinuta la un examen avem nevoie de ambele atribute. STUDENTI
Matricola_student 1670 1671 1672 Nume_student Aelenei Catalin Anchidin Lucian Asaftei Ana Maria Cod_specializ CIG CIG CIG Grupa 531 531 532

. Cheia primara = Matricola_student 2. O entitate este in forma normala doi (FN2) daca aceasta realizeaza proprietatile formei normale unu si daca toate atributele non-cheie sunt dependente functional de cheia primara

Cheie primara

Atribut 1

Atribut i

Tabela STUDENTI: este in FN2 - atribut cheie: Matricola_student - atribute non-cheie: Nume_student, Cod_specializ - dependente functionale:

Matricola_student

Nume_student

Cod_specializ

Entitatea NOTE_EXAMENE: - atribut cheie: Matricola_student + Cod_examen - atribute non-cheie: Profesor, Nota - dependente functionale:
Matricola_student Nota Profesor Cod_examen

62

Nota depinde functional de atributul cheie. Profesor depinde functional doar de atributul Cod_examen si nu de intreaga cheie primara. Profesor este dependent partial de cheia primara Anomalii: - nu pot sa introduc datele despre un profesor si disciplina pana nu exista un student care a dat examenul - daca ar exista doar un singur student care a dat examenul la o disciplina, stergerea acestuia ar elimina informartiile despre profesor si disciplina Obiectivul celei de-a doua forme de normalizare este de a extrage dependentele functionale partiale. Acest lucru conduce la descompunerea entitatii in alte doua relatii. EXAMENE
Cod_examen PSIFC FP NOTE_EXAMENE Matricola_student 1670 1670 1671 1671 Examen Proiectare sistemelor informatice financiar contabile Finante Publice Profesor Adam R. Simbotin S

Cod_examen PSIFC FP PSIFC FP

Nota 7 9 9 10

Se observa ca anomaliile din prima forma au fost eliminate in noile relatii. In plus, prin separarea totala a datelor despre examene decele despre studenti pot fi adaugate si sterse disciplinele de examen, fara sa aiba legatura cu datele despre studenti. 3. o entitate ste in forma normala trei (FN3) daca aceasta realizeaza proprietatile formei normale doi si nu contine dependente tranzitive. Dependentele tranzitive simple apar sub forma:

Cheie_primara

Atribut_i

Atribut_k

4. O entitate este in forma normala 4 (FN4) daca aceasta realizeaza proprietatile formei normale trei si nu contine dependente multiple O dependenta multipla exista atunci cand pentru trei atribute A,B, C ale unei relatii avem: pentru fiecare valoarea a lui A exista o multime bine definita de valori a lui B si alta bine definita de valori a lui C. Multimea valorilor lui B este independenta de multimea valorilor lui C.

63

5. Forma normala cinci (FN5) . o relatie este in FN5 daca este in forma a patra si daca din relatiile descompuse pot fi reconstruite informatiile prin intermediul jonctiunii (intervine asa-zisa dependenta de jonctiune si daca in urma jonctiunii se pierd tupluri atunci baza de date nu este in FN5) Observatie Nu in toate cazurile se impune parcurgerea tuturor etapelor de normalizare, insa prima forma normala este obligatorie.

Optimizarea structurii bazei informationale Procesul de transformare a diagramelor entitate-relatie in relatii se deruleaza in patru pasi: 1. Reprezentarea entitatilor. Fiecare tip de entitate din diagrama entitate-relatie este reprezentata ca o relatie in modelul relational al datelor. 2. Reprezentarea legaturilor. Fiecare legatura din diagrama entitate-relatie trebuie sa fie reprezentata in modelul relational al datelor. 3. Normalizarea relatiilor. Normalizarea va duce la o buna structurare a relatiilor si la inlaturarea anomaliiilor de ordin logic si fizic. 4. Fuziunea relatiilor. In timpul modelarii logice a datelor s-au creat diferite relatii, atat pe baza perspectivelor utilizatorilor cat si a transformarii uneia sau mai multor diagrame entitate-relatie in seturi de relatii. In structura acestor seturi de relatii pot exista unele relatii redundante, cum ar fi existenta a doua sau mai multe relatii care descriu acelasi tip de entitate, ce ar trebui sa fuzioneze si sa se renomalizeze pentru extragerea eventualelor redundante. I. Sa presupunem ca exista doua relatii ce se afla in FN3 si care reprezinta punctele de vedere pe care le au doi utilizatori diferite ai bazei de date. ANGAJAT1 (MARCA, NUME, ADRESA, TELEFON) ANGAJAT2 (MARCA, NUME, ADRESA, COD_SECTIE, VECHIME) Intrucat cele doua relatii au aceeasi cheie primara (MARCA), ele descriu aceeasi entitate, ar putea fuziona, rezultand o singura relatie sub forma: ANGAJAT (MARCA, NUME, ADRESA, TELEFON, COD_SECTIE, VECHIME) Din acest exemplu, rezulta ca unele atribute (NUME, ADRESA) ce apartineau celor doua relatii, acum apar o singura data, inclusiv cheia primara, acesta fiind avantajul fuzionarii relatiilor. Observatie. Fuziunea poate de conduca si la situatii prin care sa contravina celei de-a treia forme normalizate, respectiv sa duca la aparitia dependentelor tranzitive. Adica daca avem doua relatii , care au aceeasi chei primara A, si in care avem: A B si A C, ele pot fuziona intr-o singura relatie, cu conditia sa nu existe intre atributul B si C o dependenta functionala, care sa genereze prin fuziune o dependenta tranzitiva:

II. O a doua problema ce poate sa apara in timpul integrarii este cand avem legaturi de tip clasasubclasa. De exemplu, avem urmatoarele doua relatii: STUDENT1 (MATRICOLA, NUME, SECTIE)
64

STUDENT2 (MATRICOLA, CAMERA_CAMIN) In timp ce STUDENT1 contine atributele valabile tuturor studentilor, relatia STUDENT2 contine un atribut caracterisitic doar studentilor interni (pot exista studenti interni -cazati in camin si externi - cazati in oras). In acest caz , ar trebui create legaturi de tip clasa si subclasa pentru astfel de entitati: STUDENT (MATRICOLA, NUME, SECTIE) INTERN (MATRICOLA, CAMERA_CAMIN) EXTERN (MATRICOLA, DOMICILIU_ORAS) Asadar, in locul fuzionarii se creeaza chiar a trei relatie pentru a rezolva o astfle de situatie. III. O a treia problema se iveste in cazul sinonimelor. Sinonimele intervin atunci cand doua sau mai multe atribute au nume diferite, dar aceeasi semnificatie. De exemplu: NR_MATRICOL MATRICOLA COD_STUDENT Rezolvarea acestei probleme consta in folosirea unui singur nume de atribut, de ex. MATRICOLA, sau apelarea la un alt nume , inexistent printre sinonime, uneori chiar cu un continut diferit, dar care sa deserveasca scopului de identificare unica (de ex. CNP) IV. A patra problema apare in cazul omonimelor. Omonimele apar cand doua sau mai multe atribute au nume identice, insa continutul este altul. De exemplu, PRET poate sa insemne pret de productie, pret de livrare, pret cu tva sau fara tva etc.

65

Curs 11

Capitolul 6. Proiectarea de detaliu a sistemelor informatice


6.1. Alegerea solutiei optime de gestiune a datelor Modelele obtinute in urma analizei sistemului economic sunt modele conceptuale, adica modele ale datelor despre sistem. O caracteristica esentiala a acestor modele este faptul ca sunt independente de instrumentul care la face sa devina operationale, adica de SGBD. Independenta analizei de un anumit SGBD, este foarte importanta, deoarece orientarea pe conceptele proprii unui SGBD poate prezenta urmatoarele dezavantaje: - schimbarea SGBD-ului implica reproiectarea BD - conceptele tehnice ale SGBD pot influenta negativ activitatea de analiza, prin restrictiile impuse de acestea - utilizatorul neinformatician, care nu stapaneste SGBD-ul in cauza, nu isi poate exprima cerintele in mod clar Trecerea la proiectarea structurii BD, impune luarea in considerare a SGBD-ului cu ajutorul caruia va fi implementata si exploatata BD. Structura BD reprezinta de fapt un model al datelor exprimat in concepte specifice unui anumit SGBD, ceea ce inseamna ca proiectarea structurii BD reprezinta transpunerea modelelor conceptuale in termenii unui model al datelor suportat de un anumit SGBD. Alegerea SGBD-ului Procesul de alegere a unui SGBD presupune realizarea urmatoarelor activitati: stabilirea cerintelor utilizatorilor, sub aspectul - tipurilor de aplicatii - timpului de raspuns - confidentialitatii datelor - securitatii datelor - usurintei de utilizare stabilirea cerintelor de ordin tehnic privind realizarea BD: - portabilitatea SGBD - facilitatilile de implementare, intretinere si exploatare a bazei de date stabilirea cerintelor de ordin economic, privind: - incadrarea in bugetul alocat pentru realizarea BD - timpul necesar pentru pregatirea utilizatorilor si trecerea la exploatarea curenta a BD analiza comparativa a SGBD-urilor disponibile si/sau posibile de achizitionat, in functie de caracteristicile pe care la prezinta aceste SGBD-uri alegerea propriu-zisa a SGBD-ului ce va fi utilizat la realizarea BD Sa explicam acum, cateva din criteriile enuntate mai sus: Portabilitatea SGBD-ului - posibilitatea de a utiliza un SGBD de pe un sistem de calcul pe altul. Portabilitatea cuprinde doua aspecte si anume: - portabilitatea programelor propriu-zise - portabilitatea datelor. Pentru realizarea unot programe portabile este necesar ca programele sa contina cat mai putine elemente legate de echipament. Portabilitatea datelor se refera la posibilitatea de a folosi o serie de date utilizate in cadrul unui sistem informatic de catre un alt sistem informatic.

66

Facilitatilile de implementare, intretinere si exploatare a bazei de date sunt reflectate prin: - modalitatea de descriere a datelor - tehnicile de organizare si regasire a datelor, care sa permita un acces cat mai rapid la orice informatie; - timpul cat mai redus pentru actualizare, cautare si raspuns la cererile de informare

Alegerea variantei optime a bazei de date utilizate presupune selectarea realizarii unei singure baze de date sau a mai multora in functie de volumul datelor, complexitatea prelucrarilor si aria geografica a sistemului informatic proiectat. Astfel, pentru un sistem informatic pot fi avute in vedere 4 tipuri de baze de date: - baza de date centrala sau unica pentru intregul sistem - baze de date functionale realizate pentru fiecare functie a unitatii economice - baze de date specifice unui compartiment functional - baza de date combinata (distribuita) care intruneste toate caractersiticile functionale ale celorlalte tipuri 6.2. Proiectarea schemei bazei de date Descrierea structurii generale a bazei de date se face prin urmatoarele faze: a) atribuirea specificatorului bazei de date si a setului de tabele b) descrierea campurilor specifice tabelelor c) descrierea relatiilor dintre tabele Atribuirea specificatorului bazei de date presupune stabilirea numelui bazei de date, a dispozitivului si directorului unde va fi stocata (ex. C:\STUDENTI) si a numelui fiecarui tabel din baza de date. Din punctul de vedere al prelucrarii datelor, tabelelor se clasifica in: - tabele de baza - tabele pentru tranzactii - tabele intermediare - tabele statistice - tabele istorice Tabelele de baza sunt colectiile de date ce au un continut omogen, si care reflecta stari, caracteristici, evenimente preluate din unul sau mai multe documente primare. Ele formeaza fondul de baza al sistemelor informationale si au un caracter permanent, in sensul ca fiecare data are o anumita stabilitate in cadrul colectiei, in functie de existenta obiectului de referinta. Tabelele pentru tranzactii au un caracter temporar si un continut format din totalitatea modificarilor care pot interveni pe parcursul unui interval de timp asupra continutului informational din colectiile de date de baza. Aceste colectii de date sunt utilizate pentru actualizarea colectiilor obiect si nomenclatoarelor. Tabele de date intermediare sau de lucru - sunt obtinute pe baza unor operatii de sortare, fuziune, selectare din una sau mai multe colectii obiect, potrivit unor cerinte furnizate de utilizator in vederea obtinerii unor situatii. Tabelele de date statistice au un rol de orientare, de previziune, de fundamentare a unor decizii strategice. Datele cantitativ-valorice din aceste colectii au un grad ridicat de sintetizare si agregare, fapt pentru care ele pot si pastrate ditinct pe perioade mari de timp. Tabelele de date istorice au un rol de arhivare a continutului unor colectii obiect, de tranzactii sau statistice si reflecta o stare trecuta a fenomenelor si proceselor economice. Aceste colectii de date in sistem vor fi stocate pe suporti magnetici externi.

Descrierea campurilor specifice tabelelor se face prin urmatoarele elemente: - identificatorul campului
67

- tipul campului - lungimea campului - numarul de zecimale - cheia de indexare - conditiile de validare Un tabel Access poate avea max 255 campuri. Tinand cont de particularitatile SGBD Access apar urmatoarele particularitati: - identificatorul - lungimea max. 64 de caractere alfanumerice, inclusiv spatiile inglobate Recomandare: pentru flexibilitate in programare, se folosesc nume scurte, pline de continut semantic si fara spatii - nu se face distinctie intre literele mari si literele mici (totusi Access stocheaza literele asa cum au fost introduse): Marca = MARCA = marca - tipul poate fi: - numeric Number care poate include mai multe tipuri: Byte, Integer, Long Integer, Single, Double - caracter Text dimensiunea: 1-255 caractere (implicit este de 50 caractere) - logic Yes / No stocheaza numai valori True/False, Yes/No, On/Off - data calendaristica Date / Time Stabilirea proprietatii Default Value = Date() face ca Access sa introduca automat data curenta (=Now() ora si data) - memo Memo comentarii - daca limita de 255 caractere pentru un camp este insuficiente se recomanda tipul Memo ce permite memorarea a 64 Kb (cca 16 pagini de text). Campurile Memo constau numai din text, fara optiuni de formatare a textului (italic, bold etc) - numar cu incrementare automata Autonumber atribuie valori intregi secventiale - obiect OLE permite stocarea de documente, foi de calcul, sunete, imagini, video clipuri - Conditia de validare va fi specificata in functie de semantica si continutul economic al atributului respectiv. In Access, avem urmatoarele proprietati pentru un camp: - Format modul de afisare a datelor pe ecran - Input Mask controleaza introducerea datelor in cadrul campului - Default Value reprezinta valoarea initiala la adaugarea unei noi inregistrari - Validation Rule permite validarea datelor introduse la nivel de camp si la nivel de inregistrare Dscrierea acestor elemente cu privire la atributele colectiilor de date, poarta denumirea de proiectare a dictionarului atributelor. Proiectarea dictionarului se poate face manual, prin trecerea continutului nucleului bazei informationale in dictionarul atributelor, sau automat prin intermediul sistemului de gestiune a bazelor de date. Exemplu de dictionar al atributelor, redactat manual: Nr. crt. 1. 2. 3. 4. Denumirea atributului Cod material Denumire material Cod UM Cantitate Identificator COD_MAT DEN_MAT COD_UM CANTIT Tipul N C N N Lungimea 13 20 3 4 Conditii de validare 1000<COD_MAT<1 5000 COD_UM < 100 CANTIT > 0

La proiectarea cheii primare se au in vedere urmatoarele aspecte: - cheia primara nu poate avea valoare nula in cadrul duratei de existenta a bazei de date

68

- pentru fiecare cheie primara se poate crea un index unic in vederea optimizarii accesului direct, la tabela respectiva In Access pentru a sublinia faptul ca un camp nu trebuie lasat necompletat, se stabileste pentru proprietatea Required valoarea Yes. Pentru campurile cheie primara Primary Key o astfel de configurare este inutile, deoarece Access insista deja asupra faptului ca nu trebuie lasate necompletate. Proprietatea Required este utila pentru campurile cheie externa Foreign Key, pentru a impune, introducerea datelor in campul respectiv. Indecsii asigura mecanismul de regasire rapida a datelor. In general se indecseaza un camp atunci cand: - campul cuprinde valori ca gama larga de variatie - campul va fi folosit in mod semnificativ in criteriile de selectie sau sortare. Indexul cheie primara (Primary Key) prevede cate un pointer unic catre fiecare inregistrare si reprezinta ordinea de afisare prestabilita pentru tabele. Alte camuri pot fi indexate cu optiunea No Duplicates (fara duplicate) sau cu optiunea Duplicates OK care nu va avea aceleasi performante ca un index unic, dar este foarte util pentru indexarea unui cam de tipul Nume_salariat. Descrierea relatiilor dintre tabele implica reflectarea corespondentelor dintre entitatile bazei informationale sub forma cardinalitatii de tipul 1:1 sau 1:n. Relatiile se formeaza prin precizarea unei legaturi intre un camp (sau o combinatie de campuri) dintr-un tabel si campurile corespunzatoare din alt tabel. Tabelul din partea unu a relatiei trebuie sa aiba o cheie primara, iar tabelul din partea mai multi trebuie sa contina un camp similar. In mod normal, cheia externa trebuie sa fie de acelasi tip si sa aiba aceeasi dimensiune ca si cheia primara. Integritatea referentiala Atunci cand se declara o relatie, exista posibilitatea de a-I cere programului Access sa pazeasca integritatea referentiala a datelor implicate. Daca in tabelul FACTURI exista inregistrari pentru clientul 101, dar cineva a sters intre timp clientul cu codul 101 din tabela CLIENTI, integritatea referintiala a bazei de date a fost compromisa. Intr-o baza de date care cuprinde mai multe tabele, verificarea integritatii referentiale se realziaeaza prin intermediul unor rutine care cuprind sute de linii de cod. Acum aceasta verificare este preluata automat de catre Access. In Access, integritatea referentiala a fost extinsa pentru a permite realizarea operatiilor de actualizare si stergere in cascada. Astfel atunci cand un utilizator sterge sau modifica o inregistrare din tabelul primar, toate inregistrarile din tabelul asociat sunt de asemenea sterse sau modificate.

6.3. Sisteme de baze de date orientate obiect Istoria cercetarilor si dezvoltarii bazelor de date orientate obiect (BDOO) este relativ recenta si inca incompleta. In contrast cu dezvoltarea modelului relational din anii 1970, integrarea constructiilor orientate obiect in bazele de date nu s-a realizat pe o singura cale si nici nu a beneficiat de un model general acceptabil. Majoritatea sistemelor de baze de date orientate obiect au folosit rezultatele cercetarilor din alte domenii si au fost influentate de modelul relational si de catre limbajele de programare.

69

Un sistem de baze de date traditional memoreaza numai date, nu si proceduri. Datele sunt memorate complet independent de proceduri. Datele pot fi accesate cu ajutorul unui sistem de gestiune a bazelor de date relational. Prin contrast, sistemele de baze de date orientate obiect memoreaza numai obiecte. Un obiect consta din date insotite de metode, care implementeaza procedurile de prelucrare a datelor. Ideea de baza o constituie posibilitatea activarii automate a metodelor, ca proceduri atasate, in momentul accesului la date. Nici o data nu poate fi accesata decat prin metodele care ii este atasata (incorporata). Metodele sunt gata de actiune in momentul in care primesc o cerere de acces. Datele tuturor obiectelor sunt, deci, incapsulate impreuna cu metodele, iar aceasta proprietate le permite un comportament activ. Toti cercetatorii agreaza ideea ca tehnologia BDOO va deveni una dintre cele mai importante in informatica de gestiune. Cu toate ca exista opinii diferite in privinta modelelor propuse pentru BDOO, o serie de caracterisitici sunt deja general acceptate. Cerintele obligatorii formulate pentru un sistem de baze de date orientate obiect sunt: 1. obiecte complexe 2. identitatea obiectelor 3. incapsularea 4. tipuri si clase 5. mostenire de clasa sau de tip 6. suprapunere, supraincarcare si legarea intarziata Obiecte complexe Prin obiect se intelege o strucutra de date prevazuta cu stare si comportament specifice clasei din care face parte. Obiectul este identificat printr-un nume cu rol de identificator unic. Ex. Clasa reprezinta un model de definire a unei familii de obiecte cu proprietati similare. Ea descrie aceste proprietati in termenii atributelkor si metodelor. O clasa incorporeaza (incapsuleaza) datele si definitiile prelucrarilor aferente cu ajutorul metodelor si atributelor. Pentru fiecare metoda definita, o clasa dispune de o metoda de implementare invizibila utilizatorilor. Un obiect se distinde de alt obiect prin numele sau si valorile atributelor clasei de care apartine. In programarea BDOO, un obiect este creat prin instantierea clasei. Obiectul este considerat independent din punct de vedere operational si dispune de proprietatile si comportamentul definite pentru clasa. Obiectele au o specificatie in raport cu obiectele din lumea reala: ele sunt create pe baza unui model proiectat in prealabil, clasa. Acesta este procesul de instantiere. Exista doua faza ale procesului de transformare a obiectelor din lumea reala in obiecte artificiale: 1. definirea conceptelor din lumea reala (reprezentarea conceptuala) 2. transformarea reprezentarii conceptuale intr-um model in vederea executiei cu calculatorul. In programe obiectele sunt elemente operationale, in sensul ca fiecare obiect reactioneaza la stimuli in momentul receptionarii mesajelor de la si/ transmiterea mesajelor catre alte obiecte.
Mesaje receptionate

Atribute (valori) OBIECT

Mesaje trimise

70

Mesajele sunt structuri de control specifice limbajelor de programere pentru bazele de date orientate catre obiect. Metodele se utilizeaza la nivel de clasa in scopul definirii diverselor mesaje, care pot fi prelucrate de catre fiecare clasa. O metode definiste informatia solicitata (parametrii) de fiecare mesaj si prelucrarea efectuata de catre obiecte in momentul receptionarii unui mesaj. Un mesaj trimis unui obiect este asociat cu o metoda data, pentru care se transmit automat valorile parametrilor. Obiectele au, la randul lor, valori specifice pentru atribute si raspund de manipularea acestora, fiind modificabile cu ajutorul metodelor. Atributele si metodele pot fi definite pentru o clasa sau pentru un obiect particular. In cazul definirii lor pentru o clasa, acestea pot fi partajate pentru toate instantele clasei. De exemplu, atunci cand valoarea atributului unei clase este modificata, modificarea are loc asupra tuturor instantelor clasei. In concluzie, modelul obiectual realizeaza o fuziune dintre date si prelucrarile asociate intr-o singura notiune, aceea de clasa. Clasa este o concretizare, in BDOO, a modelulio prin care se pot defini clase noi, obiecte noi complexe precum si alte elemente operationale pentru programele create. Acesta este motivul pentru care Dezvoltarea programelor orientate obiect are doi pasi importanti: 1. definirea claselor, utilizarea mostenirii si metodelor, in faza de modelare a programelor. Mostenirea este o legatura realizata intre doua clase oarecare. Legaturile din interiorul uneiclase poarta numele de legaturi de utilizare, iar natura acestora se va specifica in modelul clasa-relatie si nu in modelul obiectului; 2. implementarea obiectului cu folosirea mecanismelor de instantiere si transmitere a mesajelor, prin care se arata actiunile efectuate de catre sistemele de baze de date orientate obiect. Aceasta reprezinta partea de programare propriu-zisa. Mostenirea se utilizeaza pentru dfinirea unor noi clase in functie de cele deja definite, In felul acesta se obtin clase derivate sau subclase. Clasa derivata este un caz particular al clasei pe care o mosteneste. Aspectele specifice unei clase derivate se definesc prin: - adaugarea unor atribute noi - adaugarea unor metode noi - redefinirea unor metode existente Unul din aspectele specifice mostenirii consta in aceea ca orice instanta din clasa de nivel inferior mosteneste proprietatile clasei de nivel superior (superclasa) si poate fi considerata o instanta a acesteia. Cand un obiect primeste un mesaj, el foloseste proprietatile pentru prelucrarea mesajului. Aceasta proprietate poarta numele de polimorfism. In momentul primirii mesajului, metoda adecvata este regasita dinamic,daca metoda nu exista este accesata superclasa de unde poate fi identificata metoda cautata, s.a.m.d.. Acest mecanism este implementat in diverse moduri on functie de limbajul utilizat si are un impact semnificativ asupra eficientei executiei. Identitatea obiectelor In sistemele de baze de date relationale un tuplu dintr-o relatie este identificat printr-o combinatie de atribute care alcatuieste cheia. Asocierile dintre tuplurile diferitelor relatii (tabele) care sut reprezentate prin memorarea cheii unei relatii ca atribut al altei relatii. In limbajele de programare, relatiile dintre doua inregistrari de reprezinta cu metoda pointerilor. In sistemle de baze de date orientate obiect, tehnica folosita pentru referirea obiectelor este similara limbajelor de programare. Fiecare obiect esre asignat unui identificator unic, generat de sistemm, numit object - identifier (oid). Distinctia dintre un identificatori de obiect (ID-object) si o adresa (pointer) consta in aceea ca identificatorul este foarte apropiat de locatia fizica a obiectului. Chiar daca atributele obiectului se schimba, identificatorul ramane mereu acelasi.

71

Incapsularea In bazele de date relationale, utilizatorii acceseaza si manipuleaza strucutrile relationale fara se se refere la indecsi, zone tampon sau structuri de fisiere. Conceptul de incapsulare consta in faptul ca baza de date orientata obiect este folosita ca depozit si pentru programele care actioneaza asupra datelor. Tipurile de date abstracte constituie mecanismul pentru itegrarea programelor cu datelor, asupra carora exercita prelucrari. Intr-un sistem care admite notiunea de incapsulare, un obiect al bazei de date se caracterizeaza prin operatiile aplicate asupra sa si mai putin prin proprietatile sale fizice. Atunci cand o baza de date suporta incapsularea, un obiect poate fi vazut ca fiind alcatuit dintr-o interfata si o implementare, astfel incat accesul si modificarea structurii memorate pentru acel obiect sunt posibile numai prin intermediul interfetei. Mostenirea clasei sau tipului Mostenirea, in limbajele de programare orientate obiect, se utilizeaza pentru partajarea operatiilor intre clasele care au aceleasi caracterisitici comportamentale. De exemplu, in cazul interfetelor grafice de tip Windows, casetele de dialog si pictogramele sunt prezentate pe ecran sub forma de ferestre. Caracteristicile Window, cum sunt deschiderea, mutarea si redimensionarea sunt prezentate cu ajutorul casetelor de dialog si imaginilor, considerate ca tipuri speciale de ferestre. Aceasta permite un anumit polimorfism, in sensul ca operatiile aplicate asupra ferestrelor pot fi aplicate si asupra casetelor de dialog ori pictogramelor. In modelele de date semantice accentul este pus la memorarea structurii, iar mostenirea se foloseste pentru partajarea caracteristicilor fizice ale unei clase. De exemplu, clasa persoana are proprietatile nume si prenume. Clasa student (o subclasa a clasei persoana) poate avea proprietatile nuje, prenume si anul. Fiecare student este o persoana. Astfel, un student poate fi considerat un tip special de persoana, la care exista o proprietate suplimentara, anul. In sistemele de baze de date orientate obiect, fata de mostenirea specifica limbajelor de programare orientate obiect, trebuie combinata prin descriere si memorare atat caracteristicile structurala cat si cele comportamentale ale aplicatiei. Pentru a identifica faptul ca o clasa mosteneste proprietatile altei clase se utilizeaza sintaxa: Student is a persoana Aceasta sintaxa inseamna ca toate operatiile definite pentru clasa persoana sunt definite si pentru subclasa student, iar fiecare instanta a clasei student este de asemenea o instanta a clasei persoana. Suprapunere, supraincarcarea si legarea intarziata Se poate afirma ca un sistem suporta supraincarcarea (overloading) daca este posibil ca pentru clase ediferite sa existe proprietati cu nume identic. De exemplu, cand clase persoana si vagon au atributul greutate. Exista si situatii in care supraincarcarea ofera posibilitatea suprapunerii (overriding) unei definitii a unei proprietati cu definitia altei proprietati. (persoana.display() si student.display().) Intr-un sistem de baze de date orientate obiect, care permite suprapunerea, o operatie dintr-o subclasa poate avea acelasi nume cu o operatie a superclasei de care apartine. Operatia din subclasa se suprapune pe definitia operatiei din superclasa. Intr-un sistem care permite legarea intarziata, cand o operatie este invocata asupra unui obiect, sistemul cauta in clasa obiectului respectiv definita corespunzatoare din momentul apelului, iar daca acea definitie nu exista va fi cautata in superclasele corespondente pana cand este gasita.

72

Curs 12 6.4. Proiectarea formularelor si a rapoartelor Exploatarea structurii fizice a bazei de date presupune elaborarea procedurilor necesare pentru crearea, actualizarea, listarea, reorganizarea si salvarea datelor si se realizeaza prin intermediul unei secvente logice de module. Diagrama de structura este o reprezentare grafica prin care se descrie arhitectura fizica a modulelelor sistemului, modul in care acestea sunt legate intre ele, prin prisma transmiterii controlului sau a transferului de date. Diagrama de structura este folosita pentru a arata modul in care un sistem se descompune in programe, precum si structura interna a programelor . Descompunerea aplicatiei se poate face dupa criteriul functionalitatii, motiv pentru care elementele rezultate se mai numesc si module functionale. Din punct de vedere al fluxului datelor pot fi: module de intrare, care manipuleaza datele de intrare; module de iesire, care furnizeaza rezultate ale prelucrarilor; module de prelucrare, care efectueaza diverse operatii asupra datelor colectionate. Pentru proiectarea programelor, programatorii vor respecta sistemul de cerinte si restrictii impus de etapele parcurse anterior pentru realizarea sistemului informatic. Dictionarul atributelor si schema bazei de date proiectate in etapa anterioara trebuiesc bine verificate, deoarece orice revenire asupra lor dupa scrierea procedurilor de prelucrare, poate duce la o serie de probleme cum ar fi: - Schimbarea numelui unui camp, implica modificari in toate interogarile, formularele, rapoartele, comenzile macro si modulele, care folosesc numele campului respectiv - Schimbarea tipului unui camp, implica modificarea formatului de reprezentare a datelor in interogari, formulare, rapoarte, precum si declaratiile de variabile din cadrul modulelor - modificarea dimensiunii unui camp poate duce la invalidarea relatiilor cu tabelele asociate, sau la situatia in care spatiul pe ecran alocat in formular si rapoarte este necorespunzator - modificarea relatiilor dintre tabele poate determina efecte neasteptate asupra interogarilor, si implicit asupra formularelor sau rapoartelor bazate pe interogarile respective - exista posibilitatea ca problemele mai subtile sa ramana neobservate perioade lungi de timp, pana in momentul in care niste modificari efectuate intr-o anumita parte a bazei de date sa determina aparitia unor efecte colaterale nedorite in cadrul programului. 1. Formularele reprezinta interfata utilizator a bazei de date si reprezinta ferestrele primare folosite pentru introducerea, actualizarea si afisarea datelor. Ele apar sub forma unor machete ecran care contin anumite date predefinite, la care se adauga altele ce urmeaza a fi completate in rubrici special rezervate. Un exemplu de formular proiectat in mediul Windows arata astfel:
SC ALFA SRL Informatii client: Cod client: Nume client Adresa: Banca Cont bancar: Total vanzari: Total incasari: Limita credit: 144 SC XXX Srl Str BCR 2511.010101 150.000.000 lei 130.000.000 lei 25.000.000 lei OK

Cancel

Listare

Detalii

Sold la zi:

20.000.000 lei

73

Formularele de introducere a datelor, au ca obiectiv solicitarea, intr-o maniera prietenoasa, a datelor ce trebuiesc introduse de catre utilizator de la tastatura, cu posibilitatea de a-l corecta sau ajuta in situatiile neclare. De asemenea, pentru a informa utilizatorul de importanta si semnificatia anumitor date ce urmeaza a fi introduse, se pot pune in evidenta acele informatii sub diferite forme: - marcaj clipitor / intermitent - marcaj sonor - culori diferite - diferentieri prin fonturi - subliniere - casete cu date grupate a) b) c) d) e) f) g) Criterii de evaluare a performantelor interfetelor din programele de introducere a datelor deplasarea pe ecran/formular (deplasarea de la un camp la altul ) posibilitati de editare (adaugare, stergere, modificare a datelor dintr-un formular) facilitati de iesire transmiterea continutului ecranului in baza de date a aplicatiei trecerea la un alt ecran/formular iesirea temporara intr-un mediu de lucru ajutator (vizualizare ceas, apelare alta aplicatie etc) oferirea informatiilor ajutatoare (HELP) despre orice camp despre intregul formular posibilitati de control al accesului restrictionarea accesului utilizatorilor autorizarea unor categorii de utilizatori la anumite tipuri de date facilitati oferite la introducerea datelor sa nu se solicite introducerea de date deja existente in sistem sau usor de calculat trecerea automata la campul urmator, atunci cand s-a introdus un anumit numar de caractere alinierea automata a datelor introduse controlarea tipului caracterelor introduse tehnici de validare introduse testarea daca datele sunt de un anumit tip testarea lipsei datelor in anumite campuri verificarea incadrarii valorilor in anumite intervale verificarea numarului de caractere introduse

In SGBD Access, un formular poate fi afisat in trei moduri diferite: Modul Design (Proiectare) este utilizat pentru a schimba prezentarea si proprietatile unui formular, sau pentru a modifica controalele dintr-un formular Modul Datasheet (Foaie de date) Modul Form (Formular) afiseaza un formular in curs de utilizare In Access aproape orice este tratat ca un obiect, inclusiv tabelele, formularele, interogarile, rapoartele si chiar datele. Obiectele sunt de un anumit tip, si sunt caracterizate de anumite proprietati si de anumit evenimente la care raspund si interactioneaza. Proprietatile definesc modul de utilizare a unui obiect. Evenimentele definesc ceea ce se intampla la utilizarea acestuia. Obiectele sunt organizate in colectii. O colectie este un grup de obiecte de acelasi tip. De exemplu, colectia Form este formata din toate formularele deschise intr-o baza de date. Referirea unui formular se face de ex. cu expresia Forms![frmclienti]
74

Un formular poate sa contine casete text, butoane de comanda, campuri calculate si alte obiecte ce pot grupa datele pe ecran intr-o maniera logica si cu multe informatii ajutatoare. Fiecare obiect dintr-un formular este denumit element de control (control). Toate controalele dintr-un formular sunt reunite intr-o colectie denumita Controls (Controale). Dintre obiectele de tipul controls mai importante, amintim: - Labels - etichete contin un text ce nu poate fi modificat de utilizator - Text Box casete de text locul unde utilizatorul poate introduce date - Option Button butoane de optiune pentru selectarea uneia din mai multe posibile - Check Box - butoane de validare selectarea mai multor variante de rapsuns - List Box - lista de optiuni afisare optiunilor sub forma de lista - Command Button buton de comanda executia unei comenzi - Image imagine afisarea unei imagini - ActiveX Controls alte obiecte Windows, ce pot prelucra imagini video, audio, compatibile cu alte aplicatii Windows Referirea unui control din cadrul formularului se face prin: Forms![frmclienti]![nume_client].Caption Principalele proprietati si evenimente ale formularelor (in Access) a) Proprietati: Proprietatile Format controleaza aspectul formularului: - Caption titlul formularului - AutoCenter centrare automata/sau nu in cadrul ecranului - DefaultView modul de afisare a formularului: Single/Continuous/Datasheet - ScrollBars - stabileste daca fromularul are bare de derulare orizontale/verticale - MaxMinButtons indica prezenta butoanelor de minimizare/maximizare Proprietatile Data - controleaza tipul operatiilor cu date care sunt permise in cadrul formularului: - RecordSource se specifica care este locul de memorare al datelor afisate (tabela, interogarea etc.) - Filter aplica un filtru asupra datelor specificate in RecordSource - DataEntry - daca este - daca este Yes, formularul poate fi folosit numai pentru introducerea unor inregistrari noi - AllowEdits daca este No, utilizatorii pot vedea, dar nu pot modifica inregistrarile existente - AllowDeletions - permite stergerile de inregistrari b) Evenimente Evenimente dedicate administrarii formularului insusi: - Open si Load au loc cand este deschis un formular - UnLoad si Close au loc cand este inchis un formular - Activate, GotFocus si Deactivate, LostFocus au loc la activarea / dezactivarea formularului - Click, DblClick au loc cand mouse-ul interactioneaza cu formularul Evenimente pentru administrarea inregistrarilor - BeforeUpdate, AfterUpdate la editarea unei inregistrari - BeforeInsert, AfterInsert la adaugarea unei inregistrari Crearea unei aplicatii Access este tocmai procesul de creare a obiectelor, de definere a proprietatilor acestora si de programare a raspunsurilor la evenimentele lor.

75

2. Rapoartele In timp ce formularul este proiectat in primul rand pentru lucrul pe ecran, raportul este proiectat in primul rand pentru tiparire (poate fi afisat si pe ecran). Pe langa aceasta deosebire de destinatie, diferenta majora este ca formularul este proiectat avand in vedere accesul aleator la date, pe cand raportul nu modifica niciodata datele. Raportul ofera posibilitatea prelucrarii datelor in scopul obtinerii unor rezultate sintetice: subtotaluri, totaluri, o colectie de grafice sau analize financiare complexe. In proiectarea iesirilor, analistul trebuie sa elaboreze un model demonstrativ al raportului si sa intrebe utilizatorul daca informatiile reflectate in acel model sunt acceptabile. Utilizatorului trebuie sa analizeze si sa se pronunte daca i se ofera ceea ce a cerut, ca nu sunt adaugate informatii de prisos si ca iesirile sunt redate in cea mai placuta forma. Tipurile de rapoarte ce pot fi generate si ce informatii obligatorii trebuie sa contina acestea, au fost stabilite in faza proiectariii de ansamblu a sistemulu informatic. In aceasta faza, a proiectarii de detaliu, se realizeaza situatiile de iesire definite in faza anterioara, tinand cont de limitele si performantele SGBD-ului utilizat si de cerintele utilizatorilor. In Access: Raportul are cateva evenimente pentru a trece la actiune in timpul operatiilor de deschidere, activare, dezactivare si inchidere, cand apare un delimitator de paginim cand apare o eroare sau cand nu exista date introduse in inregistrarea de baza a raportului: Open si Close, Activate, DeActivate, Page, Error, NoData. Evenimentele raportului furnizeaza mijloacele de organizare a datelor din raport pregatire pentru tiparire. Evenimentele Format si Page pot fi folosite pentru adaugarea unor grafice in raport, folosint metode ale raportului cum ar fi Line, Circle, Pset

6.5. Modelul unui sistem informatic contabil integrat 1. Caracteristici generale ale unui sistem informatic contabil integrat Sistemul informatic contabil integrat are la baza conceptul organizarii contabilitatii in doua circuite, aferente contabilitatii financiare si contabilitatii de gestiune interna. Din punct de vedere structural, sistemul informatic financiar contabil integrat se compune din urmatoarele subsisteme: - previziunea financiara, care are principal scop fundamentarea si elaborarea bugetului de venituri si cheltueili - normarea costurilor de productie si antecalculatie, care urmareste prefigurarea cu anticipatie a nivelului cheltuielilor de productie si a costurilor ocazionate de activitatile economice desfasurate - contabilitatea financiara (sintetica) si de gestiune interna (analitica) - care asigura evidentierea proceselor economice interne care genereaza miscarea si transformarea patrimoniului unitatii in raport de specificul operatiilor economice desfasurate - analiza economico-financiara, care asigura comparabilitatea rezultatelor obtinute intre doua perioade de gestiune, cu reflectarea factorilor ce au influientat pozitiv sau negativ rezultatele activitatii si care au produs modificari la nivelul absolut sau relativ a indicatorilor economico-financiari. In cadrul sistemului informatic financiar-contabil integrat, contabilitatea financiara si de gestiune reprezinta componenta centrala a sistemului, deoarece asigura conducerea si controlul tuturor proceselor economice generatoare de informatii pentru toate celelalte componente ale sistemului
76

informatic, cat si pentru conducerea unitatii economice, inclusiv pentru legaturile informationale cu exteriorul (Ministerul Finantelor, institutii, alte societati comerciale etc). 2. Obiectivele sistemului informatic contabil integrat Obiectivul general al s.i.c.i. constituie cresterea calitatii si operativitatii informatiilor contabile in vederea reflectarii veridice a proceselor economice, a fluxurilor de valori materiale si banesti a rezultatelor exercitiului financiar. Realizarea acestui obiectiv impune trecerea de la aplicatii informatice specializate in realizarea unor sectiuni ale contabilitatii (evidenta stocurilor si comenzilor in curs de executie, evidenta mijloacelor fixe, evidenta creantelor si obligatiilorr etc.), la un sistem informatic caracterizat prin integrarea tuturor activitatilor desfasurate, astfel incat acestea sa evidentieze in mod automat toate operatiile contabile eferente unei perioade de gestiune a unitatii economice. Obiectivele specifice ale sistemului contabil integrat au in vedere realizarea tuturor prelucrarilor intr-un cadru unitar, care sa conduca la cresterea gradului de prelucrare a informatiilor din baza de date prin posibilitatile multiple de corelare si sintetizare a datelor, prelucrarea integrata a unor operatii contabile specifice (calculul amortizarii, salariilor, decontarea costurilor de productie, dimensionarea veniturilor etc.), inclusiv exploatarea concomitenta a tuturor aplicatiilor informatice componente ale acestui sistem. De asemenea, aceste obiective presupun existenta unei baze de date contabile de tip distribuit, la care sa poata avea acces diferentiat, in functie de responsabilitatile aferente fiecarui compartiment functional, persoanele implicate in exploatarea acestei baze de date. In acest sens baza de date contabila va fi creata numai de utilizatori autorizati pe baza unor documente de intrare adaptate acestui scop, urmata de prelucrarea multipla. Realizarea completa a obiectivului general si a obiectivelor specifice presupune existenta si functionarea unei retele locale de calculatoare la nivelul unitatii, iar in cadrul fiecarui compartiment implicat sa existe cel putin un calculator. 3. Situatiile de iesire ale sistemului informatic contabil integrat Unitatile patrimoniale conform legii contabilitatii nr. 81/91 modificata si republicata, au obligatia: - intocmirii documentelor justificative pentru orice operatie care afecteaza patrimoniul societatii - inregistrarii in contabilitate a operatiunilor patrimoniale - inventarierea patrimoniului - intocmirea bilantului contabil - controlul asupra operatiilor patrimoniale efectuate - furnizarea, publicarea si pastrarea informatiilor cu privire la situatia patrimoniului si rezultatele obtinute de unitate Tot in conformitate cu Legea contabilitatii, unitatile economice sunt obligate sa utilizeze registrele de contabilitate: registrul jurnal, registrul inventar si cartea mare. Proiectarea sistemelor informatice financiar contabile trebuie sa aiba in vedere in primul rand asigurarea respectarii normelor contabile privind stocarea, pastrarea si controlul datelor inregistrate in contabilitate.

77

6.6. Criterii minimale privind programele informatice utilizate in domeniu financiarcontabil Prin normele metodologice pentru intocmirea si utilizarea formularelor contabile privind activitatea financiara si contabila, Ministerul Finantelor a stabilit ca sistemele de prelucrare automata a datelor la nivelul fiecarei unitati patrimoniale trebuie sa asigure conditiile necesare efectuarii controlului legal. Astefel, la elaborarea si adaptarea programelor informatice vor fi avute in vedere urmatoarele: a) In privinta controlului intern: - cuprinderea in procedurile de prelucrare a reglementarilor in vigoare si a posibilitatii de actualizare a acestora, in functie de modificarile intervenite in legislatie - cunoasterea adecvata a functiilor sistemului de prelucrare a datelor de catre personalul implicat si respectarea acestora - gestionarea pachetelor de produse-program, asigurarea protectiei lor impotriva unor accese neautorizate, realizarea confidentialitatii datelor din sistemul informatic - stabilirea tipului de suport pentru pastrarea datelor de intrare, intermediare sau de iesire - solutionarea eventualelor erori care pot sa apara in functionarea sistemului b) In privinta controlului extern: - verificarea completa sau prin sondaj a modului de functionare a procedurilor de prelucrare prevazute in sistemul informatic - verificarea totala sau prin sondaj a operatiunilor economico-fianciare inregistrate in contabilitate, astfel incat acestea sa fie efectuate in concordanta stricta cu prevederile actelor normative care le reglementeaza - verificarea prin teste de control a programului informatic utilizat Astfel, sistemele de prelucrare automata a datelor in domeniul financiar-contabil trebuie sa raspunda la urmatoarele criterii considerate minimale: a) sa asigure concordanta stricta a rexulatatului prelucrarilor informatice cu prevederile actelor normative care le reglementeaza b) sa precizeze tipul de suport care asigura prelucrarea datelor in conditii de siguranta c) sa precizeze cu claritate sursa, continutul si apartenenta fiecarei date. Fiecare data inregistrata in contabilitate trebuie sa se regaseasca in continutul unui document scris, la care poate avea acces atat beneficiarii cat si organele de control d) sa asigure listele operatiunilor efectuate pe baza de documente justificative, care sa fie numerotate in ordine cronologica, interzicandu-se inserari, intercalari, precum si orice eliminari sau adaugiri ulterioare e) sa asigure reluarea automata a soldurilor conturilor obtinute anterior f) sa asigure conservarea datelor pe o perioadade timp care sa respecte prevederile art. 25 din Legea Contabilitatii nr. 82/1991 g) sa precizeze procedurile si suportul magnetic extern de arhivare a produselor-program, a datelor introduse, a situatiilor financiare sau a altor documente, cu posibilitatea de reintegrare in sistem a datelor arhivate h) sa nu permita inserari, modificari sau eliminari de date pentru o perioada inchisa i) sa asigura urmatoarele elemente constitutive ale inregistrarilor contabile: - data efectuarii inregistrarii contabile a operatiunilor - jurnalul de origine in care se regasesc inregistrarile contabile - numarul paginii sau numarul curent al inregistrarii in jurnalul de origine - numarul documentului justificativ sau contabil (atribuit de emitent) j) sa asigure confidentialitatea si protectia informatiilor si a programelor prin parole, cod de identificare pentru accesul la informatii, copii de siguranta pentru programe si informatii k) sa asigure listari clare, inteligibile si complete, care sa contina urmatoarele elemente de identificare, in antet sau pe fiecare pagina, dupa caz:
78

l) m) n)

o) p) q) r) s) t) u)

tipul documentului sau a situatiei denumirea unitatiip atrimoniale perioada la care se refera informatia daterea listarilor paginarea cronologica precizarea programului informatic si a versiunii utilizate sa asigure listarea ansamblului de informatii financiare si documente de sinteza necesare conducerii operative a unitatii sa asigure respectarea continutului de informatii prevazut in macheta formularelor aprobate de Ministerul Finantelor, in cazul editarii acestora cu ajutorul tehnicii de calcul sa permita, in orice moment, reconstituirea continutului conturilor, listelor si informatiilor supuse verificarii. Toate soldurile conturilor trebuie sa fie rezultatul unei liste de inregistrari si al unui sold anterior al acelui cont. Fiecare inregistrare trebuie sa aiba la baza elemente de identificare a datelor supuse prelucrarii sa nu permita: deschiderea a doua conturi cu acelasi numar modificarea numarului de cont in cazul in care au fost inregistrate date in acel cont suprimarea unui cont in cursul exercitiului curent sau aferent exercitiului precedent, daca acesta contine inregistrari sau sold editarea a doua sau mai multor documente de acelasi tip, cu acelasi numar si continut diferit de informatii sa permita suprimarea unui cont care nu are inregistrari pe parcursul a cel putin doi ani (exercitii financiare), in mod automat sau manual sa prevada in documentatia produsului informatic modul de organizare si tipul sistemului de prelucrare: monopost sau multipost monosocietate sau multisocietate retea de calculatoare portabilitatea fisierelor de date sa precizeze tipul de organizare pentru culegerea datelor preluari pe loturi cu contul ulterior preluari in timp real cu efectuarea controlului imediat combinarea celor doua tipuri sa permita culegerea unui nelimitat de inregistrari pentru operatiunile contabile sa posede documentatia tehnica de utilizare a programelor informatice necesara exploatarii optime a acestora sa respecte reglementarile in vigoare cu privire la securitatea datelor si fiabilitatea sistemului de prelucrare

Elaboratorii de programe informatice au obligatia de a prevedea, prin contractele de livrare a programelor informatice, clauze privind intretinerea si adaptarea produselor livrate, precum si clauze privind eliminarea posibilitatilor de modificare a procedurilor de prelucreare a datelor de catre utilizatori.

79

Curs 13

Capitolul 7. Realizarea si testarea programelor


7.1. Caracteristici de calitate a datelor 7.2. Testarea produselor program Testarea este un proces de evidentiere a erorilor si a cauzelor care le genereaza. Testarea produselor program presupune compararea rezultatelor propuse a fi obtinute cu cele efectiv furnizate de aplicatia informatica. Daca se realizeaza identitatea intre cele doua categorii de rezultate, operatia de testare se considera incheiata. Exista un acord general asupra faptului ca datele pot fi extrem de costisitoare, deoarece sunt de cele mai multe ori importante resurse ale unei organizatii. Datele slabe din punct de vedere calitativ pot exista sub diverse forme: - date redundante, ce pot conduce la costuri de productie ridicate - date neactualizate, ce pot conduce la decizii nefundamentate - date slab definite, ce pot conduce la folosirea eronata a informatiei Dintre caracteristicile de calitate a datelor, putem sublinia: - datele trebuie sa fie accesibile utilizatorilor - adica utilizatorii trebuie sa stie cum sa regaseasca datele - utilizatorul trebuie sa poata interpreta datele - adica datele nu sunt prezentate intr-o codificare necunoscuta utilizatorului - datele trebuie sa fie relevante pentru beneficiar - datele sunt necesare si oportune pentru folosirea de catre beneficiar in procesul de luare a deciziilor. Programele trebuie sa fie inzestrate cu interfete prietenoase, sa contina un sistem de informatii care asista procesul de utilizare. Un program bun livrat pe CD sau disketa, nu trebuie sa creeeze probleme utilizatorilor sai, ci dimpotriva trebuie sa ofere o instalare usoara, o configurare automata, iar la introducerea de date eronate, sa existe modalitati simple pentru efectuarea corectiilor. Programul este bun in cazul in care indiferent de ceea ce s-a introdus se obtine, fie un rezultat, fie un mesaj si niciodata transmiterea automata a controlului catre sistemul de operare (iesirea din program) sau bloarea calculatorului. Programul este bun, in general daca efectueaza exact prelucrarile pentru care a fost construit. Testarea top-down este aplicabila programelor cu structura modulara si se porneste de la modulul director catre modulele functionale, apoi catre cele operationale astfel: - se testeaza modulul director si cele functionale - se testeaza individual modulele operationale - se testeaza relatiile dintre module, prin incercari cu seturi de date asupra programului asamblat Pe masura testarii modulelor acestea vor fi integrate in fluxul functional al sistemului informatic, descris in etapele de proiectare. Acest mod de asamblare, prin intermediul testelor, permite corectarea unor eventuale erori de conceptie privind functionarea aplicatiei economice. Testarea nu se considera incheiata decat atunci cand se efectueaza lansarea prelucrarii de catre intreaga aplicatie informatica a unui set complet de date. Un set complet va include toate datele posibile corecte si eronate, pentru a urmari reactia de raspuns a sistemului.
80

In aceasta ultima testare globala se va urmari: - validarea corectitudinii datelor primare si a rezultatelor - raspunsurile/mesajele sistemului informatic - modul de operare in timpul executiei programului Obiectivele testarii evidentierea comportamentului software in situatii particulare (de exceptie) (se testeaza cum se executa programul care utilizeaza fisiere, atunci cand acestea lipsesc; se introduc date de diverse tipuri pentru testarea algoritmilor etc.) Rezulta de aici ca rolul testarii este acela de a pune in evidenta puctele slabe ale programului. Adica situatiile in care programul nu ofera rezultate corecte, ba mai mult determina intreruperea executiei si transferul controlului spre functii ale sistemului de operare. Rolul testarii de a stabili locul, momentul producerii unei erori si tipul acesteia. Stabilirea cauzelor de producere a erorilor stau in seama celor care au construit programul. Testarea determina acumularea de experienta si conduce la dezvoltarea de secvente, proceduri, module care elimina neajunsuri anterioare si ridica pe un plan superior activitatea de programare. testarea are menirea de a pune in evidenta masura in care un program realizeaza ceea ce este descris in specificatii (Specificatiile descriu rapoartele (iesirile) pe care le editeaza/afiseaza un program, modul de calcul si informatiile initiale) Testarea unui produs software presupune o calificare adecvata. Personalul specializat in testarea software trebuie sa cunoasca tehnicile de analiza, proiectare si programare si sa inteleaga problema pe care programul o rezolva si sa aiba capacitatea de a distinge diferentele care apar intre rezultatele oferite de program si cele obtinute prin specificatii. In literatura de specialitate, persoana care se ocupa de testare software se numeste software tester. Procesul de testare se recomanda a fi independent de producatori si de utilizator pentru a asigura rigurozitatea rezultatelor si a interpretarilor corecte a acestora. Testerul colecteaza erorile, le stabileste frecventele si cuantifica efectele pe care acestea le genereaza la utilizatori. Rapoartele finale sunt cele care directioneaza dezvoltarea de versiuni beta de lucru. Variantele beta sunt specifice perioadei de colectare de date privind comportamentul software direct de la utilizatori.

7.3. Definitivarea programului testat si a documentatiei aferente In cadrul acestei activitati se vor optimiza elementele de interfata cu utilizatorul (videoformate, dialoguri, sisteme de help), se vor pune la punct proceduri de preintimpinare si corectare a erorilor involuntare de operare, se elaboreaza manualul de prezentare si manualul de utilizare si exploatare. Manualele se vor organiza modular, pe categorii de utilizatori si/sau executanti ai lucrarilor, in conformitate cu structura organizatorica a unitatii beneficiare si a personalului ce va asigura exploatarea. Continutul acestor documentatii este urmatorul: a) Manualul de prezentare 1. Obiective, performante, limite 2. Modul de integrare a componentei informatice in cadrul sistemului, legaturi cu celelalte componente informatice 3. Prezentarea metodelor si algoritmilor utilizati 4. Schema de structura functionala a componentei informatice
81

5. Prezentarea iesirilor 6. Prezentarea intrarilor 7. Schema de structura generala a bazei de date 8. Schema fluxului informational 9. Resursele necesare pentru exploatare: echipamente, configuratii, necesar de personal 10. Conditii de aplicare si restrictii de utilizare: necesar de codificari, alte operatii pregatitoare 11. Costuri si eficienta: costul implementarii si exploatarii; eficienta estimata b) Manualul de utilizare si exploatare I. Instructiuni de utilizare 1. Proceduri de codificare - structura codurilor pentru fiecare multime - metode de validare - modul de intretinere 2. Proceduri de colectare/transmitere a datelor si utilizare a documentelor proiectate - documente de intrare (machete, caracteristici) - instructiuni de completare documente/formulare cu date de intrare - exemple de completare - verificari/ validari chei de control - instructiuni, fluxuri de circulatie, responsabilitati de intocmire si completare a formularelor - instructiuni de centralizare, arhivare, termene de pastrare, distrugere 3. Proceduri de validare date de intrare 4. Proceduri de utilizare, interpretare a rapoartelor de iesire - rapoarte de iesire - instructiuni de interpretare si verificare - chei de control - fluxuri de circulatie - termene, mod de difuzare, arhivare II. Instructiuni de exploatare 1. Graficul de exploatare a procedurilor - succesiunea in timp a procedurilor de primire/pregatire date, prelucrare, control, transmitere rezultate 2. Proceduri de primire/restituire date de intrare - organizarea primirii datelor/ documentelor de intrare, conditii de primire - controlul formal si de fond : reguli sintactice, relatii logice, chei de control - indicatii de transmitere, restituire, termene de pastrare 3. Proceduri de pregatire a datelor de intrare / introducere date de intrare - reguli de introducere date (tastare, verificare) - conditii de transmitere, pastrare, distrugere 4. Proceduri de asamblare lucrari - schema functionala a procedurilor - variante de prelucrare, optiuni si restrictii, diagrama de rulare a procedurilor automate - configuratia necesara - documentatie de exploatare a fiecarei proceduri automate - lista mesajelor - instructiuni pentru protectia/salvarea fisierelor - conditii de restaurare a fisierelor - lista fisierelor - proceduri de operare, interventii in caz de incidente Un sistem informatic este continuu perfectibil. Aceasta stare de lucru este fireasca, intrucat orice sistem informatic va simula un sistem informational. Adica un concept departe de a fi caracterizat prin stabilitate.
82

In cadrul acestei etape se termina construirea sistemului informatic, dupa care urmeaza implementarea lui.

7.4. Securitatea si protectia informatiei Informatia este un produs care, ca si alte importante produse rezultate din activitatea uman, are valoare pentru o organizatie si n consecint, este necesar s fie protejat corespunztor. n pofida unor sisteme legislative destul de bine puse la punct, furtul de informatii prin intermediul calculatorului s-a extins foarte mult, mai ales n unele tri care detin tehnologii avansate. El reprezint un domeniu extrem de delicat, iar pentru protectia si securitatea datelor se fac eforturi uriase. Anual se cheltuiesc sume imense pentru prentmpinarea fraudelor pe calculator. Numai pentru SUA unele statistici indic sume, cheltuite anual n acest scop, situate ntre 4 si 6 miliarde de dolari. Din punctul de vedere al securittii, informatia este caracterizat de: - confidentialitate: caracteristic a informatiei care asigur accesibilitatea numai pentru cei autorizati s aib acces la ea, - integritatea: reprezint garantia acuratetii si completitudinii informatiei si a metodelor de prelucrare a acesteia, - disponibilitatea: reprezint asigurarea c numai utilizatorii autorizati au acces la informatii si la produsele aferente oricnd exist o solicitare n acest sens. Fiecare organizatie n parte si poate implementa propriul su sistem de asigurare a securittii informatiei. Un management al securittii informatiei se realizeaz prin implementarea unui set corespunztor de actiuni care cuprinde politici, practici, instrumente si proceduri, structuri organizationale, precum si functii software. Toate actiunile trebuie prevzute, definite si aplicate pentru a asigura c sunt ntrunite obiectivele specifice de securitate ale organizatiei. Din ce n ce mai mult, organizatiile, sistemele si retelele lor informatice sunt confruntate cu amenintarea securittii informatiilor provocate de un larg spectru de surse, incluznd frauda, spionajul, sabotajul, vandalismul, incendiile si inundatiile. O surs comun de pericol este reprezentat de atacurile virusilor electronici care pot provoca daune si distrugeri considerabile. Un sistem integrat de securitate a informatiilor cuprinde nu mai putin de sapte sisteme de securitate: 1. Securitatea fizic 2. Securitatea personalului 3. Securitatea administrativ 4. Securitatea IT 5. Securitatea comunicatiilor 6. Securitatea criptografic 7. Securitatea emisiilor Principalele tipuri de amenintri asupra celor trei caractreistici esentiale ale informatiei, ntlnite n mod uzual n retele Internet si Intranet: 1. Tipuri de atacuri: a) intruziune (utilizator legitim, identificare fals) b) blocarea serviciilor (denial-of-service) c) furtul de informatii. 2. Scopul atacului: a) amuzament b) palmares c) vandalism
83

d) spionaj e) stupiditate si accidente 3. Se asigur protectie pentru: a) date si informatii - confidentialitatea, - integritatea, - disponibilitatea. b) resurse calculator c) reputatie. Mecanisme de autentificare utilizate pentru accesul la informatii - printr-o caracteristic fizic personal . scanare digitatie . scanare retin . scanare vocal - prin cunostinte individuale . parol . chestionar - printr-un obiect personal . smart card Aspecte privind protectia informatiei n orice sistem de calcul, protectia presupune asigurarea programelor si datelor mpotriva urmtoarelor actiuni: 1. pierderi accidentale, cauzate de cderile de tensiune, defectarea unittilor de hard disk-uri 2. accesare neautorizat a datelor si programelor, prin actiuni de parolare si criptare a informatiilor, oprind si copierea neautorizat 3. fraud pe calculator (sustragerea sau alterarea de date, furturi de servicii) 4. virusarea software-ului. Pentru o protectie eficient este necesar s fie cunoscute si s se asigure urmtoarele elemente: 1. identificarea accesului prin reguli si relatii ntre utilizatori si resurse 2. evidenta accesului, pentru urmrirea utilizrii resurselor sistemului, precum si pentru posibilitatea refacerii unor date n caz de distrugere 3. integritatea si confidentialitatea datelor 4. functionalitatea programelor. Mijloacele prin care se poate asigura protectia sunt: 1. msuri organizatorice, contra distrugerii datorate catastrofelor naturale referitoare la selectia profesional a personalului, organizarea unui sistem de control a accesului, organizarea pstrrii si utilizrii suporturilor de informatii 2. msuri juridice, care cuprind documente normative care controleaz si reglementeaz procesul prelucrrii si folosirii informatiei 3. mijloace informatice, constituite din programe de protectie si tehnici de criptare a informatiei.

Sfaturi privind securitatea informatiei Diversi analisti si experti n probleme de securitate, sugereaz urmtoarele sfaturi pentru protectia retelelor:

84

- Asigurati-v c nici o persoan nu controleaz sistemul de la un capt la cellalt. - Cereti fiecrui persoane s se conecteze n retea folosind parola proprie. - Atribuiti drepturile de supervizare unui grup mai mare de persoane. - Executati salvri de sigurant (backup) n fiecare sptmn. - Realizati un sistem strict pentru accesul la benzile magnetice. - Pstrati ntotdeauna n alt parte o copie a salvrilor se sigurant de pe benzile magnetice. - Efectuati salvri de sigurant att pentru desktop-uri si laptop-uri, ct si pentru servere. - Rotiti benzile magnetice pentru salvrile de sigurant, nu folositi una si aceeasi band de mai multe ori la rnd. - Pstrati serverele n locuri sigure. - Fiti la zi cu versiunile de software. - Utilizati un software de detectie a intruziunilor nedorite, care s v alerteze n cazul unei lovituri. - Asigurati-v c nu au existat dou perechi de ochi care s vad codul nainte s fie introdus n sistem. - Trebuie s aveti un departament pentru garantarea securittii informatiei (cel putin o persoan si apoi cte una n plus pentru fiecare o mie de angajati), separat de departamentul de IT si care s raporteze direct ctre responsabilul pentru transmiterea informatiei. - Cheltuiti cel putin 3-5% din bugetul de IS pe asigurarea securittii informatiei. Instruiti personalul care asigur securitatea informatiei pentru a fi n msur s detecteze angajatul care a fost perturbat sau nemultumit de ceva, mai ales dac acest angajat detine si o functie critic privind regimul informatiilor confidentiale de firm. - ntriti securitatea pe parcursul unor evenimente mai deosebite, cum sunt fuziunile sau reducerile de personal, care i-ar putea deranja pe unii angajati si i-ar determina s aib un comportament neloial fat de companie. - Monitorizati reteaua - setati un program software care s v alerteze atunci cnd o persoan lucreaz n alt parte dect n biroul su sau n afara programului general. - Scanati mesajele electronice pentru a vedea ceea ce iese din companie, verificati de dou ori benzile de backup si desemnati pe altcineva s fac salvrile curente dac persoana luat n vizor este chiar cea care se ocupa anterior, n mod curent. - Prevedeti n contractul individual cu fiecare angajat reguli si sanctiuni. - Fiti siguri c persoanele cu sarcini critice de IS sunt asigurate.

85

Curs 14

Capitolul 8. Implementarea, exploatarea si intretinerea sistemelor informatice


8.1. Implementarea sistemului informatic Obiectivele pe care trebuie sa le realizeze implementarea unui sistem informatic fac ca momentul punerii in functiune sa se identifice cu momentul trecerii in exploatare a sistemului. Orice intrerupere a mentinerii in exploatare dupa momentul punerii in functiune, inseamna nereusita acestei actiuni. Sunt unele metodologii care recomanda punerea in functiune a noului sistem informatic in paralel cu vechiul sistem de prelucrare a datelor. Este evident ca, in asemenea cazuri, obiectivul urmarit nu este acela de punere in functiune, ci este acela de experimentare a noului sistem. Implementarea sistemului informatic proiectat depinde de modul in care beneficiarul asigura conditiile de punere in functiune. Acesta activitate presupune:

B. Instruirea personalului utilizator A. Difuzarea instructiunilor de executare a procedurilor mnuale si automate

C. Asigurarea conditiilor organizatorice D. Asigurarea resurselor hard Asigurarea conditiilor de implementare E. Asigurarea fondului informational

A. Difuzarea instructiunilor de executare a procedurilor manuale si automate Aceste instructiuni se pot grupa astfel: instructiuni pentru beneficiar - au rolul de a da posibilitatea beneficiarului sa cunoasca procedurile manuale si automate ce trebuie sa le execute. Ele cuprind: - prezentarea succinta a aplicatiei si a fluxurilor informationale - prezentarea noilor documente proiectate si a instructiunilor de completare aferente - prezentarea situatiilor de iesire (listelor, ecranelor), a modului de folosire si interpretare a acestora instructiuni pentru unitatea de prelucrare. Ele cuprind: - modalitatile de prezentare si receptie a documentelor primare si a situatiilor cu rezultate finale - modalitatile de pregatire si verificare a purtatorilor tehnici de informatii precum si de corectare a erorilor aferente - modalitatile de operare pe parcursul fluxului de prelucrare si de interventie in cazul unor incidente ce pot apare in timpul executiei programelor. B. Instruirea personalului utilizator, presupune: sensibilizarea beneficiarului in probleme de informatica - urmareste sa aduca la cunostinta avantajele folosirii tehnicii de calcul precum si noua disciplina informationala impusa. Aceasta se poate face prin cursuri de initiere de scurta durata organizate de proiectant la sediul acestuia sau la sediul beneficiarului.

86

atragerea personalului cu putere de decizie in activitatea de implementare - este garantia asigurarii la timp si integrale a conditiilor necesare implementarii, lucru ce va duce implicit la incadrarea acestei etape in termenele stabilite de proiectant pregatirea psihologica a personalului unitatii beneficiare - are drept scop convingerea acestuia ca introducerea tehnicii moderne nu urmareste reducerea personalului ci usurarea muncii acestuia, preluarea unei parti din personal in activitati de informatica si reorientarea altei parti in activitati utile unitatii. Acest lucru va da posibilitatea crearii unui climat favorabil implementarii solutiei proiectate.

Pregatirea utilizatorului consta in instruirea acestuia cu privire la: - noile modele de documente de intrare, regulile de completare si de utilizare a acestora, inistandu-se asupra necesitatii completarii clare, precise, fara ambiguitati a tuturor rubricilor din documente - modalitatile de verificare si de transmitere a documentelor, atributiile fiecarei persoane in completarea si verificarea documentelor de intrare - utilizarea corecta a codurilor - descrierea continutului informational al situatiilor de iesire, analiza si folosirea acestora pentru luarea deciziilor, modul de interpretare a rezultatelor si a mesajelor. C. Asigurarea conditiilor organizatorice necesare Conditiile organizatorice ce trebuie asigurate implementarii noului sistem se refera in primul rand la asigurarea transpunerii in practica a modificarilor organizatorice preconizate in etapa de proiectare, la lansarea efectiva a documentelor proiectate si la instituirea noilor fluxuri informationale. In al doilea rand se refera la constituirea nucleului de informaticieni in cadrul unitatii beneficiare, nucleu ce trebuie format inainte de inceperea proiectarii si implementarii si apot dezvoltat cantitativ si calitativ pe parcursul realizarii sistemului informatic. O alta problema care permite o buna organizare a implementarii este planficarea activitatilor specifice acestei etape, lucru ce se poate face cu ajutorul unor grafuri Grantt, a metodei A.D.C. (analizei drumului critic), PERT. D. Asigurarea resurselor hard , se poate realiza in trei moduri: prin dotarea unitatii beneficiare cu unul sau mai multe sisteme de calcul prin perfectarea accesului la o unitate de informatica pentru un anumit numar de orecalculator printr-o solutie mixta, care presupune rezolvarea unot probleme de volum mic in cadrul unitatii, iar pentru problemele mai complexe sa se apeleze la capacitatea unei unitati de informatica cu o dotare corespunzatoare, lucrandu-se eventual in regim de teleprelucrare. O alta conditie este asigurarea unui spatiu corespunzator desfasurarii activitatii nucleului de informatica, care sa permita realizarea unor lucrari de calitate, asigurarea integritatii, securitatii si confidentialitatii fondului de date manipulat, precum si asigurarea multiplicarii documentelor primare reproiectate in concordanta cu prevederile proiectului tehnic de detaliu, a instructiunilor de completare si utilizare aferente. De o deosebita importanta este de asemenea asigurarea materialelor consumabile specifice functionarii sistemelor informatice. E. Asigurarea fondului informational Presupune pregatirea datelor reale si incarcarea fisierelor sau bazei de date in vederea testarii si punerii in functiune a noului sistem, pregatire ce se face prin: - constituirea fisierelor sau entitatilor bazei de date, prin culegerea fondului informational necesar si stocarea a cestuia pe purtatori tehnici de informatie. Pentru aceasta va fi necesara, in prealabil, o ampla munca de colectare, ordonare, codificare, incarcare si validare a datelor.

87

preluarea partiala sau integrala a datelor dintr-o serie de fisiere deja create, cu ajutorul unor programe de conversie a fisierelor.

Executarea procedurilor de conversie se aplica atunci cand exista deja un sistem informatic sau aplicatii informatice in functiune, ce trebuiesc inlocuite. De asemenea, conversiile se impun atunci cand prin realizarea si implementarea esalonata in timp a componentelor noului sistem informatic, pentru realizarea legaturilor functionale dintre acestea, sunt necesare proceduri de conversie cum ar fi: conversii de fisiere, conversii de programe sau conversii de proceduri.

8.2. Strategii de implementare a sistemelor informatice Strategiile de implementare urmaresc gasirea celor mai adecvate cai, metode, proceduri fata de conditiile si situatiile concrete existente, pentru realizarea obiectivelor de realizare si utilizare a sistemelor informatice. Dintre variantele de solutii posibile pentru punerea in functiune a unui sistem informatic, pot fi mentionate: a) punerea in functiune simultana a tuturor componentelor sistemului informatic si pe intreaga lui sfera de actiune. O asemenea solutie se recomanda in cazul unor sisteme de o complexitate mai redusa sau in cazurile cand sistemele informatice respective nu pot functiona prin punerea in functiune esalonata a componenetelor sistemului informatic. b) punerea in functiune simultana a tuturor componentelor sistemului informatic, dar cu esalonarea in timp in ceea ce priveste sfera de cuprindere. Se aplica de regula la sistemele informatice generalizabile pe un numar mai mare de unitati. Punerea in functiune a sistemului respectiv la toate unitatile prevazute se poate esalona pe o perioada mai mare, in funcite de numarul unitatilor si de posibilitatile de asigurare a conditiilor si resurselor necesare. c) punerea esalonata in functiune a componentelor sistemului informatic. Aceasta varianta se aplica in cazul sistemelor informatice complexe, in functie de criteriile care stau la baza stabilirii prioritatilor in esalonarea punerii in functiune a diferitelor componente a sistemului informatic. Perioada de esalonare a punerii in functiune a unui sistem informatic complex este determinata intr-o mare masura de dimensiunea, calitatea si modul de alocare a resurselor financiare, umane si materiale pentru proiectarea si darea in exploatare a acestor sisteme. Alegerea momentului punerii in functiune Momentul punerii in functiune a unei componente a unui sistem informatic corespunde datei cand prima sa aplicatie informatica se da in functiune. Declansarea momentului punerii in functiune se plaseaza in zona operatiilor de culegere, inregistrare si transmitere a datelor, corespunzand astfel debutului ciclului de operatii tehnologice ale aplicatiei. Momentul punerii in functiune trebuie sa corespunda cu inceputul unei perioade (ciclu) semnificativ din activitatea unitatii respective (inceput de an calendaristic, introducerea unei noi forme de organizare, lansarea in productie a unei noi tehnologii etc.) Inainte de activitatea de punere in functiune trebuie sa se asigure o perioada de timp corespunzatoare cerintelor de indeplinire a conditiilor de pregatire calitativa a momentului punerii in functiune. Momentul punerii in functiune se alege si in functie de posibilitatea de pregatire a categoriilor de personal in realizarea noilor sarcini. Activitatile de punere in functiune a noului sistem sau a unei componente nu reprezinta inlocuirea unui sistem informational, ci ea are si sarcina dificila de a inlocui si unele conceptii depasite cu privire la rolul, locul si calitatea acestui sistem. Aceste activitati in mod aproape inevitabil, reprezinta o confruntare directa intre nou si vechi. Pentru exploatarea sistemului se pot folosi mai multe procedee:
88

functionarea concomitenta atat a sistemului manual existent cit si a sistemului automat proiectat experimentarea sistemului proiectat pe baza datelor provenite din perioade precedente inlocuirea directa a sistemului existent cu cel proiectat

a) Functionarea in paralel atat a sistemului manual existent cat si a sistemului proiectat cuprinde o perioada de cca 1-3 luni in care se verifica si se compara rezultatele obtinute de sistemul de prelucrare automata a datelor si de catre sistemul existent. Renuntarea la sistemul manual se va face numai dupa ce intregul lant de programe a fost executat fara incidente si fara erori, de mai multe ori. Cu toate ca functionarea in paralel este mai dificila si mai costisitoare, implicand eforturi mai mari, este totusi mai eficienta deoarece permite sa depisteze unele erori si anomalii de la cadrul proiectat. Printre cauzele care conduc la aparitia erorilor se mentioneaza: - intocmirea necorepunzatoare a documentelor de intrare - atribuirea incorecta a codurilor - erori de programare - utilizarea necorespunzatoare a programelor Avantaje: - asigura eliminarea eventualelor erori exitent fara ca aceasra sa impiedice desfasurarea normala a activitatii beneficiarului - evidentiaza cauzele generatoare de erori - verifica si compara in permanenta rezultatelel celor doua sisteme - realizeaza actualizarea si intretinerea bazei de date in ambele sisteme - organul de decizie poate folosi informatiile sistemului existent pana cand noul sistem informatic intra definitiv in functiune b) Experimentarea sistemului proiectat folosind date provenite din perioade precedente prezinta aceleasi avantaje ca procedeul anterior. In plus, evita aglomerarea excesiva a personalului, in perioadele de varf si nu are timpul de executie limitst in raport cu perioada pentru care se face experimentarea c) Inlocuirea imediata (directa) a sistemului existent cu cel proiectat poate fi aplicata numai in situatii deosebite, in functie de volumul si importanta problemei, de marimea unitatii beneficare si de masurile organizatorice intreprinse. Etapa de implementare a sistemului informatic se finalizeaza atunci cand noul sistem functioneaza in conformitate cu cerintele stabilite prin proiect, atunci cand se realizeaza corelarea procedurilor manuale si automate, se completeaza corect documentele de intrare, se obtin in timp util informatiile dorite pe toate nivelele de conducere, se atinge ritmul de exploatare si se obtin performatenle scontate. Etapa de implementare nu poate fi considerata incheiata daca nu se definitiveaza intreaga documentatie a proiectului. Aceasta presupune definitivarea atat a manualelor de prezentare cat si a celor de utilizare si exploatare. Lucru impus de necesitatea realizarii unei concordante depline intre sistemul proiectat si documentatia sa.

8.3. Exploatarea si intretinerea sistemelor informatice Activitatile de exploatare si intretinere a sistemului informatic pus in functiune, urmaresc asigurarea realizarii continue a parametrilor tehnici, economici si functionali ai sistemului respectiv, in concordanta cu proiectul elaborat si cu dinamica cerintelor activitatii de conducere si operative din unitatea respectiva.

89

Acestor activitati le revine sarcina de realizare a exploatarii curente si a consolidarii functionarii sistemului informatic pus in functiune pe intreaga perioada pentru care s-a preconizat a fi utilizat, perioada care se inscrie intr-un ciclu. Acest ciclu de viata al sistemului informatic, este determinat de frecventa perfectionarilor de fond in domeniul tehnicii de calcul, precu, si in domeniul evolutiei produselor program. Totodata, acest ciclu corespunde si cerintelor de perfectionare a metodelor si tehnicilor utilizate in activitatile de conducere din unitatile economico-sociale. Activitatile de exploatare si intretinere se pot grupa astfel: - activitati de exploatare - activitati de intretinere - activitati de inregistrare a cerintelor de reproiectare Activitatile de exploatare se concentreaza in principal asupra executiei curente a operatiilor de culegere, transmitere, validare, prelucrare, vizualizare a datelor, prin respectarea stricta a instructiunilor tehnice de lucru. Ele vizeaza responsabilitatea utilizatorului si a personalului din informatica in exploatarea sistemului informatic. Activitatile de intretinere a sistemului informatic se refera atat la realizarea constanta a parametrilor sistemului proiectat si aflat in exploatare, cat si la introducerea in sistem a unor perfectionari curente, care conduc la ridicarea nivelului parametrilor tehnico-functionali si economici ai sistemului respectiv. Activitatile de inregistrare a cerintelor de reproiectare a sistemului informatic in functiune vizeaza pregatirea trecerii la reproiectare, respectiv la un nou ciclu de parcurgere a etapelor de realizare a sistemelor informatice. Dintre sarcinile avute in vedere la exploatarea si intretinerea sistemului informatic pot fi mentionate: - organizarea si urmarirea executiei operatiilor de actualizare a fisierelor si/sau a bazelor de date la momentele stabilite, operatii de importanta deosebita pentru mentinerea in functiune a sistemului informatic - imbunatatirea continua a calitatii datelor, reducerea timpului de raspuns a sistemului si reducerea costurilor pe unitate de informatie prelucrata si valorificata - introducerea perfectionarilor in tehnologia de prelucrare automata a datelor - organizarea si intretinerea arhivelor de date inregistrate pe suporti magnetici - asigurarea reviziilor tehnice si reparatiilor echipamentelor de prelucrare a datelor Practica demonstreaza ca neglijarea activitatilor de mentinere in functiune, intretinere si dezvoltare a sistemelor informatice implementate, conduce la inregistrarea unei scaderi constante dupa momentul punerii in functiune, mergand uneori pana la nivelul de periclitare a functionarii sistemului. In momentul in care se ajunge ca perfectionarile ce se impun in cadrul sistemul informatic sa afecteze o buna parte a sistemului in functiune, cand ele sunt mai generale ca sfera de actiune si mai radicale din punct de vedere al tehnicilor si procedeelor utilizate, inseamna ca s-a ajuns la o situatie conflictuala intre cerinte si existente si se cere o reproiectare a intregului sistem, o trecere evidenta la un nou ciclu de perfectionare. Perfectionarile curente ce se cer a fi aduse sistemului informatic in functiune nu trebuie sa afecteze solutiile tehnice si organizatorice de fond prevazute de catre proiectul initial, ci sa le completeze, sa le perfectioneze.

90