Bài giảng Mô hình hóa phần mềm - Tuần 4: State Machine Diagram - Nguyễn Thị Minh Tuyền

MÔ HÌNH HOÁ PHN MM  
TUN 4:  
STATE MACHINE DIAGRAM  
GVLT: NGUYN THMINH TUYN  
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Các điểm vào/ra  
MÔ HÌNH HOÁ PHẦN MỀM  
2
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Các điểm vào/ra  
MÔ HÌNH HOÁ PHẦN MỀM  
3
GIỚI THIỆU  
Mỗi đối tượng có một số lượng hữu hạn các trạng thái suốt vòng  
đời của nó.  
Biểu đồ máy trạng thái (State machine diagram) được dùng để:  
Mô hình các trạng thái có thể của một hệ thống hay đối tượng  
Chỉ ra cách dịch chuyển trạng thái xảy ra như là kết quả của môt sự  
kiện  
Chỉ ra hành vi nào hệ thống hay đối tượng thể hiện ở mỗi trạng thái  
Ví dụ: mô tả ở mức cao của hành vi của một lecture hall  
MÔ HÌNH HOÁ PHẦN MỀM  
4
VÍ DỤ: LECTURE HALL WITH DETAILS  
class LectureHall {  
private boolean free;  
public void occupy() {  
free=false;  
}
public void release() {  
free=true;  
}
MÔ HÌNH HOÁ PHẦN MỀM  
5
VÍ DỤ: DIGITAL CLOCK  
MÔ HÌNH HOÁ PHẦN MỀM  
6
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Composite state  
MÔ HÌNH HOÁ PHẦN MỀM  
7
TRẠNG THÁI  
Trạng thái = các node của máy trạng thái  
Khi một trạng thái đang hoạt động  
Đối tượng đang ở trạng thái đó  
Tất cả các hoạt động bên trong đặc tả trong trạng  
thái này có thể
Một hoạt động gồm nhiều hành động  
entry / Activity(...)  
Được thực thi khi đối tượng vào trạng thái  
exit / Activity(...)  
Được thực thi khi đối tượng thoát khỏi trạng thái  
do / Activity(...)  
Được thực thi trong khi đối tượng còn duy trì trạng  
thái này  
MÔ HÌNH HOÁ PHẦN MỀM  
8
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Composite state  
MÔ HÌNH HOÁ PHẦN MỀM  
9
CHUYỂN TIẾP  
Chuyển từ trạng thái này sang trạng thái khác  
Event  
Guard  
Sequence of actions (effect)  
Source state  
Transition  
Target state  
MÔ HÌNH HOÁ PHẦN MỀM  
10  
CÚ PHÁP  
được thực thi  
Event (trigger)  
Quá trình chuyển trang thái  
ra  
Kích hoạt ngoại
Có thể kích hoạt quá trình  
Nếu guard sai:  
chuyển đổi trạng thái  
Không có quá trình chuyển  
trạng thái nào diễn ra, event bị  
huỷ bỏ  
Guard (condition)  
Biểu thức Boolean  
Activity (effect)  
Nếu event xảy
kiểm tra  
Chuỗi các hành động được thực  
hiện trong quá trình chuyển đổi  
trạng thái  
Nếu guard đúng:  
Tất cả các hoạt động của trạng  
thái hiện tại bị chấm dứt.  
Mọi hoạt động thoát liên quan  
MÔ HÌNH HOÁ PHẦN MỀM  
11  
LOẠI CHUYỂN TIẾP [1]  
Internal transition  
External transition  
§ Nếu event1 xảy ra  
§ Nếu event1 xảy ra  
§ Đối tượng duy trì trong state1  
§ Activity3 được thực hiện  
§ Đối tượng rời khỏi state1 và  
Activity2 được thực hiện  
§ Activity3 được thực hiện  
§ Đối tượng vào state1 và  
Activity1 được thực hiện  
MÔ HÌNH HOÁ PHẦN MỀM  
12  
LOẠI CHUYỂN TIẾP [2]  
Khi nào các chuyển tiếp sau diễn ra ?  
If e1 occurs, A1 is aborted and the object  
changes to S2  
If e1 occurs and g1 evaluates to true, A1 is  
aborted and the object changes to S2  
As soon as the execution of A1 is finished, a  
completion event is generated that initiates the  
transition to S2  
As soon as the execution of A1 is finished, a  
completion event is generated; if g1 evaluates to  
true, the transition takes place; If not, this  
transition can never happen  
MÔ HÌNH HOÁ PHẦN MỀM  
13  
CHUỖI CÁC HOẠT ĐỘNG ĐƯỢC THỰC HIỆN  
Giả sử S1 đang ở trạng thái hoạt động, giá trị của x sau  
khi e xảy ra là gì?  
S1 becomes active, x is set to the value 4  
e occurs, the guard is checked and evaluates to true  
S1 is left, x is set to 5  
The transition takes place, x is set to 10  
S2 is entered, x is set to 11  
MÔ HÌNH HOÁ PHẦN MỀM  
14  
VÍ DỤ: REGISTRATION STATUS OF AN EXAM  
MÔ HÌNH HOÁ PHẦN MỀM  
15  
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Composite state  
MÔ HÌNH HOÁ PHẦN MỀM  
16  
LOẠI SỰ KIỆN [1]  
Signal event: Bên gởi gởi tín hiệu cho bên nhận mà  
không cần đợi trả lời (giao tiếp không đồng bộ)  
Ví dụ: rightmousedown, sendSMS(message)  
Call event: Tr
Ví dụ: occupy(user,lectureHall), register(exam)  
Time event: Chuyển đổi trạng thái dựa trên thời gian  
Tương đối: dựa trên thời gian xảy ra sự kiện trong trạng thái  
active  
Ví dụ: after(5 seconds)  
Tuyệt đối  
Ví dụ: when(time==16:00), when(date==20150101)  
MÔ HÌNH HOÁ PHẦN MỀM  
17  
LOẠI SỰ KIỆN [2]  
Any receive event: đặc tả loại chuyển tiếp 'else',  
xảy ra khi bất kỳ sự kiện nào xảy ra mà không kích  
hoạt chuyển tiếp khác từ trạng thái hoạt động  
Từ khoá all  
Completion event: Được tạo tự động khi mọi thứ  
được thực hiện ở trạng thái hiện tại được hoàn  
thành.  
Change event: Kiểm tra lâu dài xem điều kiện có  
đúng không  
E.g., when(x > y), after(90min)  
MÔ HÌNH HOÁ PHẦN MỀM  
18  
CHANGE EVENT VS. GUARD  
Checked permanently  
Only checked when event occurs  
MÔ HÌNH HOÁ PHẦN MỀM  
19  
NỘI DUNG  
1.Giới thiệu  
2.Trạng thái  
3.Chuyển tiếp  
4.Loại sự kiện  
5.Loại trạng thái  
6.Composite state  
MÔ HÌNH HOÁ PHẦN MỀM  
20  
Tải về để xem bản đầy đủ
pdf 46 trang yennguyen 08/04/2022 6060
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mô hình hóa phần mềm - Tuần 4: State Machine Diagram - Nguyễn Thị Minh Tuyền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_mo_hinh_hoa_phan_mem_tuan_4_state_machine_diagram.pdf