Sequence Diagram là gì - Cẩm nang từ A đến Z cho người mới

Sequence Diagram là gì - Cẩm nang từ A đến Z cho người mới
Tô Lãm

11/03/2024

420

0

Chia sẻ lên Facebook
Sequence Diagram là gì - Cẩm nang từ A đến Z cho người mới

Sequence Diagram là gì? Có phải bạn đã từng nghe về Sequence Diagram ít nhất một lần nếu bạn làm việc trong lĩnh vực phần mềm. Nhưng bạn vẫn mơ hồ không biết chính xác nó là gì và tại sao nó lại quan trọng đối với lập trình hệ thống? Vậy hãy cùng Topchuyengia khám phá sâu hơn về khái niệm này qua bài viết dưới đây.

 

Nếu bạn muốn tăng tốc độ phát triển phần mềm với Sequence Diagram? Hãy booking tư vấn ngay với chuyên gia của chúng tôi trên app Askany để được hỗ trợ giải đáp và hướng dẫn sử dụng công cụ này hiệu quả.

Sequence diagram là gì?

Nếu bạn đang thắc mắc Sequence diagram là gì thì Sequence diagram chính là Biểu đồ trình tự - một loại biểu đồ UML mô tả trình tự thời gian của các thông điệp được trao đổi giữa các đối tượng trong hệ thống. Nó giúp trực quan hóa cách thức các đối tượng tương tác và phối hợp để thực hiện một chức năng cụ thể.

sequence diagram

Ví dụ như có một bài toán yêu cầu xuất ra màn hình các số nguyên tố bé hơn n:

  • Đầu tiên chương trình sẽ nhận thông tin input là một số n
  • Tiếp đó chương trình sẽ chạy vòng lặp từ 0 đến n
  • Sau đó kiểm tra trong đó đâu là số nguyên tố
  • Cuối cùng, output trả về là các số nguyên tố xuất hiện trên màn hình

 

Quá trình thực hiện các chức năng từ lúc nhận input, chạy vòng lặp, kiểm tra rồi trả về kết quả được tiến hành theo một trình tự với sự tham gia của các hàm, các đối tượng. Chúng sẽ được trực quan hóa bằng bản vẽ và đó chính là Sequence Diagram.

XEM THÊM:

Thành phần chính trong Sequence Diagram

Sau khi đã biết khái niệm sequence diagram là gì thì bạn cũng nên biết thêm về các thành phần có trong biểu đồ đó.

Đối tượng

Đối tượng được ký hiệu bằng hình chữ nhật (kí hiệu là Lifeline trong StarUML) dùng để biểu diễn cho cả Class và Object. Chúng được phân biệt với nhau bởi dấu gạch đứt khúc đứng trước tên của Object.

Sequence Diagram là gì
Thành phần đối tượng

Ô vuông này dùng để tượng trưng cho các lớp, những đối tượng mà bạn sẽ sử dụng trong quá trình thực thi code.

Dấu gạch đứt khúc ở phía dưới hình chữ nhật chính là đường đời của đối tượng, nó thể hiện quá trình thực hiện thao tác của đối tượng từ lúc khởi tạo đến lúc biến mất.

Message

Sequence Diagram là gì
Thành phần Message

Message được dùng để thể hiện thông điệp đối tượng này truyền sang cho đối tượng khác, đó có thể là những kết quả gửi đi, trả về, ...

 

Một số kiểu Message thường gặp bao gồm:

  • Synchronous Message: Là thông điệp cần có một request trước cho hành động tiếp theo.
  • Asynchronous Message: Là thông điệp không cần phải có request trước đó cho hành động tiếp theo.
  • Self Message: Là thông điệp tự gửi cho chính mình để thực hiện các hàm như check/ valid dữ liệu.
  • Reply Message/Return Message: Là thông điệp trả lời lại những request.

Tìm hiểu thêm các bài viết liên quan:

Hướng dẫn các bước xây dựng Sequence Diagram

Sau khi đã hiểu Sequence diagram là gì và các thành phần trong Sequence Diagram, tiếp theo chúng ta sẽ điểm qua 3 bước mà Business Analyst xây dựng loại biểu đồ này bạn nhé.

