Post on 26-Nov-2015
transcript
Proiectarea și Managementul
Sistemelor Informatice
C4 – Metoda cazurilor de
Lect. univ. dr. Mircea Moca (mircea.moca@econ.ubbcluj.ro - birou 431)
http://bis.econ.ubbcluj.ro/moodle/course/view.php?id=11
C4 – Metoda cazurilor de
utilzare
Cuprins
1. Legătura dintre metoda cazurilor de utilizare şi fazele elicitaţiei
2. Trăsăturile sistemului
3. Modelul cazurilor de utilizare
1. Documente utilizate1. Documente utilizate
2. Scenarii de utilizare1. Taxonomia scenariilor de utilizare
2. Gruparea scenariilor de utilizare
3. Documentarea cazurilor şi scenariilor de utilizare
2
Obiective1. Aprofundarea metodei de elicitaţie Cazuri de
utilizare
a) Extragerea şi documentarea cazurilor de utilizare
b) Realizarea conexiunilor între cazuri de utilizare şi obiectiveobiective
3
Trăsături (de sistem)
Necesități
Document de viziune
Cerin țe
4
Specifica ții de documenta ție
utilizator
Specifica ții de design (proiectare)
Specifica ții de testare
Specifica ții suplimentare (!)Model Use-Case
Cerin țede sistem
IBM Rational4
Trăsături de sistem
Trăsătura este o caracteristică/ capabilitate a sistemului care satisface direct necesitatea unui stakeholder.
Exemple:
ATMul va permite unui client să realizeze transfer de � ATMul va permite unui client să realizeze transfer de bani între conturi
� Interfața grafică cu utilizatorul va furniza ajutor contextual
5
Caracterizarea trăsăturilor
� Atribute
� Informații despretrăsături
� Ajută la evaluarea,
Atribute pentru trăsăturile sistemului:Stare
• Propus• Aprobat
• Încorporat (Integrat)Importanță – Cât este de � Ajută la evaluarea,
urmărirea, prioritizarea și managementul trăsăturilor
Importanță – Cât este de importantă trăsătura pentru client/ utilizator
• Critic• Important• Util
EfortRiscStabilitateRelease țintitAtribuit persoanei ...Motiv
6
Elaborarea cazurilor de utilizare
Pe baza trăsăturilor sistemului, se realizează:
� Identificarea scenariilor de utilizare
� Formarea cazurilor de utilizare
� Corelări între cazuri de utilizare� Corelări între cazuri de utilizare
� Documentarea scenariilor şi cazurilor de utilizare
� Reprezentarea grafică a cazurilor de utilizare (UML –diagrama cazurilor de utilizare)
7
Documente utilizate în
modelul cazurilor de utilizare
Studiu/interviu realizare Model Cazuri de
Utilizare- Descrierea studiului
- Listă cu toți actorii-Listă cu toate cazurile de
Client
Automat de reciclare
Reciclează articole
Operator
-utilizare
Recicleaz ă articole- Scurtă descriere
- Flux de acțiuni/ev.
Tipărește raportzilnic
- Scurtă descriere- Flux de acțiuni/ev.
Modific ă valori atricole- Scurtă descriere- Flux de acțiuni
Adaug ă un nou tip de sticl ă- Scurtă descriere
- Flux de evenimente
Tipărește raport zilnic
Modific ă valori articole
Adaug ă un nou tip de sticl ă
Manager
8
Modelul cazurilor de utilizare - șablon
• Modelul cazurilor de
utilizare
Asigură o vedere globală
completă asupra
funcțonalității sistemului
Arată comportamentul
Modelul cazurilor de utilizare
1. IntroducereRolul sistemului – nivel gegeral
2. Descrierea metodei pentru ob ținerea modelului
Vedere de ansamblu asupra modelului
3. Ierarhia M odelului de cazuri de utilizare Arată comportamentul
sistemului în context
Poate servi ca și contract între
client și dezvoltatori
Input pentru activități ulterioare
din ciclul de dezvoltare al
produsului
List ă cu to ți actoriiList ă cu toate cazurile de utilizare9
utilizareComponentele modelului, reprezentate ca și ierarhie. Pentru fiecare componentă, se furnizează:
Nume, scurt ă descriere, rol în sistem și conținut:
ActoriNume și scurtă descriere despre actor și asocieri
Cazuri de utilizareNume și scurtă descriere despre caz de utilizare și asocieri
4. Diagrame cu cazuri de utilizare
Proprietăți ale actorilor în modelul
cazurilor de utilizare
� Proprietăți utilizate în descrierea actorilor:
� Nume
� Scurtă descriere� Ce sau pe cine reprezintă actorul
� De ce este necesar actorul (rol)
� Interesul actorului în utilizarea sistemului
� Relații� Asocieri și comunicații spre și dinspre cazurile de utilizare
� Actorii apar în diagramele cazurilor de utilizare arătând cum interacționează acesta cu modelul
10
Exemplu de scurtă descriere a actorului:
� Client� Clientul adună sticle, conserve și flacoane acasă și le aduce la
magazin (unde se află mașina de reciclat) pentru a primi bani.
� Operator� Operator� Operatorul este responsabil pentru mentenanța mașinii de
reciclat.
� Manager� Managerul este responsabil pentru întrebări legate de bani și
serviciile oferite de magazin clienților.
11
Proprietăți ale cazurilor de utilizare din
model
� Proprietăți pentru cazuri de utilizare:� Nume
� Scurtă descriere� Scurtă descriere
• Descrie rolul și motivația cazului de utilizare� Relații între cazuri de utilizare și actori
� Descriere scurtă a cazului de utilizare� Cazurile de utilizare vor fi detaliate ulterior în analiză, în
raportul cazurilor de utilizare
12
Cum denumim cazurile de utilizare?
Fiecare caz de utilizare trebuie să aibă un nume care să indice ceea ce se ob ține prin interacțiunile cu actorul (actorii) –REZULTATUL ob ţinut
Exemple de denumiri corecte/incorecte:
� Reciclează articolePrimește articole de reciclat� Primește articole de reciclat
� Acceptă articole de reciclat� Returnează articole� Depune articole
Care dintre formulările de mai sus indică valoarea/ atingerea scopului pentru actor?
13
Exemple de descrieri ale cazurilor de
utilizare
� Reciclează articole
� Utilizatorul utilizează mașina de reciclat pentru a returna automat articole (sticle, conserve, flacoane) care sunt contabilizate şi de la care primește chitanță. Cu chitanța se poate obține cash la un aparat adecvat.aparat adecvat.
� Adaugă un nou tip de sticlă
� Noi tipuri de sticle pot fi adăugate mașinii prin pornirea ei în –mod învățare - și inserând 5 exemple de sticlă ca și când se returnează articole în mod obișnuit. În acest fel mașina măsoară sticlele și învață să le identifice. Managerul specifică valorile pentru noul tip de sticlă.
14
Simbolurile UML pentru reprezentarea
cazurilor de utilizareApasă but. start
Mașină gata
Prima sticlă
Mașină gata Recicleaz ă articole OperatorClient
Alertă, articol blocat
Problema rezolvată
Mașină gata
Următoarea sticlă
Cere chitanță
Tipărește chitanță
Următoarea sticlă
articole
Liniile și săgețile indică un dialog(comunicație în ambele sensuri)
Săgeata indică cine inițiază (declanșează) cazul de utilizare
15
Secvențe de interacțiuni
Fiecare caz de utilizare reprezintă un set de secven țe de interac țiuni între actor(i) şi sistem.
Sistem
O secvență de interacțiuni ale sistemului cu actorii pentru obținerea unui rezultat util (de valoare) pentru un actor (denumit și actor primar).
16
Scenarii de utilizare
• Un caz de utilizare poate fi format din mai multe instanțe
• Un scenariu este o instanță a unui caz de utilizare
Reciclează articoleClient Operator
utilizare• O secvență specifică de acțiuni
17
Cazuri de utilizare speciale
Sunt importante, nu trebuiesc omise:� Pornirea și oprirea sistemului� Mentenanța sistemului� Mentenanța informațiilor� Exemplu: rutine automate verifică baza de date
� Abordate mai ușor în iterații ulterioare� Abordate mai ușor în iterații ulterioare
� Adăugarea noilor funționalități unui sistem care rulează� Important pentru sistemele cu funcționare în timp real și
fără opriri
� Portarea sistemului care rulează în medii noi� Cazuri de utilizare în care actorul este firma de dezvoltare
software
� Scenarii de deployment, mentenanţă
18
Identificarea scenariilor în cazul de
utilizare
1. Identificarea tuturor scenariilor posibile pentru un caz de utilizare
2. Formarea listei cu toate întrebările care vor fi adresate utilizatoruluiutilizatorului
� Procedură:
� Lucru pe hârtie cu utilizatorii
� Întrebare: ce ar putea să nu meargă (să meargă greșit)?
� Întrebare: ce s-ar putea să nu meargă (să nu se întâmple)?
� Întrebare: ce tipuri de resurse se pot bloca?
� Codificare: A1, A2, A3, etc
� Se pot descrie detaliat, însă de obicei este suficientă identificarea lor19
Cazuri de utilizare: fluxuri de activități /
evenimente
Într-un caz de utilizare:
• 1 Flux de baz ăScenariul în cazul fericit !
• Câteva fluxuri alternative� Variante obi șnuite
Exemplu: retragere numerar din cont curent
� Cazuri rareExemplu: retragere numerar cu valoare mai mare de X lei
� Flux excep țional (cu erori, excep ții)Exemplu: Caseta de numerar este goală
20
Descrierea cazurilor de utilizare: pas cu pas
Pentru fiecare caz de utilizare identificat și confirmat de beneficiar din modelul cazurilor de utilizare, trebuie specificat procesul pas cu pas (flux de acțiuni/evenimente).
Nume caz de utilizare
Scurt ă descriereFP1 Flux principal
1. Primul pas2. Al doilea pas3. Al treilea pas, etc.
FA1.1 Flux alternativ 1FA 1.2 Flux alternativ 2 FA 1.3 Flux alternativ 3
Nume caz de utilizare
21
Scenarii de utilizare
� Definiție, principii� Definiție, principii
� Tipuri de scenarii
� Identificarea și documentarea scenariilor
� Avantajele scenariilor
22
Definiție, principii
1. O descriere a unei modalități posibile de utilizare a sistemului.
2. Descrie un exemplu concret de satisfacere/ eșuare în satisfacere a unui scop (grup de scopuri).
� Stakeholderii în general preferă să discute de cerințe de sistem în termeni de exemple, decât în termeni de intenții/ cerințe abstracte.
� Scenariul este un mediator între abstract și concret.
23
Caracteristici
� În general scenariile definesc o secvență de pași de interacțiune realizați pentru satisfacerea unui scopși surprinde relația cu contextul sistemului.
� Logica unui scenariu de utilizare poate fi parte a cazului de utilizare sau poate fi o variantă cazului de utilizare sau poate fi o variantă alternativă. � Poate fi o trecere întreagă pe tot parcursul cazului de utilizare, precum
logica unui scenariu principal sau o parte a acestuia + unul sau mai multe scenarii alternative.
� Logica unui scenariu de utilizare poate fi o trecere prin logica conținută de mai multe cazuri de utilizare.
24
Scenarii: cerințe de sistem->în context
� Cerințele există într-un context specific:
� Scenariile sunt utilizate pentru a documenta informații legate de contextul sistemului
� Informație de context:
Actori, roluri� Actori, roluri
� Obiective
� Precondiții
� Postcondiții
� Resurse
� Locații fizice (~geolocații)
25
Actori
� Actorii sunt persoane sau sisteme care interacționează cu sistemul.
� Un scenariu de utilizare specifică:
� Pentru fiecare pas din interacțiune, care sunt actorii implicați.implicați.
� Interacțiuni între actori.
� Interacțiuni între actori și alte persoane care nu interacționează direct cu sistemul (stakeholderi).
� Caracteristici relevante legate de actori (ex: intenţii).
26
Obiective (perspectiva scenariilor)
� Scenariile ilustrează satisfacția/ insatisfacția
îndeplinirii obiectivului/ obiectivelor.
� Obiectivele corespunzătoare sunt asociate la:
� Un scenariu sau� Un scenariu sau
� Actorilor sau
� Pașilor (în mod individual) din scenariu.
� Exemplu:
� g1. Reciclarea articolelor (Să fac bani?).
27
Condiții necesare
Realizarea scenariilor poate fi condiționată:� Precondiție:� Condiții care trebuie să fie îndeplinite înainte de executarea
scenariului pentru ca acesta să poată fi realizat.� Se pot reflecta în iniţializarea instanţelor, constructori de clase ...
� Postcondiție:� Postcondiție:� Condiții care trebuie să fie îndeplinite fie în cadrul
sistemului fie în contextul acestuia, după realizarea scenariului.
� Garanții de succes sunt condiții care sunt îndeplinite după rularea cu succes a scenariului.
� Garanții minime sunt condiții care sunt îndeplinite întotdeauna, indiferent dacă execuția scenariului s-a încheiat cu succes sau nu.
28
Resurse și locații
Resursele sunt precondiții speciale care trebuiesc să fie îndeplinite pentru ca un scenariu să poată fi realizat (executat).
Exemple: informații, persoane, alte resurse temporale, financiare, materiale.Exemplu de precondiţie: cel puțin o persoană și un articol de reciclat.
Locația unui scenariu poate fi un loc fizic sau fictiv în care scenariul este realizat.
� Scenariile se pot realiza diferit (comportamentul sistemului) în locații diferite.
� Dacă este o precondiție, scenariul poate fi realizat doar în locație.
29
Clasificare
� Pe baza cantității informațiilor deținute din context (la care fac referire), scenariile pot fi clasificate în:
� Scenarii interne, de sistem
� Scenarii de interacțiune (actor-sistem)
� Scenarii de context� Scenarii de context
Sistem
Contextulsistemului
Scenariu
30
Cum construiesc scenariile de utilizare?
În principiu se scriu scenarii pentru fiecare fațetă de context:
� Fațeta subiect: scenariu de actualizare a informațiilor de
context (ex: self-addaptive applications).
� Fațeta utilizare: scenarii în care se specifică fluxurile de � Fațeta utilizare: scenarii în care se specifică fluxurile de
activități (evenimente) -- workflow
� Fațeta IT: scenarii care specifică proceduri de mentenanţă şi
backup (salvarea stărilor, datelor, contextului)
� Faţeta dezvoltare: scenariile specifică secvenţe de acţiuni,
interacţiuni între sistem şi inginerii care modifică sistemul (ex:
modifică implementările sau soluţiile pentru anumiţi algoritmi)
31
Clasificarea scenariilor
Criterii de clasificare:
� Obiectiv
� Contribuţia la satisfacerea obiectivelor
� Nivel de abstractizare (abstract real)
Tipuri:Tipuri:
� Scenarii de stare curentă şi stare dorită
� Scenarii pozitive şi negative
� Scenarii de folosire greşită
� Scenarii descriptive, exploratorii şi explicative
� Scenarii interne, de interacţiune şi de context
� Scenariu principal, alternative şi excepţionale
32
Scenarii de stare actuală - stare dorită
Sunt utilizate pentru a sprijini crearea unui model conceptual al unui
sistem deja existent într-un anumit context, sau crearea modelului
pentru sistemul ţintit (dorit):
� Scenarii de stare actuală -> sistem existent (releveu)
� Scenarii de stare dorită -> sistem ţintit
Scenarii de stare actuală:Scenarii de stare actuală:
� Folosirea actuală a sistemului
� Conţine aspecte specifice, perspective reale, constatabile deja
� Crearea modelului funcţional:
� Funcţii
� Fluxuri de date
� Modele de date, baze de date
Scenarii de stare curentă:
� Documentarea stării dorite
33
Scenarii pozitive-negativeScenariu pozitiv:� Utilizat pentru documentarea unei secvenţe de interacţiuni
dorite
� Duce la satisfacerea unui set de scopuri asociate (intenţii ale stakeholderilor în leg. cu sistemul).
Scenariu negativ:� Utilizat pentru documentarea unei secvenţe de interacţiuni
� Care duc la eşecul în satisfacerea unui set de scopuri (intenţii ale stakeholderilor în leg. cu sistemul).
� Pot fi permise sau interzise
Obiectiv
34
Scenarii de utilizare greşită
Scenariile de utilizare greşită (de abuz) sunt folosite pentru documentarea unui sistem împotriva scopului pentru care a fost conceput.� Un utilizator ostil utilizează sistemul împotriva intereselor
stakeholderilor (- ... mecanisme de protecţie)
� Cazul de utilizare reprezintă o ameninţare pentru sistem, stakeholderi sau alte sisteme din context.
� Utilizate doar când sistemul trebuie să trateze aspecte de securitate (cerinţe calitative – de securitate, confidenţialitate).
35
Scenarii descriptive, exploratorii şi explicative
Scenarii descriptive:
� Descriu un proces sau workflow cu scopul de a înţelege operaţiile necesare din proces, agenţii implicaţi, evenimentele care apar, etc.
� Permit stakeholderilor să identifice sub-scopuri şi să asocieze funcţii de care nu erau conştienţi în prealabil.
� Încep prin afirmarea obiectivului.
� Utilizarea scenariilor descriptive – ilustrarea sensului obiectivelor, � Utilizarea scenariilor descriptive – ilustrarea sensului obiectivelor, detalierea algoritmilor, detalierea ideilor inovative privind mecanisme de sistem.
Scenarii exploratorii:
� Create pentru a explora şi evalua soluţii alternative posibile pentru alegerea celei mai bune - convenabile soluţii.� Explorarea beneficiilor – riscurilor pentru diferitele alternative posibile pentru
atingerea unui scop.
� Scenariile exploratorii sprijină procesul decizional în analiză.
36
Scenarii de sistem interneScenarii interne de sistem (de tip A):� Utilizate pentru documentarea interacţiunilor interne din
sistem� Ca interacţiunile componentelor unui sistem (subsisteme)
� NU se descriu interacţiuni cu elemente din contextul sistemului.
Scenarii de interacţiune (de tip B):Scenarii de interacţiune (de tip B):� Utilizate pentru documentarea interacţiunilor între sistem şi
actorii săi (persoane, sisteme din context)
Scenarii de context (de tip C):� Utilizate pentru a documenta interacţiunile între sistem şi
actorii săi şi descrierea informaţiilor de context care sunt relevante pentru utilizarea sistemului sau sistemul în sine.� Exemplu: interacţiuni între actori şi alte persoane ca utilizatori-
beneficiari indirecţi ai sistemului (stakeholderi).
37
Scenarii: principal, alternative şi
excepţionaleScenariul principal:
� Documentează cea mai obişnuită secvenţă de interacţiuni pentru satisfacerea unui obiectiv.
� Varianta standard, directă, scurtă de a atinge un scop.
Scenariile alternative:
Defineşte secvenţe de interacţiuni alternative pentru scenariul principal.� Defineşte secvenţe de interacţiuni alternative pentru scenariul principal.
� Scenariile alternative diferă de cel principal prin minim un pas realizat (sau ordinea de execuţie)
Scenariile excepţionale:
� Cauzate de evenimente excepţionale de-a lungul scenariului principal.
� Scenariul documentează cum trebuie să reacţioneze sistemul la un eveniment excepţional.
� Exemple: eşecuri hardware, căderea conexiunii internet, input invalid de la utilizator.
38
Caz de utilizare – un set de scenarii
� Scenariul unui caz de utilizare este o secvenţă validă de interacţiuni care rezultă din scenariile: principal, alternative şi excepţionale definite pentru cazul de utilizare care conduc la terminarea (realizarea) cazului de utilizare.� Terminare: fie satisfacerea obiectivelor fie un abandon � Terminare: fie satisfacerea obiectivelor fie un abandon
predefinit.
Un caz de utilizare conţine:� Informaţie de context
� Scenariu principal
� Scenarii alternative
� Scenarii excepţionale
39
Reguli pentru documentarea scenariilor
� Folosirea timpului prezent
� Folosirea diatezei active
� Folosirea structurii subiect – predicat – substantiv
� Evitarea verbelor modale (ex: ar trebui) – introduc ambiguitate în
formularea scenariilor -> formularea cerinţelor funcţionale
� Separarea clară a unei interacţiuni de alte interacţiuni
� Numerotarea fiecărui pas din interacţiune
� Este admisă doar o secvenţă de interacţiuni pe scenariu
� Descrierea scenariului – din perspectiva unei persoane din exterior
� Denumirea actorilor – identificare, control
� Afirmarea explicită a obiectivului urmărit de scenariu
� Accent pe cum este satisfăcut obiectivul prin realizarea scenariului
40
Standardizarea cerințelor
Crearea/ adoptarea de șabloane pentru standardizarea cerințelor.
Avantaje:
- Crește utilizabilitatea rezultatelor muncii altor echipe din proiectdin proiect
- Se evită reinventarea roții
- Informațiile sunt înțelese așa cum trebuie –minimizarea riscului de interpretare
- Informațiile necesare se pot căuta țintit
- Documentele par mai familiare (nu intimiează)
- Documentele sunt citite mai ușor41