Implementarea Sistemelor Informatice
Implementarea sistemelor informatice
Material de predare – partea a II-a
Cuprins
I. Introducere
II. Documente necesare pentru activitatea de predare
III. Resurse
Tema 1. Implementează sistemul informatic
Fișă de documentare 1.1 – Implementarea sistemului informatic
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.2 – Codificarea datelor
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.3 – Utilizarea tehnicilor de programare
Alegerea unui tip de programare
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.4 – Testara și validarea programelor
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.5 – Livrarea sistemului informatic
Tema 2. Asigură mentenanța sistemelor informatice
Fișa de documentare 2.1 – Mentenanța sistemelor informatice
IV. Fișa rezumat
V. Bibliografie
I. Introducere
Materialele de predare reprezintă o resursă – suport pentru activitatea de predare, instrumente auxiliare care includ un mesaj sau o informație didactică.
Prezentul material de predare, se adresează cadrelor didactice care predau în cadrul școlilor postliceale, domeniul Informatică, calificarea Analist programator.
El a fost elaborat pentru modulul Implementarea sistemelor informatice, ce se desfășoară în 150 ore, din care 48 ore Laborator tehnologic și 30 instruire practică. Instruirea practică se desfășoară în stagiile de pregătire practică.
Prezentul material tratează competențele Realizează sistemul informatic și Asigură mentenanță sistemelor informatice.
Absolvenții nivelului 3 avansat, școală postliceală, calificarea Tehnician echipamente de calcul, vor fi capabili să îndeplinească sarcini cu caracter tehnic de montaj, punere în funcțiune, întreținere, exploatare și reparare a echipamentelor de calcul.
II. Documente necesare pentru activitatea de predare
Pentru predarea conținuturilor abordate în cadrul materialului de predare cadrul didactic are obligația de a studia următoarele documente:
Standardul de Pregătire Profesională pentru calificarea Tehnician echipamente de calcul, nivelul 3 avansat – www.tvet.ro, secțiunea SPP sau www.edu.ro , secțiunea învățământ preuniversitar
Curriculum pentru calificarea Tehnician echipamente de calcul, nivelul 3 avansat – www.tvet.ro, secțiunea Curriculum sau www.edu.ro , secțiunea învățământ preuniversitar
III. Resurse
Tema 1. Implementează sistemul informatic
Fișă de documentare 1.1 – Implementarea sistemului informatic
Implementarea sistemului constă în verificarea modului de comportare practică a modelului proiectat, în vederea trecerii lui la exploatarea curentă, corectarea și definitivarea documentației care va sta la baza exploatării sistemului proiectat. În această etapă produsul informatic trebuie omologat pe componente și pe ansamblu pentru a se putea trece la etapa următoare, de exploatare curentă.
Implementarea, este etapa în cadrul căreia se realizează transpunerea într-un limbaj de programare și se livrează sistemului informatic în cadrul unității economice.
Schematic, ca și succesiune de operații, implementarea unui sistem informatic se poate reprezenta graphic astfel:
Fig.1 Implementarea sistemului informatic
Transpunera în cadrul unui limbaj de programare are 2 etape disticte:
Scrierea programelor – etapă in care se deruleaza efectiv activitatea de creare a programeleor neceasre sistemului informatic
Testarea și validarea programelor – etapă în care se verifică funcționalitatea programelor scrise, atat ca și module independente, cât si ca sistem integrat; validarea programelor și stabilirea faptului ca ele sunt operaționale se efectuează în momentul în care se epuizeată toate seriile de testări iar rezultatele au fost corecte.
Livrarea sistemului informatic în cadrul unei unități pentru care a fost creat se face utilizând anumite modele de implementare pentru a asigura continuitatea activitații si a nu deregla fluxul de lucru al unitații respective.
Modele de implementare
Aceste modele sunt utilizate pentru punerea în funcțiune a sistemelor informatice. Se pot utiliza ca metode: metoda paralelă, metoda serială sau metoda pivot.
Metoda paralelă presupune punerea în funcțiune a noului sistem păstrând funcțional și vechiul sistem până în momentul când există convingerea că noul sistem funcționează corect și la parametrii proiectați.
Metoda serială presupune întreruperea funcționării vechiului sistem și înlocuirea lui la un moment dat cu noul sistem.
Metoda pivot se folosește în cazul implementării noului sistem într-o unitate economică nouă și presupune folosirea unui sistem pilot verificat deja în unități similare.
Scrierea programelor
Crearea unui program pornind de la o realitate de zi cu presupune parcurgerea mai multor pasi:
Codificarea datelor – reprezintă procesul de transformare a informațiilor strânse din activitatea desfășurată de agentul economic pentru care se crează sistemul informatic, în variabile, fie de intrare, intermediare sau de ieșire, care se vor folosii ulterior în cadrul programelor iar apoi programele vor transpune aceste variabile într-un limbaj care poate fi înțeles de calculator.
Alegerea unei tehnici de programare – după ce sunt stabilite exact toate variabilele principale ale programului este necesar sa se descompună sistemul informatic în părți componente pentru a ușura activitatea de programare, se va adopta o tehnica de programare și sa vor stabilii domeniile de vizibilitate a variabilelor.
Alegerea unui tip de programare – odată cunoscută tehnica abordării pentru programare, urmeaza a se stabilii modul efectiv în care va fi realizat programul și anume, se va alege între o programare structurată, modulară sau obiect.
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.2 – Codificarea datelor
Codificarea datelor este un procedeu de reprezentare a informației conform unui anumit format.
Necesitatea utilizării codurilor se impune pentru a asigura comunicația între utilizator și sistemul de calcul, având în vedere că utilizatorului îi este specifică gândirea zecimală și folosirea caracterelor alfabetului, în timp ce tehnica de calcul recunoaște doar sistemul binar.
Figura 2 Raportul codificare reprezentare
Se numește cod, un set de simboluri elementare, împreună cu o serie de reguli potrivit cărora se formează aceste simboluri.
Codificarea reprezintă procesul de stabilire a unui cod. Dacă se noteză cu X mulțimea elementelor accesibile utilizatorului și cu Y mulțimea caracterelor recepționate de sistemul de calcul, atunci codificarea reprezintă asocierea fiecărui element Xi din mulțimea X cu un element Yi din mulțimea Y. Codul este astfel o funcție bijectivă f : X Y
Funcția inversă f-1 : Y X este procesul de decodificare. Operația de decodificare a datelor constă deci în stabilirea unei corespondențe biunivoce între elementele sistemului informațional: documente, operații, produse, materiale etc. și o mulțime de simboluri, cifre, litere etc. Datele de codificat constituie vocabularul de intrare; simbolurile de reprezentare formează limbajul de codificare; rezultatele codificării se concretizează în sisteme de coduri care semnifică alfabetul de ieșire.
Operația de codificare este prezentă pe mai multe nivele de tratare a informațiilor. Ea este prezentă pornind de la nivelul scăzut al sistemului de calcul (hardware, software de bază) până la nivelul codificării în ansamblul sistemului informațional (coduri de materiale, coduri de produse, codul de bare etc.). Desfășurarea operațiilor de codificare presupune respectarea următoarelor principii:
adoptarea acelorași norme în determinarea vocabularului de intrare;
folosirea unui limbaj de codificare accesibil, astfel încât interpretarea alfabetului de ieșire să se facă fără dificultăți;
respectarea biunivocității între vocabularul de intrare și limbajul de codificare;
previziunea evoluției codurilor, care să asigure posibilitatea actualizării sistemelor de coduri, fără perturbații;
sistemele de coduri adoptate să fie sugestive în redarea legăturilor dintre fenomene, procese și documente;
adaptarea codificării în vederea prelucrării informațiilor în sistemul de calcul.
Procesul de codificare constă în parcurgerea următoarelor activități:
A. Stabilirea caracteristicilor generale ale codurilor, în care se urmărește:
determinarea vocabularului de intrare și a caracteristicilor acestuia;
analiza structurii informațiilor din vocabularul de intrare pentru fixarea structurii generale a codului;
determinarea alfabetului de ieșire în funcție de mărimea vocabularului de intrare și de structura generală a codurilor;
fixarea sistemelor de coduri astfel încât acestea să asigure maximum de uniformitate a codificării.
B. Clasificarea elementelor vocabularului de intrare de la general la particular, până la nivel elementar, cu respectarea normelor legale, astfel:
operațiile și documentele se grupează după locul și rolul lor;
materialele după natură, proprietăți, mod de gestionare etc.
C. Precizarea tehnologiei standard de codificare la care se pretează fiecare clasă de elemente din vocabularul de intrare.
D. Codificarea propriu-zisă, prin stabilirea corespondenței între vocabularul de intrare și alfabetul de ieșire.
E. Unificarea tehnologiei și atribuirea codurilor.
F. Actualizarea codurilor, care constă în adăugări de coduri pentru elementele noi și eliminări de coduri pentru elementele care nu se mai utilizează.
Principalele sisteme de coduri utilizate sunt:
Sistemul în ordine numerică/naturală. Este utilizat pentru elemente temporare ale sistemului fără periodicitate. Orice element nou apărut afectează întregul sistem de coduri.
Sistemul în serie. Este o dezvoltare a sistemului în ordine naturală prin rezervarea de numere pentru eventuale apariții de noi elemente în vocabularul de intrare.
Sistemul pe grupe. Constă în atribuirea unui anumit număr de coduri fiecărei clase de elemente de reprezentat. De exemplu IJK poate indica: grupa I, subgrupa J și sortimentul K pentru elementul reprezentat.
Sistemul zecimal. Presupune divizarea vocabularului de intrare în 10 grupe, iar fiecare grupă în 10 subgrupe etc. În practica economică, acest sistem este folosit în codificarea conturilor în contabilitate.
Sistemul în șah. Se bazează pe construirea de tabele în care fiecare dimensiune specifică o caracteristică a elementelor de reprezentat. Aplicarea sistemului este recomandată pentru clase de elemente care rămân neschimbate, cum ar fi codificarea subansamblelor și pieselor unui utilaj.
Sistemul repetitiv. Constă în realizarea codului din caracteristicile elementelor de codificat. Sfera sistemului este limitată la un vocabular de intrare mai puțin complex.
Sisteme combinate: sistemul în ordine naturală pentru clase ale vocabularului de intrare, sistemul în serie pentru grupe, sistemul repetitiv pentru elemente.
Procedura de codificare, la nivelul sistemului informațional, este în mare parte la alegerea utilizatorului. Cu cât coborâm spre nivelul elementar de prelucrare a informației, cu atât sistemele de codificare sunt mai rigide, ele fiind standardizate din considerente de compatibilitate în utilizarea tehnicii electronice de calcul.
Codurile alfanumerice sunt coduri binare utilizate pentru reprezentarea caracterelor alfanumeric. Prin caractere alfanumerice înțelegem:
literele mari și mici ale alfabetului;
cifrele de la 0 la 9;
semnele de punctuație;
operatorii aritmetici și de relație;
alte caractere speciale.
În general prin caractere alfanumerice se înțeleg toate caracterele care pot fi introduse de la tastatura unui calculator. Numărul acestor caractere este mai mare decât 64 și, din acest motiv, pentru reprezentarea binară a caracterelor alfanumerice sunt necesare cel puțin 7 poziții binare. Cum numărul de caractere de codificat este limitat și relativ redus, funcția de codificare alfa-numerică se definește tabelar.
Din marea familie a codurilor alfanumerice le exemplificăm pee calcul.
Codurile alfanumerice sunt coduri binare utilizate pentru reprezentarea caracterelor alfanumeric. Prin caractere alfanumerice înțelegem:
literele mari și mici ale alfabetului;
cifrele de la 0 la 9;
semnele de punctuație;
operatorii aritmetici și de relație;
alte caractere speciale.
În general prin caractere alfanumerice se înțeleg toate caracterele care pot fi introduse de la tastatura unui calculator. Numărul acestor caractere este mai mare decât 64 și, din acest motiv, pentru reprezentarea binară a caracterelor alfanumerice sunt necesare cel puțin 7 poziții binare. Cum numărul de caractere de codificat este limitat și relativ redus, funcția de codificare alfa-numerică se definește tabelar.
Din marea familie a codurilor alfanumerice le exemplificăm pe cele mai cunoscute:
Codul EBCDIC (Extended Binary Coded decimal Interchange Code) este un cod alfa-numeric pe 8 biți, proiectat pentru codificarea informațiilor, la calculatoarele din seria IBM 360. Codul a fost utilizat până prin anii ’70.
Codul ASCII (American Standard Code for Information Interchange) reprezintă un standard actual de codificare alfa-numerică pe 7 biți. Este un cod alfa-numeric, cu recomandare ISO (International Standard Organization) și este utilizat de multe tipuri de calculatoare și de majoritatea echipamentelor periferice care lucrează cu aceste calculatoare.
Codul UNICODE. Este un cod alfa-numeric pe 16 biți care își propune să definească un cod standard pentru simbolurile alfa-numerice utilizate în toate țările lumii: litere, semne de punctuație, semne monetare specifice tuturor limbilor de pe planetă.
Prin dezvoltarea sistemelor de coduri pe 7 și 8 biți, așa-numitele coduri pe octet, către coduri pe doi octeți sau coduri DBCS (Duble-Bit Code System). s-a creat o familie de coduri care se dorește a fi unificată de sistemul de codificare UNICODE.
Înlocuirea codului ASCII cu UNICODE ar avea avantajul unificării sistemului de codificare a caracterelor folosite oriunde în lume. Pe de altă parte apar și unele dezavantaje:
utilizând UNICODE pe 16 biți, dimensiunea fișierelor text se dublează, în comparație cu cea a fișierelor codificate ASCII;
programele care utilizează codul ASCII vor trebui adaptate pentru a putea recunoaște codul UNICODE.
Codificarea setului de caractere la P.C. La majoritatea calculatoarelor, fiecare caracter se prezintă codificat pe un octet. Setul de caractere PC cuprinde 256 caractere. Jumătate din aceste caractere sunt codificate utilizând codul ASCII pe 7 biți, la care se adaugă un prim bit, 0; restul de 128 de caractere nu au o codificare standard pentru toate sistemele de calcul. Aceste ultime 128 caractere din set sunt numite setul de caractere ASCII extins. Setul de caractere ale PC cuprinde:
primele 32 caractere (0-31) sunt caractere cu funcții speciale, folosite pentru transmiterea de comenzi (caractere de control). De exemplu:
caracterul "backspace" (cod 8), care produce ștergerea caracterului din stânga;
caracterul "line feed" (cod 10) produce saltul la rândul următor;
caracterul "form feed" (cod 12) produce saltul la pagina următoare;
caracterul "cariage return" (cod 13) produce saltul la începutul rândului curent etc.
Când se utilizează combinația de taste CTRL + O LITERĂ, programul de conversie a tastaturii scade valoarea zecimală 64 din codul ASCII corespunzător literei mari tastate. Aceasta este o metodă de a introduce de la tastatură un caracter de control care nu are asociat o tastă specială.
Următoarele 96 de caractere cuprind:
spațiu (cod 32)
cifrele 0 – 9 (codurile 48-57)
literele mari A-Z (codurile 65-90)
literele mici a-z (codurile 97-122)
semnele de punctuație
operatorii de relație
operatorii aritmetici
O operație de sortate în ordine alfabetică se face de fapt prin ordonarea codurilor binare sortate, adică în ordinea: cifre litere mari litere mici etc.
Caracterele ASCII extinse cuprind:
caracterele limbilor străine de limba engleză;
caracterele grafice de trasare a liniilor și a umbrelor ;
caracterele științifice, care includ litere grecești și simboluri matematice speciale.
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.3 – Utilizarea tehnicilor de programare
Diversiatatea și dezvoltarea tehnicilor de programare în timp, evidențiază evoluția unui domeniu deosebit de important pentru tehnologia informației. Trecerea de la o tehnică de programare la alta este rezultatul natural al acumulării de experiență și rezultatul evoluției structurilor hardware, marcată de creșterea vitezei de calcul, creșterea capacității de memorare și creșterea numărului și tipurilor de echipamente periferice.
Toate acumulările evidențiază tendința spre performanță, spre creșterea productivității muncii și creșterea calității produselor software. Indiferent de tehnica de programare utilizată în dezvoltarea de aplicații informatice, un rol deosebit revine persoanelor, analiști și programatori, care definesc probleme, proiectează soluții și dezvoltă cod sursă. În mod natural, dezvoltarea de aplicații informatice trebuie să urmeze tehnologiei pe obiecte sau cele ale tehnologiei pe componente (module). În cazul în care apare necesitatea reutilizării de software, integrarea de componente elaborate folosind tehnici de programare mai vechi, devine eficientă dacă și numai dacă aceste tehnici sunt cunoscute și se operează pe textele sursă existente.
Cunoașterea tehnicilor de programare permite identificarea unor părți stabile care se regăsesc în toate structurile de programe și stabilirea acelor părți care difera radical de la o tehnică la alta. Separarea acestora permite îndreptarea eforturilor spre a executa trecerea a cât mai multor componente dintr-o categorie în alta în vederea obținerii unui echilibru cât mai stabil.
Există situații când sistemele informatice din generații mai vechi, aflate în exploatare curentă, trebuie reproiectate pentru a prelua facilitățile oferite de noile tehnologii. Existența de programe translatoare care automatizează procesul, impune definirea unor parametrii. Corectitudinea procesului de translatare depinde de nivelul de cunoaștere a imputurilor, adică de nivelul de cunoaștere a tehnicii sub care a fost dezvoltat sistemul informatic mai vechi.
Este important să se cunoască tehnicile de programare existente pentru a creea premisele evoluției spre alte noi tehnici, atunci când se identifică noi cerințe, noi exigențe și se stabilesc limitele prin care se caracterizează atât tehnicile de programare vechi, cât și cele de programare noi.
Alegerea unui tip de programare
Tehnicile de programare pentru realizarea programelor, cer ca acestea sa fie ușor de înțeles, prietenoase, estetice, conform cerintelor utilizatorilor. Se realizeaza dialoguri, meniuri, ferestre, videoformate, rapoarte de iesjre, grafice etc. Tehnicile de programare utilizate se pot împărții în 3 categorii de bază: programare structurată, programare orientată pe obiect și programare modulară.
Programare structurata
Deceniul șase a adus cu sine apariția programarii structurate, ceea ce a constituit unul dintre pașii semnificativi în evoluția ingineriei software, această paradigmă de programare dominand o bună bucată de timp lumea programării. Programarea structurată este susținută de limbaje de generația a treia cum sunt C-ul si Pascal-ul, principala caracteristica a lor fiind utlizarea subprogramelor ca modalitate de gestionare a complexitații. Programarea structurată s-a dovedit a fi o modalitate adecvată de abstractizare a operațiilor și a algoritmilor, dovedindu-și eficiența în gestionarea programelor a căror complexitate putea fi controlată de către un singur programator sau de către un număr restrâns de programatori.
Programarea structurată se bazează pe ecuația lui Niklaus Wirth:
Algoritmi + Structuri de date = Program
ceea ce impune tratarea separată a algoritmilor și a structurilor de date. Pentru aplicații complexe, cum este cazul programelor folosind metoda elementului finit, este nevoie însă de reutilizarea, adaptarea și extinderea a unor module de program. Programarea structurată este, din acest punct de vedere, deficitară, astfel încât se impune o nouă abordare.
Ca și tehnici de programare utilizate în cadrul programării structurate se pot amintii: programarea secvențială, alternativă și repetitivă.
Programare orientată pe obiect
Programarea orientată pe obiect este o metodă de programare în care programele sunt organizate ca și colecții de obiecte cooperante, fiecare dintre ele reprezentând o instanță a unei clase, iar clasele sunt membre ale unei ierarhii de clase, corelate între ele prin relații de moștenire.
Limbajul C++ este unul dintre cele mai utilizate limbaje de programare orientate pe obiecte; compilatoare, biblioteci și instrumente de dezvoltare a programelor C++ sunt disponibile atât pentru calculatoarele personale cât și pentru cele mai dezvoltate sisteme și stații de lucru.
Programarea orientată-obiect (OOP) pleacă de la o altă organizare structurală. Obiectele reprezintă module care includ atât datele, cât și procedurile care acționează asupra datelor, astfel încât ecuația OOP este:
Date + Metode = Obiect
În OOP efortul constă în definirea inițială a claselor (care reprezintă descrierea familiilor de obiecte care au aceeași structură și același comportament). Obiectele reprezintă instanțe ale claselor (reprezentări concrete).
OOP se bazează pe experiența și munca anterioară, permițând construirea unor aplicații prin asamblarea unor module existente sau reutilizarea acestora. În acest fel programarea devine "constructivă" – dezvoltarea unui program este mult mai facilă decât în cazul programării structurate, în special dacă se lucrează în etape sau în echipă (poți pune și tu o cărămidă și să faci zidul mai mare și mai puternic; nu trebuie să pleci de la zero, să faci din nou fundația).
OOP prezintă numeroase avantaje, printre care, alături de posibilitatea de reutilizare a modulelor de cod, se remarcă sporirea productivității și a modularității datorate câtorva caracteristici proprii programării orientate-obiect cum ar fi implementarea ascunsă a detaliilor, marcarea clară a granițelor dintre obiecte, comunicarea explicită între obiecte. De asemenea, este remarcabil faptul că nu este necesară cunoașterea intimă a unui obiect – adevărate "black boxes", obiectele au structură intimă ascunsă utilizatorilor (poți să pornești televizorul fără să fie nevoie să cunoști cum funcționează, poți să realizezi un montaj electronic fără să fie nevoie să cunoști detaliile constructive ale unui chip – este nevoie doar să cunoști relațiile dintre intrare și ieșire).
Programarea modulara
Spre deosebire de tehnica tradițională, în care un program este conceput, realizat și testat „în bloc”, programarea modulară este un sistem de concepere, realizare și testare a programelor ca un set de unități individuale interconectate (denumite module) care pot fi alipite pentru a forma un program complet. Programarea modulară nu reprezintă o simplă utilizare de programe și subprograme care de obicei se face în mod arbitrar. Estența acestei tehnici constă în aceea că fiecare modul trebuie să realizeze o singură funcțiune (de exemplu, afișarea rezultatelor) sau a unui număr restrâns de funcții intercorelate (de exemplu calculul profitului pe o categorie de produs). Odată izolată această funcție logică, fiecare modul poate fi codificat și testat independent și numai după ce toate modulele programului respectiv au fost codificate și testate, pot fi alpite împreună pentru testarea finală a programului.
Ca și tehnici de programare, devenite deja clasice, care sunt utilizate în cadrul programării modulare intră: backtracking, divide et impera, greedy etc. Acestea pot fi implementate normal sau recursiv.
Recursivitatea este una din noțiunile fundamentale ale informaticii.Utilizarea frecventă a recursivității s-a facut după anii '80. Multe din limbajele de programare evoluate și mult utilizate (Fortran ,Cobol) nu permiteau scrierea programelor recursive.
În linii mari, recursivitatea este un mecanism general de elaborare a programelor. Ea a apărut din necesități practice (transcrierea directă a formulelor matematice recursive) și reprezintă acel mecanism prin care un subprogram (procedură, funcție) se autoapelează. Recursivitatea, folosită cu multa eficiență în matematică, s-a impus în programare, odată cu apariția unor limbaje de nivel înalt, ce permit scrierea de module ce se autoapelează (PASCAL, LISP, , ALGOL, C sunt limbaje recursive, spre deosebire de FORTRAN, BASIC, COBOL, nerecursive). Recursivitatea e strâns legată de iterație, dar dacă iterația e execuția repetată a unei porțiuni de program, până la îndeplinirea unei condiții (while, repeat, for din PASCAL), recursivitatea presupune execuția repetată a unui modul, însă în cursul execuției lui (și nu la sfârșit, ca in cazul iterației), se verifică o condiție a cărei nesatisfacere, implică reluarea execuției modulului de la începutul sau. Atunci un program recursiv poate fi exprimat: P=M(Si,P) , unde M este mulțimea ce conține instrucțiunile Si și pe P însăși.
Structurile de program necesare și suficiente în exprimarea recursivității sunt procedurile și subrutinele ce pot fi apelate prin nume. Recursivitatea poate fi directa – un modul P contine o referință la el însăși, sau indirectă – un modul P conține o referință la un modul Q ce include o referință la P.
Un exemplu de funcție recursivă implementată în cod Pascal:
Function fact(n:integer):integer;
begin
if n=1 then fact:=1
else fact:=n*fact(n-1)
end;
Programarea modulară are o serie de avantaje cum ar fi:
calitate crescută a programelor
flexibilitatea programelor
posibilitatea standardizării unor module
posibilitatea de planificare și control a activităților de programare
ușurarea activității de întreținere a programelor.
În cazul utilizării tehnicii de programare modulare, activitatea de proiectare a programelor capătă o importanță deosebită, neputând fi executată decât de programatori experimentați. În urma unei astfel de activități trebuie să rezulte:
Schema legăturilor dintre module sau „arborele de structură” al programului;
Specificațiile de programare ale fiecărui modul în parte.
Schematic legăturile dintre module se pot reprezenta astfel:
Figura 3 Modularizarea unui program
Din punct de vedere funcțional, se pot distinge următoarele tipuri de module de bază:
Modulul de control –sau modul director – a cărui funție principală este de a controla secvența de desfășurare a programului, respectiv modul de apelare al modulelor de pe nivelurile inferioare (din figura 4 – modulul A). În mod normal, în cadrul acestui modul nu se execută prelucrări. Simpla citire a acestuia, permite o privire generală asupra funcției întregului program.
Modul de prelucrare – modulele de acest tip execută funcțiile de bază ale programului și reprezintă „miezul” acestuia. Fiecărui astfel de modul îi revine realizarea unei singure funcții logice sau unui număr restrâns de funcții înrudite. Aceste module primesc controlul de la un modul de nivel superior apelant, căruia îi redau controlul după executarea funcției specifice.
Modul de intrare/ieșire – care execută o funcție de intrare/ieșire în raport cu un singur fișier, cu următoarea restricție: un modul de intrare/ieșire nu poate preda controlul unui alt modul până nu poziționează un indicator care marchează terminarea fișierului (pentru fiecare intrare) sau fără testarea unui indicator care certifică închiderea fișierului respectiv (pentru fișierele de ieșire).
Modul de serviciu – în cadrul acestuia se execută operații pregătitoare în vederea prelucrărilor (de exemplu inițializări de zone).
Modul de excepție – pentru tratarea erorilor.
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.4 – Testara și validarea programelor
Activitatea de programare trebuie să aibă în vedere și posibilitatea apariției unor erori și necesitatea depistării și înlăturării acestora. Erorile care apar în programe pot fi :
erori de sintaxă, generate de nerespectarea regulilor de utilizare a limbajului de programare folosit; acestea sunt sesizate în etapa de translatare a programului;
erori de asamblare, atunci când în program se fac referiri la variabile sau proceduri nedefinite; aceste erori sunt sesizate în timpul operației de editare de legături;
erori de execuție, care pot fi generate de erori de logică în algoritmul folosit sau de un anumit context de date care nu a fost tratat corespunzător în algoritm; de exemplu: valori nepermise ale operanzilor, executarea necontrolată a instrucțiunilor repetitive, încercarea de a accesa zone interzise din memoria internă, etc.
Erorile de execuție sunt, de obicei, erori de algoritm; pentru înlăturarea lor este necesară localizarea și determinarea naturii acestora. Identificarea unei astfel de erori se face comparând varianta ideală de execuție a programului, conform algoritmului, cu o execuție concretă; se compară rezultatele intermediare obținute și ordinea de executare a instrucțiunilor.
Tehnici de depanare
Depanarea unui program poate să fie necesară în două contexte diferite și anume:
Dacă apar erori la scrierea programului.
Daca rezultatele obținute în urma rulării programului pe anumite date de test la care se cunoaște rezultatul, nu corespund cu cele din realitate.
Prima categorie de erori este semnalată de compilatorul limbajului de programare în cadrul activității de transformare a programului din limbaj de programare în limbaj mașină.
Activitatea de compilare a unui program sursă poate fi descompusă în mai multe faze, care corespunde, fiecare, unei funcții logice asigurate de programul translator, și care asigură următoarele operații:
analiza lexicală a programului sursă se realizează la nivelul fiecărei linii program și constă în:
eliminarea caracterelor nesemnificative (de exemplu spațiile, comentariile, etc.)
identificarea unităților logice ale limbajului de programare, de tipul operatorilor, cuvintelor rezervate, identificatorilor, constantelor, etc. și înscrierea acestora în structuri tabelare numite tabele de simboluri ;
analiza sintactică are ca obiectiv principal identificarea, în programul sursă, a construcțiilor sintactice de bază (instrucțiuni, expresii, liste, etc.) și interpretarea conținutului lor, prin generarea unor structuri proprii de descriere a fiecăreia, prin intermediul unei structuri arborescente, numită arbore de derivare;
analiza semantică ce are ca obiectiv interpretarea fiecărei construcții sintactice identificate; pe baza arborelui de derivare definit și folosind tabela de simboluri, se generează seturile de instrucțiuni elementare care corespund fiecărei construcții sintactice identificate; aceste instrucțiuni sunt formulate într-un format de trecere către codul mașină, numit cod intermediar, dar încă sunt independente de acesta;
optimizarea codului intermediar, prin înlăturarea variabilelor neutilizate, a instrucțiunilor redundante, etc;
alocarea memoriei pentru entitățile din programul sursă care vor fi încărcate în memoria internă, în timpul execuției programului; alocarea se face utilizând tabela de simboluri și asociind la fiecare astfel de entitate o locație de memorie, calculată relativ la adresa de început a programului și denumită adresă relocabilă;
optimizarea dependentă de calculator a codului intermediar, prin alocarea regiștrilor de lucru ai procesorului și generarea codului obiect sunt operații care depind de calculator;
în toate etapele are loc detectarea și înregistrarea erorilor de utilizare a limbajului de programare, erori numite erori de compilare.
Componentele programului compilator care definesc faze ce nu depind de calculator reprezintă componenta portabilă a acestuia.
A doua categorie de erori și anume cele care țin de funcționarea corectă a programului și de corectitudinea datelor de ieșire, de multe ori duc la verificarea completă a întregului program. Cea mai utilizată metodă de depanare în acest caz este TOP-DOWN.
Urmărirea dialogului din sistemul informatic
Pentru a fi eficientă activitatea de urmărire a execuției programului precum și tratarea eventualelor erori, se va proceda la structurarea programelor, pentru a se putea urmării funcționalitatea acestuia pe componente. Se pot tipării la un moment dat, in etape cheie valori intermediare ale datelor prelucrate pentru a se testa secvențial corectitudinea funcționării programului.
Astfel structurarea programelor sursă se poate realiza pe trei niveluri ierarhice :
secțiunea
segmentul
programul.
Secțiunea reprezintă unitatea de program independentă, constituită dintr-o secvență de date, care include definiții pentru datele utilizate, și o secvență de instrucțiuni, grupate în proceduri. Atât datele cât și procedurile definite pot fi utilizate și în afara secțiunii în care au fost definite, dacă există un mecanism care să permită schimbul de informații între secțiuni.
Datele sau procedurile care pot fi utilizate în afara secțiunii în care sunt definite sunt numite simboluri externe ; ele se caracterizează printr-un nume și o adresă relativă la începutul secțiunii în care sunt definite. Pentru a permite schimbul de informații între secțiuni, este generat, la compilarea fiecărei secțiuni, dicționarul de legături, care conține toate elementele de comunicație între secțiunea respectivă și alte secțiuni. Elementele de comunicație pot fi :
definiții de simboluri declarate externe
apeluri la simboluri externe.
Avantajul utilizării secțiunilor este că, fiind unități de program independente, pot fi scrise de programatori diferiți și pot fi compilate separat, generându-se module obiect.
Editorul de legături grupează mai multe module obiect (rezultate în urma compilării sau preluate din biblioteci de module obiect) și generează segmentele programului executabil.
Segmentul reprezintă o colecție ordonată de secțiuni, între care au fost rezolvate legăturile definite prin elementele de comunicație. Un segment se caracterizează prin nume, o adresă de intrare în segment, adică adresa primei instrucțiuni executabile a segmentului, și modulele obiect care îl alcătuiesc. Pentru realizarea unui segment, editorul de legături îndeplinește funcțiile următoare:
realizează definirea completă a dicționarului de legături a fiecărei secțiuni : pentru fiecare simbol extern apelat, verifică existența unei intrări într-un dicționar de legături, și completează dicționarul de legături cu adresa acestuia;
alocă o zonă continuă de memorie pentru segment, prin alocarea de locații succesive de memorie tuturor secțiunilor care îl alcătuiesc; pe baza acestei alocări se determină adresele de încărcare a secțiunilor în memorie, relativ la adresa 0 de încărcare a segmentului;
relocatează adresele atașate simbolurilor externe, prin adunarea la aceste adrese a adresei de încărcare a secțiunii în care sunt definite.
Pentru programul executabil se poate defini o structură arborescentă de segmente, dintre care unul este segmentul principal, numit rădăcină, iar celelalte segmente sunt subordonate rădăcinii și eventual, unele față de altele. Raportul de subordonare este determinat de ordinea de înlănțuire, în execuție, a segmentelor; segmentele de pe același nivel sunt cele între care nu sunt definite elemente de comunicare; acestea se pot reacoperi în memoria internă, în timpul execuției programului, sau se pot executa în paralel.
Segmentarea programului este procedeul de împărțire a unui program în segmente, astfel încât să fie posibil ca în timpul execuției programului să fie încărcat permanent, în memoria internă, numai segmentul rădăcină, segmentele subordonate putând să fie încărcate pe rând, prin reacoperirea segmentelor între care nu există raporturi de subordonare, sau să fie executate în paralel.
Pentru aceasta, odată cu generarea programului executabil, editorul de legături construiește și tabela de legături asociată, în care sunt memorate informații despre :
numele segmentului rădăcină și a celorlalte segmente;
adresele segmentelor, în programul executabil, relativ la adresa 0 de memorare a programului executabil;
lungimea fiecărui segment;
punctul de intrare în program, adică adresa primei instrucțiuni executabile din program.
Pe baza acestor date, în timpul executării programului, se încarcă în memoria internă segmentul rădăcină iar restul de segmente se încarcă succesiv, în ordinea în care se execută, numărul segmentelor încărcate concomitent în memorie fiind determinat în funcție de memoria disponibilă, relațiile de subordonare și de lungimea fiecărui segment implicat.
Validarea datelor de intrare și a rezultatelor
După terminarea operațiilor de compilare a programului se procedează la testarea acestuia din punct de vedere al funcționalitații. Se vor aplica o serie de teste, la care se cunosc atât datele de intrare, cât și cele de ieșire. Astfel, se introduc seturile de date de intrare pentru care se cunosc ieșirile din sistem și se verifică corectitudinea rezultatelor oferite de sistemul informatic. În cazul în care datele furnizate de program nu corespund cu cele cunoscute, se va verifica treptat, pas cu pas execuția programului pentru a se vedea unde apare eroarea de calcul. Odată depanat programul se recompilează si se reia testarea.
Portabilitatea este proprietatea unei componente software de a funcționa, independent de platforma de calcul folosită (sistemul de calcul, sistemul de operare, etc.). Portabilitatea unui program compilator determină independența programelor care folosesc limbajul de programare respectiv, față de sistemul de calcul : este suficient ca în sistemul respectiv să fie implementată o variantă a compilatorului.
Fiabilitatea unui obiect (o componentă sau un sistem) este o funcție de timp F(t), definită ca: probabilitatea ca, în condiții de mediu specificate, obiectul să funcționeze adecvat, menținându-și parametrii prestabiliți în intervalul de timp [0,t).
Pentru a stabili fiabilitatea unui sistem informatic, se ia în considerație durata scursă de la punerea în funcțiune până la defectarea sistemului sau până la prima intervenție necesară repunerii în funcțiune a sistemului.
Un element important, atât pentru activitatea de tartare a erorilor, cât și pentru a supraveghea funcționarea unui sistem informatic este jurnalul de evenimente.
Jurnalele de evenimente sunt fișiere speciale care înregistrează evenimente semnificative în momentul execuției unui program, din momentul lansării acestuia în execuție până la ieșirea din acesta sau atunci când un program întâmpină o eroare.
Ori de câte ori apar aceste tipuri de evenimente, se înregistrează evenimentul într-un jurnal care poate fi un simplu fișier text sau chiar o bază de date. Este necesar să existe un astfel de jurnal în cadrul oricărui sistem informatic pentru a se observa momentul în care apare o eroare în funcționarea acestuia și pentru a se descoperii natura erorii respective.
Tema 1. Implementează sistemul informatic
Fișa de documentare 1.5 – Livrarea sistemului informatic
Livrarea sistemului informatic este faza în care acesta este predat în cadrul unității pentru care a fost proiectat. Este momentul în care pentru prima oară cei care îl vor folosi efectiv și pentru care a fost creat sunt puși față în față cu acesta.
În cadrul procesului de livrare a sistemului informatic se recomandă urmarea câtorva etape esențiale pentru ca procesul de implementare să fie finalizat cu succes. Acestea sunt:
asigurarea că sunt îndeplinite toate cerințele formulate inițial și că au fost atinse toate obiectivele stabilite;
instruirea utilizatorilor finali, pentru ca aceștia sa poată folosi la capacitate maxima sistemul informatic;
verificarea performanțelor sistemului informatic după instalarea acestuia la beneficiar;
implementarea unui sistem de feedback atât în faza initială de dare în folosință, cât si pentru parcursul exploatării sistemului informatic.
Asigurea cerințelor și obiectivelor din proiect
După terminarea activităților de proiectare și realizarare a sistemului informatic, trebuie verificat dacă acesta îndeplinește cerintele inițiale pentru care a fost realizat și daca toate obiectivele au fost atinse. Pentru a putea vedea acest lucru, se procedează la o evaluare a sistemului informatic. Evaluarea lui se face fie chiar după momentul implementării, fiind de fapt o evaluare inițială, dar care nu este semnificativă pentru durata de viață prognoyată pentru sistemul proiectat, fie se poate apela la o evaluare paralelă cu exploatarea curentă.
Această evaluare trebuie să răspundă următoarelor probleme:
În ce măsură cheltuielile efectuate pentru proiectarea, implementarea și exploatarea sistemului se justifică prin eficiența economică obținută. Pentru aceasta se fac următoarele operații:
cuantificarea valorică a efectelor economice directe și indirecte obținute după implementarea noului sistem; se verifică astfel în ce masură obiectivele și performanțele propuse în etapele anterioare au fost atinse;
recalcularea cheltuielilor efectuate pentru proiectarea, implementarea și exploatarea curentă a sistemului informatic;
compararea efectelor economice obținute cu cheltuielile efectuate.
În ce măsură noul sistem răspunde cerințelor informaționale formulate inițial și unor cereri apărute ulterior. Cu această ocazie se verifică o serie de aspecte de ordin calitativ și cantitativ cu privire la modul de rezolvare concret al problemelor formulate inițial de unitatea economică către echipa de proiectare, cât și gradul în care sistemul realizat mai corespunde cu cerințele informaționale actuale:
în ce măsură au fost respectate intrările, ieșirile, procedurile și algoritmii de calcul, stabilite inițial din punct de vedere al conținutului informațional, al formei, al frecvenței și termenelor de obținere etc.;
în ce măsură delimitarea sarcinilor „om-calculator” mai este corect concepută, dacă există proceduri automate care nu se justifică, dacă există proceduri manuale care sunt necesare și dacă acestea pot fi automatizate și cuprinse în cadrul sistemului informatic;
dacă rapoartele de ieșire furnizate conțin toate informațiile necesare compartimentelor care le utilizează, în ce masură aceste rapoarte de ieșiri sunt eficiente;
dacă este asigurată prin noul sistem precizia și corectitudinea informațiilor;
dacă prin apariția unor modificări de legi, acte normative, structuri organizatorice etc. sau prin reprofilarea, dezvoltarea unității economice, concepția sistemului informatic, a ieșirilor, a algoritmilor utilizați, frecvența prelucrărilor, fluxul informațional, mai corespunde cu cerințele informaționale noi din cadrul unității economice respective.
În ce măsură sistemul este exploatat corect și eficient. Pentru aceasta se verifică:
dacă sunt respectate toate instrucțiunile de culegere, codificare și verificare a datelor de intrare și respectiv toate instrucțiunile de de utilizare a rapoartelor de ieșire;
dacă este respectat fluxul informațional proiectat și dacă s-au efectuat toate modificările organizatorice necesare (reduceri de personal, schimbări de atribuții, organizarea unor noi compartimente etc.);
Spre exemplificare, evaluarea performanțelor în cursul exploatării unei baze de date are in vedere următorii parametrii:
organizarea fizică a datelor (în ce măsură alocarea suporturilor și a unitășilor periferice asigură o exploatare eficientă);
gradul de activitate al datelor (în ce măsură accesul la datele cel mai frecvent utilizate după o perioadă de timp, este sau nu un acces privilegiat);
asigurarea securității și integrității datelor (în ce măsură a fost evitat accesul neautorizat la anumite informații din baza de date, cum s-a comportat sistemul la apariția unor incidente etc.).
Măsurara acestor parametrii se poate face fie prin intermediul informațiilor furnizate prin sistemul de operare, fie prin informațiile furnizate de sistemul de gestiune al bazei de date utilizat. O altă performanță tehnică frecvent evaluată este timpul de răspuns. Această evaluare se face din două puncte de vedere:
dacă timpul de răspuns este cel prevăzut;
dacă timpul de răspuns mai corespunde cu cerințele utilizatorilor.
Prin timp de răspuns se înțelege în general, timpul în care sistemul informatic furnizează un raspuns la un stimul semnificativ primit din exterior. Un stimul poate fi producerea unui eveniment care trebuie reflectat în baza de date, prin operarea unei tranzacții (de exemplu: apariția unei comenzi de la unbeneficiar). Un alt stimul poate fi o cerere de informații din baza de date (de exemplu: nivelul stocurilor dintr-un anumit material la un moment dat).
Ca urmare timpul de răspuns poate fi privit din două puncte de vedere:
timpul necesar actualizării bazei de date;
timpul necesar regăsirii informațiilor solicitate din baza de date.
Pentru ambele situații se verifică dacă mărimea timpului de răspuns asigură controlul în timp util asupra evenimentelor semnalate, respectiv permite fundamentarea unor decizii cauzate de apariția stimulilor respectivi.
La evaluarea performanțelor tehnice ale sistemului informatic se poate pune chiar problema utilizării unor echipamente de calcul cu caracteristici tehnice superioare (prin completarea sau extinderea configurațiilor, utilizarea de echipamente terminale, trecerea pe un calculator de capacitate superioară etc.). O astfel de decizie trebuie însă fundamentată întotdeauna pe criterii de eficiență economică și corelată cu resursele materiale și financiare avute la dispoziție la un moment dat.
Instruirea utilizatorilor finali
Instruirea utilizatorilor are ca scop pregatirea acestora pentru folosirea noului sistem. O practică curentă este organizarea de succesiuni de instruire pentru grupuri de utilizatori sub îndrumarea unor instructori buni cunoscatori ai sistemului. De obicei istructorii sunt specialiști (programatori, analisti) care au participat la realizarea stemului.
Instruirea personalului utilizator presupune o serie de activitati, redate in figura următoare:
Figura 4 Instruirea personalului utilizator
Sensibilizarea beneficiarului în probleme de informatică urmărește să aducă la cunoștință acestuia posibilitățile tehnicii electronice de calcul, avantajele ei, precum sj ca disciplină informațională impusă utilizatorilor. Aceasta se poate face prin cursuri de initiere de scurtă durată, organizate de proiectant la sediul acestuia sau la sediul beneficiarului.
Atragerea personalului cu putere de decizie în activitatea de implementare este garanția asigurării la timp și integrale a condițiilor necesare implementării, lucru ce va duce implicit la încadrarea acestei etape în termenele stabilite de proiectant.
Pregătirea psihologică a personalului unității beneficiare are drept scop convingerea acestuia că introducerea tehnicii moderne nu urmărește reducerea personalului, ci ușurarea muncii acestuia, preluarea unei părți din personal în activități de informatică și orientarea altei părți în activități utile unității. Acest lucru va da posibilitatea creării unui climat favorabil implementării soluției proiectate.
Instruirea propriu-zisă a utilizatorilor are ca scop calificarea personalului în utilizarea noului sistem informatic.
Verificarea performantelor sistemului informatic proiectat
Verificarea performanțelor sistemului informatic se realizează prin evaluarea rezultatelor obținute pe măsura testării și implementării tuturor produselor informatice în comparație cu cerințele și restricțiile formulate în etapa de proiectare. Totodată se va avea în atenție și verificarea asigurării condițiilor necesare pentru exploatarea curentă a sistemului, asigurarea capacității de prelucrare a datelor, modul în care este realizat ritmul de exploatare (graficul de exploatare) proiectat, atât la nivelul utilizatorului, precum si performanțele în exploatare (cum ar fi timpul de răspuns, siguranța în funcționare etc.).
Verificarea performanțelor sistemului proiectat presupune desigur și evaluarea și validarea rezultatelor obținute prin calculul indicatorilor de eficiență economică. Dacă la verificare se constată deficiențe, acestea trebuie eliminate. Acest lucru se poate realiza imediat sau, daca sunt cauze mai profunde din proiectare, într-un timp mai îndelungat.
Prin această tactic, efortul implementării scade treptat pe masura acumulării experienței de la aplicațiile anterioare.
Condiția necesară pentru a folosi această tactica este ca la momentul implementării fiecărei aplicații să existe volumul complet de date solicitat de aplicația respectivă.
Implementarea unui sistem de feedback
Această etapă constituie etapa finală din cadrul ciclului de implementare a sistemului informatic, aceasta permițând proiectanților și realizatorilor efectivi ai sistemului informatic să culeagă date de la unitatea economică în ceea ce privește parerea lor despre funcționalitatea și calitatea sistemului informatic realizat.
Sistemele de feedback in cazul unui sistem informatic pot fi diversificate în funcție de momentele la care se aplică sau tipul de informații dorit, astfel:
obținut in momentul exploatării curente a sistemului, în cursul căreia pot fi sesiyate anumite anomalii; acest lucru este posibil chiar cu ajutorului sistemului informatic, prin analiza datelor de ieșire furnizate în cadrul exploatării zilnice a acestuia, sau prin aplicarea unor chestionare utilizatorilor efectivi ai sistemului informatic;
obținut chiar după terminarea fazelor de implementare și instruirea utilizatorilor, după prima zi de exploatare a sistemului informatic; la fel ca și feedbackul din exploatarea curenta, acesta poate fi obținut fie prin analiza datelor furnizate de sistem la sfârșitul primei zile de utilizare, fie se pot aplica niște chestionare de feedback utilizatorilor cu privire la parerile lor în ceea ce privește utilitatea, funcționalitatea, fiabilitatea noului sistem informatic;
feedback aplicat pentru întreținerea și dezvoltarea sistemului, pentru înlăturarea anomaliilor sesizate și operarea cerințelor noi apărute; se urmărește obținerea de informații de la utilizatorii sistemului informatic cu privire la ce se poate îmbunătății, ce erori au apăut în cadrul activităților de exploatare, urmând ca sa se treacă apoi la acivități de remediere sau îmbunătățire a acestuia.
Tema 2. Asigură mentenanța sistemelor informatice
Fișa de documentare 2 – Mentenanța sistemelor informatice
Noțiunea de mentenanță a sistemelor informatice
Este cunoscut faptul că în situația unor sisteme informatice complexe ce recurg la organizarea datelor în baze de date, problema cea mai dificilă o constituie intreținerea și actualizarea bazei de date.
Baza de date este formată dintr-o multitudine de colecții sau subcolecții de date și impune cu necesitate actualizarea datelor în scopul asigurării coerenței datelor pentru informarea corectă și exactă a utilizatorilor. În caz contrar, se va ajunge la o dezinformare a factorilor de decizie sau a altor categorii de utilizatori cu toate implicațiile negative ce pot rezulta din aceasta.
La fel de necesară este și activitatea de corectare, adaptare și perfecționare a sistemului informatic în funcție de schimbările sau problemele ce intervin la nivelul unității beneficiare.
Oricât de mult ar dori analiștii să înghețe un sistem și problemele sale, este imposibil de realizat, pentru că lumea și activitățile unităților economice sunt într-o continuă schimbare. Permanent vor fi cerințe de noi funcții sau schimbări ale celor vechi. Vor fi totdeauna organe guvernamentale care vor cere noi rapoarte. Periodic apar noi echipamente de calcul mai performante cu posibilități de rezolvare a unor probleme care până atunci nu au putut fi rezolvate. Software-ul este întreținut din dorința de a spori funcționalitatea sistemului, pentru a facilita interfața cu utilizatorii.
Activitatea de întreținere nu se referă doar la schimbările de hardware, software sau procedurilor privind afacerile, ci mentenanța presupune și corectarea sau înlăturarea unor greșeli, erori sau omisiuni de probleme din faza de proiectare și creare a sistemului.
Întreținerea și dezvoltarea sistemului este o chestiune de viață pentru majoritatea sistemelor. Oricare ar fi motivele, orice sistem, cu siguranță va solicita schimbări.
Mentenanța începe după instalarea/implementarea sistemului informatic.
În acest context apare în mod firesc întrebarea: cât trebuie o societate comercială să utilizeze sistemul până a se trece la o reproiectare a acestuia? Totuși, în general există anumite limite cu privire la abandonarea vechiului sistem șj trecerea la proiectarea unui nou sistem. Acest lucru are loc atunci cand vechiul sistem nu mai satisface cerințele informaționale necesare utilizatorilor finali și totodată au fost amortizate cheltuielile de realizare a vechiului sistem. În acest fel se caută să se evite o supraîncărcare a costurilor de producție sau servicii prestate cu cheltuielile de amortizare a vechiului și noului sistem.
Din cele prezentate se poate deduce faptul că mentenanța sistemelor informatice reprezintă activitatea de monitorizare, evaluare și modificare a sistemului pentru a face înbunătățirile dorite sau necesare [ORAC96, ORAC98, HOGE99].
Activitatea de mentenanță include un proces de revizuire după implementare pentru a se asigura că sistemele informatice nou implementate corespund obiectivelor, cerintelor și performanțelor prestabilite. Eventualele erori din crearea sau exploatarea sistemului trebuie corectate în cadrul procesului de mentenanță.
Tipuri de mentenanță
În funcție de scopul urmărit, natura schimbărilor intervenite și urgența efectuării modificărilor, în sistem există mai multe tipuri de mentenanță, astfel: mentenanța corectivă, adaptivă, perfectivă și preventivă.
Mentenanța corectivă se referă la efectuarea de modificari în cadrul sistemului cu scopul de a repara și înlătura defectele sau erorile din proiectare, programare sau implementare.
Erorile de programare sunt de obicei mai ușor de corectat iar costul activității de corectare este mai scăzut.
Erorile de proiectare sunt dificil de reparat iar costurile pentru depanarea acestora este mai ridicat deoarece pot implica rescrierea mai multor componente de program.
Erorile de cerințe informaționale ale utilizatorilor sunt cele mai dificil de corectat și au costurile de depanare cel mai ridicate din cauză că impun reproiectări mai extinse de sistem.
Mentenanța corectivă presupune repararea acelor erori care au persistat în cadrul sistemului informatic și dupa testarea și implementarea acestuia, erori care nu se datorează beneficiarului sau a unei proaste proiectări, se mai numesc și erori de execuție.
În general majoritatea problemelor de mentenanță corectivă apar curând după instalarea sistemului la beneficiar. Atunci cand ele apar, devin priorități și trebuie rapid rezolvate pentru a elimina neplăcerile, neajunsurile sau situatiile catastrofale ce-ar putea să le genereze. Ca și exemplificare, aceste erori pot fi sub forma unor erori logice într-un program cu privire la calculul drepturilor și reținerilor banești ale salariaților unei societăți comerciale.
Din activitatea practică se apreciază ca mentenanta corectivă poate să se ridice la circa 75% din costurile tuturor tipurilor de mentenanță. Aceasta este o situație nefericită pentru că mentenanța corectivă nu aduce un spor de valoare unității beneficiare și nici o noua funcționalitate, doar se concentrează atenția pe îndepărtarea defectelor din sistemul existent.
Pentru a spori funcționalitatea sistemului informatic sau pentru a fi adaptat la un mediu nou, unde poate fi o platformă hardware diferită, sau pentru a utiliza un alt sistem de operare, un alt sistem de gestiune a bazelor de date sau pentru a fi adaptat la schimbările legislative care au apărut etc. avem de a face cu ceea ce în literatura de specialitate este denumit mentenanță adaptivă. Adică un sistem informatic existent este adaptat pentru a funcționa în alte condiții decât cele pentru care a fost creat. De exemplu, pentru anumite situații sintetice de formare/raportare necesare conducerii societății comerciale, redate sub formă tabelară, se va solicita redarea acestora și sub formă grafică. În acest caz intervine necesitatea ca rapoartele oferite de sistemul informatic să fie adaptate noilor cerințe și să furnizeze și forma de reprezentare grafică.
Mentenanța adaptivă e mai putin urgentă decât cea corectivă și reprezintă o mică parte din mentenanța sistemului, adăugându-i uneori și un surplus de valoare, având în vedere că sistemul informatic de regulă se dezvoltă pentru a fi folosit și pentru alte situații decât cele inițiale.
Mentenanța perfectivă implică implementarea de noi cerințe de sistem funcționale sau nonfuncționale, cum ar fi:
– îmbunătățirea performanțelor de procesare;
– interfețe cu utilizatorul mai prietenoase;
– reducerea timpului de așteptare a clienților prin perfecționarea algoritmului de calcul sau imprimare;
Deci prin mentenanță perfectivă se urmărește să se adauge sistemului trasături sporite, dar nu neapărat necesare. Tocmai din aceste considerente mentenanța perfectivă e privită ca o nouă dezvoltare si nu menținere sau întreținere.
Mentenanța preventivă implică schimbări făcute sistemului pentru a reduce sau atenua riscul căderii sistemului datorită unor cauze, cum ar fi sporirea numărului de inregistrări mult peste cele prelucrate în mod curent. Un alt caz ar putea fi prevederea unor copii de siguranță și jurnale de urmărire a actualizărilor în scopul refacerii bazei de date în cazul deteriorării sau pierderii acesteia. Ca și mentenanța perfectivă, cea preventivă este de prioritate mai scăzută. Pe parcursul ciclului de viață al sistemului, mentenanța corectivă, foarte probabil apare după instalarea inițială sau după schimbări majore ale sistemului.
Mentenanța adaptivă, perfectivă și preventivă daca nu sunt atent proiectate si reglementate pot duce la mentenanță corectivă, care după cum am specificat anterior nu este de dorit având în vedere că generează costuri și nu are ca și effect nici o îmbunătățire a sistemului informatic.
Procesul de mentenanță
Realizarea unui sistem informatic presupune parcurgerea mai multor etape care definesc ciclul de viață al acestuia. Acest lucru este reprezentat schematic în cadrul figurii următoare:
Figura 5. Etapele realizării sistemului informatic
În cadrul figurii de mai sus sunt precizate denumirile etapelor, sinteza activităților realizate și rezultatul obținut în cadrul fiecărei etape. Totodată se poate desprinde aspectul ciclic de realizere/dezvoltare a sistemului informatic în care ultima etapă o constituie mentenanța. Desigur, un ciclu de viață prin definiție e circular, în sensul ca ultima activitate duce înapoi la prima. Aceasta înseamnă că procesul de mentenanță a unui sistem informatic e procesul de întoarcere la începutul ciclului de viață și care repetă pașii de relizare/dezvoltare până când se implementează schimbarea.
Din alt punct de vedere, procesul de mentenanță apare privit ca și o întreținere și dezvoltare a sistemului. Astfel, în urma evaluărilor efectuate pe parcursul exploatării sistemului, poate apărea necesitatea efectuării de corecții sau modificări în cadrul sistemului informatic. În funcție de natura lor și de efortul pe care il presupune operarea acestor corecții și modificări, se desfășoară activități de întreținere sau dezvoltare a sistemului.
Operarea de corecții și modificări de mică amploare, care necesită un efort relativ redus și care se poate raliza „din mers”, fără a afecta exploatarea curentă a sistemului, constituie conținutul activității de întreținere. Operarea de modificări de mare amploare, afectând întreaga concepție a sistemului informatic constituie conținutul activității de dezvoltare.
Operarea oricărei corecții sau modificări trebuie fundamentată pe criterii de eficiență. Ca urmare, în prealabil trebuie să se analizeze:
în ce măsură corecția sau modificarea respectivă este obligatorie sau numai recomandabilă;
ce beneficii aduce operarea sa și ce costuri suplimentare presupune;
de ce resurse (materiale, umane și financiare) se dispune;
în ce măsură modificările efectuate produc schimbări esențiale asupra celorlalte componente ale sistemului informatic.
Toate aceste operații de mentenanță a sistemelor informatice, fie că sunt de natură corectivă, fie ca produc modificări mai semnificative în cadrul sistemului informatic trebuie să treaca prin aproape aceleași etape prin care a trecut sistemul informatic inițial din momentul elaborarii, până în momentul implementării acestuia. Astfel, pașii care trebuiesc urmați sunt următorii:
investigarea sistemului – este faza în care se reanalizează sistemul informatic pentru a se stabili exact parametrii de funcționare a acestuia;
analiza/evaluarea sistemului – pe baza datelor obținute în urma investigării se procedează la analiza acestora pentru a se stabilii care sunt factorii care trebuiesc corectați sau, în cazul modificărilor mai mari, unde anume se vor introduce noile elemente necesare dezvoltării sistemului informatic;
proiectarea/reproiectarea sistemului – este faza în care se stabilesc direcțiile de acțiune pentru corectarea sau dezvoltarea sistemului informatic și se elaborează documentația pentru aceste operații;
programarea sistemului informatic – presupune refacerea programelor pentru a corecta deficiențele sistemului informatic sau adăugarea de noi module sau subprograme în cazul dezvoltării sistemului informatic;
implementarea sistemului informatic – este faza în care versiunea modificată a sistemului este implementată beneficiarului, sunt prezentate utilizatorilor modificările efectuate și se dă în utilizare sistemul corectat sau modificat.
În urma acestor activități, se reiau procedurile de mentenanță, astfel reieșind caracterul ciclic al acestei activități. Acest aspect este evidențiat și în figura următoare:
Figura 6. Etapele mentenaței sistemelor informatice
Planificarea procesului de mentenanță
Din cele prezentate se poate desprinde concluzia că procesul de mentenanță începe chiar după implementarea și darea în exploatare a sistemului informatic. Procesul de mentenanță implică următoarele activități majore:
obținerea cerințelor de mentenanță;
transformarea cerințelor în schimbări;
proiectarea schimbărilor;
implementarea schimbărilor.
Referitor la obținerea cerințelor de mentenanță acestea pot fi desprinse pe parcursul implementării sau exploatării curente a sistemului informatic de către utilizatorii finali, liderul de proiect sau de către clienți, constituind un set de cerințe de schimbare. Pentru colectarea si sesizarea cererilor de schimbare se practică un tip de document „cerere de service de sistem", prin care se solicită noi dezvoltări, se raportează problemele ce au apărut sau se cer noi trăsături de sistem la un sistem deja existent. Toate cererile de service de sistem sunt colectate de o persoana prestabilită din cadrul colectivului de mentenanță.
După primirea cerințelor de schimbare se recurge la analiza acestora pentru a se stabili dimensiunea schimbării. Trebuie determinat modul în care cerințele vor afecta sistemul și utilizatorii curenți, costul și durata specializarii acestora. Dimensiunea cerintelor poate fi privită sub aspectul riscului si fezabilității.
Documentația necesară în procesul de mentenanță
Una dintre caracteristicile generale ale metodologiilor și tehnicilor de realizare a sistemelor informatice o constituie elaborarea unei documentații de sistem pe fiecare etapă din cadrul acesteia. Documentația astfel realizată va constitui, pe de o parte, un mijloc de comunicare între diferitele categorii de personal de specialitate în informatică, antrenate în realizarea diferitelor etape de realizare a sistemului, iar pe de alta parte, după implementarea acestuia documentația va constitui suportul necesar mentenanței sistemului de la specificația de cerințe până la planul de test și testarea finală a acestuia, dintre care fac parte:
specificațiile de cerințe ale sistemului; schema generală a sistemului care mai poartă denumirea de arhitectura generală a sistemului cu evidențierea: intrarilor, procedurilor de control și validare a datelor, colecțiile de date, procedurile de editare a situatiilor de informare-raportare, ieșirile sistemului, resursele hardware/software folosite etc.; arhitectura programelor și schemele logice de realizare a fiecarui program; videoformatele de intrare/ieșire; programele sursă listate și comentate;
cum se leagă informațiile de validare cu cerintele informaționale ale utilizatorilor;
un ghid de mentenanță de system, care descrie care parți din sistem depind de hardware și care de software.
Documentația de sistem trebuie să fie structurată, cu o prezentare generală care să conțină de la descrieri generale, până la cele mai detaliate ale fiecărui aspect al sistemului. Este important ca documentația să fie clară și ușor de citit, astfel ea nu va putea fi folosită.
IV. Fișa rezumat
Numele elevului: _________________________
Numele profesorului: _________________________
Competențe care trebuie dobândite
Această fișă de înregistrare este făcută pentru a evalua, în mod separat, evoluția legată de diferite competențe. Acest lucru înseamnă specificarea competențelor tehnice generale și competențelor pentru abilități cheie, care trebuie dezvoltate și evaluate. Profesorul poate utiliza fișele de lucru prezentate în auxiliar și/sau poate elabora alte lucrări în conformitate cu criteriile de performanță ale competenței vizate și de specializarea clasei.
Activități efectuate și comentarii
Aici ar trebui să se poată înregistra tipurile de activități efectuate de elev, materialele utilizate și orice alte comentarii suplimentare care ar putea fi relevante pentru planificare sau feed-back.
Priorități pentru dezvoltare
Partea inferioară a fișei este concepută pentru a menționa activitățile pe care elevul trebuie să le efectueze în perioada următoare ca parte a viitoarelor module. Aceste informații ar trebui să permită profesorilor implicați să pregătească elevul pentru ceea ce va urma.
Competențele care urmează să fie dobândite
În această căsuță, profesorii trebuie să înscrie competențele care urmează a fi dobândite. Acest lucru poate implica continuarea lucrului pentru aceleași competențe sau identificarea altora care trebuie avute in vedere.
Resurse necesare
Aici se pot înscrie orice fel de resurse speciale solicitate:manuale tehnice, rețete, seturi de instrucțiuni și orice fel de fișe de lucru care ar putea reprezenta o sursă de informare suplimentară pentru un elev care nu a dobândit competențele cerute.
Notă: acest format de fișă este un instrument detaliat de înregistrare a progresului elevilor. Pentru fiecare elev se pot realiza mai multe astfel de fișe pe durata derulării modulului, aceasta permițând evaluarea precisă a evoluției elevului, în același timp furnizând informații relevante pentru analiză.
V. Bibliografie
Vasile, Biță. Cristian, Antonescu. Marcela, Iosep. Ileana, Trandafir. (1983). Sisteme informatice, București: Editura Didactică și pedagogică
Mircea, Preda. (2006). Proiectarea sistemelor informatice financiar-contabile, Petroșani: Litografia Universității din Petroșani
Gheorghe, Militaru. (2004) Sisteme informatice pentru management, București: Editura ALL
xxxx
***. http://ro.wikipedia.org/wiki/Fiabilitate 2.05.2009
***. https://www.cs.ubbcluj.ro/~tzutzu/Didactic/AnalizaGestSisteme/Curs11.htm 5.05.2009
***. http://www.primagra.ro/mentenanta1.php la 12.05.2009
V. Bibliografie
Vasile, Biță. Cristian, Antonescu. Marcela, Iosep. Ileana, Trandafir. (1983). Sisteme informatice, București: Editura Didactică și pedagogică
Mircea, Preda. (2006). Proiectarea sistemelor informatice financiar-contabile, Petroșani: Litografia Universității din Petroșani
Gheorghe, Militaru. (2004) Sisteme informatice pentru management, București: Editura ALL
xxxx
***. http://ro.wikipedia.org/wiki/Fiabilitate 2.05.2009
***. https://www.cs.ubbcluj.ro/~tzutzu/Didactic/AnalizaGestSisteme/Curs11.htm 5.05.2009
***. http://www.primagra.ro/mentenanta1.php la 12.05.2009
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Implementarea Sistemelor Informatice (ID: 149867)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
