Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme...
Transcript of Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme...
![Page 1: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/1.jpg)
1 / 34
Ingineria programarii
Adriana Gheorghies, Ovidiu Gheorghies
10 octombrie 2005
![Page 2: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/2.jpg)
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
2 / 34
Modele de proiectare
![Page 3: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/3.jpg)
Extreme Programming
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
3 / 34
• Extreme Programing (XP) este o model modern, “usor”(lightweight), de dezvoltare, inspirat din RUP.
• Dezvoltarea programelor nu ınseamna ierahii, responsabilitati sitermene limita, ci ınseamna colaborarea oamenilor din care esteformata echipa
• Membrii echipei sunt ıncurajati sa ısi afirme personalitatea, saofere si sa primeasca cunoastere si sa devina programatoristraluciti
• XP considera ca dezvoltarea de programe ınseamna ın primulrand scrierea de programe (fisierele PowerPoint nu se potcompila).
![Page 4: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/4.jpg)
Inginerie si Ingineria Programarii
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
4 / 34
• Ingineria programarii este inspirata din ingineria constructiilor, darXP sustine ca aceast lucru nu este tocmai ... inspirat.
• In programare nu pot fi aplicate direct tehnicile de organizare diningineria constructiilor, deoarece gradul de flexibilitate necesareste mult mai mare.
![Page 5: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/5.jpg)
Carta drepturilor dezvoltatorului
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
5 / 34
• Ai dreptul sa stii ceea ce se cere, prin cerinte clare, cu declaratiiclare de prioritate.
• Ai dreptul sa spui cat ıti va lua sa implementezi fiecare cerinta, sisa ıti revizuiesti estimarile ın functie de experienta.
• Ai dreptul sa ıti accepti responsabilitatile, ın loc ca acestea sa-tifie asignate.
• Ai dreptul sa produci treaba de calitate ın orice moment.• Ai dreptul la liniste, distractie si la munca productiva si placuta.
![Page 6: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/6.jpg)
Carta drepturilor clientului
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
6 / 34
• Ai dreptul la un plan general, sa stii ce poate fi facut, cand, si lace pret.
• Ai dreptul sa vezi progresul ıntr-un sistem care ruleaza si care sedovedeste ca functioneaza trecand teste repetabile pe care tu lespecifici.
• Ai dreptul sa te razgandesti, sa ınlocuiesti functionalitati si saschimbi prioritatile.
• Ai dreptul sa fii informat de schimbarile ın estimari, suficient dedevreme pentru a putea reduce cerintele astfel ca munca sa setermine la data prestabilita. Poti chiar sa te opresti la un momentdat si sa ramai cu un sistem folositor care sa reflecte investitiapana la acea data.
![Page 7: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/7.jpg)
Idei majore in XP
Modele de proiectare• ExtremeProgramming• Inginerie si IngineriaProgramarii• Carta drepturilordezvoltatorului• Carta drepturilorclientului• Idei majore in XP
Recapitulare
Analiza cerinelor
Scenarii de utilizare
7 / 34
• Echipa de dezvoltare nu are o structura ierarhica. Fiecarecontribuie la proiect folosind maximul din cunostintele sale.
• Scrierea de cod este activitatea cea mai importanta.• Proiectul este ın mintea tuturor programatorilor din echipa, nu ın
documentatii, modele sau rapoarte.• La orice moment, un reprezentant al clientului este disponibil
pentru clarificarea cerintelor.• Codul se scrie cat mai simplu.• Se scrie cod de test intai.• Daca apare necesitatea rescrierii sau aruncarii de cod, aceasta
se face fara mila.• Modificarile aduse codului sunt integrate continuu (de cateva ori
pe zi).• Se programeaza ın echipa (programare ın perechi). Echipele se
schimba la sfarsitul unei iteratii (1-2 saptamani).• Se lucreaza 40 de ore pe saptamana, fara lucru suplimentar.
![Page 8: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/8.jpg)
Modele de proiectare
Recapitulare• Etapele dezvoltariiprogramelor
Analiza cerinelor
Scenarii de utilizare
8 / 34
Recapitulare
![Page 9: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/9.jpg)
Etapele dezvoltarii programelor
Modele de proiectare
Recapitulare• Etapele dezvoltariiprogramelor
Analiza cerinelor
Scenarii de utilizare
9 / 34
• Analiza cerintelor• Proiectarea• Scrierea codului• Testare• Intretinere
Toate etapele dezvoltarii programelor depind de analiza cerintelor.
![Page 10: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/10.jpg)
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
10 / 34
Analiza cerintelor
![Page 11: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/11.jpg)
Ce trebuie sa construim?
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
11 / 34
It took 300 years to build and by the time it was 10% built, everyoneknew it would be a total disaster. But by then the investment was sobig they felt compelled to go on. Since its completion, it has cost afortune to maintain and is still in danger of collapsing.There are at present no plans to replace it, since it was never reallyneeded in the first place.— K.E. IVERSON, despre turnul din Pisa
![Page 12: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/12.jpg)
Inceputul unui proiect
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
12 / 34
• Un proiect poate ıncepe
◦ cu o idee a clientului◦ cu o idee a unei echipe de dezvoltare
• Aceasta idee poate fi
◦ clara, bine definita◦ vaga, prost definita
• Pentru a continua cu succes, este nevoie de ingineria cerintelor.
![Page 13: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/13.jpg)
Cerinta: ce, cum, cat
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
13 / 34
• Exemplu de cerinta: Pe o cale ferata uscata, locomotiva trebuiesa fie capabila sa porneasca un tren de 100 tone pe o panta demaxim 5% cu o acceleratie de cel putin 30km/h2.
• Caracteristici ale acestei cerinte:
◦ Spune ce vrea clientul [ok]◦ Nu spune cum sa fie realizate cerintele [ok(?)]◦ Cerintele sunt cuantificabile [ok]◦ Nu mentioneaza nimic despre pret [!]◦ Nu specifica termenul de realizare [!]
![Page 14: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/14.jpg)
Specificatia buna
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
14 / 34
• Spune ce trebuie facut, nu cum• Este clara (neambigua)• Este suficient de detaliata• Este completa
• Exemplu (sau contraexemplu?): Scrieti un program Pascal careofera functionalitatea unei agende telefonice personale. Ar trebuisa implementeze functii pentru cautarea unui numar si pentruintroducerea unui nou numar de telefon. Programul va oferi ointerfata utilizator prietenoasa.
![Page 15: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/15.jpg)
Detalii de implementare la analiza?
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
15 / 34
• NU
◦ Clientul nu este competent ın detalii tehnice◦ Clientul nu poate fi de acord ın cunostinta de cauza cu
stipularile tehnice din specificatii (Stiu secretarele COM? Stiusoferii ciclul Carnot?).
◦ E necesar sa restrangem multimea posibilelor solutiiletehnice?
• DA
◦ Este nevoie sa integram ıntr-un sistem existent◦ Timpul de dezvoltare depinde de implementare◦ Intretinerea (costul) depinde de implementare
![Page 16: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/16.jpg)
Responsabilitatile analistului
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
16 / 34
• sa extraga si sa clarifice cerintele clientului• sa ajute la rezolvarea diferentelor de opinie ıntre clienti si
utilizatori.• sa sfatuiasca clientul despre ce este tehnic posibil sau imposibil• sa documenteze cerintele• sa negocieze si sa obtina o ıntelegere cu clientul.
![Page 17: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/17.jpg)
Activitatile analistului
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
17 / 34
• Ascultare: Inregistreaza cerintele clientului.• Reflectare: Traduce cerintele ın limbaj tehnic. Verifica pertinenta.
• Scriere: Se cade de acord asupra formularilor.
• Repeta pana cand se ajunge la o ıntelegere cu clientul ın ceeace priveste cerintele.
![Page 18: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/18.jpg)
Probleme potentiale
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
18 / 34
• Procesul iterativ poate fi lung si complicat• Negocieri (dure)• Diferenta culturala dintre client si analist• Diferente ıntre cerintele clientului si ale utilizatorilor• Filmele SF vazute de client• Filmele SF vazute de programatori
![Page 19: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/19.jpg)
Rezultatul analizei
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
19 / 34
• Document de specificare a cerintelor• Acest document este folosit ca referinta• Provocari
◦ Nivelul de detaliu
• Mare: mai precis, obtinut mai greu, munca inutila• Mic: prea vag, nu poate ghida eficient dezvoltarea
◦ Audienta documentelor
• 2 versiuni: una pentru client, alta pentru dezvolatori?
◦ Notatia folosita
• Informala, semiformala, formala
![Page 20: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/20.jpg)
Tipuri de cerinte
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
20 / 34
• Cerinte functionale
◦ Ce trebuie sa faca sistemul
• Cerinte privind datele
◦ Formatul datelor la intrare/iesire◦ Formatul datelor din interiorul sistemului
• Constrangeri
◦ Cerinte de respectat ad-literam◦ Influenteaza direct implementarea
• Recomandari
◦ Ajuta la luarea deciziilor de proiectare cand sunt mai multeoptiuni
![Page 21: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/21.jpg)
Exemple
Modele de proiectare
Recapitulare
Analiza cerinelor• Ce trebuie saconstruim?• Inceputul unui proiect• Cerinta: ce, cum, cat• Specificatia buna• Detalii deimplementare laanaliza?• Responsabilitatileanalistului• Activitatile analistului• Probleme potentiale• Rezultatul analizei• Tipuri de cerinte• Exemple
Scenarii de utilizare
21 / 34
• Cerinte functionale
◦ Sistemul se va opri ın maxim 5 secunde dupa ce temperaturaprocesorului atinge 80 grade Celsius.
◦ Sistemul va permite cautarea si afisarea titlurilor cartilorscrise anumit autor.
• Cerinte privind datele
◦ Datele vor fi exportate ın format XML◦ Datele din tampoanele de intrare si iesire vor fi criptate
• Constrangeri
◦ Implementarea se va realiza folosind un limbaj orientat obiect.
◦ Metodologia de dezvoltare va fi RUP
• Recomandari
◦ Se va folosi cat mai putina memorie
![Page 22: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/22.jpg)
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
22 / 34
Scenarii de utilizare
![Page 23: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/23.jpg)
La ce folosesc scenariile
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
23 / 34
• Prezinta sistemul din perspectiva utilizatorului ⇒ ıntelegem ce secere
• Extragerea cerintelor, testare• Frecventa de utilizare a scenariilor ⇒ prioritati asignate cerintelor
• Documentia utilizatorilor• Prezentarea sistemului utilizatorilor
![Page 24: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/24.jpg)
Notiuni de baza
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
24 / 34
• Actor• Use case
![Page 25: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/25.jpg)
Actor
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
25 / 34
Reprezinta o entitate exterioara cu care sistemul interactioneaza.Poate fi:
• un utilizator uman• un alt sistem (hardware/software)
![Page 26: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/26.jpg)
Use case
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
26 / 34
• Ce este?• Ce nu este?• Cum arata?• La ce foloseste?
![Page 27: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/27.jpg)
Use case: ce este
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
27 / 34
• O descriere a modului ın care un actor interactioneaza cusistemul
• O descriere a modului ın care sistemul trebuie sa raspundaacestor interactiuni
• O viziune independenta de implementare a modului ın care se vacomporta sistemul
• O secventa de actiuni care are un rezultat vizibil pentru un actor
![Page 28: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/28.jpg)
Use case: ce nu este
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
28 / 34
• O descriere a interfetei cu utilizatorul• O descriere a modului de implementare al sistemului• O specificatie a claselor• O specificatie a datelor
![Page 29: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/29.jpg)
Use case: cum arata
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
29 / 34
• text: diferite formate
◦ brief: un paragraf care descrie scenariul principal de succes◦ casual: mai multe paragrafe care acopera mai multe scenarii◦ fully dressed: cel mai elaborat; sunt detaliati toti pasii si toate
variatiile; sunt specificate preconditiile si postconditiile
• grafic: diagrame UML
![Page 30: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/30.jpg)
Exemplu use case brief
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
30 / 34
Un utilizator gaseste site-ul unei agentii de turism care ofera pachetede vacanta. Agentia ıi cere utilizatorului sa completeze un formularcu datele vacantei si destinatia dorita. Agentia interogheaza apoiserviciile web ale liniilor aeriene si ale companiilor hoteliere si-iprezinta utilizatorului o lista de optiuni.Utilizatorul ısi alege optiuneafavorita. Agentia face rezervarile si ıi prezinta utilizatorului o lista cumodalitatile de plata. Utilizatorul alege o modalitate de plata si-ifurnizeaza agentiei informatiile necesare. Agentia confirmarezervarile, solicita efectuarea platii si ıi da utilizatorului toateinformatiile de care are nevoie pentru a pleca ın vacanta.
![Page 31: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/31.jpg)
Exemplu use case casual
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
31 / 34
• Scenariul principal de succes: (vezi slide-ul anterior)• Scenarii alternative:
◦ Daca locul rezervat ın avion nu mai este disponibil, utilizatorulva alege alt zbor
◦ Daca nu mai este disponibila camera rezervata, utilizatorul vaalege alta
◦ Daca utilizatorul nu are suficienti bani, agentia va anularezervarile
◦ ...
![Page 32: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/32.jpg)
Use case fully dressed
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
32 / 34
Un sablon propus de Alistair Cockburn poate fi gasit la adresa:http://members.aol.com/acockburn/papers/uctempla.htm
![Page 33: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/33.jpg)
Use case fully dressed
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
33 / 34
Contine:
• ID (nr), Nume (scurta fraza verbala)• Informatii caracteristice (Descriere, Domeniu, Actori...)• Principalul scenariu de succes• Extensii• Alte informatii
![Page 34: Adriana Gheorghies‚, Ovidiu Gheorghies‚ogh/files/ip/curs-02.pdf · Modele de proiectare Extreme Programming Inginerie s‚i Ingineria Programar ii Carta drepturilor dezvoltatorului](https://reader030.fdocuments.net/reader030/viewer/2022040223/5e5a191521e8d65b8f4e712a/html5/thumbnails/34.jpg)
Exemplu
Modele de proiectare
Recapitulare
Analiza cerinelor
Scenarii de utilizare• La ce folosescscenariile• Notiuni de baz• Actor• Use case• Use case: ce este• Use case: ce nu este• Use case: cum arata• Exemplu use casebrief• Exemplu use casecasual• Use case fullydressed• Use case fullydressed• Exemplu
34 / 34
Agentia de turism