You are on page 1of 22

Chng 4: M hnh ha USE CASE

1- GII THIU USE CASE


Trong giai on phn tch, ngi s dng cng tc cng nhm pht trin phn mm to nn
mt t hp thng tin quan trng v yu cu i vi h thng. Khng ch l ngi cung cp
thng tin, bn thn ngi s dng cn l mt thnh phn ht sc quan trng trong bc tranh
ton cnh v nhm pht trin cn phi ch ra c phng thc hot ng ca h thng
tng lai theo hng nhn ca ngi s dng. Hiu c im quan trng ny l cha kha
to dng c nhng h thng va tho mn cc yu cu t ra va d dng s dng, thm
ch to nim vui thch trong s dng.
Nh vy cng c gip ta m hnh ho h thng t hng nhn ca ngi s dng gi l Use
Case. V tr li r hn v Use Case ta xt mt trng hp sau:
Gi s ti quyt nh mua mt chic my fax mi. Khi n ca hng my vn phng, ti mi
nhn ra l phi chn la trong mt danh sch my mc rt phong ph. Loi my no s c
chn y? Ti t hi tht chnh xc mnh mun lm g vi chic my fax s mua? Ti mun
c nhng tnh nng no? Ti mun dng bng giy thng hay giy thermal ? Ti mun copy
bng ci my ? Ti mun ni n vi my tnh ca mnh? Ti mun dng n va lm my
fax va lm scanner? Ti c cn phi gi fax tht nhanh n mc cn mt chc nng chn
s tng tc? Liu ti c mun s dng my fax ny phn bit gia mt c in thoi gi ti
v mt bn fax gi ti ?.
Tt c chng ta u tri qua nhng kinh nghim nh vy khi quyt nh mua mt mn hng
no khng phi v nim vui bc pht. Vic chng ta s lm trong nhng trng hp nh
vy l mt dng phn tch Use Case: Chng ta t hi mnh s s dng sn phm (hay h
thng) sp bt ta b ra mt khon tin ng k ra sao? Tr li xong cu hi trn ta mi c
kh nng chn ra sn phm tho mn nhng i hi ca mnh. iu quan trng y l phi
bit nhng i hi l g.
Loi quy trnh ny ng vai tr rt quan trng i vi giai on phn tch ca mt nhm pht
trin h thng. Ngi dng mun s dng h thng tng lai, h thng m bn sp thit k v
xy dng, nh th no?
Use Case l mt cng c tr gip cho cng vic ca nh phn tch cng ngi s dng quyt
nh tnh nng ca h thng. Mt tp hp cc Use Case s lm ni bt mt h thng theo
phng din nhng ngi dng nh lm g vi h thng ny.
lm r hn, ta hy xt mt v d nh bng l. H thng tng lai trong trng hp ny s
s nhiu ngi s dng, mi ngi s giao tip vi h thng cho mt mc ch khc bit:
- Qun tr gia s dng h thng cho mc ch thng k
- Nhn vin tip khch s dng h thng thc hin cc dch v phc v khch hng.
- Nhn vin phng u t s dng h thng thc hin cc giao dch lin quan n
u t.

- Nhn vin thm tra ch k s dng h thng cho mc ch xc nhn ch k v bo


tr thng tin lin quan n khch hng.
- Khch hng giao tip vi h thng (nh bng) cho cc hot ng s dng dch v
nh m ti khon, gi tin vo, rt tin mt,
Qu trnh tng tc gia ngi s dng v h thng trong mi mt tnh hung k trn s khc
nhau v ph thuc vo chc nng m ngi s dng mun thc thi cng h thng.
Nhm pht trin h thng cn phi xy dng nn mt kch bn nu bt s tng tc cn thit
gia ngi s dng v h thng trong mi kh nng hot ng. V d nh kch bn cho s
tng tc gia nhn vin thu ngn v h thng ca b phn tit kim trong sut tin trnh ca
mt giao dch. Mt kch bn khc v d l chui tng tc xy ra gia b phn tit kim v b
phn u t trong mt giao dch chuyn tin.
Nhn chung, c th coi mt Use case nh l tp hp ca mt lot cc cnh kch v vic s
dng h thng. Mi cnh kch m t mt chui cc s kin. Mi mt chui ny s c kch
hot bi mt ngi no , mt h thng khc hay l mt phn trang thit b no , hoc l
mt chui thi gian. Nhng thc th kch hot nn cc chui s kin nh th c gi l cc
Tc Nhn (Actor). Kt qu ca chui ny phi c gi tr s dng i vi hoc l tc nhn
gy nn n hoc l mt tc nhn khc.

2- MT S V D USE CASE
Trong v d nh bng l trn, mt s nhng Use Case d thy nht l:
- Mt khch hng m mt ti khon mi.
- Phng u t tnh ton tin li cho cc ti khon u t.
- Mt chng trnh u t mi c a vo p dng.
- Yu cu chuyn tin ca khch hng c thc hin.
- Chuyn tin theo k hn t mt ti khon u t sang mt ti khon tit kim.

3- S CN THIT PHI C USE CASE


Use Case l mt cng c xut sc khuyn khch nhng ngi dng tim nng ni v h
thng t hng nhn ca h. i vi ngi dng, chng phi bao gi vic th hin v m t
nhng nh trong vic s dng h thng cng l chuyn d dng. Mt hin thc c tht l
ngi s dng thng bit nhiu hn nhng g m h c th din t ra: Cng c Use Case s
gip cho nhm pht trin b gy "lp bng" , ngoi ra mt s trnh by trc quan cng cho
php bn kt hp cc biu Use Case vi cc loi biu khc.
Sng kin ch o l li cun c ngi dng tham gia vo nhng giai on u tin ca
qu trnh phn tch v thit k h thng. Vic ny s nng cao xc sut cho vic h thng
chung cuc tr thnh mt cng c quen thuc i vi cc ngi dng m n d nh s tr
gip thay v l mt tp hp kh hiu v ri rm ca cc khi nim my tnh m ngi dng
trong gii doanh thng c cm gic khng bao gi hiu c v khng th lm vic cng.

Cng tc li ko ngi s dng tham gia tch cc vo qu trnh phn tch l nn tng quan
trng cho vic to dng mt m hnh "thnh cng", mt m hnh d c ngi s dng hiu
v chp nhn sau khi thm xc cc nhim v cn bn. Ngoi ra, Use Case cn gip nhm
pht trin quyt nh cc lp m h thng phi trin khai.

4- M HNH HA USE CASE


