Tải bản đầy đủ (.ppt) (34 trang)

Chương 6: Lược đồ tương tác pptx

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 (540.67 KB, 34 trang )

CHƯƠNG 6:
CHƯƠNG 6:
L c đô t ng ta c̀ ́ượ ươ
L c đô t ng ta c̀ ́ượ ươ
(Interaction Diagrams)
(Interaction Diagrams)
PTTKHT bang UML - BM HTTT 1
Nôi dung ̣
Nôi dung ̣
PTTKHT bang UML - BM HTTT 2

Vai tro cua l c đô t ng ta c̀ ̀ ́̉ ượ ươ

Hai dang cua l c đô t ng ta c: tuâ n ̀ ́ ̣̀ ̉ ượ ươ
t va công ta c̀ ́ự ̣

Ca c tha nh phâ n cua l c đô t ng ́ ̀ ̀ ̀̉ ượ ươ
ta c:́

Đô i t nǵ ượ

Lifeline

Message

L c đô t ng ta c 2 b c̀ ́ ́ượ ươ ươ
Vai tro cua l c đô t ng ta c̀ ̀ ́̉ ượ ươ
Vai tro cua l c đô t ng ta c̀ ̀ ́̉ ượ ươ

UC mô ta ch c năng cua hê thô ng, chi ́ ́̉ ư ̉ ̣ ̉
ra ca c actor co thê s dung hê thô ng ́ ́ ́̉ ử ̣ ̣


đ làm gì, nh ng không ch ra h th ng ể ư ỉ ệ ố
s làm nh th nào. ẽ ư ế

Chi nh ca c ́ ́ l p va ha nh đông ́ ̀ ̀ơ ̣ (action)
c a các l p se th c thi ca c use case. ̃ ́ủ ớ ự
Ca c ha nh đông đ c thê hiên trong ́ ̀ ̣ ượ ̉ ̣
l c đô t ng ta c va activitỳ ́ ̀ượ ươ
PTTKHT bang UML - BM HTTT 3
Vai tro cua l c đô t ng ta c̀ ̀ ́̉ ượ ươ
Vai tro cua l c đô t ng ta c̀ ̀ ́̉ ượ ươ

Nê u l c đ activity xa c đinh ca c ́ ́ ́ượ ồ ̣
ha nh vi (behavior) ma đô i t ng câ n ̀ ̀ ́ ̀ượ
th c thi, giu p xa c đinh đ c th t ́ ́ ́ự ̣ ượ ư ự
h p ly cua ca c thao ta c trong mô i đô i ́ ́ ́ ̃ ́ợ ̉
t ng thì l c đô tu ng ta c la công cu ̀ ́ ̀ượ ượ ơ ̣
tuyêt v i đê xa c đinh mô i t ng ta c ̀ ́ ́ ̣́ ơ ̉ ̣ ươ
gi a ca c đô i t ng, nh đo xa c đinh ̃ ́ ́ ̀ ́ ́ư ượ ơ ̣
đ c giao diênượ ̣
PTTKHT bang UML - BM HTTT 4
Hai loai l c đô t ng ta c̀ ̣́ ượ ươ
Hai loai l c đô t ng ta c̀ ̣́ ượ ươ
(Interaction diagram)
(Interaction diagram)

L c đô tuâ n t (Sequence diagram)̀ ̀ượ ự

L c đô công ta c (Collaboration ̀ ́ượ ̣
diagram)
Mô i loai co u khuyê t điêm riêng̃ ́ ̣́ ư ̉

PTTKHT bang UML - BM HTTT 5
L c đô tuâ n t ̀ ̀ượ ự
L c đô tuâ n t ̀ ̀ượ ự

Viêc xây d ng l c đô sequence se dê ̀ ̃ ̣̃ ự ượ
da ng h n nê u đa xây d ng xong: ̀ ́ ̃ơ ự

Bang pha c thao cua mô hi nh use case ́ ̀̉ ̉ ̉

