Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna




category
Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Proiectarea programelor si a procedurilor



Proiectarea programelor si a procedurilor


Proiectarea programelor si a procedurilor

Proiectantul de soft are ca principala misiune definirea si structurarea componentelor care vor forma un tot unitar, astfel incat prin acestea sa se obtina un proiect soft operational. Proiectantul va grupa functiile ce trebuie sa fie interconectate si va descrie modalitatile de realizare a legaturilor. Dupa proiectantii de soft vor interveni programatorii, pentru transpunerea in realitate a proiectului. Ei vor controla intrarile, prelucrarile si iesirile din sistem prin intermediul programelor [1]

Softul are doua componente de baza instructiunile si modulele. Instructiunile sunt operatiuni elementare executate de calculator prin gruparea si selectia controlata a acestora pentru atingerea obiectivelor functiilor de prelucrare orientate pe probleme. Instructiunile constituie cel mai jos nivel al operatiunilor ce pot fi executate de catre un limbaj de programare. Blocurile de instructiuni sunt astfel grupate incat sa constituie anumite structuri executabile de calculator. De modul in care sunt grupate instructiunile pentru a da nastere unor structuri standard ale programelor, de relatiile dintre instructiuni, de aranjamentul acestora depinde calitatea softului proiectat  [1].



Modulul – este o colectie sau o forma grupata de instructiuni de programe sursa. Modulele se pot grupa pentru a forma programele.

Programul, in conceptia diversilor autori, are semnificatii diferite. El este definit ca:

un set de instructiuni cu ajutorul carora se efectueaza prelucrari specifice;

o entitate ce poate fi executata pe calculator;

un mijloc de comunicare cu calculatorul pentru rezolvarea unor probleme;

o descriere a unui algoritm si a datelor asociate in vederea executiei pe calculator, deci o reprezentare a acestora (algoritmi si date) tinand cont de restrictiile impuse de calculator;

o realizare a unei functii f care, data fiind o multime de date x, specifica valoarea y=f(x);

Prin algoritm se intelege o metoda de solutionare a unei clase de probleme, reprezentata de o succesiune finita de operatii bine definite, numite instructiuni.

Prin prisma complexitatii lor programele se pot clasifica [1]

programe simple (1000 de linii)

programe de complexitate medie(10 000 de linii)

programe complexe (peste 100 000 de linii) au numeroase module cu legaturi complexe.

Pentru ca programele sa fie caracterizate prin eficienta, fiabilitate, flexibilitate, inteligibilitate, in procesul elaborarii lor trebuie sa se respecte anumite principii  [1]:

principiul conformarii, potrivit caruia programele trebuie sa fie elaborate in conformitate cu cerintele utilizatorului;

principiul completitudinii consta in realizarea descrierilor complete ale obiectivelor programului pe toate nivelurile ierarhice de descompunere;

principiul abstractizarii se refera la elaborarea functiei programului, tinand cont de elementele esentiale, facandu-se abstractie de detaliile nesemnificative;

principiul modularizarii consta in descompunerea programelor in subdiviziuni logice (module), care vor fi analizate in procesul de concepere si elaborare a programelor.

In timp s-au conturat mai multe metode de programare, desi mai corect ar fi sa se numeasca tehnici de programare [1].

Metoda programarii clasice are la baza construirea monolitica a logicii programului, fara intentii de structurare. Programul este privit in totalitatea lui si analizat direct la nivelul operatiilor elementare pe care le implica executarea lucrarii care se elaboreaza .

Programarea modulara consta in descompunerea programului, chiar din faza de proiectare, in module usor de intrebuintat. Fiecare modul este apoi analizat ca un program distinct si rezolvat ca atare [1].

Metoda programarii structurate consta in faptul ca ofera o rezolvare standardizata si structurata, in mod unitar, a programelor, reprezentand o ridicare a activitatii de programare la nivelul activitatii industriale, fundamentata pe o metodologie stiintifica. Programarea structurata este caracteristica dezvoltarii sistemelor pe baza diagramelor fluxului de date si utilizeaza limbaje structurate. Ea presupune o separare intre structurile de date si codul functiilor care le prelucreaza.

Metoda programarii orientate-obiect - consta in abordarea naturala a lumii reale, folosind componente modularizate si eliminand restrictiile impuse de mediul de programare. Se definesc concepte noi de tip, clasa, mostenire, etc [Udrica M., 2000].

1. Atributele modulelor

La nivelul softului proiectat, componenta de baza este modulul. El este o colectie sau o forma grupata de instructiuni ale programului sursa. La randul lor, modulele se pot grupa pentru a forma programe.

Modulele programelor au urmatoarele caracteristici [1]