Trng hp s dng l mt k thut m hnh ha c s dng m t mt h thng mi s
phi lm g hoc mt h thng ang tn ti lm g. Mt m hnh Use Case c xy dng qua
mt qu trnh mang tnh vng lp (interative), trong nhng cuc hi tho bn lun gia
nhm pht trin h thng v khch hng (hoc/v ngi s dng cui) s dn ti mt c t
yu cu c tt c mi ngi chp nhn. Ngi cha tinh thn ca m hnh ha Use Case l
Ivar Jacobson, ng to nn k thut m hnh ha da trn nhng kinh nghim thu thp
c trong qu trnh to h thng AXE ca hng Erisson. Use Case nhn c mt s
quan tm c bit ln lao t pha cng ng hng i tng v tc ng ln rt nhiu
phng php hng i tng khc nhau.
Nhng thnh phn quan trng nht ca mt m hnh Use Case l Use Case, tc nhn v h
thng. Ranh gii ca h thng c nh ngha qua chc nng tng th m h thng s thc
thi. Chc nng tng th c th hin qua mt lot cc Use Case v mi mt Use Case c t
mt chc nng trn vn, c ngha l Use Case phi thc thi ton b chc nng , t s kin
c kch hot u tin bi mt tc nhn ngoi cnh cho ti khi chc nng i hi c thc
hin hon tt. Mt Use Case lun lun phi cung cp mt gi tr no cho mt tc nhn, gi
tr ny l nhng g m tc nhn mong mun t pha h thng. Tc nhn l bt k mt thc th
ngoi cnh no mong mun tng tc vi h thng. Thng thng, l mt ngi s dng
ca h thng, nhng nhiu khi cng c th l mt h thng khc hoc l mt dng my mc
thit b phn cng no cn tng tc vi h thng.
Trong k thut m hnh ha Use Case, h thng s c hnh dng ca mt "hp en" v cung
cp cc Use Case. H thng lm iu nh th no, cc Use Case c thc thi ra sao, l
nhng kha cnh cha c cp ti trong giai on ny. Trong thc t, nu m hnh ha
Use Case c thc hin trong nhng giai on u ca d n th thng nh pht trin s
khng bit Use Case sau ny s c thc thi (tc l bin thnh nhng dng code tht s) nh
th no.
Mc tiu chnh yu i vi cc Use Case l:
- quyt nh v m t cc yu cu v mt chc nng ca h thng, y l kt qu
rt ra t s tha thun gia khch hng (v/hoc ngi s dng cui) v nhm pht trin phn
mm.
- to nn mt li m t r rng v nht qun v vic h thng cn phi lm g, lm
sao m hnh c th c s dng nht qun sut ton b qu trnh pht trin, c s dng
lm cng c giao tip cho tt c nhng ngi pht trin nn cc yu cu ny, v to nn
mt nn tng cho vic to nn cc m hnh thit k cung cp cc chc nng c yu cu.
- to nn mt nn tng cho cc bc th nghim h thng, m bo h thng tha
mn ng nhng yu cu do ngi s dng a ra. Trong thc t thng l tr li cu hi:
Liu h thng cui cng c thc hin nhng chc nng m khi u khch hng ngh?
- cung cp kh nng theo di cc yu cu v mt chc nng c chuyn thnh cc
lp c th cng nh cc th tc c th trong h thng.

- n gin ha vic thay i v m rng h thng qua vic thay i v m rng m


hnh Use Case, sau ch theo di ring nhng Use Case b thay i cng nhng hiu ng
ca chng trong thit k h thng v xy dng h thng.
Nhng cng vic c th cn thit to nn mt m hnh Use Case bao gm:
1. nh ngha h thng (xc nh phm vi h thng)
2. Tm ra cc tc nhn cng nh cc Use Case
3. M t Use Case
4. nh ngha mi quan h gia cc Use Case
5. Kim tra v ph chun m hnh.
y l mt cng vic mang tnh tng tc rt cao, bao gm nhng cuc tho lun vi khch
hng v nhng ngi i din cho cc loi tc nhn. M hnh Use Case bao gm cc biu
Use Case ch ra cc tc nhn, Use Case v mi quan h ca chng vi nhau. Cc biu ny
cho ta mt ci nhn tng th v m hnh, nhng nhng li m t thc s ca tng Use Case
thng li l vn bn. V cc m hnh trc quan khng th cung cp tt c cc thng tin cn
thit, nn cn thit phi dng c hai k thut trnh by .
C rt nhiu ngi quan tm n vic s dng cc m hnh Use Case. Khch hng (v/hoc
ngi s dng cui) quan tm n chng v m hnh Use Case c t chc nng ca h thng
v m t xem h thng c th v s c s dng ra sao. Cc Use Case v vy phi c m
t trong nhng thut ng v ngn ng ca khch hng/ngi s dng.
Nh pht trin cn n cc m hnh Use Case hiu h thng cn phi lm g, v qua c
c mt nn tng cho nhng cng vic tng lai (cc m hnh khc, cc cu trc thit k v
vic thc thi xy dng h thng bng code).
Cc nhm chuyn gia th nghim tch hp v th nghim h thng cn n Use Case th
nghim v kim tra xem h thng c m bo s thc hin ng chc nng c c t
trong giai on u.
V cui cng, bt k ngi no lin quan n nhng hot ng lin kt n chc nng ca h
thng u c th quan tm n cc m hnh Use Case; v d nh cc nhm tip th, bn hng,
h tr khch hng v cc nhm son tho ti liu.
M hnh Use Case m t hng nhn Use Case ca h thng. Hng nhn ny l rt quan
trng, bi n nh hng n tt c cc hng nhn khc ca h thng. C cu trc logic ln
cu trc physic u chu nh hng t cc Use Case, bi chc nng c c t trong m
hnh ny chnh l nhng chc nng c thc thi trong cc cu trc kia. Mc ch cui cng
l thit k ra mt gii php tha mn cc yu cu .
M hnh ha cc Use Case chng phi ch c dng nm bt cc yu cu ca h thng
mi; n cng cn c s dng h tr cho vic pht trin mt phin bn mi ca h thng.
Khi pht trin mt phin bn mi ca h thng ang tn ti, ngi ta s b sung thm cc
chc nng mi vo m hnh Use Case c bng cch thm vo cc tc nhn mi cng nh
cc Use Case mi, hoc l thay i c t ca cc Use Case c. Khi b sung thm vo m

hnh Use Case ang tn ti, hy ch khng b ra bt k mt chc nng no vn cn c


cn ti.

5- BIU USE CASE


Use Case c m t trong ngn ng UML qua biu Use Case (Use Case Diagram), v
mt m hnh Use Case c th c chia thnh mt s lng ln cc biu nh th. Mt biu
Use Case cha cc phn t m hnh biu th h thng, tc nhn cng nh Use Case v ch
ra cc mi quan h gia cc Use Case.
Li m t ni dung Use Case thng c cung cp di dng vn bn. Trong UML, li m
t c coi l thuc tnh "vn bn" (document) ca Use Case. Li m t ny bao cha
nhng thng tin quan trng, nh ngha cc yu cu v chc nng c th. Thay cho vic m t
Use Case bng vn bn, bn cng c th v mt biu hot ng (activity diagram). Mc
du vy, nn nh rng mt Use Case cn phi c m t sao cho d hiu v d giao tip i
vi ngi s dng, m nhng cu trc phc tp nh mt biu hot ng c th gy cm
gic xa l i vi nhng ngi khng quen s dng.
Tm tt: Mt biu Use Case th hin:
- H thng
- Tc nhn
- Use Case.
V d biu Use Case trong UML:

Hnh 4.1- Mt v d biu Use case trong UML


Trong :
- H thng c th hin qua hnh ch nht vi tn h thng bn trn
- Tc nhn c th hin qua k hiu hnh nhn
- Use Case c th hin qua hnh ellipse
5.1- H thng:
V h thng l mt thnh phn ca m hnh Use Case nn ranh gii ca h thng m ta mun
pht trin cn phi c nh ngha r rng. Xin nh rng mt h thng khng phi bao gi
cng nht thit l mt h thng phn mm; n c th l mt chic my, hoc l mt doanh

