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

Giáo trình UML - Chương 10: Lược đồ trạng thái docx

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 (423 KB, 20 trang )

CHƯƠNG 10:
CHƯƠNG 10:
L c đô trang tha i ̀ ́ượ ̣
L c đô trang tha i ̀ ́ượ ̣
(Statechart Diagram)
(Statechart Diagram)
PTTKHT bang UML - BM HTTT 1
Nôi dung ̣
Nôi dung ̣
PTTKHT bang UML - BM HTTT 2

Vai tro cua l c đô trang tha ì ̀ ́̉ ượ ̣

Trang tha i va chuyên tiê ṕ ̀ ̣́ ̉

Ca c tha nh phâ n cua l c đố ̀ ̀ ̀̉ ượ
3
Vai tro cua l c đô trang tha ì ̀ ́̉ ượ ̣
Vai tro cua l c đô trang tha ì ̀ ́̉ ượ ̣

Dynamic view:

L c đô t ng ta c (Interaction diagrams)̀ ́ượ ươ

L c đô trang tha i (Statechart diagrams)̀ ́ượ ̣

L c đô t ng ta c du ng đê mô hi nh ̀ ́ ̀ ̀ượ ươ ̉
t ng ta c gi a ca c đô i t ng. Co n ́ ̃ ́ ́ ̀ươ ư ượ
l c đô trang tha i du ng đê mô hi nh ̀ ́ ̀ ̀ượ ̣ ̉
anh h ng cua ca c t ng ta c na y đê n ́ ́ ̀ ́̉ ưở ̉ ươ
trang tha i bên trong cua môt đô i t ng. ́ ̣́ ̉ ̣ ượ


4
Vai tro cua l c đô trang tha ì ̀ ́̉ ượ ̣
Vai tro cua l c đô trang tha ì ̀ ́̉ ượ ̣

L c đô trang tha i đ c du ng đê ha nh vi ̀ ́ ̀ ̀ượ ̣ ượ ̉
đông cua 1 đô i t ng. No chi ra ca c trang ́ ́ ̣́ ̉ ượ ̉ ̣
tha i kha c nhau cua đô i t ng, no trang ́ ́ ́ ́̉ ượ ở ̣
tha i gi khi đ c tao ra, trang tha i gi khi bi ́ ̀ ́ ̀ượ ̣ ̣ ̣
huy bo, la m thê na o đê chuyên t trang tha i ̀ ́ ̀ ̀ ́̉ ̉ ̉ ̉ ư ̣
na y sang trang tha i kha c, va no la m gi ng ̀ ́ ́ ̀ ́ ̀ ̀ ̣́ ư
v i mô i trang tha i đo . ́ ̃ ́ ́ơ ̣

Không câ n phai tao l c đô trang tha i cho ̀ ̀ ́̉ ̣ ượ ̣
tâ t ca ca c l p trong mô hi nh. Chi l p na o ́ ́ ́ ̀ ́ ̀̉ ơ ̉ ơ
co nhiê u ha nh vi đông ph c tap, la m cho ́ ̀ ̀ ́ ̣̀ ư ̣
ca c tha nh viên cua đôi dê hiêu nhâ m thi nên ́ ̀ ̃ ̀ ̀̉ ̣ ̉
ve l c đô trang tha i cho l p đo .̃ ̀ ́ ́ ́ượ ̣ ơ
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
(State and transition)
(State and transition)

Tâ t ca ca c đô i t ng đê u co trang tha i. ́ ́ ́ ̀ ́ ́̉ ượ ̣
Trang tha i la kê t qua cua ca c hoat đông ́ ̀ ́ ̣́ ̉ ̉ ̣ ̣
tr c đo đ c th c hiên b i đô i t ng ́ ́ ́ươ ượ ự ̣ ở ượ
va đ c xa c đinh b i gia tri cua ca c ̀ ́ ́ ́ượ ̣ ở ̣ ̉
thuôc ti nh va ca c liên kê t đê n ca c đô i ́ ̀ ́ ́ ́ ́ ̣́
t ng kha c. ́ượ

Môt l p co thê co môt thuôc ti nh đăc ́ ́ ́ ̣́ ơ ̉ ̣ ̣ ̣

