Tải bản đầy đủ (.pdf) (38 trang)

cách sử dụng biểu đồ use case

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (231.59 KB, 38 trang )

1
1
PHÂN TÍCH THIT K 
THNG HNG I
NG
Chng 3: Bi  Use case
2
Mô hình Use Case
Ni dung
 Phân tích Use Case
 Bi  Use Case
  thng bán hàng theo  t hàng
  thng cho thuê bng 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 cu chc nng trong h thng
 UC mô t ng tác gia ngi s ng vi
 thng phn mm
 Mô t UC làm gì? Không cn tr i ”nh th
nào?”
3
5
Mô hình Use Case
Xâydng UC  làm gì?
 Mô t yêu cu chc nng ca h thng
 Sau khi ã tha thun gia khách hàng và ngi phát


trin h thng
 Môtrõràngvànhtquáncáihthngslàmvà
c s ng xuyên sut trong quá trình phát trin
 Làm công c giao tip cho cho tt c nhng ngi phát
trin h thng
 Cung cp c   kim tra th nghim h thng
6
Mô hình Use Case
UC và tin trình phát trin
Phân tích
Thu thp, lc và
ánh giá UC
Thit k và
cài t
Cài t UC
Kim tra
KimtraxemUC
có tha mãn
không?
UC gn các bc trong tin trình phát trin
4
7
Mô hình Use Case
Nhng ngi quan tâm n UC
Ngi s
ng
Di t
Phân tích
viên
Hiu

Th nghim
Kim tra
Kin trúc s
p trình
viên
Thit k
Cài t
8
Mô hình Use Case
Các thành phncasUC
 Hai thành phn ti thiu trong mô hình UC:
 Tác nhân (Actor)
 là i tng bên ngoài h thng tác ng vào các
UC  nó ho ng
 có th có nhiu Actors
 UC (Use case)
 Có hình ellipse
 Thc hin 1 chc nng hoàn chnh
 Có th có nhiu UC trong s
5
9
Mô hình Use Case
Tác nhân
 Là thc th bên ngoài tng tác vi h thng
 Có th là con ngi hay thit b ng tác vi h thng
 ng tác chính là s trao i thông tin
 Ví d:
 Khách hàng, ngi bo trì  ATM
 c gi, th th  Th vin
 Thi gian cng là tác nhân khi nó xác nh th m

y ra s kin trong h thng
10
Mô hình Use Case
K thut tìm kim tác nhân
 Ai s  ng chc nng chính ca h thng?
 Ai giúp h thng làm vic hàng ngày?
 Ai qun tr o dng h thng làm vic liên tc?
  thng qun lý thit b phn cng nào?
  thng ang xây dng tng tác vi h thng khác
nào?
 Ai hay cái gì quan tâm n kt qu  thng cho li
6
11
Mô hình Use Case
Thc hin tìm kim UC
 Vic xác nh các UC tc là xác nh các yêu
u công vic ca h thng
 Tuy nhiên, gp nhiu khó khn:
 Khi lng thông tin liên quan n các yêu cu
t nhiu
 Các yêu cu thng ch c h thng nên
t ln xn, không có cu trúc
 n phi phân hoch các yêu c  gim
thi  phc tp
12
Mô hình Use Case
Thc hin tìm kim UC
 Phng vn ngi s ng và kho sát tài liu
a h
  ng ngôn t theo lnh vc ca ngi s

ng
 Nên hp tác vi chuyên gia lnh vc
 Phng vn và trao i vi chuyên gia  thc
hi c lp nhau  u có khác bit  p?
7
13
Mô hình Use Case
Phân hochyêucu
Ngi dùng
B
Ngi dùng
A
Ngi dùng
C
p các yêu cu h thng
14
Mô hình Use Case
Mtscâutruyvn khi thc hin tìm
kim UC
 Tác nhân yêu cu h thng thc hin chc nng nào?
 Trong ngân hàng: rút tin, chuyn tin, tr lãi vay
 Tác nhân c c, to lp, bãi b, lu tr  i
thông tin nào trong h thng?
 Khách ATM thay i mt khu
 Nhân viên ngân hàng thay i mc lãi,…
 Có cn thông báo cho các tác nhân v  kin xy ra
trong h thng?
  thng cn 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 nim tác nghip (không s
ng khái nim k thut chuyên môn)
  ng ng t, câu ngn
 UC c lp vi các ngôn ng p trình
 UC có th c mô t ng vn bn trên giy
hoc bng công c phn mm
16
Mô hình Use Case
MtsUC ca ngân hàng
 Khách hàng m 1 tài khon mi
 Phòng u t tính toán tin lãi cho các tài
khon
 Khách hàng np tin, rút tin, chuyn tin
 Khách hàng làm th c vay tin
 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
Gii thiu biUC
 Mô hình UC gm 1 hay nhiu bi  UC cùng
i các tác nhân liên quan
  ng mô hình UC  giao tip gia các
thành viên trong h thng

 Nh phân tích viên, lp trình viên, Và vi
khách hàng
  ng bi  ph m b   thông
