∀I H∃C CÔNG NGH& THÔNG TIN
KHOA H& TH(NG THÔNG TIN
CH)∗NG 2
XÁC
+NH YÊU C−U NG).I DÙNG
GV: ThS. H Tr#n Nh%t Th&y
M0c tiêu
• Tìm hi u các khái ni∃m c% b&n v( xác
∗+nh yêu c−u ng./i dùng và tác d1ng c3a
chúng lên Phân tích và Thi4t k4.
• Tìm hi u cách ghi nh6n và di7n d+ch các
yêu c−u c3a ng./i dùng, là nh9ng thông
tin ∗.;c dùng ∗ bvà thi4t k4.
2
N2i dung
1. Gi5i thi8u
2. Các khái ni8m chính
§ Actor
§ Use Case
§ Use Case Model
3. M:i quan h8
4. 5. Phát bi≅u bài toán
6. B?ng chú gi?i
7. Các Β
8. Checkpoints
3
Yêu c∆u ngΦΓi dùng trong ngΗ c?nh
M1c ∗ích c3a b.>c xác ∗+nh yêu c−u ngu/i dùng là:
• Ði ∗4n th≅a thu6n v>i khách hàng và ng./i dùng v( các chΒc nΧng c3a
h∃ th∆ng (nh9ng gì h∃ th∆ng ph&i thΕc hi∃n).
• Cho phép các nhà phát tri n h∃ th∆ng (system developer) hi u rõ h%n
các yêu c−u ∗∆i v>i h∃ th∆ng.
• Phân ∗+nh các ranh gi>i c3a h∃ th∆ng.
• Cung cΦp c% sΓ ∗ hoΗch ∗+nh nΙi dung kϑ thu6t c3a các vòng lΛp.
• Xác ∗+nh giao di∃n ngu/i dùng cho h∃ th∆ng.
4
Các dϑng thông tin vΚ yêu c∆u ngΦΓi dùng
Use-Case Model
B&ng chú gi&i
Actors
Các Use Case
...
Các ∗Λc t& bΜ sung
Use-Case Reports
5
N2i dung
1. Gi5i thi8u
2. Các khái ni8m chính
§ Actor
§ Use Case
§ Use Case Model
3. M:i quan h8
4.
5. Phát bi≅u bài toán
6. B?ng chú gi?i
7. Các Β
8. Checkpoints
6
2. Khái ni8m - Actor
Actor (Tác nhân)
Các Actor n m BÊN NGOÀI h# th&ng
Có t()ng tác v∗i h# th&ng
7
Actor
• MΙt actor xác ∗+nh mΙt tΛp các vai trò khi ng./i sΝ
d1ng tΦ6ng tác v>i h∃ th∆ng. Ng./i sΝ d1ng có th là
mΙt cá nhân hay mΙt h∃ th∆ng khác.
• Ο có th hi u mΙt cách ∗−y ∗3 h∃ th∆ng c−n xây dΕng,
bΗn c−n ph&i bi4t h∃ th∆ng ph0c v0 cho ai, ai sΠ là
ng./i sΝ d1ng h∃ th∆ng. Nh9ng loΗi ng./i dùng khác
nhau sΠ ∗.;c bi u di7n bΓi các tác nhân trong mô hình.
• MΙt tác nhân là mΙt cái gì ∗ó trao ΒΧi dΗ li8u v5i h8
th:ng. Tác nhân có th là ng./i sΝ d1ng, mΙt thi4t b+
ph−n cΒng bên ngoài, hoΛc có th là mΙt h∃ th∆ng khác.
8
Actor
Con ngΦΓi
Ph∆n mΚm
Ph∆n cΜng
Ph∆n mΚm
9
Ví d0 Actor
Phân bi8t Actor – Instant Actor ?
• Tác nhân bi u di7n mΙt l>p (mΙt t6p) ng./i sΝ
d1ng chΒ không ph&i là mΙt cá nhân c1 th nào.
• MΙt vài ng./i sΝ d1ng có th ∗óng cùng mΙt
vai trò ∗∆i v>i h∃ th∆ng → chΘ thi4t k4 mΙt tác
nhân bi u di7n cho các ng./i dùng trên
→ MΡi ng./i dùng c1 th là mΙt th hi∃n c3a tác
nhân (Instant Actor)
11
Actor – Ví d0
12
Actor – Ví d0
• MΙt h∃ th∆ng qu&n lý th. vi∃n, cho phép ng./i
dùng có th tra cΒu thông tin c3a các quy n
sách có trong th. vi∃n.
• Hai sinh viên A và B sΝ d1ng h∃ th∆ng ∗ tra
cΒu thông tin
→ ChΘ có mΙt tác nhân là “Ng./i sΝ d1ng”
→ A và B là hai th hi∃n c3a tác nhân này.
13
Vai trò (Role)
Peter có vai trò nh
m!t sinh viên
Peter
Student
Peter có vai trò nh
m!t giáo s
Professor
=> M!t User có th∃ có nhi&u vai trò
14
Vai trò (Role)
• Trong mΙt vài tình hu∆ng, mΙt ng./i ∗óng mΙt
vai trò nào ∗ó ∗.;c mô hình hóa thành mΙt
actor trong h∃ th∆ng. Ví d1: qu&n tr+ h∃ th∆ng.
• MΙt ng./i dùng có th là th hi∃n c3a nhi(u tác
nhân (trong tr./ng h;p mΙt cá nhân có nhi(u
vai trò).
• Ví d1: ng./i th3 th. tên A có th có hai vai trò
khác nhau trong h∃ th∆ng qu&n lý th. vi∃n
– Tác nhân “Ng./i sΝ d1ng” bình th./ng
– Tác nhân “Ng./i th3 th.”.
15
Làm thΝ nào Β≅ xác ΒΟnh Actor?
• Nh9ng gì xung quanh h∃ th∆ng sΠ trΓ thành tác
nhân c3a h∃ th∆ng?
• Nh9ng cá nhân ∗Ιc l6p sΠ sΝ d1ng h∃ th∆ng.
• Phân loΗi?
→ nghΣ t>i mΙt vài cá nhân nào ∗ó và ∗&m b&o
rΥng các tác nhân ∗.;c thi4t k4 ∗áp Βng h−u
h4t các nhu c−u c3a hς.
16
Làm thΝ nào Β≅ xác ΒΟnh Actor?
17
Làm thΝ nào Β≅ xác ΒΟnh Actor?
• Các câu h≅i
1. Ai là ng./i cung cΦp, sΝ d1ng hoΛc lΦy thông tin tΩ h∃
th∆ng ?
2. Ai sΠ sΝ d1ng các tính nΧng c3a ch.%ng trình ?
3. Ng./i quan tâm t>i mΙt yêu c−u nào ∗ó ?
4. N%i nào trong tΜ chΒc (phòng ban, công ty) sΠ sΝ d1ng h∃
th∆ng?
5. Ai là ng./i duy trì, b&o d.Ξng và qu&n lý h∃ th∆ng?
6. Nh9ng tài nguyên bên ngoài h∃ th∆ng là gì ?
7. Có nh9ng h∃ th∆ng nào khác t.%ng tác v>i h∃ th∆ng này
không?
18
Ví d0
• Ng./i dùng nh9ng chΒc nΧng chính c3a h∃
th∆ng
• Ng./i dùng nh9ng chΒc nΧng ph1, nh. là
qu&n tr+ h∃ th∆ng.
• Nh9ng thi4t b+ ph−n cΒng bên ngoài
• Nh9ng h∃ th∆ng khác có t.%ng tác trao ∗Μi
thông tin v>i h∃ th∆ng.
• N4u xây dΕng Βng d1ng trên n(n internet, có
th có tác nhân “vô danh”
19
Ví d0 - Actor
• Xét ph−n m(m Qu&n lý hςc sinh cΦp 3
Ti p nh#n h%c sinh
Giáo v∋
L#p danh sách l)p
Giáo v∋
Tra c,u h%c sinh
M%i ng−5i? Ph∋ huynh? H%c sinh?
Nh#p b.ng /i0m môn h%c
Giáo viên? Giáo v∋?
Xem báo cáo t2ng k t
Ban giám hi7u?
Thay /2i quy /3nh
Ban giám hi7u? Qu.n tr3 h7 th8ng?
Ví d0 - Actor
• Xét ph−n m(m Qu&n lý th. vi∃n
L#p th0 /9c gi.
Th: th−
Nh#p sách m)i
Th: th−
Tra c,u /9c gi.
Th: th−? <9c gi.? Khách b=t k>
L#p phi u m−;n
Th: th−
Nh#n tr. sách
Th: th−
Thay /2i quy /3nh
Th: th−? Qu.n tr3 h7 th8ng?
Ví d0: Actor – Ph∆n cΜng
• Ph−n m(m qu&n lý Siêu th+:
– Οςc thông tin tΩ thi4t b+ ∗ςc mã vΗch
• Ph−n m(m qu&n lý cΝa tΕ ∗Ιng:
– Οςc thông tin tΩ camera
– Phát l∃nh ∗i(u khi n mΓ cΝa
• Ph−n m(m qu&n lý ra vào các phòng trong công sΓ
– Οςc tín hi∃u tΩ ∗−u ∗ςc thΨ tΩ
– Phát l∃nh ∗i(u khi n mΓ cΝa
• Ph−n m(m ch∆ng trΙm
– Οςc tín hi∃u tΩ camera, sensor
– Phát l∃nh ∗i(u khi n ra loa, ∗èn, ∗i∃n thoΗi…
22
Ví d0: Actor – Ph∆n mΚm khác
• K4t xuΦt/nΗp d9 li∃u tΩ Excel
• K4t xuΦt d9 li∃u báo cáo ra ph−n m(m gΝi email
(Microsoft Outlook, Outlook Express…)
• …
23
Actors và gi5i hϑn h8 th:ng (System
Boundary)
Bank System
Customer
System
boundary?
ATM System
Bank Teller
Ngu(i thu ngân
24
Actors và gi5i hϑn h8 th:ng
• Tìm ki4m tác nhân cΖng có nghΣa là xác ∗+nh phΗm
vi c3a h∃ th∆ng, giúp ta xác ∗+nh m1c ∗ích và qui mô
c3a h∃ th∆ng c−n xây dΕng.
• ChΘ nh9ng ng./i nào có t.%ng tác trΕc ti4p v>i h∃
th∆ng m>i ∗.;c xem là tác nhân
• Ví d1: trong h∃ th∆ng ∗Χng ký vé, c−n xét các
tr./ng h;p
– Khách hàng mua vé thông qua nhân viên du l+ch (travel
agent) → không là tác nhân c3a h∃ th∆ng.
– Khách hàng có th ∗Χng ký vé trΕc ti4p thông qua
internet → tác nhân.
25