Suport curs Sisteme anul II ECTS

  • View
    217

  • Download
    2

Embed Size (px)

Transcript

  • Universitatea Petre Andrei Iai

    Facultatea de Economie

    SISTEME SI APLICATII INFORMATICE

    IN MANAGEMENT

    Note de curs

    Titular disciplin,

    Lect.univ.dr. Virgil Fatu

    2008-2009

  • METODE I TEHNICI DE PROGRAMAREMETODE I TEHNICI DE PROGRAMARE

    Dup cum rezult din evoluia prezentat n paragraful anterior, exist mai multe metode de elaborare a produselor-program. n continuare vom prezenta caracteristicile principale ale acestor metode, deoarece multe din aceste caracteristici se regsesc n metodele i tehnicile utilizate n prezent.

    Metoda programrii clasice

    Prin programarea clasic se face referire la primii ani de dezvoltare a programelor, respectiv nceputul anilor 50, perioad n care existau puine reguli, majoritatea viznd scrierea programelor. De aceea, programarea clasic este impropriu numit metod, ns se face delimitarea de evoluiile ulterioare din domeniul programrii calculatoarelor.

    Programarea clasic presupune conceperea monolitic a programului prin parcurgerea unor etape1:

    analiza problemei n vederea stabilirii exacte a cerinelor informaionale ale utilizatorilor;

    elaborarea schemei logice a programului; scrierea programului surs; compilarea i ansamblarea programului; testarea i corectarea programului; exploatarea programului.

    Dezvoltarea programelor n aceast perioad prezenta o serie de neajunsuri dintre care mai importante erau: elaborarea intuitiv sau artizanal a algoritmilor de rezolvare a problemei; existena numeroaselor operaii de salt (instruciuni GOTO) ce conduc la un timp mare de execuie a programului i fac dificil nelegerea programului i modificarea acestuia, chiar dac acesta dispune de documentaie; imposibilitatea desfurrii activitii de programare n echip; ineficiena i slaba productivitate a activitii de programare, mai ales n cazul programelor mai mari etc.

    Acestea sunt doar cteva din motivele care au determinat progrmatorii s identifice i s formuleze reguli care s-i ghideze n activitatea lor i care au condus la apariia unor metode de programare.

    Metoda programrii modulare

    11 Grama, A., Filip, M., Medii de programare in economie, Editura Sedcom Libris, Iai, 2000

  • Programarea modular poate fi considerat prima metod de programare propriu-zis. Premisele apariiei ei au fost create odat cu apariia limbajului FORTRAN, care oferea posibilitatea utilizrii subprogramelor i compilrii lor separate. Compilarea separat a dus la apariia bibliotecilor de subprograme.

    Programarea modular este o metod de concepere a programelor care presupune descompunerea problemei de rezolvat n mai multe subprobleme mai simple, conform preceptelor gndirii carteziene: orice problem, orict de complex ar fi, poate fi descompus n subprobleme rezolvabile mai uor dect problema iniial. n acest mod, programatorii se pot concentra numai asupra unei subprobleme, considernd-o ca o problem de sine stttoare, dar care este mai simpl i mai uor de rezolvat.

    Trebuie remarcat deja interesul pentru instituirea de reguli n conceperea programelor i nu doar pentru scrierea programelor, precum i considerarea lor ca activiti independente; proiectarea modulelor programului se face independent de limbajul de programare ales, doar la scrierea programelor inndu-se cont de specificul fiecrui limbaj. Fiecrei subprobleme i va corespunde, n principiu, un modul de program, iar produsul-program va fi constituit prin integrarea modulelor componente, dezvoltate separat. De aici deriv i numele metodei programarea modular.

    Modulul este considerat o unitate structural de sine stttoare, fie program, fie subprogram, fie o unitate de program2. Un modul poate fi format, la rndul su, din mai multe module. Modulele sunt relativ independente, ceea ce nseamn c modificarea unui modul nu implic neaprat modificarea celorlalte module. Astfel, n cazul modificrii structurii unui program, dac funcia pe care o realizeaz un modul nu este afectat, atunci acel modul va fi utilizat n continuare fr modificri. n fapt, obiectivul principal urmrit la proiectarea modulelor const n identificarea unor module ct mai generale i mai independente ntre ele, care s permit reutilizarea lor n cazul modificrii programelor. De asemenea, modulele pot comunica ntre ele prin transmiterea de date.

    Fiecare modul are rolul su bine precizat i realizeaz o funcie n cadrul ntregului program, n conformitate cu rezultatele descompunerii funcionale a problemei de rezolvat, realizat prin aplicarea strategiei descendente (top-down). De fapt, din abordarea modular s-a desprins coala descompunerii funcionale3. Metoda presupune identificarea funciilor pe care le va realiza programul n vederea rezolvrii problemei, asocierea unui modul pentru una sau mai multe din funciile identificate, stabilirea legturilor dintre module, obinndu-se astfel structura programului. Dup ce structura programului este clar definit, se trece la transpunerea modulelor n construcii sintactice specifice limbajului de programare ales (scrierea programelor-surs), compilarea acestora i realizarea celorlalte faze necesare obinerii programelor executabile.

    22 Freniu, M., Prv, B., Elaborarea programelor. Metode i tehnici moderne, Editura Promedia, 1994

    33 Oprea, D., Analiza i proiectarea sistemelor informaionale economice, Editura Polirom, Iai, 1999

  • Avantajele programrii modulare sunt multiple, printre cele mai importante se numr:

    creterea calitii programelor obinute; ele conin mai puine erori, sunt mai uor de neles i de modificat.

    Sporirea productivitii i eficienei n activitatea de programare, prin facilitarea lucrului n echip i utilizarea bibliotecilor de subprograme.

    Uurarea testrii programului prin efectuarea unei testri la nivelul modulelor.

    Obinerea unor produse-program extensibile, ceea ce permite adugarea unor noi module n programul existent dac ulterior se dorete realizarea unei noi funcii.

    Metoda programrii structurate

    Metoda programrii structurate reprezint o dezvoltare a metodei programrii modulare prin introducerea unor noi principii, instrumente i tehnici, cu scopul unei mai bune stpniri a complexitii programelor mari. Complexitatea programului privete dificultatea elaborrii produselor-program odat cu creterea dimensiunii acestora. Complexitatea programelor crete exponenial i nu liniar cu dimensiunea sa. De aceea, obiectivul principal al programrii structurate a fost acela de a introduce ordine i rigoare n elaborarea de produse-program, ca o cale de stpnire a complexitii. Fr a intra n detalii, s spunem c pn n prezent metoda programrii structurate a reuit s realizeze doar parial obiectivul propus.

    Principiile programrii structurate au fost introduse de Bohm i Jacopini n 1966, atunci cnd ei au demonstrat c pentru a exprima logica intern a oricrui program sunt suficiente trei tipuri de structuri de control: structura secvenial, structura alternativ i structura repetitiv, iar fiecare din aceste structuri, ca parte dintr-un program, are o singur intrare i o singur ieire. Prin umare, programarea structurat ar putea fi definit ca programarea fr instruciunea GOTO.

    Programarea structurat a fost consacrat la nceputul anilor 70 prin contribuiile a numeroi autori: Dijkstra, Hoare, Mills, Baker, Wirth, Dahl, Warnier etc. n aceast perioad, aplicarea tehnicilor structurate era limitat la activitatea de scriere a programelor, urmrindu-se oferirea unor soluii la urmtoarele probleme: Cum ar trebui s arate un program? Care este legtura dintre structura static i structura dinamic a unui program? Cum poate fi controlat complexitatea unui program atunci cnd mrimea lui crete?

    Un alt obiectiv urmrit n programarea structurat privete modul de scriere a unui program astfel nct el s fie uor de neles i modificat. Claritatea unui program poate fi obinut, n afara utilizrii celor trei structuri de control fundamentale, prin respectarea urmtoarelor dou reguli:

  • scrierea indentat a textului programului i inserarea de comentarii n textul programului.

    Metoda programrii structurate a evoluat continuu, n sensul introducerii disciplinei nu doar n scrierea programelor, ci i n celelalte faze ale elaborrii programelor: analiza, proiectarea, testarea etc. Astfel, programarea structurat poate fi definit ntr-un sens restrns i unul larg4. n sens restrns, programarea structurat face referire la activitatea de codificare (scriere a programelor) i reprezint o metod de construire a programelor n conformitate cu un set de reguli care solicit utilizarea unui format strict, a structurilor de control standard i a unui set de construcii logice. n sens larg, programarea structurat reprezint o metodologie care impune disciplin asupra formei programelor, n analiza, proiectarea, scrierea i testarea programelor; ea este o metodologie de programare pentru construirea de programe modulare, ordonate ierarhic, prin utilizarea structurilor de control standard. Astzi, prin programare structurat se face referire la sensul su larg, motiv pentru care se vorbete de filozofia structurat.

    n concluzie, meritul principal al tehnicilor structurate este acela de a fi preluat toate practicile i experienele acumulate n programare i de a le fi formalizat i standardizat. Programarea structurat preia principiile programrii modulare pe care le dezvolt, dar se deosebete de aceasta cel puin prin dou aspecte:

    modularizarea ierarhic a programelor i utilizarea structurilor de control fundamentale.Avantajele oferite de metoda programrii structurate sunt numeroase, reinnd n

    continuare doar cteva dintre acestea: creterea calitii programelor; spo