modelarea regulilor : tabel de decizie
DESCRIPTION
Modelarea regulilor : Tabel de Decizie. Constantinoaia Veronica 341 C5 [email protected]. Cuprins. Introducere Table Driven Programming Tabel de Decizie Studiu de caz Bibliografie. Introducere. Proiectele software == schimbare perpetuua - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/2.jpg)
CUPRINS
Introducere Table Driven Programming Tabel de Decizie Studiu de caz Bibliografie
![Page 3: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/3.jpg)
INTRODUCERE
Proiectele software == schimbare perpetuua Aplicatiile dezvoltate trebuie sa evolueze pe
masura ce se modifica cerintele. Programarea Agile este creata pentru
schimbari, fara replanuiri si reconstruiri. Programarea bazata pe tabele (Table-driven
programming) descrie numeroase tehnici prin care se pot integra schimbarile.
![Page 4: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/4.jpg)
TABLE-DRIVEN PROGRAMMING
Metoda dezvoltata la inceputul anilor ‘70 de catre programatorii vremii.
Este o tehnica foarte eficienta de implementare a sistemelor bazate pe politici si reguli.
Se foloseste de sabloane de stari, workflow-uri, tabele de decizie si constrangeri.
![Page 5: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/5.jpg)
TABEL DE DECIZIE(1)
Reprezinta una din cele mai simple si foarte eficiente metode de a rezolva probleme complexe.
Unicitatea: un astfel de tabel poate fi specificat si intretinut de un utilizator.
![Page 6: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/6.jpg)
TABEL DE DECIZIE(2)
Definitie: Un tabel de decizie este formularea cazurilor de test bazata pe deciziile luate; rezulta astfel un proces de lucru cu un grad ridicat de acuratete si completitudine.
Scop: Imbunatatirea modului de lucru si a rezultatului final.
![Page 7: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/7.jpg)
TABEL DE DECIZIE(3)
Principiu: Functionalitatea sistemului este verificata de cazurile de test bazate pe logica de decizie din cadrul sistemului. Numarul cazurilor de test depinde de cerinte.
Utilizare: Unit testing, Integration testing, System testing, Functional acceptance testing
![Page 8: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/8.jpg)
TABEL DE DECIZIE (4) Pasul 1: Determinarea conditiilor. Acestea se
trec in subtabelul A a tabelului. Pasul 2: Definirea actiunilor. Acestea se trec
in subtabelul B. Pasul 3: Completarea subtabelului C – fiecare
conditie devine adevarat o data si falsa o data.
Pasul 4: Completarea subtabelului D – Determinarea deciziilor care sunt imposibile si combinarea cazurilor de test duble.
Pasul 5: Daca este necesar, descrierea in limbaj natural a cazurilor de test.
![Page 9: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/9.jpg)
TABEL DE DECIZIE (5)
![Page 10: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/10.jpg)
TABEL DE DECIZIE (6)
![Page 11: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/11.jpg)
TABEL DE DECIZIE (7)
Forma simpla a acestor tabele elimina conditiile complexe de tipul if then else.
In cazul proiectelor mai complexe, pot fi create mai multe astfel de tabele legate intre ele, modularizand astfel logica aplicatiei.
![Page 12: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/12.jpg)
STUDIU DE CAZ
Situatia : Reduceri la un magazin de imbracaminte. In magazin exista doar trei tipuri de articole vestimentare:pantaloni,bluze si fuste.
Premisa: Vor fi puse la reducere doar articolele care sunt de mai mult de 3 luni in magazin. Pantalonii vor beneficia de o reducere de 20%, bluzele de 30% si fustele de 50%.
![Page 13: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/13.jpg)
Pasul 1: Determinarea conditiilor. Acestea se trec in subtabelul A a
tabelului.Conditiile:Element= Articol din magazinB1: In magazin de mai mult de 3 luniB2: Item= pantaloniB3: Item= bluza
![Page 14: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/14.jpg)
Pasul 2: Definirea actiunilor. Acestea se trec in subtabelul B.
ActiuniA1: Fara reducereA2: Reducere 20%A3: Reducere 30%A4: Reducere 50%
![Page 15: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/15.jpg)
Pasul 3: Completarea subtabelului C – fiecare conditie devine adevarat o data
si falsa o data.Cazurile de test 1 2 3 4 5 6 7 8Element= Articol din magazin Y Y Y Y Y Y Y YB1: In magazin de mai mult de 3 luni
Y Y Y Y N N N N
B2: Item= pantaloni Y Y N N Y Y N NB3: Item= bluza Y N Y N Y N Y N
![Page 16: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/16.jpg)
Cazurile de test 1 2 3 4 5 6 7 8Element= Articol din magazin Y Y Y Y Y Y Y YB1: In magazin de mai mult de 3 luni
Y Y Y Y N N N N
B2: Item= pantaloni Y Y N N Y Y N NB3: Item= bluza Y N Y N Y N Y NA1: Fara reducere X X X XA2: Reducere 20% X XA3: Reducere 30% XA4: Reducere 50% X
![Page 17: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/17.jpg)
Pasul 4: Completarea subtabelului D – Determinarea deciziilor care sunt
imposibile si combinarea cazurilor de test duble.
Cazul de test 1 nu este posibil datorita nerespectarii integritatii datelor. (un item nu poate fi si “pantaloni” si “bluza” in acelasi timp)
Cazurile de test 6,7,8 sunt identice cu cazul 5 pentru ca nu mai are nici o relevanta tipul itemului daca nu a fost in magazin mai mult de 3 luni
![Page 18: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/18.jpg)
Pasul 5: Daca este necesar, descrierea in limbaj natural a cazurilor de test.
No Descriere
2 Un item a fost mai mult de 3 luni in magazin si itemul este “pantaloni”. Actiune: reducere 20%
3 Un item a fost mai mult de 3 luni in magazin si itemul este “bluza”. Actiune: reducere 30%
4 Un item a fost mai mult de 3 luni in magazin si itemul nu este nici “pantaloni”, nici “bluza”. Actiune: reducere 50%
5 Un item nu a fost mai mult de 3 luni in magazin. Actiune: nici o reducere
![Page 19: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/19.jpg)
BIBLIOGRAFIE http://martinfowler.com/ieeeSoftware/accCha
nge.pdf http://www.ordina.nl/nl/downloadcentrum/~/
media/Files/Markten/ICT/20101110%20QuickReferenceCards_English_v1%200.ashx?forcedownload=1
Jerome Boyer & Hafedh Mili: Agile Business Rule Development: Process, Arhitecture, and Jrules Example
![Page 20: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/20.jpg)
INTREBARI?
![Page 21: Modelarea regulilor : Tabel de Decizie](https://reader033.vdocuments.net/reader033/viewer/2022061522/56815e4f550346895dccc6fa/html5/thumbnails/21.jpg)
MULTUMESC!