biêt xa c đinh trang tha i, hay trang tha i co ́ ́ ́ ̣́ ̣ ̣ ̣
thê đ c xa c đinh b i gia tri cua môt sô ́ ́ ́̉ ượ ̣ ở ̣ ̉ ̣
thuôc ti nh thông th ng cua đô i t ng ́ ̀ ̣́ ươ ̉ ượ
đo . ́
PTTKHT bang UML - BM HTTT 5
Vi du vê trang tha i đô i t nǵ ̀ ́ ̣́ ̣ ượ
Vi du vê trang tha i đô i t nǵ ̀ ́ ̣́ ̣ ượ

Đô i t ng ho a đ n (invoice) trang ́ ́ượ ơ ở ̣
tha i đa đ c tra (paid) hay ch a tra ́ ̃ ượ ̉ ư
(unpaid)̉

Đô i t ng xe h i (car) trang tha i ́ ́ượ ơ ở ̣
đ ng yên (standing) hay chuyên đông ́ư ̉ ̣
(moving)

Đô i t ng Kate đa lâp gia đi nh ́ ̃ ̀ượ ̣
(married) hay đôc thân (single)̣
PTTKHT bang UML - BM HTTT 6
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
(State and transition)
(State and transition)

Đô i t ng chuyên tiê p (transition) t ́ ́ ̀ượ ̉ ư
trang tha i na y sang trang tha i kha c khi ́ ̀ ́ ̣́ ̣
co môt ́ ̣ s kiên (event) hay điê u kiên ̀ự ̣ ̣
na o đo xay ra. ̀ ́ ̉

Vi du vê s kiên nh môt ng i na o ́ ̀ ̀ ̣̀ ự ̣ ư ̣ ươ

đo tra ho a đ n, môt ng i na o đo ́ ́ ̀ ̀ ́̉ ơ ̣ ươ
bă t đâ u la i xe, môt ai đo lâp gia đi nh. ́ ̀ ́ ́ ̣̀ ̣
PTTKHT bang UML - BM HTTT 7
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
Trang tha i va chuyên tiê p ́ ̀ ̣́ ̉
(State and transition)
(State and transition)

Môt ha nh vi đông luôn co hai chiê u ̀ ́ ̣̀ ̣
(dimension): chiê u t ng ta c ̀ ́ươ
(interaction) va chiê u thay đôi trang thai ̀ ̀ ̉ ̣
bên trong (internal state change).

Ca c t ng ta c mô ta ha nh vi bên ngoa i ́ ́ ̀ ̀ươ ̉
cua đô i t ng va đô i t ng tu ng ta c ́ ̀ ́ ́̉ ượ ượ ơ
v i ca c đô i t ng kha c nh thê na o. ́ ́ ́ ́ ́ ̀ơ ượ ư
Co n thay đôi trang tha i bên trong mô ta ̀ ́̉ ̣ ̉
ca c đô i t ng thay đôi trang tha i ra saó ́ ́ượ ̉ ̣
PTTKHT bang UML - BM HTTT 8
Ca c tha nh phâ n cua l c đô trang ́ ̀ ̀ ̀̉ ượ ̣
Ca c tha nh phâ n cua l c đô trang ́ ̀ ̀ ̀̉ ượ ̣
tha í
tha í

Điêm bă t đâ u va kê t thu ć ̀ ̀ ́ ́̉

Trang tha ị́

Đ ng chuyên tiê p̀ ́ươ ̉


L u y : l c đô trang tha i đ c ve ́ ̀ ́ ̃ư ượ ̣ ượ
cho t ng đô i t ng ̀ ́ư ượ  chon l p câ n ́ ̣̀ ơ
ve tr c khi bă t đâ ũ ́ ́ ̀ươ
PTTKHT bang UML - BM HTTT 9
Điêm bă t đâ u va kê t thu ć ̀ ̀ ́ ́̉
Điêm bă t đâ u va kê t thu ć ̀ ̀ ́ ́̉

Điêm bă t đâ u hay trang tha i bă t đâ u ́ ̀ ́ ́ ̀̉ ̣
(initial state)

Điêm kê t thu ć ́̉

Môt l c đô trang tha i phai co 1 va ̀ ́ ́ ̣̀ ượ ̣ ̉
chi 1 điêm bă t đâ u, va co thê co 0,1 ́ ̀ ̀ ́ ́̉ ̉ ̉
hay nhiê u trang tha i kê t thu c̀ ́ ́ ̣́
PTTKHT bang UML - BM HTTT 10
Ky hiêu trang tha i (state)́ ̣́ ̣
Ky hiêu trang tha i (state)́ ̣́ ̣

