Sisteme Informationale. Aplicatie de Generare a Facturii Telefonice

INTRODUCERE

În primul capitol “Elemente privind proiectarea și realizarea Sistemelor Informaționale” este prezentat sistemul informational.

Un sistem informațional este un ansamblu de oameni, echipamente, software, procese și date destinate să furnizeze informații active sistemului decizional, informații necesare în elaborarea de soluții pentru problemele cu care se confruntă managerii agenților economici. Sistemul informațional face legătura între sistemul de conducere și sistemul condus și este subordonat sistemului de conducere.

Sistemul informatic este o parte a sistemului informațional în care procesul de culegere, transmitere, stocare și prelucrare a datelor se realizează utilizând elemente sau componente ale TI, adică mijloace de calcul și de comunicare moderne, produse software specializate, proceduri și tehnici specifice la care se adaugă personalul specializat.

Rolul sistemului informațional este de a transmite informația între diferite elemente. În cadrul sistemului informațional, majoritatea activităților se pot desfășura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare și apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare. Transferul se poate face și el pe cale electronică, prin intermediul unei rețele de calculatoare sau cu ajutorul modemului.

Într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte componente hardware, software-ul, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la bază algoritmilor de prelucrare, etc.

Se poate spune deci, că sistemul informațional este inclus în sistemul informatic, acesta din urmă fiind o componentă esențială a primului.

Pentru realizarea unui sistem informatic eficient, trebuiesc avute în vedere următoarele reguli de bază, ce au fost deduse din practică: abordarea globală modulară, criteriul eficienței economice, orientarea spre utilizatori, asigurarea unicității introducerii datelor, antrenarea beneficiarului la realizarea sistemului, posibilitatea de dezvoltare ulterioară, strategia ascendentă și strategia descendentă.

Pentru realizarea unui sistem informatic sunt implicate multe persoane, materiale, timp, etc., ceea ce implică în final costuri ridicate. Din acestă cauză, modul de abordare a problemei proiectării este foarte important.

Prin intrările unui sistem informatic se ințelege totalitatea datelor primare necesare obținerii informațiilor de ieșire ale sistemului. Datele primare se pot clasifica în date interne și în date externe. La nivelul fiecărui subsistem informatic este necesar ca intrările sistemului să fie condiționate de ieșirile acestuia.

Prin operația de codificare se înțelege generarea unor grupuri de simboluri și atribuirea lor elementelor unei înregistrări.

Prin noțiunea de cod se înțelege o combinație de simboluri asociate unei caracteristici date din cadrul unei colecții de date. Prin capacitatea unui sistem de coduri se întelege totalitatea combinațiilor posibil de realizat din simboluri ce contin un cod. Prin lungimea codului se întelege numărul de simboluri elementare dintr-un cod.

Al doilea capitol, “Proiectarea Bazelor de Date” tratează aspectele de realizare și proiectare a unei baze de date.

Activitățile fazei de proiectare detaliată privesc componentele principale ale oricărui sistem informatic, respectiv baza de date, interfețele (formulare, rapoarte, meniu) și programele. Desfășurarea acestor activități nu este secvențială ci, mai curând, paralelă și iterativă. Baza de date trebuie sa reflecte specificațiile de proiectare privind formularele și rapoartele din sistem, iar proiectarea formularelor și rapoartelor nu poate fi finalizată fără ca schema bazei de date să fie clar definită. Totuși, baza de date reprezintă „nucleul” oricărui sistem informatic, în jurul său „gravitând” celelalte componente, motiv pentru care ne vom opri mai întâi asupra problematicii proiectării bazelor de date.

Prin modelarea conceptuală a datelor se urmărește construirea unui model al datelor care să asigure transpunerea exactă a realității din domeniul analizat, fără a lua în considerare cerințele specifice unui model de organizare a datelor (cum este modelul relațional), criteriile de calitate privind organizarea datelor, cerințele nefuncționale ale sistemului și criteriile de performanță privind stocarea și accesarea datelor.

Proiectarea logică presupune organizarea datelor în tabele și coloane, conform regulilor modelului relațional (acesta fiind modelul cel mai popular de organizare a datelor).

Modelul fizic al datelor, rezultat în urma proiectării fizice, este invizibil utilizatorilor și programatorilor. El specifică modul de stocare fizică și accesare a datelor, utilizând facilitățile oferite de un anumit SGBD.

Proiectarea structurii bazelor de date – structura bazei de date reprezintă un model al datelor exprimat în concepte specifice unui anumit sistem de gestiune a bazelor de date (SGBD), lucru ce face ca proiectarea bazei de date să reprezinte transpunerea modelelor conceptuale în termenii unui model al datelor suportat de un anumit tip de SGBD, model ierarhic, rețea, relațional, funcțional.

Al treilea capitol tratează sistemele de gestiune (sau administrare, sau management) a bazelor de date care sunt softuri specializate pe manevrarea cât mai eficientă și cât mai sigură a unor volume mari de date. Dacă excludem din discuție sistemele desktop și sistemele înglobate (embedded), rămânem cu o categorie numită generic "servere de baze de date". În vremurile noastre, acestea sunt bazate pe modelul relațional (sau pe derivate ale acestuia), înțeleg un dialect de SQL, sunt extrem de complexe.

SQL este limbajul standard folosit pentru manipularea și regăsirea datelor din aceste baze de date relaționale. Prin SQL un programator poate să modifice structura unei baze de date; să schimbe valorile de configurare pentru securitatea sistemului; să interogheze o bază de date asupra informațiilor; să adauge drepturi utilizatorilor asupra bazelor de date sau tabelelor; să actualizeze conținutul bazei de date etc.

Al patrulea capitol, “Sistemul de Facturare la Romtelecom Prahova ”:

ROMTELECOM va deveni primul furnizor de produse si servicii de telecomunicatii in topul preferintelor din Romania. Clientii vor aprecia serviciile ROMTELECOM drept exemplare, iar salariatii vor clasa compania printre cei mai buni 5 angajatori din Romania. In fine, ROMTELECOM va egala nivelul operatorilor central-europeni comparabili in privinta eficientei operationale si a profitabilitatii.

ROMTELECOM se va angaja in furnizarea de produse si servicii de telecomunicatii care sa raspunda cerintelor consumatorilor si clientilor de afaceri din Romania. Compania isi va desfasura activitatea in asa fel incat sa produca valoare pentru actionari si sa devina un membru respectat al societatii romanesti.4,2 milioane de linii in serviciu si o retea automatizata (100%) si digitalizata (60%)

Pachetul de programe de prelucrari automate factura telefonica/telegrafica a fost dezvoltat in cadrul D.Tc. Prahova in 1993-1994, cu modificari ulterioare.

Sistemul nu se utilizeaza in alte Directii de Telecomunicatii din tara.

Conceptie unitara a machetelor de culegere (aceleasi meniuri)

Ruleaza in retea (trateaza toate problemele de acces concurent pe baze de date)

Modulele de culegere date, prelucrari si listare sunt integrate in aplicatia “Factura Telefonica”

Exista un prim nivel de validare

Fiecare inregistrare are amprenta celui care a procesat-o

Operatorul culegere date poate accesa modulele de culegere de la o singura statie la un anumit moment

Operatorul culegere date poate accesa modulele de culegere doar de pe statiile dedicate culegerii

Integrat cu modulele de Culegere date si Prelucrari Intermediare factura Telefonica

CAPITOLUL I

Sisteme Informaționale

1.1. Elemente privind proiectarea și realizarea Sistemelor Informaționale

În viața noastră de zi cu zi, calculatoarele sunt ceva obișnuit, ba chiar indispensabil în unele cazuri. Se poate spune, pe drept cuvânt că trăim într-o societate informatizată. În zilele noastre, întâlnim calculatoare peste tot, de la băcanul din colț, care-și ține evidențele sale cu ajutorul unui PC și până la ghișeul la care plătim telefonul. Peste tot sunt calculatoare, legate eventual între ele și formând astfel rețele de calculatoare. Toate acestea se datorează faptului că ne dăm seama din ce în ce mai mult că PC-ul ne usurează munca. Dar trebuie de subliniat faptul că un calculator este de fapt o “mașinărie” care prelucrează o serie de informații pe care i le dăm. Informația, este elementul esențial din acest întreg lanț. De fapt, în practică întâlnim, printre altele, două concepte legate de aceasta și anume sistemul informațional și sistemul informatic.

Sistemul informațional este ansamblul de elemente implicate în procesul de colectare, transmisie, prelucrare de informații.

Rolul sistemului informațional este de a transmite informația între diferite elemente. De exemplu, în cadrul unei unități economice, rolul sistemului informațional este de a asigura persoanele din conducere cu informații necesare pentru luarea diferitelor decizii economice sau de altă natură.

În cadrul sistemului informațional se regăsesc: informația vehiculată, documentele purtătoare de informații, personalul, mijloace de comunicare, sisteme de prelucrare a informației, etc.

Printre posibile activități desfășurate în cadrul acestui sistem, pot fi enumerate: achiziționarea de informații din sistemul de bază, completarea documentelor și transferul acestora între diferite compartimente, centralizarea datelor, etc.

În cadrul sistemului informațional, majoritatea activităților se pot desfășura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare și apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare. Transferul se poate face și el pe cale electronică, prin intermediul unei rețele de calculatoare sau cu ajutorul modemului.

Ansamblul de elemente implicate în tot acest proces de prelucrare și transmitere a datelor pe cale electronica alcătuiesc un sistem informatic.

Într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte componente hardware, software-ul, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la bază algoritmilor de prelucrare, etc.

Se poate spune deci, că sistemul informațional este inclus în sistemul informatic, acesta din urmă fiind o componentă esențială a primului.

Sistemele informatice acoperă cele mai diverse domenii. În funcție de specializare, avem:

Sisteme specializate, adică sunt proiectate pentru a rezolva un anume tip de problemă dîntr-un anume domeniu;

Sisteme de uz general, cu ajutorul cărora se poate rezolva o gamă largă de probleme din mai multe domenii;

Sisteme locale, programele necesare prelucrărilor de date și datele se află pe un singur sistem de calcul;

Sisteme pe rețea, sistemul funcționează într-o rețea de calculatoare, caz în care, datele și programele pot fi distribuite mai multor stații de lucru ce fac parte din acea rețea.

În ultimul timp se merge tot mai mult pe varianta sistemelor de lucru în rețea, avantajele fiind evidente: transfer de date între stații foarte rapid, costuri minime, etc.

În funcție de localizarea datelor și de locul în care sunt efectuate prelucrările, putem avea sisteme informatice:

Cu date centralizate, datele se află pe un singur sistem de calcul;

Cu date distribuite, datele se află distribuite pe mai multe calculatoare în rețea;

Cu prelucrări centralizate, prelucrarea datelor se face pe o singură stație de lucru, indiferent de numărul stațiilor pe care sunt informațiile de prelucrat;

Cu prelucrări distribuite, mai multe calculatoare prelucrează datele provenite de la unul sau mai multe calculatoare din rețea;

a) După domeniul în care funcționeaza, sistemele pot fi clasificate:

Pentru baze de date, specialil tehnicii de calcul. Se pot prelucra datele primare și apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare. Transferul se poate face și el pe cale electronică, prin intermediul unei rețele de calculatoare sau cu ajutorul modemului.

Ansamblul de elemente implicate în tot acest proces de prelucrare și transmitere a datelor pe cale electronica alcătuiesc un sistem informatic.

Într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte componente hardware, software-ul, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la bază algoritmilor de prelucrare, etc.

Se poate spune deci, că sistemul informațional este inclus în sistemul informatic, acesta din urmă fiind o componentă esențială a primului.

Sistemele informatice acoperă cele mai diverse domenii. În funcție de specializare, avem:

Sisteme specializate, adică sunt proiectate pentru a rezolva un anume tip de problemă dîntr-un anume domeniu;

Sisteme de uz general, cu ajutorul cărora se poate rezolva o gamă largă de probleme din mai multe domenii;

Sisteme locale, programele necesare prelucrărilor de date și datele se află pe un singur sistem de calcul;

Sisteme pe rețea, sistemul funcționează într-o rețea de calculatoare, caz în care, datele și programele pot fi distribuite mai multor stații de lucru ce fac parte din acea rețea.

În ultimul timp se merge tot mai mult pe varianta sistemelor de lucru în rețea, avantajele fiind evidente: transfer de date între stații foarte rapid, costuri minime, etc.

În funcție de localizarea datelor și de locul în care sunt efectuate prelucrările, putem avea sisteme informatice:

Cu date centralizate, datele se află pe un singur sistem de calcul;

Cu date distribuite, datele se află distribuite pe mai multe calculatoare în rețea;

Cu prelucrări centralizate, prelucrarea datelor se face pe o singură stație de lucru, indiferent de numărul stațiilor pe care sunt informațiile de prelucrat;

Cu prelucrări distribuite, mai multe calculatoare prelucrează datele provenite de la unul sau mai multe calculatoare din rețea;

a) După domeniul în care funcționeaza, sistemele pot fi clasificate:

Pentru baze de date, specializate în gestiunea unor cantități mari de date;

Pentru prelucrări științifice, specializate pe anumite domenii științifice;

Pentru conducerea proceselor tehnologice,

Pentru conducerea unor mașini, scule, unelte computerizate;

b) După nivelul ierarhic ocupat de sisteme informatice în structura organizatorică a societații, putem avea:

Sisteme informatice pentru conducerea activităților la nivelul unităților economice;

Sisteme la nivelul organizațiilor cu structură de grup;

Sisteme informatice teritoriale;

Sisteme informatice la nivel de ramură și subramură și la nivel economic național;

Sisteme de uz general.

c) După activitatea ce o automatizează, sistemele pot fi:

Pentru conducerea producției;

Pentru activitatea comercială;

Pentru evidența contabilă;

Pentru evidența materialelor și mărfurilor;

Pentru evidența personalului și salarizare;

Pentru evidența mijloacelor fixe.

Aceste sisteme au o aplicare imediată în cadrul rezolvării unor probleme de natură economică. Deci, una dintre ramurile cele mai informatizate este economia.

Încă din cele mai vechi timpuri, omul, chiar fără să știe, era preocupat de acest domeniu – economia. Omul avea nevoie, pentru a trăi, de o serie de elemente indispensabile, cum ar fi apa, hrana, arme pentru a se apăra de animale; o dată cu evoluția lui, au crescut și necesitățile, pe lângă cele vechi au apărut și altele: haine, mijloace de transport, unelte, etc. Astfel apare conceptul de interes economic.

Pentru a satisface anumite nevoi, este necesar să se consume anumite bunuri, anumite resurse. Totalitatea elementelor utilizate la producerea de noi bunuri necesare poartă numele de resurse economice. Aceste resurse sunt limitate, deci trebuie gestionate corespunzător, în vederea satisfacerii prioritare a nevoilor cele mai stingente.

Astfel apare problema economică generală care reprezintă munca depusă de om în vederea alegerii și folosirii resurselor pentru a-și satisface cât mai bine nevoile.

Activitatea desfășurată de om pentru găsirea și prelucrarea resurselor economice se numește activitate economică.

Această lege se regăsește și în zilele noastre, în sensul că omul, muncește pentru a-și procura cele necesare traiului. Cu cât câștigă mai mult, cu atât cresc și nevoile acestuia.

În cazul întreprinderilor, acestea desfășoară o activitate de producție, veniturile obținute din valorificarea acestora permițând acesteia continuarea activității și chiar a dezvoltării. Aici, nevoile sunt cele de a ramâne în competiție pe piață, iar resursele sunt constituite din materia primă folosită, forța de muncă, mijloacele de producție, etc. Criteriul satisfacerii nevoilor în cazul unei întreprinderi se transformă în țelul urmărit de aceasta – obținerea de profit maxim.

Pentru realizarea acestei dorințe, unitățile economice trebuie să-și perfecționeze continuu activitatea. Utilizarea tehnicii de calcul, mărește considerabil eficiența economică. Unul dintre mijloacele prin care activitatea economică este automatizată este dat de sistemele informatice de gestiune economică.

În cadrul unităților economice sunt o multitudine de activități ce pot fi supuse informatizării. Acestea pot fi împărțite în grupe, în funcție de compartimentele în care se desfășoară.

Spre exemplu, în cadrul compartimentului producție se poate informatiza activitatea de stabilire a structurii producției și de dimensionare a sa, programarea și urmarirea producției, etc. În cadrul compartimentului financiar-contabil, activitatea ar putea fi informatizată aproape în totalitate, la fel ca și activitatea din cadrul compartimentului personal-salarizar. Fiecare dintre compartimentele unei unități economice poate fi informatizat într-o măsură mai mare sau mai mică, ideal însă ar fi ca toate acestea să fie înglobate într-un sistem informatic global de gestiune economică la nivelul întregii întreprinderi.

Pentru realizarea unui sistem informatic eficient, trebuiesc avute în vedere unele reguli de bază, ce au fost deduse din practică.

Abordarea globală modulară.

La proiectarea sistemului trebuie avută în vedere legatura acestuia cu lumea exterioară, posibilitățile de comunicare cu alte sisteme similare, compatibilitatea cu sisteme de altă natură, posibilitatea includerii sistemului într-un sistem mai complex, sau posibilitatea includerii altor sisteme.

Criteriul eficienței economice.

Principalul criteriu ce stă la baza realizării sistemului este cel economic. Cu alte cuvinte, la proiectare trebuie avut în vedere ca raportul dintre rezultatul sau rezultatele directe sau indirecte obținute prin implementarea și folosirea sistemului economic și totalitatea costurilor de realizare să fie cât mai mare. Cu alte cuvinte, trebuie să fie rentabil.

Orientarea spre utilizatori.

La realizarea sistemului trebuie să se aibă în vedere cerințele și preferințele utilizatorilor. În acest sens, trebuie purtată o discuție cu utilizatorii în prealabil și pe baza sugestiilor și preferințelor lor să se treacă la proiectarea propriu-zisă.

Asigurarea unicității introducerii datelor.

De cele mai multe ori o serie de date trebuiesc utilizate în mai multe locuri în cadrul sistemului informatic. La proiectarea sistemului, trebuie ca datele sa fie introduse o singură dată, iar sistemul să distribuie automat datele în celelalte locuri în care este nevoie de ele.

Antrenarea beneficiarului la realizarea sistemului.

Acest principiu decurge tot din orientarea spre utilizator. Trebuie discutat cu utilizatorul înainte de a trece la proiectare, pentru a înlătura de la început o serie de neajunsuri. Trebuiesc discutate modalitațile de introducere a datelor și adaptarea aplicației la nevoile utilizatorului, modul de calcul și prelucrare al datelor.

Soluție generală, independentă de configurația actuala a sistemului informatizat.

Sistemul proiectat nu trebuie, pe cât posibil, să fie dependent de dotarea tehnică actuală a beneficiarului, ci trebuie avute în vedere eventuale noi achiziții de tehnică de calcul, o eventuală schimbare a sistemului informatic.

Posibilitatea de dezvoltare ulterioară.

Trebuiesc avute în vedere posibilitatea ca sistemul să poată fi înbunătățit în raport de cerințele viitoare ale firmei beneficiare.

Sistemele informatice pun probleme serioase la realizarea lor. În funcție de modul de abordare, costurile pot fi mai mici sau mai mari, rezultatele mai bune sau mai puțin bune.

De-a lungul timpului s-au conturat două tipuri de astfel de strategii:

Ascendentă (“bottom-up” de jos în sus, de la mic la mare)

Descendentă (“top-down” de sus în jos, de la mare la mic).

Strategia ascendentă

În conformitate cu aceasta strategie, rezolvarea unei anumite probleme începe cu rezolvarea problemelor de detaliu, minore. Soluțiile sunt agregate în vederea soluționarii unei probleme mai complexe. Se procedeaza astfel până ce se ajunge la vârf, la soluționarea problemei globale.

Dezavantajul acestei metode constă în necesitatea cunoașterii în detaliu al domeniului problemei de rezolvat înainte de trecerea la rezolvarea propriu-zisă.

Strategia descendenta

Este opusă celei ascendente, abordând problema de la general la particular, de sus în jos.

Este studiată problema global, încercând descompunerea ei în probleme mai mici și se trece la rezolvarea subproblemelor astfel rezultate. Rezolvarea subproblemelor se face prin aceeași metodă, adică prin descompunerea lor în alte subprobleme, și tot așa până se ajunge la probleme a căror rezolvare este cunoscută.

Această strategie prezinta avantajul că oferă în orice moment o imagine de ansamblu asupra problemei de rezolvat.

Pentru realizarea unui sistem informatic sunt implicate multe persoane, materiale, timp, etc., ceea ce implică în final costuri ridicate. Din acestă cauză, modul de abordare a problemei proiectării este foarte important. În decursul timpului s-au cristalizat câteva metodologii standard de proiectare.

Principalele etape de parcurs pentru realizarea unui sistem informatic sunt:

Analiza sistemului existent – se studiază sistemul informatic existent și se stabilesc neajunsurile sale și cerințele ce urmeaza a fi satisfacute de viitorul sistem informatic. În acestă etapă se stabilește rentabilitatea folosirii sistemului informatic.

Proiectarea sistemului informatic – se concepe sistemul, elementele componente ale acestuia, structura lor și modul de realizare. Datorită complexității, aceasta etapă este la rândul ei descompusă în două etape:

Proiectarea de ansamblu – se stabilește arhitectura de ansamblu, modul de descompunere pe componente, intrările și ieșirile sistemului. Se finalizează prîntr-o schemă de ansamblu a sistemului în care sunt incluse toate aceste elemente.

Proiectarea de detaliu – fiecare element descris în etapa anterioară este descris în detaliu.

Elaborarea programelor – se scriu programele sistemului într-un limbaj ales anterior.

Implementarea sistemului – după ce a fost realizat sistemul se trece la implementarea sa.

Exploatarea și întreținerea sistemului – aceasta este faza finală a proiectului în care se trece la exploatarea acestuia. Este necesară în paralel și o serie de operații de întreținere a acestuia.

.

1.2 Sisteme Informaționale

Definiție – Un sistem informațional este un ansamblu de oameni, echipamente, software, procese și date destinate să furnizeze informații active sistemului decizional, informații necesare în elaborarea de soluții pentru problemele cu care se confruntă managerii agenților economici. Sistemul informațional face legătura între sistemul de conducere și sistemul condus și este subordonat sistemului de conducere.

Sistemul informatic este o parte a sistemului informațional în care procesul de culegere, transmitere, stocare și prelucrare a datelor se realizează utilizând elemente sau componente ale TI, adică mijloace de calcul și de comunicare moderne, produse software specializate, proceduri și tehnici specifice la care se adaugă personalul specializat.

