Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Elemente privind proiectarea si realizarea Sistemelor Informationale

calculatoare



+ Font mai mare | - Font mai mic



Elemente privind proiectarea si realizarea Sistemelor Informationale

In viata noastra de zi cu zi, calculatoarele sunt ceva obisnuit, ba chiar indispensabil in unele cazuri. Se poate spune, pe drept cuvant ca traim intr-o societate informatizata. In zilele noastre, intalnim calculatoare peste tot, de la bacanul din colt, care-si tine evidentele sale cu ajutorul unui PC si pana la ghiseul la care platim telefonul. Peste tot sunt calculatoare, legate eventual intre ele si formand astfel retele de calculatoare. Toate acestea se datoreaza faptului ca ne dam seama din ce in ce mai mult ca PC-ul ne usureaza munca. Dar trebuie de subliniat faptul ca un calculator este de fapt o "masinarie" care prelucreaza o serie de informatii pe care i le dam. Informatia, este elementul esential din acest intreg lant. De fapt, in practica intalnim, printre altele, doua concepte legate de aceasta si anume sistemul informational si sistemul informatic.



Sistemul informational este ansamblul de elemente implicate in procesul de colectare, transmisie, prelucrare de informatii.

Rolul sistemului informational este de a transmite informatia intre diferite elemente. De exemplu, in cadrul unei unitati economice, rolul sistemului informational este de a asigura persoanele din conducere cu informatii necesare pentru luarea diferitelor decizii economice sau de alta natura.

In cadrul sistemului informational se regasesc: informatia vehiculata, documentele purtatoare de informatii, personalul, mijloace de comunicare, sisteme de prelucrare a informatiei, etc.

Printre posibile activitati desfasurate in cadrul acestui sistem, pot fi enumerate: achizitionarea de informatii din sistemul de baza, completarea documentelor si transferul acestora intre diferite compartimente, centralizarea datelor, etc.

In cadrul sistemului informational, majoritatea activitatilor se pot desfasura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare si apoi, rezultatul poate fi transferat mai departe, catre alt compartiment spre prelucrare. Transferul se poate face si el pe cale electronica, prin intermediul unei retele de calculatoare sau cu ajutorul modemului.

Ansamblul de elemente implicate in tot acest proces de prelucrare si transmitere a datelor pe cale electronica alcatuiesc un sistem informatic.

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

Se poate spune deci, ca sistemul informational este inclus in sistemul informatic, acesta din urma fiind o componenta esentiala a primului.

Sistemele informatice acopera cele mai diverse domenii. In functie de specializare, avem:

Sisteme specializate, adica sunt proiectate pentru a rezolva un anume tip de problema dintr-un anume domeniu;

Sisteme de uz general, cu ajutorul carora se poate rezolva o gama larga de probleme din mai multe domenii;

Sisteme locale, programele necesare prelucrarilor de date si datele se afla pe un singur sistem de calcul;

Sisteme pe retea, sistemul functioneaza intr-o retea de calculatoare, caz in care, datele si programele pot fi distribuite mai multor statii de lucru ce fac parte din acea retea.

In ultimul timp se merge tot mai mult pe varianta sistemelor de lucru in retea, avantajele fiind evidente: transfer de date intre statii foarte rapid, costuri minime, etc.

In functie de localizarea datelor si de locul in care sunt efectuate prelucrarile, putem avea sisteme informatice:

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

Cu date distribuite, datele se afla distribuite pe mai multe calculatoare in retea;

Cu prelucrari centralizate, prelucrarea datelor se face pe o singura statie de lucru, indiferent de numarul statiilor pe care sunt informatiile de prelucrat;

Cu prelucrari distribuite, mai multe calculatoare prelucreaza datele provenite de la unul sau mai multe calculatoare din retea;

Dupa domeniul in care functioneaza, sistemele pot fi clasificate:

Pentru baze de date, specializate in gestiunea unor cantitati mari de date;

Pentru prelucrari stiintifice, specializate pe anumite domenii stiintifice;

Pentru conducerea proceselor tehnologice,

Pentru conducerea unor masini, scule, unelte computerizate;

Dupa nivelul ierarhic ocupat de sisteme informatice in structura organizatorica a societatii, putem avea:

Sisteme informatice pentru conducerea activitatilor la nivelul unitatilor economice;

Sisteme la nivelul organizatiilor cu structura de grup;

Sisteme informatice teritoriale;

Sisteme informatice la nivel de ramura si subramura si la nivel economic national;

Sisteme de uz general.

Dupa activitatea ce o automatizeaza, sistemele pot fi:

Pentru conducerea productiei;

Pentru activitatea comerciala;

Pentru evidenta contabila;

Pentru evidenta materialelor si marfurilor;

Pentru evidenta personalului si salarizare;

Pentru evidenta mijloacelor fixe.

Aceste sisteme au o aplicare imediata in cadrul rezolvarii unor probleme de natura economica. Deci, una dintre ramurile cele mai informatizate este economia.

Inca din cele mai vechi timpuri, omul, chiar fara sa stie, era preocupat de acest domeniu - economia. Omul avea nevoie, pentru a trai, de o serie de elemente indispensabile, cum ar fi apa, hrana, arme pentru a se apara de animale; o data cu evolutia lui, au crescut si necesitatile, pe langa cele vechi au aparut si altele: haine, mijloace de transport, unelte, etc. Astfel apare conceptul de interes economic.

Pentru a satisface anumite nevoi, este necesar sa se consume anumite bunuri, anumite resurse. Totalitatea elementelor utilizate la producerea de noi bunuri necesare poarta numele de resurse economice. Aceste resurse sunt limitate, deci trebuie gestionate corespunzator, in vederea satisfacerii prioritare a nevoilor cele mai stingente.

Astfel apare problema economica generala care reprezinta munca depusa de om in vederea alegerii si folosirii resurselor pentru a-si satisface cat mai bine nevoile.

Activitatea desfasurata de om pentru gasirea si prelucrarea resurselor economice se numeste activitate economica.

Aceasta lege se regaseste si in zilele noastre, in sensul ca omul, munceste pentru a-si procura cele necesare traiului. Cu cat castiga mai mult, cu atat cresc si nevoile acestuia.

In cazul intreprinderilor, acestea desfasoara o activitate de productie, veniturile obtinute din valorificarea acestora permitand acesteia continuarea activitatii si chiar a dezvoltarii. Aici, nevoile sunt cele de a ramane in competitie pe piata, iar resursele sunt constituite din materia prima folosita, forta de munca, mijloacele de productie, etc. Criteriul satisfacerii nevoilor in cazul unei intreprinderi se transforma in telul urmarit de aceasta - obtinerea de profit maxim.

Pentru realizarea acestei dorinte, unitatile economice trebuie sa-si perfectioneze continuu activitatea. Utilizarea tehnicii de calcul, mareste considerabil eficienta economica. Unul dintre mijloacele prin care activitatea economica este automatizata este dat de sistemele informatice de gestiune economica.

In cadrul unitatilor economice sunt o multitudine de activitati ce pot fi supuse informatizarii. Acestea pot fi impartite in grupe, in functie de compartimentele in care se desfasoara.

Spre exemplu, in cadrul compartimentului productie se poate informatiza activitatea de stabilire a structurii productiei si de dimensionare a sa, programarea si urmarirea productiei, etc. In cadrul compartimentului financiar-contabil, activitatea ar putea fi informatizata aproape in totalitate, la fel ca si activitatea din cadrul compartimentului personal-salarizar. Fiecare dintre compartimentele unei unitati economice poate fi informatizat intr-o masura mai mare sau mai mica, ideal insa ar fi ca toate acestea sa fie inglobate intr-un sistem informatic global de gestiune economica la nivelul intregii intreprinderi.

Pentru realizarea unui sistem informatic eficient, trebuiesc avute in vedere unele reguli de baza, ce au fost deduse din practica.

Abordarea globala modulara.

La proiectarea sistemului trebuie avuta in vedere legatura acestuia cu lumea exterioara, posibilitatile de comunicare cu alte sisteme similare, compatibilitatea cu sisteme de alta natura, posibilitatea includerii sistemului intr-un sistem mai complex, sau posibilitatea includerii altor sisteme.

