ARTA PROGRAMARII CALCULATOARELOR
Programatorul artist
Definirea problemei
Elaborarea specificatiilor
Desenarea diagramelor de control
Scrierea de cod
Testarea
Elaborarea documentatiei
Implementarea
Managementul
Programatorul artist
Programarea calculatoarelor este o arta atunciu cand:
- instructiunile sunt considerate asemeni culorilor din tuburi de catre pictor
- programul este un act de creatie prin noutatea sa
- numca programatorului nu are caracter repetitiv
- imbinarea instructiunilor are la baza reguli ce tin de stilul programatorului
- reutilizarea de componente este asemanatoare motivelor folclorice utilizate in muzica
- produsele software sunt analizate strict prin prisma a ceea ce realizeaza si nu cum sunt ele construite
- programatorul are la baza o serie de cunostinte acumulate prin experienta sa sau invatate din manuale de arta programarii
- fiecare produs software este un unicat
- comunicarea intre programatori este la nivel de filosofiue pe efectele programelor
- constructiile din interiorul programului sunt rezultatul maiestriei, ingeniozitatii si talentului.
Programatorul este un artist.
Lucreaza solitar si cel mult are discipoli care invata de la el exact ceea ce el crede de cuviinta sa le ofere.
Programele sunt opere de arta si oricine vine sa faca analiza pe text sursa, intr-adevar conchide ca are in fata o opera de arta, fie o constructie perfecta care este inteleasa cu usurinta, fie o constructie sofisticata despre care se spune ca este de neanteles.
Artistul programator stie foarte multe limbaje de programare.
El are o bogata experienta.
Are deja o ierarhizare a secventelor de instructiuni care si unde se potrivesc.
Daca intervine pe programul elaborat de un alt programator o face cu eficienta foarte ridicata.
Programatorul artist are capacitatea de a se autoperfectiona.
Vine cu idei creatoare si de fiecare data trece la o noua varianta a software pe care il are in exploaqtare, aducandu-i noi facilitati, perfectionandu-l.
Programatorul artist:
- elaboreaza singur specificatiile
- elaboreaza singur diagramele de control
- scrie texte si cel mult da si la alti programatori sa elaboreze unele componente dar prin indicatiile pe care le dau si prin restrictiile pe care le impun vor obtine proceduri exact in forma pe care ei le-ar fi elaborat
- testeaza programele
- elaboreaza documentatia
- trec la implementare
- asista utilizarea curenta a produsului la beneficiar.
Programatorul de acest tip este un artist total.
revenire

Definirea problemei
Definirea problemei pentru care se va scrie un program intr-un limbaj de programare inseamna:
- stabilirea rezultatelor finale care se afisaza prin program
- identificarea formulelor de calcul pentru obtinerea acestor rezultate
- definirea datelor de intrare si a modului in care acestea se colecteaza.
La definirea problemei, programatorul artist trebuie sa dea dovada de mult tact, de multa rabdare si sa asculte pe cel care este beneficiarul pprodusului software.
Beneficiarul explica ceea ce doreste cu cuvintele sale, iar programatorul trebuie sa dispuna de resursele necesare pentru:
- a intelege exact ce doreste beneficiarul
- a verifica daca a inteles bine
- a avea formulele corecte
- a dispune de datele de intrare care se folosesc in calcule
- a obtine exact rezultatele cerute de beneficiar.
Programatorul trebuie sa solicite exemple de seturi de date, parcurgerea pasilor de calcul si chiar rezultate intermediare.
El trebuie sa refaca unele calcule pentru a se verifica daca a inteles bine.
Ori de cate ori considera ca are lucruri neclare, programatorul va relua discutia cu beneficiarul, va pune intrebari.
In final, textul prin care se defineste problema trebuie validat de beneficiar si constituie baza pentru toate etapele ciclului de deszoltare software.
Daca se considera un beneficiar care doreste elaborarea unui program destinat calculului de indicatori statistici, se procedeaza la
definirea problemei pentru acest beneficiar.
revenire

Elaborarea specificatiilor
Specificatiile sunt texte.
Pentru elaborarea specificatiilor sunt definite reguli precise.
Se stabilesc datele de intrare.
Programatorul cunoaste tipurile de date care se definesc intr-un program si in specificatii precizeaza:
- care sunt datele elementare prin care se desemneaza numarul de elemente dintr-o colectivitate, dimensiunile maxime ale problemelor de rezolvat
- care sunt datele omogene grupate sub forma de masive uni sau bidimensionale
- datele neomogene care definesc articole in fisiere, elemente ale unor structuri dinamice
- numele de fisiere si ce contin acestea
- organizarea sub forma de baze de date a seturilor de date pe care le manipuleaza programul
- cheile de cautare in fisiere sau baze de date.
La definirea problemei au fost clarificate toate formulele si toate cerintele de prelucrare.
De aceea, in specificatii se precizeaza:
- algoritmii de prelucrare
- parametri date de intrare in module
- parametri care se constituie in rezultate intermediare.
Programatorul elaboreaza un text in care descrie:
- formatele rezultatelor
- conditii de obtinere a fiecarei structuri de rezultat intermediar.
Specificatiile sunt considerare corecte si complete daca dupa parcurgerea lor de orice alt programator, diagramele, textul sursa si tot ceea ce rezulta din parcurgerea de catre altcineva a etapelor ciclului de dezvoltare software, garanteaza ca beneficiarul este satisfacut de rezultatele obtinute de la calculator.
Pentru problema de calcul de indicatori statistici se elaboreaza
specificatiile corespunzatoare.
revenire