Sistemul informatic integrat – specific anumitor domenii de activitate (de exemplu sistemul economic, financiar, bancar) este sistemul care asigură introducerea unică a datelor și prelucrarea multiplă a acestora în funcție de cele mai diverse cerințe formulate de către utilizatori.

Tehnologia informației este un termen contemporan care descrie combinația de tehnologii de calcul – echipamente și software cu tehnologia comunicației – rețele de transmitere a datelor, imaginilor și vocii.

Sisteme informatice de gestiune – modelele de gestiune regrupează procedurile proprii ale unui domeniu. În activitatea practică se pot identifica o serie de modele specifice domeniului, ca de exemplu: tehnologiile de fabricație, vanzările specifice.

Analiștii de sistem sunt acei specialiști care înțeleg atât aspectele legate de facilitățile și limitele oferite de tehnologiile informației, cât și cerințele de prelucrare a datelor necesare procesului de informare-decizie a agentilor economici.

Sistemele de Prelucrare a Tranzacțiilor (SPT) sunt aplicații ale sistemului informațional care pemit culegerea, stocarea și prelucrarea zilnică a datelor rezultate din desfășurarea tranzacțiilor, asigurând actualizarea bazei de date.

Un Sistem informatic de Conducere (SIC) este un sistem de aplicații informatice care se ocupă cu elaborarea de rapoarte sub un format standard necesare organizării și conducerii operative a unității.

Un Sistem Suport de Decizii (SSD) este un sistem de aplicații informatice care asigură pe utilizatori cu informații orientate pe decizii, adică cu informații referitoare la diverse situații care pot apare în luarea deciziilor. Când acest sistem este utilizat direct de către conducerea executivă a firmei se mai numeste și sistem de informare executivă.

1.2.1 Selectarea strategiei de proiectare a sistemelor informatice

(De la analiză la proiectarea sistemelor informatice)

Obiectivul principal urmărit în faza de analiză l-a reprezentat definirea a „ceea ce este” și a „ceea ce ar trebui să fie” sistemul informațional. În acest sens au fost realizate două activități importante: determinarea cerințelor sistemului și structurarea (formalizarea) acestora. Prin determinarea cerințelor sistemului s-a urmărit mai întâi descrierea a ceea ce face sistemul existent prin prezentarea proceselor de prelucrare, a fluxurilor informaționale, a procedurilor de lucru, a documentelor și rapoartelor din sistem etc. Apoi, s-a urmărit identificarea a ceea ce doresc utilizatorii de la noul sistem. Structurarea cerințelor sistemului a vizat dezvoltarea modelului logic al sistemului. Fluxurile informaționale dintre procesele de prelucrare au fost reprezentate prin diagrama fluxurilor de date, logica prelucrării datelor a fost descrisă prin intermediul tabelelor de decizie sau a englezei structurate, modelul conceptual al datelor a fost transpus prin intermediul diagramei entitate-relație.

Odată finalizată faza de analiză, trebuie aleasă calea ce va fi urmată pentru obținerea noului sistem. Așadar, punctul în care ne aflăm acum îl reprezintă trecerea de la analiza sistemului la proiectarea sitemului. Obiectivul principal al proiectării constă în a determina exact „cum” se va parcurge drumul de la „ceea ce este” la „ceea ce ar trebui să fie” sistemul pentru a se îngloba toate cerințele identificate anterior. Proiectarea trebuie să ofere soluția optimă de înglobare a tuturor cerințelor în noul sistem. Trecerea de la analiză la proiectare presupune trecerea de la „ce” la „cum” se va obține noul sistem. Toate informațiile obținute până acum trebuie transformate în idei și soluții de proiectare pentru noul sistem.

Direcția care va fi urmată în continuare în dezvoltarea noului sistem este numită strategia de proiectare. Chiar dacă după parcurgerea fazei de analiză multe lucruri s-au clarificat, mai există unele incertitudini privind sistemul datorate contradicțiilor care pot exista între utilizatori privind cerințele funcționale, alternativele privind platformele hardware și software, cerințele funcționale care să fie incluse în noul sistem în funcție de restricțiile de costuri și timp, sursele de obținere a software-ului etc. Echipa de realizare trebuie să identifice și să definească clar câteva alternative de proiectare a sistemului pe care să le supună dezbaterii utilizatorilor și conducerii firmei, din care va fi aleasă cea optimă.

În prezentul capitol ne vom ocupa de principalele aspecte care privesc definirea strategiei de proiectare. Vor fi prezentate activitățile care trebuie parcurse, considerațiile care stau la baza generării alternativelor strategice de proiectare, criteriile utilizate la evaluarea alternativelor, modul de selectare a celei mai bune variante de sistem.

1.3 Considerații generale privind strategia de proiectare

După cum spuneam anterior, înainte de trecerea la proiectarea noului sistem trebuie aleasă strategia de proiectare, ceea ce implică identificarea mai multor variante de proiectare și alegerea celei optime. Dar de ce este nevoie să definim mai multe variante de proiectare?

Mai întâi să spunem că în domeniul dezvoltării sistemelor informaționale, ca de-altfel în mai toate domeniile de activitate, se aplică demersul sistemic de rezolvare a unei probleme. Acest demers presupune parcurgerea unor faze și etape interdependente și care se întrepătrund, prezentate în figura 1. După cum se poate ușor observa, primele două faze au fost parcurse deja, de următoarele trei ne vom ocupa în acest capitol, iar ultimele două vor fi abordate în cadrul celorlalte capitole.

Desigur că răspunsul ar putea fi considerat ca “evaziv”. De ce trebuie aplicat demersul sistemic? Care sunt avantajele aplicării lui în domeniul dezvoltării sistemelor informaționale?

Figura 1. Fazele și etapele demersului sistemic de rezolvare a unei probleme

Un vechi dicton ingineresc spune că “Un proiect poate fi de bun, ieftin și realizat în timp scurt … alege două dintre ele”. Marakas a denumit aplicarea acestui dicton în domeniul sistemelor informaționale ca adevărul geometric despre proiectele de dezvoltare a sistemelor informaționale, pornind de la teorema lui Pitagora. Așa cum la trasarea unui triunghi se poate specifica doar mărimea a două unghiuri (al treilea fiind determinat ca diferență până la 180 de grade), la fel și în dezvoltarea sistemelor informaționale trebuie găsit un echilibru între calitatea, costurile și timpul de realizare (vezi figura 2). Accentul pus pe unul din cele trei aspecte se va răsfrânge asupra unuia din celelalte două sau asupra ambelor aspecte. De exemplu, accentul pus pe calitatea sistemului (cum ar fi includerea tuturor cerințelor funcționale și nefuncționale în sistem) ar presupune costuri și timp de realizare mai mari. Dacă se dorește minimizarea costurilor și reducerea timpului de realizare, atunci calitatea sistemului va fi mult afectată. Obținerea unui sistem de calitate și într-o perioadă scurtă de timp duce la sporirea considerabilă a costurilor (vor trebui angajați numeroși specialiști din afără firmei). Prin urmare, se poate interveni doar asupra a două din cele trei aspecte importante care privesc dezvoltarea sistemelor informaționale.

Decizia asupra soluției optime trebuie să o ia utilizatorii și conducerea firmei, datorită importanței ei deosebite. După luarea acestei decizii și trecerea la proiectarea și implementarea sistemului orice revenire poate fi foarte costisitoare sau chiar imposibilă. Orice revenire până în acest punct poate să nu implice nici un cost suplimentar. După stabilirea strategiei de proiectare și trecerea la implementarea ei face dificilă orice revenire cu atât mai mult cu cât s-a înaintat în realizarea proiectului. Dacă s-a optat pentru dezvoltarea aplicațiilor în mediul FoxPro, nu se poate reveni ușor pentru trecerea la mediul Oracle deoarece s-a constatat că nu pot fi satisfăcute cerințele de securitate. Acest lucru ar însemna renunțarea la o mare parte din rezultatele obținute până în momentul respectiv.

Figura 2. Adevărul geometric despre dezvoltarea sistemelor informaționale

Prin urmare, cea mai bună soluție de proiectare a sistemului trebuie să asigure compromisul optim între cele trei dimensiuni: calitatea sistemului, costurile și timpul de realizare. Găsirea acestui optim implică identificarea mai multor variante și evaaluarea cu atenție a acestora cu scopul alegerii celei mai bune.

Un alt motiv care justifică necesitatea elaborării mai multor alternative de proiectare este legat de pericolul familiarizării excesive a membrilor echipei cu anumite tipuri de probleme. Dacă ei sunt specializați cu precădere în tehnologia bazelor de date, atunci soluția lor se va baza pe această tehnologie, chiar dacă cel mai indicat mod de rezolvare ar consta în utilizarea unui program de calcul tabelar. De asemenea, dacă în trecut au avut o soluție anume la un gen similar de problemă, varianta propusă de ei va fi ultima lor realizare la dezvoltarea unui alt sistem. Dacă ea ar fi și cea mai bună soluție nu ar fi nimic grav, însă, de multe ori, propunerea este subiectivă.

Definirea strategiei de proiectare presupune două activități principale:

Generarea alternativelor strategice de proiectare

Selectarea celei mai bune variante.

În continuare vom aborda aceste două probleme. La generarea alternativelor de proiectare sunt luate în considerare aria de întindere și nivelul de informatizare, definirea mediului de dezvoltare a aplicațiilor și sursele de obținere a software-ului.

1.4 Selectarea alternativelor privind aria de întindere și nivelul de informatizare

Una dintre activitățile realizate în faza de analiză a constituit-o definirea ariei de întindere a sistemului. Obiectivul urmărit atunci a fost definirea granițelor sistemului prin identificarea funcțiilor ce vor fi incluse și a legăturilor cu mediul său extern. Toate aceste informații au fost structurate cu ajutorul diagramelor fluxurilor de date. Un rol important l-au jucat utilizatorii, care și-au specificat cerințele funcționale.

Acum, înainte de a se trece la proiectarea sistemului, echipa de realizare a trebuie să se decidă asupra funcțiilor care vor fi incluse în sistem. De regulă, utilizatorii solicită mai multe cerințe funcționale a căror satisfacere ar duce la depășirea bugetului alocat și/sau a timpului de realizare planificat. Mai mult, se întâmplă care utilizatorii să ceară adăugarea unor noi funcții după ce s-a trecut la faza de proiectare. Astfel de situații pot fi evitate prin formalizarea procesului de identificare, grupare și stabilire a priorității cerințelor informaționale. În acest sens, echipa de realizare a sistemului va întocmi un document cu care utilizatorii să fie de acord și pe care-l vor semna. În el vor fi consemnate toate cerințele utilizatorilor.

Pentru a decide asupra funcțiilor (cerințelor funcționale) ce vor fi incluse în sistem este necesară definirea unor alternative de proiectare. Fiecare alternativă va îngloba mai puține sau mai multe din cerințele utilizatorilor. Această sarcină poate fi ușurată prin gruparea cerințelor sistemului în trei categorii: obligatorii, importante și dorite. Stabilirea priorității fiecărei cerințe este efectuată împreună cu utilizatorii și poate fi realizată chiar în faza de analiză, pe măsură ce acestea sunt identificate.

Determinarea priorității fiecărei funcții se face, de regulă, în strânsă legătură cu descrierea nivelului de informatizare a sistemului. Nivelul de informatizare privește suportul pe care sistemul informatic îl va oferi pentru fiecare funcție în parte. Pentru cele mai multe funcții ale unui sistem, pot fi definite cel puțin trei niveluri de informatizare: mic, mediu și mare. În cazul unui nivel mic de informatizare, sistemul se va limita la gestiunea înregistrărilor care privesc acea funcție. Aplicația va conține formulare pentru introducerea, modificarea, validarea și salvarea datelor și va furniza unele informații sub forma rapoartelor programate. Un nivel mare de informatizare presupune ca sistemul să realizeze cât mai multe din prelucrările specifice funcției respective. Definirea acestui nivel este foarte dificilă. Dacă în cazul unui nivel mic de informatizare se urmărește, de regulă, doar automatizarea procedurilor manuale existente, acum trebuie sesizate noi moduri de lucru, trebuie regândit complet modul de realizare a acelei funcții, cu scopul îmbunătățirii radicale a performanțelor. Acest cadru mai este întâlnit sub numele de reproiectarea proceselor economice (Business Process Reengineering – BPR). Varianta nivelului mediu de informatizare reprezintă de obicei o combinație a caracteristicilor celorlalte două alternative. Prin această variantă, care este cel mai probabil să fie selectată, analistul încearcă să facă cea mai bună alegere între ceea ce este necesar și ceea ce este posibil, ținând cont de restricțiile privind bugetul și timpul alocate.

După definirea alternativelor de proiectare, pe baza priorității și nivelurilor de informatizare pentru fiecare funcție, se trece la evaluarea acestora. Drept criterii de evaluare vor fi utilizate în primul rând restricțiile rezultate din studiile de fezabilitate a proiectului. Este evident că extinderea funcțională a sistemului și un nivel ridicat de informatizare vor implica costuri mari și timp îndelungat. În această fază, informațiile despre cerințele sistemului și dificultatea dezvoltării unor capacități ale acestuia sunt mai detaliate, echipa de dezvoltare fiind în măsură să evalueze mai exact decât în fazele anterioare costurile pentru fiecare alternativă strategică de proiectare, urmărindu-se încadrarea în bugetul aprobat. Datorită și restricțiilor de timp, noul sistem nu va putea satisface toate cerințele utilizatorilor. Însă, pe măsură ce utilizatorii capătă experiență în lucrul cu noul sistem, aceasta poate fi extins până ce se acoperă toate cerințele și se obține nivelul de informatizare dorit.

1.4.1 Definirea mediului de dezvoltare al aplicațiilor

Unul din aspectele importante ale dezvoltării unui nou sistem informațional privește mediul de dezvoltare al aplicațiilor. Mediul de dezvoltare face referire la configurația echipamentelor, a sistemelor de operare și a rețelei în care vor fi instalate noile aplicații. Pentru a determina mediul de dezvoltare trebuie găsite răspunsurile la unele întrebări precum: Aplicațiile necesită prelucrarea pe loturi a unui volum mare de date sau prelucrarea on-line? Câți utilizatori vor fi, câte posturi de lucru și cât de răspândite vor fi acestea? Unde ar trebui localizate datele? Răspunsurile la aceste întrebări (și multe altele) oferă o imagine preliminară asupra viitorului sistem, permițând echipei de realizare a proiectului să ia deciziile potrivite pentru mediul de dezvoltare.

În general, dezvoltarea noului sistem nu implică redefinirea mediului de dezvoltare. Aceste aspecte sunt extrem de importante, ele fiind luate în considerare, de regulă, în faza planificării strategice a sistemelor informaționale. În fapt, ar fi imposibilă redefinirea mediului de dezvoltare cu ocazia fiecărui proiect de realizare a unui nou sistem, fie și numai pentru că ar afecta buna funcționare a aplicațiilor dezvoltate anterior. Totuși, unele modificări pot fi aduse astfel încât să se obțină maximum de performanțe ale noului sistem sau utilizarea unor tehnologii noi.

Prin urmare, analistul trebuie să ia în considerare la formularea alternativelor strategice de proiectare și alternativele care privesc mediul de dezvoltare al aplicațiilor. În continuare vom prezenta pe scurt câteva variante posibile: prelucrarea pe loturi/prelucrarea on-line, sistem centralizat/distribuit, Internet/intranet/extranet.

1.4.2 Alternativa sistem centralizat/sistem distribuit

Atunci când vorbim despre mediul de dezvoltare a unui sistem informatic, pot fi identificate trei variante de sisteme: centralizate, descentralizate și distribuite. De-a lungul evoluției informaticii, în diferite perioade a predominat una sau alta dintre aceste variante.

Până la începutul anilor ’70, nu exista o altă variantă decât informatica centralizată. Sistemele informatice aveau la bază calculatoare de tip mainframe pe care erau rezidente toate aplicațiile și la care erau conectate terminale plasate în diferite locații din firmă. Aceste terminale permiteau doar introducerea datelor și afișarea rezultatelor prelucrării. Moda centralizării a revenit la sfârșitul anilor ’80 și începutul anilor ‘90, atunci când au apărut și s-au dezvoltat rețelele de calculatoare în care erau conectate microcalculatoare de tip IBM PC.

La începutul anilor ’80, odată cu proliferarea microcalculatoarelor, s-a dezvoltat informatica descentralizată. Majoritatea sistemelor informatice din această perioadă constau în aplicații izolate instalate pe PC-uri. Fiecare departament era dotat cu PC-uri pe care rulau aplicațiile necesare desfășurării activității lor. Marele merit al acestei scurte ”epoci” a fost mutarea informaticii dintr-un departament special spre celelalte departamente funcționale din firmă însă, lipsa integrării aplicațiilor au creat numeroase neajunsuri, ceea ce a determinat în scurt timp reorientarea către informatica centralizată.

La începutul anilor ’70, odată cu apariția minicalculatoarelor, au fost dezvoltate primele sisteme informatice distribuite. Aplicațiile sistemului erau distribuite pe mai multe minicalculatoare interconectate în rețea. Informatica distribuită a fost abandonată datorită apariței microcalculatoarelor, dar s-a revenit în anii ’90, odată cu maturizarea rețelelor de calculatoate și a altor tehnologii informaționale. În prezent se înregistrează tendința spre dezvoltarea sistemelor distribuite conform modelului client/server, asupra căruia vom reveni.

Dacă problema sistemelor informatice descentralizare nu se mai pune astăzi, în schimb sistemele centralizate și cele distribuite rămân alternativele viabile pentru dezvoltarea sistemelor informaționale. Prin comparație, un sistem informatic centralizat presupune ca un singur calculator să satisfacă nevoile organizației, la care pot fi conectate mai multe terminale (PC-uri sau NC-uri), iar un sistem distribuit va fi format din mai multe calculatoare pe care sunt distribuite aplicațiile și care împreună satisfac nevoile organizației. Problematica sistemelor distribuite este mult mai complexă, motiv pentru care vom insista asupra ei în continuare.

Sistemele distribuite pot fi definite ca “o colecție de calculatoare independente care apar utilizatorilor acestora ca un singur sistem coerent”. Această definiție evidențiază două aspecte esențiale: primul privește hardware-ul – calculatoarele sunt autonome; cel de-al doilea vizează software-ul – utilizatorii au impresia că lucrează cu un singur sistem.

Dincolo de această definiție, problematica sistemelor distribuite poate fi clarificată prin prezentarea caracteristicilor lor esențiale. Pe scurt, acestea sunt:

diferențele dintre variatele tipuri de calculatoare și modul în care ele comunică sunt ascunse (transparente) pentru utilizator, la fel ca și organizarea internă a sistemului distribuit;

utilizatorii și aplicațiile pot interacționa cu un sistem distribuit într-o manieră uniformă și consistentă, indiferent de locul și momentul în care are loc interacțiunea;

execuția concurentă a programelor reprezintă regula într-un sistem distribuit. Doi utilizatori își pot realiza sarcinile lor de lucru pe propriile calculatoare prin partajarea unor resurse, precum paginile web sau fișiere, atunci când este necesar;

sistemele distribuite trebuie să fie scalabile adică, să poată fi ușor extinse. Această caracteristică este o consecință directă a autonomiei calculatoarelor din sistem, dar și a faptului că pentru utilizator organizarea internă este transparentă;

un sistem distribuit trebuie să asigure independența față de eventualele căderi sau disfuncționalități ale unor calculatoare sau aplicații din sistem, el trebuind să fie în continuare disponibil utilizatorilor. Este responsabilitatea proiectanților de a prevedea consecințele eventualelor disfuncționalități.

Conceptul de sistem distribuit este aplicat unei mari varietăți de configurații și aplicații. Totuși, pornind de la cele două componente principale ale unui software – prelucrările și datele, pot fi identificate două tipuri de bază de sisteme distribuite: sisteme cu prelucrări distribuite și sisteme cu date distribuite. Există mai multe variante de configurare a unui mediu cu prelucrări distribuite: aplicațiile pot fi stocate într-o singură locație și accesate de către oricare procesor conectat în sistem; o aplicație poate fi replicată pe mai multe locații din rețea; diferite aplicații pot fi rezidente pe diferite locații din rețea, însă ele sunt accesibile tuturor utilizatorilor din rețea. Distribuirea datelor presupune proiectarea unei baze de date distribuite în care datele sunt fragmentate și dispersate pe diferite locații din rețea sau ele sunt replicate pe mai multe noduri din rețea în vederea ușurării accesului la date. O altă configurație de sistem distribuit poate rezulta prin combinarea celor două tipuri de bază, adică distribuirea atât a datelor cât și a prelucrărilor.

Motivația principală pentru utilizarea sistemelor distribuite o reprezintă dorința utilizatorilor de a partaja resursele. Noțiunea de resursă este una abstractă, folosită pentru a descrie mulțimea lucrurilor care pot fi partajate într-o rețea de calculatoare. Ea face referire la componentele hardware, precum discurile și imprimantele, dar și la cele software, precum fișierele, bazele de date, obiectele de toate tipurile. Partajarea resurselor nu este singurul avantaj al sistemelor distribuite, alte avantaje față de sistemele centralizate fiind enumerate în tabelul 1.

Tabelul 1. Principalele avantaje și dezavantaje ale sistemelor distribuite

Flexibilitatea dezvoltării sistemelor distribuite dată de faptul că o firmă aflată în plină dezvoltare (extindere) are posibilitatea de a adăuga incremental noi resurse (hard și soft) în sistem, respectiv achiziționarea, instalarea și conectarea lor pe măsură ce ele sunt necesare. Flexibilitatea sistemelor centralizate este limitată de inabilitatea lor de a asigura creșterea incrementală. Dezvoltarea sau extinderea activității firmei determină supraîncărcarea sistemului informațional existent și, implicit, necesitatea înlocuirii acestuia cu altul mai performant (în cazul sistemelor distribuite nu se pune problema înlocuirii acestuia ci a extinderii lui, conservându-se astfel investițiile anterioare). Chiar dacă s-ar pune problema planificării extinderii viitoare a firmei în vederea dezvoltării unui sistem informatic corespunzător, soluția unui sistem centralizat tot nu ar fi satisfăcătoare deoarece ea ar fi prea scumpă, atât timp cât o bună parte din capacitatea de stocare și prelucrare a sistemului nu va fi utilizată decât ulterior, pe măsura dezvoltării firmei, și numai dacă previziunile se adeveresc.

