Hướng dẫn vẽ Sequence Diagram

8. Sequence Diagram: Bản vẽ tuần tự

Trong bài trước chúng ta đã biết cách sử dụng Activity Diagram để phân tích nghiệp vụ của hệ thống. Trong bài này chúng ta sẽ sử dụng Sequence để thiết kế chi tiết chức năng cho hệ thống.

Bạn đang xem: Hướng dẫn vẽ biểu đồ tuần tự

Sequence Diagarm là bản vẽ mô tả sự tương tác của các đối tượng để tạo nên các chức năng của hệ thống. Bản vẽ này mô tả sự tương tác theo thời gian nên rất phù hợp với việc sử dụng để thiết kế và cài đặt chức năng cho hệ thống phần mềm.Chúng ta hãy xem một ví dụ Sequence Diagram.

Hình 1. Ví dụ Sequence Diagram cho hoạt động rút tiền ở ATM

1. Các thành phần của Sequence Diagram

a. Objects

Object mô tả một đối tượng trong hệ thống. Để phân biệt với Class, Object có dấu “:” phía trước tên của nó.

Hình 2. Ký hiệu về đối tượng trong bản vẽ sequence Diagram

Đường gạch chấm bên dưới đối tượng thể hiện thời gian sống của đối tượng.

 b. Stimulus [message]

Stimulus thể hiện thông điệp từ một đối tượng này tương tác với một đối tượng khác.

Xem thêm: Hướng Dẫn Chia Ổ Cứng Win 7, Gộp Ổ Đĩa Không Mất Dữ Liệu, Hướng Dẫn Chia Và Gộp Ổ Ngay Trong Windows 7

Hình 3. Ký hiệu về Stimulus trong bản vẽ Sequence Diagram

 c. Axes

Trục tọa độ, trục ngang thể hiện các đối tượng, trục đứng thể hiện thời gian.

Chúng ta, dễ dàng nhận thấy các đối tượng tương tác với nhau theo tuần tự các bước để hình thành nên chức năng của hệ thống.

2. Xây dựng Sequence Diagram

Để xây dựng Sequence Diagram chúng ta thực hiện các bước sau:

Bước 1: Xác định chức năng cần thiết kế. Bạn dựa vào Use Case Diagram để xác định xem chức năng nào cần thiết kế.

Bước 2: Dựa vào Activity Diagram để xác định các bước thực hiện theo nghiệp vụ.

Bước 3: Đối chiếu với Class Diagram để xác định lớp trong hệ thống tham gia vào nghiệp vụ.

Bước 4: Vẽ Sequence Diagarm

Bước 5: Cập nhật lại bản vẽ Class Diagram

3. Ứng dụng Sequence Diagram

– Thiết kế các chức năng

– Kiểm chứng và bổ sung method cho các Class

– Sử dụng trong việc coding các chức năng

4. Kết luận

Chúng ta vừa tìm hiểu xong bản vẽ Sequence Diagram, bản vẽ này giúp thiết kế các chức năng cho hệ thống cũng như kiểm chứng các bản vẽ trước đây như Class Diagram, Activity Diagram v.v…

Chúng ta sẽ tiếp tục bàn về thực hành xây dựng bản vẽ này cho ứng dụng ecommerce trong bài tiếp theo. Mời các bạn đọc tiếp.

8. Sequence Diagram: Bản vẽ tuần tự

Trong bài trước chúng ta đã biết cách sử dụng Activity Diagram để phân tích nghiệp vụ của hệ thống. Trong bài này chúng ta sẽ sử dụng Sequence để thiết kế chi tiết chức năng cho hệ thống.

Bạn đang xem: Hướng dẫn vẽ sơ đồ tuần tự

Bạn đang xem: Hướng dẫn vẽ biểu đồ tuần tự

Sequence Diagarm là bản vẽ mô tả sự tương tác của các đối tượng để tạo nên các chức năng của hệ thống. Bản vẽ này mô tả sự tương tác theo thời gian nên rất phù hợp với việc sử dụng để thiết kế và cài đặt chức năng cho hệ thống phần mềm.Chúng ta hãy xem một ví dụ Sequence Diagram.



Hình 1. Ví dụ Sequence Diagram cho hoạt động rút tiền ở ATM

1. Các thành phần của Sequence Diagram

a. Objects

Object mô tả một đối tượng trong hệ thống. Để phân biệt với Class, Object có dấu “:” phía trước tên của nó.



Hình 2. Ký hiệu về đối tượng trong bản vẽ sequence Diagram

Đường gạch chấm bên dưới đối tượng thể hiện thời gian sống của đối tượng.

 b. Stimulus [message]



Hình 3. Ký hiệu về Stimulus trong bản vẽ Sequence Diagram

 c. Axes

Trục tọa độ, trục ngang thể hiện các đối tượng, trục đứng thể hiện thời gian.

Xem thêm: Khắc Phục Lỗi Không Cài Được, Cách Tải Và Cài Đặt Net Framework Trên Máy Tính