Un modul este format dintr-un grup de instructiuni care sunt contigue din punct de vedere fizic si sunt executate ca o unitate distincta;

Grupurile de instructiuni care formeaza un modul au inceputuri si sfarsituri bine definite;

In majoritatea cazurilor, grupul de instructiuni are doar un punct de intrare si unul de iesire;

Un modul poate fi un program sau un subprogram distinct compilat sau o procedura interna a unui program.


Un modul are trei componente de baza: functia, logica si interfetele.

Functia unui modul consta in transformarea datelor prin procesul de executie a acestuia. Functia este tratata in regimul cutiilor negre, ea fiind vazuta la nivel de modul doar prin ceea ce se percepe in exteriorul lui, nu privindu-i componentele interne sau, altfel spus, rolul acestora. Interes prezinta doar intrarile si iesirile modulului respectiv [1].

La nivelul softului, referirea la un modul este in acelasi timp o referire la functia lui. La nivelul cel mai de sus, modulele au functii orientate spre problema de rezolvat, in timp ce modulele aflate pe nivelurile mai de jos au functii orientate spre prelucrarile pe care le realizeaza [1]

In diagrama de structura, folosita pentru reprezentarea grafica a proiectelor soft, un modul este reprezentat printr-o caseta (dreptunghi) ce poarta denumirea functiei indeplinite. 

La atribuirea numelui unui modul trebuie sa se tina cont de faptul ca acesta trebuie sa surprinda atat functia proprie, cat si pe cele ale subcomponentelor de ordin inferior. Se recomanda evitarea conjunctiilor din structura numelor, deoarece ele ar sugera necesitatea folosirii mai multor module [1].

Logica modulului descrie prelucrarile care au loc in interiorul acestuia  [1].

La nivelul programarii, preocuparea este, in esenta, legata de logica modulului, algoritmii de prelucrare, redati sub diverse forme – scheme logice, pseudocod, tabele de decizie, arbori de decizie sau combinatii ale acestora – sunt conceputi pentru prezentarea modului de transformare a intrarilor in iesiri. Pasii algoritmilor se vor transforma in instructiuni ale limbajelor de programare [1]

Interfetele sunt conexiuni sau cuplaje intre module. Interfetele modulelor sunt utilizate pentru stabilirea cailor prin care sa se transfere controlul de la un modul la altul [1].

Conexiunile dintre module se inregistreaza pe doua planuri:

al transferarii controlului de la un modul la altul;

al transmiterii datelor de la un modul la altul.

In concluzie, se poate spune ca eficienta proiectelor – soft depinde in mare masura de eficienta cu care se transfera controlul intre module, precum si de metoda folosita pentru transmiterea datelor intre module.


2. Structurile de control ale programelor

Proiectul soft trebuie sa fie vazut din doua puncte de vedere: logic  si fizic.

Din punct de vedere logic, modalitatea in care intra in functiune modulele este redata prin structura ierarhica a lor [1].

Din punct de vedere fizic, dupa ce s-a stabilit structura logica, se va pune problema adaptarii prelucrarii lor pe calculator, moment in care se va avea in vedere structura executiei instructiunilor, adica a secventelor dupa care se declanseaza operatiunile din interiorul modulelor  [1].

Structurile de control al logicii cunoscute si sub numele de structuri de control fundamentale, reprezinta un set minim, dar si necesar, de reguli prin care sa se controleze procesul de activare a componentelor de prelucrare dintr-un program sau intre modulele acestuia. Structurile sunt: secventa, selectia, iteratia sau repetitia. Ele mai sunt cunoscute si sub numele de structura secventiala, alternativa (simpla si generalizata), repetitiva (conditionata anterior sau la inceput si conditionata posterior sau la sfarsit ). 

Secventa asigura parcurgerea instructiunilor in ordinea in care apar. Selectia defineste alegerea unui grup de instructiuni din doua sau mai multe posibile. Iteratia ofera posibilitatea executiei repetate a unui grup de instructiuni  [1].

In elaborarea programelor structurate este necesar sa se respecte o serie de restrictii, si anume  [1]:

fiecare element (secventa, selectia, iteratia) are un punct de intrare;

fiecare element are un punct de iesire unic;

elementul de iteratie permite si o executie cu factor de repetitie zero, adica excluderea elementului respectiv din executie.

Fiecare element din cele enuntate (secventa, selectia, iteratia) care respecta restrictiile de mai sus defineste un bloc standard. Structura secventiala (liniara) se prezinta astfel [1]:


Figura 5.1. Structura secventiala [1]


Selectia (structura de tip IF-THEN-ELSE) sau structura alternativa are urmatoarea forma de prezentare  [1]:





