Tên tác nhân Khách hàng Khách quen Nhân viên... nh ng use case chuyên bi t khác... Tai sao nên phân chia mô hình use case thành các gói?. Bài t p 1.
Trang 1Ch ng 6
MÔ HÌNH HOÁ USE CASE
M c tiêu
Sau khi h c xong sinh viên có th :
- Hi u ý ngh a c a vi c s d ng s đ use case trong bi u di n yêu c u h th ng
- Xác đ nh đ c các tác nhân và m i quan h gi a các tác nhân c a m t h th ng ph n
m m
th ng
d ng các liên k t <<extend>>, <<include>>
Gi i thi u
Trong giai đo n phân tích, k t qu c a quá trình kh o sát yêu c u ph n ánh quá trình làm vi c
th ng s làm thoã mãn các yêu c u nh th nào và đó chính là chìa khoá đ u vào cho vi c
mô hình use case
đ c cài đ t nh th nào
nào Do đó t m t quan đi m ng i dùng chúng ta phát hi n các tình hu ng s d ng khác
case và tác nhân cùng v i quan h gi a chúng s cho ta m t mô hình use case mô t yêu c u
c a h th ng
v và k t qu c a nó s cung c p s đ use case t vi c th ng nh t các yêu c u h th ng ph n
mà không có ho t đ ng nghi p v (ví d : h th ng nhúng), ho c các nghi p v c a h th ng
- Phát tri n use case
Trang 2o Ho c trong tr ng h p h th ng m i thì ng i dùng s làm gì v i h th ng?
Xác đ nh tác nhân
Tác nhân (actor)
trong nh ng hình th c sau:
- Cung c p đ u vào ho c nh n các đ u ra t h th ng
- Không đi u khi n ho t đ ng c a h th ng
Ký hi u
Tên tác nhân: tên tác nhân là m t danh t
Quan h gi a các tác nhân:
Là quan h t ng quát hóa và chuyên bi t hoá
Ví d :
Xác đ nh tác nhân
cho h th ng ho c nh n k t qu x lý t h th ng
Tên tác nhân
<<Actor>>
<Tên tác nhân>
Khách hàng
Khách quen
Nhân viên
Trang 3Qua quá trình kh o sát và phân tích tài li u h th ng, chúng ta có th nh n ra các tác nhân
thông qua các câu h i sau:
đ ng c a nó (ho t đ ng g m ch c n ng chính và ch c n ng ph , nh là ch c n ng
qu n tr )?
- Nh ng ph n c ng ho c h th ng bên ngoài nào s d ng h th ng?
viên g m:
Xác đ nh use case
Use case
h p t t c use case bi u di n b m t c a h th ng bao g m các ch c n ng c n có đ cung c p
Nguy n V n A
Nguy n Th B
Tr n V n C
Khách hàng
NV bán hàng
Bán hàng
Khách hàng Nhân viên
ngân hàng
Nhân viên v n hành
Trang 4c a h th ng m i v m t ch c n ng, m i ch c n ng s đ c bi u di n nh m t ho c nhi u
use case
Ví d : h th ng c a hàng NGK ta có m t vài use case
Bán hàng, qu n tr t n kho,…
Ký hi u
Xác đ nh use case
- Tìm các nhi m v và ch c n ng mà tác nhân s thi hành ho c h th ng c n tác nhân
đ thi hành và mô hình hoá nó nh là use case Use case s đ i di n m t dòng s ki n
dòng s ki n chính)
t (what)
s d ng i u này s làm cho mô t use case ít m h
Ví d : trong h th ng ATM
Tác nhân Khách hàng s s d ng h th ng qua các ch c n ng:
- G i ti n
- Rút ti n
- Truy v n thông tin v tài kho n
Tác nhân Nhân viên v n hành s s d ng các ch c n ng
G i ti n: khách hàng đ ng nh p vào h th ng và yêu c u g i ti n vào tài kho n Khách hàng
- Yêu c u xác đ nh tài kho n
- H th ng h i s ti n g i
tin tài kho n
Tên use case
kho
Trang 5- Nh p vào s ti n g i
Rút ti n: khách hàng đ ng nh p h th ng và yêu c u rút ti n t tài kho n Khách hàng xác
đ nh tài kho n và l ng ti n rút Sau khi ki m tra s d tài kho n còn đ , h th ng s t o m t
- Nh p s ti n rút
- Chuy n ti n ra ngoài
Truy v n thông tin tài kho n: khách hàng đ ng nh p vào h th ng và yêu c u xem thông tin
hình cho khách hàng
Kh i đ ng h th ng: h th ng đ c kh i đ ng khi nhân viên v n hành b t công t c c a máy
ti n Sau đó, h th ng s thi t l p m t k t n i t i ngân hàng và các d ch v c a máy ATM b t
đ u v n hành
óng h th ng: h th ng đ c đóng l i khi nhân viên v n hành đ m b o r ng không có khách
Xác đ nh m i quan h
Quan h tác nhân – use case: quan h này cho bi t tác nhân s t ng tác v i use case M t
Ký hi u
Ví d :
Tên use case Tác nhân
Trang 6M i quan h gi a các use case
dòng ngo i l ch x lý cho nh ng s ki n trong nh ng đi u ki n đ c bi t làm đ n gi n
mô t này chúng ta s d ng thêm các m i k t h p <<extend>> và <<include>>
Liên k t m r ng (<<extend>>): đ c dùng khi chúng ta có m t use case t ng t nh use
c a use case t ng quát
đ c xem là th c hi n đ ng nh p m t cách xuyên su t.Tuy nhiên, nhi u v n đ có th tác
đ ng đ n dòng s ki n chính Ví d , mã s PIN không h p l , ho c th không đ c đ c do b
use case đ c cho và nh v y, c n thi t t o ra các use case m i đ gi i quy t nh ng tình
đó Tuy nhiên, đi u này có th d n đ n s ph c t p v i nhi u lu n lý riêng bi t và s làm
gi m vai trò c a dòng chính
X lý tr sách
Tra c u sách
ng ký thành viên
Mua sách
c gi
Truy v n thông tin tài kho n
Rút ti n
G i ti n
Khách hàng
Kh i đ ng
h th ng Nhân viên v n hành
óng h th ng
Trang 7nh ng use case (chuyên bi t) khác R i t o m t liên k t <<extend>> gi a use case c b n t i
các use case chuyên bi t đ khai báo r ng: ngoài x lý dòng chính (c b n), use case c b n
T o m t use case t ng quát có tên là Giao d ch c a các use case Rút ti n, G i ti n và Truy
v n thông tin tài kho n T o các liên k t <<extend>> t use case Giao d ch đ n các use case
này Nh v y, m t rút ti n, ho c g i ti n, ho c truy v n thông tin tài kho n là m t lo i giao
d ch mà khách hàng có th s d ng trên máy ATM Có ngh a r ng, các x lý trong use case
Giao d ch s cung c p m t dòng chung và khi khách hàng ch n m t lo i giao d ch đ c bi t
Giao d ch: khách hàng t ng tác v i h th ng b t đ u b ng vi c đ ng nh p h th ng Sau khi
đ ng nh p, khách hàng có th th c hi n các giao d ch Sau đây là các b c:
- Yêu c u lo i giao d ch
- Nh p lo i giao d ch
- Th c hi n giao d ch
- Yêu c u l y th
- L y th
Giao d ch
Rút ti n
G i ti n
Khách hàng
Kh i đ ng
h th ng
Nhân viên v n hành
óng h th ng
Truy v n thông tin tài kho n
<<extend>>
<<extend>>
<<extend>>
Use case
Use case
<<extend>>
ng nh p
Gi i quy t PIN không h p l
<<extend>>
Trang 8tr c a l n m n tr c) Do đó, chúng ta tách dòng ph này và use case “M n sách t th
vi n thành viên” và “ ”và t o m t liên k t <<extend>> t use case này đ n use case X lý
Liên k t s d ng (<<include>>): đ c thành l p khi chúng ta có các use case mà tìm th y
l p l i trên nh ng use case này, chúng ta có th tách nh ng dòng ho t đ ng chung đó ra thành
m t use case Use case m i này có th s d ng b i nh ng use case khác Quan h gi a nh ng
use case v i use case đ c trích ra này g i là quan h <<include>> Quan h s d ng giúp
trích ra ho t đ ng ki m tra th th vi n t hai use case trên và t o m t liên k t <<include>>
sách đ u th a h ng t t c ho t đ ng c a use case c a use case ki m tra th
nh p
ng nh p: khách hàng nh p vào mã s PIN g m b n ký s N u mã s PIN h p l , tài
- Yêu c u password
- Nh p password
- Ki m tra password
Gi i quy t PIN không h p l : n u mã s PIN không h p l , h th ng s hi n th m t thông
báo t i khách hàng
Giao d ch
Khách hàng
ng nh p
Gi i quy t PIN không h p l
<<extend>>
<<include>>
vi n thành viên
<<extend>>
X lý t ch i
<<extend>>
X lý tr sách
Th th
Ki m tra th
<<include>>
<<include>>
Trang 9S gi ng nhau gi a liên k t <<extend>> và liên k t <<include>> là t t c đ u đ c xem nh
là m t lo i k th a Khi chúng ta mu n chia s m t s ho t đ ng chung trong nhi u use case,
dùng liên k t <<include>> b ng cách trích các ho t đ ng chia s đó thành m t use case m i
Khi chúng ta mu n thêm vào m t ít khác bi t cho m t use case đ mô t m t tình hu ng đ c
bi t trong m t tình hu ng chung, chúng ta s t o m t use case m i có liên k t <<extend>>
v i use case chung đó
D a vào các liên k t đ c thi t l p cho các use case chúng ta phân use case thành hai lo i:
Use case tr u t ng: là use case ch a hoàn h o ngh a là không t ng tác v i b t k m t tác
k t <<extend>> ho c liên k t <<include>> trong nh ng m c đ khác Ví d : các use case
Ki m tra th , X lý t ch i m n sách,… là các use case tr u t ng
Use case c th : là use case có t ng tác tr c ti p v i m t tác nhân Ví d : các use case X lý
m n sách, X lý tr sách, ho c Kh i đ ng máy, óng máy,…
Mô hình use case c a h th ng máy ATM
Giao d ch
Rút ti n
G i ti n
Khách hàng
h th ng
Nhân viên v n hành
óng h th ng
Truy v n thông tin tài kho n
<<extend>>
<<extend>>
<<extend>>
ng nh p
Gi i quy t PIN không h p l
<<extend>>
<<include>>
Trang 10Mô hình use case h th ng ph n m m qu n lý th vi n
Phân chia các use case thành các gói (package)
t p thì chúng ta nên thu h p tiêu đi m c a các k ch b n trong h th ng b ng cách phân chia
thành các gói M i gói ph n ánh m t ph m vi c a h th ng mà chúng ta ch mu n qu n lý nó
khi chúng ta truy c p gói đó
Ví d , có th chia các se case c a h th ng máy ATM thành ba gói: Giao d ch, Rút g i và
V n hành
l ; gói Rút g i g m các use case: G i ti n, Rút ti n, Truy v n thông tin tài kho n; và gói V n
viên, và Mua sách
X lý tr sách
Tra c u sách
ng ký thành viên
Mua sách
c gi
Ki m tra th
<<include>>
<<include>>
vi n thành viên
X lý t ch i
<<extend>> <<extend>>
Giao d ch Rút g i
V n hành
Trang 11Trong đó, gói M n tr sách g m các use case: X lý m n sách, X lý tr sách, Ki m tra
M n tr sách ng ký
thành viên
Mua sách
Trang 12Câu h i và bài t p
Câu h i
1 Mô hình use case là gì?
2 T i sao mô hình hoá use case là h u d ng trong phân tích h th ng?
3 Ai có th là tác nhân?
4 Khi nào chúng ta s d ng liên k t <<extend>> và <<include>> trong mô hình hoá use
case?
7 Tai sao nên phân chia mô hình use case thành các gói?
Bài t p
1 Hãy xây d ng s đ use case mô t m t h th ng di n đàn trao đ i h c t p c a khoa
đ c n trao đ i, ho c m t ý ki n liên quan đ n m t ch đ đã đ c đ a ra, ho c là m t
c a h th ng đ so n th o và g i thông tin lên di n đàn Thành viên có th xem đ c
viên, mã đ ng nh p Vi c đ ng ký có hi u l c sau khi qu n tr duy t và ch p nh n
hi n th các các thông tin đ c g i b i các thành viên ng v i m i thông tin, qu n tr
thái thông tin và ghi chú v lý do t ch i thông tin
gói (n u có) và s đ use case cho t ng gói