nghip. nh ngha cc ranh gii v trch nhim ca h thng khng phi bao gi cng l vic
d dng, bi khng phi bao gi ngi ta cng r rng nhn ra tc v no c kh nng c t
ng ha tt nht h thng ny v tc v no th tt nht nn thc hin th cng hoc dnh
cho cc h thng khc. Mt kha cnh khc cn ch l h thng cn phi ln ti mc no
trong phin bn u tin ca n. C gng ti a cho phin bn u tin ca h thng thng l
cch m ngi ta hay thc hin, th nhng nhng mc tiu qu tm nh vy c th khin cho
h thng tr nn qu ln v thi gian cung cp h thng qu lu. Mt sng kin tt hn l
xc nhn cho r cc chc nng cn bn v tp trung vo vic nh ngha mt kin trc h
thng thch hp, r rng, c nn tng rng m nhiu chc nng hn c th c b sung
vo h thng ny trong cc phin bn sau.
Yu t quan trng l bn phi to dng c mt bn catalog ca cc khi nim (cc thc th)
trung tm cng vi cc thut ng v nh ngha thch hp trong nhng giai on u ca thi
k phn tch. y cha phi m hnh phm vi i tng, m ng hn l mt c gng m
t cc thut ng ca h thng hoc doanh nghip m chng ta cn m hnh ha. Cc thut ng
sau s c dng m t Use Case. Phng thc c th ca catalog ny c th rt khc
nhau; n c th l mt m hnh khi nim ch ra cc mi quan h n gin hoc ch l mt vn
bn cha cc thut ng cng li m t vn tt nhng thut ng ny trong th gii thc.
5.2- Tc nhn:
Mt tc nhn l mt ngi hoc mt vt no tng tc vi h thng, s dng h thng.
Trong khi nim "tng tc vi h thng", chng ta mun ni rng tc nhn s gi thng
ip n h thng hoc l nhn thng ip xut pht t h thng, hoc l thay i cc thng
tin cng vi h thng. Ni mt cch ngn gn, tc nhn thc hin cc Use Case. Thm mt
iu na, mt tc nhn c th l ngi m cng c th l mt h thng khc (v d nh l mt
chic my tnh khc c ni kt vi h thng ca chng ta hoc mt loi trang thit b phn
cng no tng tc vi h thng).
Mt tc nhn l mt dng thc th (mt lp), ch khng phi mt thc th. Tc nhn m t v
i din cho mt vai tr, ch khng phi l mt ngi s dng tht s v c th ca h thng.
Nu mt anh chng John no mun mua hp ng bo him t mt hng bo him, th vai
tr ca anh ta s l ngi mua hp ng bo him, v y mi l th m chng ta mun m
hnh ha, ch khng phi bn thn anh chng John. Trong s thc, mt con ngi c th c
th ng vai tr lm nhiu tc nhn trong mt h thng: mt nhn vin ngn hng ng thi
cng c th l khch hng ca chnh ngn hng . Mt khc, s lng cc vai tr m mt con
ngi c th c php m trch trong mt h thng cng c th b hn ch, v d cng mt
ngi khng c php va son ha n va ph duyt ha n . Mt tc nhn s c mt
tn, v ci tn ny cn phi phn nh li vai tr ca tc nhn. Ci tn khng c phn nh
li mt thc th ring bit ca mt tc nhn, m cng khng phn nh chc nng ca tc nhn
.
Mt tc nhn giao tip vi h thng bng cch gi hoc l nhn thng ip, ging nh khi
nim chng ta quen bit trong lp trnh hng i tng. Mt Use Case bao gi cng c
kch hot bi mt tc nhn gi thng ip n cho n. Khi mt Use Case c thc hin, Use
Case c th gi thng ip n mt hay l nhiu tc nhn. Nhng thng ip ny cng c th
n vi cc tc nhn khc, bn cnh chnh tc nhn kch hot v gy ra Use Case.
Tc nhn cng c th c xp loi. Mt tc nhn chnh (Primary Actor) l tc nhn s dng
nhng chc nng cn bn ca h thng, tc l cc chc nng chnh. V d, trong mt h thng
bo him, mt tc nhn cn bn c th l tc nhn x l vic ghi danh v qun l cc hp
ng bo him. Mt tc nhn ph (secondary actor) l tc nhn s dng cc chc nng ph

ca h thng, v d nh cc chc nng bo tr h thng nh qun tr ngn hng d liu, giao


tip, back-up v cc tc v qun tr khc. Mt v d cho tc nhn ph c th l nh qun tr
hoc l mt nhn vin s dng chc nng trong h thng rt ra cc thng tin thng k v
doanh nghip. C hai loi tc nhn ny u c m hnh ha m bo m t y cc
chc nng ca h thng, mc d cc chc nng chnh mi tht s nm trong mi quan tm
ch yu ca khch hng.
Tc nhn cn c th c nh ngha theo dng tc nhn ch ng (active actor) hay tc nhn
th ng (passive actor). Mt tc nhn ch ng l tc nhn gy ra Use Case, trong khi tc
nhn th ng khng bao gi gy ra Use Case m ch tham gia vo mt hoc l nhiu Use
Case.
5.3- Tm tc nhn:
Khi nhn din tc nhn, c ngha l chng ta lc ra cc thc th ng quan tm theo kha cnh
s dng v tng tc vi h thng. Sau chng ta c th th t mnh vo v tr ca tc nhn
c gng nhn ra cc yu cu v i hi ca tc nhn i vi h thng v xc nh tc nhn
cn nhng Use Case no. C th nhn din ra cc tc nhn qua vic tr li mt s cc cu hi
nh sau:
- Ai s s dng nhng chc nng chnh ca h thng (tc nhn chnh)?
- Ai s cn s h tr ca h thng thc hin nhng tc v hng ngy ca h?
- Ai s cn bo tr, qun tr v m bo cho h thng hot ng (tc nhn ph)?
- H thng s phi x l v lm vic vi nhng trang thit b phn cng no?
- H thng cn phi tng tc vi cc h thng khc no? Nhm cc h thng ny
c chia ra lm hai nhm, nhm kch hot cho mi quan h vi h thng, v nhm m h
thng cn phi xy dng ca chng ta s thit lp quan h. Khi nim h thng bao gm c
cc h thng my tnh khc cng nh cc ng dng khc trong chnh chic my tnh m h
thng ny s hot ng.
- Ai hay ci g quan tm n kt qu (gi tr) m h thng s sn sinh ra?
Khi i tm nhng ngi s dng h thng, ng quan st nhng ngi ang ngi trc mn
hnh my tnh. Nn nh rng, ngi s dng c th l bt k ngi no hay bt k vt no
tng tc hoc trc tip hoc gin tip vi h thng v s dng cc dch v ca h thng ny
t n mt kt qu no . ng qun rng m hnh ha Use Case c thc hin m
hnh ha mt doanh nghip, v th tc nhn thng thng l khch hng ca doanh nghip
. T suy ra h khng phi l ngi s dng theo ngha n gin v trc tip l ngi
ngi trc mn hnh my tnh v thao tc vi my tnh.
c th nhn dng c tt nhiu tc nhn khc nhau, hy tin hnh nghin cu nhng
ngi s dng ca h thng hin thi (mt h thng th cng hoc mt h thng ang tn ti),
hi xem h ng nhng vai tr no khi thc thi cng vic hng ngy ca h vi h thng.
Cng ngi s dng c th thc thi nhiu vai tr khc nhau ti nhiu thi im khc nhau,
ty thuc vo vic chc nng no trong h thng ang c s dng.
Xin nhc li, mt tc nhn l mt vai tr (mt lp), ch khng phi mt thc th ring l. Mc
d vy, khi cung cp v d l mt vi cc thc th ca mt tc nhn, bn c th m bo rng