Creșterea disponibilității resurselor reprezintă un alt avantaj major al sistemelor distribuite. Apariția unei disfuncționalități într-un sistem centralizat (căderea serverului sau a liniei de comunicație) determină blocarea întregului sistem informațional până la remedierea problemei ivite. În schimb, sistemele distribuite sunt proiectate să funcționeze și în condițiile apariției unor disfuncționalități, care va afecta numai o parte a sistemului. Celelalte resurse rămân disponibile, ele putând chiar prelua sarcinile părții de sistem afectate, situație în care utilizatorul nu va fi conștient de disfuncționalitatea apărută.

Sistemele distribuite permit reducerea costurilor de comunicație și depășirea limitelor mediilor de comunicație. Într-un sistem distribuit, majoritatea prelucrărilor pot fi realizate local, iar datele de interes local pot fi stocate și gestionate local, ceea ce determină reducerea drastică a traficului în rețea. Cea mai mare problemă cu care se poate confrunta o bază de date centralizată, atunci când ea este accesată de la distanță, este legată de eventualitatea blocajelor rețelei de comunicație; nici supraîncărcarea serverului de numeroasele accese de la distanță nu trebuie neglijate. Sistemele distribuite oferă timpi de răspuns mai buni la cererile utilizatorilor. Sistemele centralizate păcătuiesc adesea prin oferirea unor timpi de răspuns nesatisfăcători utilizatorilor, datorită volumului mare de date ce trebuie transmise prin rețea.

În afără avantajelor prezentate, implementarea sistemelor distribuite are asociate și unele dezavantaje ce trebuie luate în considerare la dezvoltarea lor. Poate cea mai importantă piedică în extinderea utilizării sistemelor distribuite o reprezintă dificultatea dezvoltării lor generată de enorma complexitate a acestor sisteme. Principalele surse ale complexității sunt: distribuirea datelor și/sau replicarea lor, distribuirea prelucrărilor, asigurarea diferitelor forme de transparență, asigurarea consistenței datelor. Un sistem cu baze de date distribuite care trebuie să ascundă natura distribuită a datelor față de utilizatori este fără îndoială mai complex decât un sistem cu baze de date centralizate. Bazele de date replicate adaugă cel puțin un nivel suplimentar de complexitate. Dacă sistemul nu este bine proiectat, atunci el va furniza un nivel de performanță, disponibilitate și siguranță inacceptabile.

1.4.3 Modelul client/server

Arhitectura client/server reprezintă modelul arhitectural cel mai utilizat la dezvoltarea sistemelor distribuite. El este un model general ce poate fi implementat în numeroase moduri.

Ideea subiacentă conceptului client/server este serviciul. O aplicație informatică distribuită dezvoltată după modelul client/server este descompusă în două două grupuri de procese: consumatorii de servicii, numiți client și furnizorii de servicii, numiți server, care comunică între ele prin schimbul de mesaje de tip solicitare-răspuns (vezi figura 3.). De exemplu, un server poate fi conceput pentru a oferi un serviciu de baze de date clienților săi. Serverul este funcțional independent de client, iar relația între client și server este de colaborare (cooperare). Ea se diferențiază radical de aplicațiile centralizate, în care relația este de tip “stăpân-sclav” (master-slave).

În modelul client/server, clientul solicită serverului execuția unui serviciu prin transmiterea unui mesaj. La rândul său, serverul va transmite clientului rezultatul solicitării sale. Diferitele funcții ale aplicației informatice sunt regrupate sub forma programelor client și server, fiecare cu roluri bine definite. Pentru utilizator totul este transparent, el comunicând cu programul client; schimbul de mesaje realizat între programele client și server îi sunt transparente, el percepând aplicația ca un ansmablu executat doar pe postul său de lucru.

Figura 3. Modelul general al interacțiunii dintre client și server

Problema principală în modelul client/server este legată de distincția clară dintre client și server. Proiectarea sistemelor client/server presupune conceperea arhitecturii aplicațiilor pe straturi bine definite. O astfel de abordare permite proiectarea independentă a straturilor, singura grijă constând în definirea clară și proiectarea atentă a interfețelor, urmărindu-se ca:

fiecare strat să aibă un domeniu bine definit, în sensul definirii foarte clare a sarcinilor și responsabilităților fiecărui strat;

fiecare strat trebuie să îndeplinească o sarcină specifică; dacă, de exemplu, unul din straturi este responsabil cu interacțiunea cu utilizatorul, atunci numai acel strat va comunica cu utilizatorul, celelalte straturi realizând acest lucru prin intermediul acestui strat dacă au nevoie de informații de la utilizator.

stabilirea unor protocoale bine definite pentru interacțiunea dintre straturi, interacțiune care să se realizeze numai prin intermediul acestor protocoale.

O primă încercare în acest sens a constituit-o împărțirea aplicațiilor pe două straturi, rezultând arhitectura cu două straturi. Această arhitectură presupune descompunerea aplicației în următoarele două straturi: stratul corespunzător aplicației, în care se include interfața grafică cu utilizatorul și implementarea regulilor afacerii (business rules) și stratul corespunzător bazei de date, care este responsabil de menținerea integrității bazei de date. În acest strat poate fi implementată întreaga logică a tranzacției sau o parte a ei.

Distincția dintre cele două straturi nu este întotdeauna bine definită deoarece logica tranzacției este adesea implementată pe serverul de baze de date, sub forma procedurilor stocate, iar regulile afacerii, parte a logicii aplicației, sunt de asemenea implementate pe server, sub forma trigger-elor. În plus, sunt întâmpinate greutăți considerabile în dezvoltarea sistemului informațional pe baza creșterii accentuate a numărului de aplicații, a numărului și tipului serverelor de baze de date. Această deficiență poate fi rezolvată prin introducerea unui nivel suplimentar, care să trateze regulile afacerii, rezultând o arhitectură cu trei straturi (vezi figura 4). Această arhitectură presupune împărțirea aplicației în următoarele straturi:

gestiunea interfaței utilizator (gestiunea prezentării) – privește dialogul între utilizatori și aplicație, incluzând aici logica de prezentare a informației (ansamblul prelucrărilor efectuate asupra datelor necesare afișarii lor). El acceptă intrările de la utilizator și furnizează rezultatele prelucrărilor în formatul solicitat;

logica aplicației – cuprinde ansamblul operațiilor de prelucrare specifice aplicației și înlănțuirea lor logică;

gestiunea datelor – rezolvă cererile de date, asigură integritatea datelor, emiterea anumitor mesaje de alertare, precum și gestiunea fizică a datelor (adăugări, modificări, ștergeri).

Figura 4. Arhitectura client/server cu trei straturi

În esență, arhitectura pe trei straturi diferă de cea pe două straturi prin separarea logicii afacerii într-un strat distinct, localizat de regulă pe un server de aplicații care comunică strâns cu serverul de baze de date. Introducerea unui strat intermediar permite definirea și implementarea regulilor afacerii independent de logica prezentării interfeței GUI și a regulilor de proiectare a bazei de date. Acest avantaj devine evident în condițiile în care regulile afacerii sunt supuse mai des modificărilor, facilitând astfel reimplementarea lor.

În prezent se manifestă tendința dezvoltării aplicațiilor cu n straturi, în care pot exista mai mult de trei straturi, atât din punct de vedere logic, cât și fizic. De exemplu, în figura 4 stratul bazei de date sau stratul aferent logicii aplicației pot fi împărțite la rândul lor în mai multe straturi. Acest lucru este posibil datorită apariției unei noi paradigme în dezvoltarea sistemelor informaționale, referită prin sintagma orientată pe componente.

Implementarea unei aplicații multistrat necesită existența unor programe speciale care să faciliteze comunicarea dintre straturi. Programele care facilitează implementarea facilităților de comunicare între straturi sunt referite prin middleware. O definiție mai formală, consideră middleware-ul ca un nivel al software-ului al cărui scop constă în mascarea eterogenității platformei hardware și software, precum și furnizarea unui model de programare comod dezvoltatorilor de aplicații. El este format din procese sau obiecte ce se regăsesc pe un grup de calculatoare, și care interacționează între ele pentru a asigura implementarea comunicării și partajării resurselor în aplicațiile distribuite. Altfel, aplicațiile distribuite ar trebui să apeleze direct la interfața de programare furnizată de sistemul de operare al rețelei.

Pentru a simplifica dezvoltarea și integrarea aplicațiilor distribuite, majoritatea soluțiilor middleware se bazează pe un anumit model, care descrie aspectele privind distribuirea și comunicarea. Cele mai utilizate astfel de modele sunt: apelarea procedurilor de la distanță (Remote Procedure Call), distribuirea obiectelor și distribuirea documentelor. Cele mai cunoscute soluții middleware sunt Sun RPC, CORBA (Common Object Request Broker Architecture), Java RMI (Java Remote Object Invocation) și DCOM (Distributed Component Object Model).

1.5 Proiectarea de ansamblu a sistemelor informatice

Activități în proiectarea de ansamblu:

definirea obiectivelor;

structura sistemelor informatice;

definirea ieșirilor;

definirea intrărilor;

definirea colecțiilor de date;

alegerea modelului matematic și a programelor aferente;

alegerea soluțiilor tehnice de realizare;

listarea necesarului de resurse;

estimarea eficienței economice;

planificarea realizării sistemului;

elaborarea documentației.

Caracteristicile sistemului informatic:

orice sistem trebuie să conțină ca element central o bază de date, în care să fie stocate date intercorelate între ele provenind de la surse interne și externe;

informațiile furnizate de sistem trebuie obigatoriu să fie autentice, exacte, iar suportul de prezentare să varieze de la un nivel de conducere la altul;

sistemul trebuie să înglobeze o varietate de modele matematice, tehnico-economice (de exemplu modele de optimizare, modele de simulare, modele de eficiență);

sistemul trebuie conceput ca un sistem om-mașină oferind astfel posibilitatea unei interacțiuni imediate către utilizator și sistem.

sistemul trebuie să prezinte un grad cât mai ridicat de integrare sub următoarele două aspecte: integrare internă și integrare externă.

Cerințe ale sistemelor informatice:

Pentru realizarea unor sisteme informatice care să îndeplinească obligatoriu caracteristicile sistemelor este necesar să se țină cont de urmatoarele cerințe:

fundamentarea conceperii sistemului să fie făcută pe criterii de eficiență economică;

participarea nemijlocită a conducerii unității la conceperea sistemului informatic;

asigurarea unui nivel tehnic înalt al soluțiilor adaptate;

adoptarea de soluții în concordanță cu resursele disponibile și cu restricții impuse.

Domenii și activități în cadrul sistemelor informatice:

Planificarea tehnico-economică – activități:

elaborarea planului anual;

defalcarea planului pe trimestre, luni și unităti componente;

urmărirea modului de realizare al planului;

Pregătirea tehnică a producției – activități:

elaborarea planului;

elaborarea și actualizarea fișelor tehnologice;

calculul loturilor optime;

calculul consumurilor specifice de materii prime, materiale;

urmărirea și analiza planului privind introducerea progresului tehnic;

Programarea, lansarea și urmărirea producției de bază – activități:

calculul necesarului de fabricat pe perioada de plan;

elaborarea programelor de fabricație;

programarea operativă a producției;

lansarea manoperei;

lansarea materialelor.

Aprovizionarea tehnico-materială și desfacerea producției: – activități:

aprovizionarea tehnico-materială;

desfacerea producției;

controlul stocurilor.

Forța de muncă – activități:

elaborarea planului forței de muncă și al fondurilor de salarizare și școlarizare;

evidența personalului;

analiza și raportări statistice.

Financiar-contabil – activități:

elaborarea bugetului pe venituri și cheltuieli;

contabilitatea mijloacelor fixe;

contabilitatea valorilor materiale;

contabilitatea salariilor;

contabilitatea cheltuielilor de producție;

contabilitatea generală.

Structura sistemelor de informatice este o etapă necesară, datorită:

numărului mare de elemente și legături ce compun de regulă un sistem informatic;

implementarea simultană a tuturor componentelor sistemelor informatice într-unitate economică apare ca o activitate deosebit de dificilă în cazul în care nu are loc structurarea sistemului;

prioritatea unor obiective;

cantitatea limitată de resurse umane și materiale fac imposibilă proiectarea în bloc a sistemului informatic.

Cerințe ale structurării sistemelor informatice în etape de proiectare de ansamblu:

pe fiecare nivel al structurării trebuie asigurată unicitatea criteriului de descompunere a sistemului;

structurarea realizată trebuie să permită constituirea ulterioară a întregului sistem prin agregarea modulelor separate;

structura creată nu trebuie să conțina întretăieturi.

Definirea ieșirilor sistemelor informatizate

Prin ieșirile unui subsistem informatic se va înțelege totalitatea informațiilor furnizate de acesta, beneficiarilor interni și externi, respectiv rapoarte, note de informare.

Definirea intrărilor sistemelor informatice

Prin intrările unui sistem informatic se ințelege totalitatea datelor primare necesare obținerii informațiilor de ieșire ale sistemului. Datele primare se pot clasifica în date interne și în date externe. La nivelul fiecărui subsistem informatic este necesar ca intrările sistemului să fie condiționate de ieșirile acestuia.

Planul logic – orice ieșire este un rezultat al aplicării unuia sau mai multor operatori asupra unui ansamblu de date de intrare.

Planul tehnologic – caracteristicile ieșirilor sistemului condiționează caracteristicile cerute intrărilor.

Stabilirea colecțiilor de date – principalele criterii pe baza cărora se pot grupa datele sunt legate de sfera de cunoaștere, de domeniul de activitate, de stabilitatea conținutului datelor și de rolul datelor în procesul prelucrării.

După sfera de cunoaștere:

date primare;

indicatori tehnico-economici cu caracter operațional;

indicatori tehnico-economici cu centralizare media;

indicatori sintetici.

După domeniul de activitate

colecția furnizori;

colecția beneficiari;

colecția contracte;

colecția produse;

colecția repere;

colecția lucrări;

colecția personal;

colecția plăți;

colecția încasări.

După stabilirea datelor

colecții de date convențional-constante;

colecții de date variabile.

Clasificarea colecțiilor de date conventional-constante: colecțiile de date cu caracter normativdetin 50-60% din volumul totalde informatii care circula în procesul informațional al unei unitati econimice.

Principalele colecții de date cu caracter normativ:

normativele de fabricație;

normativele tehnologice;

normativele de muncă;

normativele materiale.

După prelucrarea datelor

colecții de date de bază;

colecții de date pentru tranzacții;

colecții de date intermediare sau de lucru;

colecții de date statistice;

colecții de date istorice.

Alegerea modelelor economico-matematice

Modelele matematice folosite în perfecționarea activității economice sunt următoarele:

modele de programare liniară – problemele economice ce se pot rezolva cu acest tip de modele privesc optimizarea planului de producție, repartizarea sarcinilor de producție și folosirea optimă a resurselor;

modele de programare – problemele economice ce se pot rezolva cu acest tip de modele sunt determinarea minimului global/local pentru o funcție reală.

metodele de programare dinamică – problemele economice ce se pot rezolva cu aceste modele sunt realizarea analizei secvențiale a proceselor de luare a deciziilor, rezolvarea problemelor de înlocuire a utilajelor.

modele de teoria grafurilor – problemele economice ce pot fi astfel rezolvate sunt cele legate de determinarea drumurilor cu valoare optimă, determinarea fluxului maxim;

modele de gestiune a stocurilor – problemele economice ce se pot rezolva cu aceste modele privesc optimizarea activităților de aprovizionare, de producție și de desfacere;

modele de simulare – problemele economice ce se pot rezolva cu aceste modele sunt simularea evoluției fenomenelor și proceselor economice în funcție de caracterul lor;

modele de teoria deciziilor – problemele economice rezolvate în acest mod sunt legate de fundamentarea deciziilor multidimensionare, fundamentarea deciziilor în condiții de risc și incertitudine.

modele de așteptare – problemele economice ce se pot rezolva cu aceste modele privesc minimizarea timpului de așteptare concomitent cu minimizarea cheltuielilor ocazionate de așteptare.

Alegerea tehnologiilor de prelucrare

Tehnologiile pot fi clasificate în funcție de:

metodele, tehnicile și echipamentele utilizate;

modul în care se structurează și se organizează datele pentru prelucrare;

procedeele de introducere a datelor în calculator;

metodele și tehnicile de prelucrare și de redare a rezultatelor obținute.

a) Din punct de vedere al performanțelor tehnico-funcționale respectiv, după timpul de răspuns al sistemelor informatice, tehnologiile se pot diferenția în:

tehnologii cu răspuns întârziat;

tehnologii în timp real.

b) După modul de structurare și organizare a datelor, tehnologiile de preluare automată a datelor se clasifică în:

tehnologii care utilizeaza fișierele clasice;

tehnologii care utilizează fișierele clasice și/sau fișiere integrate;

tehnologii care utilizează baze de date.

c) După locul amplasării calculatorului electronic în raport cu punctele de generare a datelor și cu funcțiile de valorificare a informațiilor obținute din prelucrare:

tehnologii pentru sisteme informatice centralizate;

tehnologii pentru sisteme informatice distribuite.

Estimarea necesarului de resurse

Elementele determinante pentru configurația fiecărui echipament de prelucrare sunt:

Memoria internă – estimarea necesarului de memorie internă se face pe baza relației de calcul M=M1+M2 unde:

M=necesarul total de memorie,

M1=necesarul de memorie pentru folosirea sistemului de operare ales,

M2=necesarul de memorie pentru executia programelor aplicative.

Necesarul de memorie internă pentru programe aplicative este:

M2=max(Ma,Mb,. .,Mn)

Estimarea necesarului de echipamente periferice ale sistemului central de prelucrare se realizează în funcție de echipam de intrare-iesire și de unitățile de memorie externă.

Numărul echipamentelor periferice necesare se stabileste în raport de factorii:

fluxul de intrare-ieșire;

volumul de date ce se cere a fi stocat în memoria externă;

modul de exploatare;

numărul de programe ce se execută în paralel.

Estimarea necesarului de personal de specialitate – personalul de specialitate necesar realizării și exploatării sistemului informatic se determină în raport cu volumul de muncă cerut de complexitatea proiectului și volumul de muncă cerut de întreținerea și exploatarea sistemului informatic.

Estimarea necesarului de produse – program se realizează:

din ansamblul de programe care însoțesc calculatorul electronic;

prin preluarea de elemente tipizate;

prin preluarea altor programe de la alte centre de informatică;

prin elaborarea softului cu eforturi proprii.

Planificarea realizării sistemelor informatice

Această etapă are la bază principiul proiectării și implementării eșalonate.

Eșalonarea reprezintă ordinea în care vor fi abordate componentele sistemului. Eșalonarea se reprezintă sub forma unui grafic detaliat în care se specifică fiecare modul component, etapele de realizare și durata fiecăreia.

Criterii:

prioritatea obiectivelor componente;

asigurarea legăturilor între componente.

Aceste relații sunt de două tipuri, relații de precedența și relații de succesiune;

disponibilitatea resurselor.

1.6 Proiectarea de detaliu a sistemelor informatice

Activități în proiectarea de detaliu:

detalierea funcțiunilor și a structurii funcționale a subsistemelor;

proiectarea detaliata a “ieșirilor” fiecărui subsistem;

proiectarea codurilor;

proiectarea detaliată a “intrărilor” fiecărui subsistem;

proiectarea fișierelor și a bazei de date.

evaluarea necesarului de resurse;

planificarea elaborării programelor.

Proiectarea situațiilor cu rezultate finale – ieșirile sistemelor.

Această etapă poartă denumirea de proiectare logică de detaliu și se finalizează prin întocmirea pentru fiecare situație finală a specificațiilor de ieșire care servesc la:

transmiterea rezultatelor prelucrării pe calculatorul utilizatorului;

transmiterea proiectului situațiilor programatorului, fără ambiguități.

Alegerea suportului informațiilor de ieșire – imprimantă, display, disc fix magnetic, floppy disc, bandă magnetică.

Pentru definitivarea formei și a formatului de prezentare a situațiilor finale trebuiesc respectate cerințele conducerii privind macheta situației finale; restricțiile tehnice; elementele de eficiență; lizibilitatea și spațierea; utilizarea formularelor preplătite; utilizarea monitoarelor sau a terminalelor video; utilizarea generatoarelor de rapoarte;

Definitivarea procedurilor de utilizare și interpretare a ieșirilor reprezintă cea de-a treia direcție de lucru din cadrul proiectării fizice de detaliu și include procedurile de utilizare a informațiilor de la ieșire dar și diverse interpretoare a situațiilor finale.

Proiectarea codurilor

Codificarea externă a datelor – prin operația de codificare se înțelege generarea unor grupuri de simboluri și atribuirea lor elementelor unei înregistrări.

Prin noțiunea de cod se înțelege o combinație de simboluri asociate unei caracteristici date din cadrul unei colecții de date. Prin capacitatea unui sistem de coduri se întelege totalitatea combinațiilor posibil de realizat din simboluri ce contin un cod. Prin lungimea codului se întelege numărul de simboluri elementare dintr-un cod.

Formatul codului reprezintă forma finală a codului cu precizarea clară a următoarelor elemente identificatoare:

numărul de poziții utilizate;

natura pozițiilor utilizate;

cifra de control.

Aspecte în proiectarea sistemului de coduri:

Influența tipului și structurii codului asupra performanțelor sistemului informatic;

Implicațiile utilizării codurilor în operațiile de culegere a datelor și interpretarea rezultatelor finale de către utilizatorii neinformaticieni.

Cerinte în proiectarea codurilor:

Criterii de grupare a codurilor:

după natura caracterelor: coduri numerice, alfabetice, alfanumerice;

după lungimea codului: coduri semnificative și nesemnificative;

după structura codului: coduri elementare.

Activități parcurse în realizarea unui sistem de coduri:

analiza elementelor ce urmează a fi codificate;

precizarea și uniformizarea terminologiei;

alegerea tipurilor de coduri;

estimarea capacității, lungimii și formatului codului;

întreținerea nomenclatoarelor de coduri.

Proiectarea intrărilor sistemelor informatice

Proiectarea detaliată a intrărilor cuprinde ca etape proiectarea logică de detaliu și proiectarea fizică de detaliu.

Specificatiile de intrare trebuie sa cuprinda:

macheta documentului;

instrucțiunile de culegere, utilizare și transpunere pe suport tehnic;

regulile de control și validare.

În proiectarea fizică de detaliu este necesară realizarea a patru grupe de activități:

Alegerea suportului tehnic pentru culegerea datelor;

Proiectarea machetelor documentelor de intrare – macheta documentului primar trebuie să conțină definite urmatoarele elemente de structură: antetul, denumirea documentului; coduri de identificare, data, rubrici.

