Biểu đồ trạng thái nắm bắt vòng đời của các đối tượng, các hệ thống con (Subsystem) và các hệ thống. Chúng cho ta biết các trạng thái mà một đối tượng có thể có và các sự kiện (các thông điệp nhận được, các khoảng thời gian đã qua đi, các lỗi xảy ra, các điều kiện được thỏa mãn) sẽ ảnh hưởng đến những trạng thái đó như thế nào dọc theo tiến trình thời gian. Biểu đồ trạng thái có thể đí;nh kèm với tất cả các lớp có những trạng thái được nhận diện rõ ràng và có lối ứng xử phức tạp. Biểu đồ trạng thái xác định ứng xử và miêu tả nó sẽ khác biệt ra sao phụ thuộc vào trạng thái, ngoài ra nó cũng còn miêu tả rõ những sự kiện nào sẽ thay đổi trạng thái của các đối tượng của một lớp.

Bạn đang xem: State diagram là gì

Trạng thái và sự biến đổi trạng thái (State transition)

Tất cả các đối tượng đều có trạng thái; trạng thái là một kết quả của các hoạt động trước đó đã được đối tượng thực hiện và nó thường được xác định qua giá trị của các thuộc tí;nh cũng như các nối kết của đối tượng với các đối tượng khác. Một lớp có thể có một thuộc tí;nh đặc biệt xác định trạng thái, hoặc trạng thái cũng có thể được xác định qua giá trị của các thuộc tí;nh “bình thường” trong đối tượng. Ví; dụ về các trạng thái của đối tượng:

– Hóa đơn (đối tượng) đã được trả tiền (trạng thái).

– Chiếc xe ô tô (đối tượng) đang đứng yên (trạng thái).

– Động cơ (đối tượng) đang chạy (trạng thái).

– Jen (đối tượng) đang đóng vai trò người bán hàng (trạng thái).

– Kate (đối tượng) đã lấy chồng (trạng thái).

Một đối tượng sẽ thay đổi trạng thái khi có một việc nào đó xảy ra, thứ được gọi là sự kiện; ví; dụ có ai đó trả tiền cho hóa đơn, bật động cơ xe ô tô hay là lấy chồng lấy vợ. Khí;a cạnh động có hai chiều không gian: tương tác và sự biến đổi trạng thái nội bộ. Tương tác miêu tả lối ứng xử đối ngoại của các đối tượng và chỉ ra đối tượng này sẽ tương tác với các đối tượng khác ra sao (qua việc gửi thông điệp, nối kết hoặc chấm dứt nối kết). Sự biến đổi trạng thái nội bộ miêu tả một đối tượng sẽ thay đổi các trạng thái ra sao – ví; dụ giá trị các thuộc tí;nh nội bộ của nó sẽ thay đổi như thế nào. Biểu đồ trạng thái được sử dụng để miêu tả việc bản thân đối tượng phản ứng ra sao trước các sự kiện và chúng thay đổi các trạng thái nội bộ của chúng như thế nào, ví; dụ, một hóa đơn sẽ chuyển từ trạng thái chưa trả tiền sang trạng thái đã trả tiền khi có ai đó trả tiền cho nó. Khi một hóa đơn được tạo ra, đầu tiên nó bước vào trạng thái chưa được trả tiền.

Xem thêm: Vinhome Mễ Trì Ở Đâu – Vinhomes Green Bay Mễ Trì

Biểu đồ trạng thái

Biểu đồ trạng thái thể hiện những khí;a cạnh mà ta quan tâm tới khi xem xét trạng thái của một đối tượng:

– Trạng thái ban đầu

– Một số trạng thái ở giữa

– Một hoặc nhiều trạng thái kết thúc

– Sự biến đổi giữa các trạng thái

– Những sự kiện gây nên sự biến đổi từ một trạng thái này sang trạng thái khác

Hình sau sẽ chỉ ra các kí; hiệu UML thể hiện trạng thái bắt đầu và trạng thái kết thúc, sự kiện cũng như các trạng thái của một đối tượng.

*

Hình 6.6– Các ký hiệu UML thể hiện bắt đầu, kết thúc, sự kiện và trạng thái của một đối tượng.

*

Hình 6.7– Biểu đồ trạng thái thực hiện hoá đơn.

Một trạng thái có thể có ba thành phần, như được chỉ trong hình sau :

*

Hình 6.8– Các ngăn Tên, Biến trạng thái và hành động

Phần thứ nhất chỉ ra tên của trạng thái, ví; dụ như chờ, đã được trả tiền hay đang chuyển động. Phần thứ hai (không bắt buộc) dành cho các biến trạng thái. Đây là những thuộc tí;nh của lớp được thể hiện qua biểu đồ trạng thái; nhiều khi các biến tạm thời cũng tỏ ra rất hữu dụng trong trạng thái, ví; dụ như các loại biến đếm (counter). Phần thứ ba (không bắt buộc) là phần dành cho hoạt động, nơi các sự kiện và các hành động có thể được liệt kê. Có ba loại sự kiện chuẩn hóa có thể được sử dụng cho phần hành động: entry (đi vào), exit (đi ra), do (thực hiện). Loại sự kiệnđi vào được sử dụng để xác định các hành động khởi nhập trạng thái, ví; dụ gán giá trị cho một thuộc tí;nh hoặc gửi đi một thông điệp. Sự kiện đi ra có thể được sử dụng để xác định hành động khi rời bỏ trạng thái. Sự kiện thực hiện được sử dụng để xác định hành động cần phải được thực hiện trong trạng thái, ví; dụ như gửi một thông điệp, chờ, hay tí;nh toán. Ba loại sự kiện chuẩn này không thể được sử dụng cho các mục đí;ch khác.

Một sự biến đổi trạng thái thường có một sự kiện đi kèm với nó, nhưng không bắt buộc. Nếu có một sự kiện đi kèm, sự thay đổi trạng thái sẽ được thực hiện khi sự kiện kia xảy ra. Một hành động loại thực hiện trong trạng thái có thể là một quá trình đang tiếp diễn (ví; dụ chờ, điều khiển các thủ tục,…) phải được thực hiện trong khi đối tượng vẫn ở nguyên trong trạng thái này. Một hành động thực hiện có thể bị ngắt bởi các sự kiện từ ngoài, có nghĩa là một sự kiện kiện gây nên một sự biến đổi trạng thái có thể ngưng ngắt một hành động thực hiện mang tí;nh nội bộ đang tiếp diễn.

Trong trường hợp một sự biến đổi trạng thái không có sự kiện đi kèm thì trạng thái sẽ thay đổi khi hành động nội bộ trong trạng thái đã được thực hiện xong (hành động nội bộ kiểu đi vào, đi ra, thực hiện hay các hành động do người sử dụng định nghĩa). Theo đó, khi tất cả các hành động thuộc trạng thái đã được thực hiện xong, một sự thay đổi trạng thái sẽ tự động xảy ra mà không cần sự kiện từ ngoài.

Xem thêm: Mainstream Là Gì – Phân Biệt Mainstream Và Indie ở Vpop

*

Hình 6.9– Biến đổi trạng thái không có sự kiện từ ngoài. Sự thay đổi trạng thái xảy ra khi các hoạt động trong mỗi trạng thái được thực hiện xong.

Chuyên mục: Hỏi Đáp