State Machine Diagram mô hình behaviour của single object, chỉ rõ tuần tự các events mà object đi qua trong thời gian sống của nó, trả lời các events.

Đang xem: State machine diagram là gì? biểu Đồ trạng thái (state diagram)

Ví dụ sau State Machine Diagram show các trạng thái mà cửa sổ đi quá trong thời gian sống của nó.

*

Door có thể là 1 trong 3 states sau: Opened, Closed hoặc Locked. Nó tương ứng với các sự kiện Open, Close, Lock và Unlock. Chú ý rằng không phải tất cả các events đều là đúng trong tất cả các states: ví dụ, nếu door đang ở state Opened, bạn không thể khóa nó cho đến khi bạn đóng nó. Cũng như vậy state transition có thể có điều kiện bảo vệ đi kèm: nếu door đang là Opened, nó chỉ có thể tương ứng với sự kiện Event nếu mà door
Way -> is
Empty được đảm bảo. Cú pháp và các quy tắc được sử dụng trong State Machine Diagram sẽ được thảo luận trong các phần tới.

———————States

State được ký hiệu là hình chữ nhật có các góc uốn tròn với tên của state được viết bên trong.

*

———————-Initial and Final States

Initial State được kí hiệu là một hình tròn tô màu đen và được dán nhãn. Final State được kí hiệu bởi hình tròn có chấm ở bên trong và cũng có thể được dán nhãn.

*

————————Transitions (Chuyển tiếp)

Transitions từ 1 state này tới state tiếp theo được ký hiệu là 1 đường có mũi tên. Transition có thể là 1 trigger, có guard (điều kiện) và effect (kết quả), theo hình sau.

*

“Trigger” là nguyên nhân của transition, là cái có thể là tín hiệu, event, sự thay đổi trong điều kiện, hoặc thời gian. “Guard” là điều kiện, nó phải là đúng đối với trigger là nguyên nhân của transition. “Effect” là action, nó sẽ được gọi 1 cách trực tiếp của object mà sở hữu state machine như kết quả của quá trình chuyển tiếp.

—————————State Actions

Trong ví dụ chuyển tiếp trên, Effect có liên quan đến transition. Nếu target state có nhiều lần chuyển tiếp rồi mới nó, ở mỗi transition có cùng effect liên quan đến nó, nó cũng tốt hơn khi liên kết effect với target state hơn là các bước chuyển tiếp. Điều này có thể thực hiện bằng cách định nghĩa entry action cho state. Sơ đồ sau show state với entry action và exit action.

*

Nó có thể định nghĩa các actions xảy ra trong events, hoặc actions là cái luôn luôn xảy ra. Nó có thể định nghĩa bất cứ số lượng actions của mỗi loại.

——————————Self-Transitions

State có thể chuyển tới chính nó như hình sau. Nó có ích nhiều nhất khi effect có liên quan tới transition.

*

———————–Compount States (States kết hợp)

State machine diagram có thể bao gồm sub-machine diagrams, như ví dụ dưới đây:

*

Cách khác show cùng thông tin như sau:

*

Kí hiệu trong phiên bản trên ngầm định rằng chi tiết của Check PIN sub-machine được thể hiện trong separate diagram.

—————————–Entry Point

Đôi lúc bạn không muốn vào sub-machine ở Initial State. Ví dụ, trong sub-machine sau nó sẽ bình thường để bắt đầu trong Initializing state, nhưng vì một vài lý do, nó không thể thực hiện initialization, nó có thể bắt đầu trong Ready state bằng việc chuyển tiếp tới Entry point.

*

Theo sơ đồ sau show state machine ở mức độ 1:

*

Trong cách tương tự tới Entry points, nó có thể có tên thay đổi Exit points. Sơ đồ sau cho 1 ví dụ nơi mà state chạy sau khi quá trình chính xử lý chính state phụ thuộc vào định tuyến ngoài của state.

———————————Exit Point

*

——————————–Choice Pseudo-State

Choice pseudo-state được vẽ là 1 hình kim cương với 1 chuyển tiếp, 2 hoặc nhiều hơn. Sơ đồ sau thể hiện state sau khi choice pseudo-state phụ thuộc vào định dạng message được chọn trong quá trình của state trước.

*

——————————–Junction Pseudo-State (Trạng thái giả lập nối liền)

Junction pseudo-states thường được sử dùng là mắt xích với nhau trong đa luồng. Single junction có thể có 1 hoặc nhiều incoming và 1 hoặc nhiều outgoing transitions và 1 guard có thể được apply ở mỗi transition. Junctions thường có ngữ nghĩa; junction phân chi luồng incoming thành đa luồng outgoing nhận ra nhánh điều kiện tĩnh như đối ngược với choice pseudo-state là cái nhận ra nhánh điều kiện động.

*

————————————-Terminate Pseudo-State

Đến terminate pseudo-state ngầm định rằng lifeline của state machine vừa kết thúc. Terminate pseudo-state được kí hiệu là dấu nhân.

*

———————————-History States

History state thường dùng để nhớ state trước của state machine khi nó bị ngắt quãng. Sơ đồ sau minh họa việc sử dụng history states. Ví dụ là state machine dọc theo vấn đề máy giặt.

Xem thêm: Pvp Là Gì? Sự Khác Biệt Giữa Pvp Và Pve? Pvp, Pve Là Gì

*

Trong state machine, khi máy giặt đang chạy nó sẽ xử lý từ Washing -> Rinsing -> Spinning. Nếu bị mất điện, máy giặt dừng và sẽ đến state Power Off. Khi có điện, trạng thái kết thúc trong History State sẽ khôi phục ở state mà nó đang chạy.

——————————–Concurrent Regions

State có thể phân chia thành các vùng chứa sub-states là cái tồn tại và chạy cùng 1 lúc. Ví dụ dưới đây thể hiện trong state “Applying Brakes”, trước và sau ngoặc sẽ hoạt động đồng bộ và ko phụ thuộc. Chú thích việc sử dụng fork và join pseudo-states hơn là choice và merge pseudo-states. Những kí hiệu này thường được dùng để đồng bộ các luồng cùng chạy 1 lúc.

Nhắc đến một trong các biểu đồ có trong uml chúng ta không thể không kể đến biểu đồ trạng thái (State Diagram). Vậy biểu đồ trạng thái (State Diagram) trong uml là gì ?

1. Biểu đồ trạng thái trong UML là gì?

Biểu đồ trạng thái là một trong năm biểu đồ UML được sử dụng để mô hình hóa bản chất động của hệ thống. Chúng xác định các trạng thái khác nhau của một đối tượng trong suốt thời gian tồn tại của nó và các trạng thái này được thay đổi bởi các sự kiện.

Có hai loại biểu đồ trạng thái trong UML:

Biểu đồ trạng thái hành vi:

Nó nắm bắt hành vi của một thực thể có trong hệ thống.Nó được sử dụng để đại diện cho việc triển khai cụ thể của một phần tử.Hành vi của một hệ thống có thể được mô hình hóa bằng cách sử dụng sơ đồ trạng thái máy tính trong OOAD.

Phân số thập phân là gì? các phép tính với số thập phân toán 5

Kết luận:

Như vậy mình đã giới thiệu cho các bạn một cách khái quát về biểu đồ trạng thái (state diagram) trong UML. Qua đây các bạn có thể hiểu hơn về biểu đồ trạng thái và biết cách áp dụng vàocông việc mô tả các hệ thống trong qúa trình phát triển và bảo trì sau này một cách chuyên nghiệp.

Leave a Reply

Your email address will not be published. Required fields are marked *