tc nhn tht s tn ti. Mt tc nhn phi c mt s lin kt (Association) no vi mt


hoc l nhiu Use Case. Mc d c nhng tc nhn c th khng kch hot nn mt Use Case
no, nhng tc nhn s giao tip t nht vi mt Use Case ti mt thi im no . Cn
phi t tn cho tc nhn lm sao tn phn nh ng vai tr ca tc nhn trong h thng.
5.4- Biu din tc nhn trong ngn ng UML:
Tc nhn trong UML l mt lp vi bit ng "Actor" (Tc nhn) v tn ca lp ny l tn ca
tc nhn (phn nh vai tr ca tc nhn). Mt lp tc nhn c th va c thuc tnh (attribute)
ln hnh vi (method) cng nh mt thuc tnh ti liu (document) m t tc nhn . Mt lp
tc nhn c mt biu tng chun ha, biu tng "hnh nhn":

Hnh 4.2- biu tng tc nhn trong UML


5.5- Use Case:
Mt Use Case l i din cho mt chc nng nguyn vn m mt tc nhn nhn c. Mt
Use Case trong ngn ng UML c nh ngha l mt tp hp ca cc chui hnh ng m
mt h thng thc hin to ra mt kt qu c th quan st c, tc l mt gi tr n vi
mt tc nhn c th. Nhng hnh ng ny c th bao gm vic giao tip vi mt lot cc tc
nhn cng nh thc hin tnh ton v cng vic ni b bn trong h thng.
Cc tnh cht tiu biu ca mt Use Case l:
- Mt Use Case bao gi cng c gy ra bi mt tc nhn, c thc hin nhn danh
mt tc nhn no . Tc nhn phi ra lnh cho h thng thc hin Use Case , d l trc
tip hay gin tip. Him khi c tc nhn khng lin quan n vic gy ra mt Use Case no
.
- Mt Use Case phi cung cp mt gi tr cho mt tc nhn. Gi tr khng phi bao
gi cng cn thit phi ni tri ra ngoi, nhng lun phi c thy r.
- Mt Use Case l phi hon tt. Mt trong nhng li thng gp l s chia mt Use
Case thnh cc Use Case nh hn, v cc Use Case ny thc thi ln nhau ging nh vic gi
hm cho mt ngn ng lp trnh. Mt Use Case s khng c coi l hon tt chng no m
gi tr cui cng ca n cha c sn sinh ra, thm ch ngay c khi xy ra nhiu ng tc
giao tip (v d nh i thoi vi ngi s dng).
Use Case c ni vi tc nhn qua lin kt (association). ng lin kt ch ra nhng tc
nhn no giao tip vi Use Case no. Mi lin kt bnh thng ra l mt mi quan h 1-1 v
khng c hng. iu mun ni ln rng mt thc th ca lp tc nhn s giao tip vi
mt thc th ca mt Use Case v c hai c th giao tip vi nhau trong c hai chiu. Mt Use
Case s c t tn theo mt thc th m Use Case s thc hin, v d nh k hp ng bo
him, cp nht danh sch, v.v, v thng l mt cm t hn l ch mt t ring l.

Mt Use Case l mt lp, ch khng phi mt thc th. N m t trn vn mt chc nng, k
c cc gii php b sung v thay th c th c, cc li c th xy ra cng nh nhng ngoi l
c th xy ra trong qu trnh thc thi. Mt kt qu ca s thc th ha mt Use Case c gi
l mt cnh kch (scenario) v n i din cho mt s s dng c th ca h thng (mt
ng dn thc thi ring bit qua h thng). V d mt cnh kch ca Use Case "K hp ng
bo him" c th l "John lin h vi h thng qua in thoi ri sau k hp ng bo
him t cho chic xe Toyota Carolla m anh ta va mua."
5.6- Tm Use Case:
Qu trnh tm cc Use Case bt u vi cc tc nhn c xc nh phn trc. i vi
mi tc nhn, hy hi cc cu hi sau:
a. Tc nhn ny cn nhng chc nng no t h thng? Hnh ng chnh ca tc nhn
l g ?.
V d cho mt giao dch rt tin bn my ATM trong mt nh bng l, cc hnh ng chnh
ca khch hng (tc nhn) c th l :
- t th vo my ATM
- Nhp password
- Nhp loi chuyn dch
- Nhp s tin mt mun rt ra
- Yu cu v loi tin
- Nht tin ra t my
- Rt th v t in kt qu giao dch
b. Tc nhn c cn phi c, phi to, phi hy b, phi sa cha, hay l lu tr mt
loi thng tin no trong h thng?
V d :
- Nhn vin nh bng liu c quyn truy xut hay thay i mc tin li?
- Khch hng c th thay i password ca mnh.
c. Tc nhn c cn phi bo cho h thng bit v nhng s kin no ? Nhng s
kin nh th s i din cho nhng chc nng no?
V d :
- Khch hng kt thc ti khon, nhn vin cung cp nhng thng tin ny cho h
thng.
- C mt chng trnh u t mi, cc chi tit ca chng trnh ny s phi c nhn
vin nh bng nhp vo h thng.

d. H thng c cn phi thng bo cho Actor v nhng thay i bt ng trong ni b


h thng?
- Trong ti khon cn qu t tin.
- Ba k lin tip tin lng cha v ti khon.
e. Cng vic hng ngy ca tc nhn c th c n gin ha hoc hu hiu ha qua
cc chc nng mi trong h thng (thng y l nhng chc nng tiu biu cha c t
ng ha trong h thng)?
f. Cc cu hi khc:
- Use Case c th c gy ra bi cc s kin no khc?
V d :
S kin thi gian: Cui thng, ht hn u t.
S kin bnh thng ca h thng: T ng chuyn tin theo cc lnh xc nh trc.
Cc s kin bt bnh thng: Hp ng u t kt thc trc thi hn.
- H thng cn nhng thng tin u vo/u ra no? Nhng thng tin u vo/u ra
t u ti v s i u?
- Kh khn v thiu ht chnh trong h thng hin thi nm u (th cng /t ng
ha)?
i vi nhm cu hi cui khng c ngha l Use Case y khng c tc nhn, m tc nhn
s c nhn ra ch khi chng ta nhn din ra cc Use Case ny v sau xc nh tc nhn
da trn c s l Use Case. Xin nhc li, mt Use Case bao gi cng phi c lin kt vi t
nht mt tc nhn.
5.7- V d tm Use Case:
Nh bng ABC a ra cc yu cu sau:
- Mt khch hng c th mun gi tin vo, rt tin ra hoc n gin kim tra li s
tin trong ti khon ca anh ta qua my t ng rt tin (ATM). Khi a tin vo hoc rt tin
ra, cn phi ghi ra giy kt qu nhng chuyn dch thc hin v trao t giy ny cho khch
hng.
Quan st cc chc nng cn bn v cc thnh phn tham gia, ta thy c hai tc nhn d nhn
ra nht l khch hng v nhn vin thu ngn.
Qua , c th nhn dng cc Use Case sau:
- Gi tin vo.
- Rt tin ra.