L c đô l p y niêm. ̀ ́ ́ượ ơ ̣

T 2 nguô n na y se giu p xa c đinh ̀ ̀ ̀ ̃ ́ ́ư ̣
đ c tâp h p ca c t ng ta c va ca c ́ ́ ̀ ́ượ ̣ ợ ươ
đô i t ng tham gia vao ca c t ng ta c ́ ̀ ́ ́ượ ươ
na y.̀
PTTKHT bang UML - BM HTTT 6
L c đô tuâ n t ̀ ̀ượ ự
L c đô tuâ n t ̀ ̀ượ ự

L c đô tuâ n t đê u đ c mô hi nh ̀ ̀ ̀ ̀ượ ự ượ ở
m c đô i t ng h n la m c l p. ́ ́ ̀ ́ ́ư ượ ơ ở ư ơ

Đô i v i mô i scenario cua UC, nhiê u ́ ́ ̃ ̀ơ ̉
điên hi nh (instance) cua cu ng 1 l p se ̀ ̀ ́ ̃̉ ̉ ơ
tham gia va o l c đô va la m viêc ̀ ̀ ̀ ̀ượ ̣
cu ng nhau. ̀
PTTKHT bang UML - BM HTTT 7
Vi du môt l c đô t ng ta c ́ ̀ ̣́ ̣ ượ ươ
Vi du môt l c đô t ng ta c ́ ̀ ̣́ ̣ ượ ươ
PTTKHT bang UML - BM HTTT 8

L c đô tuâ n t ̀ ̀ượ ự
L c đô tuâ n t ̀ ̀ượ ự

Ba ky hiêu c ban : ́ ̣ ơ ̉

Đô i t ng (điên hi nh cua l p), ́ ̀ ́ượ ̉ ̉ ơ

Thông điêp hay ta c nhân (message/stimuli)̣́

Chu ky sô ng cua đô i t ng (object lifeline). ̀ ́ ́̉ ượ
PTTKHT bang UML - BM HTTT 9
Ky hiêu đô i t ng (hay điên hi nh ́ ́ ̣̀ ượ ̉
Ky hiêu đô i t ng (hay điên hi nh ́ ́ ̣̀ ượ ̉
l p )́ơ
l p )́ơ
Object ( class instance)
Object ( class instance)

UML s dung cu ng 1 ky hiêu cua l p ̀ ́ ́ử ̣ ̣ ̉ ơ
phân ti ch cho điên hi nh l p: môt hi nh ́ ̀ ́ ̀̉ ơ ̣
ch nhât, bên trong la tên điên hi nh ̃ ̀ ̀ư ̣ ̉
l p đ c gach d i va đ c viê t theo ́ ́ ̀ ́ơ ượ ̣ ươ ượ
môt trong 2 dang sau: ̣ ̣

Dang 1 la “tên điên hi nh : tên l p”̀ ̀ ̣́ ̉ ơ

Dang 2 la “: tên l p” ̀ ̣́ ơ
PTTKHT bang UML - BM HTTT 10
Ky hiêu đô i t ng (hay điên hi nh ́ ́ ̣̀ ượ ̉
Ky hiêu đô i t ng (hay điên hi nh ́ ́ ̣̀ ượ ̉

l p )́ơ
l p )́ơ
Object ( class instance)
Object ( class instance)

Vi du l p y niêm “Sale”, 2 điên hi nh ́ ́ ́ ̣̀ ơ ̣ ̉
cua no theo dang 1 va 2 nh hi nh ve ́ ̀ ̀ ̃̉ ̣ ư
sau.


Trong l c đô tuâ n t , ̀ ̀ượ ự ca c đô i t ng ́ ́ ượ
(object) đê u nă m trên đinh l c đô , ̀ ̀ ̀̉ ượ
th t cua ca c đô i t ng đ c să p ́ ́ ́ ́ư ự ̉ ượ ượ
xê p sao cho dê nhi n. ́ ̃ ̀
PTTKHT bang UML - BM HTTT 11
A nh xa đô i t ng va o l ṕ ́ ̀ ̣́ ượ ơ
A nh xa đô i t ng va o l ṕ ́ ̀ ̣́ ượ ơ
Mapping an Object to a Class
Mapping an Object to a Class

