- 17
5.3.1 Trạng thái và sự biến đổi trạng thái
Mọi đối tượng trong hệ thống đều có chu kỳ sống vàmỗi thờiđiểmđều có một trạng thái nào đó. Vídụ, người bán hàng trong hệ thống HBH đang bán hàng, phiên
bán hàngđãđược thanh toán, v.v.
Trạng thái là một trong cácđiều kiện có thểđể đốitượngtồn tại, là kếtquả của
mộthoạtđộngtrướcđócủađốitượng.
Trạngtháicủađốitượngthườngđượcmôtảtronghìnhchữnhậtgóctrònvàđược xácđịnhbởi:
Tên gọi trạng thái,thườngbắtđầubằngđộngtừ,
Biến trạng thái (State Variable)môtảcácgiátrịhiệnthờicủatrạngthái,
Hoạt động (Activity)làhành vimà đốitượng sẽthựchiện khi nóở vàotrạng
tháiđó.
Hoạt độngcủatrạngtháiđượcmôtảhìnhthứcnhưsau:
event_name argument_list ‘/’ action_exp
Trongđó,
event_name:Têncủasựkiện,có thểlàmột trongcácsựkiệnchuẩn: exit
(thoát ra), entry (vào), do (thực hiện).
argument_list: danhsáchcácsựkiện,
action_exp: những hoạt động cần thực hiện bao gồm các lời gọi hàm,
Ví dụ:trạngthái Login được mô tả trong UML:
Login
LoginTime=CurrentTime entry/type“login”
exit/login(UserName,Password) do/getUserName
do/getPassword help/displayhelp
- 97 -
Hình5-7 TrạngtháiLogin
Khi hệ thống ở trạng thái Login thì biến LoginTime (thời gian khi khởi nhập) được gán là CurrentTime (thời gian hiện thời) của máytính. Sự kiện vào của trạng thái nàylà gõ từ “login” vàđể thoát ra khỏi trạng thái nàythì phải thựchiện lờigọi hàm login(UserName, Password). Các hoạt động của đối tượng ở trạng thái này là: Nhận vào UserName (tên người sử dụng), Password (mật khẩu), và hiển thị sự trợ giúp display help.
Lưu ý:
Khi khôngcần môtả chi tiết thìcó thể chỉ cầntên gọiđể xácđịnh trạng thái trongcácbiểuđồ.
Cóhai trạngtháiđặcbiệtlà trạng thái bắt đầuđượckýhiệulà: và
trạng thái kết thúc,đượckýhiệulà
Biểu đồ trạngthái thường cótrạng tháibắtđầu còn trạngthái kết thúc thìcó thể cóhoặckhôngtuỳvàochukỳhoạtđộngcủacácđốitượng.
Trongbiểuđồ đường mũi tên chỉ ra sự biến đổi từ một trạng thái sang trạng thái khác khicó cácsự kiệnxảyralàmthayđổicáctrạngthái.Trạng tháicủađối tượngsẽ
bị thay đổikhicó cáigìđó xảyra, nghĩalàkhicómộthaynhiềusựkiệnxuấthiện. Sự
biến đổi trạng thái hay sự chuyển trạng (transition) thể hiện mối quan hệ giữa các
trạngtháivớinhau.
Sự chuyển trạngđượcthểhiệntrongbiểuđồbằng mũi tên có nhãn làsựkiện,thaotác
(hàmcóđốisố),hoặc điều kiện cầm canh(guard).Sựchuyểntrạngcóthểlà đệ qui,nghĩalà trongmộtđiềukiệnnhấtđịnh, một đối tượng có thể quay lại trạng thái cũ của nó.