DEV Community

HCMUTE Project
HCMUTE Project

Posted on

Tổng kết lưu ý khi vẽ Sequence Diagram

1. Hiểu rõ hệ thống và quy trình bạn muốn mô tả

  • Xác định phạm vi: Tránh vẽ toàn bộ hệ thống trong một biểu đồ. Thay vào đó, chỉ tập trung vào một quy trình hoặc chức năng cụ thể.
    • Ví dụ: Vẽ luồng đăng nhập, thêm sản phẩm vào giỏ hàng, hoặc xử lý thanh toán.
  • Tìm hiểu các thành phần liên quan: Đảm bảo bạn nắm rõ các đối tượng, hành động, và luồng dữ liệu của quy trình trước khi vẽ.

2. Phân tích trước khi vẽ

  • Viết ra kịch bản: Trước khi vẽ, hãy liệt kê các bước của quy trình một cách rõ ràng. Điều này giúp bạn không bỏ sót các tương tác quan trọng.
    • Ví dụ: Kịch bản đăng nhập:
    • Người dùng nhập tên đăng nhập và mật khẩu.
    • Hệ thống xác thực thông tin.
    • Nếu đúng, hệ thống cấp quyền truy cập.
    • Nếu sai, hệ thống thông báo lỗi.

3. Lựa chọn các thành phần cần thiết

  • Actor và Object/Component:
    • Actor: Chỉ sử dụng các actor thực sự cần thiết (người dùng hoặc hệ thống bên ngoài).
    • Object/Component: Chỉ đưa vào các đối tượng tham gia trực tiếp vào luồng xử lý.
    • Ví dụ lỗi phổ biến: Đưa quá nhiều đối tượng không liên quan vào diagram, làm rối luồng xử lý.
  • Sắp xếp logic từ trái sang phải:
    • Actor đầu tiên (ví dụ: Người dùng) thường nằm ngoài cùng bên trái.
    • Các đối tượng khác sắp xếp theo thứ tự xuất hiện trong quy trình.

4. Diễn đạt rõ ràng thông điệp

  • Gắn nhãn cụ thể:
    • Sử dụng tên phương thức hoặc hành động như: login(), validateUser(), sendEmail().
    • Tránh lỗi: Ghi nhãn quá mơ hồ như call() hoặc process().
  • Luồng phản hồi rõ ràng:
    • Luôn thêm mũi tên trả lời nếu cần, ví dụ: success hoặc error.

5. Sử dụng đúng ký hiệu

  • Mũi tên:
    • Nét liền (→): Chỉ hành động hoặc lời gọi phương thức (cần phản hồi).
    • Nét đứt (-->): Chỉ phản hồi hoặc kết quả trả về (không cần phản hồi).
  • Activation Bar (Thanh kích hoạt):
    • Đảm bảo thanh kích hoạt hiển thị đúng thời điểm và thời gian mà một đối tượng thực thi hành động.
    • Lỗi phổ biến: Không vẽ thanh kích hoạt hoặc đặt sai thời điểm.
  • LifeLine (Đường sinh mệnh):
    • Chỉ kéo dài đến khi đối tượng còn tham gia vào quy trình.
    • Nếu đối tượng bị hủy, kết thúc bằng dấu "X".

6. Sử dụng Fragment hợp lý

  • Alt (if-else): Mô tả điều kiện rẽ nhánh.
    • Ví dụ: "Nếu mật khẩu đúng thì cấp quyền, nếu sai thì báo lỗi."
  • Loop (vòng lặp): Dùng cho các thao tác lặp lại.
    • Ví dụ: "Kiểm tra từng mục trong giỏ hàng."
  • Opt (optional): Thao tác tùy chọn.
    • Ví dụ: "Gửi email xác nhận (nếu người dùng chọn nhận thông báo)."
  • Parallel: Khi có các hành động diễn ra song song.

7. Đơn giản hóa biểu đồ

  • Tránh chi tiết quá mức:
    • Chỉ tập trung vào các bước chính. Nếu cần mô tả chi tiết hơn, chia thành nhiều biểu đồ nhỏ.
    • Có thể dùng frame alt để tham chiếu tới các biểu đồ nhỏ.
  • Sử dụng chú thích (Notes):
    • Thêm giải thích nếu có phần khó hiểu, ví dụ: "Hệ thống xác thực bằng API của bên thứ ba."
  • Lỗi phổ biến: Biểu đồ quá phức tạp, nhiều chi tiết không cần thiết, gây khó hiểu.

8. Sử dụng công cụ hỗ trợ

  • Các công cụ: Lucidchart, Draw.io, PlantUML, Visio giúp bạn tạo biểu đồ dễ dàng hơn và đảm bảo tính thẩm mỹ.
    • Tips:
    • Sử dụng template có sẵn để tiết kiệm thời gian.
    • Tận dụng tính năng tự căn chỉnh để các phần tử thẳng hàng, dễ nhìn.

9. Kiểm tra tính chính xác

  • Logic:
    • Đảm bảo các bước diễn ra đúng thứ tự theo thời gian từ trên xuống dưới.
    • Mỗi lời gọi phương thức phải có một mũi tên trả lời (nếu có phản hồi).
  • Thực tiễn:
    • Đảm bảo luồng xử lý phản ánh đúng cách hệ thống hoạt động.

10. Tránh các sai lầm phổ biến

  • Đưa quá nhiều actor và đối tượng: Làm rối biểu đồ.
  • Đường chéo mũi tên: Làm khó theo dõi luồng giao tiếp.
  • Không phân biệt rõ thông điệp chính và phụ: Khiến biểu đồ khó đọc.
  • Quá chi tiết: Chỉ nên tập trung vào các phần quan trọng.
  • Không kiểm tra lại: Biểu đồ có thể không logic hoặc thiếu phần quan trọng.

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay