Biểu đồ trạng thái
07/06/14 Mô hình động - UML
2/20
Nội dung
Ý nghĩa
Các ký pháp
Cách xây dựng
Quan hệ với biểu đồ đối tượng.
07/06/14 Mô hình động - UML
3/20
Ý nghĩa
Mô tả:
–
Các trạng thái của một đối tượng trong hệ thống
–
Các sự kiện làm thay đổi trạng thái của đối tượng
–
Các điều kiện làm ảnh hưởng đến sự thay đổi
trạng thái
Được xây dựng cho những lớp có hoạt động
phức tạp
Nhằm xác định chính xác hơn các tính năng
động của đối tượng.
07/06/14 Mô hình động - UML
4/20
Trạng thái
Trạng thái (state)
–
Giá trị của một/nhiều thuộc tính và các mối quan
hệ
–
Phụ thuộc vào trạng thái, đối tượng trả lời các sự
kiện một cách khác nhau
Nói chung, đối tượng ở một trạng thái tương
đối lâu.
Tên trạng thái
07/06/14 Mô hình động - UML
5/20
Trạng thái (2)
Trạng thái đầu
–
Điểm khởi đầu của đối tượng khi được đưa vào
hệ thống
–
Mỗi đối tượng chỉ có
tối đa một trạng thái đầu
Trạng thái kết thúc
–
Điểm huỷ bỏ đối tượng khỏi hệ thống
–
Mỗi đối tượng có thể có nhiều
trạng thái kết thúc.
07/06/14 Mô hình động - UML
6/20
Trạng thái (3)
Biểu đồ trạng thái có hai dạng
–
Dạng chu trình: không có trạng thái kết thúc
–
Dạng bình thường: có trạng thái đầu, các trạng
thái trung gian và trạng thái kết thúc.
07/06/14 Mô hình động - UML
7/20
Sự chuyển trạng thái (transition)
Sự chuyển tiếp từ trạng thái này sang trạng
thái khác của một đối tượng
Có thể là
–
Một sự kiện làm thay đổi trạng thái xảy ra
–
Sự hoàn tất một hoạt động, làm đối tượng
chuyển từ trạng thái đang thực hiện hoạt động
này sang trạng thái khác
Sự kiện có thể kèm thêm tham số.
Tên sự kiện (tham số)Tên sự kiện
07/06/14 Mô hình động - UML
8/20
Sự chuyển trạng thái (2)
Biểu đồ
trạng thái
SIMCard
(Trả trước)
07/06/14 Mô hình động - UML
9/20
Điều kiện và điểm rẽ
Điều kiện (Guard)
–
Một biểu thức lôgic bổ sung
thêm vào sự kiện
Sự kiện xảy ra
–
Thỏa điều kiện Chuyển trạng
thái xảy ra
–
Không thỏa điều kiện Chuyển
trạng thái không xảy ra
Điểm rẽ
–
Những điểm có nhiều hướng
đi
–
Cần có các điều kiện để quyết
định hướng đi.
Trạng thái 1
Trạng thái 2
Sự kiện [điều kiện]
Trạng thái 1
Sự kiện
[điều kiện 2]
[điều kiện 1]
07/06/14 Mô hình động - UML
10/20
Điều kiện (2)
07/06/14 Mô hình động - UML
11/20
Trạng thái phức hợp
Cho phép biểu diễn các trạng thái ở các mức
độ chi tiết khác nhau
Ví dụ:
–
Người lao động
Thất nghiệp
Làm việc: thử việc, hợp đồng ngắn hạn, hợp đồng dài
hạn, biên chế
Nghỉ hưu.
–
Xe ô tô (đang nổ máy)
Chạy tới: số 1, số 2, số 3, số 4
Chạy lùi
Số chết.
07/06/14 Mô hình động - UML
12/20
Trạng thái phức hợp (2)
Bất kỳ trạng thái con
nào cũng có thể
chuyển ra với sự kiện
này
07/06/14 Mô hình động - UML
13/20
Trạng thái phức hợp (3)
07/06/14 Mô hình động - UML
14/20
Trạng thái phức hợp (4)
07/06/14 Mô hình động - UML
15/20
Các hành động và hoạt động
Tương ứng với một trạng thái có thể có
–
Hành động vào: hành động được thực hiện khi có
sự kiện làm chuyển đến trạng thái
–
Hoạt động: hoạt động được thực hiện trong thời
gian đối tượng đang ở trong trạng thái.
07/06/14 Mô hình động - UML
16/20
Các hành động và hoạt động (2)
Tên trạng thái
do: Hoạt động
sự kiện/hành động vào
Tên trạng thái
entry: hành động vào
do: Hoạt động
sự kiện
07/06/14 Mô hình động - UML
17/20
Các hành động và hoạt động (3)
07/06/14 Mô hình động - UML
18/20
Trạng thái con đồng hành
Hai/nhiều trạng thái
–
Cùng được thực hiện và có thể kết thúc ở những thời điểm
khác nhau
Đồng bộ các trạng thái đồng hành
–
Đồng bộ vào: các trạng thái cùng được khởi tạo cùng lúc
–
Đồng bộ ra: các trạng thái đều phải được kết thúc trước khi
chuyển sang trạng thái tiếp theo (có thể phải chờ nhau)
07/06/14 Mô hình động - UML
19/20
Cách xây dựng biểu đồ trạng thái
Xác định
–
Lớp cần xây dựng biểu đồ
–
Trạng thái đầu
–
Các trạng thái kết thúc
–
Các trạng thái trung gian
–
Đi từ trạng thái đầu tìm các sự kiện làm biến
đổi trạng thái trạng thái kết thúc
–
Chi tiết hoá bằng các tham số, điều kiện, hành
động vào, hoạt động
07/06/14 Mô hình động - UML
20/20
Quan hệ với biểu đồ đối tượng
Một biểu đồ trạng thái ứng với một lớp trong biểu đồ
đối tượng (có hoạt động phức tạp)
Mỗi trạng thái phải được biểu diễn bằng một/một_bộ
giá trị trên một/một_số thuộc tính/mối_quan_hệ của
lớp tương ứng
Mỗi chuyển sự chuyển trạng thái ánh xạ thành
phương thức của lớp
Các hành động/hoạt_động ánh xạ vào trong
phương thức
Có thể bổ sung thêm thuộc tính trạng thái cho lớp
tương ứng và bổ sung các phép thử trạng thái hợp
lệ cho các phương thức.