Stabilirea instrucțiunilor de culegere și regulilor de control și validarea datelor trebuie să cuprindă reguli de validare manuală a volumului a secvenței documentelor și a cifrelor de control pe pachetele de documente primare și reguli pentru controlul sintactic a datelor din documentele primare. Aceste reguli de control sunt o condiție necesară pentru scrierea programelor de verificare logică a datelor de intrare.

Proiectarea videoformatului de intrare se face în funcție de modul concret de desfășurare a dialogului operator-calculator și se poate desfășura sub două forme: varianta întrebare-răspuns, cu defilarea liniilor ecranului și varianta afișare pe ecran a machetei de introducere a datelor de intrare.

CAPITOLUL II

Proiectarea Bazelor de Date

2.1 Proiectarea logică a bazei de date

Activitățile fazei de proiectare detaliată privesc componentele principale ale oricărui sistem informatic, respectiv baza de date, interfețele (formulare, rapoarte, meniu) și programele. Desfășurarea acestor activități nu este secvențială ci, mai curând, paralelă și iterativă. Baza de date trebuie sa reflecte specificațiile de proiectare privind formularele și rapoartele din sistem, iar proiectarea formularelor și rapoartelor nu poate fi finalizată fără ca schema bazei de date să fie clar definită. Totuși, baza de date reprezintă „nucleul” oricărui sistem informatic, în jurul său „gravitând” celelalte componente, motiv pentru care ne vom opri mai întâi asupra problematicii proiectării bazelor de date.

Principalele activități care formează ciclul de viață al bazei de date sunt: proiectarea schemei logice, proiectarea fizică a bazei de date și alocarea datelor în rețea, implementarea și întreținerea bazei de date.

2.1.1 Aplicarea principiului abstractizării în modelarea datelor

Principiul abstractizării reprezintă unul din principiile fundamentale aplicate în proiectarea sistemelor informatice. După cum vom vedea ulterior, el este utilizat și la proiectarea arhitecturii programelor. Aplicarea sa permite stăpânirea complexității sistemului prin luarea în considerare în mod eșalonat a diferitelor aspecte ale proiectării sistemului. La un moment dat, analiștii se vor concentra doar asupra anumitor aspecte, ignorându-le pe celelalte, dar care vor fi luate în considerare ulterior.

Concret, aplicarea principiului abstractizării în modelarea datelor presupune considerarea a trei niveluri de abstractizare, prezentate în figura 5: conceptual, logic și fizic.

Corespunzător celor trei niveluri pot fi identificate trei activități de bază în proiectarea bazelor de date:

analiza cerințelor sistemului și modelarea conceptuală a datelor;

proiectarea logică a bazei de date;

proiectarea fizică a bazei de date.

Prin modelarea conceptuală a datelor se urmărește construirea unui model al datelor care să asigure transpunerea exactă a realității din domeniul analizat, fără a lua în considerare cerințele specifice unui model de organizare a datelor (cum este modelul relațional), criteriile de calitate privind organizarea datelor, cerințele nefuncționale ale sistemului și criteriile de performanță privind stocarea și accesarea datelor. În acest sens, se construiește diagrama entitate-relație, care evidențiază entitățile de date din sistem, atributele acestora, precum și legăturile dintre entități. Modul în care vor fi implementate legăturile dintre entități, de exemplu, nu interesează în acest moment, atenția fiind îndreptată doar spre identificarea și descrierea lor.

Proiectarea logică presupune organizarea datelor în tabele și coloane, conform regulilor modelului relațional (acesta fiind modelul cel mai popular de organizare a datelor). După cum se poate observa din figura 5, proiectarea logică a bazei de date presupune transformarea modelului conceptual al datelor prin aplicarea regulilor și conceptelor specifice modelului relațional și a criteriilor de calitate aplicabile modelului logic al datelor, aspecte ignorate în etapa modelării conceptuale. Scopul urmărit constă în obținerea unui model relațional pur, adică neafectat de cerințele nefuncționale și cele de performanță în accesarea datelor, nici de facilitățile oferite de diferite SGBD-uri existente pe piață. Toate aceste aspecte sunt înglobate în etapa proiectării fizice a bazei de date.

Figura 5. Nivelurile de abstractizare a datelor

Principalele criterii de calitate utilizate în evaluarea modelului logic al datelor sunt:

Completitudine. Modelul logic trebuie să conțină toate datele necesare prelucrărilor și obținerii ieșirilor din sistem.

Neredundanță. Redundanța datelor generează probleme privind integritatea datelor (vezi anomaliile la actualizare) și solicită procese suplimentare pentru întreținerea datelor (vor trebui actualizate toate copiile existente pentru o dată). De aceea, modelul logic trebuie să fie format dintr-un set de tabele normalizate.

Reutilizabilitate. Schema logică a bazei de date trebuie concepută astfel încât ea să satisfacă nu doar cerințele anticipate ale sistemului ci și cele ale altor potențiali utilizatori sau eventualele cerințe viitoare care apar inevitabil. Dacă datele sunt organizate având în minte doar cerințele actuale, atunci reorganizarea datelor determinată de apariția unor noi cerințe funcționale va fi foarte costisitoare.

Stabilitate și flexibilitate. Aceste criterii vizează ușurința adaptării bazei de date la modificările ulterioare ale cerințelor sistemului. Un model al datelor este considerat stabil dacă eventualele modificări ale cerințelor funcționale nu determină modificarea sa. Schema bazei de date va fi considerată mai stabilă sau mai puțin stabilă în funcție de amploarea modificărilor generate de schimbarea cerințelor. Flexibilitatea unui model al datelor este dată de ușurința extinderii sale pentru înglobarea noilor cerințe cu impact minim asupra structurii existente.

Simplitate și eleganță. Modelul logic al datelor trebuie să ofere o clasificare naturală și elegantă a datelor. De exemplu, este inadecvată existența tabelelor Furnizor și Client atât timp cât unii parteneri de afaceri pot fi atât furnizori, cât și clienți. Aceeași situație poate apare în cazul facturilor, fiind neelegantă conceperea a două tabele, una pentru facturi emise și alta pentru facturi primite.

Modelul fizic al datelor, rezultat în urma proiectării fizice, este invizibil utilizatorilor și programatorilor. El specifică modul de stocare fizică și accesare a datelor, utilizând facilitățile oferite de un anumit SGBD. De exemplu, date din tabele diferite pot fi stocate fizic împreună pentru a putea fi transferate în memoria calculatorului printr-o singură operațiune. Luarea în considerare a acestor aspecte implică „alterarea” modelului logic (adică a modelului relațional pur), presupunând uneori prejudicierea aspectelor calitative amintite anterior. Soluția ideală ar presupune obținerea performanțelor cerute în condițiile păstrării aspectelor calitative ale modelului logic.

Obiectivul principal al proiectări fizice constă în optimizarea performanțelor bazei de date în ce privește stocarea fizică și accesul la date. În unele situații timpii de acces ceruți pot fi obținuți prin intermediul indecșilor însă, de multe ori este necesară modificarea structurii logice a datelor prin procesul denormalizării. Dacă la proiectarea schemei logice s-a urmărit prezervarea integrității datelor prin procesul de normalizare, acum poate deveni necesară introducerea unui anumit nivel de redundanță a datelor sau introducerii în schema bazei de date a câmpurilor calculate. Principala provocare constă în găsirea compromisului optim între ușurința păstrării integrității datelor și performanțele bazei de date. Denormalizarea implică selectarea proceselor dominante (interogare și actualizare a datelor) pe baza frecvenței, volumului de date și priorității acestora, evaluarea costurilor totale ale operațiunilor de actualizare, interogare și stocare a datelor, precum și evaluarea efectelor determinate de pierderea integrității datelor.

De asemenea, la proiectarea fizică vor fi luate în considerare și facilitățile oferite de SGBD-ul ales. Diferențele dintre diferite SGBD-uri se referă adesea la tipurile de date suportate, reprezentarea sau nu a relațiilor dintre clase și subclase, implementarea relațiilor recursive.

Prin urmare, schema logică a bazei de date poate diferi, mai mult sau mai puțin, de schema fizică a bazei de date.

2.1.2 Demersul proiectării bazelor de date

Proiectarea schemei logice a bazei de date poate fi realizată în mai multe moduri. Abordarea tradițională, aplicată în special bazelor de date relaționale, presupune constituirea relației universale prin reunirea tuturor datelor elementare (atribute) identificate în faza de analiză și repartizarea lor în tabele pe baza analizei dependențelor dintre atribute (dependențe funcționale, dependențe multivaloare și de joncțiune) și aplicarea procesului de normalizare. Această abordare a înregistrat unele succese în cazul bazelor de date de dimensiuni mici și medii, însă ea devine foarte greoaie în cazul bazelor de date de dimensiuni mari și foarte mari.

Introducerea modelului entitate-relație (ER) a determinat reorientarea specialiștilor către o nouă abordare în proiectarea bazelor de date. Modelarea conceptuală a datelor cu ajutorul diagramelor entitate-relație (DER) a fost descrisă prima dată în lucrările lui P.P. Chen, publicate în 1976, deși primele încercări de formalizare sunt înregistrate în anii ’60 și aparțin lui Charles Bachman. Ulterior, modelul lui Chen a înregistrat numeroase modificări și extensii. Simplitatea, ușurința învățării și posibilitatea formalizării cerințelor sistemului așa cum sunt ele în realitate, independent de opțiunile de organizare și tehnologice au sporit vertiginos popularitatea modelului ER încă din anii ’80.

Noua abordare presupune, mai întâi, modelarea conceptuală a datelor prin construirea diagramei entitate-relație (DER), care evidențiază entitațile de date ale sistemului, proprietățile acestora și legăturile dintre entități. Ulterior, prin aplicarea unor reguli simple, are loc transformarea modelului entitate-relație în schema logică a bazei de date. Tabelele astfel obținute sunt în final analizate din perspectiva normalizării putând rezulta noi tabele.

Utilizarea modelului ER oferă o serie de avantaje fața de abordarea tradițională:

reprezintă un util instrument de comunicare între proiectanți și utilizatorii finali pe parcursul fazelor de analiză și proiectare logică;

este foarte ușor de înțeles și conceput. În general, prezentarea grafică permite exprimarea unui volum mare de informații sub o formă compactă, ușor de urmărit și înțeles;

utilizează conceptul de abstractizare, ceea ce reduce considerabil numărul obiectelor luate în considerare la analiza și proiectarea bazei de date. Prin utilizarea noțiunii de entitate ca abstractizare pentru datele elementare (atribute) se vor analiza mai puține obiecte (numărul entitaților de date este mult mai mic decât numărul datelor elementare din sistem) și mai puține relații între obiecte (numărul relațiilor dintre entități este mult mai mic decât numărul relațiilor de dependență existente între atribute). Deși datele elementare sunt reprezentate și în această abordare, ca proprietăți ale entităților, totuși numărul dependențelor ce trebuie analizate este mult redus, fiind luate în considerare doar dependențele la nivelul entităților (adică dependențele dintre atributele unei entități) și nu la nivelul întregii baze de date (adică dependențele dintre atributele relației universale).

Existența unui set complet de reguli de transformare a DER în tabele ale bazei de date. Aceste reguli permit transformarea simplă și rapidă a cerințelor informaționale ale sistemului, structurate în DER, în baza de date.

Majoritatea instrumentelor CASE oferă suport pentru generarea automată a bazei de date în funcție de SGBD-ul dorit.

Din cele prezentate rezultă că există două strategii de proiectare a bazei de date:

strategia bottom-up, reprezintă abordarea tradițională și presupune constituirea relației universale care urmează a fi supusă normalizării pentru a se obține tabelele bazei de date;

strategia top-down, presupune construirea DER care va fi apoi transformată într-un set de tabele prin aplicarea unor reguli. Tabelele astfel obținute vor fi analizate din perspectiva normalizării.

Pornind de la aceste două strategii, pot fi identificate mai multe demersuri de proiectare a bazei de date, mai mult sau mai puțin riguroase. Două dintre ele corespund celor două strategii, ele fiind descrise pe scurt anterior. Un demers mai riguros presupune combinarea celor două strategii; se aplică ambele strategii obținându-se două modele logice ale datelor, iar din compararea lor va rezulta schema logică finală a bazei de date. Acest demers presupune parcurgerea următorilor patru pași:

Construirea câte unui model logic al datelor pentru fiecare categorie de utilizatori identificată. Acest pas presupune normalizarea imaginilor asupra bazei de date (formulare și rapoarte) specifice fiecărei categorii de utilizatori.

Integrarea perspectivelor, care presupune combinarea tuturor perspectivelor normalizate ale utilizatorilor și obținerea schemei globale a bazei de date.

Întocmirea modelului conceptual al datelor pentru întregul sistem și transformarea acestuia într-un set de tabele normalizate.

Compararea modelului logic consolidat al datelor rezultat prin integrarea perspectivelor utilizatorilor cu cel obținut prin transformarea DER, în vederea definirii modelului logic final.

În practică, poate fi angajat un alt demers mai simplu de proiectare a bazei de date, constând în transpunerea directă a cerințelor sistemului în modelul logic al datelor, fără parcurgerea unor pași intermediari. Un asemenea demers poate fi aplicat în cazul bazelor de date de dimensiuni foarte mici sau dacă proiectantul are o mare experiență în domeniul problemei. Oricum, alegerea unui demers sau a altuia depinde de complexitatea bazei de date, experiența echipei de proiectare, timpul și resursele financiare disponibile sau cerințele de calitate dorite.

2.2 Proiectarea logică de detaliu a fișierelor

Structurarea datelor în fișiere este o operație de definire a structurilor logice, de descriere a conținutului informațional pe articole. Structurarea logică se prezintă ca un șir de caractere constituit prin concatenarea mai multor elemente informaționale.

Proiectarea structurilor logice constă în stabilirea elementelor informaționale care compun articole ținându-se seama de conținutul real al intrărilor informaționale de rolul fiecărui fișier în procesul prelucrării. Structura datelor din fișier implică definirea conținutului informațional al articolelor.

Prin precizarea caracteristicilor logice de utilizare analistul stabilește caracteristicile descriptive specifice datelor și modul lor de existentă și utilizare.

Caracteristica principală pe baza careia se stabilește formatul articolelor este factorul de repetitivitate al anumitor elemente informaționale din structură. Indicatorii de activitate ai fișierelor sunt obligatoriu de definit și respectat deoarece nivelul lor sunt condiție esențiala a realizării următoarelor operații:

stabilirea necesarului de suporturi tehnice de date;

estimarea duratelor de exploatare a fișierelor;

planificarea operațiilor de culegere și control.

Indicatori pentru fișiere – cei mai reprezentativi indicatori folosiți pentru gestiunea datelor a căror nivele maxime trebuie estimate la momentul proiectării logice sunt:

n (numărul de articole estimate în perioadele de vârf din activitate)

ns (numărul de articole șterse la momentul actualizării unui fișier)