Đê să n sa ng pha t ma thi tâ t ca ca c ̃ ̀ ́ ̃ ̀ ́ ́̉ ̉
đô i t ng câ n đ c a nh xa (map) va o ́ ̀ ́ ̀ượ ượ ̣
môt l p na o đo . ́ ̀ ̣́ ơ

Măc đinh mô i đô i t ng đ c tao ra ̃ ̣́ ̣ ượ ượ ̣
trong l c đô t ng ta c se ch a thuôc ̀ ́ ̃ượ ươ ư ̣
l p na o (class co gia tri Unspecified)́ ̀ ́ ́ơ ̣

Co thê ga n cho đô i t ng thuôc 1 l p ́ ́ ́ ́̉ ượ ̣ ơ
đa đ c đinh nghi a să n trong mô hi nh ̃ ̃ ̃ ̀ượ ̣

domain, hay ga n cho no 1 l p m í ́ ́ ́ơ ơ
PTTKHT bang UML - BM HTTT 12
S dung đa điên hi nh cua 1 đô i t ng ̀ ́ử ̣ ̉ ̉ ượ
S dung đa điên hi nh cua 1 đô i t ng ̀ ́ử ̣ ̉ ̉ ượ
(Multiple of instance of an object)
(Multiple of instance of an object)

Đê biêu diê n đa điên hi nh cho cu ng 1 ̃ ̀ ̀̉ ̉ ̉
l p nh 1 danh sa ch ca c măt ha ng ́ ́ ́ ̀ơ ư ̣
(lineItem) cua 1 lâ n mua ha ng (Sale), ky ̀ ̀ ́̉
hiêu cua UML la :̣̀ ̉

Ky hiêu na y chi xuâ t hiên trong l c ́ ̀ ̣́ ̉ ̣ ượ
đô công ta c, co n trong l c đô tuâ n ̀ ́ ̀ ̀ ̣̀ ượ
t thi chi co 1 ky hiêu đô i t ng đ n.̀ ́ ́ ́ự ̉ ̣ ượ ơ
PTTKHT bang UML - BM HTTT 13
:LineItem
Chu ky sô ng (lifeline) cua đô i ̀ ́ ́̉
Chu ky sô ng (lifeline) cua đô i ̀ ́ ́̉
t ngượ
t ngượ

Th i gian đ c biêu diê n bă ng đu ng ̀ ̃ ̀ ̀ơ ượ ̉ ơ
đ t ne t theo ph ng thăng đ ng va ́ ́ ́ ̀ư ươ ̉ ư
đ c goi la lifeline. ̀ượ ̣

Hi nh ch nhât hep doc theo lifeline ̀ ̃ư ̣ ̣ ̣
đ c goi la thanh hoat đông (activity ̀ượ ̣ ̣ ̣
bar), du ng đê biêu diê n th i gian th c ̀ ̃ ̀̉ ̉ ơ ự
thi cua môt ha nh đông (action) t ng ̀̉ ̣ ̣ ươ

ng. ́ư
PTTKHT bang UML - BM HTTT 14
Chu ky sô ng (lifeline) cua đô i ̀ ́ ́̉
Chu ky sô ng (lifeline) cua đô i ̀ ́ ́̉
t ngượ
t ngượ

