You are on page 1of 37

FAKULTETI SHKENCA KOMPJUTERIKE

MODELI USE CASE-VE PR


APLIKACIONE SOFTWERIKE

Nntor, 2017
OBJEKTIVAT

Prshkrimi i Use Caseve

Diagrami Use case

Strukturimi Use Case

2
HYRJE
Shpikur nga Ivar Jacobson n vitet e 1960

Alistair
Cockburn ka zgjeruar modelin
Jacobson

shtnj mnyr pr t specifikojn krkesat


funksionale

Perdorimi use case?


3
SI T SPECIFIKONI KRKESAT FUNKSIONALE?
Prdorni use case dhe paraqitjave e deklarateve.
T dyja jan t nevojshme pr t kuptuar ndonj sistem t
kompleksitetit t rndsishme.
Ofrojne performanc per use case, kur sht e nevojshme

The system shall

+ The system must


The system shall ...
Use Cases Paraqitja deklarateve

Cila t przgjedhet? 4
USE CASES

Regjistrimi
admin Perdoruesve
Use case ne diagram Use Case ne skript

Nj use case sht nj kontrat e nj ndrveprimi


ndrmjet sistemit dhe aktorit.
Nj model i plot use case prbhen nga:
Nj diagram, duke prshkruar marrdhniet n mes t use
case dhe aktorve.
Nj dokument q prshkruan use case n detaje
5
VAZHDIM...

Prshkruan sjelljen e sistemit n kushte t


ndryshme, si sistemi i prgjigjet nj krkese nga nj
prej aktorve t quajtur aktor kryesor.
1. Aktori kryesor inicion disa ndrveprim me sistemin pr
t kryer disa qllime.
2. Sistemi u prgjigjet krkesave
3. Sherbimet e ndryshme apo skenar t ndryshm, mund
t ndahen n varsi t krkesave dhe kushteve prreth
krkesn.
4. Use case mbledh kto skenare s bashku.
Mund t prmbaj disa "shtigje" q nj prdorues
mund t przgjedh dhe bashkveprojn me sistemin 6
DIZAJNIMI I USE CASE-EVE

Aktor prfaqson nj rol t njeriut, pajisje


hardwarike, ose nj sistem tjetr n lidhje me
sistemin
Nje Use Case eshte
specifikimin e nj sr veprimeve
kryhet nga nj sistem
ofron nj rezultat te dukshm,
vler pr nj ose m shum aktor ose aktorve
tjera te sistemit
Nj model use case sht i prbr nga
Use-case diagrami(prfaqsim vizuale)
Use-case specifikasionet(prfaqsim tekstit) 7
NIVELI USE-CASE Nj nga qellimet
kryesore sht q t
bhet dallimi n mes t
Use Case niveleve t use case.
kryesor: Prdoret
direkt nga
prdoruesi Realizimi
shitjes

Qellimet e perdoruesit

Nn-funksionalitetit
Zgjedhja Plotesimi
produktit fatures

Alistair Cockburn Writing Effective Use Cases


8
USE CASES DIAGRAMI

Use case diagrams prshkruajn sherbimet e


sistemit nga pikpamja e nj vzhguesi t jashtm.
Theksi sht n at q nj sistem Cka ofrone dhe jo
Se Si.
Use case diagrams jan t lidhura ngusht me
skenare.
Nj skenar sht nj shembull i asaj q ndodh kur
dikush ndrvepron me sistemin.
Prfaqson funksionalitetin e dhn nga sistemi

9
ELEMENTET E DIAGRAMIT TE USE CASE
1. Aktori
2. Use Case
3. Komunikimi
4. Kufiri nnsistemit ose sistemit
5. Perfshira (<<include>>)
6. Zgjerim (<<extend>>)
7. Gjeneralizimi - trashigimia(Inheritance)
8. Varesi (Dependency)
9. Koment (Comment)
10. Artefakt (Artifact) 10
USE CASE DIAGRAM 1. AKTORET
Aktori:
Nuk sht pjes e nj sistemi

