|
IMPLEMENTAREA SISTEMELOR INFORMATICE
Implementarea sistemelor informatice este o etapa a ciclului de viata al dezvoltarii sistemelor informatice care se regaseste in toate metodologiile de realizare a sistemelor informatice.
Implementarea sistemului informatic este acea etapa in care se realizeaza efectiv trecerea de la vechiul sistem de lucru la cel nou. Este o etapa foarte dificila, deoarece necesita conlucrarea stransa dintre realizatorii sistemului informatic si beneficiarii acestuia. Este etapa in care sistemul este supus la cea mai dificila testare, cea a conditiilor reale de functionare. Acum pot aparea cazuri care nu au fost prevazute de proiectanti, la care sistemul nu este protejat.
Implementarea sistemului consta in punerea in practica a specificatiilor logice si are in vedere:
corelarea modulelor din punct de vedere al functiilor logice realizate (invocari, utilizari);
crearea interferentei dintre module conform standardelor de intrare/iesire;
ordinea in care modulele sunt codificate, testate si implementate;
calitatea datelor si destinatia rapoartelor;
cerintele fisierelor si ale bazei de date (numar, continut, tipuri de date, tipuri de acces, tipuri de inregistrari, etc.);
ordonanta activitatilor de implementarea, instalarea si de instruire specifice sistemului considerat.
In cadrul acestei etape se testeaza, se verifica si se asimileaza de catre beneficiar toate solutiile stabilite in etapele anterioare si se valideaza rezultatele obtinute.
Mai intai este necesara o pregatire a mediului in care va fi implementat sistemul informatic, ceea ce poate insemna: instruirea personalului care urmeaza sa exploateze sistemul, asigurarea conditiilor organizatorice necesare functionarii sistemului, asigurarea resurselor hardware necesare, asigurarea fondului informational.
Implementarea incepe in momentul in care toate componentele au fost testate individual si permit ansamblarea fiecarei aplicatii si a intregului sistem informatic. Aceste componente inglobeaza, pe de o parte, procedurile manuale folosite pentru pregatirea si testarea documentelor in vederea prelucrarii, efectuarea corectiilor, interpretarea si utilizarea rezultatelor, iar, pe de alta parte, procedurile prin intermediul carora are loc realizarea efectiva a functionalitatii sistemului informatic.
In timpul implementarii, numeroase activitati vor fi executate simultan. De aceea, ele trebuie sa fie planificate si programate de catre o echipa de implementare formata din utilizatori, manageri si specialisti in proiectarea sistemelor.
Planificarea implementarii, firesc, incepe anterior demararii unei astfel de actiuni. De fapt, problemele implementarii sunt abordate chiar la inceputul proiectului, iar aspectele conceptuale si strategiile implementarii si conversiei sistemelor trebuie luate in discutie in fiecare stadiu al ciclului de viata al sistemelor. Totusi, planurile detaliate de implementare nu pot fi finalizate pana cand conducerea nu aproba proiectul noului sistem.
Un plan de implementare evidentiaza toate activitatile necesare, ajutand pe cei ce-l intocmesc sa fie siguri ca totul a fost prezentat corect. Prin el se vor consemna toate activitatile de efectuat, precum si timpul alocat. Responsabilitatile de executie trebuie sa fie foarte clare. De asemenea, trebuie estimate costurile fiecarei activitati astfel incat sa poata fi elaborat un buget special. In acelasi timp trebuie determinate reperele de executie in timp, pentru a se putea exercita controlul. Mai dificil este de estimat momentul cand se va finaliza implementarea. De fiecare data utilizatorii sunt cei care isi dau acceptul final, iar procesul, teoretic, poate fi considerat ca desfasurandu-se pe o perioada nedefinita.
Planul de implementare este revizuit si modificat la interventiile comitetului de informatizare, ale utilizatorilor, ale conducatorilor sistemului, inainte de a incepe operatiunea de implementare.
Fazele procesului de implementare a sistemelor sunt redate in figura de mai jos :
Fig.1 Fazele procesului de implementare a sistemelor
1 Realizarea si testarea programelor
Realizarea programelor a fost descrisa in capitolul anterior, motiv pentru care nu vom descrie decat modul de testare a programelor
Etapa de testare a sistemului are ca scop eliminarea (pe cit posibil) a erorilor si neajunsurilor sistemului informatic. Ea se aplica atat programelor individuale ale sistemului, cat si sistemului in ansamblul sau (pentru testarea legaturilor intre module). Metodele de testare depind atat de nivelul la care se aplica, cat si de tipul erorilor cautate.
Intr-un sistem informatic se pot distinge urmatoarele tipuri de erori:
Erori de sintaxa, sunt acele tipuri de erori ce sunt detectate in faza de compilare si sunt datorate constructiei gresite a unei instructiuni (lipsa unei paranteze, scrierea gresita a numelui unei functii etc.);
Erori de rulare (de executie) care sunt detectate la rularea programului si sunt datorate folosirii incorecte a comenzilor si functiilor limbajului (chiar scrise corect din punct de vedere sintactic).
Exemple de asemenea erori sunt: folosirea unei variabile neinitializate, incercarea de a scrie intr-o fereastra la coordonate mai mari decat dimensiunea acesteia etc.;
Erori de algoritm - programul nu genereaza erori nici la compilare, nici la rulare, dar rezultatele obtinute nu sunt cele asteptate, corecte;
Erori de utilizare -sistemul functioneaza corect, dar utilizatorul il foloseste gresit.
Erorile cel mai simplu de detectat, sunt cele de compilare, ele fiind sesizate automat la compilarea unui fisier sursa, urmeaza apoi erorile de rulare, care sunt de asemenea detectate si sesizate automat, dar la executia programului in cauza. La detectarea unei astfel de erori compilatorul furnizeaza un mesaj de eroare care ne indica natura si eventual cauza erorii respective, cat si linia din fisierul sursa in care apare. Nu intotdeauna mesajul oferit de compilator este unul explicit. De multe ori ni se indica un mesaj de eroare, oarecum incorect, generand confuzie si ingreunand depana-rea. Acest lucru se datoreaza unor erori care sunt consecinte ale altor erori nedetectate anterior.
Erorile de algoritm sunt mai greu de detectat decat celelalte doua tipuri prezentate anterior, datorita faptului ca sistemul nu mai ofera nici un fel de mesaje de avertizare. Din punctul de vedere al SGBD-ului, programul functioneaza corect, utilizatorul, fiind cel nemultumit de rezultatele obtinute.
Erorile de utilizare sunt acele erori datorate folosirii incorecte a sistemului, chiar daca el este corect conceput. Sistemul informatic trebuie sa fie cat maibine protejat contra unor astfel de erori, adica:
sa nu permita utilizatorului introducerea unor date gresite, lucru posibil prin implementarea unor proceduri de validare cat mai performante, mai compete;
sa puna la dispozitia utilizatorului numai acele optiunicare au sens la un moment dat (celelalte sa fie dezactivate);
sa avertizeze utilizatorul in cazul detectarii intentiei de executie a unor operatii suspecte a fi gresite (cele despre care avem certitudinea ca sunt gresite sa nu fie permise deloc);
sa ofere cat mai multe informatii de ajutor prin intermediul unul subsistem de ajutor permanent;
sa posede o documentatiecat mai clara, explicita, completa, la nivelul celui mai slab pregatit utilizator etc.
Cu toate masurile de precautie luate de proiectant aceste erori nu pot fi eliminate complet datorita acelor situatii de natura subiectiva, care nu pot fi controlate in totalitatede sistem, ci se bazeaza, total sau partial, pe gandirea utilizatorului.
Un alt criteriu de clasificare a erorilor dintr-un sistem informatic este acela al nivelului la care apar aceste erori. Din acest punct de vedere putem avea urmatoarele tipuri de erori:
la nivelul sistemului de operare - aceste erori se datoreaza configurarii gresite a sistemului de operare sau SGBD-ului, sau incompatibilitatii dintre acestea
De exemplu eroarea <prea multe fisiere deschise simultan> tine de configurarea sistemului de operare (DOS-ului) si anume de stabilirea unui numar prea mic de fisiere permis a fi deschise simultan (FILES=<n>in CONFIG. SYS);
in interiorul modulelor, programelor independente-pot fi erori de compilare, de rulare sau de algoritm si pot fi depistate prin rularea independenta a modului respectiv;
la nivelul sistemului de ansamblu - sunt erorile ce tin de legatura dintre module si se obtin atunci cand fiecare modul in parte lucreaza bine, dar cand modulele sunt incorporate in sistemul integrat intre ele apar incompatibilitati;
erorile sau neajunsurile de proiectare - sunt erori ce tin de conceptia de ansamblu a sistemului.
Un exemplu de astfel de erori, este omiterea unui camp la proiectarea unei baze de date, camp in care urmau sa fie memorate date necesare sistemului.Aceste erori sunt mai mult neajunsuri ale sistemului informatic. Ele apar mai ales la incercarea de adaugare a unei noi facilitati sistemului, care solicita date noi, neprevazute la proiectare, sau care nu se potriveste cu metodele si tehnicile folosite in sistem.
Efortul necesar eliminarii unei erori este direct proportional cu nivelul erorii respective. Cu alte cuvinte, cu cat nivelul la care apare eroarea este mai ridicat, cu atat efortul de detectare si de inlaturare a sa este mai mare.
Testarea este efectuata, de regula, de personal specializat, care coordoneaza intreaga activitate.
La testare un rol important revine sefului echipei de programare care trebuie sa integreze fiecare modul testat separat si apoi sa testeze intregul program. Intotdeauna testarea va produce mai multe versiuni de module si de produse program, ultima fiind cea acceptata. La fiecare versiune se face oevaluare si se se opereaza corectia.
Testarea nu se incheie decat atunci cand se efectueaza lansarea prelucrarii de catre intreaga aplicatie informatica cu un set complet de date. Acest set va include toate datele posibile, corecte si eronate pentru a urmari reactia intregului pachet de programe. In aceasta testare globala se urmareste: validarea datelor de intrare si a rezultatelor, dialogul din sistemul informatic, modul de operare la executie. Se urmaresc atat aspectele formale cat si cele de fond.
In literatura de specialitate sunt enumerate sapte categorii de teste ale softului. Acestea se diferentiaza in functie de modul in care acestea angajeaza tehnici dinamice sau statice, precum si in functie de modul de efectuare, automat sau manual.
Testarea statica inseamna verificarea programelor sursa fara ca acestea sa fie executate, iar cea dinamica inseamna si executia programului sursa.
Testarea automata este efectuata sub controlul calculatorului, in timp ce testarea manuala se desfasoara sub controlul omului.
Sintetic, cele sapte categorii de teste sunt redate in tabelul de mai jos:
Tip testare
Manuala
Automata
Statica
Dinamica
Examinari
Executia de proba
Verificare de birou
Validarea sintactica
Testarea pe componente
Testarea integritatii
Testarea sistemului
Examinarile sunt activitati prestate de grupuri de persoane cu scopul depistarii manuale a aparitiei unor erori binecunoscute in codurile programelor sursa. Prin urmarirea atenta a instructiunilor programelor sursa se depisteaza intre 60 si 90% dintre erorile ce pot aparea in acestea.
Executia de proba, spre deosebire de examinarea liniilor programelor sursa, care nu urmareste si efectul fiecarei instructiuni, isi propune sa descopere erorile regasite in fiecare cod al programului sursa. Executia de proba trebuie efectuata cat mai des, pe parcursul finalizarii unor parti din lucrare(program). Rolul executiei de proba este de a depista, si nu de a corecta erori.
Verificarea de birou este un proces informal, prin care programatorul sau o alta persoana care intelege logica programului il parcurge, linie cu linie, cu un creion si o foaie de hartie. Verificarea nu presupune neaparat si executia pe calculator, ci programatorul urmareste cu atentie efectul fiecarei instructiuni a programului.
Validarea sintactica este singura tehnica de verificare automata statica executata, de regula, de catre compilatoare. Rolul acestora este de a scoate la iveala erorile programului sursa fara insa a-l executa. Toate celelalte tehnici automate presupun si executia codului instructiunilor.
Testarea pe componente este, deseori, cunoscuta si ca testarea modulelor, deoarece fiecare modul este testat de sine statator.
Testarea integritatii este o continuare a celei descrise anterior, intrucat ea se efectueaza cu scopul verificarii modului in care se interconditioneaza modulele, cu alte cuvinte se testeaza un grup de module. Testarea integritatii este graduala. In primul rand, se testeaza modulul coordonator, adica modulul-radacina dintr-o structura arborescenta, si doar unul dintre modulele subordonate. Dupa ce sunt testate modulele subordonate aflate pe acelasi nivel, se efectueaza trecerea la alt nivel, inferior celui anterior. In final, se testeaza tot programul. In mod similar se va proceda cu intregul sistem.
Testarea sistemului difera de cele descrise anterior prin faptul ca in locul modulelor se testeaza programele. Operatiunea este efectuata de personalul specializat in sisteme informatice, sub coordonarea sefului de proiect, sau de catre utilizatori, sub controlul specialistilor in informatica.
Dupa ce testele sistemului au fost incununate cu succes, sistemul este supus testarii de acceptare, intr-un mediu similar celui in care va fi pus in functiune si de catre persoanele care il vor intrebuinta. Un test complet de acceptare consta in efectuarea testarii alfa si a testarii beta.
Testarea alfa utilizeaza date reprezentative, dar nereale, iar testarea beta se bazeaza pe date reale si se executa in mediul curent, concret de lucru al utilizatorului.
Testarea alfa, cuprinde cateva teste edificatoare, dupa cum urmeaza :
testarea regenerarii sau refacerii forteaza executia softului astfel incat sa inregistreze esecuri pentru a se verifica modul in care sistemul revine la normal ;
testarea securitatii verifica daca mecanismele de protectie aflate in sistem actioneaza corespunzator impotriva posibilelor atacuri ;
testarea la suprasolicitari determina modul in care sistemul executa operatiunile in conditii de lucru diferite (cu configuratii de echipamente variate, cu anumite retele, sisteme de operare s.a.).
Testarea beta se deruleaza cu exercitii proprii utilizatorilor si cu datele
concrete ale acestora. Ea este un fel de repetitie generala inaintea instalarii.
Posibilele erori ale softului se pot datora :
incorectei contorizari a numarului de executii ale unor bucle ;
introducerii incomplete a datelor ;
realizarii unor interfete eronate intre module;
depasirii dimensiunilor unor tablouri(masive) de date s.a.
Pentru aprecierea calitatii softului s-au propus mai multi indicatori :
rata defectelor pe ora, zi, saptamana sau luna ;
rata defectelor pe echipamentele de baza ale softului;
timpul mediu intre doua defectiuni;
marimea zonei afectate de defecte;
numarul compilarilor sau al executiilor unor componente ale sistemului care functioneaza corect din prima incercare ;
defecte cumulate pe versiune;
oportunitatea raspunsului la defecte sau a timpului afectat indepartarii lor ;
satisfactia beneficiarului privind calitatea interventiei pentru remedierea defectelor soft.
Din toate aceste modalitati de evaluare, cantitativa si calitativa, rezulta ca preocuparile pentru utilizarea unui soft de calitate trebuie sa existe la toate nivelurile ierarhice ale organizatiei.
2 Instalarea sistemului
Aceasta faza asigura verificarea functionalitatii sistemului cu date reale, motiv pentru care se pot folosi anumite tactici si strategii in functie de succesiunea de implementare a componentelor noului sistem.
Strategiile de implementare presupun compararea vechiului sistem cu cel proiectat sau cu un alt sistem informatic luat drept etalon. In functie de aceste elemente functionarea experimentala poate functiona in cinci variante.
1) Implementarea directa cu date curente a sistemului proiectat, presupune renuntarea la vechiul sistem brusc, in vederea reducerii termenului si a minimizarii cheltuielilor cu implementarea. Avantajele acestei metode sunt costul mai scazut si o certitudine a implementarii, in schimb riscurile sunt mai mari, datorita faptului ca activitatea sistemului economic se bazeaza acum pe sistemul informatic, iar o defectiune in acesta din urma putand duce la blocarea activitatii. De aceea aceasta strategie nu se recomanda in cazul activitatilor critice, in flux continuu, care nu suporta intarzieri.
2) Implementarea paralela se face cu date curente sau anterioare pentru a se realiza o comparatie intre sistemul vechi fata de cel nou, sau intre noul sistem si sistemul etalon. Aceasta strategie asigura un risc minim pentru beneficiar, deoarece eventualele neajunsuri in functionarea sistemului informatic nu conduc la blocarea activitatii din unitatea economica, in schimb este foarte costisitoare, toacmai datorita faptului ca, pentru o perioada de timp trebuie suportate costurile functionarii ambelor sisteme.
Perioada de
implementare
1) Implementarea pilotata urmareste lansarea in experimentare a sistemului proiectat incepand cu acele subsisteme ce au frecventa maxima de utilizare, folosindu-se date din perioade anterioare si curente. Sistemul informatic se instaleaza pe o unitate pilot, mai mica decat cea reala, dar care are caracteristicile definitorii ale acesteia. Aceasta strategie se incadreaza intre cele doua anterioare, atat din unctul de vedere al costurilor, cat si al riscurilor.
4) Implementarea compartimentala este utilizabila in unitatile economice in care structurile organizatorice prezinta autonomie prin prisma fluxurilor informationale.
In aceasta varianta conditia esentiala o constituie realizarea anterioara a proiectarii de ansamblu si a celei de detaliu pe compartimente, caz in care rezultatele implementarii pot fi comensurate direct pe structurile organizatorice implicate.
5) Implementarea combinata poate fi abordata datorita avantajelor pe care le prezinta celelalte variante prin folosirea implementarii paralele cu cea pilotata.
Alegerea strategiei de implementare depinde de natura activitatii desfasurate in sistemul informatizat, de disponibilitaatile materiale ale beneficiarului, de riscurile ce pot si se accepta a fi asumate de beneficiar etc.
3. Verificarea performantelor sistemului informatic proiectat
Aceasta faza presupune exploatarea efectiva a sistemului cu date reale in vederea indeplinirii parametrilor proiectati, a termenelor de executie si duratei de exploatare.
In finalul acestei faze se face evaluarea sistemului si validarea rezultatelor obtinute, pentru a verifica in ce masura sunt satisfacute obiectivele propuse si daca rezultatele noului sistem justifica cheltuielile facute cu introducerea si realizarea lui.
Functionarea sistemului depinde de specificatiile logice, care evidentiaza anumite aspecte de natura logica ale functiilor sistemului (legaturi intre intrari si iesiri, consideratii asupra volumului de date si a frexventei lor, decizii de actualizare si de intretinere, modul de operare), precum si de specificatiile fizice care in mod cert sunt mai importante pentru operatori.
Interpreterea si transpunerea corecta a specificatiilor logice pot sa conduca la indeplinirea asteptarilor scontate pentru viitor, in ciclul de viata al noului sistem, referitoare la intretinere, noile interfate lae sistemului, realocarea de functii in cadrul firmei etc, isotite de reorganizarea corespunzatoare de personal calificat.
Evaluarea sistemului se face pe baza specificatiilor logice si fizice. Specificatiile fizice au in vedere volumul, frecventa, acuratetea, si eroarea informatiilor. Specificatiile logice contin rareori indicatori necesari pentru evaluarea sistemului, insa arata modul in care sunt corelate elementele resursei de informare si evidentiaza unde si cand functioneaza aceste legaturi.
De exemplu, daca specificatiile logice arata ca prelucrarea poate sa inceapa numai dupa ce s-a strans un numar suficient de mare de facturi, acest fapt ne ajuta sa observam cat de bine este satisfacut acest criteriu si cand este rezonabila testarea pentru prelucrarea facturilor.
De asemenea, detaliile legaturilor logice, cum ar fi succesiunea de intrari-iesiri sau de invocari de module, ne ajuta sa descoperim de unde provine ineficienta.
Pe baza datelor provenite din exploaterea sistemului informatic, se determina eficienta economica si se cuantifica raportul intre performanta si cost.
Indicatorii eficientei economice se calculeaza in toate etapele de realizare a sistemului informatic, acordandu-se o atentie deosebita la sfarsitul primului an de exploatare efectiva.
In etapa de implementare se corecteaza indicatorii eficientei economice estimati, in timp ce in etapa de exploatare efectiva se calculeaza eficienta economica reala pe baza rezultatelor obtinute de unitatea beneficiara.
4. Elaborarea documentatiei de utilizare a sistemului informatic proiectat.
In functie de modul de implementare a sistemului, pot apare anumite modificari in conceptia acestuia, ca urmare a unor neajunsuri semnalate. Aceste modificari trebuie operate in structura sistemului proiectat si in documentatia acestuia pentru a evita eventualele dificultati in exploatarea si intretinerea ulterioara.
La terminarea fiecarei faze de dezvoltare a proiectului, liderul de proiect redacteaza un raport care detaliaza activitatile, constatarile si rezultatele acelei faze, precum si planurile pentru fazele urmatoare, document ce va fi supus spre avizare de catre beneficiar.
Documentatia se elaboreaza la momente specifice in timpul realizarii proiectului, fie ca urmare a directivelor utilizate, care in general sunt proceduri bazate pe documentatie.
Definitivarea intregii documentatii de utilizare si exploatare a sistemului se concretizeaza in intocmirea manualului de prezentare, utilizare si operare.
Manualul de prezentare cuprinde conceptia generala a sistemului si o prezentare succinta a aplicatiilor componente, facandu-se precizari in legatura cu restrictiile si limitele sistemului sau aplicatiilor, inclusiv performantele si posibilitatile de extindere a acestora.
Manualul de utilizare este intocmit pentru fiecare aplicatie, si asigura descrierea generala a aplicatiei, datele de intrare, conditiile de validare, restrictiile si erorile ce pot apare, conditiile de reluare, si se adreseaza personalului implicat in utilizarea noului sistem.
Manualul de operare contine informatii referitoare la exploatarea efectiva a sistemului proiectat prin intermediul sistemului de calcul.