Đê chi ra môt đô i t ng đa kê t thu c, ́ ̃ ́ ́̉ ̉ ̣ ượ
đăt ch X trên lifeline cua đô i t ng ̃ ̣́ ư ̉ ượ
n i xay ra kê t thu c. Điê u na y co ́ ́ ̀ ̀ ́ơ ̉
nghi a la nê u không co dâ u hiêu ch ̃ ̀ ́ ́ ́ ̣̃ ư
X trên lifeline cua môt đô i t ng na o ́ ̀̉ ̣ ượ
đo khi chuô i ca c s kiên trong môt ́ ̃ ́ ự ̣ ̣
l c đô đa kê t thu c thi đô i t ng ̀ ̃ ́ ́ ̀ ́ượ ượ
đo vâ n tiê p tuc tô n tai.́ ̃ ́ ̣̀ ̣
PTTKHT bang UML - BM HTTT 15
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)

A
message is a communication between
objects in which one object (the client) asks
another object (the
supplier) to do
something.

Thông điêp hay ta c nhân th ng co dang ́ ̀ ̣́ ươ ̣
la 1 phe p goi (call), ti n hiêu (signal) hay 1 ̀ ́ ̣́ ̣

đa p ng (response) va đ c ve bă ng ́ ́ ̀ ̃ ̀ư ượ
mu i tên đi t lifeline cua đô i t ng na y ̃ ̀ ́ ̀ư ̉ ượ
sang lifeline cua đô i t ng kha c. ́ ́̉ ượ
PTTKHT bang UML - BM HTTT 16
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)

Dang mu i tên mô ta loai thông điêp:̣̃ ̉ ̣ ̣
PTTKHT bang UML - BM HTTT 17
Ký hiệu Ý nghĩa
Đơn giản (Simple) (mặc định)
Đồng bộ (Synchronous): khi client gửi
thông báo, nó sẽ đợi cho đến khi supplier
có phản ứng lại với thông báo đó
Sự kiện bất đồng bộ (asynchronous):
là sự kiện không đòi hỏi phải đáp ứng,
mà đơn giản nó chỉ là 1 tin hiệu gửi
đến đối tượng khác yêu cầu làm 1
việc gì đó.
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)
PTTKHT bang UML - BM HTTT 18
Ký hiệu Ý nghĩa
(Balking) Khi client gửi thông báo đến
supplier, nếu supplier chưa sẵn sàng để
chấp nhận thông báo, client sẽ hủy bỏ thông

báo.
Hết thời gian (Timeout): Client gửi thông
báo đến supplier và đợi một khoảng thời
gian xác định. Nếu supplier không sẵn
sàng nhận message trong khoảng thời
gian đó, client sẽ hủy bỏ message.
Trả về (return)
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)

Mô i thông điêp đê u co cu pha p nh sau:̃ ̀ ́ ́ ̣́ ư
return := message(parameter : parameterType) :
returnType

Parameter: la tham sô cua thông điêp, ̀ ́ ̉ ̣

returnType: loai cua gia tri tra vê (tu y chon)́ ̀ ̣̀ ̉ ̣ ̉ ̣

Vi du :́ ̣
spec := getProductSpect(id)
spec := getProductSpect(id:ItemID)
spec := getProductSpect(id:ItemID): ProductSpect
PTTKHT bang UML - BM HTTT 19
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)


Ca c thông điêp đăt nă m ngang va đăt ́ ̀ ̣̀ ̣ ̣
doc theo lifeline đê ̣ ̉ biêu diê n th t ̃ ́̉ ư ự xay ̉
ra ca c thông điêp. Nh s să p xê p ́ ̀ ́ ̣́ ơ ự
na y, ta co thê dê da ng đoc l c đô ̀ ́ ̃ ̀ ̀̉ ̣ ượ
t đâ u đê n cuô i bă ng ca ch đoc ca c ̀ ̀ ́ ́ ̀ ́ ́ư ̣
thông điêp t đinh xuô ng đa y.̀ ́ ̣́ ư ̉
PTTKHT bang UML - BM HTTT 20
Thông điêp hay ta c nhâṇ́
Thông điêp hay ta c nhâṇ́
(message/stimuli)
(message/stimuli)