Figura  Structura alternativa [1]


Daca se indeplineste conditia C, se executa operatiile din Bloc-1, altfel se executa operatiile din Bloc-2; dupa executia blocului, se continua cu instructiunea urmatoare.

Structura alternativa generalizata (de tip CASE-OF) este o generalizare a selectiei. Ea permite alegerea unei variante din mai multe posibile (figura 5.3).


Figura 5.3. Structura alternativa generalizata [1]


Iteratia sau structura repetitiva  defineste executia repetata a unei operatii sau grup de operatii, functie de rezultatul evaluarii unei conditii. Evaluarea conditiei se face fie inainte, fie dupa executarea operatiilor.


Structura repetitiva conditionata anterior (de tip WHILE-DO) se reprezinta ca in figura 5.4



Figura 5.4. Structura repetitiva conditionata anterior [1]


Structura repetitiva conditionata posterior (de tip DO UNTIL) are forma dinn figura 5.5.


Figura 5.5. Structura conditionata posterior [1]


O forma particulara de structura repetitiva conditionata posterior este structura repetitiva cu numar definit de pasi (de tip DO FOR). Numarul de repetitii este controlat de o variabila, numita variabila de control. In reprezentarea grafica urmatoare, V este variabila de control, Vi este valoarea initiala a variabilei de control, iar R este ratia (incrementul). O astfel de structura este redata in figura 5.6.





Figura 5.6. Structura repetitiva cu numar definit de pasi [1]


In literatura de specialitate, se considera ca structura secventiala, structura alternativa de tip IF-THEN-ELSE si structura repetitiva conditionata anterior sunt suficiente pentru a defini structura de control a oricarui program. Din acest motiv, cele trei structuri de control, enumerate mai sus, sunt numite structuri fundamentale sau structuri de baza.


3. Proiectarea si realizarea programelor

Ideea de baza in proiectarea programelor consta in faptul ca acesta trebuie sa respecte intocmai structurile diagramelor fluxurilor de date, prin nivelurile arhitecturale de tip program.

Pentru proiectarea programelor, programatorii vor respecta sistemul de cerinte si restrictii impus de etapele parcurse anterior pentru realizarea sistemului informatic. Urmand principiile programarii structurate, realizarea programelor se face in urmatoarele faze: definirea problemei de programat; descompunerea problemei de programat; realizarea modulara a produselor program; testarea “top-down” a produselor program; definirea programului testat si a documentatiei aferente; dezvoltarea versiunii calitative a produsului program [2].

Specificatiile elaborate in etapele precedente permit definirea problemei de programat prin care se formuleaza elementele specifice si se analizeaza relatiile dintre aceste elemente, din punct de vedere dinamic sau static.

Descompunerea aplicatiei se poate face dupa criteriul functionalitatii, motiv pentru care elementele rezultate se mai numesc si module functionale. Din punct de vedere al fluxului datelor pot fi  [2

module de intrare, care manipuleaza datele de intrare;

modulele de iesire, care furnizeaza rezultate ale prelucrarilor;

module de prelucrare, care efectueaza diverse operatii asupra datelor.

Pe baza unor functiuni identificate sau a altor ratiuni de programare, modulele pot fi divizate in continuare. Scopul acestei structurari functionale pana la nivel elementar este de a identifica functiunile sistemului si de a le separa, eventual, in functiuni generale si cu caracter specific aplicatiei.

Modulele functionale pot fi descompuse apoi dupa criteriul omogenitatii, rezultand modulele operationale.

Realizarea modulara a produselor program presupune urmatoarele actiunile [2

Examinarea modulelor si specificarea succesiunii operatiilor de prelucrare descrise in acestea.

Constituirea setului reprezentativ cu date test. Setul de date trebuie sa acopere intreaga cazuistica a sistemului informational si sa testeze toate ramurile programului.

Precizarea elementelor de comunicatie intre module, respectiv stabilirea parametrilor de intrare/iesire in/din fiecare modul.

elaborarea algoritmii de prelucrare specifici fiecarui modul si structura programelor.

transcrierea algoritmilor intr-un limbaj de programare.

scrierea codului sursa si obtinerea fisierelor executabile.

Prin compararea rezultatelor propuse a fi obtinute cu cele efectiv furnizate de aplicatia informatica, sunt verificate sintactic si functional module din program. Daca se realizeaza identitatea intre cele doua categorii de rezultate, operatia de testare se considera incheiata.

O atentie deosebita trebuie acordata intocmirii documentatiei programului cu observatia ca in acest sens este recomandata autodocumentarea la nivel de modul.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright