Documente Academic
Documente Profesional
Documente Cultură
Cardul nu beneficiază prin folosirea ATM, ci cel care deţine cardul, aşadar
cardul nu va fi considerat actor.
Aşadar, primul actor va fi posesorul de card (CardHolder)
Pasul 1. Identificarea actorilor (continuare)
CardHolder
Bank Customer
Concluzie. Actorii sunt: Visa AS
Bank IS
Maintenance Operator
Pasul 1 bis. Reprezentarea unei diagrame
Pentru o mai bună înţelegere a celor deduse la pasul 1, e mai utilă
desenarea unei diagrame, pe care o s-o numim diagramă statică de
context (static context diagram)
Pasul 1 bis. Reprezentarea unei diagrame (continuare)
O altă soluţie, mai elaborată, ar fi să considerăm Bank customer ca
specializarea a lui CardHolder. Se rezolvă astfel problema excluderii
mutuale dintre cei doi actori.
Pasul 2. Identificarea cazurilor de utilizare
1) CardHolder:
• retrage bani
2) Bank customer:
• retrage bani
• consultarea soldului
• depozitarea banilor (cash)
• depozitarea cecurilor
3) Maintenance operator:
• reumple cu bani bancomatul
• recuperarea cardurilor care au fost “înghiţite”
• recuperarea cecurilor care au fost depozitate
4) Visa AS:
• niciuna
5) Bank IS:
• niciuna
ATM
Retragere bani
Umple bancomatul
Consultare sold
Recuperează carduri
Depozitează bani
ATM
Retragere bani
Umple bancomatul
Consultare sold
Recuperează carduri
Depozitează bani
Scenarii
Numim fiecare unitate de descriere a secvenţelor de acţiune secvenţă.
Un scenariu reprezintă o succesiune particulară a secvenţelor, care e rulat de
la începutul la sfârşitul unui caz de utilizare.
Un scenariu poate fi folosit pentru a ilustra o interacţiune sau o execuţie a
unei instanţe a unui caz de utilizare.
Pasul 4. Descrierea textuală a cazurilor de utilizare
(continuare)
Înregistrarea descrierii textuale nu e standardizată în UML. Se recomandă:
Rezumat: Acest caz de utilizare permite unui posesor de card Visa (Visa
CardHolder), care nu e client al băncii, să retragă bani în limita zilnică.
Version: 2.2
4. Visa CardHolder introduce pin-ul. 5. ATM verifică dacă datele sunt corecte.
6. ATM cere autorizaţie de la VISA
authorisation system.
7. VISA authorisation system 8. ATM cere Visa CardHolder să introducă
confirmă şi indică limita zilnică de suma dorită.
retragere.
9. Visa CardHolder introduce suma 10. ATM verifică dacă suma e sub limita
dorită. zilnică.
11. ATM întreabă Visa CardHolder dacă
doreşte chitanţă.
12. Visa CardHolder cere chitanţa. 13. ATM returnează cardul către Visa
CardHolder.
A2) Suma cerută e mai mare decât limita zilnică: intervine la pasul 10
11. ATM informează CardHolder că suma cerută e mai mare decât limita zilnică.
Scenariul se reîntoarce la pasul 8.
Postcondiţii:
• nu sunt prea evidente
c) Cerinţe UI (UI Requirements)
Mecanismul de intrare/ieşire disponibil pentru Visa CardHolder trebuie să fie:
• Un cititor de (smart)card.
• O tastatură numerică (pentru a introduce pin-ul) cu tastele “enter”, “corect” şi
“cancel”.
• Un ecran pe care să se afişeze mesajele ATM-ului.
• Taste în jurul ecranului, a.î. posesorul de card să selecteze suma dorită.
• Un distribuitor de chitanţe.
• Un distribuitor de bani.
d) Restricţii nefuncţionale (Non-functional constraints)
Timpul de răspuns:
• Interfaţa ATM trebuie să răspundă în limita maximă de 2 secunde.
• O tranzacţie nominală trebuie să se termine în cel mult 2 minute.
Disponibilitatea
• ATM trebuie să fie accesibil 24/7
• Lipsa hârtiei pentru tipărirea chitanţelor nu trebuie să fie un obstacol pentru un
posesor de card ră retragă bani.
Integritatea
• Interfaţa ATM trebuie să fie destul de robustă pentru a evita vandalizarea.
Confidenţialitatea
• Rata de eroare a procedurii de comparare a numărului de pin introdus cu acela de
pe card să fie sub 10-6.
Pasul 5. Descrierea grafică a cazurilor de utilizare
Se introduc:
-activităţile principale ale
sistemului (prin mesajele
trimise către sistem);
-referinţe la secvenţele
alternative şi de eroare (prin
note).
Organizarea cazurilor de utilizare
Identificarea părţii comune pe care cazurile de utilizare le au în comun şi
adăugarea relaţiei include.
Relaţia extend e opţională, spre deosebire de include, care e obligatorie.