- Kim tra mc tin trong ti khon


- Thc hin cc chuyn dch ni b h thng
- In kt qu cc chuyn dch thc hin.

Hnh 4.3 Cc Use case trong h thng ATM


Use Case gi tin vo v rt tin ra ph thuc vo Use Case thc hin cc chuyn dch trong
ni b h thng, vic thc hin ny v phn n li ph thuc vo chc nng in ra cc cng
vic c thc hin. Kim tra mc tin trong ti khon l mt Use Case c lp, khng
ph thuc vo cc Use Case khc.

6- CC BIN TH (VARIATIONS) TRONG MT USE CASE


Mi Use Case s c mt dng hnh ng chnh (Basic Course). l tin trnh bnh thng
hay tin trnh mong i i vi Use Case ny.
Ngoi ra, c th cn c mt hay nhiu dng hnh ng thay th (Alternative) khc. Chng c
th c chia lm hai nhm chnh:
- Thay th bnh thng (Normal Alternative)
- iu kin gy li (Error Condidtions)
Nhng g mang tnh bnh thng hn trong Use Case c gi l Thay th bnh thng.
C th miu t cc dng hnh ng thay th bng t ng (xem phn ti liu Use Case ).
V d mt khch hng c th chn cc loi giao dch sau ca ATM:
- Gi tin vo
- Rt tin ra

- Kim tra mc tin trong ti khon


y l nhng v d cho cc dng hnh ng thay th bnh thng.
iu kin gy li i din cho nhng bc tin hnh bt bnh thng trong mt Use Case.
Cn phi tnh trc n nhng iu kin gy li , v d :
- Mc tin trong ti khon khng tin hnh giao dch
- Password khng ng
- ATM b nghn th
Hnh sau nu bt dng hnh ng chnh v nhng dng hnh ng thay th cng nh s khc
bit ca chng i vi tin trnh mong i ca Use Case.

Hnh 4.4 Cc tin trnh trong h thng ATM

7- QUAN H GIA CC USE CASE


C ba loi quan h Use Case: Quan h m rng, quan h s dng v quan h to nhm. Quan
h m rng v quan h s dng l hai dng khc nhau ca tnh tha k. Quan h to nhm l
mt phng cch t nhiu Use Case chung vi nhau vo trong mt gi.

7.1- Quan h m rng


Nhiu khi trong qu trnh pht trin Use Case, ngi ta thy mt s Use Case tn ti cung
cp mt phn nhng chc nng cn thit cho mt Use Case mi. Trong mt trng hp nh
vy, c th nh ngha mt Use Case mi l Use Case c cng thm mt phn mi. Mt Use
Case nh vy c gi l mt Use Case m rng (Extended Use Case ). Trong quan h m
rng, Use Case gc (Base Use Case ) c dng m rng phi l mt Use Case hon thin.
Use Case m rng khng nht thit phi s dng ton b hnh vi ca Use Case gc.
Biu sau ch ra Use Case K hp ng mua t l Use Case m rng ca "K hp ng
bo him.

Hnh 4.5 - Quan h m rng gia cc Use Case


Quan h m rng gia cc Use Case c biu th bng on thng vi hnh tam gic rng tr
v pha Use Case c dng m rng, i km vi stereotype <<extends>>.
7.2- Quan h s dng
Khi mt nhm cc Use Case cng chung mt hnh vi no th hnh vi ny c th c tch
ring ra thnh mt Use Case ring bit v n c th c s dng bi cc Use Case kia, mt
mi quan h nh vy c gi l quan h s dng.
Trong quan h s dng, phi s dng ton b Use Case khi qut ha, ni mt cch khc, ta
c mt Use Case ny s dng ton b mt Use Case khc. Cc hnh ng trong Use Case
khi qut ha khng cn phi c s dng trong cng mt tin trnh. Chng c th c trn
ln vi cc hnh ng xy ra trong Use Case chuyn bit ha.

Hnh 4.6 - Quan h s dng gia cc Use Case


Quan h s dng gia cc Use Case c biu th bng on thng vi hnh tam gic rng tr
v pha Use Case c s dng, i km vi stereotype <<uses>>.
7.3- Quan h chung nhm
Khi mt s cc Use Case cng x l cc chc nng tng t hoc c th lin quan n nhau
theo mt phng thc no , ngi ta thng nhm chng li vi nhau.
Nhm cc Use Case c thc hin bng khi nim "Gi" (Package) ca UML. Gi khng
cung cp gi tr gia tng cho thit k.
V d: tt c cc Use Case c lin quan n s tng tc gia khch hng v nhn vin thu
ngn s c nhm thnh "Package Khch hng- N/v thu ngn"

Hnh 4.7 Package ca UML


Tm tt v Use Case vi my ATM trong ngn hng l:
Cho ti nay chng ta xc nh c mt vi Use Case, phn tch dng hnh ng chnh
cng nh cc dng hnh ng thay th, cng nh rt ra cc mi quan h gia chng. Biu
sau tng hp nhng thng tin thu thp c v nhm cc Use Case cn bn ca mt h
thng ATM.

Hnh 4.8 - Biu mt s Use Case trong h thng ATM

8- MIU T USE CASE


Nh trnh by, li miu t mt Use Case thng c thc hin trong vn bn. y l li
c t n gin v nht qun v vic cc tc nhn v cc Use Case (h thng) tng tc vi
nhau ra sao. N tp trung vo ng x i ngoi ca h thng v khng cp ti vic thc
hin ni b bn trong h thng. Ngn ng v cc thut ng c s dng trong li miu t
chnh l ngn ng v cc thut ng c s dng bi khch hng/ngi dng.
Vn bn miu t cn phi bao gm nhng im sau:
- Mc ch ca Use Case: Mc ch chung cuc ca Use Case l g? Ci g cn phi
c t ti? Use Case ni chung u mang tnh hng mc ch v mc ch ca mi Use
Case cn phi r rng.
- Use Case c khi chy nh th no: Tc nhn no gy ra s thc hin Use Case
ny? Trong hon cnh no?
- Chui cc thng ip gia tc nhn v Use Case: Use Case v cc tc nhn trao i
thng ip hay s kin no thng bo ln cho nhau, cp nht hoc nhn thng tin v gip
nhau quyt nh? Yu t no s miu t dng chy chnh ca cc thng ip gia h thng
v tc nhn, v nhng thc th no trong h thng c s dng hoc l b thay i?
- Dng chy thay th trong mt Use Case: Mt Use Case c th c nhng dng thc
thi thay th ty thuc vo iu kin. Hy nhc n cc yu t ny, nhng ch ng miu t
chng qu chi tit n mc chng c th che khut dng chy chnh ca cc hot ng
trong trng hp cn bn. Nhng ng tc x l li c bit s c miu t thnh cc Use
Case khc.
- Use Case s kt thc vi mt gi tr i vi tc nhn nh th no: Hy miu t khi
no Use Case c coi l kt thc, v loi gi tr m n cung cp n tc nhn.