Prfaqson rolin e nj prdoruesi qe mund t ket

Paraqet nj sistem tjetr njerzore, nj makin apo

N mnyr aktive shkmben informacion me sistemin: nj

dhurues apo nj marrs i informacioneve


Mund te jet:
Person
Pajisje periferike (hardware)
Sistemi i jashtm ose nnsistem
Koha apo ngjarje e bazuar n koh

11
PYETJE PR IDENTIFIKIMI AKTORVE T
TJER

far entitet tjetr sht i interesuar n skenar / sistem?

far entiteti tjetr do t furnizohet me skenar/ sistem me


kt informacion?

A prdorin burime t jashtm t sistemit?

A bashkveprojn me nj sistem te jashtem?

12
USE CASE DIAGRAM 2. USE CASE
Use case referohet si rasti prdorimit q
prfaqson nj tipar t nevojshm n sistem.

Paraqet veprimet e kryera nga nj ose m shum


aktor n ndjekjen t nj qllimi t caktuar.

Emertimi use case

13
USE CASE DIAGRAM 3. KOMUNIKIMI
Tregon se nj aktor merr pjes n nj use case
Prfaqson komunikimin mes aktorit dhe use
case
Prshkruhet nga shigjeta

14
USE CASE DIAGRAM 4. KUFIRI NNSISTEMIT OSE
SISTEMIT

Nj kufi i drejtkndshit qe sht vendosur rreth


perimetrit t sistemit ose nensistemit pr t
treguar se si aktort komunikojn me sistemin.
Ajo mund t jet e dobishme pr t treguar disa
raste t prdorimit jasht drejtkndsh, pr t
sqaruar qllimin e sistemit tuaj.

15
USE CASE DIAGRAM 5. PERFSHIN (<<INCLUDE>>)

Prfaqson prfshirjen e funksionimit t nj use case


brenda nj tjeter use case.
Nj use case e thrret nj ose me shum use case
<<include>>.
<<include>> sht prdorur pr t treguar se si nj
use case kompozohet n nen-hapa.
Use case <<include>> paraqitet n fund me maj
shigjete.

16
16
USE CASE DIAGRAM 6. ZGJERIM (<<EXTEND>>)

Prfaqson zgjatjen e use case pr t prfshir


funksionalitetin opsional
Nj use case <<extend>> shton qllimet dhe hapat pr
use case.
<<extend>> veprojn vetm nn kushte t caktuara.

Use case << extend >> paraqitet n fund me maj


shigjete te drejtuara nga use case kryesor.
USE CASE DIAGRAM 7. GJENERALIZIMI TRASHIGIMIA
(INHERITANCE)

Realizon nje gjeneralizim te use cas dhe pastaj paraqet


use caset trashigues.
Nj use case i gjeneralizuar trashgon qllimet dhe aktort
e prgjithshem t tij, dhe t mund t shtoni qllimet m
specifike pr arritjen e rezultatit.
Nj aktor trashgues i trashgon, atributet dhe lidhjet e
prgjithsim t tij, dhe t mund t shtoni tjera shtes.
USE CASE DIAGRAM 8. VARESI (DEPENDENCY)

Tregon se dizajni i burimit ka varesi te plote nga


dizajni i objektivit
Paraqitet te:
Aktoret
Use Case
Artifaktet etc
USE CASE DIAGRAM 9. KOMENTE (COMMENT)

Prdoret pr t shtuar shnime t prgjithshme


n diagram.

20
USE CASE DIAGRAM 10. ARTEFAKT (ARTIFACT)

Nj artifact ofron nj lidhje n nj tjetr diagram


apo dokument.
Nj artefakt sht prdorur zakonisht pr t
lidhur nj use case t nj diagramin sekuencjale,
me nje dokument q e prshkruan at n detaje

21
UDHZIME E SPECIFIKIMET TE USE CASE
Nuk ka gjurm t dizajnit
Prshkruan se si do t funksionon use case, jo se
si do t dizajnohet
Nj dialog n mes t prdoruesit dhe sistemit

