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.

Top comments (0)