đây, ta ch yếu nghiên cu v sơ đồ tun t.
IV.3 THÔNG BÁO (message):
IV.3.1 Các dng thông báo :
Các thông tin ch yếu cha trong các sơ đồ tun t là các thông báo. Mt thông báo định
nghĩa mt liên lc gia các sinh tuyến.
Có nhiu dng thông báo, trong đó ph biến nht là dng:
(1) : Gi mt tín hiu. Thông báo khi động mt phn ng nơi đối tượng nhn. mt cách
không đồng b và không cn đợi tr li.
(2) : Kích hot thc hin mt thao tác trong mt phương thc. Đây là dng thông báo
được s dng nhiu nht trong lp trình hướng đối tượng. Ví d : dt.pt(), trong đó dtđối tượng
nhn thông báo và pt là mt phương thc ca dt. Trong thc tế, đa s thông báo loi này là đồng
b. Cũng có th thc hin thông báo dng này mt cách không đồng b qua các thread.
(3) : To hoc hy mt th hin (đối tượng)
IV.3.2 Ký hiu :
IV.3.2.1 Thông báo đồng b và thông báo không đồng b :
Trong UML, (1) và (2) được biu din như nhau, và hướng v đối tượng nhn. Tuy
nhiên, UML phân bit :
- Thông báo đồng b (synchrone) : cui mũi tên, đối tượng nhn, có th có tr li
phn hi bng mũi tên đứt đọan
- Thông báo không đồng b (asynchrone) :
Thông báo đồng b
(synchrone)
Thông báo không đồng
b (asynchrone)
Cách 1
Cách 2
IV.3.2.2 To và hy đối tượng :
- To đối tượng : đốitgMi: Lp
- Hy đối tượng :
4
IV.3.3 Thông báo và s kin :
UML phân bit vic gi vi nhn mt thông báo, cũng như phân bit vic bt đầu vi
vic kết thúc thc hin mt phn ng. Các s kin (event) được dùng để đánh du tng giai
đon.
Ví d :
sd Rút tin
đưath
: Máy rút tin
s kin nhn
s kin bt
đầu thc hin
s kin chm
dt thc hin
s
kin
gi
KH
Hoc :
sd Rút tin
đư
ath
s kin nhn
s kin bt
đầu thc hin
s kin chm
dt thc hin
KH
s
kin
gi
Kim tra th
: Máy rút tin
Da vào các s kin gi và nhn, UML định nghĩa 3 kiu thông báo :
- Thông báo đầy đủ : các s kin gi và nhn đều được biết
- Thông báo b lc : s kin gi có được biết, nhưng s kin nhn thì không.
Ký hiu :
5
- Thông báo tìm được : ngược li, s kin nhn có được biết, nhưng s kin gi thì
không.
Ký hiu :
IV.3.4 Ng pháp ca thông báo :
IV.3.4.1 Thông báo gi :
Thông báo gi có ng pháp dưới đây :
<tên tín hiu hoc tên phương thc> [ ( <danh sách tham s> ) ]
Trong danh sách, các tham s cách nhau bi du phy, và mi tham s có ng pháp như
sau :
[<tên tham s> <du> ] <tr ca tham s>]
vi :
<du> là du ‘=’ nếu đó là tham s ch đọc,
du ‘ :’ nếu đó là tham s có th sa được (đọc/ ghi)
Ví d :
nhpMã(« 1234 »)
nhpMã(m)
ghiNhn(maSV, maSach)
saSolg(sl : 10)
IV.3.4.3 Thông báo tr li:
Thông báo tr li có ng pháp dưới đây :
[<thuc tính> = ] <thông báo gi> [ : <tr tr v>]
Ví d :
slgTn= ktraHgTn(« A001 »)
maOK=ktraMa(ma) :true
IV.3.5 Ràng buc trên các sinh tuyến:
Các sinh tuyến ca mt tương tác có th mang đủ loi ràng buc.
Ký hiu:
- Mt ràng buc được biu din trên mt sinh tuyến bng mt văn bn gia du móc ({
}).
- Mt ràng buc cũng có th được cha trong mt ghi chú gn vi th hin ca s kin
liên quan.
6
KH
ktraTìn(sotien)
assert
{ Máy.tinMt>sotien }
rút
(
sotien
)
sd Rút tin
y
cu
_
rút
(
sotien
)
: Máy
(Phép assert khng định s cn thiết ca vic gi thông báo tiếp theo.
Như vy, để rút được tin mt máy rút tin, bt buc phi kim tra s tin mt hin có
trong máy ; sau khi kim tra, thuc tính tinMt ca Máy phi ln hơn sotien.)
Ghi chú :
Mt ràng buc được đánh giá khi khai thác tương tác. Nếu ràng buc không được tha
mãn, các th hin ca s kin đi theo sau ràng buc nay s được xem là không hp l, ngược li
vi khi ràng buc được tha mãn. Như vy, mt sơ đồ tương tác có th t các thông báo
không hp l, nghĩa là không bao gi được gi đi.
IV.3.6 Các kiu phân đon ca tương tác:
IV.3.6.1 R nhánh :
Có 2 t khóa là :
- « alt » (alternative)và “else’: r nhánh 1 nếu điu kin đúng và r nhánh 2 nếu ngược
li.
- « opt » (optional) : thc hin hành vi tiếp theo nếu điu kin đúng.
7
Ví d : (gi s thuc tính nn ch có 2 tr là « Anh » và « Vit »)
sd Rút tin
KH : Máy
hinMànHìnhVit()
hinMànHìnhAnh()
[ nn=’Vit’ ]
lse ]
alt
nn
chnNgônNg
rút
(
sotien
)
IV.3.6.2 Vòng lp :
S dng 2 t khóa :
- « loop » : có 3 trường hp :
o Loop : lp mãi đến khi có lnh « break »
o Loop <điu kin> : còn lp li khi điu kin còn tha
o Loop [<ch s min>, <ch s max>] : thường có dng loop [1, n], lp li các
bước lp theo ch s nhn tr t <ch s min> đến <ch s max>.
Lưu ý : các biến trong điu kin và các ch s phi được gán tr trước khi đặc t
loop.
- « break » : để thoát ra khi vòng lp.
sd Xem tài khon
n
loop[1,n] tri
g
ia
()
t
g
=tri
g
ia
()
t
g
=tri
g
ia
()
NV NH tk[i]: TK
KH
8