na (numărul de articole noi adăugate la momentul actualizării unui fișier

ne (numărul de articole exploatate la momentul unei prelucrări automate)

nm (numărul de articole modificate la momentul actualizării unui fișier)

Un indicator utilizat frecvent pentru caracterizarea stabilitătii în timp, stabilitate specifică pentru fiecare tip de colecție în parte este ponderea (m) a articolelor actualizate într-o perioadă de timp.

Pentru caracterizarea modului de utilizare al articolelor din fișier, în procesul prelucrării, se poate calcula indicele de utilizare al articolelor din fișier (Iu)

Proiectarea fizică de detaliu a fișierelor

Caracteristicile fizice la nivel de fișier – vizează în principiu asocierea acelor parametrii generali și a acelor atribute reprezentative care descriu cel mai bine proprietățile colecției de date și mediul lor de stocare, fișierele sunt recunoscute și utilizate de diferite componente din cadrul sistemelor de operare.

Proiectarea structurii bazelor de date – structura bazei de date reprezintă un model al datelor exprimat în concepte specifice unui anumit sistem de gestiune a bazelor de date (SGBD), lucru ce face ca proiectarea bazei de date să reprezinte transpunerea modelelor conceptuale în termenii unui model al datelor suportat de un anumit tip de SGBD, model ierarhic, rețea, relațional, funcțional.

Determinarea legăturilor dintre colecțiile de date și a modului de reprezentare a acestora se realizează pe baza legăturilor naturale dintre obiectele descrise cu ajutorul entităților identificate. Presupunem entitățile “gestiuni” și “materiale”, relațiile dintre entități pot fi de 3 tipuri:

Relații de tipul unu la unu –atunci când într-o gestiune se poate afla un singur material iar un material aparține unei singure gestiuni;

Relații de tipul unu la mulți atunci când într-o gestiune se pot afla unul sau mai multe materiale, iar un material aparține unei singure gestiuni.

Relații de tipul mulți la multi atunci când într-o gestiune se pot afla unul sau mai multe materiale, iar un material poate aparține uneia sau mai multor gestiuni.

Pentru entitățile gestiuni și materiale, pot exista gestiuni care nu dețin nici un material, reprezentând gestiunile de produse finite dar nu poate exista un material care să nu apartină nici unei gestiuni.

Proiectarea tehnologiilor de prelucrare a datelor

Caracteristicile tehnologiei de prelucrare automată a datelor – se poate defini ca fiind ansamblu de procedee, mijloace și metode utilizate în domeniul prelucrarii automate a datelor, având ca scop final, obținerea unor tabele, liste, grafice și alte tipuri de situații de ieșire ce conțin informațiile necesare fundamentării deciziilor, controlul execuției lor și execuția unor operațiuni.

Obicectivele urmărite în proiectarea organizarea și funcționarea tehnologiei de prelucrare automată a datelor, sunt subordonate obiectivului principal: asigurarea furnizării din procesul prelucrării, în timp util, a informațiilor necesare și suficiente de calitate corespunzătoare și cu cost minim pe unitatea de informație prelucrată și modificată.

Tehnologia de prelucrare automată a datelor trebuie să asigure realizarea obiectivelor secundare:

utilizarea eficientă a resurselor implicate;

realizarea concordanței între cerințele concrete și metodele și procedeele utilizate;

asigurarea calității informației în procesul prelucrării și păstrării ei pe parcursul întregului flux.

Operațiile tehnologice în prelucrarea automată a datelor sunt:

operații tehnologice de pregătire a datelor în vederea prelucrării lor automate;

operații tehnologice de prelucrare propriu-zisă a datelor;

operații tehnologice de redare a rezultatelor obținute prin prelucrare.

2.3 Realizarea sistemelor informatice – elaborarea programelor

Obiectivele urmărite

Prezentarea procesului de elaborare a produselor program:

faza 1: Specificația de realizare a programului;

faza 2: Proiectarea programului și elaborarea schemei bloc;

faza 3: Codificarea programului ;

faza 4: Testarea programelor și efectuarea corecțiilor;

faza 5: Elaborarea documentației produsului program;

faza 6: Întreținerea și dezvoltarea produsului program.

Căi și mijloace de creștere a productivității și eficienței muncii în activitatea de programare:

utilizarea instrumentelor de tip CASE;

prezentarea generațiilor de limbaje de programare.

Modalități de realizare a programelor

Utilizarea pachetelor de programe aflate în biblotecile de programe – obiectivul central este acela de a folosi cat mai mult produse program existente și de ale incorpora în noul produs program în scopul de economisi efort de realizare, timp și bani.

Realizarea modulelor/ programelor de interfata. Prin realizarea acestor interfețe se vor implementa cerințele noilor utilizatori prin adaptarea unor produse program scrise pentru alți beneficiari. Soluția interfețelor valorifică software-ul existent și micșorează efortul de programare.

Realizarea programelor originale – faze:

elaborarea specificației programului;

proiectarea programului;

codificarea programului;

testarea programului;

întocmirea documetatiei.

Activități specifice pe faze de realizare

Faza 1. Elaborarea specificației programului:

analiza proiectului tehnic;

analiza platformei și software-ului ;

Faza 2. Proiectarea programului:

descompunerea în module a produsului program într-o abordare de tip top-down;

elaborarea pseudocodului programului;

elaborarea schemei logice de program.

Faza 3. Codificarea programului:

elaborarea graficului de eșalonare a realizării modulelor produsului program și organizarea echipei de programare;

realizarea modulelor program;

Faza 4. Testarea programului:

depanarea erorilor de sintaxă la masa de lucru prin verificarea manuală a listei programului sursă;

testarea programului cu date de test la masa de lucru;

introducerea programului sursă în calculator, compilarea;

rularea programului executabil aferent unui modul cu ajutorul datelor de text și eliminarea erorilor de logică

Faza 5. Întocmirea documentației:

prezentarea generală a produsului;

structura generală a produsului;

descrierea bazei de date;

documentația de programare;

situații și rezultate finale;

instrucțiuni de utilizare;

instrucțiuni de exploatare.

Căi de creștere a eficienței și productivității în etapa de realizare a programelor

utilizarea instrumentelor de tip CASE care asigură o automatizare a muncii de programare și o asistare a programatorului pe tot parcursul elaborării produsului program;

dezvoltarea de software orientat pe obiecte, în care se pune accent nu pe funcțiunile modulului ci pe legăturile dintre module și proceduri care au fost definite ca obiecte în etapa de proiectare.

Fiecare obiect conține date dar și prelucrările necesare realizării funcțiunilor obiectului.

CAPITOLUL III

Sisteme de gestiune

3.1 Sisteme de gestiune

Când se vorbește despre baze de date, fiecare înțelege altceva. Așadar, vorbim despre sisteme de gestiune (sau administrare, sau management) a bazelor de date, adică despre niște softuri specializate pe manevrarea cât mai eficientă și cât mai sigură a unor volume mari de date. Dacă excludem din discuție sistemele desktop și sistemele înglobate (embedded), rămânem cu o categorie numită generic "servere de baze de date". În vremurile noastre, acestea sunt bazate pe modelul relațional (sau pe derivate ale acestuia), înțeleg un dialect de SQL, sunt extrem de complexe și foarte scumpe.

În ultima vreme au apărut servere de baze de date gratuite, dezvoltate și furnizate în regim open source. Mai mult, acestea au încetat să mai fie curiozități sau experimente exotice și, în unele privințe, au ajuns să fie comparabile cu sistemele comerciale.

Răspândirea acestor sisteme, deși foarte rapidă, este relativ limitată din punctul de vedere al utilizării: majoritatea instalărilor sunt menite să furnizeze un back-end pentru aplicații pentru Internet sau Intranet. Un alt domeniu în care sistemele gratuite au o nișă perfectă este învățământul. Fie că este vorba de universități, fie că este vorba de autodidacți, aceste sisteme reprezintă alegerea firească.

Primele baze de date erau dezvoltate pe sisteme mainframe și erau manipulate de oameni special pregătiți pentru a gestiona aceste sisteme. Aceste baze de date erau simple Sisteme de Gestiune a Bazelor de Date (SGBD). Primul Sistem de Baze de Date Relaționale (SGBDR) a fost lansat de Oracle Corporation și folosea limbajul de interogare SQL. Deși versiunea originală a fost dezvoltată pentru sisteme VAX/VMS, Oracle a fost unul dintre primii furnizori care a lansat o versiune și pentru sistemele PC pe sistemul de operare DOS.

La jumătatea anilor 80, Sybase a lansat propriul sau SGBDR – SQL Server. Acesta avea biblioteci client pentru accesul la baza de date. Asigurând suportul pentru proceduri rezidente (astăzi denumite „proceduri stocate") și interoperabilitatea cu o diversitate de rețele, SQL Server a devenit un produs de succes în scurt timp, mai ales în mediile client/server.

O dată cu dezvoltarea sistemelor personale (PC), au apărut și primele aplicații de baze de date care foloseau un singur fișier pentru a stoca toata informația din baza de date (denumite baze de date „flat file"). Ele erau de tip Xbase, un limbaj care s-a răspândit foarte repede fiind folosit în special la manipularea datelor. Sistemele care l-au folosit, daca mai este nevoie sa le enumăr, au fost dBase, FoxBase, FoxPro. Aceste versiuni rulau sub sistemul MS-DOS și împărtășeau limitările acestuia. Cea mai răspândită aplicație care folosea limbajul xBase a fost FoxPro, sistem dezvoltat de firma Fox Software. Chiar și în zilele noastre există firme care stochează alte extrem de importante în baze de date FoxPro, iar cel mai cunoscut exemplu este cel al organizației care gestionează Euro Tunel. Aceasta folosește o aplicație care gestionează câteva sute de GB de date.

La începutul anilor 90, firma Microsoft Corporation a lansat aplicația Access, aplicație care se bazează în mare parte pe logica de stocare a sistemului FoxPro, sistem care fusese achiziționat de firmă în 1989. Aplicația Access a devenit, în scurt timp, cea mai folosită aplicație de gestiune a bazelor de date „flat file" de pe sistemele personale. Ajuns acum la versiunea 9 (denumită 2000), sistemul de stocare s-a schimbat fiind pregătit să fie scalat oricând către o baza de date Microsoft SQL Server. Totodată, începând cu versiunea 7 i s-a adăugat un limbaj de programare dedicat (Visual Basic for Applications – VBA), bazat pe limbajul de programare Visual Basic. Prin intermediul acestuia se puteau manipula datele mai ușor, se puteau folosi automatisme pentru diverse interogări, afișări etc. Începând cu versiunea 9, limbajul integrat este compatibil cu Visual Basic și cu limbajul folosit de MS SQL Server.

În privința sistemelor server, piața s-a dezvoltat uimitor de repede deoarece s-a constatat cât de folositoare sunt sistemele dedicate acestui lucru. Oracle a lansat și și-a dezvoltat baza de aplicații server, astăzi ajungând la versiunea 9. Începând cu versiunea 8i, au fost introduse extensii orientate pe obiecte. Lansată cu ocazia Oracle OpenWorld, Oracle 9i reprezintă cea mai completă infrastructura pregătită pentru rularea aplicațiilor Internet. Oracle 9i include Oracle 9i Database și Oracle 9i Application Server și pachetul de unelte de dezvoltare Oracle 9i Developer Suite.

În ceea ce privește corporația Microsoft, aceasta a lansat tot în anul 2000 serverul de baze de date SQL Server 2000. Aplicația se dorește a fi un concurent direct pentru aplicațiile Oracle, iar pentru acest fapt i s-a adăugat suport 100% pentru limbajul XML prin intermediul căruia se poate interoga direct serverul dintr-un browser (dacă serverul a fost configurat să suporte această facilitate).

Tot în 2000, compania IBM a lansat varianta 7 a aplicației DB 2. Aceasta aplicație, ca și Oracle, este implementata pe mai multe platforme (inclusiv Linux), fiind o aplicație pur obiectuală. Și pentru ca am ajuns la aplicații de baze de date obiectuale, trebuie să amintim și de aplicația companiei Computer Associates, Jasmine. Deoarece despre aceasta aplicație nu se știu prea multe în România, promit ca am sa revin cu mai multe detalii.

Pe sistemele Linux, cel mai folosit server de baze de date este MySQL. Cu toate că există un alt produs gratuit (MySQL este gratuit atât timp cât aplicația dezvoltata nu este revânduta) – PostgreSQL, MySQL rămâne preferatul programatorilor de Linux. De ce? Pentru că limbajul cel mai folosit pe partea de server web – PHP – dispune de o extensie MySQL înglobată. Dar nu numai acest lucru a influențat folosirea MySQL. Una dintre alegeri a fost și datorită ușurinței administrării acestui sever, el dispunând de un client de accesare inclus.

3.2 Sisteme de gestiune a bazelor de date S.G.B.D.

Termenul de bază de date apare în 1967 și reprezintă o colecție de informații corelate despre subiectul studiat, relațiile logice dintre aceste informații și tehnicile de prelucrare corespunzătoare (sortare, regăsire, apreciere, ștergere, adăugare, inserare, modificare).

Sistemul de gestiune a bazelor de date S.G.B.D. reprezintă sistemul de programe care permite construirea bazelor de date, introducerea de înregistrări în bazele de date și dezvoltarea de aplicații privind bazele de date, permițând astfel accesul utilizatorului la date printr-un limbaj de nivel înalt, apropiat modului obișnuit de operare; el reprezintă o interfață între utilizator și sistemul de operare.

Orice sistem de gestionare a bazelor de date conține:

– limbajul de descriere a datelor (LDD), care permite descrierea structurii bazei de date, a componenței, a relațiilor dintre componente, a drepturilor de acces al utilizatorilor la baze de date (BD);

– limbajul de cereri (LC) este limbajul în care se scriu programele pentru realizarea prelucrării datelor;

– limbajul de prelucrare a datelor (LPD), care permite operații asupra BD, cum ar fi încărcarea BD, inserarea, ștergerea, căutarea sau modificarea unui element, realizarea de statistici.

Principalele sarcini ale gestionarului bazei de date sunt:

– reducerea redundanței prin identificarea informațiilor comune și alcătuirea corespunzătoare a aplicațiilor;

– eliminarea inconsistențelor ce rezultă din reducerea redundanței;

– utilizarea simultană a datelor de mai mulți utilizatori;

– standardizarea informațiilor;

– asigurarea securității BD prin acordarea și urmărirea modului de acces al utilizatorilor la componentele BD;

– asigurarea integrității BD;

– asigurarea sincronizării în cazul utilizării simultane a BD de mai mulți utilizatori sau a distribuirii informației pe mai multe sisteme.

În raport de modul de exploatare a BD, utilizatorii se împart în următoarele clase:

– utilizatorii obișnuiți sunt utilizatorii care obțin informațiile fără a avea cunoștințe de programare;

– programatorii de aplicații scriu programe în limbajul de cereri, acestea sunt apoi compilate și memorate în fișiere program, putând fi lansate în execuție prin invocarea numelui asociat lor.

Administratorul bazei de date este cel care stabilește structura inițială a bazei de date și modul de memorare a datelor la nivel fizic, acordă utilizatorilor dreptul de acces la baza de date sau părți ale ei, stabilește condițiile pentru asigurarea securității și integrității datelor, modifică structura BD dacă este nevoie, asigură întreținerea BD făcând copii periodice și reconstituind BD în cazul în care au apărut erori și răspunde de modul de utilizare a bazei de date.

Administratorul sistemului de baze de date, care stabilește bazele de date de pe un sistem de calcul, alocă spații de memorare și asigură drepturi de acees.

Cele mai multe SGBD-uri conțin și o colecție de utilitare folosite în diferitele aplicații, cum sunt:

– procesoare de limbaje de cereri;

– editoare de rapoarte;

– subsisteme de reprezentări grafice;

– posibilități de lucru tabelat;

– procesoare de limbaje naturale;

– programe statistice;

– generatoare de aplicații.

3.2.1 Evoluția sistemelor de gestiune a bazelor de date

Istoria SGBD cuprinde trei generații:

– modele ierarhice și rețea;

– modele relaționale;

– sisteme avansate: SGBD orientate obiect, SGBD deductive, SGBD distribuite.

Pentru modele ierarhice și rețea, datele sunt reprezentate la nivel de articol prin legături ierarhice (arbore) sau de tip graf. Slaba independență fizică a datelor complică administrarea și manipularea acestora. Limbajul de manipulare a datelor impune programatorului să specifice drumurile de acces la date.

Modelul ierarhic este modelul cel mai natural, iar rezultatul studiului după modelul ierarhic îl reprezintă structurile:

– liniare

– arborescente

Nodurile reprezintă entități, iar arcele reprezintă asocieri între entități. Într-o structură ierarhică ramificată, entității aflate la un nivel ierarhic superior (părinte) îi corespund mai multe entități aflate la un nivel ierarhic inferior (copil), dar fiecare entitate aflată la un nivel ierarhic inferior corespunde unei singure entități aflată la un nivel ierarhic superior.

Modelul rețea este un model performant, dar complicat. O bază de date de tip rețea reprezintă o colecție de noduri și legături ce permite realizarea următoarelor tipuri de structuri:

– liniare

– ierarhice

– rețea

Legăturile dintre entități trebuie stabilite luând în calcul toate interogările posibile și acțiunile viitoare probabile.

Modelul relațional tratează entitățile ca niște relații. Piața actuală de baze de date este acoperită în majoritate de sisteme relaționale. Acestea, ca și modelele de prima generație, au fost concepute pentru aplicații clasice: contabilitate, gestiunea stocurilor etc.

Bazele de date relaționale sunt caracterizate de:

– structuri de date simple, intuitive;

– inexistența pointer-ilor vizibili pentru utilizatori;

– constrângeri de integritate;

– mulțime de operatori aplicați relațiilor care permit efectuarea operațiilor asupra datelor.

Bazele de date relaționale oferă avantaje precum:

– independența completă în descrierea logică a datelor (în termen de relații) și în descrierea fizică a datelor (în termen de fișiere);

– un ansamblu integrat de utilitare bazat pe un limbaj de generația a 4-a, și anume generatoare de meniuri, generatoare de aplicații, generatoare de forme, generatoare de etichete etc.;

– existența unor limbaje speciale de definire și manipulare a datelor.

Dintre sistemele de gestiune relaționale reprezentative, amintim: DB2, SQL/DS, INGRES, SABRINA, ORACLE, INFORMIX, UNIFY, TS, RAPPORT.

Bazele de date relaționale nu folosesc însă obiecte complexe și dinamice, nu realizează gestiunea datelor distribuite și nici gestiunea cunoștințelor. O altă generație de SGBD ce cuprinde sistemele avansate încearcă să depășească aceste limite ale sistemului relațional.

a) Gestiunea obiectelor complexe (baze de date orientate obiect)

Suportul obiectelor complexe și dinamice și manipularea lor este dificilă pentru sistemele relaționale, deoarece tipul datelor este limitat la câteva domenii alfanumerice, iar structura datelor este simplă. Sistemele relaționale nu modelează obiecte complexe ca grafuri, liste etc.

Un obiect complex poate să fie descompus în relații, deși apar dificultăți la descompunerea și la refacerea lui prin compunere (join). De asemenea, limbajele modelului relațional permit manipularea cu dificultate a obiectelor complexe.

O aplicație are un aspect static (reprezentat prin date) și un aspect dinamic (reprezentat prin tratamentul acestor date). Obiectele manipulate de sistemele relaționale sunt, în general, statice, iar comportamentul lor (dinamica lor) este dat separat prin programele aplicație. Un sistem relațional nu suportă obiecte dinamice care încorporează atât partea de date (informații) efective, cât și o parte relativă la tratamentul lor.

În programarea orientată pe obiect, efortul constă în definirea obiectelor. Obiectele de același tip formează o clasă care este generalizarea noțiunii de tip de date definit de utilizator. Clasa include, pe lângă date, și metodele de acces. Datele sunt vizibile doar metodelor asociate clasei respective. Acesta este așa-numitul principiu al încapsulării datelor. Prin funcții numite constructori și destructori, programatorul deține controlul asupra operațiilor necesare la crearea, respectiv dispariția unui anumit obiect. Un alt concept fundamental este cel al derivării, adică putem defini o clasă care să “moștenească” proprietățile (care constau din date și funcții) uneia sau mai multor clase “părinte”.

Îmbinarea tehnicii limbajelor orientate obiect cu a bazelor de date a permis realizarea bazelor de date orientate obiect. Aceste baze permit organizarea coerentă a obiectelor partajate între utilizatori concurenți.

Sistemele de gestiune orientate obiect prezintă următoarele avantaje:

– realizează o modelare superioară;

– furnizează posibilități superioare de deducție (ierarhie de clase, moștenire);

– permit luarea în considerare a aspectelor dinamice și integrarea descrierii – – structurale și comportamentale;

– îmbunătățesc interfața cu utilizatorul.

b) Gestiunea cunoștințelor (baze de date deductive)

O relație este o colecție de tupluri ce reprezintă fapte. Cunoștințele sunt aserțiuni generale și abstracte asupra faptelor. De exemplu, “Daniel este medic” este un fapt, iar “Toți medicii sunt bogați” este o cunoștință. Cunoștinețele permit să raționezi, ceea ce permite deducerea de noi fapte, plecând de la fapte cunoscute (“Daniel este bogat”) și obținerea de răspunsuri inteligente (putem răspunde la întrebarea “Cine sunt bogați?” prin forma “Toți medicii”).

Un SGBD relațional suportă o formă limitată de cunoștințe, și anume constrângerile de integritate, restul cunoștințelor trebuie integrate în programele aplicație. Aceasta generează probleme, fie că trebuie codificate cunoștințele în programe, fie că apare imposibilitatea de a partaja cunoștințe între utilizatori. Totul se complică dacă există un volum mare de fapte.

Bazele de date deductive, utilizând programarea logică, gestionează cunoștințe relativ la baze de date care, în general, sunt relaționale. Bazele de date deductive permit deducerea de noi informații, plecând de la informațiile stocate în bază.

Un SGBD deductiv posedă:

Un limbaj de definire a datelor, care permite definirea structurii predicatelor sub formă de relații și constrângeri de integritate asociate.

Un limbaj de manipulare a datelor, care permite efectuarea reactualizărilor asupra datelor și formularea unor cereri.

Un limbaj de reguli de deducție, care permite ca, plecând cu predicatele definite anterior, să se specifice cum pot fi construite predicate derivate necesare filtrărilor cerute de utilizator. Un exemplu de limbaj de reguli care permite specificarea relațiilor deduse cu ajutorul clauzelor HORN fără simboluri tip funcție este limbajul DATALOG.

c) Gestiunea datelor distribuite (baze de date distribuite)

Un sistem distribuit este un ansamblu de mașini interconectate printr-o rețea de comunicație și utilizate într-un scop global. Administrarea și manipularea datelor distribuite, situate pe diferite calculatoare și exploatate de sisteme eterogene este obiectivul fundamental al bazelor de date distribuite.

Baza de date distribuită este un sistem de baze de date logic integrat, dar fizic dispersat pe mai multe echipamente de calcul interconectate.

Proprietățile bazei de date distribuite (BDD):

– respectă definiția și toate caracteristicile bazei de date;

– din unghiul de vedere al mulțimii user-ilor, o singură bază de date:

– singură schemă conceptuală;

– userii interacționează cu ea în aceași manieră în care o făceau cu o bază de date centralizată;

– este fragmentată, iar fragmentele obținute sunt plasate în mijlocul realității imediate și-n mijlocul user-ilor fracțiunilor respective;

– permite accesul la locații diferite.

Baza de date distribuită (BDD) este o reuniune a bazelor de date locate (BDL), acestea rezultând prin fragmentarea uni tabel unitar.

Sunt utilizate trei modalități de fragmentare:

– împărțirea mulțimii de tabele în submulțimi de tabele;

– fragmentarea orizontală a tabelelor; fragmentele rezultate au aceeași structură cu tabelul original;

– fragmentarea verticală a tabelelor.

Replicarea datelor reprezintă operația de realizare de copii multiple ale unor tabele sau fragmente de tabele care sunt actualizate după două metode:

– actualizarea simultană a BDD este o operație consistentă, dar încarcă rețeaua pe care se lucrează;

– actualizarea întârziată a BDD; asupra copiei principale se efectuează toate operațiile de actualizare, celelalte copii sunt aduse la zi atunci când rețeaua este mai puțin solicitată (noaptea, weekend). Este proprie aplicațiilor pentru care inconsistența de o zi sau o săptămână nu contează.

Modalități de construire a BDD

1. Construirea de la zero – se urmează procedura de creare a bazei de date, care cuprinde:

– studiul realiltății;

– modelul logic al datelor;

– modelul fizic; la modelul fizic al datelor se mai adaugă două operații:

a) fragmentarea datelor (apropierea de realitatea reflectată și de userii lor);

b) replicarea datelor (se decide dacă se va lucra cu date replicate: ce fragmente vor fi în copie multiplă; care va fi tipul de actualizare (simultan/întârziat); dacă este actualizare întârziată, se va decide care este copia principală și când se actualizează copiile secundare.

2. Integrarea de baze de date și fișiere existente într-o bază de date distribuită – se pune problema eterogenității bazelor de date existente pe calculatoare diferite (gestiunea bazelor de date existente se face cu SGBDD diferite; sau modelele ce stau la baza BDD de tipuri diferite (ierarhice, rețea, fișiere), sau BDD conține structuri care pot fi considerate fragmente ale unei tabele globale, dar cu structuri diferite.

Sistemul de BDD, ca și sistemul de baze de date SBDD, este alcătuit din 4 elemente: date, hardware, software și useri.

Datele sunt aceleași cu cazul în care aceste date ar fi numerotate pe același calculator, cu deosebirea că sunt memorate în locuri diferite.

Hard este mai complexă decât în cazul unui singur calculator, intervin modemurile și liniile de comunicații.

Soft – în locul SGBD, apare SGBDD, iar userii sunt aceiași ca în cazul bazei de date centralizate (finali, informaticieni, administratorul).

Structurarea datelor:

În cazul unei baze de date locale, structura este următoarea:

Structura externă reprezintă viziunea user-ilor asupra datelor din baza de date.

Schema conceptuală reprezintă viziunea mulțimii tuturor user-ilor din baza de date (viziunea întreprinderii asupra datelor sale operaționale).

Schema internă reprezintă structura de memorare și strategia de acces la date.

Acest tip de structurare permite independența datelor.

Cazul BDD

SEG = viziunea user/grup useri asupra datelor din BDD

SCG = este SG a BDD văzută ca o singură bază de date (formal nu diferă de SC a

unei BD).

SIG = conține informații privind fragmentarea, replicarea și localizarea datelor

distribuite.

Această structurare asigură independența aplicațiilor față de fragmentare, replicare și localizare.

SGBDD

Arhitectura unui SGBDD

Schemă

Interfața utilizator – idem baze de date centralizare, diferă – o cerere a unui user de la acest nivel se adresează nu unei baze locale, ci mai multora. Cererea user este preluată de modulul de evaluare, care analizează cererea respectivă în raport cu dicționarul BD, se stabilesc nodurile care vor participa la rezolvarea cererii respective. Cererea respectivă poate fi descompusă în subcereri (X).

Modulul de recompunere – urmare unei cereri distribuite, sosesc la acest modul mai multe răspunsuri locale. Rolul său este să compună din răspunsurile locale răspunsul global.

Mecanismul de control al concurenței – concurență, blocare, impas

Replicarea

Blocarea – rezolvarea impasului – în cazul BDD se rezolvă mult mai greu, deoarece blocările pot apărea în rețea și rezolvarea impasului este dificilă. Alt g. implementați de SGBDD sunt cel puțin cu un grad mai mare decât cei la SGBD.

Un sistem paralel este un sistem conceput pentru a exploata capacitățile unui calculator multiprocesor. Implementarea unui SGBD ca un sistem paralel permite exploatarea paralelismului inerent care există în bazele de date.

Modelul relațional a rămas instrumentul prin care se realizează prelucrarea datelor distribuite, deoarece:

Bazele relaționale oferă flexibilitate de descompunere în vederea distribuirii. Tabelele se pot descompune orizontal, vertical și se pot regrupa.

Operatorii relaționali pot fi folosiți pentru combinații dinamice ale informațiilor descentralizate.

Limbajele sistemelor relaționale sunt concise și asigură o economie considerabilă a transmiterii datelor. Ele fac posibil, pentru un nod oarecare al rețelei, să analizeze intenția unei tranzacții, să o descompună rapid în componente ce pot fi realizate local și componente ce pot fi transportate altor noduri.

Soluția pentru a descentraliza prelucrarea datelor, în scopul evitării saturării memoriei și a procesoarelor calculatorului central, a fost apariția calculatoarelor baze de date și a mașinilor baze de date. Descentralizarea presupune transferarea unei părți din funcțiile unui SGBD către un calculator periferic (calculator backend), adică deplasarea algoritmilor de căutare și a celor de actualizare a datelor mai aproape de memoria secundară. Acest calculator periferic permite utilizarea optimă a resurselor și realizarea paralelismului în tratarea cererilor de informații. Calculatorul periferic poate fi un calculator clasic, dar cu un software specific de SGBD (calculator bază de date) sau poate fi o mașină cu hardware specializat în gestiunea bazelor de date (mașină bază de date).

Mașinile baze de date sunt înzestrate cu arhitecturi paralele special adaptate pentru gestionarea unui volum mare de date. Tratarea paralelă a cererilor permite reducerea timpului total de execuție a acestora. O execuție în paralel solicită fie descompunerea unui program în module care pot fi executate în paralel (descompunere funcțională), fie descompunerea datelor în subgrupe, astfel încât toate procesoarele să execute același lucru, dar pe date diferite.

3.2.2 Concepte și noțiuni

Date = aspecte elementare ale activității sau evenimente nesupuse prelucrării;

Informație = ansamblu de date corelate și elaborate cu un scop determinat;

Octet = unitate elementară de informație, adresabilă;

Articol = unitate elementară de date, care poate fi identificată după nume;

Tipul (schema) unui articol = ansamblu format din:

– identificator;

– descrierea mulțimii valorilor acceptabile;

– descrierea formatului de memorare;

Grup de date = ansamblu de articole unitare;

Tipul (schema) unui grup de date = ansamblu format din lista identificatorilor utilizați; descrierea articolelor și a grupurilor de date;

Înregistrare = colecție de articole și/sau grupuri de date identificabilă printr-un nume;

Set de date = mulțime de înregistrări;

Zona = subdiviziune a memoriei externe, care poate stoca înregistrări, identificabilă printr-un nume;

Schema unei baze de date = ansamblu format din lista identificatorilor folosiți și descrierea articolelor, grupurilor de date, înregistrărilor, seturilor de date și a zonelor. Schema bazei de date definește tipul de bază de date;

Baza de date = totalitatea înregistrărilor, seturilor, zonelor organizate de o schemă;

Dicționarul datelor = mulțimea descrierii obiectelor unei baze de date. Acest dicționar este, în general, structurat și administrat ca o bază de date (metabază);

Administratorul bazei de date = o persoană sau un grup de persoane responsabile de analiza, proiectarea, implementarea, exploatarea și întreținerea unei baze de date;

Sistem de gestiune a bazei de date (SGBD) = ansamblu de programe destinate creării, întreținerii și exploatării unei baze de date. Această mulțime de programe asigură interfața între o bază de date și utilizatorii acesteia. Un SGBD folosește, în principiu, trei limbaje: un limbaj de descriere a datelor fizice, un limbaj de descriere a datelor logice și un limbaj de prelucrare a datelor.

Arhitectura bazelor de date evidențiază componentele acestora:

– baza de date propriu-zisă, în care se memorează datele;

– sistemul de gestiune a bazei de date, care realizează gestiunea și prelucrarea complexă a datelor;

– un dicționar al bazei de date (metabaza de date), ce conține informații despre date, despre structura acestora, statistici, documentație;

– mijloacele hard utilizate (comune sau specializate);

– reglementări adminsitrative destinate bunei funcționări a sistemului;

– personalul implicat (utilizatori finali, administrator, programatori, operatori).

Cerințele ce se impun unei baze de date:

– să furnizeze în timp util informațiile solicitate (timp de răspuns minim);

– să asigure costuri minime de prelucrare și întreținere, redundanță minimă;

– să aibă capacitatea de a satisface, cu aceleași date, necesități informaționale ale unui număr mare de utilizatori;

– să asigure datelor flexibilitate;

– să permită exploatarea simultană a datelor de către mai mulți utilizatori (sincronizare);

– să asigure securitatea datelor prin mecanisme de protecție (confidențialitate);

– să conțină facilități destinate validării datelor și recuperării lor în cazul unor deteriorări accidentale (integritate);

– să permită valorificarea eforturilor anterioare și anticiparea nevoilor viitoare (compatibilitate și expandabilitate);

– să permită, prin ierarhizarea datelor după criteriul frecvenței acceselor, reorganizări (eventual dinamice) care sporesc performanțele bazei.

În cadrul unei baze de date sunt patru nivele de abstractizare și de percepție a datelor:

– nivel fizic (intern) descris de schema fizică a datelor (bit, octet, adresă), care reprezintă viziunea programatorilor de sistem asupra datelor;

– nivel conceptual descris de schema conceptuală a datelor (articol, înregistrare, zonă etc.), care reprezintă viziunea programatorilor de sistem asupra datelor;

– nivel logic descris de una din schemele logice posibile ale datelor, care reprezintă viziunea programatorului de aplicație asupra datelor;

– nivel virtual (extern), care reprezintă viziuna utilizatorului final asupra datelor.

Datele există doar la nivel fizic, celelalte trei nivele reprezintă virtualizări ale acestuia.

Nivelele de independență a datelor sunt:

a) Independența fizică asigură posibilitatea modificării schemei fizice a datelor, fără ca aceasta să oblige la modificarea schemei conceptuale, schemei logice și a programelor aplicație;

b) Independența logică asigură posibilitatea modificării schemei conceptuale a datelor, fără ca aceasta să oblige la modificarea schemei logice și a programelor aplicație;