I plot, i qart, dhe n prputhje

22
DIAGRAMI USE CASE
Nj mnyr pr t vizuelizimin e marrdhnieve
ndrmjet aktorve dhe use caseve
n mesin use case

Nj tabel grafike q prmban use case e caktuar

23
Emri
Kufiri sistemit
sistemit ATM
sistemi
Aktori primar 1
trheq ja Aktori
parave sekondar

2
Konsumatori depoziton
bankes parat
Llogaria
e
Roli 3 klientit
transferim i
parave
Komuniki
mi
4
kontrolli
use case bilancit

24
SPECIFIKACIONI USE CASE
Use Case ID: Numri unik i use case
Emri Use Case: Emri use case
I krijuar nga: Autori krijimit
Data krijimit: Data krijimit
I modifikuar nga: Modifikuesi
Data e modifikimit: Data modifikimit
Prmbledhje Prmbledhje e shkurtr e veprimeve kryesore t use case-it

Prioritet 1-5 (1 = prioritet m t ult, 5 = prioriteti m i lart)


Parakushtet far duhet t kemi parasysh para se use case t "ekzekutohet"

Aktoret primar Emrat e aktoreve primar


Aktoret sekondar Emrat e aktoreve sekondar
Trigger Veprim q shkakton ky use case kur t filloj

Skenari kryesor Hapat Veprimet


1 Ndrveprimet midis aktorve dhe t sistemit q jan te
nevojshem pr t arritur qllimin
2
3
Zgjerime(Extensions) Hapat Degezimit Veprimeve
25
1 Rrug t tjera alternative q mund t perfshin use case

shtje t hapura shtjet Lista e shtjeve q mbeten pr t'u zgjidhur


Shembull i Specifikacionit te Use Case

Use Case ID: 1.


Emri Use Case: Trheqja e parave
I krijuar nga: Edona Shemsedini
Data krijimit: 01.02.2014
I modifikuar nga: Kaltrina Tahiri
Data e modifikimit: 15.02.2014
Prmbledhje Prdoruesi trheq para nga nj prej llogarive t
tij / saj
Prioritet 5
Parakushtet Prdoruesi te kete hyr n ATM
Postcondition Prdoruesi ka trhequr parat dhe ka marr nj
fatur
Aktoret primar Klienti banks
Aktoret sekondar Llogaria e klientit
Trigger Prdoruesin zgjedh parat pr t trhequr
26
vazhdim
Skenari kryesor Hapat Veprimet
1 Sistemit shfaq llojet e llogaris
2 Prdoruesi zgjedh tipin e llogaris
3 Sistemi krkon shumn pr t'u trhequr
4 Prdoruesin shenon shumn
5 Sistemi debiton llogarine prdoruesit dhe I paraqet te
hollat
6 Prdorues i terhek parat
7 Printimi faturs nga ana e sistemit
8 Prdoruesi e terhek fatur
9 Sistemit shfaq mbylljen e mesazhit dhe paraqet kartelen e
prdoruesit
10 Prdoruesi terhek kartn
11 Sistemi shfaq mesazhin e mirpritur
Zgjerime(Extensions) Hapat Degezimit veprimeve
5 a. Sistemit e njofton prdoruesit q fondet ne llogari jan t
pamjaftueshme
5 b. Sistemit ofron bilancin e llogaris
5 c. Sistemit ofron opsion e daljes
shtje t hapura 1 Duhet q sistemi t krkoj n qoft se prdoruesi
27
dshiron t shoh bilancin?
Sub-use Case Diagram

1a
Trheqja nga
<<extend>>
llogaria e rregullt
1
trheqja
parave
Klienti
Bankes
<<extend>>
1b
Trheqja nga
Llogaria
kursimet
e klientit

..
comment

28
Sub-use Case Diagram

1a
Trhiqja nga
llogaria e rregullt
1
trheqja
parave
Klienti
Bankes
1b
Trhiqja nga
Llogaria
kursimet
e klientit