Hy nh rng li miu t ny s xc nh nhng g c thc thi c lin quan n tc nhn


bn ngoi, ch khng phi nhng s vic c thc hin bn trong h thng. Vn bn phi r
rng, nht qun, khin cho khch hng c th d dng hiu v thm tra chng ( ri ng
rng n i din cho nhng g m anh/c ta mun t pha h thng). Trnh dng nhng cu
vn phc tp, kh din gii v d hiu lm.
Mt Use Case cng c th c miu t qua mt biu hot ng. Biu hot ng ny
ch ra chui cc hnh ng, th t ca chng, cc quyt nh chn la xc nh xem hnh
ng no sau s c thc hin.
b sung cho li miu t mt Use Case, ngi ta thng a ra mt lot cc cnh kch c
th minh ha iu g s xy ra mt khi Use Case ny c thc th ha. Li miu t cnh
kch minh ha mt trng hp c bit, khi c tc nhn ln Use Case u c coi l mt
thc th c th. Khch hng c th d dng hiu hn ton b mt Use Case phc tp nu c
nhng cnh kch c miu t thc tin hn, minh ha li li ng x v phng thc hot
ng ca h thng. Nhng xin nh rng, mt li miu t cnh kch ch l mt s b sung ch
khng phi l ng c vin thay th cho li miu t Use Case.
Sau khi cc Use Case c miu t, mt hot ng v mt cng vic c bit cn phi thc
hin l thm tra xem cc mi quan h ( cp ti trong phn 2.7) c c nhn din khng.
Trc khi tt c cc Use Case c miu t, nh pht trin cha th c c nhng kin thc
hon tt v tng th xc nh cc mi quan h thch hp, th nghim lm theo phng thc
c th s dn n mt tnh hung nguy him. Trong thi gian thc hin cng vic ny, hy
tr li cc cu hi sau:
- Tt c cc tc nhn lin quan n mt Use Case c mi lin kt giao tip vi Use
Case khng?
- C tn ti nhng s tng t gia mt lot cc tc nhn minh ha mt vai tr chung
v nhm ny liu c th c miu t l mt lp tc nhn cn bn (base class)?
- C tn ti nhng s tng t gia mt lot cc Use Case, minh ha mt dng chy
hnh ng chung? Nu c, liu iu ny c th c miu t l mt mi quan h s dng n
vi mt Use Case khc?
- C tn ti nhng trng hp c bit ca mt Use Case c th c miu t l mt
mi quan h m rng?
- C tn ti mt tc nhn no hay mt Use Case no khng c mi lin kt giao tip?
Nu c, chc chn y c chuyn lm lc, sai tri: Ti sao li xut hin tc nhn ny?
- C li yu cu no v chc nng c xc nh, nhng li khng c bt k mt
Use Case no x l? Nu th, hy to mt Use Case cho yu cu .

Vn bn miu t mt Use Case n gin:


V d Use Case "Cung Cp Thng Tin V Mt Ti Khon Ti Nh Bng ABC: Sau khi phn
tch h thng, ta nhn thy cn c mt Use Case in ln mn hnh ca nhn vin nh bng
tt c nhng chi tit v mt ti khon ca mt khch hng.
c t Use Case:

Chi tit ti khon: // tn Use Case


S Use Case: UCSEC35
Miu t ngn: // miu t ngn gn Use Case
Use Case "chi tit ti khon" cho php nhn vin nh bng xem cc chi tit ca mt ti khon
m anh ta nh tm hiu.
Dng chy cc s kin: // dng logic chung
Nhn vin chn Chi Tit Ti Khon trn menu. Mt con ng khc ch ra cc thng tin
chi tit ca ti khon l gi t Mn Hnh Tm Tt Thng Tin V Ti Khon (xem Use Case s
UCSEC99).
Dng hnh ng chnh: // dng logic chi tit.
Mi khch hng s c mt s nh danh gi l CustomerId. Mt khch hng c th c nhiu
ti khon. Sau khi nhn vin nhp CustomerId vo h thng, mn hnh phi in ra tt c nhng
ti khon thuc v khch hng ny v thuc v nh bng ABC, ri rc ti tt c cc chi nhnh.
Khi chn tip loi ti khon v s ti khon, cc chi tit ca ti khon mong mun s c in
ra.
Loi ti khon tit kim: Nu loi ti khon c chn l ti khon tit kim, th theo Use
Case s UCSEC45, cc chi tit sau y s c in ra:
- Mc tin hin c
- Cc t sec cha thanh ton
- Lng tin tn dng c php
- Lng tin li cho ti ngy hm nay
- Lng tin ti thiu cn phi c trong ti khon
Loi ti khon u t: Nu loi ti khon c chn l loi u t, th theo Use Case s
UCSEC46, cc chi tit sau y s c in ra.
- Hn u t
- S tin u t
- Ngy u t
- Lng tin cui hn
- Ngy cui hn
- T l li
Dng hnh ng thay th: // chui logic thay th

Khng tm thy chi tit: Khi chn mt s ti khon khng thch hp (khng c ti khon
tng ng) d v l do chc nng hay k thut, theo Use Case s UCSEC12, h thng s a
ra mt mn hnh bo li.
iu kin thot: // Use Case kt thc nh th no?
Nt Thot: Khi chn nt thot, ngi s dng s quay tr li mn hnh chnh.
Nt Xem Thm: Khi chn nt ny, ngi s dng s c yu cu chn loi ti khon t mt
danh sch xung.
Nt Xem Giao Dch: Khi chn nt ny, ngi s dng s c chuyn sang mn hnh "Giao
dch" v theo Use Case s UCSEC91, mn hnh s ch ra nhng giao dch xy ra i vi ti
khon, bn cnh nhng chi tit chnh ca ti khon.
Nt Yu Cu In Kt Qu: Khi chn phn thc n ny, kt qu giao dch theo Use Case s
UCSEC70 s c in ra mt my in a phng ni trc tip vi my tnh ca nhn vin.
Cc yu cu c bit: // cc yu cu c bit
Theo Use Case s UCSEC110, h thng c kh nng in ln mn hnh bng nhng ngn ng
khc. Chc nng ny s c kch hot khi ngi s dng chn mc Ngoi Ng trn menu.
iu kin trc : // iu xy ra trc khi Use Case c thc hin
Bo an: Ngi s dng (nhn vin tip khch) c cung cp mt s nh danh ring bit
truy nhp vo h thng.
Dch chuyn: Ngi s dng ch n c mn hnh Chi Tit Ti Khon sau khi truy nhp
thnh cng v Identify thnh cng.
iu kin sau : // iu g xy ra sau khi Use Case c thc hin?
H thng s khng lu tr li bt k mt thng tin no lin quan ti khch hng ln a cng
cc b.

