Thiết Kế Chức Năng Với Sequence Diagram Có Phức Tạp Không?

Lập trình có thực chất là lấy nguồn vào, xử lý và sau cuối trả về đầu ra để thực hiện một yêu cầu hay một tính năng. Có đôi lúc mọi người 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 những tín đồ thực hiện một tính năng trong ứng dụng đấy. Cùng tìm hiểu nhé.

Sequence Diagram là gì?

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

Ví dụ như bài toán xuất ra màn hình hiển thị những số nhân tố nhỏ nhiều hơn n:

  • Thứ nhất Khóa học sẽ nhận input là một vài n
  • Tiếp tục Khóa học chạy vòng lặp từ 0 đến n
  • Rồi kiểm tra trong đó đâu là số nhân tố
  • Sau cuối trả về output là những số nhân tố xuất hiện trên màn hình hiển thị

Việc triển khai những tính năng từ lúc nhận input, chạy vòng lặp, kiểm tra rồi trả thành quả, theo một trình tự, có sự tham gia của những hàm, những đối tượng người sử dụng. Và được trực quan hóa bằng bạn dạng vẽ đó là Sequence Diagram.

Những thành phần trong Sequence Diagram

Đối tượng người tiêu dùng

Được kí hiệu bởi hình chữ nhật (kí hiệu là Lifeline trong StarUML) dùng để làm trình diễn cho tất 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 vắn này dùng để làm tượng trưng cho những lớp, những đối tượng người sử dụng mà các bạn sẽ tận dụng trong quy trình thực thi code.

Đường vẽ nét đứt phía dưới hình chữ nhật đó là đường đời của đối tượng người sử dụng, dùng để làm trổ tài quy trình triển khai thao tác của đối tượng người sử dụng từ lúc khởi tạo đến lúc biến mất.

Message

Dùng làm trổ tài thông điệp đối tượng người sử dụng này truyền sang cho đối tượng người sử dụng khác. Hoàn toàn có thể là những thành quả gửi đi, trả về, cũng rất có thể là những lần gọi làm,…

Có một vài kiểu Message thường gặp:

  • Synchronous Message: Thông điệp cần phải có một request trước cho hành vi tiếp theo.
  • Asynchronous Message: Thông điệp không càng phải có request trước đó cho hành vi tiếp theo.
  • Self Message: Thông điệp tự gửi cho chính mình để triển khai những hàm như kiểm tra/ valid tài liệu.
  • Reply Message/Return Message: Thông điệp vấn đáp lại những request.

Quá trình xây dựng Sequence Diagram

1. Xác định những tính năng quan trọng kế

Nhờ vào Use Case Diagram / User Story hay Requirement mà lựa chọn tính năng để thiết kế.

Lưu ý: mỗi tính năng là một Sequence Diagram riêng không liên quan gì đến nhau.

Ví dụ ở đây mình chọn tính năng Login cho một website Java theo quy mô MVC

2. Xác định quá trình để triển khai

  • Người tiêu dùng nhập tài khoản, mật khẩu vào form Login
  • Người tiêu 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 để triển khai những hàm
  • User Controller sẽ gọi UserDAO để triển khai hàm checkLogin()
  • UserDAO sẽ vào database tìm result set tài giỏ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 tin đăng nhập thành công cho những người dùng
    • Nếu không thì trả về một html thông tin 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 những đối tượng người sử dụng tham gia vào

Nhờ vào ý tưởng trên, mình rất có thể nhận thấy những đối tượng người sử dụng

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

Vì ở đây có 2 xét tuyển là login thành công hoặc thất bại nên mình sẽ tận dụng thêm Combined Fragment để tiết ra một khuông xét tuyển và có 2 operand là đúng hoặc sai.

Sau khoản thời gian xác định được quá trình và những đối tượng người sử dụng tham gia vào, mọi người đã rất có thể vẽ được một Sequence Diagram rồi.

Ứng dụng

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

Tạm kết

Sequence Diagram là bạn dạng vẽ để xác định những đối tượng người sử dụng cũng như tuần tự quá trình để triển khai một bài toán, một Khóa học. Sequence Diagram được dùng để làm thiết kế phát triển và test những tính năng. Qua nội dung bài viết này, hứa hẹn những chúng ta có thể biết được Sequence Diagram là gì rồi cũng như cách vẽ một Sequence Diagram.

You May Also Like

About the Author: v1000