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
MODELAREA REGULILOR:TABEL DE DECIZIE
Constantinoaia Veronica341 [email protected]
CUPRINS
Introducere Table Driven Programming Tabel de Decizie Studiu de caz Bibliografie
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.
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.
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.
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.
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
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.
TABEL DE DECIZIE (5)
TABEL DE DECIZIE (6)
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.
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%.
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
Pasul 2: Definirea actiunilor. Acestea se trec in subtabelul B.
ActiuniA1: Fara reducereA2: Reducere 20%A3: Reducere 30%A4: Reducere 50%
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
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
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
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
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
INTREBARI?
MULTUMESC!