1. Ch測ng 3: use case
N辿i dung:
Ph息n tch UC
UC l亮 g? Actor l亮 g?
Tm UC v亮 Actor nh th n亮o?
Lu奪ng s湛 kin trong UC
Lp biu 速奪 UC
C存c lo孫i quan h trong biu 速奪 UC
C存ch lp bu 速奪 UC
2. i. Ph息n tch use case (uc)
UC l亮 g?
UC m束 t其 ai 速達 s旦 d担ng HT nh th n亮o, m束 t其 t測ng t存c gi歎a
NSD v鱈i HT phn mm 速 th湛c hin gi其i quyt m辿t c束ng
vic c担 th.
UC l亮 m辿t phn c単a vn 速 cn gi其i quyt, l亮 nn t其ng c単a
ph息n tch HT
M巽i UC c達 nhiu bin th, ch坦ng 速樽c g辰i l亮 c存c kch b其n
(Scenario), ph其i x存c 速nh chi tit c存c kch b其n 速 HT x旦 l箪
chnh x存c
VD: UC R坦t tin c達 c存c bin th R坦t th亮nh c束ng, Kh束ng r坦t
速樽c v sai PIN, Kh束ng r坦t 速樽c v y捉u cu r坦t qu存 s竪 tin theo
qui 速nh,...
M巽i UC 速u th hin s湛 t測ng t存c gi歎a t存c nh息n (actor) v亮 HT
C存c ho孫t 速辿ng ph息n tch, thit k, c亮i 速t, kim th旦 速u
li捉n quan 速n UC
3. Ch測ng 3: use case
C存c b亮i to存n 淡ng d担ng (case study):
1. HT So孫n th其o v即n b其n MS WORD (l亮m v d担)
2. Giao dch tn d担ng (ch単 yu R坦t tin) (l亮m
v d担)
3. HT tra c淡u s存ch c単a th vin (b亮i tp)
4. HT qu其n l箪 th束ng tin sinh vi捉n v亮 速im RL
(b亮i tp)
5. HT b存n h亮ng (si捉u th, qua m孫ng) (b亮i tp)
4. i. Ph息n tch use case (uc)
Tm actor v亮 UC
Actor: th湛c th b捉n ngo亮i t測ng t存c 速n HT cn x息y
d湛ng. C達 th l亮 con ng棚i (速in hnh c単a m巽i HT), HT
kh存c hay thit b phn c淡ng
K箪 hiu v亮 c存ch 速t t捉n actor
C存c c息u h叩i gi坦p tm actor:
1. Ai s旦 d担ng ch淡c n即ng chnh c単a HT?
2. Ai gi坦p HT l亮m vic h亮ng ng亮y?
3. Ai qu其n tr, b其o d狸ng HT?
4. C存c HT n亮o t測ng t存c v鱈i HT n亮y?
5. i. Ph息n tch use case (uc)
K箪 hiu v亮 c存ch 速t t捉n actor
Actor x叩c 畛nh t畉p c叩c vai tr嘆 khi ng動畛i s畛 d畛ng t動董ng t叩c v畛i h畛
th畛ng. Ng動畛i s畛 d畛ng c坦 th畛 l m畛t c叩 nh但n hay m畛t h畛 th畛ng
kh叩c.
Actor kh担ng ph畉i l m畛t con ng動畛i c畛 th畛 m mang m畛t nhi畛m
v畛 (sinh vi棚n A,B l ng動畛i 畛c nh動ng ko ph畉i l actor)
V鱈 d畛: H畛 th畛ng th担ng tin th動 vi畛n actor 畛c gi畉
K箪 hi畛u:
T棚n Actor th動畛ng l danh t畛: 畛c gi畉, th畛 th動, kh叩ch hng
6. i. Ph息n tch use case (uc)
Tm UC:
B他t bu辿c ph其i c達 vai tr c単a kh存ch h亮ng. PP chnh:
ph叩ng vn NSD v亮 nghi捉n c淡u t亮i liu c単a h辰.
則 tm UC cn tm c存c h亮nh 速辿ng c単a HT
C存c c息u h叩i gi坦p tm UC
1. Actor y捉u cu HT th湛c hin ch淡c n即ng n亮o?
2. Actor cn 速辰c, t孫o lp, x達a, lu tr歎, s旦a 速脱i c存c th束ng tin n亮o trong
HT?
3. C達 cn th束ng b存o cho actor v s湛 kin x亮y ra trong HT? C達 cn
actor th束ng b存o g cho HT?
4. HT cn v亮o/ra n亮o? Nh歎ng v亮o/ra 速i 速n 速息u hay t探 速息u?
K箪 hiu v亮 c存ch 速t t捉n UC
7. i. Ph息n tch use case (uc)
K箪 hiu v亮 c存ch 速t t捉n UC
Sau khi ch畛 ra c叩c UC c畉n 畉t t棚n cho ch炭ng. T棚n
UC n棚n ng畉n g畛n, l 畛ng t畛 ch畛 hnh 畛ng t叩c
nghi畛p.
K箪 hi畛u: UC trong UML l m畛t h狸nh elip v畛i t棚n UC
畉t ph鱈a d動畛i.
V鱈 d畛: H畛 th畛ng th担ng tin th動 vi畛n c叩c ch畛c nng li棚n quan 畉n 畛c
gi畉 l T狸m ki畉m ti li畛u. Li棚n quan 畉n Th畛 th動 l: C畉p nh畉t, t狸m ki畉m,
qu畉n l箪 m動畛n tr畉.
8. i. Ph息n tch use case (uc)
Lu奪ng s湛 kin trong UC
T亮i liu m束 t其 chi tit NSD l亮m g v亮 HT l亮m g
M巽i kch b其n ch ra 1 lu奪ng s湛 kin trong 1 th hin bin th
c単a UC
C存c kch b其n 速i xuy捉n su竪t UC theo nh存nh chnh, nh存nh ph担
hoc nh存nh 速c bit
C存ch t孫o lp t亮i liu lu奪ng s湛 kin: th束ng qua c存c b鱈c sau
1. M束 t其 v他n t他t UC
2. Tin 速iu kin (lit k捉 c存c 速iu kin cn th叩a m揃n tr鱈c khi UC
kh谷i 速辿ng)
3. Lu奪ng s湛 kin chnh
4. Lu奪ng s湛 kin r nh存nh
5. Hu 速iu kin (lit k捉 c存c 速iu kin cn th叩a m揃n sau khi UC
kt th坦c)
10. ii. Lp biu 速奪 uc
M束 hnh UC 速樽c m束 t其 b損ng 1 hay nhiu biu 速奪
UC
Biu 速奪 UC ch ra m竪i quan h UC-UC, actor-
UC
Quan h giao tip actor-UC: actor (ng棚i) kch
ho孫t UC hoc UC t存c 速辿ng actor (HT ngo亮i, thit
b)
K箪 hiu
11. ii. Lp biu 速奪 uc
Quan h bao g奪m (include) hay cn g辰i l亮
s旦 d担ng (uses) gi歎a c存c UC. Th棚ng d誰ng
速 m束 hnh h達a nh歎ng ch淡c n即ng s旦 d担ng
l孫i
K箪 hiu: <<include>>
12. ii. Lp biu 速奪 uc
Quan h m谷 r辿ng (extends) gi歎a c存c UC
K箪 hiu
<<extend>>
Quan h t脱ng qu存t h達a gi歎a c存c actor v亮 c存c UC
K箪 hiu
13. X叩c 畛nh m畛i quan h畛
Quan h畛 <<include>> : S畛 d畛ng 畛 ch畛 ra r畉ng m畛t use case
動畛c s畛 d畛ng b畛i 1 use case kh叩c.
Quan h畛 <<extend>>: s畛 d畛ng 畛 ch畛 ra r畉ng m畛t use case
動畛c m畛 r畛ng t畛 m畛t use case kh叩c b畉ng c叩ch th棚m vo
m畛t ch畛c nng c畛 th畛.
Quan h畛 generalization: bi畛u th畛 use case ny l t畛ng qu叩t
c嘆n use case kia l c畛 th畛 h坦a c畛a use case 坦.
Quan h畛 k畉t h畛p: th動畛ng d湛ng 畛 bi畛u di畛n m畛i li棚n h畛
gi畛a actor v c叩c use case (m畛t actor k鱈ch ho畉t m畛t use
case).
14. Ph但n r達 bi畛u 畛 use case
D畛a tr棚n c叩c m畛i quan h畛 tr棚n, bi畛u 畛 use case 動畛c
bi畛u di畛n l畉i thnh d畉ng ph但n c畉p g畛i l ph但n r達 bi畛u
畛 use case. Nguy棚n t畉c ph但n r達 bi畛u 畛 use case nh動
sau:
- X叩c 畛nh s董 畛 use case m畛c t畛ng qu叩t: t畛 t畉p t叩c nh但n
v use case 達 動畛c x叩c 畛nh, t狸m ra c叩c ch畛c nng
ch鱈nh c畛a h畛 th畛ng. C叩c ch畛c nng ny ph畉i c坦 t鱈nh
t畛ng qu叩t, d畛 dng nh狸n th畉y 動畛c tr棚n quan i畛m c畛a
c叩c t叩c nh但n.
+ C叩c d畉ng quan h畛 th動畛ng d湛ng trong s董 畛 use case
m畛c t畛ng qu叩t l quan h畛 k畉t h畛p, quan h畛 t畛ng qu叩t
h坦a v quan h畛 include.
15. Ph但n r達 bi畛u 畛 use case
X叩c 畛nh s董 畛 use case m畛c t畛ng qu叩t:
V鱈 d畛: Trong bi to叩n qu畉n l箪 th動 vi畛n, x辿t tr棚n quan
i畛m t叩c nh但n b畉n 畛c, th畛 th動, n畉u t畉m th畛i ch動a x辿t
畉n ch畛c nng m動畛n v tr畉 s叩ch th狸 ch畛c nng t畛ng
qu叩t c畛a h畛 th畛ng l: ng nh畉p, c畉p nh畉t v t狸m ki畉m.
Bi畛u 畛 use case m畛c t畛ng qu叩t bi to叩n qu畉n l箪 th動 vi畛n
16. Ph但n r達 bi畛u 畛 use case
Ph但n r達 c叩c use case m畛c cao:
Ti畉n hnh ph但n r達 c叩c use case t畛ng qu叩t thnh c叩c use
case c畛 th畛 h董n s畛 d畛ng quan h畛 extend. C叩c use case
con (m畛c th畉p) 動畛c l畛a ch畛n b畉ng c叩ch th棚m vo use
case cha m畛t ch畛c nng c畛 th畛 no 坦 v th動畛ng 動畛c
m畛 r畛ng tr棚n c董 s畛 chuy畛n ti畉p v ph但n r達 c叩c ch畛c
nng c畛a h畛 th畛ng.
17. Ph但n r達 bi畛u 畛 use case
V鱈 d畛: Ch畛c nng C畉p nh畉t trong bi to叩n qu畉n l箪
th動 vi畛n 動畛c ph但n r達 thnh: c畉p nh畉t b畉n 畛c v c畉p
nh畉t ti li畛u.
Bi畛u 畛 ph但n r達 use case C畉p nh畉t
18. Ph但n r達 bi畛u 畛 use case
Ti畉p t畛c ph但n r達 s董 畛 use case cho 畉n khi g畉p use case 畛
n炭t l叩:
C叩c use case 畛 n炭t l叩 th動畛ng g畉n v畛i m畛t ch畛c nng c畛 th畛
trong 坦 h畛 th畛ng th畛c s畛 t動董ng t叩c v畛i c叩c t叩c nh但n (g畛i
k畉t qu畉 畉n t叩c nh但n ho畉c y棚u c畉u t叩c nh但n nh畉p th担ng
tin).Trong s董 畛 use case m畛c 2 n畉u c嘆n c坦 use case no
ch動a ph畉i l n炭t l叩 th狸 c畉n ti畉p t畛c 動畛c ph但n r達.
19. Ph但n r達 bi畛u 畛 use case
V鱈 d畛: Ph但n r達 use case c畉p nh畉t b畉n 畛c v C畉p
nh畉t ti li畛u.
Ph但n r達 use case C畉p nh畉t b畉n
畛c
Ph但n r達 use case C畉p nh畉t ti
li畛u
20. Hon thi畛n bi畛u 畛 use case
Ng動畛i ph叩t tri畛n ti畉n hnh xem x辿t t畉t c畉 c叩c use case
達 動畛c bi畛u di畛n trong bi畛u 畛 (t畉t c畉 c叩c m畛c). N畉u
c嘆n c坦 use case ch動a c坦 trong bi畛u 畛 no, ng動畛i ph叩t
tri畛n ph畉i xem x辿t xem ch畛c nng m use case 坦 畉i
di畛n 達 動畛c th畛c hi畛n b畛i use case kh叩c ch動a 畛 b畛
sung th棚m ho畉c lo畉i b畛 use case 坦 ra kh畛i bi畛u 畛.
21. ii. Lp biu 速奪 uc
Lu 箪 khi t孫o biu 速奪 UC:
Kh束ng m束 hnh h達a giao tip actor-actor
Kh束ng n捉n hnh th亮nh quan h tr湛c tip UC-UC (tr探 quan h
include v亮 extends)
UC ph其i 速樽c actor kh谷i 速辿ng (tr探 c存c UC c達 quan h include v亮
extends)
Kh束ng hnh th亮nh lu奪ng th束ng tin g歎a c存c UC (tr棚ng h樽p c達 CSDL
th d誰ng 2 UC kh存c nhau 速 nhp DL v亮 x息m nhp DL)
Xt VD: R坦t tin, So孫n th其o VB (x存c 速nh actor, c存c UC, m竪i
quan h actor-UC v亮 UC-UC 速 v biu 速奪)