Sequence Diagram là gì? Giải thích chi tiết kèm ví dụ minh họa

Sequence Diagram là gì? Giải thích chi tiết kèm ví dụ minh họa

13/05/2024

984

0

Chia sẻ lên Facebook
Sequence Diagram là gì? Giải thích chi tiết kèm ví dụ minh họa

Sequence Diagram là gì? Đây là một bản vẽ mô tả sự tương tác của các đối tượng theo trục thời gian, để tạo nên chức năng cho hệ thống. Nếu bạn muốn biết rõ hơn về các thành phần chính của Biểu đồ trình tự, ứng dụng của nó trong công việc và cách xây dựng biểu đồ sao cho hợp lý, hãy tham khảo bài viết dưới đây của Topchuyengia.

Sequence diagram là gì?

Sequence Diagram (Biểu đồ trình tự) là một công cụ đắc lực trong lĩnh vực lập trình, giúp mô tả trực quan các tương tác giữa các đối tượng trong hệ thống phần mềm theo trình tự thời gian. Nhờ khả năng hiệu quả này, Sequence Diagram được ứng dụng rộng rãi trong các giai đoạn thiết kế, phát triển, kiểm thử và tài liệu hóa phần mềm.

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:

Bạn cần hỗ trợ về “Sequence diagram” để mô tả các tương tác trong hệ thống của bạn? Hãy đặt câu hỏi của bạn vào form NGAY TẠI ĐÂY trên ứng dụng Askany và các chuyên gia phân tích nghiệp vụ của chúng tôi sẽ giúp bạn hiểu sâu hơn về cách thiết kế và sử dụng Sequence diagrams một cách hiệu quả.

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ả.

 

Đó là toàn bộ thông tin trả lời cho câu hỏi Sequence Diagram là gì, bao gồm: khái niệm, thành phần chính, ứng dụng trong thực tế cũng như 3 bước để bạn xây dựng Biểu đồ trình tự hoàn chỉnh. Tuy nhiên, việc tiến hành vẽ không dễ dàng, bạn có thể sẽ gặp khó khăn nếu thiếu kinh nghiệm và công cụ hỗ trợ. Nếu gặp bất cứ khó khăn nào về Sequence Diagram, hãy để lại câu hỏi cho chuyên gia của chúng tôi trên ứng dụng Askany.

Tôi là Tô Lãm với hơn 4 năm kinh nghiệm trong lĩnh vực IT, Business Analyst, Data Analyst, Tracking,... cho rất nhiều doanh nghiệp SME. Tôi tốt nghiệp trường Công nghệ Thông tin cùng với kỹ năng và kiến thức trau dồi của mình, tôi mong muốn được chia sẻ các thông tin hữu ích dến với người đọc thông qua các bài viết trên Topchuyengia, mọi người hãy follow mình nhé.

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