c) Independența față de strategiile de acces permite programului să precizeze data de accesat, nu modul cum se accesează această dată.

3.2.3 Noțiuni preliminarii

Termenul de baze de date apare în anul 1967 și reprezintă mulțimi structurate de informații, accesibile prin calculator, ce descriu diferite entități, relațiile logice dintre aceste mulțimi și tehnicile de prelucrare corespunzătoare; ele modelează un sistem sau proces real prin organizarea și gestiunea datelor ce-l descriu, fiind accesibile simultan și selectiv mai multor utilizatori.

Sistemul de gestiune a bazelor de date (S.G.B.D.) este sistemul de programe care permite crearea, manipularea, întreținerea și dezvoltarea de aplicații privind bazele de date, asigură accesul utilizatorului la informații printr-un limbaj de nivel înalt apropiat modului obișnuit de operare; este totodată și o interfață între utilizator și sistemul de operare.

Un model reprezintă o abstractizare a unui sistem sau proces din lumea reală și este compus din:

– structură formală;

– setul de notații;

– terminologia specifică.

Modelarea reprezintă activitatea de creare a unui model. În raport de subiectul modelării, modelul poate fi:

– analitic – model utilizat pentru studiul unui sistem existent; el constă în simularea modelului existent prin trăsăturile reprezentative. Oricât de cuprinzător ar fi un model, acesta este determinat de un număr finit de caracteristici; putem afirma, de aceea, că apar interpretări subiective ale lumii reale reflectate în baza de date;

– sintetic – model utilizat pentru realizarea unui sistem nou.

Din acest unghi de vedere, modelul analitic se apropie creației în știința umanistă – aducerea unui obiect preexistent în câmpul cunoașterii (descoperirea Americii); modelul sintetic se apropie creației în știința tehnică – aducerea unui obiect în câmpul cunoașterii care n-a existat înainte (descoperirea mașinii cu aburi, a legii simetriei etc.).

Procesul de modelare a unui sistem din lumea reală este compus din trei etape:

– identificarea entităților și a proprietăților esențiale;

– asocierea de atribute proprietăților entității: atributele iau valori într-un domeniu care particularizează entitățile;

– proiectarea structurii datelor – transpunerea atributelor în articole.

Exemplu:

Pentru entitatea “student”, se pot considera:

– atribute ale entității: cod – student, nume, sex, grupa, domiciliu

– valori ale atributelor: pentru cod student de la 1 la numărul total; pentru sex 1 sau 0;

– articole și valori ale acestora: CS reprezintă cod student și ia valori de tip întreg; SX este o variabilă binară 1 pentru masculin și 0 pentru feminin.

În concluzie, datele sunt caracterizate prin articole, reprezentările prin atribute, iar entitățile prin proprietăți.

Fig.1

În figura 1, fiecare coloană reprezintă o înregistrare care se referă la entitatea student, fiecare linie conține valori efective ale articolelor relative la un atribut particular. Gruparea datelor într-o matrice (tablou) reprezintă o relație între articole.

Numim cheie un atribut sau o mulțime de atribute a căror valoare identifică fiecare înregistrare a unei entități. Cheile sunt de două tipuri:

– chei primare, care permit identificarea în mod unic a unei înregistrări (de exemplu cod student);

– chei secundare, care permit identificarea tuturor înregistrărilor care au o anumită proprietate (de exemplu, bursierii din grupa 323).

3.3 Realizarea aplicațiilor

O aplicație este un sistem de programe proiectat pentru a efectua un ansamblu determinat de operații asupra bazelor de date. Ea se compune din:

– programele propriu-zise (program principal, coordonator, programe pentru meniuri, ecrane, interogări, indexări, actualizări, rapoarte);

– bazele de date.

Executarea aplicației se realizează la două nivele:

Interpretativ – când un program numit “interpreter” ia fiecare enunț al aplicației, îl traduce în cod intern și face analiza erorilor, îl execută, apoi trece la următorul enunț.

Compilativ – când întreaga aplicație este tradusă de programul compilator într-un cod intermediar, memorat pe disc, numit cod obiect, care este supus unei prelucrări suplimentare de către editorul de legături pentru a obține forma finală, executabilă a aplicației. Execuția se face sub controlul sistemului de operare.

Realizarea unei baze de date presupune:

– analiza sistemului pentru care se construiește baza de date;

– proiectarea structurii bazei;

– încărcarea datelor în baza de date;

– exploatarea și întreținerea bazei de date.

Realizarea efectivă a unei aplicații presupune:

– stabilirea temei;

– analiza temei;

– proiectarea aplicației;

– codificarea aplicației;

– testarea modulelor;

– implementarea aplicației;

– întreținerea aplicației.

a) Stabilirea temei

Tema este stabilită de beneficiarul aplicației, în raport de activitățile ce urmează a fi modelate.

b) Analiza temei

Analiza presupune identificarea tipurilor de informații, a legăturilor dintre ele, a operațiilor necesare pentru gestionarea lor.

Rezultatul analizei se presupune:

descrierea datelor de intrare;

descrierea datelor păstrate în baza de date;

lista prelucrărilor efectuate asupra datelor;

descrierea informațiilor din rapoarte.

c) Proiectarea aplicației

În această etapă, se realizează proiectarea structurii datelor și a structurii programelor. Proiectarea structurii programelor presupune detalierea modulelor necesare realizării aplicației: module pentru crearea fișierelor, pentru introducerea datelor, pentru prelucrarea și extragerea rezultatelor, pentru tratarea erorilor etc. Aceste module sunt controlate și coordonate de programul principal, care are următoarea structură:

program principal

declarare tablouri globale

inițializare variabile globale

salvare stare mediu inițializări generale

SET PROCEDURE TO subprograme_comune

deschide fișiere comune

sfârșit = false

Execută DO WHILE .NOT. sfârșit inițializare dialog

un bloc CLEAR SCREEN

de comenzi afișează mesaje de dialog

în cadrul preia opțiunile utilizatorului

unei bucle DO CASE Execută între 10 CASE și

condiționată CASE activitate 1 ENDCASE; blocurile de

de o expresie DO modul 1 comenzi în ordine, dacă

logică. CASE activitate 2 expresia logică asociată

DO modul 2 este adevărată.

OTHER WISE

SAY “opțiune invalidă”

ENDCASE

ENDDO

închide fișierele comune

reface mediul

CLEAR SCREEN acțiuni de încheiere

RETURN

d) Codificarea aplicației

Dacă la c) nivelul de detaliere este de tip pseudocod, în această etapă se scrie aplicația într-un limbaj specializat, cu respectarea regulilor impuse de acesta.

e) Testarea modulelor

În această etapă se verifică modulele, se detectează și corectează eventualele erori, se face analiza cazurilor extreme, se proiectează testele.

f) Implementarea aplicației

Se construiește forma finală a aplicației prin integrarea treptată a modulelor funcționale testate.

g) Întreținerea aplicației

Se înlătură erorile semnalate de utilizator în perioada de garanție, se modernizează aplicația și se actualizează.

Utilizatorii unei baze de date

Utilizatorii unei baze de date pot fi:

Utilizatori nespecialiști (conversaționali) care au la dispoziție o formă de comunicare cu baza de date apropiată de vorbirea curentă;

Utilizatori specialiști care cunosc structura bazei de date;

Administratorul bazei de date este un utilizator special, care definește obiectivele exploatării bazei, împarte drepturile de acces ale utilizatorilor, elaborează concepția de proiecție a bazei de date, răspunde de toate activitățile și operațiile referitoare la baza de date, ajută la definirea cerințelor utilizatorilor etc.

3.4.1 Limbaje pentru baze de date

În cadrul SGBD, funcțiile de declarare și de manipulare a datelor sunt realizate cu ajutorul unor limbaje diferite.

a) Limbaje pentru definirea datelor (LDD)

Funcțiile LDD sunt:

– realizează definirea entităților și a atributelor acestora prin nume, formă de memorare, lungime;

– precizează relațiile dintre date și strategiile de acces la ele;

– stabilește criterii diferențiate de confidențialitate;

– definește criterii de validare automată a datelor utilizate.

b) Limbaje pentru manipularea datelor (LMD)

Operațiile pe baze de date solicită un limbaj specializat, în care comenzile se exprimă prin fraze ce descriu acțiuni asupra bazei.

O comandă are următoarea structură:

– operația, care poate fi calcul aritmetic sau logic, editare, extragere,

– deschidere-închidere, manipulare (introducere, adăugare, ștergere etc.);

– criterii de selecție (for, while, where etc.);

– mod de acces (secvențial, indexat etc.);

– formă de editare.

c) Limbaje pentru controlul datelor (LCD)

Controlul unei baze de date presupune:

– asigurarea confidențialității și integrității datelor;

– salvarea informației în cazul unor defecțiuni;

– obținerea unor performanțe;

– rezolvarea unor probleme de concurență.

d) Limbaje universale

Un limbaj universal se utilizează rar pentru gestionarea unei baze de date.

Interfața dintre utilizator și SGBD se realizează în două moduri:

– cu ajutorul unui mecanism de apel inserat în programul aplicație. Acest mecanism poate fi un CALL sau un alt cuvânt cheie. Un SGBD care permite acest tip de mecanism se numește SGBD cu limbaj gazdă;

– cu ajutorul unor comenzi speciale, utilizate independent. În acest caz, SGBD se numește autonom. Există, totuși, o interfață specială, care este capabilă să interpreteze comenzile limbajului de cereri.

3.4.2 Modele ale bazelor de date

În tehnica proiectării bazelor de date se utilizează trei tipuri de modele de baze de date:

a) Modelul ierarhic;

b)Modelul rețea;

c) Modelul relațional

a) Modelul ierarhic (arborescent) este modelul cel mai natural, iar rezultatul studiului după modelul ierarhic îl reprezintă o structură ierarhică ramificată. Să analizăm structura Departamentului de informatică, cercetare și documentare (DICD) compus din trei servicii, în fiecare serviciu existând juriști și informaticieni

Parcurgând ramificațiile, ajungem la cercetătorul Ionescu din cadrul DICD, serviciul de informatică, biroul informaticieni.

Într-o structură ierarhică ramificată, fiecare părinte poate avea mai mulți copii, dar fiecare copil are un singur părinte.

Utilizând o astfel de schemă, este ușor de adăugat un jurist la Serviciul informatică, biroul juriști, dar este mai dificil să numărăm toți informaticienii din toate birourile.

b) Modelul rețea este un model performant, dar complicat. O bază de date de tip rețea reprezintă o colecție de noduri și legături, fiecare nod putând fi legat de oricare altul. Legăturile formează trasee prin intermediul cărora puteți răspunde repede nu numai la întrebarea referitoare la numărul de juriști din Serviciul cercetare, dar și cea relativă la numărul total de informaticieni din BD.

Legăturile trebuie stabilite având tot timpul în minte interogările posibile și acțiunile viitoare probabile.

c) Modelul relațional reprezintă cel mai utilizat model de stocare a datelor, prezentat pentru prima dată de E.F.Codd în 1970, în articolul “Un model relațional al datelor pentru bănci de date sau de date folosite în comun”. Modelul este preluat de C.J.Date de la IBM, care, împreună cu E.F.Codd, a fondat Institutul Relațional, care este dedicat explicării și promovării modelului relațional. Modelul relațional este o abstracție matematică, este o metodă de reprezentare, manipulare și regăsire a informației. În cadrul modelului relațional, datele sunt stocate în tabele conceptuale în care rândurile reprezintă cazurile posibile, iar coloanele atributele.

E.F.Codd a definit 13 reguli cunoscute ca “Cele 12 reguli ale lui Codd”, care caracterizează modelul relațional:

0. Un sistem relațional de administrare a bazelor de date trebuie să poată administra bazele de date în întregime prin funcțiile sale relaționale.

1. Regula informației. Toate informațiile dintr-o bază de date relațională (inclusiv numele de tabel și de coloană) sunt reprezentate explicit ca valori în tabele.

2. Acces garantat. Orice valoare dintr-o bază de date relațională este accesibilă garantat prin folosirea unei combinații între numele tabelului, valoarea cheii primare și numele coloanei.

3. Suportul sistematic al valorii nule. SGBD asigură un suport sistematic pentru tratamentul valorilor nule (date necunoscute sau neaplicabile), diferit de valorile prestabilite și independent de orice domeniu.

4. Catalogul relațional activ on-line. Descrierea bazei de date și a componentelor sale este reprezentată la nivel logic sub formă de tabele și de aceea, poate fi interogată folosind limbajul bazei de date.

5. Sublimbajul multilateral al datelor. Trebuie să existe cel puțin un limbaj acceptat care să aibă o sintaxă bine definită și să fie multilateral, prin faptul că suportă definirea și manipularea datelor, regulile de integritate, autorizarea și tranzacțiile.

6. Regula actualizării vederilor. Toate vederile care pot fi actualizate pot fi actualizate în cadrul sistemului.

7. Inserarea, actualizarea și ștergerea la nivel de mulțimi. SGBD suportă nu numai regăsirea datelor la nivel de mulțimi, ci și inserări, actualizări și ștergeri.

8. Independența fizică a datelor. Programele de aplicații și cele create pe moment nu sunt afectate din punct de vedere logic la deteriorarea metodelor de acces fizic sau a structurilor de memorare.

9. Independența logică a datelor. Programele de aplicații și cele create pe moment nu sunt afectate din punct de vedere logic când sunt făcute modificări în structurile tabelelor.

10. Independența integrității. Limbajul bazei de date trebuie să poată defini regulile de integritate. Acestea trebuie să fie memorate în catalogul on-line și nu pot fi încălcate.

11. Independența distribuției. Programele de aplicații și cererile momentane nu sunt afectate din punct de vedere logic la prima distribuire a datelor sau la o distribuire ulterioară.

12. Nesubversiunea. Nu trebuie să fie posibil să fie încălcate regulile de integritate definite prin limbajul bazei de date prin folosirea limbajelor de nivel inferior.

Ideea lui Codd pentru un sistem de administrare a bazelor de date relaționale folosește conceptele matematice de algebră relațională pentru a grupa datele în mulțimi și a stabili relații între submulțimile (domeniile) comune. Datele sunt separate în mulțimi care seamănă cu structura unui tabel format din elemente informaționale individuale numite coloane, tuple sau câmpuri. Un singur set al unui grup de câmpuri este cunoscut ca o înregistrare, linie sau valorile tuplurilor.

De exemplu, pentru a crea o bază de date relațională constând din datele studenților, punctul de start este un tabel numit STUDENȚI. Câmpurile tabelului STUDENȚI, sunt următoarele: nume, vârstă, medie admitere, domiciliu, telefon.

STUDENȚI

Cele cinci linii alcătuiesc înregistrările pentru tabelul STUDENȚI.

Găsirea unei înregistrări din tabel presupune instruirea sistemului de administrare a bazei de date să găsească înregistrările în care câmpul NUME este completat cu numele Barbu Elena. Dacă SGBD a fost instruit să regăsească toate câmpurile, vor fi returnate utilizatorului toate informațiile de pe linia 4.

Modelul relațional de baze de date cuprinde trei componente principale:

– Structura datelor prin definirea unor domenii (valori atomice) și a relațiilor (atribute, tupluri, chei primare etc.);

– Integritatea datelor prin impunerea unor restricții;

– Prelucrarea datelor prin operații din algebra relațională sau calculul relațional.

Modelul relațional se bazează pe noțiunea matematică de relație, submulțime a produsului cartezian a unei liste finite de mulțimi numite domenii. Elementele unei relații se numesc tupluri, iar numărul de domenii din produsul cartezian se numește aritatea relației. De exemplu, a1, a2, …, ak cu ai din Di () i = 1, …, k reprezintă un tuplu al unei relații de aritate k, în care ai este cel de-al i-lea element al tuplului; altfel spus, tabelul STUDENȚI reprezintă o relație în care capul tabelului reprezintă un tuplu, iar coloanele sale reprezintă valorile tuplurilor dintr-un domeniu dat al produsului cartezian.

În reprezentarea sub formă de tabel a unei relații, coloanelor și, respectiv, domeniilor corespunzătoare lor li se asociază nume intitulate atribute. Mulțimea numelor atributelor unei relații se numește schemă relațională. Dacă relația numită R are atributele A1, A2, …, Ak, atunci schema relațională se notează R(A1, A2, …, Ak).

Sub raport arhitectural, o bază de date poate fi privită din mai multe unghiuri de vedere:

– unghiul de vedere al utilizatorilor, care lucrează cu anumite părți componente ale bazei de date numite vederi, ce sunt descrise prin subscheme în sublimbaje ale limbajului de descriere a datelor. Utilizatorii primesc răspunsuri la cererile formulate prin intermediul limbajului de prelucrare a datelor.

– unghiul de vedere al administratorului bazei de date, care integrează toate vederile referitoare la baza de date într-un model numit schemă conceptuală, care constituie nivelul logic al bazei de date.

– unghiul de vedere al implementatorului bazei de date, care privește baza de date ca pe o colecție de fișiere memorate pe suporți externi. Acesta constituie nivelul fizic al bazei de date care este, de fapt, singurul nivel existent efectiv.

3.4.3 Concepte și noțiuni utilizate în studiul bazelor de date relaționale

1. Schema

Structura logică a unei colecții de tabele care descrie complet o anumită activitate este denumită schema bazei de date. Ea descrie câmpurile fiecărui tabel din punct de vedere al tipului datelor, dimensiunii, numelui și gamei valorilor posibile, precum și relațiile dintre tabele.

2. Normalizarea

Fiecare tabel din cadrul unei baze de date trebuie să fie normalizat, adică fiecare intersecție dintre un rând și o coloană trebuie să aibă o singură valoare, denumită valoare atomică. Algebra relațională cere ca tabelele să fie normalizate, dar ea nu presupune o ordine anume nici pentru rânduri (înregistrări), nici pentru coloane (câmpuri). Din acest unghi de vedere, tabelul reprezintă o mulțime neordonată de date.

3. Chei

Orice tabel cuprine, în mod natural, unul sau mai multe câmpuri, care intră în componența unei chei primare, utilizată pentru diferențierea unei înregistrări de toate celelalte. Dintre câmpurile unei înregistrări, mai multe pot fi alese drept chei primare, dar într-o aplicație doar una poate fi cheie primară, celelalte sunt chei alternative. Asocierea a două tabele (tabel părinte și tabel copil) se face printr-un câmp special cu o trimitere la cheia primară a tabelului subordonat (tabelul copil).

4. Integritatea datelor presupune:

– integritatea existențială – impune ca în nici o împrejurare cheia primară să nu fie nulă;

– integritatea referențială – impune ca orice cheie străină să corespundă unei chei primare din tabelul asociat;

– integritatea domeniului – impune definirea cu claritate a tipului domeniului. Domeniul reprezintă mulțimea tuturor valorilor posibile pentru un tip de câmp dat.