Viêc đăt sô tuâ n t trên ca c thông điêp ́ ̀ ̣́ ̣ ự ̣
không bă t buôc nh ng nên du ng đê dê ́ ̀ ̣̃ ư ̉
tham chiê u.́
PTTKHT bang UML - BM HTTT 21
Bill:Customer
Bill's
Order:Order
1: Order()
2: return order
3: *[for each product]: additem(product,qty)
Ky hiêu Focus of controĺ ̣
Ky hiêu Focus of controĺ ̣

Trong l c đô tuâ n t , đê chi ra đô i ̀ ̀ ́ượ ự ̉ ̉
t ng na o đang điê u khiên tai 1 th i ̀ ̀ ̀ượ ̉ ̣ ơ
điêm xa c đinh, du ng tu y chon Focus of ́ ̀ ̀̉ ̣ ̣
control, đ c biêu diê n bă ng hi nh ch ̃ ̀ ̀ ̃ượ ̉ ư
nhât doc theo lifeline. ̣ ̣


Ky hiêu Focus of control chi xuâ t hiên ́ ̣́ ̉ ̣
trong l c đô tuâ n t̀ ̀ượ ự
PTTKHT bang UML - BM HTTT 22
Thêm message va o l c đô công ta c̀ ̀ ́ượ ̣
Thêm message va o l c đô công ta c̀ ̀ ́ượ ̣

Đê thêm message va o l c đô công ̀ ̀̉ ượ ̣
ta c thi câ n phai xây d ng ́ ̀ ̀ ̉ ự đ ng ̀ươ
truyê n (path of communication)̀ gi a hai ̃ư
đô i t ng tr c. Đ ng truyê n na y ́ ́ ̀ ̀ ̀ượ ươ ươ
đ c goi la ̀ượ ̣ link
PTTKHT bang UML - BM HTTT 23
Thêm do ng d liêu va o l c đô công ̀ ̃ ̀ ̀ư ̣ ượ ̣
Thêm do ng d liêu va o l c đô công ̀ ̃ ̀ ̀ư ̣ ượ ̣
ta ć
ta ć

L c đô công ta c co thê chi ra do ng d liêu ̀ ́ ́ ̀ ̃ượ ̣ ̉ ̉ ư ̣
(data flow). Không thê biêu diê n do ng d liêu ̃ ̀ ̃̉ ̉ ư ̣
trong l c đô tuâ n t đ c. ̀ ̀ượ ự ượ

Do ng d liêu du ng đê chi thông tin đ c tra ̀ ̃ ̀ư ̣ ̉ ̉ ượ ̉
vê khi môt đô i t ng g i thông tin đê n đô i ̀ ́ ́ ̣́ ượ ử
t ng kha c. ́ượ

Không nên du ng do ng d liêu cho moi message ̀ ̀ ̃ư ̣ ̣
se la m rô i l c đô , ma chi nên du ng cho ̃ ̀ ́ ̀ ̀ ̀ượ ̉
thông ba o na o tra vê 1 câ u tru c (structure) ́ ̀ ̀ ́ ́̉
nh danh sa ch ca c nhân viên cua công ty. ́ ́ư ̉

PTTKHT bang UML - BM HTTT 24
Thêm do ng d liêu va o l c đô công ̀ ̃ ̀ ̀ư ̣ ượ ̣
Thêm do ng d liêu va o l c đô công ̀ ̃ ̀ ̀ư ̣ ượ ̣
ta ć
ta ć

Khi a nh xa thông ba o tha nh operation ́ ́ ̣̀
cua l p thi thông tin trong do ng d liêu ́ ̀ ̀ ̃̉ ơ ư ̣
se đ c thêm va o chi tiê t cua operation. ̃ ̀ ́ượ ̉

Đê biêu diê n do ng d liêu, co thê du ng ̃ ̀ ̃ ́ ̀̉ ̉ ư ̣ ̉
1 trong 2 ky hiêu sau:́ ̣

Data Token

Reverse Data Token
PTTKHT bang UML - BM HTTT 25
Object 1 Object 2
1: Message
Data Flow

×