Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate





Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 




Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Proiect de licenta informatica
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
INTRODUCERE d4d20dh
In primul capitol “Elemente privind proiectarea si realizarea Sistemelor Informationale” este prezentat sistemul informational.
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.
Rolul sistemului informational este de a transmite informatia intre diferite elemente. 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.
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.
Pentru realizarea unui sistem informatic eficient, trebuiesc avute in vedere urmatoarele reguli de baza, ce au fost deduse din practica:abordarea globala modulara, Criteriul eficientei economice, orientarea spre utilizatori, asigurarea unicitatii introducerii datelor, antrenarea beneficiarului la realizarea sistemului, posibilitatea de dezvoltare ulterioara, strategia ascendenta si strategia descendenta.
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.
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.
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.
Al doilea capitol, “Proiectarea Bazelor de Date” trateaza aspectele de realizare si proiectare a unei baze de date.
Activitatile fazei de proiectare detaliata privesc componentele principale ale oricarui sistem informatic, respectiv baza de date, interfetele (formulare, rapoarte, meniu) si programele. Desfasurarea acestor activitati nu este secventiala ci, mai curand, paralela si iterativa. Baza de date trebuie sa reflecte specificatiile de proiectare privind formularele si rapoartele din sistem, iar proiectarea formularelor si rapoartelor nu poate fi finalizata fara ca schema bazei de date sa fie clar definita. Totusi, baza de date reprezinta „nucleul” oricarui sistem informatic, in jurul sau „gravitand” celelalte componente, motiv pentru care ne vom opri mai intai asupra problematicii proiectarii bazelor de date.
Prin modelarea conceptuala a datelor se urmareste construirea unui model al datelor care sa asigure transpunerea exacta a realitatii din domeniul analizat, fara a lua in considerare cerintele specifice unui model de organizare a datelor (cum este modelul relational), criteriile de calitate privind organizarea datelor, cerintele nefunctionale ale sistemului si criteriile de performanta privind stocarea si accesarea datelor.
Proiectarea logica presupune organizarea datelor in tabele si coloane, conform regulilor modelului relational (acesta fiind modelul cel mai popular de organizare a datelor).
Modelul fizic al datelor, rezultat in urma proiectarii fizice, este invizibil utilizatorilor si programatorilor. El specifica modul de stocare fizica si accesare a datelor, utilizand facilitatile oferite de un anumit SGBD.
Proiectarea structurii bazelor de date -; structura bazei de date reprezinta un model al datelor exprimat in concepte specifice unui anumit sistem de gestiune a bazelor de date (SGBD), lucru ce face ca proiectarea bazei de date sa reprezinte transpunerea modelelor conceptuale in termenii unui model al datelor suportat de un anumit tip de SGBD, model ierarhic, retea, relational, functional.
Al treilea capitol trateaza sistemele de gestiune (sau administrare, sau management) a bazelor de date care sunt niste softuri specializate pe manevrarea cat mai eficienta si cat mai sigura a unor volume mari de date. Daca excludem din discutie sistemele desktop si sistemele inglobate (embedded), ramanem cu o categorie numita generic "servere de baze de date". In vremurile noastre, acestea sunt bazate pe modelul relational (sau pe derivate ale acestuia), inteleg un dialect de SQL, sunt extrem de complexe si foarte scumpe.
SQL este limbajul standard folosit pentru manipularea si regasirea datelor din aceste baze de date relationale. Prin SQL un programator poate sa modifice structura unei baze de date; sa schimbe valorile de configurare pentru securitatea sistemului; sa interogheze o baza de date asupra informatiilor; sa adauge drepturi utilizatorilor asupra bazelor de date sau tabelelor; sa actualizeze continutul bazei de date etc.
Al patrulea capitol, “Retele cu implicatii la proiectarea sistemelor”:
O retea de calculatoare este, in esenta, ceva care permite unui numar de doua sau mai multe calculatoare sa comunice intre ele si/sau cu alte dispozitive. Acest lucru le permite utilizatorilor sa foloseasca retelele si calculatoarele pentru a partaja informatii, pentru a colabora la o lucrare, pentru a tipari si chiar pentru a comunica direct prin mesaje adresate individual.
Tipurile de medii LAN pot fi, de asemenea, intangibile. Ele pot fi semnale luminoase, radio si microunde, transmise prin aer.
Retelele locale pentru transmiterea datelor, denumite pe scurt LAN (Local Area Networks), se extind pe arii limitate, adica la nivelul unui etaj dintr-o cladire, in aceeasi cladire, dar pe mai multe etaje sau in cladiri apropiate. In consecinta, mediul fizic care asigura comunicatiile intr-o retea LAN este scurt ca lungime si in aceste conditii rata de transfer a datelor este mare.
Retelele WAN au, de asemenea, echipamente de transmisie proprii. Astfel de echipamente sunt descrise de obicei prin viteza de tact si structurile lor de cadre, nu ca simple medii de transmisie. Mediul lor fizic este irelevant comparativ cu performantele lor.
Capitolul al cincilea “Internet cu implicatii la proiectarea sistemelor”defineste notiunea de Internet.
Internet-ul reprezinta mai mult decat o retea uriasa de calculatoare. El constituie o retea de retele (comerciale, militare, academice, universitare, educationale etc.), fiind, in plus, un mediu informational imens ce ofera servicii si resurse din cele mai diverse-;baze de date, biblioteci, dar si o nebanuita comunitate de persoane din cele mai diferite domenii ale vietii economico-sociale.
O definitie succinta a Internet-ului poate fi formulata astfel: un numar foarte mare de calculatoare raspandite in toata lumea, legate intre ele pentru stocarea, partajarea si directionarea diverselor tipuri de informatii.
Internet-ul este in acelasi timp o uriasa biblioteca, un instrument de corespondenta rapida, un nou mediu de publicare si un mijloc de difuzare mondial al informaticii. Modul de acces este simplu interactiv si inlatura discriminarea geografica.
Internet-ul nu este proprietatea cuiva, nu exista nici o companie care sa impuna reguli. Desigur, fiecare componenta este proprietatea cuiva, dar reteaua ca intreg nu are un „patron” este un sistem care isi mentine integritatea datorita intereselor mutuale, desi numarul organizatiilor depaseste 50 de mii. Internet-ul este o retea descentralizata, uneori chiar anarhica, dar fara aceasta descentralizare nu s-ar fi ajuns la o crestere si dezvoltare atat de spectaculoasa. Internet-ul este administrat prin consens de diferite organizatii care se intrunesc pentru a gasi cea mai buna metoda globala pentru functionarea retelei.
Al saselea capitol, “WAP” trateaza aspectele protocolului WAP,care este un protocol de comunicatii, adica o modalitate standard prin care un telefon mobil comunica cu un server instalat in reteaua de telefonie mobila. Micro-browser-ele cu care sunt echipate telefoanele mobile sunt clienti software care permit utilizatorilor mobili sa acceseze paginile WML (limbaj specific WAP, similar omniprezentului HTML) ale diferitelor site-uri. Mai simplu spus, Internetul devine accesibil (desigur, in mod text si alb-negru) prin telefonul mobil.
WAP-ul ia ca mod de abordare un server favorit. El incorporeaza in telefonul mobil un microbrowser simplu, care cere doar resurse limitate pe telefonul mobil. Acest fapt face ca WAP-ul sa fie potrivit pentru clientii slabi si mai devreme pentru telefoanele inteligente. WAP pune inteligenta in WAP Gateways in timp ce adauga doar un microbrowser la telefoanele mobile. Serviciile de baza ale microbrowserului si aplicatiile se gasesc temporar pe serveri, nu in mod permanent in telefoane.

CAPITOLUL I
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:
1. 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.
2. Vizualizare/modificare date -; permite vizualizarea si/sau modificarea/corectia anumitor date introduse.
3. Listare -; cu acest modul se vor lista la imprimanta diferite liste cu pontaje, liste de personal, etc
4. 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.
5. 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

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 a




Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)




Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910



 
Copyright© 2005 - 2024 | Trimite referat | Harta site | Adauga in favorite
Colt dreapta