5. Algebra relațională este un set de operații care preia unul sau două tabele ca operanzi și produce un tabel drept rezultat.

6. Produsul cartezian extins rezultă din combinarea a două tabele astfel încât rezultatul să aibă un număr de coloane egal cu cel al ambelor tabele puse împreună și un număr suficient de rânduri pentru a exprima orice combinație posibilă a celor două tabele.

7. Selecția reprezintă un subset orizontal al unui tabel în care sunt alese numai anumite înregistrări.

8. Proiecția reprezintă un subset vertical al unui tabel, din care sunt afișate numai anumite câmpuri (coloane).

9. Îmbinarea este similară unui produs cartezian, cu excepția faptului că tabelul rezultat cuprinde din fiecare tabel numai înregistrările care îndeplinesc o anumită condiție.

10. Reuniunea a două tabele (AB=C) este un tabel format din mulțimea înregistrărilor comune și necomune din cele două tabele; operația corespunde conjuncției logice “SAU”.

11. Intersecția a două tabele (AB=C) este un tabel format din mulțimea înregistrărilor care aparțin ambelor tabele; operația corespunde conjuncției logice “ȘI”.

12. Diferența a două tabele (A\B = C) este un tabel format din mulțimea tuturor înregistrărilor care aparțin tabelului A și nu aparțin tabelului B.

13. Împărțirea tabelului A prin tabelul B este un tabel format din coloanele din A care nu există în B și înregistrările din tabelul A care sunt identice cu cele din tabelul B, în ceea ce privește coloanele comune.

Algebra relațională este completă sub raportul construcției matematice; cu ajutorul operatorilor săi putem interoga, actualiza și întreține o bază de date relațională. Pentru a putea fi însă aplicată, este nevoie de o metodă reală de punere în practică, de un limbaj structurat de interogare (SQL – structured query language) care reprezintă un limbaj de definire și manipulare a datelor.

Limbajul SQL, dezvoltat de D.D.Chamberlin în laboratoarele IBM din San José după anii 1970, include atât comenzi de definire a datelor (DDL), cum ar fi CREATE TABLE (Creează un tabel), GRANT (Permite) și REVOKE (Revocă), cât și comenzi de manipulare a datelor (DML), ca SELECT (Selectează), INSERT (Inserează), DELETE (Șterge) și UPDATE (Actualizează).

Deoarece diferitele date pot fi grupate după relații evidente (cum ar fi relația dintre numele studentului și media de admitere), MBDR (modelul de baze de date relaționale) oferă proiectantului un grad mare de flexibilitate în descrierea relațiilor dintre aceste date. Prin conceptele matematice de JOIN (Joncțiune) și UNION (Reuniune), bazele de date relaționale pot returna utilizatorului o colecție combinată de date (informații).

Limbajul SQL (Structurat, Interogare, Limbaj) interoghează baza de date, creează tabele, adaugă, șterge și combină date, declanșează acțiuni în funcție de modificările aduse bazei de date, memorează interogările în program.

În concluzie, SQL înseamnă un limbaj structurat pentru adăugare, modificare, ștergere, joncțiune, memorare, declanșare și interogare. Cu ajutorul limbajului SQL, un programator sau administrator de baze de date poate efectua următoarele operațiuni:

– modifică structura unei baze de date;

– schimbă valorile de configurare pentru securitatea sistemului;

– adaugă drepturi utilizatorilor asupra bazei de date;

– interoghează o bază de date;

– actualizează conținutul unei baze de date.

Dintre SGBD-uri care utilizează limbajul SQL, considerăm reprezentative următoarele:

– Microsoft Access este un SGBD proiectat pentru calculatoare PC;

– Microsoft Query este un instrument puternic de interogare, care utilizează standardul ODBC, care permite independența proiectului program de baza de date;

– Personal Oracle, împreună cu un set de instrumente de dezvoltare care include o bibliotecă de limbaj C++ și Visual Basic.

ODBC este o bibliotecă de funcții proiectată pentru a furniza o interfață de programare a aplicațiilor (API), care să asigure suportul pentru sistemele de baze de date.

ODBC s-a dezvoltat într-un standard adoptat de mai multe produse:

– Visual Basic

– Visual C++

– Fox Pro

– Visual Fox

– Billand Delphi

– Power Builder.

În paralel cu dezvoltarea unui model de bază de date relațională, alte două tehnologii au condus la dezvoltarea rapidă a ceea ce numim astăzi un sistem de baze de date CLIENT-SERVER.

Prima tehnologie importantă a fost calculatorul personal – “personal computers”, termen introdus în anul 1980 de Portia Issacson, pentru a semnala utilizarea sa de o singură persoană față de calculatoarele mari (main frames) pe care o considerăm fază de tranziție spre realizarea conceptului de distributed computing.

A doua tehnologie importantă a fost dezvoltarea rețelelor locale de calculatoare (LAN) și integrarea lor. Firma Macintosh introduce calculatorul Apple Macintosh cu o interfață prietenoasă, care este preluată și îmbunătățită de Microsoft prin aplicația WINDOWS.

Numit Client/Server, deoarece procesarea este separată între calculatoarele client și un server de baze de date, acest tip nou de aplicație are următoarele avantaje:

– reduce costurile de întreținere;

– reduce încărcarea rețelei;

– interoperativitatea sistemelor de operare prin utilizarea unui protocol de rețea comun;

– creșterea integrității datelor datorită plasării lor centralizate.

Bernard H.Boac definește tehnologia client/server astfel:

“Tehnologia client/server este modelul de procesare în care o singură aplicație este folosită în comun de mai multe procesoare, care cooperează pentru terminarea procesării ca pe un singur task unificat. Un produs client/server combină împreună procesoarele pentru a asigura o singură imagine a sistemului. Resursele partajabile sunt poziționate la clienții care au cereri care accesează servicii autorizate. Această tehnologie este total recursivă; pe rând, serverele pot deveni clienți și pot cere servicii de la alte servere din rețea etc.”.

Folosind SQL și o conexiune la rețea, aplicația poate realiza interfața cu o bază de date existentă pe un server situat la distanță, pentru că SQL este un limbaj pentru platforme combinate.

Informatica juridică documentară reprezintă o preocupare distinctă a juriștilor, pentru că este cea mai bogată intelectual, importantă sub raportul consecințelor, cea mai veche, cea mai bine pusă la punct și cea mai utilizată.

Problemele care trebuie soluționate sunt legate de locul și rolul bazelor de date în munca juristului, probleme care au determinări tehnice, pe de-o parte legate de specificitatea bazelor de date juridice, modul de construire, actualizare, interogare etc., iar pe de altă parte, implicațiile de ordin moral, etic și profesional.

Revoluția comunicațiilor n-a ocolit nici profesia de jurist.

Informatizarea documentației juridice presupune un nivel ridicat al investițiilor reclamate de tehnică (hard) și de aplicațiile de firmă (soft), dar ea a devenit o necesitate datorită inflației deciziilor juridice. Mijloacele tehnice noi ameliorează o nevoie fără a schimba fundamental dimensiunile și obiectivele unui domeniu al existenței sau cunoașterii. Nevoia de ridicare a confortului și de creștere a vitezei de deplasare a trenurilor a condus la electrificarea liniilor de cale ferată care nu a modificat fundamentul mijlocului de transport.

În domeniul dreptului, tehnica informatică a pătruns într-o perioadă în care aparatele tradiționale de publicare a surselor dreptului și comunicațiilor erau insuficiente.

Proliferarea legislativă și reglementară este legată și de necesitatea intervenției statului în societate, modificării legilor în conformitate cu prevederile noii Constituții sau a necesității armonizării legislației interne cu cea europeană și conducând la nașterea unor noi raporturi în sânul societății, la modificarea ramificațiilor, a legăturilor pe care le are o nouă reglementare cu cele existente cu care nu trebuie să intre în contradicție. Pierderea controlului asupra maselor pretoriene ale dreptului este o problemă de actualitate; necunoașterea jurisprudenței devine la fel de neproductivă ca și necunoașterea legii; de aceea, putem concluziona că explozia legislativă actuală necesită o veritabilă reînnoire a rolului jurisprudenței.

De multe ori, se recurge la obiecția că prin recurgerea la informatică deciziile și sentințele date riscă să se impună din ce în ce mai mult în fața magistraților în detrimentul creației jurisdicționale.

Chiar dacă în momentul de față, pentru o serie întreagă de motive, biblioteca electronică ocupă un loc complementar față de cel al documentației tradiționale, cu siguranță că în viitorul apropiat, importanța și rolul său vor crește foarte mult.

Monitorul Oficial, culegerile de texte, revistele, enciclopediile, monografiile, tratatele universitare nu au aceeași funcție documentară. Baza de date poate coordona textele, poate furniza materialul și să coordoneze munca de realizare de reviste, colecții sau monografii fără a putea înlocui activitatea de creație. De asemenea, am putea afirma că există și o motivație legată de psihologia muncii – nici autorul și nici cititorul nu sunt pregătiți să facă o reflecție altfel decât plecând de la un suport imprimat.

Complementaritatea documentării tradiționale și informatizate rezultă, în fond, din procesul însuși al unei cercetări documentare serioase. Când un jurist studiază o cauză, în special un dosar privind contenciosul administrativ, îi este indispensabil faptul de a localiza corect problema sau problemele indicate, de a aduna în dosarul său elemente suficiente, de a găsi argumente capabile să contracareze teza adversă fondată sau nu pe niște decizii de specialitate. Dacă vrea să recapituleze principiile în cauză și să efectueze o sinteză atentă a cazului pe care îl studiază, practicianul trebuie să consulte culegerile și operele de specialitate. Deci, chiar dacă juristul se hotărăște să recurgă la o bază de date, îi este necesar să-și pregătească în mod inteligent întrebarea sa, situând-o în latura necesară studierii cazului său, ceea ce va face consultând o bibliotecă tradițională. Biblioteca tradițională are un rol important după consultarea băncii de date, pentru punerea în text, apoi alcătuirea dosarului plecând de la informațiile teoretice factuale sau cuantificale, dar întotdeauna precise, culese din fișierele informatice.

Obiectivele principale ale informaticii juridice documentare sunt:

a) securitatea informațiilor, care presupune păstrarea nealterată a informației existente prin realizarea de protocoale care să limiteze numărul operatorilor care pot modifica fișierele existente, protecția împotriva virușilor informatici, precum și rigoarea și corectitudinea actualizării bazelor de date;

b) rapiditatea obținerii informațiilor cerute, obiectiv ce ține de proiectantul bazei de date, de interogările făcute, de criteriile de căutare.

Există astăzi în unele țări centre de cercetări publice sau private care au în memorie legislația, jurisprudența și doctrina juridică, asigurând accesul facil și interogarea rapidă de la distanță.

Tehnicile de prelucrare informatică a materialului inițial devin din ce în ce mai subtile; varietatea modurilor de exploatare, importanța muncii de organizare a vocabularului și câmpului semantic juridic, conduc la realizarea unei documentări pertinente, actuale și oportune.

Perfecționarea resurselor informatice hardware (memorii interne și externe, microprocesoare), precum și a celor software (aplicații mai rapide, medii mai eficiente sub raportul utilizării memoriei) conduc la creșterea supleței aplicațiilor documentare, la miniaturizare, contabilizare și descentralizare.

Părerea noastră este că nu se pune problema sclaviei intelectuale a juristului, a dominării sale de tehnică, ci dimpotrivă, faptul că o mare parte a timpului pierdut în căutări și activități rutiniere nu mai este irosit, imaginația, spiritul critic și capacitatea de creație vor spori.

3.4.4 Proiectarea unei baze de date după modelul relațional

Majoritatea bazelor de date din domeniul juridic sunt baze de date relaționale; de aceea, vom descrie succint etapele proiectării acestora. Proiectarea bazelor de date presupune fixarea structurii bazei de date și a metodelor de prelucrare a datelor. Dacă, în mod obișnuit, baza de date își schimbă frecvent conținutul, structura ei rămâne nemodificată pe lungi perioade de timp.

Prin proiectare se determină un model semantic, care să reflecte cât mai fidel lumea reală, construit astfel:

1. Se identifică o mulțime de concepte semantice (entități, tipuri de entități, proprietăți ale entităților, identificatorii entităților, relații între entități) ce dau informații despre lumea reală.

2. Se asociază obiecte simbolice formale, prin care sunt reprezentate conceptele semantice.

3. Se definește o mulțime de operatori formali ce pot să transforme obiectele formale.

Etapele construirii unei baze de date

Etapele costruirii unei BD sunt următoarele:

1. Studiul de fezabilitate, ce constă în cercetarea sistemelor existente, evaluarea costurilor pe diversele alternative.

2. Cercetarea sistemului existent (tipuri de date, dimensiuni etc.).

3. Analiza sistemului prin determinarea cauzelor diferitelor evenimente și a adoptării metodelor și a alternativelor posibile.

4. Proiectarea sistemului prin determinarea celui mai bun model de reprezentare și prelucrare a datelor, de asigurare a securității și integrității.

5. Dezvoltarea sistemului prin stabilirea detaliilor asociate datelor prevăzute a fi luate în considerare, a relațiilor dintre ele și a modului de reprezentare fizică.

6. Implementarea sistemului prin proiectarea, scrierea și testarea programelor, antrenarea utilizatorilor, alcătuirea documentației, crearea și încărcarea fișierelor.

7. Revizuire și întreținere prin probe de lucru ale noului sistem, efectuarea unor eventuale modificări, adăugarea de noi componente și urmărirea procesului de prelucrare a datelor.

Proiectarea urmărește obținerea de baze de date care să întrunească următoarele calități: corectitudine, consistență, distribuire, flexibilitate.

Criteriile de clasificare pentru determinarea modelului logic de date optim corespunzător unei baze de date sunt:

– Validare structurală – reflectarea consistentă a modului de utilizare a informațiilor în lumea reală;

– Simplitate – ușurința înțelegerii structurilor chiar de către utilizatori fără o pregătire specială;

– Neredundanță – eliminarea, pe cât posibil, a reprezentării de mai multe ori a aceleiași informații sau a informațiilor ce se pot deduce logic din altele;

– Distribuire – un model general aplicabil mai multor domenii, fără caracteristici specifice unor aplicații sau tehnologii particulare;

– Extensibilitate – posibilitatea de a dezvolta noi componente cu efecte minime asupra bazei de date existente;

– Integritate – consistența în modul de utilizare și întreținere a valorilor din informații.

CAPITOLU IV

Sistemul de Facturare la Romtelecom Prahova

4.1 Introducere in activitatea Romlelecom SA

4.1.1 Istoric și tradiție

1881-1883
Se instalează primele linii telefonice, întai în Translivania, apoi la București.

1930
Se înființează SART (“Societatea Anonimă Română de Telefoane”), cu peste 90% capital străin de la ITT (USA).

1949-1989
Ministerul Poștelor si Telecomunicațiilor înglobează compania de telefoane naționalizată, transformată în Direcție PTT. Extinderi limitate de rețea, slab progres tehnologic.

Decembrie 1989
Înființarea ROM-POST-TELECOM ca operator de telecomunicații, poștă și radiocomunicații, separat de Minister. Serviciile cu valoare adaugată și terminalele liberalizate.

Iulie 1991

Reorganizarea ROM-POST-TELECOM. Înființarea ROMTELECOM ca operator de servicii de telecomunicații, titularul monopolului pentru servicii de baza. Situația moștenită: 9.5% grad de telefonizare, tehnologie analogică, comutație rurală prevalent manuală, peste 3.000 de localitați neconectate, rețea de distribuție cu cabluri cu izolatie de hartie, puține circuite internaționale (intrare automat, ieșire manual), cadru de reglementare descurajator pentru trafic, lista de așteptare de decenii, mulți abonați cuplați, așteptare de ore pentru apeluri interurbane și chiar zile pentru internațional, rata defecțiunilor uriașă, timp de repunere în funcțiune îndelungat.

1991-1998
Programe ambițioase de investiții și restructurare; extinderi si modernizari masive ale retelei finantate din surse proprii si credite, fara subventii bugetare; digitalizarea retelei, magistrala de fibra optica, noua arhitectura ierarhizata a retelei; cresterea spectaculoasa a bazei de clienti si imbunatatirea sensibila a calitatii serviciilor; politica de reechilibrare tarifara.

Noiembrie 1997
ROMTELECOM devine societate nationala pe actiuni, in pregatirea privatizarii.

Decembrie 1998

Hellenic Telecommunications Organization OTE cumpara 35% din actiunile ROMTELECOM plus uzufrunct pentru inca 16%, platind USD 675 mil., preluand managementul companiei; contract de management pe 2 ani cu GTE (acum Verizon) din SUA.

Ianuarie 2003
OTE devine actionar majoritar, cu 54,01% din actiuni, contra USD 273 mil. Statul roman pastreaza restul de 45,99%.

4.1.2. Profilul Companiei

Peste 4,2 milioane clienti,
>19% grad de telefonizare

Peste 65% digitalizare,
peste 96% automatizare

Peste 65.000 de telefoane publice
cu cartela in toata tara

Peste 30.000 de km de cablu cu fibra optica,
WLL, toate tehnologiile moderne prezente

Orientare ferma spre client, politica comerciala
puternica, forta de munca inalt calificata

Construim o cultura corporativa de piata, bazata
pe eficienta, implicare activa in viata sociala,
practici comerciale sanatoase

Numeroase servicii si pachete lansate
recent si in pregatire

Tranzitie de la monopol la competitor, ca urmare
a liberalizarii pietei de la 1 ianuarie, 2003

4.1.3 Viziune și Misiune

Viziune

ROMTELECOM va deveni primul furnizor de produse si servicii de telecomunicatii in topul preferintelor din Romania. Clientii vor aprecia serviciile ROMTELECOM drept exemplare, iar salariatii vor clasa compania printre cei mai buni 5 angajatori din Romania. In fine, ROMTELECOM va egala nivelul operatorilor central-europeni comparabili in privinta eficientei operationale si a profitabilitatii.

Misiune

ROMTELECOM se va angaja in furnizarea de produse si servicii de telecomunicatii care sa raspunda cerintelor consumatorilor si clientilor de afaceri din Romania. Compania isi va desfasura activitatea in asa fel incat sa produca valoare pentru actionari si sa devina un membru respectat al societatii romanesti.4,2 milioane de linii in serviciu si o retea automatizata (100%) si digitalizata (60%)

Un portofoliu de servicii care da putere comunicarii:

servicii de telefonie fixa, telegrafie si circuite inchiriate

servicii de ultima generatie: IP FIX Ultra 192, IP FIX Ultra 256, IP FIX Ultra 384, IP FIX Ultra 512, IP FIX Ultra 768, IP FIX Ultra 1M, IP FIX Ultra 2M, ADSL, ISDN, Voces Pro si Voces, Unitel, Telverde, Clip si Clir, Evricard, ConectO (Channel, ATM, Frame Relay si Tranzit IP)

Concentrare asupra cerintelor consumatorului:

abonatul isi alege optional tipul de abonament

tarife diferentiate pe paliere orare pentru convorbirile locale si interurbane

tarife internationale reduse cu 20 pana la 45 de procente

tarife reduse pentru accesul prin dial-up la Internet

serviciul national de “informatii abonati”

retea moderna de telefonie publica si o gama larga  de cartele preplatite

4.1.4. Servicii Romtelecom

Serviciul telefonic are ca suport linia telefonica principala, conectata la reteaua publica de telecomunicatii a ROMTELECOM, printr-un punct de acces (priza sau nisa telefonica), care este parte integranta a acestuia.
Serviciul telefonic de baza se adreseaza atat persoanelor fizice, cat si persoanelor juridice.
Abonamente persoane fizice:
Pentru liniile telefonice principale conectate în centrale digitale sau analogice cu facilitatea "Call Collection" sunt oferite urmatoarele variante de abonament:
– Confort Standard: fara convorbiri incluse;
– Confort 20: abonament cu 20 minute incluse pentru apeluri intrajudetene in afara perioadei de varf, in reteaua ROMTELECOM;
– Confort 35: abonament cu 35 minute incluse pentru apeluri intrajudetene in perioada de varf, in reteaua ROMTELECOM;
– Confort 60: abonament cu 50 minute incluse pentru apeluri intrajudetene, in perioada de varf si 10 minute pentru apeluri interjudetene in afara perioadei de varf, in reteaua ROMTELECOM.
– Confort 65: abonament cu 65 minute incluse pentru apeluri intrajudetene, in perioada de varf, in reteaua ROMTELECOM
Pentru liniile telefonice principale conectate in centrale automate fara facilitatea de "Call Collection" sunt oferite urmatoarele variante de abonament:
– Confort Standard: fara convorbiri incluse
– Confort 0,20E: abonament cu 0,20 Euro convorbiri incluse – numai pentru apelurile tarifate in impulsuri
– Confort 1,01E: abonament cu 1,01 Euro convorbiri incluse – numai pentru apelurile tarifate in impulsuri
– Confort 1,85E: abonament cu 1,85 Euro convorbiri incluse – numai pentru apelurile tarifate in impulsuri
Clientii persoane fizice mai pot beneficia de serviciul "Trunchi analogic", cu sau fara teletaxare.
Abonamente persoane juridice:
– Biz Line: Clientilor persoane juridice le este oferit un singur tip de abonament pentru linia telefonica principala, fara convorbiri incluse.
– Trunchi analogic, cu sau fara teletaxare
– Trunchi digital E1 cu semnalizare R2 (E1-R2)
Accesul la serviciu – se asigura in baza achitarii unui abonament lunar pentru o linie telefonica principala.
Numarul de apel – este atribuit de ROMTELECOM pentru fiecare linie telefonica principala la care este conectat un aparat terminal de telecomunicatii (telefon, fax, centrala, modem). Numarul de apel poate fi modificat la initiativa ROMTELECOM, din considerente tehnice, cu conditia ca utilizatorul sa fie instiintat anterior datei de modificare.
Lista clientilor telefonici – utilizatorii beneficiaza de inscriere gratuita in lista clientilor telefonici.

Serviciile de Call Center – 24 de ore din 24 la dispozitia clientilor ROMTELECOM.

Serviciile Call Center sunt interfata dintre clienti si companie. Prin intermediul acestora puteti gasi raspuns la toate intrebarile dumneavoastra legate de servicile si produsele ROMTELECOM.

Serviciul Vânzari și Relații cu Clienții (930/935)

Pentru clienti persoane fizice – 930 (apel gratuit)

Pentru clienti persoane juridice – 935 (apel gratuit)

Prin apelarea acestor servici, clientii pot beneficia de:

– cereri de servicii ROMTELECOM (conectari, modificari, etc);

– detalii privind factura telefonica, modalitati si puncte de plata;

