Organizatia - sistem deschis definit ca suport in procesul de dezvoltare software
1 Organizatia in viziune sistemica
Etapa actuala este etapa in care economia mondiala a trecut de la societatea predominant industriala la societatea informationala, guvernata de un set nou de reguli, in care tehnologiile digitale permite accesarea, procesarea, stocarea si transmiterea informatiilor. Complexitatea activitatilor desfasurate la nivelul organizatiilor reclama o viziune sistemica, in care fiecare componenta este parte a unui intreg.
In cadrul teoriei generale a sistemelor, disciplina stiintifica care elaboreaza principiile metodologice de investigare a sistemelor, care asigura o baza formal metodologica unitara de cercetare, un loc important il ocupa sistemele deschise, sisteme ce pot realiza o stare de echilibru dinamic cu mediul exterior. Organizatiile in cadrul carora se desfasoara activitati economice sunt considerate sisteme deschise (fig. 1).
Fig. 1
. sistemul informational se defineste ca un ansamblu organizat si integrat de operatii de culegere, transmitere, prelucrare, sistematizare, analiza si pastrare, difuzare si valorificare a informatiilor.
. sistemul informatic este un ansamblu structurat si corelat de proceduri si echipamente electronice de calcul care permit culegerea, transmiterea si prelucrarea datelor, obtinerea de informatii.
sistemul informatic = cuprinde ansamblul actiunilor formale furnizoare de informatie, desfasurate sau planificate in interiorul organizatiei.
Evidentierea structurii generale a unui sistem informatic se obtine pornind de la functia acestuia de a prelucra datele in vederea obtinerii informatiilor necesare unei desfasurari normale a activitatilor intr-o organizatie. Principalele componente sunt: intrari, prelucrari, iesiri.
Intrarile pot fi clasificate in tranzactii externe si tranzactii interne.
Tranzactiile externe reprezinta multimea datelor de intrare provenite din exteriorul sistemului. Sunt date consemnate pe documente in cadrul sistemului operational (numar factura, tip document de plata, nume client), sau sunt date provenite din mediul exterior (cursul de schimb valutar, cotele de TVA, cotele de impozit).
Tranzactiile interne sunt reprezentate de date intermediare de lucru, obtinute in urma unor prelucrari desfasurate in cadrul sistemului informaticl (situatia stocurilor si soldurilor la o anumita perioada, valoarea totala a produselor livrate, valoarea totala a incasarilor).
Prelucrarile reprezinta un ansamblu omogen de proceduri automate cu functie de:
• creare si actualizare a bazei de date;
• consultare a bazei de date;
• reorganizare a bazei de date;
• salvare/restaurare a bazei de date.
Iesirile sistemului informatic sunt reprezentate de rezultatele prelucrarilor desfasurate. Iesirile pot fi obtinute in urma unor operatii de transfer a datelor, sau pot fi obtinute in urma operatiilor de calcul pe baza unor algoritmi prestabiliti.
In functie de continutul si forma lor de reprezentare, iesirile pot fi clasificate astfel:
• indicatori sintetici
• rapoarte
• grafice
• foi de calcul electronice
• iesiri destinate altor sisteme
Dintre componente, setul de programe utilizat pentru efectuarea prelucrarilor ocupa un loc important, impunand contextul de utilizare, organizarea si functionarea celorlalte componente. Cunoscut sub denumirea de produs program, produs informatic sau produs software, pentru multi autori substituie notiunea de sistem informatic. Din punct de vedere structural, cuprinde doua elemente fundamentale: date si prelucrari (Wirth N-Prentice Hall, EngleWood Cliffs, 1976):
Structuri de date + Algoritmi de prelucrare = Produs software
Un produs software poate reprezenta un program ce rezolva anumite probleme, un sistem de operare, un compilator, un program utilitar, un mediu de operare, un mediu de programare, un mediu de rezolvare, o platforma, o procedura, un program editor, un generator de programe, un program ativirus, un document HTML/PHP/ASP, un program de e-mail, un browser, etc.
In cadrul unei organizatii, necesitatea unei viziuni unitare asupra activitatii desfasuratede impune inglobarea produsele software intr-un sistem informatic. Metodele de dezvoltare software sunt astfel incluse in metodele de dezvoltare ale sistemelor informatice.
3 Metode si modele utilizate in dezvoltarea sistemelor informatice
Dezvoltarea unui sistem informatic se face conform unei metode, definita printr-un proces si un sistem de notatie.
▪ procesul specifica activitatile efectuate pentru conceperea modelelor, ordinea in care se executa si modul lor de corelare.
▪ sistemul de notatie precizeaza conceptele si regulile de reprezentare a modelelor.
Intr-o prima clasificare, metodele pot fi grupate in metode hard si metode soft.
Metodele hard pun accentul pe abordarea stiintifica si considera ca realitatea, independenta de oameni, poate fi modelata, inteleasa si transformata in functie de dorintele acestora. Considera ca toate problemele pot fi formalizate pe baze matematico-logice si acorda proiritate datelor, functiilor si proceselor.
Metodele soft incearca sa rezolve probleme legate de aspectele sociale ale dezvoltarii sistemelor, de cerintele utilizatorilor. Din punctul lor de vedere, analistul se confrunta cu situatii problema si nu cu probleme clar definite si gata de rezolvare. Masurile luate intr-o situatie sunt rezultatul schimbarii organizationale, analistul de sistem fiind vazut nu ca un expert in domeniu ci ca un agent al schimbarii, capabil sa-i stimuleze pe ceilalti in obtinerea unor noi perceptii asupra contextului problemei.
In functie de obiectivele propuse, la definirea sau reproiectarea unui sistem informatic, exista:
. metode orientate-functii ( metode ale descompunerii functionale );
. metode orientate-proces (metode ale fluxurilor de date);
. metode orientate-date (metode orientate spre informatii);
. metode orientate-obiect (iau in calcul in principal evenimentele la care trebuie sa raspunda sistemul).
In functie de modalitatea in care este perceput sistemul, exista:
. metode de analiza si descompunere ierarhica (functionala);
. metode de analiza si reprezentare orientata-sistemic ;
. metode de analiza si proiectare orientata-obiect.
Dintre acestea cele mai des utilizate in practica sunt metodele sistemice si metodele orientate obiect:
▪ medodele sistemice reprezinta cea de-a doua generatie a metodelor de analiza si proiectare. Bazandu-se pe teoria generala a sistemelor, in cadrul acestor metode, datele si prelucrarile asupra datelor sunt modelate si studiate independent. Impreuna formeaza un sistem. Axandu-se pe conceptul de baza de date, care ofera coerenta si elimina redundantele, metodele sistemice acorda prioritate datelor fata de prelucrari. Dezavantajele acestor metode rezulta din existenta deficientelor in modelarea prelucrarilor, in prezenta unor discordante intre modelele datelor si cele ale prelucrarilor.
Metodele sistemice respecta cele trei nivele de abstractizare introduse prin metodologia ANSI/SPARC: conceptual, logic si fizic. Exista astfel urmatoarele modele:
pentru date:
• model conceptual al datelor
• model logic al datelor
• descriere fizica a datelor
pentru prelucrari:
• model conceptual al prelucrarilor
• descriere logica a prelucrarilor
• descriere fizica a prelucrarilor
Principalele metode sistemice sunt: MERISE, AXIAL, Information Engineering.
▪ metodele orientate obiect reprezinta cea de-a treia generatie, utilizate astazi in cazul sistemelor cu comportament dinamic, dependent de timp. Se definesc entitati de sine statatoare, in care sunt incapsulate datele (proprietati) si prelucrarile prin care este implementat comportamentul lor (operatii).
Avantajul acestor metode rezulta din faptul ca ofera posibilitatea reutilizarii componentelor. Existand o integrare mult mai buna a datelor cu prelucrarile, aduc o rezolvare coerenta a aspectelor dinamice. Dezavantajul este insa ca nu intotdeauna modelarea corespunde realitatii reprezentate.
Cele mai utilizate metode sunt: Object Modeling Technologie (OMT), Object Oriented Design (OOD). Succesul utilizarii metodelor orientate obiect a determinat definirea unui limbaj standard de modelare, Unified Modeling Language.
Indiferent de particularitati, o metoda de dezvoltare a sistemelor informatice poate fi definita ca un ansamblu de procedee folosite in vederea realizarii unui sistem de programe ce evidentiaza structura si functionalitatea sistemului real. Rezultatul este concretizat intr-un ansamblu de documente de conceptie, de programe si de tehnici de testare, care:
propun un demers, distingand etapele de dezvoltare in ciclu de viata al sistemului;
. apeleaza la modularizare, reutilizare, abstractizare;
. propun formalisme (limbaje) si tipuri de documente (modele) care faciliteaza comunicarea, organizarea si verificarea.
Exemple:
RAD – Rapid Aplication Develoment
RUP – Rational Unified Process
2TUP – Two Track Unified Process
XP - eXtreme Programming
Metodele de dezvoltare dezvoltare a sistemelor informatice acopera intregul ciclu de viata al sistemului: specificarea cerintelor, analiza si proiectarea, implementarea, testarea si documentatia. La sfarsitul fiecarei iteratii se reevalueaza prioritatile proiectului.
De exemplu, in cazul Rational Unified Process, ciclul de dezvoltare este prezentat in figura urmatoare:
Tema:
Prezentati o metoda de dezvoltare a sistemelor informatice
|