Criteriul eficientei economice.

Principalul criteriu ce sta la baza realizarii sistemului este cel economic. Cu alte cuvinte, la proiectare trebuie avut in vedere ca raportul dintre rezultatul sau rezultatele directe sau indirecte obtinute prin implementarea si folosirea sistemului economic si totalitatea costurilor de realizare sa fie cat mai mare. Cu alte cuvinte, trebuie sa fie rentabil.

Orientarea spre utilizatori.

La realizarea sistemului trebuie sa se aiba in vedere cerintele si preferintele utilizatorilor. In acest sens, trebuie purtata o discutie cu utilizatorii in prealabil si pe baza sugestiilor si preferintelor lor sa se treaca la proiectarea propriu-zisa.

Asigurarea unicitatii introducerii datelor.

De cele mai multe ori o serie de date trebuiesc utilizate in mai multe locuri in cadrul sistemului informatic. La proiectarea sistemului, trebuie ca datele sa fie introduse o singura data, iar sistemul sa distribuie automat datele in celelalte locuri in care este nevoie de ele.

Antrenarea beneficiarului la realizarea sistemului.

Acest principiu decurge tot din orientarea spre utilizator. Trebuie discutat cu utilizatorul inainte de a trece la proiectare, pentru a inlatura de la inceput o serie de neajunsuri. Trebuiesc discutate modalitatile de introducere a datelor si adaptarea aplicatiei la nevoile utilizatorului, modul de calcul si prelucrare al datelor.

Solutie generala, independenta de configuratia actuala a sistemului informatizat.

Sistemul proiectat nu trebuie, pe cat posibil, sa fie dependent de dotarea tehnica actuala a beneficiarului, ci trebuie avute in vedere eventuale noi achizitii de tehnica de calcul, o eventuala schimbare a sistemului informatic.

Posibilitatea de dezvoltare ulterioara.

Trebuiesc avute in vedere posibilitatea ca sistemul sa poata fi inbunatatit in raport de cerintele viitoare ale firmei beneficiare.

Sistemele informatice pun probleme serioase la realizarea lor. In functie de modul de abordare, costurile pot fi mai mici sau mai mari, rezultatele mai bune sau mai putin bune.

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

Ascendenta ("bottom-up" de jos in sus, de la mic la mare)

Descendenta ("top-down" de sus in jos, de la mare la mic).

Strategia ascendenta

In conformitate cu aceasta strategie, rezolvarea unei anumite probleme incepe cu rezolvarea problemelor de detaliu, minore. Solutiile sunt agregate in vederea solutionarii unei probleme mai complexe. Se procedeaza astfel pana ce se ajunge la varf, la solutionarea problemei globale.

Dezavantajul acestei metode consta in necesitatea cunoasterii in detaliu al domeniului problemei de rezolvat inainte de trecerea la rezolvarea propriu-zisa.

Strategia descendenta

Este opusa celei ascendente, abordand problema de la general la particular, de sus in jos.

Este studiata problema global, incercand descompunerea ei in probleme mai mici si se trece la rezolvarea subproblemelor astfel rezultate. Rezolvarea subproblemelor se face prin aceeasi metoda, adica prin descompunerea lor in alte subprobleme, si tot asa pana se ajunge la probleme a caror rezolvare este cunoscuta.

Aceasta strategie prezinta avantajul ca ofera in orice moment o imagine de ansamblu asupra problemei de rezolvat.

Pentru realizarea unui sistem informatic sunt implicate multe persoane, materiale, timp, etc., ceea ce implica in final costuri ridicate. Din acesta cauza, modul de abordare a problemei proiectarii este foarte important. In decursul timpului s-au cristalizat cateva metodologii standard de proiectare.

Principalele etape de parcurs pentru realizarea unui sistem informatic sunt:

Analiza sistemului existent - se studiaza sistemul informatic existent si se stabilesc neajunsurile sale si cerintele ce urmeaza a fi satisfacute de viitorul sistem informatic. In acesta etapa se stabileste rentabilitatea folosirii sistemului informatic.

Proiectarea sistemului informatic - se concepe sistemul, elementele componente ale acestuia, structura lor si modul de realizare. Datorita complexitatii, aceasta etapa este la randul ei descompusa in doua etape:

Proiectarea de ansamblu - se stabileste arhitectura de ansamblu, modul de descompunere pe componente, intrarile si iesirile sistemului. Se finalizeaza printr-o schema de ansamblu a sistemului in care sunt incluse toate aceste elemente.

Proiectarea de detaliu - fiecare element descris in etapa anterioara este descris in detaliu.

Elaborarea programelor - se scriu programele sistemului intr-un limbaj ales anterior.

Implementarea sistemului - dupa ce a fost realizat sistemul se trece la implementarea sa.

Exploatarea si intretinerea sistemului - aceasta este faza finala a proiectului in care se trece la exploatarea acestuia. Este necesara in paralel si o serie de operatii de intretinere a acestuia.

Exemplu:

Pentru exemplificarea celor aratate, in continuare voi expune modalitatea de realizare a unei aplicatii legate de probleme de personal.

Pentru aceasta, trebuie facuta o analiza a acestui domeniu si de a cunoaste particularitatile acestuia, precum si analiza sistemului actual, inainte de informatizare, al acestui domeniu. Trebuiesc stabilite clar scopul, rezultatele, ceea ce trebuie obtinut in final din prelucrarea datelor, cat si datele de intrare.

Astfel, luam ca exemplu o intreprindere cu 250 salariati, dintre care 30 fac parte din categoria T.E.S.A. si a muncitorilor indirect productiv, 115 sunt muncitori calificati si angajati pe o perioada nedeterminata, iar restul sunt muncitori calificati si necalificati angajati pe o perioada de 6 luni.

De la bun inceput ne propunem sa realizam aceasta aplicatie intr-un limbaj de programare cat mai eficient in astfel de situatii.

Trecem deci la analizarea problemei de la general la particular prin asa numita metoda descendenta sau top-down.

Construim programul principal cu meniurile aplicatiei. Stabilim deci modulele necesare.