Mô i trang tha i đ c biêu diê n bă ng ̃ ́ ̃ ̣̀ ượ ̉
môt hi nh ch nhât co ca c go c tro n ̀ ̃ ́ ́ ́ ̣̀ ư ̣
v i tên trang tha i nă m bên trong hi nh ́ ́ ̀ ̀ơ ̣
ch nhât̃ư ̣

Mô i trang tha i co thê ch a 3 tha nh ̃ ́ ́ ́ ̣̀ ̉ ư
phâ n:̀

Tên trang tha ị́

Activity (tu y chon)̀ ̣


Chuyên tiê p nôi bô ́̉ ̣ ̣
(tu y chon)̀ ̣
PTTKHT bang UML - BM HTTT 11
Vi du vê staté ̣̀
Vi du vê staté ̣̀
PTTKHT bang UML - BM HTTT 12
Chuyên tiê p (transition)́̉
Chuyên tiê p (transition)́̉

Đ ng chuyên tiê p chi ra ră ng 1 đô i ̀ ́ ̀ ́ươ ̉ ̉
t ng co thê chuyên t trang tha i na y ́ ̀ ́ ̀ượ ̉ ̉ ư ̣
sang trang tha i kha c. ́ ̣́

No co thê ch a ́ ́ ́̉ ư

S kiên (event): khi s kiên xay ra thi se co ̀ ̃ ́ự ̣ ự ̣ ̉
s chuyên tiê ṕự ̉

Điê u kiên (̀ ̣
guard condition) nă m trong [] ̀
du ng đê kiêm soa t khi na o thi chuyên tiê p ̀ ́ ̀ ̀ ́̉ ̉ ̉
đ c phe p xay ra.́ượ ̉
PTTKHT bang UML - BM HTTT 13
Chuyên tiê p (transition)́̉
Chuyên tiê p (transition)́̉

Cu pha p cua do ng chuyên tiê p:́ ́ ̀ ́̉ ̉
Event(Arguments) [Guard] /Action


PTTKHT bang UML - BM HTTT 14
Placed Filled
products available / fillOrder()
L c đô trang tha i cho ̀ ́ượ ̣
L c đô trang tha i cho ̀ ́ượ ̣
đô i t ng Ordeŕ ượ
đô i t ng Ordeŕ ượ

The Order is created in the
initial state of
Tentative. Two events could cause it to
change to the Placed state. From
Placed it
may either be cancelled, or packed and
made ready for shipping. After it is packed,
it may be shipped. Then, whether it was
cancelled or shipped, the Order is
archived after 90 days.
PTTKHT bang UML - BM HTTT 15
L c đô trang tha i cho ̀ ́ượ ̣
L c đô trang tha i cho ̀ ́ượ ̣
đô i t ng Ordeŕ ượ
đô i t ng Ordeŕ ượ
PTTKHT bang UML - BM HTTT 16
Trang tha i lô ng nhau ́ ̣̀
Trang tha i lô ng nhau ́ ̣̀
(Nested state)
(Nested state)

Đê giam s ph c tap cua l c đô trang ́ ̀̉ ̉ ự ư ̣ ̉ ượ ̣

tha i, co thê lô ng 1 hay nhiê u trang tha i ́ ́ ̀ ̀ ́̉ ̣
va o 1 trang tha i kha c. Ca c trang tha i ̀ ́ ́ ́ ̣́ ̣
lô ng nhau đ c goi la trang tha i con ̀ ̀ ́ượ ̣ ̣
(
substate), trang tha i ch a ca c trang ́ ́ ̣́ ư ̣
tha i con đ c goi la siêu trang tha i ́ ̀ ́ượ ̣ ̣
(superstate).
PTTKHT bang UML - BM HTTT 17
L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ
L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ

Requirement: the flight moves into the
Closed state 10 minutes before takeoff,
regardless of whether it was in the Open
or Full state before.
PTTKHT bang UML - BM HTTT 18
L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ
L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ
PTTKHT bang UML - BM HTTT 19
Scheduled
Open
Full
Close
Set number of passengers to 0[ Current date is less than 60 days before flight ]
Add/Remove Passengers
add passenger [last seat is sold]
remove passenger( passenger name )
[ 10 minutes before scheduled takeoff ]
[10 minutes before scheduled takeoff]
L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ

L c đô trang tha i cho l p Flight̀ ́ ́ượ ̣ ơ
PTTKHT bang UML - BM HTTT 20
Scheduled
Close
Adding passengers
Open FullOpen
Add/Remove Passengers
Full
[10 minutes before scheduled takeoff]
remove passenger( passenger name )
add passenger [last seat is sold]

×