tin
10
19
Mô hình Use Case
Các công viccn thittomôhình
UC
 Xác nh phm vi h thng
 Không hn ch là h thng phn mm mà có th là bt
  thng nào
 Tìm các tác nhân và UC
 MôtUC
 i dng vn bn
 nh ngha các yêu cu và chc nng c th
 Xác nh các mi quan h gia các UC
 Kim tra và phê chun mô hình
20
Mô hình Use Case
Cácmiquanhtrong biUC
 Quan h gia các tác nhân
 Gia hai tác nhân A, B có th n ti mi liên
quan khái quát hóa
 Quan h gia các tác nhân và ca s ng
 Quan h gia 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 gia UC và tác nhân
 Quan h giao tip
 Là hình mi tên gia tác nhân và UC
 “khách hàng”  ”rút tin”
 Quan h  ng (include)
 t s UC s ng chung 1 chc nng nào ó
 tách chc nng ó ra thành 1 UC riêng cho
các UC khác s ng
 Quan h <<include>> có tính cht bt buc
 UC rút tin và gi ti u cn phi xác nh tên
tài khon và s PIN
22
Mô hình Use Case
Mtvídquanhinclude
Xác thc
khách hàng
Rút tin
i tin vào
<<include>>
UC tru
ng
<<include>>
UC c
th
Khách hàng
12
23
Mô hình Use Case
Vi d tip 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 rng(extend)
 UC m ng là 1 trng hp c th c bit)
a UC tng quát và c 2 thc hin cùng bn
cht công vic
 Trong 1 u kin nào ó, 1 UC dc m ng
ng UC khác
  ng li 1 s hành vi ca UC tng quát hn
  ng li nhng không nht thit phi tt

 UC gc phi là 1 UC hoàn thin
13
25
Mô hình Use Case
Mtvídvquanhmrng
Rút nhanhRút tin
<<extend>>
UC c th UC tru tng
26
Mô hình Use Case
Vídtip theo

TT bng th
tín dng
Thanh toán
<<extend>>
UC c 
UC m ng
TT bng ngân
phiu
<<extend>>
14
27
Mô hình Use Case
ng ký phòng khách sn
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ídvUC tru tng
Khách hàng
Rút tin
Rút nhanh
Xác thc

khách hang
<<extends>>
<<include>>
2 UC
tru
ng
15
29
Mô hình Use Case
Quan h tng quát hoá
  ng cho các tác nhân dùng chung 1 s chc nng
nào ó
 Ví d: “Khách hàng”  có“Khách hàng tp th”,
“khách hàng cá nhân”, “Khách hàng nc ngoài”,
 u tt c các loi “khách hàng u s ng UC thì
không cn tng quát hóa, ch  ng 1 tác nhân
“khách hàng”; ngc li thì nên s ng mô hình tng
quát hóa tác nhân
30
Mô hình Use Case
Quan h tng quát hóa
Ngi dùng
ng quát
Ngi dùng
A
Ngi dùng
B
Tác nhân c th
Tác nhân tru tng
16

31
Mô hình Use Case
Ngi qun

Tác nhân c th
Tính lng
Ngi dùng
ng quát
Tác nhân tru tng
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 chc nng có liên quan
trong cùng 1 nhóm  p li thành gói (Package)
 Ví d
 Gói “Giao dch bán
hàng”
 Gói “Thng kê báo
cáo tng kt”
 Gói “Qun lý h thng”
 Gói “Kho hàng”,…
17
33
Mô hình Use Case
Mtsiuchúý khilp biUC
 Không có giao tip tác nhân-tác nhân

 Không hình thành quan h trc tip gia 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 tru tng
34
Mô hình Use Case
Các phntca UC
  kin kh ng UC và s kin dng UC
 “UC b u khi X xy ra”
 “Khi Y xy ra thì UC kt thúc”
 ng tác gia UC và tác nhân
 Mô t rõ ràng cái bên trong và bên ngoài h thng
 Các tham s ng tác gia tác nhân và UC nên mô t
theo vn phong bình thng (không phi phn mm)
 Ví d: “Ngi s ng nhp tên và mt khu”
 Niên i và ngun gc thông tin
 Khi nào h thng òi hi thông tin bên trong, bên ngoài, khi
nào h thng lu tr chúng
18
35
Mô hình Use Case
Kimtrasaukhixácnh 1 UC
 i UC cn phi biu din trn vn 1 giao dch gia tác
nhân và h thng
 t s câu hi kim tra:
 Xem xét mi yêu cu chc nng có nm trong 1 UC
không?
 ã xem xét mi tác nhân tng tác vi h thng cha?

 Tác nhân ã cung cp cho h thng thông tin nào?
 Tác nhân nhn thông tin nào t  thng?
 ã nhn bit mi h thng bên ngoài mà h thng này
ng tác cha?
 Thông tin nào mà h thng bên ngoài nhn và gi cho h
thng này?
36
Mô hình Use Case
Lungskin(flows of events) trong
UC
 Là nhng bc mô t nhng thao tác phi làm