gjeneralizimi

29
Sub-use Case Diagram

3a
zgjedh
<<include>> llogarit

3
transferimi
parave
Bank
Customer
<<include>>
3b
Modifikimi
Llogaria
bilancit te llogaris
e klientit

30
DIZAJNIMI I USE CASE-EVE

Gjetja e aktoreve Emri dhe shkurtimisht prshkrimi


aktorve q kemi gjetur.

Gjetja e use- Krijo diagram use case-ve.


Vlerso vlerat e biznesit dhe
case rreziqet teknike pr use case.

Prshkrimi I use case-ve.


Skica e use- Skenart e use case-ve.
case Mblidhni krkesa shtes.

Detajet e rrjedhs s ngjarjeve.


Detjaet e Struktura e rrjedhjes s ngjarjeve. 31
use-case Specifikacioni shtes t vetive t use
case .
DIZAJNIMI I USE CASE-EVE

Krkesat e use case


Duhet ofrojn vlera pr nj aktor
Orientimi qllimit
Duhet t ofroj informata te plota q prshkruan se si
ofrohet rezultati
Duhet t ket flukse themelore dhe alternative
Duhet qndroj vetm
Asnj renditja e rasteve t prdorimit
Nuk duhet t prshkruaj prpunimit t brendshm
t palidhur me nj krkes t palve t interesuara
T prqndrohet n far, jo si

32
PRFITIMET E USE CASES

Use Case jan mjeti kryesor pr marrjen e krkesave


Use cases jan prshkruar duke prdorur gjuhn e
konsumatorit (Gjuha e rendomet e cila sht prcaktuar n
fjalor)
Use cases ofrojn nj proces t ofrimit kontraktuese
Use cases sigurojn nj mekanizm t leht-kuptimi te
komunikimit
Kur krkesat analizohen, i bjn krkesat me te kjarta
Use cases ofrojn nj prmbledhje t shkurtr s far sistemi
duhet t bj n nj nivel abstrakt

33
VSHTIRSIT ME USE CASES

Si dekompozimi funksional, shpesh sht e vshtir pr t


br kalimin nga prshkrimi funksional n prshkrimin e
objektit t dizajnit
Riprdorimi n nivel t klass mund t pengohet nga do
zhvilluesi i "duke marr nj Use Case dhe drejtimin me t".
Q nga Use Case nuk pershkruajn klasat, zhvilluesit shpesh
prfundojn n nj vakum gjat analizs se objektit, dhe
shpesh mund t prfundojn n vshtrsit e riprdorimit
Use Cases mundesojn paraqitjen e krkesave jo-funksionale
Testimi funksionalitetin sht i drejtprdrejt, por krkesat
jo-funksionale nuk jan t qarta

34
FUNKSIONI VS FORMA

Use cases Architecture

Use Case specifikoj funksionin; Arkitektura specifikon


form
Use Case dhe arkitektura duhet t jetn t balancuara

35
REFERENCAT
Use and Abuse Cases, Martin Fowler, 1998
http://www.martinfowler.com/distributedComputing/abuse.pdf
Why use cases are not functions, Kurt Bittner, 2000
http://www-
128.ibm.com/developerworks/rational/library/content/Rational
Edge/dec00/WhyUseCasesAreNotFunctionsDec00.pdf
Hunting for use-case scenarios, Pan-Wei Ng, 2003
http://www-
106.ibm.com/developerworks/rational/library/content/Rational
Edge/oct03/m_hunting_ng.pdf
Use Cases: Yesterday, Today, and Tomorrow, Ivar
Jacobson, 2003
http://www-
128.ibm.com/developerworks/rational/library/775.html
Traceability from Use Cases to Test Cases, Peter
Zielczynski, 2006
http://www-128.ibm.com/developerworks/rational/library/04/r- 36
3217/index.html
USHTRIME
Prshkrimi i Use Caseve t aplikacionit ne grup

Tool:
EDRAW MAX 7.6

30/11/2017

37