BIBLIOTECI Reutilizarea secventeolor Biblioteca de subprograme Biblioteca de macrodefinitii Biblioteci de secvente de cod sursa Biblioteci de clase Testarea Elaborarea documentatiei Implementarea Managementul bibliotecilor Reutilizarea secventelor
Indiferent de tehnologia de elaborare a produselor software, ideea de reutilizare a existat de la inceput.
Asa cum se repeta refrenul intr-un cantec, tot asa, intr-un program se repeta anumite secvente.
Asa au aparut subprogramele, din necesitatea ca si in cazul refrenului, de a relua anumite prelucrari, fara ca aceste prelucrari sa fie constituite in secvente noi, ci sa fie sub forma unor secvente care se apeleaza prin instructiunea CALL, deci se reutilizeaza.
Este vorba de reutilizarea de secvente in interiorul programului insusi.
Cu timpul, s-a observat ca unele subprograme bine scrise prin preluare in alte programe, conduc la:
- garantarea ca se obtin rezultate corecte
- reducerea duratei de realizare a programului
- reducerea costurilor.
Cu timpul, s-au definit:
- biblioteci de subprograme care contin proceduri, functii destinate rezolvarii unor clase de probleme: biblioteci de calcule matriceale, biblioteci de calcule polinomiale, biblioteci pentru sisteme liniare de exuatii, biblioteci de optimizari functii neliniare, biblioteci de programare liniara, biblioteci pentru optimizari de stocuri, biblioteci pentru validari de date, biblioteci cu proceduri de sortare:
- biblioteci de macrodefinitii, care includ m,acrodefinitii pentru testarea apartenenetei la o anumita categorie de campuri, biblioteci de alegere element minim sau maxim, macrodefinitii pentru implementarea unor functii grafice, a unor functii pentru lucru cu fisier;
- biblioteci de clase care contin clase dintre cele mai frecvent utilizate in programe, clase care gestioneaza operatii de intrare-iesire, ferestre, conversii, referiri, operatii intre diferite tipuri de date, supraincarcarea de operatori, transformari a tipurilor de date;
- biblioteci de secvente de program cu descrieri de date de catre managerul care gestioneaza dezvoltarea unei aplicatii; se asigura obligativitatea ca toti membri echipei sa utilizeze resursele impuse de manager, exact asa cum au fost definite; in biblioteca se descriu structuri de articole, antete de proceduri, structuri de liste de parametri, structuri de rezultate returnate si liste cu coduri a caror interpretare este , de asemenea, impusa de manager.
Pentru a reutiliza software, cel ce se incumeta sa impuna o astfel de politica in firma trebuie sa fie constient ca:
- in biblioteca se includ numai subprograme cu generalitate foarte mare; este foarte dificil sa se accepte ideea ca utilizatorul unui subprogram care a dat un rateu va mai apela la biblioteca cu pricina, crezand ca la a doua tentativa lucrurile vor sta altcumva; rateul vizeaza un caz care nu este inclus in subprogram, dar de care utilizatorul bibliotecii are mare nevoie;
- subprogramele au fost suficient de mult testate si ofera rezultate complete si corecte; trecerea intr-o biblioteca se face in timp, dupa ce programatorul s-a convins ca subprogramul este intr-adevar bun si nu ofera nicio surpriza din punct de vedere a corectitudinii si completitudinii rezultatelor;
- mai multi programatori vor apela acele subprograme datorita faptului ca in aplicatiile lor simt nevoia sa preia anumite operatii executate de aceste subprograme de biblioteca si sa nu mai depuna el efort pentru a le scrie; exista tentatia de a elabora subprograme complexe care sa execute foarte multe prelucrari specifice unei anumite probleme; in acest caz este putin probabil ca si alti programatori se vor confrunta exact cu acea problema si vor apela subprogramul; daca in biblioteca se va include subprogramul pentru calculul intretinerii unei familii pentru un apartament de pe o scara de la un bloc, acest subprogram are sanse reduse de a fi apelat; daca insa se vor scrie subprograme pentru: adunare elemente vector, pentru impartire elemente vector la un numar, pentru inmultire elemente vector cu un numar, pentru adunare elemente a doi vectori pentru a rezulta un alt vector, pentru sortare doi vectori dupa o cheie continuta in alt vector, evident, folosind aceste subprograme, cine doreste sa calculeze intretinerea unei familii o va face daca primeste ca intrare niste vectori cu suprafete de apartamente si numar de persoane din apartamente si niste numere din facturi;
- biblioteca trebuie sa fie construita astfel incat subprogramele: sa fie identificate usor, parametri sa fie usor de alcatuit si mai ales sa inspire incredere; de regula, cei care construiesc biblioteci trebuie sa ofere suficient de multe detalii incat curiozitatea programatorilor sa fie total satisfacuta; mai mult, modul in care au fost elaborate bibliotecile trebuie sa evidentieze inalta clasa a celor care le-au elaborat; nicio biblioteca elaborata de o echipa slaba nu va fi in obiectivul programatorilor care doresc sa reutilizeze componente din ea.
Bibliotecile se elaboreaza numai in ideea de a include componente care se reutilizeaza.
Mergand pe aceasta idee, cei care elaboreaza biblioteci trebuie sa aiba o strategie si de la inceput trebuie sa impuna programatorilor sa scrie subproigrame care rezolva probleme si care au destinatia precisa: o biblioteca de subprograme. revenire