a 1 UC.
 Chi tit và c lp vi chng trình
 i UC có nhiu lung s kin (lung chính,
ph)
 Làm tài liu lung logic i qua các UC.
19
37
Mô hình Use Case
Kchbn(Scenarios) ca UC
 Là trình t các hành ng trong 1 trng hp
 th (th hin) ca UC
 Là 1 phiên bn c th a lung s kin
 ch bn là 1 lung s kin trong 1 th hin c
th a UC
 Ví d: lung s kin ca UC “rút tin”
 “Ông A rút 100000”
 “Ch B rút 1 triu nhng nhp nhm PIN”
 “Ông C rút 100000 nhng s  tài khon ch
còn 80000”,…

38
Mô hình Use Case
Các lungskinca UC “Rút tin”
 Khách hàng nhp PIN sai, và c yêu cu nhp li
 Khách hàng nhp PIN sai 3 ln và card s  gi i
 Khách hàng nhp s ng tin rút không hp l
 ATM c ng kt ni vi h thng ca ngân hàng
nhng không thành công  vì s 
 ATM không  tin m  áp ng nhu cu khách
hàng
 Tài khon ca khách hàng không  ti  áp ng
yêu cu
 Khách hàng hu  vic rút tin
20
39
Mô hình Use Case
Làm tài liu lungskin UC
 t tài liu lung s kin gm:
 i dung vn tt UC;
 Ti u kin;
 Lung s kin chính; lung s kin r nhánh;
  u kin
 i dung UC
 Ngn gn,  ý (v loi ngi s ng UC và kt qu
UC cho li)
 Ví d: UC “Chuyn tin”  “cho phép khách hàng hay
nhân viên nhà bank chuyn s tin t tài khon này
sang tài khon khác”
40
Mô hình Use Case

Làm tài liu lungskin UC (tt)
 Ti u kin (Pre-conditions)
 Là các u kin c c thc hin trc khi UC khi
ng
 Ví d: “Ngi s ng phi có quyn xâm nh 
thc hin UC này”
 “UC nào ó phi thc hin trc Uc này ?”
 Không phi lúc nào cng có “Ti u kin”
 Lung s kin chính và lung r nhánh
 Mô t toàn b các quy trình thc hin các chc nng
a UC (làm cái gì, không quan tâm làm nh th nào)
  u kin (Post-Conditions)
 Là u ki c thc hin ngay sau khi kt thúc UC
 Không phi lúc nào cng có “H u kin”
21
41
Mô hình Use Case
Các lungskinca UC
 UC kh ng nh th nào?
 Lung chính thông qua UC
 Lung r nhánh thông qua UC
 Các lung li
 UC kt thúc th nào?
u ý: Có th  ng các hình thc khác nhau  mô t
lung s kin: vn bn, bi  lung,… làm cho khách
hàng có th khng nh tính chính xác
42
Mô hình Use Case
MtvídvUC “Rút tin”trongh
thng ATM

 Lung chính
1. UC b u khi khách hàng a th tín dng vào máy ATM
2. ATM hin th thông báo: nhp PIN
3. Khách hàng nhp PIN
4. PIN c g n trung tâm  kim tra
5. ATM khng nh PIN hp l? nu không hp l thì thc
hin lung A1
6. ATM hin th các la chn: gi tin, rút tin, chuyn tin
7. Khách hàng chn rút tin
8. ATM hinthcâuhistinsrút
22
43
Mô hình Use Case
MtvídvUC “Rút tin”trongh
thng ATM (tt)
9. Khách hàng nhp s tin mun rút
10. ATM xác nh s  còn . Nu không  thì
thc hin lung A2
11. ATM tr  tin trong tài khon ca khách hàng
12. ATM chuyn tin cho khách hàng
13. ATM tr th tín dng
14. UC kt thúc
44
Mô hình Use Case
Lung nhánh A1: S PIN không hp
l
 ATM thông báo s PIN không hp l
 ATM tr th tín dng
 t thúc UC
23

45
Mô hình Use Case
Lung nhánh A2: khôngtin trong
tài khorút
 ATM thông báo không  tin
 ATM tr th tín dng
 t thúc UC
46
Mô hình Use Case
Demo H thng 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à nhng ng c phc v các
giao dch tin bc
 Ngi qun tr  thng (System Administrator)
 Ngi qun lý (manager)
  thng ngân hàng khác
48
Mô hình Use Case
Danh sách UC
 Rút tin
 Chuyn tin
 Xem s 
 ng nhp h thng
 i mt khu (PIN)
 Xác thc khách hàng
 In phiu chi tit (mini-statement)

25
49
Mô hình Use Case
nhdngctUC
 UC: tên UC b u bng 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 tt tin trình x lý công vic cn
thc hin
 Tham chiu: Các chc nng, UC và nhng h
thng liên quan
50
Mô hình Use Case
UC “Rút tin”
 Tác nhân: khách hàng
 Mô t: Khách hàng sau khi a th tín dng
vào máy ATM úng chiu và nh úng mt
khu thì máy hin th menu cho phép chn rút
tin. Có th rút tin nhanh hay rút theo s nhp
 Tham chiu:

×