9- TH USE CASE
Mt trong cc mc ch chnh ca Use Case l th nghim (testing). C hai loi th nghim
khc nhau c thc hin y: kim tra (verification) v ph duyt xc nhn (validation).
Kim tra m bo l h thng c pht trin ng n v ph hp vi cc c t c
to ra. Ph duyt xc nhn m bo rng h thng s c pht trin chnh l th m khch
hng hoc ngi s dng cui tht s cn n.
Cng vic ph duyt xc nhn c thc hin k trc giai on pht trin. Ngay khi mt
m hnh Use Case c hon tt (hay thm ch c th ang trong giai on pht trin), m
hnh ny phi c trnh by v tho lun vi khch hng cng nh ngi s dng. H cn
phi xc nhn rng m hnh ny l ng n, hon tt v tha mn s mong i ca h i
vi h thng; c bit l phng cch m h thng cung cp chc nng cho h. lm iu
, nh pht trin phi m bo rng khch hng tht s hiu c m hnh v ngha ca
chng, trnh trng hp to ra nhng th khng th chp nhn ni. Trong giai on ny, r
rng l cc cu hi v cc tng s xut hin v chng cn phi c b sung thm vo m

hnh Use Case trc khi n giai on ph duyt chung cuc. Giai on xc nhn cng c th
c thc hin trong thi k th nghim h thng, nhng im yu ca phng thc lm ny
l nu h thng khng tha mn nhng yu cu c th ca ngi s dng th ton b d n rt
c th s phi lm li t u.
Kim tra h thng l m bo n hot ng ng nh c t. iu ny khng th c
thc hin trc khi c nhng thnh phn ca h thng c to ra. Ch sau ngi ta mi
c th th xem h thng c hot ng ng nh c t m ngi s dng a ra, rng cc
Use Case thc hin ng theo nh nhng li miu t trong m hnh, rng chng hot ng
theo ng phng thc c miu t trong vn bn miu t Use Case.
i b dc Use Case.
Mt trong nhng k thut hu dng c dng trong c giai on nh ngha ln th nghim
Use Case gi l "i B Dc Use Case. Theo k thut ny, nhiu ngi khc nhau trong
nhm lm m hnh s ng vai cc tc nhn cng nh h thng trong mt Use Case c th.
Ngi m nhn vai tc nhn s bt u bng vic ni ra tc nhn lm g vi h thng. Kt
qu ca cng vic ny l h thng s khi chy mt Use Case c th c bt u t hnh
ng trn. Ngi ng vai h thng sau s ni anh ta lm g khi Use Case c thc hin.
Nh pht trin ng ngoi tr chi din kch s ghi chp v tm cch pht hin ra cc im
yu trong cc Use Case c miu t bng cc din vin. Trong trng hp c th, bn s
tm thy rng c mt vi chui hnh ng b sung khng c miu t cng nh mt vi
hnh ng khng c miu t vi y chi tit.
Cc "din vin" cng hiu thu o kha cnh s dng ca h thng bao nhiu th cng vic
th Use Case s cng hiu qu by nhiu. Vic thay i cc din vin ng nhng vai tr
khc nhau s dn ti nhng thay i trong miu t v hng nhn, cung cp d liu u vo
cho cc nh to m hnh h bit c lm cch no c th a ra nhng li miu t Use
Case r rng hn, minh bch hn, v ch ra nhng im cn thiu. Mt khi vai tr ca tt c
cc tc nhn c din v thc thi, v tt c cc Use Case c thc thi theo kiu ny,
l thi im m ngi ta ni mt qu trnh th nghim ca m hnh Use Case hon tt.

10- THC HIN CC USE CASE


Use Case l nhng li miu t c lp vi s thc thi cc chc nng ca h thng. iu c
ngha l Use Case s c thc hin (thc th ha) trong h thng, vy nn trch nhim
thc thi cc hnh ng c miu t trong ti liu Use Case u c phn b v cho cc i
tng cng tc thc thi chc nng .
Cc nguyn tc ca UML cho vic thc hin cc Use Case l: Mt Use Case s c thc
hin trong mt s cng tc (collaboration): Mt s cng tc ch ra mt gii php (ph thuc
vo s thc thi ni b) ca mt Use Case s dng cc khi nim lp/i tng v mi quan
h gia chng i vi nhau (gi l ng cnh context ca s cng tc) cng nh s tng tc
gia chng t ti chc nng mong mun (gi l chui tng tc ca s cng tc). K hiu
cho s cng tc l mt hnh ellipse c cha tn ca s cng tc .
Mt s cng tc c trnh by trong UML qua mt lot cc biu ch ra c ng cnh ln
chui tng tc gia cc thnh phn tham gia: thnh phn tham gia trong mt s cng tc l
mt lot cc lp (v trong mt thc th cng tc: cc i tng). Cc biu s dng y l
biu cng tc, biu chui v biu hot ng. Cn phi s dng loi biu no
to ra mt bc tranh bao qut v s cng tc l quyt nh ty thuc vo tng trng hp c

th. Trong mt vi trng hp, ch mt biu cng tc c th l ; nhng trong cc


trng hp khc, ngi ta nht thit cn ti s kt hp ca nhiu loi biu khc nhau.
Mt cnh kch (Scenario) l mt thc th (instance) ca mt Use Case hay l mt s cng tc:
mt cnh kch l mt chui thc thi c th (mt dng chy c th ca cc s kin) trnh by
mt s thc th ha ca mt Use Case (tc l mt ln s dng h thng). Khi mt cnh kch
c quan st trong t cch mt Use Case, ngi ta ch miu t nhng ng x bn ngoi
hng v pha tc nhn. Khi quan st mt cnh kch trong t cch l mt thc th ca s cng
tc, ngi ta s miu t c s thc thi ni ti (cc dng lnh code) ca cc lp tham gia y,
thut ton cng nh th tc ca chng cng s giao tip gia chng vi nhau.
Tc v thc hin mt Use Case l chuyn cc bc v hnh ng khc nhau trong li miu t
Use Case thnh lp (Class), th tc trong nhng lp ny cng nh quan h gia chng vi
nhau. N c miu t l ng tc phn b trch nhim ca mi bc i trong Use Case vo
cc lp tham gia s cng tc thc hin Use Case . Ti giai on ny, ngi ta phi tm ra
mt gii php cung cp nhng hnh vi hng ngoi c xc nh ca Use Case; n c
miu t trong nhng thut ng ca mt s cng tc ni b trong h thng.
Mi bc hnh ng trong Use Case s c chuyn thnh th tc (operation) trong cc lp
tham gia. Mt bc trong Use Case s c chuyn thnh mt lot cc th tc ti nhiu lp;
rt him khi xy ra nh x 1-1 gia cc hnh ng trong Use Case v cc th tc c thc thi
trong tng tc gia cc i tng ca cc lp tham gia. Cng xin nh rng mt lp c th
tham gia nhiu Use Case khc nhau v trch nhim cao nht ca lp nm chnh trong vic kt
tp tt c cc vai tr m lp ny m nhn trong cc Use Case khc nhau.
Mi quan h gia mt Use Case v s thc thi n theo khi nim cng tc c ch ra hoc
qua mt mi quan h nng cao (refinement relationship) biu th bng on thng chm
chm vi mi tn - - - -> hay mt hyperlink ngm trong mt cng c no . Mt hyperlink
trong mt cng c s to iu kin chuyn t vic quan st mt Use Case trong mt biu
Use Case sang ngay s cng tc thc thi Use Case . Cc hyperlink cng c s dng
chuyn t Use Case ny sang mt cnh kch (thng l mt m hnh ng biu hot
ng, biu chui hay biu cng tc) miu t mt s thc hin c th no ca Use
Case.
Phn b trch nhim cho cc lp mt cch thnh cng l mt tc v i hi kinh nghim.
Cng ging nh mi cng on hng i tng khc, cng vic ny mang tnh vng lp
(iterative). Nh pht trin th nghim vi nhiu s phn b trch nhim khc nhau v dn dn
nng cp chng trong gii php ca mnh cho ti khi to ra c mt m hnh thc hin chc
nng , ng thi li mc nng ng cho php tin hnh cc s thay i trong
tng lai.
Jacobson s dng phng php nh ngha ba loi i tng cn bn (c ngha l ba loi lp):
cc i tng bin (boundary objects) , i tng ch huy (control objects) v i tng thc
th (entity objects). i vi mi Use Case, cc lai i tng ny c s dng miu t
mt s cng tc thc thi Use Case. Trch nhim ca cc loi i tng k trn nh sau:
- i tng thc th: loi i tng ny i din cho cc thc th ca bi ton nm
trong phm vi m h thng x l. Thng chng mang tnh th ng, theo khi nim l chng
khng t gy nn cc tng tc i vi chng. Trong mt h thng thng tin, cc i tng
thc th thng mang tnh trng tn (persistent) v c lu tr trong mt h ngn hng d
liu. Cc i tng thc th thng tham gia vo nhiu Use Case khc nhau.