Hướng dẫn các bước xây dựng Sequence Diagram
Các bước Business Analyst xây dựng loại biểu đồ

Bước 1: Biết rõ các chức năng cần thiết kế

Dựa vào Use Case Diagram / User Story hoặc Requirement mà bạn có thể lựa chọn chức năng để thiết kế.

Chú ý: Mỗi chức năng chính là một Sequence Diagram riêng biệt.

Ví dụ dưới đây, Topchuyengia sẽ chọn chức năng Login cho một trang web Java theo mô hình MVC

 

Nếu bạn chưa biết cách viết user story bạn có thể đọc thêm tại đây.

Bước 2: Xác định các bước để thực hiện

  • Người dùng nhập tài khoản, mật khẩu vào khung Login
  • Người dùng nhấn nút Login
  • Form Login sẽ tiến hành gửi request đến Controller chính
  • Controller chính tiếp tục gửi request đến User Controller để thực hiện các hàm
  • User Controller sẽ gọi cho UserDAO để thực hiện hàm checkLogin()
  • UserDAO sẽ vào database, tiến hành tìm resultset có tài khoản và mật khẩu tương ứng để trả về
  • Nếu có tồn tại tài khoản và mật khẩu đó, nó sẽ trả về một trang html thông báo đăng nhập thành công cho người dùng
  • Nếu không thì nó trả về một html thông báo tài khoản hay mật khẩu bị sai và yêu cầu đăng nhập lại

Bước 3: Xác định các đối tượng tham gia vào

Dựa vào ý tưởng trên, bạn có thể nhận thấy các đối tượng

sequence diagram là gì
Hình vẽ sơ đồ Sequence Diagram
  • Người dùng được biểu diễn bởi Actor (Actor được thêm vào riêng biệt từ model)
  • Browser là Class cho phép người dùng tương tác
  • DispatcherController là Object nhận button và gửi thao tác đến các controller khác
  • UserController là Object nhận và xử lý dữ liệu
  • UserDAO là Object truy cập database
  • DataBase là Class lưu trữ các tài khoản, mật khẩu
  • View là Class trả về trang html hiển thị cho người dùng

Do có 2 trường hợp là login thành công hoặc thất bại, nên cần dùng thêm Combined Fragment để tạo ra một khung điều kiện với 2 operand là true hoặc false.

Sau khi xác định các bước và các đối tượng liên quan, ta có thể vẽ Sequence Diagram được.

Ứng dụng của sequence diagram là gì

Dưới đây là một số ứng dụng của sequence diagram mà bạn nên biết:

  • Thiết kế hệ thống: Sequence Diagram giúp hình dung và thiết kế các tương tác giữa các thành phần hệ thống, nó đảm bảo tính logic và hiệu quả cho hệ thống của bạn.
  • Lập trình: Biểu đồ này cũng cung cấp hướng dẫn chi tiết cho việc triển khai code, giúp lập trình viên dễ dàng nắm bắt logic và thực hiện các chức năng.
  • Kiểm tra và bảo trì: Sequence Diagram giúp bạn xác định lỗi tiềm ẩn trong thiết kế và code, hỗ trợ việc kiểm tra và bảo trì hệ thống hiệu quả.

 

Như vậy qua bài viết bên trên, bạn đã biết sequence diagram là gì rồi đúng không. Sequence Diagram có thể hiểu đơn giản là một bản vẽ để xác định các đối tượng, cũng như các bước tuần tự để thực hiện một bài toán, một chương trình nào đó. Sequence Diagram thường được dùng để thiết kế phát triển và test các chức năng. Nếu bạn muốn tìm hiểu sâu hơn về cách vẽ một Sequence Diagram, hãy liên hệ với chuyên gia của chúng tôi trên Askany bạn nhé.

Bình luận

Kinh nghiệm thực tế

Tư vấn 1:1

Uy tín

Đây là 3 tiêu chí mà TOPCHUYENGIA luôn muốn hướng tới để đem lại những thông tin hữu ích cho cộng đồng