Desenarea diagramelor de control
Dia gramele sunt forme grafice de descriere a programului.
Pentru intreg programul se construieste o structura arborescenta in care blocurile dreptunghilare reprezinta modulele care se apeleaza in program.
Pentru detaliere se construiesc schemele logice.
O schema logica este alcatuita din:
- blocuri
- arce orientate
- conectori,
Blocurile de calcul au forma drptunghilara si dispun de doua arce orientate.
Toate acestea au - diagrama pentr calculul
reprezentari grafice deosebit de simple.
Blocurile de decizie au forma de romb si dispun de trei arce orientate.
Arcele sunt orientate in sensul de derulare a proceselor de prelucrare.
Conectorii definesc legaturi intre fluxurile de prelucrare.
Schemele logice permit reprezentarea urmatoarelor structuri de control:
- structura liniara
- structura alternativa
- structura repetitiva conditionata posterior
- structura repetitiva conditionata anterior
- structura alternativa multipla. In programe se regasesc structuri incluse. Programatorii cu foarte mare experienta evita realizarea de scheme logice.
Schemele logice sunt absolut necesare la predarea produsului software intrucat documentatia include obligatoriu si diagramele.
Pentru elaborarea programului destinat calculuilui de indicatori statistici se elaboreaza:
- diagrama pentr calculul mediei aritmetice
- diagrama pentr calculul dispersiei
- diagrama pentr calculul indicilor cu baza fixa si cu baza in lant
- diagrama pentr calculul coeficientului de variatie si mediilor mobile de ordin doi
- diagrama pentr calculul programului principal
revenire

Scrierea de cod
Scrierea de cod este forma de concretizare a artei programatorului.
Limbajul de programare dispune de resurse nelimitate , la cost zero.
In program se repeta o instructiune ori de cate ori vrea programatorul si nu-l costa nimic pe acesta.
Nu acelasi lucru se inbtampla in constructii unde fiecare caramida are un cost care nu se neglijaza la intocmirea devizului final.
Programatorul:
- alege tipurile de date
- stabileste ce instructiuni utilizeaza pentru a scrie fiecare modul
- precizeaza cum se transmit parametri de la un modul la altul
- defineste gradul de omogenitate al fiecarei secvente din program
- grupeaza secventele de initializare
- gestioneaza alocarile si dealocarile
- respecta cerintele de traversare in raport cu dimensiunile zonelor alocate
- asigura nivelul de validare a datelor care sa dea independenta programului de alte componente ale sistemului de operare
- introduce comentarii
- construieste conventii privind starea prelucrarii in proceduri prin definirea de coduri pentru gradele de erori identificate.
Programul se scrie pe baza de specificatii si trebuie sa existe o legatura intre instructiuni si specificatii.
Pentru proble4ma de calcul a indicatorilor statistici exista o perfecta corespondenta intre
specificatii si program
revenire

Testarea
Testarea se efectueaza cu seturile de date de test oferite la definirea problemei.
Corectitudinea programului este apreciata in raport cu rezultatele intermediare primite de la beneficiar pentru fiecare set de date cu care se testeaza programul.
Rezultatul testarii fie incheie procesul de elaborare, fie conduce la reluarea etapelor ciclului de dezvoltare.
Cu cat greselile sunt identificate mai tarziu in raport cu momentul in care au fost facute, cu atat efortul de indreptare este mai mare.
Pentru programul de calcul a indicatorilor statistici se definesc trei
seturi de cate
Valorile sunt astfel alese incat sa se verifice cu usurinta rezultatele.
Din analiza rezulta ca lipseste din calcule ultimul termen.
Este necesar sa se modifice diagramele, prin inlocuirea expresiei relationale i < n cu i<=n.
In mod corespunzator se modifica si textele procedurilor.
revenire

Elaborarea documentatiei
Elaborarea documentatiei revine la a scrie:
- ghidul programatorului
- ghidul utilizatorului
- ghidul de prezentare.
Documentatia este folosita:
- in procesul de mentenanta
- de catre operatorii care introduc date
- la depanare
- la prezentarea produsului pentru cumparatori.
revenire

Implementarea
Implementarea este etapa in care realizatorul programului efectueaza instalarea produsului, instruirea personalului si incepe exploatarea.
Rezultatele implementarii determina modificari in obtinerea de versiuni care sa faca produsul program mai usor de implementat si de exploatat.
revenire

Managementul
Managementul presupune:
- gestionarea fisierelor cu texte sursa intermediare
- exploatarea insemnarilor care se fac pe parcursul ciclului de dezvoltare
- includerea in biblioteci a celor mai bune componente din program, in vederea reutilizarii lor ulterioare, pentru alte programe
- masurarea consumurilor de resurse care au fost necesare pentru a face programul
- stabilirea nivelului de performanta a programului.
revenire

revenire