- i tng bin: loi i tng ny nm gn ng ranh gii ca h thng (mc d


vn nm bn trong h thng). Chng tng tc vi cc tc nhn nm bn ngoi h thng v
nhn thng ip cng nh gi thng ip n cc loi i tng khc nm bn trong h thng.
- i tng ch huy: loi i tng ny ch huy s tng tc gia cc nhm i
tng. Mt i tng nh th c th ng vai tr "b phn iu khin cho ton b mt Use
Case hon tt, hay n c th thc thi mt chui hnh ng chung ca nhiu Use Case. Thng
th mt i tng nh vy ch tn ti trong qu trnh thc thi Use Case.
Ba loi i tng ny c ba k hiu khc nhau v c th c s dng khi v cc loi biu
miu t cng tc hoc biu lp. Sau khi nh ngha nhiu loi i tng khc nhau v
xc nhn cc cng tc, ngi ta c th cng i tm s tng t gia chng mt s lp c
th c s dng trong mt lot cc Use Case khc nhau. S dng cc Use Case theo phng
thc ny ta c th to nn nn tng cho vic phn tch v thit k h thng; qui trnh pht trin
c Ivar Jacobson gi l "Qui Trnh Pht Trin Theo Use Case" (Use case driven).
Nhn chung c nhiu phng php khc nhau phn b trch nhim t Use Case v cho cc
lp. C phng php ngh u tin phi tin hnh phn tch phm vi bi ton, ch ra tt c
cc lp thc th (thuc phm vi bi ton) vi mi quan h ca chng vi nhau. Sau nh
pht trin s phn tch tng Use Case v phn b trch nhim cho cc lp trong m hnh phn
tch (analysis model), nhiu khi s thay i chng hoc b sung thm cc lp mi. Mt
phng php khc li ngh l nn ly cc Use Case lm nn tng tm cc lp, lm sao
trong qu trnh phn b trch nhim th m hnh phn tch ca phm vi bi ton s tng bc
tng bc c thit lp.
Mt im quan trng cn phi nhc li l cng vic y mang tnh vng lp. Khi phn b
trch nhim cho cc lp, ta c th pht hin ra s thiu ng b hoc li trong cc biu lp
v qua , dn n vic sa cha trong biu lp. Nhng lp mi s c nhn dng v tm
ra nhm mc ch h tr cho cc Use Case. Trong mt s trng hp, thm ch c th xy ra
chuyn phi thay i hoc sa cha c biu Use Case v khi hiu h thng mt cch su
sc hn, nh pht trin s nhn ra rng c mt Use Case no khng c miu t chnh
xc v ng n. Cc Use Case gip chng ta tp trung vo kha cnh chc nng ca h
thng, lm sao phi m bo cho n c miu t chnh xc v c xy dng chnh xc
trong h thng. Mt trong nhng vn xy ra vi nhiu phng php hng i tng m
khng s dng n khi nim Use Case l chng tp trung qu nhiu vo cu trc tnh ca cc
lp v cc i tng (nhiu khi ngi ta gi l phng php m hnh ha khi nim
conceptual modeling) nhng li b qua cc kha cnh chc nng v kha cnh ng ca h
thng.

11- TM TT V USE CASE


M hnh Use Case l mt k thut c s dng miu t nhng yu cu mang tnh chc
nng ca mt h thng. Use Case c miu t qua cc khi nim tc nhn bn ngoi, Use
Case v h thng. Tc nhn tng trng cho mt vai tr v mt thc th bn ngoi v d nh
mt ngi dng, mt b phn phn cng hoc mt h thng khc tng tc vi h thng. Tc
nhn gy ra v giao tip vi cc Use Case, trong khi mt Use Case l mt tp hp ca cc
chui hnh ng c thc hin trong h thng. Mt Use Case phi cung cp mt gi tr cn
hng ti no cho tc nhn, v bnh thng n c miu t bng vn bn. Tc nhn v
Use Case l cc lp. Mt tc nhn c lin kt vi mt hoc nhiu Use Case qua mi lin
kt (Association) v c tc nhn ln Use Case u c th c mi quan h khi qut ha, mi
quan h ny miu t nhng ng x chung trong cc lp cha, s c tha k bi mt hoc

nhiu lp con. Mt m hnh Use Case c miu t bng mt hay nhiu biu trng hp
thuc ngn ng UML.
Use Case c thc hin qua cc s cng tc. Mt s cng tc l mt li miu t mt ng
cnh, ch ra cc lp/ i tng v mi quan h ca chng v mt tng tc ch ra cc lp/i
tng tng tc vi nhau ra sao thc hin mt chc nng c th. Mt s cng tc c
miu t bng biu hot ng, biu cng tc v biu chui. Khi mt Use Case c
thc hin, trch nhim cho mi bc hnh ng trong Use Case cn phi c phn b cho
cc lp tham gia s cng tc , thng l qua vic xc nh cc th tc ca cc lp ny, i
song song vi phng thc m chng tng tc vi nhau. Mt cnh kch l mt thc th ca
mt Use Case, hay mt s cng tc, ch ra mt chui thc thi c th. V th, mt cnh kch l
mt s minh ha hay l mt v d ca mt Use Case hay l mt s cng tc. Khi cnh kch
c ch ra trong t cch mt thc th ca mt Use Case, ch duy nht s tng tc gia Use
Case v tc nhn ngoi lai s c miu t, nhng khi cnh kch c quan st v c ch ra
theo hng l mt thc th ca mt s cng tc, th s tng tc gia cc lp/i tng pha
bn trong h thng cng s c miu t.

PHN CU HI
Hi: Mt tc nhn (Actor) trong mt Use Case lun l mt con ngi
p: Sai, tc nhn l mt ngi hoc mt vt no tng tc vi h thng.
Hi: H thng khc cng c th ng vai tr tc nhn trong mt Use Case?
p: ng
Hi: Mi h thng ch c mt Use Case?
p: Sai
Hi: Biu Use case m t chc nng h thng?
p: ng

You might also like