Documente Academic
Documente Profesional
Documente Cultură
1 / 34
Modele de proiectare Extreme Programming Inginerie s i Ingineria Programarii Carta drepturilor dezvoltatorului Carta drepturilor clientului
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
Modele de proiectare
2 / 34
Extreme Programming
Modele de proiectare Extreme Programming Inginerie s i Ingineria Programarii Carta drepturilor dezvoltatorului Carta drepturilor clientului
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
(lightweight), de dezvoltare, inspirat din RUP. i s Dezvoltarea programelor nu nseamna ierahii, responsabilit at i ci colaborarea oamenilor din care este termene limita, nseamna echipa formata Membrii echipei sunt ncurajati sa s i arme personalitatea, sa primeasca cunoas devina programatori ofere s i sa tere s i sa straluciti ca dezvoltarea de programe XP considera nseamna n primul rand scrierea de programe (s ierele PowerPoint nu se pot compila).
3 / 34
este inspirata din ingineria construct Ingineria programarii iilor, dar aceast lucru nu este tocmai ... inspirat. XP sust ine ca In programare nu pot aplicate direct tehnicile de organizare din ingineria construct iilor, deoarece gradul de exibilitate necesar este mult mai mare.
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
4 / 34
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
clare de prioritate. spui cat implementezi ecare cerint s Ai dreptul sa ti va lua sa a, i sa ti revizuies ti estimarile n funct ie de experient a. ile, i Ai dreptul sa ti accept i responsabilitat n loc ca acestea sa-t e asignate. produci treaba de calitate Ai dreptul sa n orice moment. productiva s Ai dreptul la liniste, distract ie s i la munca i placuta.
5 / 34
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
ce pret . vezi progresul s Ai dreptul sa ntr-un sistem care ruleaza i care se funct trecand dovedeste ca ioneaza teste repetabile pe care tu le specici. te razgandes i s Ai dreptul sa ti, sa nlocuies ti functionalitat i sa ile. schimbi prioritat i informat de schimbarile sucient de Ai dreptul sa n estimari, se devreme pentru a putea reduce cerint ele astfel ca munca sa Pot te opresti la un moment termine la data prestabilita. i chiar sa ram ai cu un sistem folositor care sa reecte investit dat s i sa ia a la acea data. pan
6 / 34
Idei majore in XP
Modele de proiectare Extreme Programming Inginerie s i Ingineria Programarii Carta drepturilor dezvoltatorului Carta drepturilor clientului
Idei majore in XP
Recapitulare Analiza cerinelor Scenarii de utilizare
contribuie la proiect folosind maximul din cunos tint ele sale. Scrierea de cod este activitatea cea mai importanta. Proiectul este n mintea tuturor programatorilor din echipa, nu n documentat ii, modele sau rapoarte. La orice moment, un reprezentant al clientului este disponibil pentru claricarea cerint elor. mai simplu. Codul se scrie cat Se scrie cod de test intai. apare necesitatea rescrierii sau aruncarii de cod, aceasta Daca a mila. se face far Modicarile aduse codului sunt integrate continuu (de cateva ori pe zi). (programare Se programeaza n echipa n perechi). Echipele se la sfars itul unei iterat ani). schimba ii (1-2 saptam 40 de ore pe saptam an a, far a lucru suplimentar. Se lucreaza
7 / 34
Modele de proiectare Recapitulare Etapele dezvoltarii programelor Analiza cerinelor Scenarii de utilizare
Recapitulare
8 / 34
9 / 34
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
10 / 34
construim? Ce trebuie sa
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
It took 300 years to build and by the time it was 10% built, everyone knew it would be a total disaster. But by then the investment was so big they felt compelled to go on. Since its completion, it has cost a fortune to maintain and is still in danger of collapsing. There are at present no plans to replace it, since it was never really needed in the rst place. K.E. IVERSON, despre turnul din Pisa
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
11 / 34
Un proiect poate ncepe cu o idee a clientului cu o idee a unei echipe de dezvoltare Aceasta idee poate
bine denita clara, prost denita vaga,
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
12 / 34
de e capabila sa porneasca un tren de 100 tone pe o panta sa ie de cel put in 30km/h2 . maxim 5% cu o accelerat Caracteristici ale acestei cerinte:
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
Spune ce vrea clientul [ok] e realizate cerint Nu spune cum sa ele [ok(?)] Cerint ele sunt cuanticabile [ok] nimic despre pret Nu ment ioneaza [!] termenul de realizare [!] Nu specica
13 / 34
Specicat ia buna
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
Spune ce trebuie facut, nu cum (neambigua) Este clara Este sucient de detaliata Este completa
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
funct ofera ionalitatea unei agende telefonice personale. Ar trebui implementeze funct sa ii pentru cautarea unui numar s i pentru de telefon. Programul va oferi o introducerea unui nou numar utilizator prietenoasa. interfat a
14 / 34
NU Clientul nu este competent n detalii tehnice de cauza cu Clientul nu poate de acord n cunos tint a
DA
stipularile tehnice din specicat ii (S tiu secretarele COM? S tiu s oferii ciclul Carnot?). restrangem E necesar sa multimea posibilelor solut iile tehnice?
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
integram Este nevoie sa ntr-un sistem existent Timpul de dezvoltare depinde de implementare Intret inerea (costul) depinde de implementare
15 / 34
extraga s clarice cerint sa i sa ele clientului ajute la rezolvarea diferent sa elor de opinie ntre client i s i
utilizatori. sfatuiasc clientul despre ce este tehnic posibil sau imposibil sa a documenteze cerint sa ele negocieze s obt o sa i sa ina nt elegere cu clientul.
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
16 / 34
nregistreaza cerint Ascultare: I ele clientului. pertinent Reectare: Traduce cerint ele n limbaj tehnic. Veric a a. Scriere: Se cade de acord asupra formularilor.
pan a cand Repeta se ajunge la o nt elegere cu clientul n ceea ce prives te cerint ele.
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
17 / 34
Procesul iterativ poate lung s i complicat Negocieri (dure) dintre client s Diferent a culturala i analist Diferent e ntre cerint ele clientului s i ale utilizatorilor Filmele SF vazute de client Filmele SF vazute de programatori
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
18 / 34
Rezultatul analizei
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
Document de specicare a cerint elor Acest document este folosit ca referint a Provocari Nivelul de detaliu
inutila Mare: mai precis, obt inut mai greu, munca Mic: prea vag, nu poate ghida ecient dezvoltarea
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
Audient a documentelor
2 versiuni: una pentru client, alta pentru dezvolatori? semiformala, formala Informala,
Notat ia folosita
19 / 34
Tipuri de cerint e
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
Cerint e privind datele Formatul datelor la intrare/ies ire Formatul datelor din interiorul sistemului
Constrangeri
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
20 / 34
Exemple
Modele de proiectare Recapitulare Analiza cerinelor Ce trebuie sa construim? Inceputul unui proiect ce, cum, cat Cerint a: Specicat ia buna Detalii de
Cerint e privind datele Datele vor exportate n format XML Datele din tampoanele de intrare s i ies ire vor criptate
Constrangeri
ile analistului Activitat Probleme potent iale Rezultatul analizei Tipuri de cerint e Exemple Scenarii de utilizare
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Scenarii de utilizare
Exemplu
22 / 34
La ce folosesc scenariile
Modele de proiectare Recapitulare Analiza cerinelor Scenarii de utilizare La ce folosesc scenariile
cere Extragerea cerint elor, testare i asignate cerint Frecvent a de utilizare a scenariilor prioritat elor
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
23 / 34
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
24 / 34
Actor
Modele de proiectare Recapitulare Analiza cerinelor Scenarii de utilizare La ce folosesc scenariile
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
25 / 34
Use case
Modele de proiectare Recapitulare Analiza cerinelor Scenarii de utilizare La ce folosesc scenariile
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
26 / 34
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
sistemul raspund O descriere a modului n care sistemul trebuie sa a acestor interact iuni de implementare a modului O viziune independenta n care se va comporta sistemul de act O secvent a iuni care are un rezultat vizibil pentru un actor
Exemplu
27 / 34
O descriere a interfetei cu utilizatorul O descriere a modului de implementare al sistemului O specicat ie a claselor O specicat ie a datelor
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
28 / 34
text: diferite formate brief: un paragraf care descrie scenariul principal de succes mai multe scenarii casual: mai multe paragrafe care acopera fully dressed: cel mai elaborat; sunt detaliat i tot i pas ii s i toate
variat iile; sunt specicate precondit iile s i postcondit iile
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
29 / 34
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
te site-ul unei agent pachete Un utilizator gases ii de turism care ofera Agent completeze un formular de vacant a. ia i cere utilizatorului sa Agent apoi cu datele vacant ei s i destinat ia dorita. ia interogheaza serviciile web ale liniilor aeriene s i ale companiilor hoteliere s i-i utilizatorului o lista de opt prezinta iuni.Utilizatorul s i alege opt iunea Agent utilizatorului o lista cu favorita. ia face rezervarile s i i prezinta ile de plata. Utilizatorul alege o modalitate de plata s modalitat i-i agent furnizeaza iei informat iile necesare. Agent ia conrma efectuarea plat ii s utilizatorului toate rezervarile, solicita i i da informat iile de care are nevoie pentru a pleca n vacant a.
Exemplu
30 / 34
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
31 / 34
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
32 / 34
Cont ine:
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
fraza verbala) ID (nr), Nume (scurta Informat ii caracteristice (Descriere, Domeniu, Actori...) Principalul scenariu de succes Extensii Alte informat ii
Exemplu
33 / 34
Exemplu
Modele de proiectare Recapitulare Analiza cerinelor Scenarii de utilizare La ce folosesc scenariile
Agent ia de turism
brief Exemplu use case casual Use case fully dressed Use case fully dressed
Not iuni de baz Actor Use case Use case: ce este Use case: ce nu este Use case: cum arata Exemplu use case
Exemplu
34 / 34