– informatii despre produsele si serviciile ROMTELECOM (avantaje, mod de activare, tarife, oferte speciale, etc).

Apel in asteptare – sa te astepte, daca esti ocupat. Apel programat – sa iti aminteasca, daca uiti. Repetarea ultimului numar format – sa se repete, daca nu i se raspunde. Redirijarea apelurilor – sa te gaseasca, daca esti plecat. Pe toate le face telefonul tau, prin serviciile suplimentare.

ISDN reprezinta o retea telefonica complet digitala care asigura o gama larga de aplicatii privind transmisiile de voce, video, text, si date precum si o varietate mare de servicii suplimentare, folosind linia telefonica existenta si conectand diferite tipuri

de echipamente terminale.

Avantaje

Acces rapid la Internet;

Viteza mare de transfer a datelor (64 kbps, 128 kbps) cu posibilitatea de control și corectare a erorilor de transmisie;

Calitate deosebita a sunetului si imaginilor;

Flexibilitate in conectarea diferitelor tipuri de echipamente terminale multifunctionale (analogice si digitale);

Acces implicit  la diverse servicii suplimentare (identificarea apelantului, apel in asteptare, numar multiplu, informatii de tarifare, reapelare, redirectionarea apelurilor);

Cost scazut al comunicatiilor;

Cresterea eficientei afacerilor prin economisire de timp si bani

ROMTELECOM furnizeaza servicii moderne de retea inteligenta, concentrandu-se asupra nevoilor din ce in ce mai diverse de comunicare ale clientilor sai.

4.2 Sistemul de facturare la Romtelecom Prahova

4.2.1. Caracteristici Generale

Pachetul de programe de prelucrari automate factura telefonica/telegrafica a fost dezvoltat in cadrul D.Tc. Prahova in 1993-1994, cu modificari ulterioare.

Sistemul nu se utilizeaza in alte Directii de Telecomunicatii din tara.

Conceptie unitara a machetelor de culegere (aceleasi meniuri)

Ruleaza in retea (trateaza toate problemele de acces concurent pe baze de date)

Modulele de culegere date, prelucrari si listare sunt integrate in aplicatia “Factura Telefonica” (Anexa1)

Exista un prim nivel de validare

Fiecare inregistrare are amprenta celui care a procesat-o

Operatorul culegere date poate accesa modulele de culegere de la o singura statie la un anumit moment

Operatorul culegere date poate accesa modulele de culegere doar de pe statiile dedicate culegerii

Integrat cu modulele de Culegere date si Prelucrari Intermediare factura Telefonica

4.2.2. Modulul de Incasari

A. INCASARI JURIDICI – FIRME

Factura telefonica a acestor abonati(conturi), este compusa din:

SERVICII ( ce cuprind: abonament, aparataj, impulsii, diverse)

– AVANS (avans spre decontare)

Acesti abonati pot achita factura telefonica prin ordine de plata( BANCA) si prin chitanta (NUMERAR).Ordinele de plata sau chitantele ajung la serviciul incasari firme, unde se face confruntarea lor cu Discontul.

In Discont fiecare abonat are copiile facturilor precedente cit si copia facturii curente.

Suma incasata se imparte dupa caz, tinind cont ca mai intii sa se stinga soldul AVANS (restant si curent), apoi soldul serviciilor.

Dupa felul in care abonatul a achitat factura , incasarile se impart in:

FACTURA CURENTA – BANCA – NUMERAR

FACTURA RESTANTA – BANCA – NUMERAR

AVANS CURENT – BANCA – NUMERAR

AVANS RESTANT – BANCA – NUMERAR

Majorarile se iau numai pentru servicii.

Tipuri de validari in momentul culegerii:

– serie nula sau deja introdusa

– data cuprinsa in perioada de facturare

– contul sa apartina localitatii respective

– pentru avans si servicii restante, suma incasata sa fie egala sau mai mica decit soldul

– contul de control sa fie identic cu cel de plecare

Tipuri de validari la prelucrarile intermediare:

– se verifica nr. de pagini cu totalul respectiv pe cod de localitate.

B. INCASARI PARTICULARI – FIZICI

INCASARI CURENTE (BIC)

Achitarea soldului curent

Termen scadent = 25 ale lunii in curs. Ce se achita dupa data de 25 ale lunii in curs, se percepe majorare conform tarifelor in curs( se taxeaza luna urmatoare).

INCASARI RESTANTE (BIR)

Achitarea soldului din lunile precedente

Se percepe majorare conform tarifelor in curs,in functie de ziua platii

Data restantei(luna)

INCASARI LITIGIU (BIL)

Achitarea partiala a soldului, pina la solutionarea reclamatiei

Data scadenta a reclamatiei

INCASARI AVANS (BA)

Abonat anuntat ca are trafic depasit

La cerere ( abonat plecat din localitate)

Platit de mai multe ori (avind soldul achitat la zi)

Tipuri de validari in momentul culegerii:

-data cuprinsa in perioada de facturare

-telefonul de control sa fie identic cu cel de plecare

-telefon inexistent

-serii duble

-telefonul nu este al unui abonat rezidential

-abonatul a avut incasare partiala

-figureaza in alta pagina

Tipuri de validari la prelucrari intermediare:

– se verifica nr. de pagini cu totalul respectiv pe cod de localitate.

B.1. Exemplu de Baza Date – Incasarii Particulari

B.2. Procedura culegere date incasari sume nefacturate

FUNCTION BD_ICP

PRIVATE CUMUL

CUMUL = .F.

NR_DB = 2

PUBLIC FIRST

M_ORD = 'SERIE'

MESAJ[1] = 'Baza de date in curs de deschidere …'

= MSG_USER(INT(SROWS()/3), 1, 0.5)

SELECT DBF_CNT

SET ORDER TO TAG COD_AB

SELECT BORD_AL

SET ORDER TO TAG ZIP

SELECT LOCALIT

SET ORDER TO TAG ZIP

SELECT PREST

SET ORDER TO TAG ID_PRES

SELECT 0

SVMP = M.PATH_DAT + "ICP.DBF"

USE (SVMP) ;

ALIAS INCALTE ;

ORDER COD_AB

DB_ALIAS(1) = 'INC'

DB_ALIAS(2) = 'INCT'

DB_TAG( 1) = 'SERIE'

DB_IDX( 1) = 'ZIP+STR(SERIE,6)'

DB_TAG( 2) = 'TEL'

DB_IDX( 2) = 'TEL'

DB_TAG( 3) = 'ACN'

DB_IDX( 3) = 'ACN'

DB_TAG( 4) = 'COD_AB'

DB_IDX( 4) = 'COD_AB'

IF OPEN_DB(M.PATH_DAT + 'ICP', 'INC', 0, 'SHARE', 1, 1) = .F.

K_INC = .F.

RETURN

ENDIF

DB_TAG = ''

DB_IDX = ''

DB_TAG( 1) = 'SERIE'

DB_IDX( 1) = 'ZIP+STR(SERIE,6)'

DB_TAG( 2) = 'Z_O_S'

DB_IDX( 2) = 'ZIP+STR(OFICIU,2)+STR(SERIE,6)'

IF OPEN_DB(M.PATH_DAT + 'ICPT', 'INCT', 0, 'SHARE', 1, 1) = .F.

K_INC = .F.

SELECT INC

USE

RETURN

ENDIF

MODUL = 'C_ICP'

SELECT PREST

SET ORDER TO ID_PRES

M.P_ID = 7

i = 0

SCAN FOR P_ID == M.P_ID

IF PREST.P_CD <> i

i = i + 1

DIMENSION _P_CD_(i)

_P_CD_(i) = STR(PREST.P_CD, 1) + ". " + PREST.ID_NAME

ENDIF

ENDSCAN

DIMENSION _P_SC_(1)

_P_SC_(1) = '/'

SELECT INCT

SET ORDER TO TAG SERIE

SELECT INC

SET ORDER TO TAG SERIE

SET RELATION TO ZIP + STR(SERIE,6) INTO INCT

GO TOP

MESAJ[1] = 'CLOSE'

= MSG_USER(0,1,0)

= GEN_CUL(2)

RELEASE _P_SC_

RETURN

*–––––––––––––––––––––––-

*FUNCTION ADD_A

*–––––––––––––––––––––––-

W_COD = SPACE(4)

W_SERIE = 0

W_CHIT = SPACE(20)

W_OF = 1

W_DATA = { / / }

W_DATAC = { / / }

W_P_SC = 1

FIRST = .T.

SELECT INCT

SCATTER MEMVAR BLANK

M._INPUT = 0

DO WHILE .T.

CUMUL = .F.

SELECT DBF_CNT

SCATTER FIELDS ;

TIPP , ;

IDJD , ;

IDLO , ;

CC , ;

NUME , ;

TEL , ;

ACN , ;

F_D , ;

VI_CF , ;

TP_CF , ;

SOLD , ;

MAJ_T , ;

DOBANDA, ;

CHELTJ , ;

TIMBRU ;

MEMVAR BLANK

M.IDF = 0

M.INC_SLD = 0

M.INC_MAJ = 0

M.INC_DOB = 0

M.INC_CJ = 0

M.INC_TIM = 0

SELECT INC

SCATTER MEMVAR BLANK

M.ZIP = W_COD

M.SERIE = W_SERIE

M.CHITANTA= ALLTRIM(W_CHIT)

M.DATA = W_DATA

M.DATA_CAR= W_DATAC

M.OFICIU = W_OF

M.P_ID = 7

M.P_CD = 1

M.P_SC = W_P_SC

M.MARCA = W_MARCA

M._DVX = 0

DO BD_ICP.SPR

IF M._DVX = 0

EXIT

ENDIF

M.DATAORA = DTOC(DATE()) + ' ' + TIME()

INSERT INTO INC FROM MEMVAR

SELECT INCT

SEEK M.ZIP + STR(M.SERIE,6)

IF !FOUND()

M.NR_INC = 1

INSERT INTO INCT FROM MEMVAR

ELSE

REPLACE ;

TOTAL WITH M.TOTAL, ;

NR_INC WITH NR_INC + 1

ENDIF

SELECT INC

FLUSH

FIRST = .F.

NT_DOC = RECCOUNT()

ACTIVATE SCREEN

@ SROWS()-2,21 SAY NT_DOC ;

PICTURE '999999';

COLOR SCHEME 8

= VIEWER(2)

W_COD = M.ZIP

W_SERIE = M.SERIE

W_OF = M.OFICIU

W_DATA = M.DATA

W_DATAC = M.DATA_CAR

W_P_SC = M.P_SC

ENDDO

RETURN .T.

*–––––––––––––––––––––––-

*FUNCTION MOD_A

*–––––––––––––––––––––––-

PRIVATE CUR_REC

SET ORDER TO TAG (M_ORD)

IF TEST_REC()

FIRST = .T.

CUR_REC = RECNO()

CUR_2 = RECNO('INCT')

SCATTER MEMVAR

SELECT DBF_CNT

= SEEK(M.COD_AB)

SCATTER FIELDS ;

TIPP , ;

IDJD , ;

IDLO , ;

CC , ;

NUME , ;

TEL , ;

ACN , ;

F_D , ;

VI_CF , ;

TP_CF , ;

SOLD , ;

R_P , ;

MAJ_T , ;

DOBANDA, ;

CHELTJ , ;

TIMBRU ;

MEMVAR

M.IDF = M.COD_AB

M.SOLD = M.SOLD + M.R_P

SELECT INC

*––––––––––––––––––––––––––-

* Calculez total alte incasari pe COD_AB pt. afisare

*––––––––––––––––––––––––––

SET ORDER TO COD_AB

SEEK(M.COD_AB)

CALCULATE REST ;

SUM(IIF(P_CD = 1, SUMA, 0)), ;

SUM(IIF(P_CD = 2, SUMA, 0)), ;

SUM(IIF(P_CD = 3, SUMA, 0)), ;

SUM(IIF(P_CD = 4, SUMA, 0)) ;

TO ;

M.INC_MAJ, ;

M.INC_DOB, ;

M.INC_CJ , ;

M.INC_TIM ;

WHILE ;

COD_AB = M.COD_AB ;

FOR ;

!DELETED() AND ;

RECNO() <> CUR_REC

SET ORDER TO SERIE

IF SEEK(M.COD_AB, "INCALTE")

SELECT INCALTE

CALCULATE REST ;

SUM(SUMA) ;

TO ;

M.INC_SLD ;

WHILE ;

COD_AB = M.COD_AB ;

FOR ;

!DELETED()

SELECT INC

ELSE

M.INC_SLD = 0

ENDIF

GO M.CUR_REC

OLD_SUMA = M.SUMA

M.TOTAL = INCT.TOTAL

M._INPUT = 1

M._DVX = 0

DO BD_ICP.SPR

IF M._DVX = 1

SELECT INC

GO M.CUR_REC

M.MARCA = W_MARCA

GATHER MEMVAR

SELECT INCT

LOCATE FOR ;

ZIP = M.ZIP AND ;

SERIE = M.SERIE AND ;

!DELETED()

IF FOUND()

REPLACE INCT.TOTAL WITH M.TOTAL

ELSE

SELECT INC

= SEEK( M.ZIP + STR(M.SERIE,6))

CALCULATE CNT() TO M.NR_INC ;

WHILE ZIP = M.ZIP AND SERIE = M.SERIE ;

FOR !DELETED()

INSERT INTO INCT FROM MEMVAR

ENDIF

SELECT INC

ENDIF

SELECT INC

GO M.CUR_REC

FLUSH

UNLOCK

ENDIF

ACTIVATE WINDOW MBROW_2

RETURN .T.

C. INCASARI FIZICI – CONT FINAL(DESFIINTATI)

Pentru o soldare corecta a abonatilor din cont final se introduce:

-cod abonat(in loc de telefon)

-suma

Modul Desing al Ferestrei de Introducere Incasari Fizici –Cont Final

4.3 Colectarte convorbiri – Sistemul Call Colection

4.3.1 Descrierea generală a Sistemului Call Collection

Tipuri de centrale

Alcatel

1000 E10 – R.24 format fix

1000 E10 – R.24 format variabil

SYSOPE

Siemens

EWSD V11

OSS

Ericsson

AXE 10 – Local 6

AXE 10 – Local 7

ANS 2.10 rel 3

Penta Conta

LTBS rel 2.1

Goldstar

PR – 2.07

APR – 3.01

TD1 – 1.4

TX1 – 3.00

Topex

1000D – 2002

Rural – 2001

Telrad

481-31

DATEK – pentru Comunicații Telex

DKTLX – SW versiune DASTT 2.0

PentaConta fără LTBS.

Date de Intrare

Date primare de trafic

Fișierele binare emise de Centralele Digitale ( Alcatel, Siemens, Ericsson);

Fișierele emise de Centralele Penta Conta;

Fișierele emise de Centralele Datek;

Fisierele text cu format specific (Goldstar, Topex, etc);

Contori (foto/fară foto) emiși de centralele PentaConta, Pentomate;

Tichete manuale întocmite de telefonistele oficiilor manuale;

Tichete OSS/Sysope generate de centralele Siemens/Alcatel.

Date de Ieșire

Fișiere de date (necesare taxării convorbirilor telefonice sau editării unor rapoarte) și rapoarte.

4.3.2 Descrierea procesului

A. Centrale Digitale (Anexa 1)

Pasul 1. Generarea datelor primare

Generarea datelor primare, în toate centralele digitale si PentaConta, se realizează pe următoarele tipuri de suport: disc optic, HDD sau bandă.

Numele fișierelor generate de centrale sunt nestandardizate.

Pasul 2. Colectarea datelor primare

Reprezentantul Colectare Date de la nivelul unității teritoriale, preia zilnic datele de trafic și le transferă în vederea conversiei și taxării Reprezentantului IT/Facturare de la nivelul unității teritoriale.

Operatorii mobili și alți operatori telefonie fixă

Reprezentantul Colectare Date de la nivelul unității teritoriale preia zilnic datele de tranzit și le transferă Reprezentantului IT de la nivelul Administrației Centrale, în vederea conversiei și decontarii.

Traficul internațional

Reprezentantul Colectare Date de la nivelul unității teritoriale preia și transmite la fiecare 2 zile Reprezentantului IT de la nivelul Administrației Centrale datele de trafic, în vederea conversiei și decontarii.

Fisierul de convorbiri in urma procesarii

Pasul 3. Verificarea corectitudinii datelor primare

La primirea datelor, Reprezentantul Colectare Date de la nivelul unității teritoriale verifică corectitudinea transferului:

Dimensiunea fișierului să coincidă cu cea a fișierului salvat în centrală;

Numărul fisierelor trimise.

în cazul în care transferul este incomplet, Reprezentantul Colectare Date de la nivelul unității teritoriale contactează personalul tehnic din centrală (telefonic, fax), pentru a lămuri și remedia situația creată (reluarea transmiterii, reluarea salvării).

Fisier cu erori rezultate in urma procesarii convorbirilor

Pasul 4. Procesarea datelor (Fig.1)

în cazul în care nu apar probleme la verificarea datelor:

Reprezentantul IT/Facturare de la nivelul unității teritoriale validează datele în vederea taxării acestora.

Zilnic, Reprezentantul IT/Facturare de la nivelul unității teritoriale:

Analizează și validează fișierele (format, duplicate) și consistența înregistrărilor pe care le conțin (structura);

Analizează log-urile și rejecturile (verifică continuitatea numărului de articole citite, rejectate);

Analizează încadrarea în numerotația centralelor;

Validează data convorbirii, în vederea încadrării în perioada de facturare.

Reprezentant IT/Facturare de la nivelul unității teritoriale lansează în execuție programul Call Collection:

Conversia fișierelor de tip binar sau ASCII scrise de centrale, într-un format comun pentru toate tipurile de centrale;

Validarea apelurilor automate. Se verifică existența și corectitudinea tuturor parametrilor specifici apelurilor telefonice (nr. sursă, nr. destinație, data, ora, durata, etc);

Taxarea apelurilor automate, se realizează cu ajutorul fișierului de prefixe și tarife ce conține numerotațiile valide, tarifele corespunzătoare fiecărei destinații, palierele orare asociate (după caz) în conformitate cu tarifele ROMTELECOM în vigoare și cu alte documente primite de la departamentele tehnice si comerciale. Rezultatul operației de taxare este actualizarea tabelei de convorbiri cu noile apeluri și crearea unui fișier de rejecturi ce va conține articolele nevalide și articolele netaxate.

Decontarea cu operatorii mobili și de telefonie fixă

Reprezentantul IT/AD:

Colectează fișierele cu date de trafic prin FTP pentru centrele de zonă și București;

Pregătește datele pentru procesare:

Conversie;

Validare;

încarcare bază de date /lună/POI;

Actualizare fișier filtru;

Actualizare informații centrale;

Lansează programul de analiză a traficului pentru operatorii mobili și telefonie fixă:

Centralizează datele de trafic pe operator sens și tip trafic conform modului de taxare;

Selectează date pentru decontarea traficului internațional;

Emite rapoarte statistice.

Fig. 1

Pasul 6. Distribuirea datelor

Reprezentantul IT/Facturare de la nivelul unității teritoriale extrage rapoartele și fișierele de date cu periodicitatea specifică fiecăruia (zilnic, lunar, ocazional, etc):

Lista apelurilor de la numărul …;

Lista apelurilor către numărul …;

Lista valorilor [prea] mari;

Lista apelurilor către SVA;

Exportul apelurilor dintr-o perioadă;

Exportul apelurilor dintr-o perioadă pentru Oracle;

Exportul tabelei de convorbiri;

Factura Telefonică : LIS;

Factura Telefonică : IVA;

Factura Telefonică : DIS;

Lista apeluri abonați;

Factura Bucureștilor: LAP;

Factura Bucureștilor: REC;

Factura Bucureștilor: BNO;

Factura Bucureștilor: PER.

Decontarea cu operatorii mobili și de telefonie fixă

Reprezentantul IT/AD trimite la cerere/ lunar :

Analiza de trafic- Rapoarte de validare;

Date decontare cu operatorii;

Rapoarte de trafic;

Informații centralizate pentru alte aplicații.

Decontarea traficului internațional

Reprezentantul IT/AD trimite:

Rapoartele cu date de trafic măsurat transmise părților interesate prin fax sau e-mail, lunar sau/și la cerer;

Conturi la comercial pentru validare;

Documente centralizatoare.

B. Centrale Penta Conta si Manuale

Pasul 1. Colectarea datelor primare

Personalul tehnic din centrală de la nivelul unității teritoriale, fotografiază/citește contorii lunar/la schimbare de tarife în vederea facturării acestora. Transferul către Reprezentantul IT/Facturare de la nivelul unității teritoriale se face prin curier sau fax.

Pasul 2. Verificarea corectitudinii datelor primare și procesarea acestora

Reprezentantul IT/Facturare de la nivelul unității teritoriale primește datele citite manual (pozele cu contori) și verifică:

Introducere indicativ contor final;

Contorul din luna curentă să nu fie mai mic decât cel din luna precedentă;

Corespondență existență abonat, mișcare contori și invers;

Verificarea cu OS;

Atenționarea asupra existenței de impulsuri pe număr liber.

Datele se introduc în programul de facturare lunar sau la schimbarea de tarife.

BIBLIOGRAFIE

Oprea D., Airinei D., Fotache M. – “Sisteme informaționale pentru afaceri“ Editura Polirom, 2002

Petersen J., Trad. Slavu O.V. – “Baze de date pentru începători”, Editura All ,2002

Militaru Gh. – “Sisteme informatice pentru management”, Editura All, 2003

Hernandez M. – “Proiectarea bazelor de date”, Editura Teora,2003

Connolly Th., Begg C., Strachan A. – “Baze de date – proiectare, implementare, gestionare”, Editura Teora, 2002

Muller N.J. – “Enciclopedia Internet”, Editura Tehnica, 2004

Levine J.R., Baroudi Carol, Levine Young M. – “Internet” Editura Tehnică, 2001

Bajenescu T.I. – “Inteligența distribuită și serviciile în rețelele de telecomunicații”, Editura Tehnică, 2002

Popescu I. – “Modelarea bazelor de date”, Editura Tehnica, 2001

Karnyanszky T.M. – “Rețele de calculatoare si comunicații de date”, Editura Augusta Timisoara, 2001

Băjenescu T. – “Sisteme personale de comunicații”, Editura Teora, 2000

Norton P., Kearns D. – “Rețele de calculatoare”, Editura Teora, 2000

Ogletree T. – “Rețele de calculatoare – depanare si modernizare”, Editura Teora, 2000

14. ***, XtremPC, Nr. 53/2004

15. www.romtelecom.ro

Similar Posts