La discutiile cu beneficiarul s-a stabilit ca aceasta aplicatie sa fie implementata intr-o retea informatica formata dintr-un server aflat chiar in biroul "Personal-salarizare" si trei statii de lucru aflate in teritoriu (doua in interiorul intreprinderii, cate unul pentru fiecare sectie si unul la punctul de lucru "Vladeni".

Tot atunci s-a stabilit strategia de prelucrare a datelor; datele vor fi introduse la fiecare dintre cele trei terminale si apoi prelucrate pe serverul din biroul "Personal".

Se stabileste deci ca aplicatia va avea urmatoarele module:

Introducere date - cu ajutorul acestui modul se vor introduce datele referitoare la personal in sistem. Acest modul va fi instalat la randul sau pe toate cele trei statii de lucru.

Vizualizare/modificare date - permite vizualizarea si/sau modificarea/corectia anumitor date introduse.

Listare - cu acest modul se vor lista la imprimanta diferite liste cu pontaje, liste de personal, etc

Prelucrare date - daca celelalte trei module vor fi instalate pe fiecare din cele 3 statii de lucru, acesta va fi instalat doar pe server, aici centralizandu-se datele.

Liste centralizate - se vor scoate listele finale, obtinute dupa centralizarea si prelucrarea datelor.

Se executa proiectarea bazei de date pentru introducerea datelor initiale si la proiectarea interfetei cu utilizatorul, tinand seama de discutiile purtate cu acestia si de analiza facuta.

Astfel, baza de date va avea urmatoarea structura:

Marca

Nume

Functia

Locul de munca

Salariul

Muncitor/TESA

Adresa

Telefon

Cod numeric personal

Buletin

Tipul angajarii

Data nasterii

Data angajarii

Data incadrarii in munca

Copii

Retineri personale

Deduceri personale (pentru impozitul global)

Luna de lucru

Pe baza acestei structuri se executa macheta de introducere a datelor primare, apoi se proiecteaza blocul de vizualizare/modificare a datelor si in final, procedura de listare.

Odata terminate si testate blocurile ce urmeaza a fi implementate pe statiile de lucru, se trece la proiectarea aplicatiilor de pe server si anume la blocul de centralizare a datelor si la modulul de liste centralizate.

Centralizarea datelor se face pe o structura de baza de date asemanatoare cu cea in care s-au facut actualizari pe statiile de lucru, avand aceleasi campuri ca acestea si in plus altele necesare calcularii salariilor, etc. Acest subprogram adauga deci la baza de date de pe server bazele de date de pe statiile de lucru, le sorteaza dupa tipul angajatului (TESA sau muncitor), dupa locul de munca, etc, pregatind astfel baza de date pentru listele centralizate - obiectivul final al aplicatiei.

Dupa terminarea si testarea aplicatiei, urmeaza instructajul beneficiarului si in final darea in folosinta cu asigurarea intretinerii aplicatiei.

1.1 Sisteme Informationale

Definitie - Un sistem informational este un ansamblu de oameni, echipamente, software, procese si date destinate sa furnizeze informatii active sistemului decizional, informatii necesare in elaborarea de solutii pentru problemele cu care se confrunta managerii agentilor economici. Sistemul informational face legatura intre sistemul de conducere si sistemul condus si este subordonat sistemului de conducere.

Sistemul informatic este o parte a sistemului informational in care procesul de culegere, transmitere, stocare si prelucrare a datelor se realizeaza utilizand elemente sau componente ale TI, adica mijloace de calcul si de comunicare moderne, produse software specializate, proceduri si tehnici specifice la care se adauga personalul specializat.

Sistemul informatic integrat - specific anumitor domenii de activitate (de exemplu sistemul economic, financiar, bancar) este sistemul care asigura introducerea unica a datelor si prelucrarea multipla a acestora in functie de cele mai diverse cerinte formulate de catre utilizatori.

Tehnologia informatiei este un termen contemporan care descrie combinatia de tehnologii de calcul - echipamente si software cu tehnologia comunicatiei - retele de transmitere a datelor, imaginilor si vocii.

Sisteme informatice de gestiune - modelele de gestiune regrupeaza procedurile proprii ale unui domeniu. In activitatea practica se pot identifica o serie de modele specifice domeniului, ca de exemplu: tehnologiile de fabricatie, vanzarile specifice.

Analistii de sistem sunt acei specialisti care inteleg atat aspectele legate de facilitatile si limitele oferite de tehnologiile informatiei, cat si cerintele de prelucrare a datelor necesare procesului de informare-decizie a agentilor economici.

Sistemele de Prelucrare a Tranzactiilor (SPT) sunt aplicatii ale sistemului informational care pemit culegerea, stocarea si prelucrarea zilnica a datelor rezultate din desfasurarea tranzactiilor, asigurand actualizarea bazei de date.

Un Sistem informatic de Conducere (SIC) este un sistem de aplicatii informatice care se ocupa cu elaborarea de rapoarte sub un format standard necesare organizarii si conducerii operative a unitatii.

Un Sistem Suport de Decizii (SSD) este un sistem de aplicatii informatice care asigura pe utilizatori cu informatii orientate pe decizii, adica cu informatii referitoare la diverse situatii care pot apare in luarea deciziilor. Cand acest sistem este utilizat direct de catre conducerea executiva a firmei se mai numeste si sistem de informare executiva.

1.2 Selectarea strategiei de proiectare a sistemelor informatice

(De la analiza la proiectarea sistemelor informatice)

Obiectivul principal urmarit in faza de analiza l-a reprezentat definirea a "ceea ce este" si a "ceea ce ar trebui sa fie" sistemul informational. In acest sens au fost realizate doua activitati importante: determinarea cerintelor sistemului si structurarea (formalizarea) acestora. Prin determinarea cerintelor sistemului s-a urmarit mai intai descrierea a ceea ce face sistemul existent prin prezentarea proceselor de prelucrare, a fluxurilor informationale, a procedurilor de lucru, a documentelor si rapoartelor din sistem etc. Apoi, s-a urmarit identificarea a ceea ce doresc utilizatorii de la noul sistem. Structurarea cerintelor sistemului a vizat dezvoltarea modelului logic al sistemului. Fluxurile informationale dintre procesele de prelucrare au fost reprezentate prin diagrama fluxurilor de date, logica prelucrarii datelor a fost descrisa prin intermediul tabelelor de decizie sau a englezei structurate, modelul conceptual al datelor a fost transpus prin intermediul diagramei entitate-relatie.

Odata finalizata faza de analiza, trebuie aleasa calea ce va fi urmata pentru obtinerea noului sistem. Asadar, punctul in care ne aflam acum il reprezinta trecerea de la analiza sistemului la proiectarea sitemului. Obiectivul principal al proiectarii consta in a determina exact "cum" se va parcurge drumul de la "ceea ce este" la "ceea ce ar trebui sa fie" sistemul pentru a se ingloba toate cerintele identificate anterior. Proiectarea trebuie sa ofere solutia optima de inglobare a tuturor cerintelor in noul sistem. Trecerea de la analiza la proiectare presupune trecerea de la "ce" la "cum" se va obtine noul sistem. Toate informatiile obtinute pana acum trebuie transformate in idei si solutii de proiectare pentru noul sistem.

Directia care va fi urmata in continuare in dezvoltarea noului sistem este numita strategia de proiectare. Chiar daca dupa parcurgerea fazei de analiza multe lucruri s-au clarificat, mai exista unele incertitudini privind sistemul datorate contradictiilor care pot exista intre utilizatori privind cerintele functionale, alternativele privind platformele hardware si software, cerintele functionale care sa fie incluse in noul sistem in functie de restrictiile de costuri si timp, sursele de obtinere a software-ului etc. Echipa de realizare trebuie sa identifice si sa defineasca clar cateva alternative de proiectare a sistemului pe care sa le supuna dezbaterii utilizatorilor si conducerii firmei, din care va fi aleasa cea optima.

In prezentul capitol ne vom ocupa de principalele aspecte care privesc definirea strategiei de proiectare. Vor fi prezentate activitatile care trebuie parcurse, consideratiile care stau la baza generarii alternativelor strategice de proiectare, criteriile utilizate la evaluarea alternativelor, modul de selectare a celei mai bune variante de sistem.

1.3 Consideratii generale privind strategia de proiectare

Dupa cum spuneam anterior, inainte de trecerea la proiectarea noului sistem trebuie aleasa strategia de proiectare, ceea ce implica identificarea mai multor variante de proiectare si alegerea celei optime. Dar de ce este nevoie sa definim mai multe variante de proiectare?

Mai intai sa spunem ca in domeniul dezvoltarii sistemelor informationale, ca de-altfel in mai toate domeniile de activitate, se aplica demersul sistemic de rezolvare a unei probleme. Acest demers presupune parcurgerea unor faze si etape interdependente si care se intrepatrund, prezentate in figura 1. Dupa cum se poate usor observa, primele doua faze au fost parcurse deja, de urmatoarele trei ne vom ocupa in acest capitol, iar ultimele doua vor fi abordate in cadrul celorlalte capitole.

Desigur ca raspunsul ar putea fi considerat ca "evaziv". De ce trebuie aplicat demersul sistemic? Care sunt avantajele aplicarii lui in domeniul dezvoltarii sistemelor informationale?

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

Un vechi dicton ingineresc spune ca "Un proiect poate fi de bun, ieftin si realizat in timp scurt . alege doua dintre ele". Marakas a denumit aplicarea acestui dicton in domeniul sistemelor informationale ca adevarul geometric despre proiectele de dezvoltare a sistemelor informationale, pornind de la teorema lui Pitagora. Asa cum la trasarea unui triunghi se poate specifica doar marimea a doua unghiuri (al treilea fiind determinat ca diferenta pana la 180 de grade), la fel si in dezvoltarea sistemelor informationale trebuie gasit un echilibru intre calitatea, costurile si timpul de realizare (vezi figura 2). Accentul pus pe unul din cele trei aspecte se va rasfrange asupra unuia din celelalte doua sau asupra ambelor aspecte. De exemplu, accentul pus pe calitatea sistemului (cum ar fi includerea tuturor cerintelor functionale si nefunctionale in sistem) ar presupune costuri si timp de realizare mai mari. Daca se doreste minimizarea costurilor si reducerea timpului de realizare, atunci calitatea sistemului va fi mult afectata. Obtinerea unui sistem de calitate si intr-o perioada scurta de timp duce la sporirea considerabila a costurilor (vor trebui angajati numerosi specialisti din afara firmei). Prin urmare, se poate interveni doar asupra a doua din cele trei aspecte importante care privesc dezvoltarea sistemelor informationale.

Decizia asupra solutiei optime trebuie sa o ia utilizatorii si conducerea firmei, datorita importantei ei deosebite. Dupa luarea acestei decizii si trecerea la proiectarea si implementarea sistemului orice revenire poate fi foarte costisitoare sau chiar imposibila. Orice revenire pana in acest punct poate sa nu implice nici un cost suplimentar. Dupa stabilirea strategiei de proiectare si trecerea la implementarea ei face dificila orice revenire cu atat mai mult cu cat s-a inaintat in realizarea proiectului. Daca s-a optat pentru dezvoltarea aplicatiilor in mediul FoxPro, nu se poate reveni usor pentru trecerea la mediul Oracle deoarece s-a constatat ca nu pot fi satisfacute cerintele de securitate. Acest lucru ar insemna renuntarea la o mare parte din rezultatele obtinute pana in momentul respectiv.

Figura 2. Adevarul geometric despre dezvoltarea sistemelor informationale[1]

Prin urmare, cea mai buna solutie de proiectare a sistemului trebuie sa asigure compromisul optim intre cele trei dimensiuni: calitatea sistemului, costurile si timpul de realizare. Gasirea acestui optim implica identificarea mai multor variante si evaaluarea cu atentie a acestora cu scopul alegerii celei mai bune.

Un alt motiv care justifica necesitatea elaborarii mai multor alternative de proiectare este legat de pericolul familiarizarii excesive a membrilor echipei cu anumite tipuri de probleme. Daca ei sunt specializati cu precadere in tehnologia bazelor de date, atunci solutia lor se va baza pe aceasta tehnologie, chiar daca cel mai indicat mod de rezolvare ar consta in utilizarea unui program de calcul tabelar. De asemenea, daca in trecut au avut o solutie anume la un gen similar de problema, varianta propusa de ei va fi ultima lor realizare la dezvoltarea unui alt sistem. Daca ea ar fi si cea mai buna solutie nu ar fi nimic grav, insa, de multe ori, propunerea este subiectiva.

Definirea strategiei de proiectare presupune doua activitati principale:

Generarea alternativelor strategice de proiectare

Selectarea celei mai bune variante.

In continuare vom aborda aceste doua probleme. La generarea alternativelor de proiectare sunt luate in considerare aria de intindere si nivelul de informatizare, definirea mediului de dezvoltare a aplicatiilor si sursele de obtinere a software-ului.

1.4 Selectarea alternativelor privind aria de intindere si nivelul de informatizare

Una dintre activitatile realizate in faza de analiza a constituit-o definirea ariei de intindere a sistemului. Obiectivul urmarit atunci a fost definirea granitelor sistemului prin identificarea functiilor ce vor fi incluse si a legaturilor cu mediul sau extern. Toate aceste informatii au fost structurate cu ajutorul diagramelor fluxurilor de date. Un rol important l-au jucat utilizatorii, care si-au specificat cerintele functionale.

Acum, inainte de a se trece la proiectarea sistemului, echipa de realizare a trebuie sa se decida asupra functiilor care vor fi incluse in sistem. De regula, utilizatorii solicita mai multe cerinte functionale a caror satisfacere ar duce la depasirea bugetului alocat si/sau a timpului de realizare planificat. Mai mult, se intampla care utilizatorii sa ceara adaugarea unor noi functii dupa ce s-a trecut la faza de proiectare. Astfel de situatii pot fi evitate prin formalizarea procesului de identificare, grupare si stabilire a prioritatii cerintelor informationale. In acest sens, echipa de realizare a sistemului va intocmi un document cu care utilizatorii sa fie de acord si pe care-l vor semna. In el vor fi consemnate toate cerintele utilizatorilor.

Pentru a decide asupra functiilor (cerintelor functionale) ce vor fi incluse in sistem este necesara definirea unor alternative de proiectare. Fiecare alternativa va ingloba mai putine sau mai multe din cerintele utilizatorilor. Aceasta sarcina poate fi usurata prin gruparea cerintelor sistemului in trei categorii: obligatorii, importante si dorite. Stabilirea prioritatii fiecarei cerinte este efectuata impreuna cu utilizatorii si poate fi realizata chiar in faza de analiza, pe masura ce acestea sunt identificate.

Determinarea prioritatii fiecarei functii se face, de regula, in stransa legatura cu descrierea nivelului de informatizare a sistemului. Nivelul de informatizare priveste suportul pe care sistemul informatic il va oferi pentru fiecare functie in parte. Pentru cele mai multe functii ale unui sistem, pot fi definite cel putin trei niveluri de informatizare: mic, mediu si mare. In cazul unui nivel mic de informatizare, sistemul se va limita la gestiunea inregistrarilor care privesc acea functie. Aplicatia va contine formulare pentru introducerea, modificarea, validarea si salvarea datelor si va furniza unele informatii sub forma rapoartelor programate. Un nivel mare de informatizare presupune ca sistemul sa realizeze cat mai multe din prelucrarile specifice functiei respective. Definirea acestui nivel este foarte dificila. Daca in cazul unui nivel mic de informatizare se urmareste, de regula, doar automatizarea procedurilor manuale existente, acum trebuie sesizate noi moduri de lucru, trebuie regandit complet modul de realizare a acelei functii, cu scopul imbunatatirii radicale a performantelor. Acest cadru mai este intalnit sub numele de reproiectarea proceselor economice (Business Process Reengineering - BPR). Varianta nivelului mediu de informatizare reprezinta de obicei o combinatie a caracteristicilor celorlalte doua alternative. Prin aceasta varianta, care este cel mai probabil sa fie selectata, analistul incearca sa faca cea mai buna alegere intre ceea ce este necesar si ceea ce este posibil, tinand cont de restrictiile privind bugetul si timpul alocate.

Dupa definirea alternativelor de proiectare, pe baza prioritatii si nivelurilor de informatizare pentru fiecare functie, se trece la evaluarea acestora. Drept criterii de evaluare vor fi utilizate in primul rand restrictiile rezultate din studiile de fezabilitate a proiectului. Este evident ca extinderea functionala a sistemului si un nivel ridicat de informatizare vor implica costuri mari si timp indelungat. In aceasta faza, informatiile despre cerintele sistemului si dificultatea dezvoltarii unor capacitati ale acestuia sunt mai detaliate, echipa de dezvoltare fiind in masura sa evalueze mai exact decat in fazele anterioare costurile pentru fiecare alternativa strategica de proiectare, urmarindu-se incadrarea in bugetul aprobat. Datorita si restrictiilor de timp, noul sistem nu va putea satisface toate cerintele utilizatorilor. Insa, pe masura ce utilizatorii capata experienta in lucrul cu noul sistem, aceasta poate fi extins pana ce se acopera toate cerintele si se obtine nivelul de informatizare dorit.

1.4.1 Definirea mediului de dezvoltare al aplicatiilor

Unul din aspectele importante ale dezvoltarii unui nou sistem informational priveste mediul de dezvoltare al aplicatiilor. Mediul de dezvoltare face referire la configuratia echipamentelor, a sistemelor de operare si a retelei in care vor fi instalate noile aplicatii. Pentru a determina mediul de dezvoltare trebuie gasite raspunsurile la unele intrebari precum: Aplicatiile necesita prelucrarea pe loturi a unui volum mare de date sau prelucrarea on-line? Cati utilizatori vor fi, cate posturi de lucru si cat de raspandite vor fi acestea? Unde ar trebui localizate datele? Raspunsurile la aceste intrebari (si multe altele) ofera o imagine preliminara asupra viitorului sistem, permitand echipei de realizare a proiectului sa ia deciziile potrivite pentru mediul de dezvoltare.

In general, dezvoltarea noului sistem nu implica redefinirea mediului de dezvoltare. Aceste aspecte sunt extrem de importante, ele fiind luate in considerare, de regula, in faza planificarii strategice a sistemelor informationale. In fapt, ar fi imposibila redefinirea mediului de dezvoltare cu ocazia fiecarui proiect de realizare a unui nou sistem, fie si numai pentru ca ar afecta buna functionare a aplicatiilor dezvoltate anterior. Totusi, unele modificari pot fi aduse astfel incat sa se obtina maximum de performante ale noului sistem sau utilizarea unor tehnologii noi.

Prin urmare, analistul trebuie sa ia in considerare la formularea alternativelor strategice de proiectare si alternativele care privesc mediul de dezvoltare al aplicatiilor. In continuare vom prezenta pe scurt cateva variante posibile: prelucrarea pe loturi/prelucrarea on-line, sistem centralizat/distribuit, Internet/intranet/extranet.

1.4.2 Alternativa sistem centralizat/sistem distribuit

Atunci cand vorbim despre mediul de dezvoltare a unui sistem informatic, pot fi identificate trei variante de sisteme: centralizate, descentralizate si distribuite. De-a lungul evolutiei informaticii, in diferite perioade a predominat una sau alta dintre aceste variante.

Pana la inceputul anilor '70, nu exista o alta varianta decat informatica centralizata. Sistemele informatice aveau la baza calculatoare de tip mainframe pe care erau rezidente toate aplicatiile si la care erau conectate terminale plasate in diferite locatii din firma. Aceste terminale permiteau doar introducerea datelor si afisarea rezultatelor prelucrarii. Moda centralizarii a revenit la sfarsitul anilor '80 si inceputul anilor '90, atunci cand au aparut si s-au dezvoltat retelele de calculatoare in care erau conectate microcalculatoare de tip IBM PC.

La inceputul anilor '80, odata cu proliferarea microcalculatoarelor, s-a dezvoltat informatica descentralizata. Majoritatea sistemelor informatice din aceasta perioada constau in aplicatii izolate instalate pe PC-uri. Fiecare departament era dotat cu PC-uri pe care rulau aplicatiile necesare desfasurarii activitatii lor. Marele merit al acestei scurte "epoci" a fost mutarea informaticii dintr-un departament special spre celelalte departamente functionale din firma insa, lipsa integrarii aplicatiilor au creat numeroase neajunsuri, ceea ce a determinat in scurt timp reorientarea catre informatica centralizata.

La inceputul anilor '70, odata cu aparitia minicalculatoarelor, au fost dezvoltate primele sisteme informatice distribuite. Aplicatiile sistemului erau distribuite pe mai multe minicalculatoare interconectate in retea. Informatica distribuita a fost abandonata datorita aparitei microcalculatoarelor, dar s-a revenit in anii '90, odata cu maturizarea retelelor de calculatoate si a altor tehnologii informationale. In prezent se inregistreaza tendinta spre dezvoltarea sistemelor distribuite conform modelului client/server, asupra caruia vom reveni.

Daca problema sistemelor informatice descentralizare nu se mai pune astazi, in schimb sistemele centralizate si cele distribuite raman alternativele viabile pentru dezvoltarea sistemelor informationale. Prin comparatie, un sistem informatic centralizat presupune ca un singur calculator sa satisfaca nevoile organizatiei, 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 aplicatiile si care impreuna satisfac nevoile organizatiei. Problematica sistemelor distribuite este mult mai complexa, motiv pentru care vom insista asupra ei in continuare.

Sistemele distribuite pot fi definite ca "o colectie de calculatoare independente care apar utilizatorilor acestora ca un singur sistem coerent". Aceasta definitie evidentiaza doua aspecte esentiale: primul priveste hardware-ul - calculatoarele sunt autonome; cel de-al doilea vizeaza software-ul - utilizatorii au impresia ca lucreaza cu un singur sistem.

Dincolo de aceasta definitie, problematica sistemelor distribuite poate fi clarificata prin prezentarea caracteristicilor lor esentiale. Pe scurt, acestea sunt:

diferentele dintre variatele tipuri de calculatoare si modul in care ele comunica sunt ascunse (transparente) pentru utilizator, la fel ca si organizarea interna a sistemului distribuit;

utilizatorii si aplicatiile pot interactiona cu un sistem distribuit intr-o maniera uniforma si consistenta, indiferent de locul si momentul in care are loc interactiunea;

executia concurenta a programelor reprezinta regula intr-un sistem distribuit. Doi utilizatori isi pot realiza sarcinile lor de lucru pe propriile calculatoare prin partajarea unor resurse, precum paginile web sau fisiere, atunci cand este necesar;

sistemele distribuite trebuie sa fie scalabile adica, sa poata fi usor extinse. Aceasta caracteristica este o consecinta directa a autonomiei calculatoarelor din sistem, dar si a faptului ca pentru utilizator organizarea interna este transparenta;

un sistem distribuit trebuie sa asigure independenta fata de eventualele caderi sau disfunctionalitati ale unor calculatoare sau aplicatii din sistem, el trebuind sa fie in continuare disponibil utilizatorilor. Este responsabilitatea proiectantilor de a prevedea consecintele eventualelor disfunctionalitati.

Conceptul de sistem distribuit este aplicat unei mari varietati de configuratii si aplicatii. Totusi, pornind de la cele doua componente principale ale unui software - prelucrarile si datele, pot fi identificate doua tipuri de baza de sisteme distribuite: sisteme cu prelucrari distribuite si sisteme cu date distribuite. Exista mai multe variante de configurare a unui mediu cu prelucrari distribuite: aplicatiile pot fi stocate intr-o singura locatie si accesate de catre oricare procesor conectat in sistem; o aplicatie poate fi replicata pe mai multe locatii din retea; diferite aplicatii pot fi rezidente pe diferite locatii din retea, insa ele sunt accesibile tuturor utilizatorilor din retea. Distribuirea datelor presupune proiectarea unei baze de date distribuite in care datele sunt fragmentate si dispersate pe diferite locatii din retea sau ele sunt replicate pe mai multe noduri din retea in vederea usurarii accesului la date. O alta configuratie de sistem distribuit poate rezulta prin combinarea celor doua tipuri de baza, adica distribuirea atat a datelor cat si a prelucrarilor.

Motivatia principala pentru utilizarea sistemelor distribuite o reprezinta dorinta utilizatorilor de a partaja resursele. Notiunea de resursa este una abstracta, folosita pentru a descrie multimea lucrurilor care pot fi partajate intr-o retea de calculatoare. Ea face referire la componentele hardware, precum discurile si imprimantele, dar si la cele software, precum fisierele, bazele de date, obiectele de toate tipurile. Partajarea resurselor nu este singurul avantaj al sistemelor distribuite, alte avantaje fata de sistemele centralizate fiind enumerate in tabelul 1.

Tabelul 1. Principalele avantaje si dezavantaje ale sistemelor distribuite

Avantaje

Dezavantaje

Cresterea disponibilitatii si sigurantei resurselor

Complexitatea sistemelor distribuite

Reducerea costurilor de comunicatie

Sporirea dificultatilor in controlul resurselor informationale

Flexibilitatea dezvoltarii sistemelor - crestere incrementala

Probleme legate de asigurarea consistentei datelor

Alinierea cu structura organizatorica a firmei

Sporirea dificultatilor in testarea si detectarea erorilor

Obtinerea unor timpi de raspuns mai buni

Independenta fata de tehnologiile unui singur furnizor

Flexibilitatea dezvoltarii sistemelor distribuite data de faptul ca o firma aflata in plina dezvoltare (extindere) are posibilitatea de a adauga incremental noi resurse (hard si soft) in sistem, respectiv achizitionarea, instalarea si conectarea lor pe masura ce ele sunt necesare. Flexibilitatea sistemelor centralizate este limitata de inabilitatea lor de a asigura cresterea incrementala. Dezvoltarea sau extinderea activitatii firmei determina supraincarcarea sistemului informational existent si, implicit, necesitatea inlocuirii acestuia cu altul mai performant (in cazul sistemelor distribuite nu se pune problema inlocuirii acestuia ci a extinderii lui, conservandu-se astfel investitiile anterioare). Chiar daca s-ar pune problema planificarii extinderii viitoare a firmei in vederea dezvoltarii unui sistem informatic corespunzator, solutia unui sistem centralizat tot nu ar fi satisfacatoare deoarece ea ar fi prea scumpa, atat timp cat o buna parte din capacitatea de stocare si prelucrare a sistemului nu va fi utilizata decat ulterior, pe masura dezvoltarii firmei, si numai daca previziunile se adeveresc.

Cresterea disponibilitatii resurselor reprezinta un alt avantaj major al sistemelor distribuite. Aparitia unei disfunctionalitati intr-un sistem centralizat (caderea serverului sau a liniei de comunicatie) determina blocarea intregului sistem informational pana la remedierea problemei ivite. In schimb, sistemele distribuite sunt proiectate sa functioneze si in conditiile aparitiei unor disfunctionalitati, care va afecta numai o parte a sistemului. Celelalte resurse raman disponibile, ele putand chiar prelua sarcinile partii de sistem afectate, situatie in care utilizatorul nu va fi constient de disfunctionalitatea aparuta.

Sistemele distribuite permit reducerea costurilor de comunicatie si depasirea limitelor mediilor de comunicatie. Intr-un sistem distribuit, majoritatea prelucrarilor pot fi realizate local, iar datele de interes local pot fi stocate si gestionate local, ceea ce determina reducerea drastica a traficului in retea. Cea mai mare problema cu care se poate confrunta o baza de date centralizata, atunci cand ea este accesata de la distanta, este legata de eventualitatea blocajelor retelei de comunicatie; nici supraincarcarea serverului de numeroasele accese de la distanta nu trebuie neglijate. Sistemele distribuite ofera timpi de raspuns mai buni la cererile utilizatorilor. Sistemele centralizate pacatuiesc adesea prin oferirea unor timpi de raspuns nesatisfacatori utilizatorilor, datorita volumului mare de date ce trebuie transmise prin retea.

In afara avantajelor prezentate, implementarea sistemelor distribuite are asociate si unele dezavantaje ce trebuie luate in considerare la dezvoltarea lor. Poate cea mai importanta piedica in extinderea utilizarii sistemelor distribuite o reprezinta dificultatea dezvoltarii lor generata de enorma complexitate a acestor sisteme. Principalele surse ale complexitatii sunt: distribuirea datelor si/sau replicarea lor, distribuirea prelucrarilor, asigurarea diferitelor forme de transparenta, asigurarea consistentei datelor. Un sistem cu baze de date distribuite care trebuie sa ascunda natura distribuita a datelor fata de utilizatori este fara indoiala mai complex decat un sistem cu baze de date centralizate. Bazele de date replicate adauga cel putin un nivel suplimentar de complexitate. Daca sistemul nu este bine proiectat, atunci el va furniza un nivel de performanta, disponibilitate si siguranta inacceptabile.

1.4.3 Modelul client/server

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

Ideea subiacenta conceptului client/server este serviciul. O aplicatie informatica distribuita dezvoltata dupa modelul client/server este descompusa in doua doua grupuri de procese: consumatorii de servicii, numiti client si furnizorii de servicii, numiti server, care comunica intre ele prin schimbul de mesaje de tip solicitare-raspuns (vezi figura 3.). De exemplu, un server poate fi conceput pentru a oferi un serviciu de baze de date clientilor sai. Serverul este functional independent de client, iar relatia intre client si server este de colaborare (cooperare). Ea se diferentiaza radical de aplicatiile centralizate, in care relatia este de tip "stapan-sclav" (master-slave).

In modelul client/server, clientul solicita serverului executia unui serviciu prin transmiterea unui mesaj. La randul sau, serverul va transmite clientului rezultatul solicitarii sale. Diferitele functii ale aplicatiei informatice sunt regrupate sub forma programelor client si server, fiecare cu roluri bine definite. Pentru utilizator totul este transparent, el comunicand cu programul client; schimbul de mesaje realizat intre programele client si server ii sunt transparente, el percepand aplicatia ca un ansmablu executat doar pe postul sau de lucru.


Figura 3. Modelul general al interactiunii dintre client si server

Problema principala in modelul client/server este legata de distinctia clara dintre client si server. Proiectarea sistemelor client/server presupune conceperea arhitecturii aplicatiilor pe straturi bine definite. O astfel de abordare permite proiectarea independenta a straturilor, singura grija constand in definirea clara si proiectarea atenta a interfetelor, urmarindu-se ca:

fiecare strat sa aiba un domeniu bine definit, in sensul definirii foarte clare a sarcinilor si responsabilitatilor fiecarui strat;

fiecare strat trebuie sa indeplineasca o sarcina specifica; daca, de exemplu, unul din straturi este responsabil cu interactiunea cu utilizatorul, atunci numai acel strat va comunica cu utilizatorul, celelalte straturi realizand acest lucru prin intermediul acestui strat daca au nevoie de informatii de la utilizator.

stabilirea unor protocoale bine definite pentru interactiunea dintre straturi, interactiune care sa se realizeze numai prin intermediul acestor protocoale.

O prima incercare in acest sens a constituit-o impartirea aplicatiilor pe doua straturi, rezultand arhitectura cu doua straturi. Aceasta arhitectura presupune descompunerea aplicatiei in urmatoarele doua straturi: stratul corespunzator aplicatiei, in care se include interfata grafica cu utilizatorul si implementarea regulilor afacerii (business rules) si stratul corespunzator bazei de date, care este responsabil de mentinerea integritatii bazei de date. In acest strat poate fi implementata intreaga logica a tranzactiei sau o parte a ei.

Distinctia dintre cele doua straturi nu este intotdeauna bine definita deoarece logica tranzactiei este adesea implementata pe serverul de baze de date, sub forma procedurilor stocate, iar regulile afacerii, parte a logicii aplicatiei, sunt de asemenea implementate pe server, sub forma trigger-elor. In plus, sunt intampinate greutati considerabile in dezvoltarea sistemului informational pe baza cresterii accentuate a numarului de aplicatii, a numarului si tipului serverelor de baze de date. Aceasta deficienta poate fi rezolvata prin introducerea unui nivel suplimentar, care sa trateze regulile afacerii, rezultand o arhitectura cu trei straturi (vezi figura 4). Aceasta arhitectura presupune impartirea aplicatiei in urmatoarele straturi:

gestiunea interfatei utilizator (gestiunea prezentarii) - priveste dialogul intre utilizatori si aplicatie, incluzand aici logica de prezentare a informatiei (ansamblul prelucrarilor efectuate asupra datelor necesare afisarii lor). El accepta intrarile de la utilizator si furnizeaza rezultatele prelucrarilor in formatul solicitat;

logica aplicatiei - cuprinde ansamblul operatiilor de prelucrare specifice aplicatiei si inlantuirea lor logica;

gestiunea datelor - rezolva cererile de date, asigura integritatea datelor, emiterea anumitor mesaje de alertare, precum si gestiunea fizica a datelor (adaugari, modificari, stergeri).


Figura 4. Arhitectura client/server cu trei straturi

In esenta, arhitectura pe trei straturi difera de cea pe doua straturi prin separarea logicii afacerii intr-un strat distinct, localizat de regula pe un server de aplicatii care comunica strans cu serverul de baze de date. Introducerea unui strat intermediar permite definirea si implementarea regulilor afacerii independent de logica prezentarii interfetei GUI si a regulilor de proiectare a bazei de date. Acest avantaj devine evident in conditiile in care regulile afacerii sunt supuse mai des modificarilor, facilitand astfel reimplementarea lor.

In prezent se manifesta tendinta dezvoltarii aplicatiilor cu n straturi, in care pot exista mai mult de trei straturi, atat din punct de vedere logic, cat si fizic. De exemplu, in figura 4 stratul bazei de date sau stratul aferent logicii aplicatiei pot fi impartite la randul lor in mai multe straturi. Acest lucru este posibil datorita aparitiei unei noi paradigme in dezvoltarea sistemelor informationale, referita prin sintagma orientata pe componente.

Implementarea unei aplicatii multistrat necesita existenta unor programe speciale care sa faciliteze comunicarea dintre straturi. Programele care faciliteaza implementarea facilitatilor de comunicare intre straturi sunt referite prin middleware. O definitie mai formala, considera middleware-ul ca un nivel al software-ului al carui scop consta in mascarea eterogenitatii platformei hardware si software, precum si furnizarea unui model de programare comod dezvoltatorilor de aplicatii. El este format din procese sau obiecte ce se regasesc pe un grup de calculatoare, si care interactioneaza intre ele pentru a asigura implementarea comunicarii si partajarii resurselor in aplicatiile distribuite. Altfel, aplicatiile distribuite ar trebui sa apeleze direct la interfata de programare furnizata de sistemul de operare al retelei.

Pentru a simplifica dezvoltarea si integrarea aplicatiilor distribuite, majoritatea solutiilor middleware se bazeaza pe un anumit model, care descrie aspectele privind distribuirea si comunicarea. Cele mai utilizate astfel de modele sunt: apelarea procedurilor de la distanta (Remote Procedure Call), distribuirea obiectelor si distribuirea documentelor. Cele mai cunoscute solutii middleware sunt Sun RPC, CORBA (Common Object Request Broker Architecture), Java RMI (Java Remote Object Invocation) si DCOM (Distributed Component Object Model).

1.5 Proiectarea de ansamblu a sistemelor informatice

Activitati in proiectarea de ansamblu:

definirea obiectivelor;

structura sistemelor informatice;

definirea iesirilor;

definirea intrarilor;

definirea colectiilor de date;

alegerea modelului matematic si a programelor aferente;

alegerea solutiilor tehnice de realizare;

listarea necesarului de resurse;

estimarea eficientei economice;

planificarea realizarii sistemului;

elaborarea documentatiei.

Caracteristicile sistemului informatic:

orice sistem trebuie sa contina ca element central o baza de date, in care sa fie stocate date intercorelate intre ele provenind de la surse interne si externe;

informatiile furnizate de sistem trebuie obigatoriu sa fie autentice, exacte, iar suportul de prezentare sa varieze de la un nivel de conducere la altul;

sistemul trebuie sa inglobeze o varietate de modele matematice, tehnico-economice (de exemplu modele de optimizare, modele de simulare, modele de eficienta);

sistemul trebuie conceput ca un sistem om-masina oferind astfel posibilitatea unei interactiuni imediate catre utilizator si sistem.

sistemul trebuie sa prezinte un grad cat mai ridicat de integrare sub urmatoarele doua aspecte: integrare interna si integrare externa.

Cerinte ale sistemelor informatice

Pentru realizarea unor sisteme informatice care sa indeplineasca obligatoriu caracteristicile sistemelor este necesar sa se tina cont de urmatoarele cerinte:

fundamentarea conceperii sistemului sa fie facuta pe criterii de eficienta economica;

participarea nemijlocita a conducerii unitatii la conceperea sistemului informatic;

asigurarea unui nivel tehnic inalt al solutiilor adaptate;

adoptarea de solutii in concordanta cu resursele disponibile si cu restrictii impuse.

Domenii si activitati in cadrul sistemelor informatice:

Planificarea tehnico-economica - activitati:

elaborarea planului anual;

defalcarea planului pe trimestre, luni si unitati componente;

urmarirea modului de realizare al planului;

Pregatirea tehnica a productiei - activitati:

elaborarea planului;

elaborarea si actualizarea fiselor tehnologice;

calculul loturilor optime;

calculul consumurilor specifice de materii prime, materiale;

urmarirea si analiza planului privind introducerea progresului tehnic;

Programarea, lansarea si urmarirea productiei de baza - activitati:

calculul necesarului de fabricat pe perioada de plan;

elaborarea programelor de fabricatie;

programarea operativa a productiei;

lansarea manoperei;

lansarea materialelor.

Aprovizionarea tehnico-materiala si desfacerea productiei: - activitati:

aprovizionarea tehnico-materiala;

desfacerea productiei;

controlul stocurilor.

Forta de munca - activitati:

elaborarea planului fortei de munca si al fondurilor de salarizare si scolarizare;

evidenta personalului;

analiza si raportari statistice.

Financiar-contabil - activitati:

elaborarea bugetului pe venituri si cheltuieli;

contabilitatea mijloacelor fixe;

contabilitatea valorilor materiale;

contabilitatea salariilor;

contabilitatea cheltuielilor de productie;

contabilitatea generala.

Structura sistemelor de informatice este o etapa necesara, datorita:

numarului mare de elemente si legaturi ce compun de regula un sistem informatic;

implementarea simultana a tuturor componentelor sistemelor informatice intr-o unitate economica apare ca o activitate deosebit de dificila in cazul in care nu are loc structurarea sistemului;

prioritatea unor obiective;

cantitatea limitata de resurse umane si materiale fac imposibila proiectarea in bloc a sistemului informatic.

Cerinte ale structurarii sistemelor informatice in etape de proiectare de ansamblu:

pe fiecare nivel al structurarii trebuie asigurata unicitatea criteriului de descompunere a sistemului;

structurarea realizata trebuie sa permita constituirea ulterioara a intregului sistem prin agregarea modulelor separate;

structura creata nu trebuie sa contina intretaieturi.

Definirea iesirilor sistemelor informatizate

Prin iesirile unui subsistem informatic se va intelege totalitatea informatiilor furnizate de acesta, beneficiarilor interni si externi, respectiv rapoarte, note de informare.

Definirea intrarilor sistemelor informatice

Prin intrarile unui sistem informatic se intelege totalitatea datelor primare necesare obtinerii informatiilor de iesire ale sistemului. Datele primare se pot clasifica in date interne si in date externe. La nivelul fiecarui subsistem informatic este necesar ca intrarile sistemului sa fie conditionate de iesirile acestuia.

Planul logic - orice iesire este un rezultat al aplicarii unuia sau mai multor operatori asupra unui ansamblu de date de intrare.

Planul tehnologic - caracteristicile iesirilor sistemului conditioneaza caracteristicile cerute intrarilor.

Stabilirea colectiilor de date - principalele criterii pe baza carora se pot grupa datele sunt legate de sfera de cunoastere, de domeniul de activitate, de stabilitatea continutului datelor si de rolul datelor in procesul prelucrarii.

Dupa sfera de cunoastere:

date primare;

indicatori tehnico-economici cu caracter operational;

indicatori tehnico-economici cu centralizare media;

indicatori sintetici.

Dupa domeniul de activitate

colectia furnizori;

colectia beneficiari;

colectia contracte;

colectia produse;

colectia repere;

colectia lucrari;

colectia personal;

colectia plati;

colectia incasari.

Dupa stabilirea datelor

colectii de date conventional-constante;

colectii de date variabile.

Clasificarea colectiilor de date conventional-constante: colectiile de date cu caracter normativdetin 50-60% din volumul totalde informatii care circula in procesul informational al unei unitati econimice.

Principalele colectii de date cu caracter normativ:

normativele de fabricatie;

normativele tehnologice;

normativele de munca;

normativele materiale.

Dupa prelucrarea datelor

colectii de date de baza;

colectii de date pentru tranzactii;

colectii de date intermediare sau de lucru;

colectii de date statistice;

colectii de date istorice.

Alegerea modelelor economico-matematice

Modelele matematice folosite in perfectionarea activitatii economice sunt urmatoarele:

modele de programare liniara - problemele economice ce se pot rezolva cu acest tip de modele privesc optimizarea planului de productie, repartizarea sarcinilor de productie si folosirea optima a resurselor;

modele de programare - problemele economice ce se pot rezolva cu acest tip de modele sunt determinarea minimului global/local pentru o functie reala.

metodele de programare dinamica - problemele economice ce se pot rezolva cu aceste modele sunt realizarea analizei secventiale a proceselor de luare a deciziilor, rezolvarea problemelor de inlocuire a utilajelor.

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

modele de gestiune a stocurilor - problemele economice ce se pot rezolva cu aceste modele privesc optimizarea activitatilor de aprovizionare, de productie si de desfacere;

modele de simulare - problemele economice ce se pot rezolva cu aceste modele sunt simularea evolutiei fenomenelor si proceselor economice in functie de caracterul lor;

modele de teoria deciziilor - problemele economice rezolvate in acest mod sunt legate de fundamentarea deciziilor multidimensionare, fundamentarea deciziilor in conditii de risc si incertitudine.

modele de asteptare - problemele economice ce se pot rezolva cu aceste modele privesc minimizarea timpului de asteptare concomitent cu minimizarea cheltuielilor ocazionate de asteptare.

Alegerea tehnologiilor de prelucrare

Tehnologiile pot fi clasificate in functie de:

metodele, tehnicile si echipamentele utilizate;

modul in care se structureaza si se organizeaza datele pentru prelucrare;

procedeele de introducere a datelor in calculator;

metodele si tehnicile de prelucrare si de redare a rezultatelor obtinute.

Din punct de vedere al performantelor tehnico-functionale respectiv, dupa timpul de raspuns al sistemelor informatice, tehnologiile se pot diferentia in:

tehnologii cu raspuns intarziat;

tehnologii in timp real.

Dupa modul de structurare si organizare a datelor, tehnologiile de preluare automata a datelor se clasifica in:

tehnologii care utilizeaza fisierele clasice;

tehnologii care utilizeaza fisierele clasice si/sau fisiere integrate;

tehnologii care utilizeaza baze de date.

Dupa locul amplasarii calculatorului electronic in raport cu punctele de generare a datelor si cu functiile de valorificare a informatiilor obtinute din prelucrare:

tehnologii pentru sisteme informatice centralizate;

tehnologii pentru sisteme informatice distribuite.

Estimarea necesarului de resurse

Elementele determinante pentru configuratia fiecarui echipament de prelucrare sunt:

Memoria interna - estimarea necesarului de memorie interna se face pe baza relatiei 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 interna pentru programe aplicative este:

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

Estimarea necesarului de echipamente periferice ale sistemului central de prelucrare se realizeaza in functie de echipam de intrare-iesire si de unitatile de memorie externa.

Numarul echipamentelor periferice necesare se stabileste in raport de factorii:

fluxul de intrare-iesire;

volumul de date ce se cere a fi stocat in memoria externa;

modul de exploatare;

numarul de programe ce se executa in paralel.

Estimarea necesarului de personal de specialitate - personalul de specialitate necesar realizarii si exploatarii sistemului informatic se determina in raport cu volumul de munca cerut de complexitatea proiectului si volumul de munca cerut de intretinerea si exploatarea sistemului informatic.

Estimarea necesarului de produse - program se realizeaza:

din ansamblul de programe care insotesc calculatorul electronic;

prin preluarea de elemente tipizate;

prin preluarea altor programe de la alte centre de informatica;

prin elaborarea softului cu eforturi proprii.

Planificarea realizarii sistemelor informatice

Aceasta etapa are la baza principiul proiectarii si implementarii esalonate.

Esalonarea reprezinta ordinea in care vor fi abordate componentele sistemului. Esalonarea se reprezinta sub forma unui grafic detaliat in care se specifica fiecare modul component, etapele de realizare si durata fiecareia.

Criterii:

a.           prioritatea obiectivelor componente;

b.          asigurarea legaturilor intre componente.

Aceste relatii sunt de doua tipuri, relatii de precedenta si relatii de succesiune;

c.           disponibilitatea resurselor.

1.6 Proiectarea de detaliu a sistemelor informatice

Activitati in proiectarea de detaliu:

detalierea functiunilor si a structurii functionale a subsistemelor;

proiectarea detaliata a "iesirilor" fiecarui subsistem;

proiectarea codurilor;

proiectarea detaliata a "intrarilor" fiecarui subsistem;

proiectarea fisierelor si a bazei de date.

evaluarea necesarului de resurse;

planificarea elaborarii programelor.

Proiectarea situatiilor cu rezultate finale - iesirile sistemelor.

Aceasta etapa poarta denumirea de proiectare logica de detaliu si se finalizeaza prin intocmirea pentru fiecare situatie finala a specificatiilor de iesire care servesc la:

transmiterea rezultatelor prelucrarii pe calculatorul utilizatorului;

transmiterea proiectului situatiilor programatorului, fara ambiguitati.

Alegerea suportului informatiilor de iesire - imprimanta, display, disc fix magnetic, floppy disc, banda magnetica.

Pentru definitivarea formei si a formatului de prezentare a situatiilor finale trebuiesc respectate cerintele conducerii privind macheta situatiei finale; restrictiile tehnice; elementele de eficienta; lizibilitatea si spatierea; utilizarea formularelor preplatite; utilizarea monitoarelor sau a terminalelor video; utilizarea generatoarelor de rapoarte;

Definitivarea procedurilor de utilizare si interpretare a iesirilor reprezinta cea de-a treia directie de lucru din cadrul proiectarii fizice de detaliu si include procedurile de utilizare a informatiilor de la iesire dar si diverse interpretoare a situatiilor finale.

Proiectarea codurilor

Codificarea externa a datelor - prin operatia de codificare se intelege generarea unor grupuri de simboluri si atribuirea lor elementelor unei inregistrari.

Prin notiunea de cod se intelege o combinatie de simboluri asociate unei caracteristici date din cadrul unei colectii de date. Prin capacitatea unui sistem de coduri se intelege totalitatea combinatiilor posibil de realizat din simboluri ce contin un cod. Prin lungimea codului se intelege numarul de simboluri elementare dintr-un cod.

Formatul codului reprezinta forma finala a codului cu precizarea clara a urmatoarelor elemente identificatoare:

numarul de pozitii utilizate;

natura pozitiilor utilizate;

cifra de control.

Aspecte in proiectarea sistemului de coduri:

Influenta tipului si structurii codului asupra performantelor sistemului informatic;

Implicatiile utilizarii codurilor in operatiile de culegere a datelor si interpretarea rezultatelor finale de catre utilizatorii neinformaticieni.

Cerinte in proiectarea codurilor:

Cerinte

Semnificatie

Unicitate

Fiecarui element din multimea codificata i se atribuie un cod unic

Stabilitate

Caracteristica necodificata trebuie sa fie neschimbata pe o perioada mai mare

Elasticitate

Sa permita inserari si extensii ale nomenclatorului de coduri in vederea introducerii de noi coduri

Conciziune

Utilizarea unui numar cat mai mic de simboluri

Claritate

Sa permita realizarea cu usurinta a operatiilor de codificare

Semnificatie

Sugerarea caracteristicilor codificate pentru a facilita utilizarea codurilor

Criterii de grupare a codurilor:

dupa natura caracterelor: coduri numerice, alfabetice, alfanumerice;

dupa lungimea codului: coduri semnificative si nesemnificative;

dupa structura codului: coduri elementare.

Activitati parcurse in realizarea unui sistem de coduri:

analiza elementelor ce urmeaza a fi codificate;

precizarea si uniformizarea terminologiei;

alegerea tipurilor de coduri;

estimarea capacitatii, lungimii si formatului codului;

intretinerea nomenclatoarelor de coduri.

Proiectarea intrarilor sistemelor informatice

Proiectarea detaliata a intrarilor cuprinde ca etape proiectarea logica de detaliu si proiectarea fizica de detaliu.

Specificatiile de intrare trebuie sa cuprinda:

macheta documentului;

instructiunile de culegere, utilizare si transpunere pe suport tehnic;

regulile de control si validare.

In proiectarea fizica de detaliu este necesara realizarea a patru grupe de activitati:

Alegerea suportului tehnic pentru culegerea datelor;

Proiectarea machetelor documentelor de intrare - macheta documentului primar trebuie sa contina definite urmatoarele elemente de structura: antetul, denumirea documentului; coduri de identificare, data, rubrici.

Stabilirea instructiunilor de culegere si regulilor de control si validarea datelor trebuie sa cuprinda reguli de validare manuala a volumului a secventei documentelor si a cifrelor de control pe pachetele de documente primare si reguli pentru controlul sintactic a datelor din documentele primare. Aceste reguli de control sunt o conditie necesara pentru scrierea programelor de verificare logica a datelor de intrare.

Proiectarea videoformatului de intrare se face in functie de modul concret de desfasurare a dialogului operator-calculator si se poate desfasura sub doua forme: varianta intrebare-raspuns, cu defilarea liniilor ecranului si varianta afisare pe ecran a machetei de introducere a datelor de intrare.



(O'Brien, J., Les systemes d'information de gestion, DeBoeck Universit ,Montr al, 1995, p. 72)



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2672
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved