BlogTank LabVề tôiLiên hệĐặt lịch
Hợp tác với tôi
Thông báo

Từ nay mình sẽ sử dụng tên miền mới thetanklog.com thay vì tankbaclass.com.

Điều hướng
  • Blog
  • Tank Lab
  • Về tôi
  • Liên hệ

© 2026 The Tank Log. All rights reserved.

Tất cả bài viết/Mô hình hóa & Quy trình

State Transition Diagram

TM
Tank
Product builder · Mentor BA
|
2 tháng 3, 2025
|
2 phút đọc
|
475 lượt đọc

State Transition Diagram thể hiện các trạng thái của một đối tượng và cách chuyển đổi theo sự kiện. Nắm nó để tránh 'kẹt trạng thái' khi làm tính năng đơn hàng hay thanh toán.

Vì sao cần nó? Làm tính năng đơn hàng hay thanh toán mà thiếu sơ đồ chuyển trạng thái, bạn rất dễ để lọt những ca 'kẹt trạng thái' — đơn đã hủy vẫn thanh toán được, hay đã giao vẫn cho sửa. Sơ đồ này giúp vẽ hết các trạng thái và lối chuyển hợp lệ trước khi dev code.

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:

image.png

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

8d8890_214ddedeb91e457f8ffd0e8e88401c5a~mv2.png

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

Lưu ý: trạng thái

8d8890_7a81c31d8b894dc3aa4fa68288ccbb91~mv2.png

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

8d8890_13b9c73589ce4814ad902296c060fda8~mv2.png

Trạng thái thanh toán

8d8890_7eb14199ecef4a0fa4b1cd1cff14c223~mv2.png

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

Chủ đề:
Chia sẻ bài viết này
Lan tỏa kiến thức thực tế đến cộng đồng BA
Thấy bài này giúp được việc?
Mời mình ly cà phê, rảnh mình viết tiếp ☕
MỤC LỤC
4
1. Định nghĩa2. Ký hiệu3. Cách dùng4. Ví dụ
CHỦ ĐỀ & THẺ
5
Mô hình hóa & Quy trình#State Transition Diagram#State Machine#UML#Vòng đời đối tượng
0%

Bài viết liên quan

Mô hình hóa & Quy trình
#State Transition Diagram
#State Machine
#UML
#Vòng đời đối tượng
Bài trước
Sequence Diagram
Sequence Diagram
Mô hình hóa & Quy trình

Sequence Diagram

1 thg 3, 2025
BPMN notations: Gateways & Artifact
Mô hình hóa & Quy trình

BPMN notations: Gateways & Artifact

28 thg 2, 2025
BPMN Notation: Events
Mô hình hóa & Quy trình

BPMN Notation: Events

13 thg 2, 2025