REFERAT INFORMATICA: PROGRAMARE EXTREMA



0 stele

1263 vizualizari  |  Fii primul care comenteaza

Referat Informatica
Adaugat de: Claudiu Baltazar 27 mai 2008
 
Pret: 1 Gold Coin
Download REFERAT INFORMATICA: PROGRAMARE EXTREMA - Referat  Informatica
Comenteaza
Programare eXtrema Programare Extrema (XP) este o metodologie care tine de ingineria programarii si este cea mai prominenta dintre metodologiile de dezvoltare a proceselor agile. Ca si alte metodologii agile, Programare Extrema difera de metodologii traditionale in primul rand prin accentuarea pe adaptabilitate si predictabilitate. Cei care au propus XP respecta schimbarile cerintelor ca un aspect natural, inevitabil si dorit in dezvoltarea proiectelor; ei considera ca posibilitate de adaptare la cerintele in curs de schimbare in orice moment din desfasurarea proiectului este mai rationala si reprezinta o abordare mai buna decat tendinta de a defini toate cerintele la inceputul desfasurarii proiectului care apoi implica efort crescut pentru controlul schimbarilor cerintelor. XP propune un set de procedee pentru manageri si developeri; procedee trebuie sa cuprinda si incurajeze valori particulare. Propunatori considera ca utilizarea acestor procedee conduce la procese de dezvoltare care sunt mai apropiate de nevoile clientului (mai "agile") decat metode traditionale, in timp ce se ofera posibilitate de creare software-ului de calitate superioara. Istoria Programare Extrema a fost creata de catre Kent Beck, Ward Cunningham, si Ron Jeffries in timpul dezvoltarii proiectului Chrysler Comprehensive Compensation System (C3). Kent Beck a devenit liderul proiectului C3 in Martie 1996 si a inceput sa rafineze metodologia de dezvoltare folosita in proiect. Kent Beck a scris o carte despre metodologia, si in Octobrie 1999, Extreme Programming Explained a fost publicata. Proiectul fiind fara succes Chrysler l-a oprit in Februarie 2000, dar metodologia a rezistat in domeniul de inginerie a programarii. Scopul a Programarii Extreme Cartea Extreme Programming Explained descrie Programare Extrema ca fiind: O incercare de a impaca humanizm si productivitate. Un mecanism pentru schimbare sociala. O cale spre imbunatatire. Un stil de dezvoltare. O disciplina de dezvoltare software. Scopul principal a XP este de a reduce costul schimbarii. In metode din sisteme traditionale de dezvoltare (cum este SSADM - Structured Systems Analysis and Design Method) cerintele sistemului sunt determinate la inceputul dezvoltarii proiectului si deseori fixate de la acel punct. Asta inseamna ca si costul de schimbare a cerintelor in stadiul mai tarziu va fi mare. XP tinde sa reduca costul de schimbare introducand valori de basa, principii si procedee. Aplicand XP, un sistem de developare unui proiect ar trebui sa fie mai flexibil cu respect pentru schimbari. Valorile Programarii Extreme Programare Extrema initial prezenta patru valori. Una noua a fost adaugata in editia a doua de Extreme Programming Explained. Cele cinci valori sunt: - Comunicare - Simplitate - Feedback - Curaj - Respect (cea mai recenta) Construirea unui sistem software necesiata comunicarea cerintelor de sistem catre dezvoltatorii sistemului. In metodologii formale ale dezvoltarii software, aceasta sarcine este realizata prin documentatii. Tehnicile Programarii Extreme pot fi vazute ca metode pentru construirea rapida a conostintelor institutionale intre membrii al timului de dezvoltare. Scopul este de a oferi tuturor membrilor vedere partajata a sistemului care se poate compara cu vederea detinuta de utilizatorii ai sistemului. Programare Extrema incurajeaza plecarea de la solutii cat mai simple si refabricarea lor in solutii mai bune. Diferenta intre abordarea aceasta si abordarea conventionala este concentrarea la scrierea codului pentru nevoile de astazi, in loc de scrierea codului pentru maine, saptamana viitoare, sau chiar luna viitoare. Propunatorii ai XP au remarcat ca metoda conventionala poate uneori implica mai mult efort ca maine sistemul sa fie schimbat; ei sustin acest neajuns este mult compensat de avantajul al investitiei in posibile cerinte care se pot schimba inainte de a deveni relevante. Scrierea codului si design pentru cerinte de viitor nesigure implica riscul de consumare a resurselor pe ceva ce poate nici nu va fi folosit. Legat de valoarea "comunicarii", simplitate in design si scrierea codului ar trebui sa imbunatateasca (calitatea de) comunicare. Un design simplu cu un cod simplu pot fi foarte usor intalese de majoritatea programatorilor in timul respectiv. In Programare Extrema, feedback-ul este de arii diferite ale dezvoltarii sistemului: Feedback de la sistem: scriind teste unitare, sau ruland periodic teste de intgrare, programatori au feednback direct de la starea sistemului dupa implementarea schimbarilor. Feedback de la client: Teste de functionalitate sunt scrise de catre client si testeri. Ei vor obtine feedback concret despre starea curenta a sistemului. Aceasta revizuire este planificata odata la 2-3 saptamani ca respectivul client sa poate usor conduce dezvoltarea. Feedback de catre timul: Cand utilizatori intervin cu noi cerinte in planificare, timul ofera o estimare directa a timpului necesar petnru implementare. Feedback este strans legat cu simplitate si comunicare. Punctele slabe in sistem sunt usor comunicate scriind teste unitare care arata ca anumite parti ale codului vor ceda. Feedback direct de la sistem spune programatorilor sa rescrie acea bucata de code. Clientul are posibilitatea de a testa sistemul periodic, conform cu cerintele functionalitatii. Cateva procedee cuprind si curaj. Unul dintre ele este comandament ca intodeuna sa se scrie codul pentru astazi si nu pentru maine. Acesta este un efort de a nu se incurca cu design si implica mult efort pentru implementarea unui al design. Curajul ofera sentimentul de confortabilitate de a rescrie codul lor oricand este necesar. Asta presupune verificare sistemului existent si modificare lui astfel incat eventualele schimbari in viitor sa fie cat mai usor de implementate. Inca un exemplu de curaj este de a stii cand este nevoie de a renunta la o parte din cod: curajul de a renunta la bucata de cod invechita, inutila fara a tine cont de efortul depus pentru crearea acelei bucate de cod. De asemenea presuspune si persistenta: Un programator poate sa ramana blcat la o problema complexa intreaga zi si apoi s-o rezolve foarte rapid ziua urmatoare, doar daca este persistent. Valoare de respect se manifesta in mai multe moduri. In Programarea Extrema, membrii ai timului se respecta reciproc fiind ca nici un progrmator nu ar trebui sa comita schimbari care vor provoca erori la compilare, care vor face ca teste sa esueze, sau care vor intarzia munca in oricare al mod. Membrii respecta munca lor tinzand intotdeuna la calitate superioara, la cel mai bun design. Adoptarea celor patru calori de mai sus conduce la respect obtinut de la toti membri ai timului. Nici un membru ai timului nu terbuie sa fie subestimat sau ignorat. Asta asigura nivel ridicat de motivare si incurajeaza loialitate pentru timul si pentru scopul proiectului. Activitai XP descrie patru activitai de baza care sunt aplicate in procesul de dezvoltare software: Codare Adepti ai XP sustin ca singurul adevarat si important product al dezvoltarii unui sistem este codul. Fara cod nu exista nimic. Codare poate insemna desenare a diagramelor care vor genera cod, scriptare a sistemului bazat pe web sau scrierea programului care trebuie sa fie compilat. Codare poate fi de asemenea folosita pentru a gasi cea mai potrivita solutie pentru o problema. De exemplu, XP propune, in caz ca avem mai multe alternative pentru o problema anume, programatoru ar tebui sa scrie codul pentru fiecare solutie aparte si sa determine cea mai eficienta, folsind eventual teste automate. Codare poate de asemenea ajuta la comunicarea ideilor si probelmelor de programare. Un programator, care este in fata unei probleme complexe si infrunta dificultati in demonstrarea solutie colegilor, ar putea folosi codul pentru a demonstra ce a avunt in gand. Codul este intotdeauna curat, concis si nu poate fi interpretat in mai multe moduri. Alti programatori ofera feedback pentru acest cod scriind, de asemenea, codul pentru pentru ideile lor. Testare Un programtor nu poate cu siguranta sustine corectitudinea solutiei pana nu a testa-o. Testare nu este necesitate primara pentru un client. O mare parte din softwerul dezvoltat este lansat fara a fi testat inainte si inca mai functioneaza (mai mult sau mai putin). In dezvoltarea software, XP sustine ca un programator nu poate spune ca o functie este corecta daca nu a testat-o intai. Un programator poate fi nesigur daca ceea ce a scris este ceea ce a gandit. Pentru a testa aceasta nelamurire XP foloseste teste unitare (Unit Tests). Acestea sunt teste automate care testeaza codul scris. Un programator ar trebuie sa incerce sa scrie cat mai multe teste care ar putea provoca caderea codului; daca toate testele ruleaza cu succes atunci codarea este completa. Un programator poate fi nesigur daca ceea ce a gandit este ceea ce trebuia sa gandesca. Pentru a testa aceasta nelamurire XP foloseste teste de acceptare (acceptance tests) basate pe cerintele oferite de catre clientul in faza de explorarea planificarii. Ascultare Programatori nu trebuie neaparat sa fie constienti despre partea de afacere a sistemului in dezvoltare. Functionalitatea sistemului este determinata tocmai de partea de afacere. Pentru ca programatori sa afle de despre functionalitatea sistemului, este necesar sa "asculte" afacerea. Programatori trebuie sa asculte "in larg": ei trebui sa asculte nevoile clientului. De asemenea, ei trebuie sa incerce sa intaleaga problemele afecerii si sa ofere clientului feedbeck despre problema clientului, sa imbunatateasca perceperea lor legata de problema respectiva. Design Din puctul de vedere al simplitatii, programatorul ar putea spune ca dezvoltarea sistemului necesita doar codare, testare si ascultare. Daca acele activitati sunt efectuate bine, rezultatul ar trebui intotdeuna sa fie un sistem care functioneaza. In practica, acesta nu se poate aplica. Programatorul poate sa inainteze fara fara a folosi design, dar la un moment dat se va bloca. Sistemul devine prea complex si dependentele din interior nu mai sunt la fel de clare. Programatorul poate evita aceasta situatie prin crearea unei structuri de design care organizeaza logica in sistemul respecitv. Un design bun ofera posibilitate de a evita prea multe dependente in sistem; asta inseamna ca modificand o parte din sistem nu vor fi afectate alte parti ale sistemului. Aplicarea Programarii Extreme In ciuda aspectelor controversate, XP ramane o alegere viabila pentru unele proiecte. Proiectele potrivite Programarii Extreme sunt cele care: - implica noile tehnologii de prototipuri, unde cerintele se schimba rapid, sau este nevoie de o dezvoltare pentru a descoperi problemele neprevazute de implementare - sunt proiecte de cercetare unde rezultatul muncii nu este produsul insusi, dar cunostintele domeniului - sunt mici si usor de directionat prin metodele nonformale Proiectele potrivite pentru metode mai traditionale sunt cele care: - implica tehnologii stabile si au cerinte fixe, unde se stie ca putine schimbari vor interveni - implica sisteme de importanta mare a scopului si a sigurantei, unde metode formale trebuie sa fie angajate pentru securitate sau asigurare - sunt proiecte ample pot distruge mecanisme de comunicare nonformale - contin produse complexe care continua sa solicite, in afara scopului sistemului, alterari importante si frecvente, unde o baza de cunostinte, sau un set de documentatie devine o necesitate fundamentala pentru a sustine intretinerea. Manageri de proiect trebuie sa cantareasca aspectele proiectului fata de metodologiile disponibile pentru a face o alegere potrivita. Totusi, unele concepte ale XP pot fi aplicate in afara, cum ar fi utilizarea Programarii in Pereche pentru a expedia schimbari tehnice referitoare la setul de documentatii al unui proiect amplu. Procedee XP are 12 procedee, grupate in 4 sectiuni, derivate din cele mai bune procedee din ingineria programarii: Fine scale feedback Pair Programming Planning Game Test Driven Development Whole team Continuous process Continuous Integration Design Improvement Small Releases Shared understanding Coding Standards Collective Code Ownership Simple Design System Metaphor Programmer welfare Sustainable Pace Bibliografie: http://en.wikipedia.org/wiki/Extreme_Programming
 
Textul de mai sus reprezinta un extras din "REFERAT INFORMATICA: PROGRAMARE EXTREMA". Pentru versiunea completa a documentului apasa butonul Download si descarca fisierul pe calculatorul tau. Prin descarcarea prezentei lucrari stiintifice, orice utilizator al site-ului www.studentie.ro declara si garanteaza ca este de acord cu utilizarile permise ale acesteia, in conformitate cu prevederile legale ablicabile in domeniul proprietatii intelectuale si in domeniul educatiei din legislatia in vigoare.
In cazul in care intampini probleme la descarcarea fisierului sau documentul nu este nici pe departe ceea ce se doreste a fi te rugam sa ne anunti aici: raporteaza o eroare


 
CARE ESTE OPINIA TA?

Cod

Cod de securitate

 

Bursa de inteligenta

Adauga o cerere pentru cursul sau referatul de care ai nevoie iar noi te anuntam de indata ce cererea ta a primit un raspuns. Daca dimpotriva, esti un student silitor si vrei sa raspunzi unei cereri, vei castiga mult mai multi gold coins!

Participa acum!