1
1
PHÂN TÍCH THIT K
THNG HNG I
NG
Chng 3: Bi Use case
2
Mô hình Use Case
Ni dung
Phân tích Use Case
Bi Use Case
thng bán hàng theo t hàng
thng cho thuê bng a phim
2
3
Mô hình Use Case
Phân tích Use Case
4
Mô hình Use Case
Use Case là gì?
UC là 1 yêu cu chc nng trong h thng
UC mô t ng tác gia ngi s ng vi
thng phn mm
Mô t UC làm gì? Không cn tr i ”nh th
nào?”
3
5
Mô hình Use Case
Xâydng UC làm gì?
Mô t yêu cu chc nng ca h thng
Sau khi ã tha thun gia khách hàng và ngi phát
trin h thng
Môtrõràngvànhtquáncáihthngslàmvà
c s ng xuyên sut trong quá trình phát trin
Làm công c giao tip cho cho tt c nhng ngi phát
trin h thng
Cung cp c kim tra th nghim h thng
6
Mô hình Use Case
UC và tin trình phát trin
Phân tích
Thu thp, lc và
ánh giá UC
Thit k và
cài t
Cài t UC
Kim tra
KimtraxemUC
có tha mãn
không?
UC gn các bc trong tin trình phát trin
4
7
Mô hình Use Case
Nhng ngi quan tâm n UC
Ngi s
ng
Di t
Phân tích
viên
Hiu
Th nghim
Kim tra
Kin trúc s
p trình
viên
Thit k
Cài t
8
Mô hình Use Case
Các thành phncasUC
Hai thành phn ti thiu trong mô hình UC:
Tác nhân (Actor)
là i tng bên ngoài h thng tác ng vào các
UC nó ho ng
có th có nhiu Actors
UC (Use case)
Có hình ellipse
Thc hin 1 chc nng hoàn chnh
Có th có nhiu UC trong s
5
9
Mô hình Use Case
Tác nhân
Là thc th bên ngoài tng tác vi h thng
Có th là con ngi hay thit b ng tác vi h thng
ng tác chính là s trao i thông tin
Ví d:
Khách hàng, ngi bo trì ATM
c gi, th th Th vin
Thi gian cng là tác nhân khi nó xác nh th m
y ra s kin trong h thng
10
Mô hình Use Case
K thut tìm kim tác nhân
Ai s ng chc nng chính ca h thng?
Ai giúp h thng làm vic hàng ngày?
Ai qun tr o dng h thng làm vic liên tc?
thng qun lý thit b phn cng nào?
thng ang xây dng tng tác vi h thng khác
nào?
Ai hay cái gì quan tâm n kt qu thng cho li
6
11
Mô hình Use Case
Thc hin tìm kim UC
Vic xác nh các UC tc là xác nh các yêu
u công vic ca h thng
Tuy nhiên, gp nhiu khó khn:
Khi lng thông tin liên quan n các yêu cu
t nhiu
Các yêu cu thng ch c h thng nên
t ln xn, không có cu trúc
n phi phân hoch các yêu c gim
thi phc tp
12
Mô hình Use Case
Thc hin tìm kim UC
Phng vn ngi s ng và kho sát tài liu
a h
ng ngôn t theo lnh vc ca ngi s
ng
Nên hp tác vi chuyên gia lnh vc
Phng vn và trao i vi chuyên gia thc
hi c lp nhau u có khác bit p?
7
13
Mô hình Use Case
Phân hochyêucu
Ngi dùng
B
Ngi dùng
A
Ngi dùng
C
p các yêu cu h thng
14
Mô hình Use Case
Mtscâutruyvn khi thc hin tìm
kim UC
Tác nhân yêu cu h thng thc hin chc nng nào?
Trong ngân hàng: rút tin, chuyn tin, tr lãi vay
Tác nhân c c, to lp, bãi b, lu tr i
thông tin nào trong h thng?
Khách ATM thay i mt khu
Nhân viên ngân hàng thay i mc lãi,…
Có cn thông báo cho các tác nhân v kin xy ra
trong h thng?
thng cn vào/ra nào? Vào/ra i t âu hay n
âu.
8
15
Mô hình Use Case
t tên UC
t tên theo khái nim tác nghip (không s
ng khái nim k thut chuyên môn)
ng ng t, câu ngn
UC c lp vi các ngôn ng p trình
UC có th c mô t ng vn bn trên giy
hoc bng công c phn mm
16
Mô hình Use Case
MtsUC ca ngân hàng
Khách hàng m 1 tài khon mi
Phòng u t tính toán tin lãi cho các tài
khon
Khách hàng np tin, rút tin, chuyn tin
Khách hàng làm th c vay tin
Khách hàng tr lãi vay
Khách hàng tr m n ngân hàng
9
17
Mô hình Use Case
Mô hình Use Case
18
Mô hình Use Case
Gii thiu biUC
Mô hình UC gm 1 hay nhiu bi UC cùng
i các tác nhân liên quan
ng mô hình UC giao tip gia các
thành viên trong h thng
Nh phân tích viên, lp trình viên, Và vi
khách hàng
ng bi ph m b thông
tin
10
19
Mô hình Use Case
Các công viccn thittomôhình
UC
Xác nh phm vi h thng
Không hn ch là h thng phn mm mà có th là bt
thng nào
Tìm các tác nhân và UC
MôtUC
i dng vn bn
nh ngha các yêu cu và chc nng c th
Xác nh các mi quan h gia các UC
Kim tra và phê chun mô hình
20
Mô hình Use Case
Cácmiquanhtrong biUC
Quan h gia các tác nhân
Gia hai tác nhân A, B có th n ti mi liên
quan khái quát hóa
Quan h gia các tác nhân và ca s ng
Quan h gia các ca s ng
Quan h khái quát hóa
Quan h include (uses) và extend
11
21
Mô hình Use Case
Các quan h gia UC và tác nhân
Quan h giao tip
Là hình mi tên gia tác nhân và UC
“khách hàng” ”rút tin”
Quan h ng (include)
t s UC s ng chung 1 chc nng nào ó
tách chc nng ó ra thành 1 UC riêng cho
các UC khác s ng
Quan h <<include>> có tính cht bt buc
UC rút tin và gi ti u cn phi xác nh tên
tài khon và s PIN
22
Mô hình Use Case
Mtvídquanhinclude
Xác thc
khách hàng
Rút tin
i tin vào
<<include>>
UC tru
ng
<<include>>
UC c
th
Khách hàng
12
23
Mô hình Use Case
Vi d tip theo
Submit room
key
Check out
<<include>>
Khách thuê
phòng KS
Pay bill
<<include>>
24
Mô hình Use Case
Quan h m rng(extend)
UC m ng là 1 trng hp c th c bit)
a UC tng quát và c 2 thc hin cùng bn
cht công vic
Trong 1 u kin nào ó, 1 UC dc m ng
ng UC khác
ng li 1 s hành vi ca UC tng quát hn
ng li nhng không nht thit phi tt
UC gc phi là 1 UC hoàn thin
13
25
Mô hình Use Case
Mtvídvquanhmrng
Rút nhanhRút tin
<<extend>>
UC c th UC tru tng
26
Mô hình Use Case
Vídtip theo
TT bng th
tín dng
Thanh toán
<<extend>>
UC c
UC m ng
TT bng ngân
phiu
<<extend>>
14
27
Mô hình Use Case
ng ký phòng khách sn
Customer
Request coffee
machine
«extend»
Customer requests
coffee machine
Reserve room
Extension points
Additional requests: After
reserving a room
28
Mô hình Use Case
VídvUC tru tng
Khách hàng
Rút tin
Rút nhanh
Xác thc
khách hang
<<extends>>
<<include>>
2 UC
tru
ng
15
29
Mô hình Use Case
Quan h tng quát hoá
ng cho các tác nhân dùng chung 1 s chc nng
nào ó
Ví d: “Khách hàng” có“Khách hàng tp th”,
“khách hàng cá nhân”, “Khách hàng nc ngoài”,
u tt c các loi “khách hàng u s ng UC thì
không cn tng quát hóa, ch ng 1 tác nhân
“khách hàng”; ngc li thì nên s ng mô hình tng
quát hóa tác nhân
30
Mô hình Use Case
Quan h tng quát hóa
Ngi dùng
ng quát
Ngi dùng
A
Ngi dùng
B
Tác nhân c th
Tác nhân tru tng
16
31
Mô hình Use Case
Ngi qun
lý
Tác nhân c th
Tính lng
Ngi dùng
ng quát
Tác nhân tru tng
Tính ngày
công
Nhân viên
n phòng
32
Mô hình Use Case
Quan h chung nhóm
Khi 1 s UC cùng x lý các chc nng có liên quan
trong cùng 1 nhóm p li thành gói (Package)
Ví d
Gói “Giao dch bán
hàng”
Gói “Thng kê báo
cáo tng kt”
Gói “Qun lý h thng”
Gói “Kho hàng”,…
17
33
Mô hình Use Case
Mtsiuchúý khilp biUC
Không có giao tip tác nhân-tác nhân
Không hình thành quan h trc tip gia 2 UC
tr khi chúng có quan h “include” và quan h
ng“extend”
i UC ph c tác nhân kh ng tr khi
UC có quan h “include” hay “extend”
u không UC tru tng
34
Mô hình Use Case
Các phntca UC
kin kh ng UC và s kin dng UC
“UC b u khi X xy ra”
“Khi Y xy ra thì UC kt thúc”
ng tác gia UC và tác nhân
Mô t rõ ràng cái bên trong và bên ngoài h thng
Các tham s ng tác gia tác nhân và UC nên mô t
theo vn phong bình thng (không phi phn mm)
Ví d: “Ngi s ng nhp tên và mt khu”
Niên i và ngun gc thông tin
Khi nào h thng òi hi thông tin bên trong, bên ngoài, khi
nào h thng lu tr chúng
18
35
Mô hình Use Case
Kimtrasaukhixácnh 1 UC
i UC cn phi biu din trn vn 1 giao dch gia tác
nhân và h thng
t s câu hi kim tra:
Xem xét mi yêu cu chc nng có nm trong 1 UC
không?
ã xem xét mi tác nhân tng tác vi h thng cha?
Tác nhân ã cung cp cho h thng thông tin nào?
Tác nhân nhn thông tin nào t thng?
ã nhn bit mi h thng bên ngoài mà h thng này
ng tác cha?
Thông tin nào mà h thng bên ngoài nhn và gi cho h
thng này?
36
Mô hình Use Case
Lungskin(flows of events) trong
UC
Là nhng bc mô t nhng thao tác phi làm
a 1 UC.
Chi tit và c lp vi chng trình
i UC có nhiu lung s kin (lung chính,
ph)
Làm tài liu lung logic i qua các UC.
19
37
Mô hình Use Case
Kchbn(Scenarios) ca UC
Là trình t các hành ng trong 1 trng hp
th (th hin) ca UC
Là 1 phiên bn c th a lung s kin
ch bn là 1 lung s kin trong 1 th hin c
th a UC
Ví d: lung s kin ca UC “rút tin”
“Ông A rút 100000”
“Ch B rút 1 triu nhng nhp nhm PIN”
“Ông C rút 100000 nhng s tài khon ch
còn 80000”,…
38
Mô hình Use Case
Các lungskinca UC “Rút tin”
Khách hàng nhp PIN sai, và c yêu cu nhp li
Khách hàng nhp PIN sai 3 ln và card s gi i
Khách hàng nhp s ng tin rút không hp l
ATM c ng kt ni vi h thng ca ngân hàng
nhng không thành công vì s
ATM không tin m áp ng nhu cu khách
hàng
Tài khon ca khách hàng không ti áp ng
yêu cu
Khách hàng hu vic rút tin
20
39
Mô hình Use Case
Làm tài liu lungskin UC
t tài liu lung s kin gm:
i dung vn tt UC;
Ti u kin;
Lung s kin chính; lung s kin r nhánh;
u kin
i dung UC
Ngn gn, ý (v loi ngi s ng UC và kt qu
UC cho li)
Ví d: UC “Chuyn tin” “cho phép khách hàng hay
nhân viên nhà bank chuyn s tin t tài khon này
sang tài khon khác”
40
Mô hình Use Case
Làm tài liu lungskin UC (tt)
Ti u kin (Pre-conditions)
Là các u kin c c thc hin trc khi UC khi
ng
Ví d: “Ngi s ng phi có quyn xâm nh
thc hin UC này”
“UC nào ó phi thc hin trc Uc này ?”
Không phi lúc nào cng có “Ti u kin”
Lung s kin chính và lung r nhánh
Mô t toàn b các quy trình thc hin các chc nng
a UC (làm cái gì, không quan tâm làm nh th nào)
u kin (Post-Conditions)
Là u ki c thc hin ngay sau khi kt thúc UC
Không phi lúc nào cng có “H u kin”
21
41
Mô hình Use Case
Các lungskinca UC
UC kh ng nh th nào?
Lung chính thông qua UC
Lung r nhánh thông qua UC
Các lung li
UC kt thúc th nào?
u ý: Có th ng các hình thc khác nhau mô t
lung s kin: vn bn, bi lung,… làm cho khách
hàng có th khng nh tính chính xác
42
Mô hình Use Case
MtvídvUC “Rút tin”trongh
thng ATM
Lung chính
1. UC b u khi khách hàng a th tín dng vào máy ATM
2. ATM hin th thông báo: nhp PIN
3. Khách hàng nhp PIN
4. PIN c g n trung tâm kim tra
5. ATM khng nh PIN hp l? nu không hp l thì thc
hin lung A1
6. ATM hin th các la chn: gi tin, rút tin, chuyn tin
7. Khách hàng chn rút tin
8. ATM hinthcâuhistinsrút
22
43
Mô hình Use Case
MtvídvUC “Rút tin”trongh
thng ATM (tt)
9. Khách hàng nhp s tin mun rút
10. ATM xác nh s còn . Nu không thì
thc hin lung A2
11. ATM tr tin trong tài khon ca khách hàng
12. ATM chuyn tin cho khách hàng
13. ATM tr th tín dng
14. UC kt thúc
44
Mô hình Use Case
Lung nhánh A1: S PIN không hp
l
ATM thông báo s PIN không hp l
ATM tr th tín dng
t thúc UC
23
45
Mô hình Use Case
Lung nhánh A2: khôngtin trong
tài khorút
ATM thông báo không tin
ATM tr th tín dng
t thúc UC
46
Mô hình Use Case
Demo H thng ATM
24
47
Mô hình Use Case
Danh sách tác nhân & UC
Danh sách tác nhân
Khách hàng: là nhng ng c phc v các
giao dch tin bc
Ngi qun tr thng (System Administrator)
Ngi qun lý (manager)
thng ngân hàng khác
48
Mô hình Use Case
Danh sách UC
Rút tin
Chuyn tin
Xem s
ng nhp h thng
i mt khu (PIN)
Xác thc khách hàng
In phiu chi tit (mini-statement)
25
49
Mô hình Use Case
nhdngctUC
UC: tên UC b u bng ng t
Các tác nhân: danh sách các tác nhân liên
quan n UC này
Mô t: tóm tt tin trình x lý công vic cn
thc hin
Tham chiu: Các chc nng, UC và nhng h
thng liên quan
50
Mô hình Use Case
UC “Rút tin”
Tác nhân: khách hàng
Mô t: Khách hàng sau khi a th tín dng
vào máy ATM úng chiu và nh úng mt
khu thì máy hin th menu cho phép chn rút
tin. Có th rút tin nhanh hay rút theo s nhp
Tham chiu: