top of page
Hamburger Menu.png
Writer's pictureTuan Anh

State Transition Diagram

1. Định nghĩa

State Transition Diagram (hay còn gọi là sơ đồ chuyển trạng thái) là một biểu đồ thể hiện các trạng thái khác nhau mà một object có thể tồn tại, cũng như cách thức chuyển đổi từ trạng thái này sang trạng thái khác dựa trên các sự kiện xảy ra.

Ví dụ: Hãy tưởng tượng một chiếc đèn pin đơn giản. Nó có thể ở một trong hai trạng thái: "Bật" hoặc "Tắt". Sự kiện "Nhấn nút" sẽ khiến đèn chuyển đổi giữa hai trạng thái này.


2. Ký hiệu

Một State Transition Diagram thường bao gồm các thành phần sau:

Tên

Ký hiệu

Ý nghĩa

Trạng thái (State)

Diễn tả trạng thái của object

Chuyển đổi (transition)

Thể hiện việc chuyển tiếp trạng thái và điều kiện (ai - làm gì) để chuyển trạng thái.

Bắt đầu (start)

Điểm bắt đầu (thường là khi object được tạo ra)

Kết thúc (end)

Điểm kết thúc (thường là khi 1 trạng thái không thể chuyển tiếp được


3. Cách dùng

Vậy, khi nào thì nên sử dụng state diagram?

  • Khi đối tượng có nhiều trạng thái và các trạng thái này thay đổi dựa trên các sự kiện khác nhau. Ví dụ: Trạng thái của một tài khoản người dùng (active, inactive, locked), trạng thái của một đơn hàng (New, Processing, Delivering, Completed...).

  • Khi logic nghiệp vụ liên quan đến sự thay đổi trạng thái phức tạp. State Transition Diagram giúp hình dung rõ ràng các luồng xử lý khác nhau dựa trên trạng thái hiện tại và sự kiện xảy ra. Ví dụ đơn hàng có trạng thái thanh toán, trạng thái vận chuyển và trạng thái đơn tách biệt với nhau (xem ví dụ phần 4)

  • Khi cần giao tiếp và trao đổi thông tin về hành vi của hệ thống với các bên liên quan. Sơ đồ giúp cho việc trao đổi thông tin giữa các nhà phát triển, nhà phân tích nghiệp vụ, người kiểm thử và khách hàng trở nên dễ dàng và hiệu quả hơn.

  • Khi cần thiết kế các test case kiểm thử. State Transition Diagram cung cấp một cái nhìn tổng quan về các trạng thái và chuyển đổi, giúp cho việc thiết kế các test case bao phủ đầy đủ các trường hợp trở nên thuận tiện hơn.


4. Ví dụ

Lưu ý: trạng thái của object sẽ phụ thuộc vào nghiệp vụ của mỗi doanh nghiệp. Trong cùng 1 domain, các doanh nghiệp sẽ có cách áp dụng nghiệp vụ khác nhau, việc này dẫn đến trạng thái của cùng loại object trên các hệ thống khác nhau thì sẽ khác nhau. Ví dụ cùng là đơn hàng nhưng trạng thái trên Shopee sẽ khác với trên Tiki. Trong ví dụ dưới đây, trạng thái của đơn hàng được mình đưa ra để làm ví dụ cho các bạn dễ hiểu. Trong thực tế, các bạn cần thu thập đủ yêu cầu trước khi đưa ra quyết định về các trạng thái của 1 object.


Ví dụ 1: Object có 1 loại trạng thái - Đơn xin nghỉ phép


Ví dụ 2: Object có nhiều loại trạng thái - Đơn hàng

Lưu ý: trạng thái

Trạng thái đơn hàng


Trạng thái thanh toán


Trạng thái vận chuyển


29 views

Recent Posts

See All

Commenti


  • Instagram
  • Facebook
  • LinkedIn
  • YouTube

 

Buy Tank a coffee

bmc-button blue.png
bmc-button green.png
  • White Facebook Icon
  • White Vimeo Icon
  • White YouTube Icon
  • White Twitter Icon
  • White LinkedIn Icon
bottom of page