Chúng ta, dễ dàng nhận thấy các đối tượng tương tác với nhau theo tuần tự các bước để hình thành nên chức năng của hệ thống.

2. Xây dựng Sequence Diagram

Để xây dựng Sequence Diagram chúng ta thực hiện các bước sau:

Bước 1: Xác định chức năng cần thiết kế. Bạn dựa vào Use Case Diagram để xác định xem chức năng nào cần thiết kế.

Bước 2: Dựa vào Activity Diagram để xác định các bước thực hiện theo nghiệp vụ.

Bước 4: Vẽ Sequence Diagarm

Bước 5: Cập nhật lại bản vẽ Class Diagram

3. Ứng dụng Sequence Diagram

– Thiết kế các chức năng

– Kiểm chứng và bổ sung method cho các Class

– Sử dụng trong việc coding các chức năng

4. Kết luận

Chúng ta vừa tìm hiểu xong bản vẽ Sequence Diagram, bản vẽ này giúp thiết kế các chức năng cho hệ thống cũng như kiểm chứng các bản vẽ trước đây như Class Diagram, Activity Diagram v.v…

Chúng ta sẽ tiếp tục bàn về thực hành xây dựng bản vẽ này cho ứng dụng ecommerce trong bài tiếp theo. Mời các bạn đọc tiếp.

Lập trình có bản chất là lấy đầu vào, xử lý và cuối cùng trả về đầu ra để hoàn thành một yêu cầu hay một tính năng. Có đôi lúc chúng ta cảm thấy đau đầu vì không biết phải làm gì, phải làm thế nào. Vậy thì Sequence Diagram sẽ là một giải pháp giúp các bạn hoàn thành một chức năng trong phần mềm đấy. Cùng tìm hiểu nhé.

Sequence Diagram là gì?

Sequence Diagram là bản vẽ xác định câu chuyện hậu trường của một chức năng. Câu chuyện hậu trường ở đây chính là sự tương tác giữa các nhóm đối tượng, các thông điệp được gửi và nhận giữa các đối tượng cũng như trình tự thời gian giữa những thông điệp đó.

Ví dụ như bài toán 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 input là một số n
  • Tiếp đó chương trình chạy vòng lặp từ 0 đến n
  • Rồi kiểm tra trong đó đâu là số nguyên tố
  • Cuối cùng trả về output là các số nguyên tố xuất hiện trên màn hình

Việc 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ả kết quả, theo một trình tự, có sự tham gia của các hàm, các đối tượng. Và được trực quan hóa bằng bản vẽ chính là Sequence Diagram.

Các thành phần trong Sequence Diagram

Đối tượng

Được kí hiệu bởi 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 hai chấm đứng trước tên của Object.

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

Đường vẽ nét đứt phía dưới hình chữ nhật chính là đường đời của đối tượng, dùng để 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

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ề, cũng có thể là những lần gọi làm,...

Có một số kiểu Message thường gặp:

  • Synchronous Message: Thông điệp cần có một request trước cho hành động tiếp theo.
  • Asynchronous Message: Thông điệp không cần phải có request trước đó cho hành động tiếp theo.
  • Self Message: 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: Thông điệp trả lời lại những request.

Các bước xây dựng Sequence Diagram

1. Xác định các chức năng cần thiết kế

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

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

Ví dụ ở đây mình chọn chức năng Login cho một trang web Java theo mô hình MVC

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 form Login
  • Người dùng ấn nút Login
  • Form Login gửi request đến Controller chính
  • Controller chính tiếp tục gửi request từ form đến User Controller để thực hiện các hàm
  • User Controller sẽ gọi UserDAO để thực hiện hàm checkLogin[]
  • UserDAO sẽ vào database tìm result set 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 đó, 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ì 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

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

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

  • Actor thể hiện người dùng [Actor được add rời từ model]
  • Browser là nơi người dùng thao tác [Class]
  • :DispatcherController để nhận button và thực hiện thao tác gửi về các controller khác [Object]
  • :UserController là nơi nhận dữ liệu và xử lý [Object]
  • :UserDAO để truy cập database [Object]
  • DataBase là nơi lưu các tài khoản, mật khẩu [Class]
  • View để trả về trang html show ra cho người dùng [Class]

Vì ở đây có 2 điều kiện là login thành công hoặc thất bại nên mình sẽ sử dụng thêm Combined Fragment để tạo ra một khung điều kiện và có 2 operand là đúng hoặc sai.

Sau khi xác định được các bước và các đối tượng tham gia vào, chúng ta đã có thể vẽ được một Sequence Diagram rồi.

Ứng dụng

  • Thiết kế và phát triển các chức năng
  • Kiểm chứng và bổ sung method cho các Class

Tạm kết

Sequence Diagram là bản vẽ để xác định các đối tượng cũng như tuần tự các bước để thực hiện một bài toán, một chương trình. Sequence Diagram được dùng để thiết kế phát triển và test các chức năng. Qua bài viết này, hi vọng các bạn có thể biết được Sequence Diagram là gì cũng như cách vẽ một Sequence Diagram.

Video liên quan

Chủ Đề