Sơ đồ use casevà sơ đồ chuỗi là bổ sung cho nhauCác công cụ UMLmà hoạt động cùng nhau để cung cấp cái nhìn toàn diện về chức năng và hành vi của hệ thống. Hướng dẫn này sẽ dẫn bạn từng bước cách sử dụng các sơ đồ này cùng nhau một cách hiệu quả, với các ví dụ thực tế và giải thích chi tiết.
Sơ đồ use case biểu diễn các chức năng cấp cao (use case) của hệ thống và các tác nhân bên ngoài (người dùng hoặc các hệ thống khác) tương tác với các chức năng đó. Chúng giúp xác địnhđiều gìhệ thống nên làm gì từ góc nhìn người dùng. Các use case được biểu diễn bằng hình elip, các tác nhân bằng hình người dạng que, và các mối quan hệ thể hiện sự tương tác hoặc phụ thuộc.
Ví dụ:Xét một hệ thống ngân hàng trực tuyến. Sơ đồ use case có thể bao gồm các tác nhân như Khách hàng, Quản trị viên Ngân hàng và Cổng thanh toán bên ngoài. Các use case có thể bao gồm “Đăng nhập”, “Chuyển tiền”, “Xem sao kê” và “Quản lý tài khoản”. Các mối quan hệ sẽ cho thấy tác nhân nào tương tác với use case nào, cung cấp cái nhìn rõ ràng về phạm vi chức năng của hệ thống.
Sơ đồ chuỗi mô hình hóacách thứcbằng cách hiển thị trình tự các tin nhắn được trao đổi giữa các đối tượng (thể hiện của các lớp) theo thời gian để thực hiện một use case cụ thể. Chúng mô tả các đường sống (lifelines) cho các đối tượng và luồng tương tác theo thứ tự thời gian cần thiết để thực hiện hành vi của use case.
Ví dụ:Đối với use case “Chuyển tiền” trong hệ thống ngân hàng trực tuyến, sơ đồ chuỗi sẽ thể hiện các tương tác giữa các đối tượng như Khách hàng, Tài khoản Ngân hàng, Bộ xử lý Giao dịch và Cổng thanh toán bên ngoài. Sơ đồ sẽ minh họa trình tự các tin nhắn, chẳng hạn như “Yêu cầu chuyển tiền”, “Xác minh tài khoản”, “Xử lý giao dịch” và “Xác nhận chuyển tiền”, cung cấp cái nhìn chi tiết về hành vi động và sự phối hợp cần thiết để triển khai chức năng này.
Xác định và mô hình hóa các use case chính và các tác nhân cho hệ thống của bạn. Điều này cung cấp cái nhìn rõ ràng về phạm vi chức năng của hệ thống và các tương tác với người dùng.
Ví dụ:Đối với một hệ thống quản lý thư viện, sơ đồ use case có thể bao gồm các tác nhân như Thư viện viên, Thành viên và Quản trị viên. Các use case có thể bao gồm “Mượn sách”, “Trả sách”, “Tìm kiếm danh mục” và “Quản lý kho”. Các mối quan hệ sẽ cho thấy tác nhân nào tương tác với use case nào, giúp xác định các yêu cầu chức năng của hệ thống.
Chọn một use case cụ thể (ví dụ: “Mượn sách”) mà bạn muốn tìm hiểu sâu hơn. Use case này sẽ là nền tảng cho sơ đồ chuỗi của bạn.
Ví dụ:Trong hệ thống quản lý thư viện, việc chọn use case “Mượn sách” sẽ bao gồm việc xác định các tương tác chính và các bước cần thiết để một thành viên mượn một cuốn sách. Điều này bao gồm kiểm tra sự sẵn có của sách, cập nhật tài khoản thành viên và ghi lại giao dịch.
Mô hình hóa các đối tượng tham gia vào tình huống use case (ví dụ: Thành viên, Sách, Cơ sở dữ liệu Thư viện, Nhật ký Giao dịch). Hiển thị các tương tác (tin nhắn) giữa các đối tượng này theo thứ tự xảy ra để thực hiện use case. Điều này làm rõ hành vi động và sự phối hợp cần thiết để triển khai chức năng.
Ví dụ: Đối với trường hợp sử dụng “Mượn sách”, sơ đồ tuần tự sẽ hiển thị các tương tác giữa Thành viên, Sách, Cơ sở dữ liệu Thư viện và Nhật ký Giao dịch. Sơ đồ sẽ minh họa trình tự các tin nhắn, chẳng hạn như “Yêu cầu sách”, “Kiểm tra khả dụng”, “Cập nhật tài khoản Thành viên” và “Ghi lại Giao dịch”, cung cấp cái nhìn chi tiết về hành vi động và sự hợp tác cần thiết để triển khai chức năng.
Bên cạnh luồng chính, hãy tạo thêm các sơ đồ tuần tự để biểu diễn các luồng thay thế hoặc ngoại lệ bên trong trường hợp sử dụng.
Ví dụ:Đối với trường hợp sử dụng “Mượn sách”, một luồng thay thế có thể bao gồm tình huống sách không có sẵn. Sơ đồ tuần tự cho luồng thay thế này sẽ hiển thị các tương tác như “Yêu cầu sách”, “Kiểm tra khả dụng”, “Thông báo không có sẵn” và “Gợi ý các lựa chọn thay thế”, cung cấp cái nhìn chi tiết về cách hệ thống xử lý các ngoại lệ.
Duy trì khả năng truy xuất bằng cách liên kết các sơ đồ tuần tự trở lại các trường hợp sử dụng tương ứng, đảm bảo việc điều hướng rõ ràng giữa các yêu cầu cấp cao và các tương tác chi tiết.
Ví dụ:Trong hệ thống quản lý thư viện, việc liên kết các sơ đồ tuần tự cho trường hợp sử dụng “Mượn sách” trở lại sơ đồ trường hợp sử dụng đảm bảo rằng các bên liên quan có thể dễ dàng điều hướng giữa cái nhìn tổng quan cấp cao và các tương tác chi tiết. Khả năng truy xuất này giúp duy trì sự rõ ràng và nhất quán trong suốt quá trình phát triển.
| Loại sơ đồ | Mục đích | Các yếu tố chính | Vai trò trong quá trình phát triển |
|---|---|---|---|
| Sơ đồ trường hợp sử dụng | Ghi lại các chức năng hệ thống và các tác nhân | Tác nhân, Trường hợp sử dụng, Quan hệ | Xác định điều gìhệ thống thực hiện |
| Sơ đồ tuần tự | Mô hình hóa các tương tác đối tượng theo thời gian | Đối tượng (đường sống), Tin nhắn | Xác định cách thứchệ thống hoạt động động |
Sơ đồ trường hợp sử dụng cho một cửa hàng sách trực tuyến xác định các tác nhân như Khách hàng và Quản trị viên, với các trường hợp sử dụng như “Đặt hàng” và “Quản lý Kho hàng”. Các mối quan hệ cho thấy tác nhân nào tương tác với trường hợp sử dụng nào, cung cấp cái nhìn rõ ràng về phạm vi chức năng của hệ thống.
Ví dụ:
Sơ đồ tuần tự mô hình hóa trường hợp sử dụng “Đặt hàng” bằng cách hiển thị các tương tác giữa các đối tượng Khách hàng, Giỏ hàng, Đơn hàng và Kho hàng theo thứ tự xảy ra. Điều này làm rõ hành vi động và sự phối hợp cần thiết để triển khai chức năng.
Ví dụ:
Bằng cách kết hợp sơ đồ trường hợp sử dụng và sơ đồ tuần tự, bạn sẽ có được cả cái nhìn tổng quan cấp cao về chức năng hệ thống và cái nhìn chi tiết về các tương tác cần thiết để thực hiện các chức năng đó, giúp giao tiếp rõ ràng và thiết kế hệ thống hiệu quả.
Sơ đồ trường hợp sử dụng:
Sơ đồ tuần tự cho “Đơn thuốc”:
Sơ đồ trường hợp sử dụng:
Sơ đồ tuần tự cho “Thanh toán”:
Bằng cách tận dụng cả sơ đồ trường hợp sử dụng và sơ đồ tuần tự, bạn có thể đạt được sự hiểu biết toàn diện về chức năng và hành vi của hệ thống. Sơ đồ trường hợp sử dụng cung cấp cái nhìn tổng quan ở cấp độ cao về những gì hệ thống cần làm, trong khi sơ đồ tuần tự cung cấp cái nhìn chi tiết về cách hệ thống hoạt động một cách động. Sự kết hợp này đảm bảo giao tiếp rõ ràng, thiết kế hệ thống hiệu quả và triển khai thành công các hệ thống phức tạp.
Tài liệu tham khảo:
[1] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577
[2] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577_sequencediag.html
[3] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575/6362_drawinguseca.html
[4] https://www.visual-paradigm.com/learning/handbooks/software-design-handbook/sequence-diagram.jsp
[5] https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html
[7] https://www.visual-paradigm.com/support/documents/vpuserguide/124_interoperabi.html
[8] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575_usecasediagr.html