Ngôn ngữ mô hình hóa thống nhất (UML) là một công cụ mạnh mẽ để trực quan hóa và thiết kế các hệ thống phần mềm. Hướng dẫn này giải thích các khái niệm chính và mối quan hệ giữa các sơ đồ trường hợp sử dụng, mẫu trường hợp sử dụng, luồng sự kiện, sơ đồ tuần tự, sơ đồ đối tượng và sơ đồ lớp. Chúng tôi sẽ sử dụng một ví dụ về hệ thống cửa hàng sách trực tuyến để minh họa các khái niệm này.
Sơ đồ trường hợp sử dụng
Mục đích: Để ghi lại các yêu cầu chức năng của hệ thống từ góc nhìn người dùng.
Thành phần:
- Người dùng: Đại diện cho người dùng hoặc các hệ thống bên ngoài tương tác với hệ thống.
- Các trường hợp sử dụng: Đại diện cho các chức năng hoặc dịch vụ do hệ thống cung cấp.
- Mối quan hệ: Thể hiện các tương tác giữa người dùng và các trường hợp sử dụng.
Ví dụ: Trong một hệ thống cửa hàng sách trực tuyến, các người dùng bao gồm “Khách hàng” và “Quản trị viên”. Các trường hợp sử dụng bao gồm “Duyệt sách”, “Tìm kiếm sách”, “Thêm vào giỏ hàng”, “Đặt hàng”, “Quản lý kho hàng” và “Xử lý hoàn trả.”
Mẫu trường hợp sử dụng
Mục đích: Để ghi chép chi tiết về một trường hợp sử dụng, bao gồm mô tả, người dùng, điều kiện tiền và hậu, cũng như luồng sự kiện.
Thành phần:
- Tên trường hợp sử dụng: Tên của trường hợp sử dụng.
- Người dùng: Những người dùng tham gia vào trường hợp sử dụng.
- Điều kiện tiền: Các điều kiện phải đúng trước khi trường hợp sử dụng bắt đầu.
- Điều kiện hậu: Các điều kiện phải đúng sau khi trường hợp sử dụng kết thúc.
- Luồng sự kiện: Thứ tự các bước được thực hiện trong trường hợp sử dụng.
Ví dụ: Mẫu trường hợp sử dụng cho “Đặt hàng”
- Tên trường hợp sử dụng: Đặt hàng
- Người tham gia: Khách hàng
- Điều kiện tiên quyết: Khách hàng phải có mặt hàng trong giỏ hàng.
- Điều kiện hậu tố: Đơn hàng được đặt, và kho hàng được cập nhật.
- Luồng sự kiện:
- Khách hàng chọn tùy chọn “Đặt hàng”.
- Hệ thống xác thực các mặt hàng trong giỏ hàng.
- Hệ thống tạo một đơn hàng.
- Hệ thống cập nhật kho hàng.
- Hệ thống gửi xác nhận đơn hàng đến khách hàng.
Luồng sự kiện
Mục đích: Để mô tả trình tự các bước thực hiện trong một trường hợp sử dụng.
Thành phần:
- Luồng chính: Trình tự chính các bước.
- Luồng thay thế: Các trình tự thay thế các bước cho các điều kiện khác nhau.
- Luồng ngoại lệ: Các trình tự bước để xử lý ngoại lệ.
Ví dụ: Luồng sự kiện cho “Đặt hàng”
-
Luồng chính:
- Khách hàng chọn tùy chọn “Đặt hàng”.
- Hệ thống xác minh các mặt hàng trong giỏ hàng.
- Hệ thống tạo một đơn hàng.
- Hệ thống cập nhật kho hàng.
- Hệ thống gửi xác nhận đơn hàng đến khách hàng.
-
Luồng thay thế:
- Nếu xác minh thất bại, hệ thống thông báo cho khách hàng.
-
Luồng ngoại lệ:
- Nếu cập nhật kho hàng thất bại, hệ thống thông báo cho quản trị viên.
Sơ đồ tuần tự
Mục đích: Để mô hình hóa hành vi động của hệ thống bằng cách hiển thị cách các đối tượng tương tác theo thời gian.
Thành phần:
- Đối tượng: Đại diện cho các thể hiện của lớp.
- Tin nhắn: Đại diện cho các tương tác giữa các đối tượng.
- Dòng thời gian: Hiển thị sự tồn tại của các đối tượng theo thời gian.
Ví dụ: Sơ đồ tuần tự cho “Đặt hàng”

Sơ đồ đối tượng
Mục đích: Để cung cấp một bức ảnh chụp nhanh của hệ thống tại một thời điểm cụ thể, hiển thị các đối tượng và mối quan hệ giữa chúng.
Thành phần:
- Đối tượng: Các thể hiện của các lớp.
- Liên kết: Các mối quan hệ giữa các đối tượng.
Ví dụ: Sơ đồ đối tượng cho “Đặt hàng”

Sơ đồ lớp
Mục đích: Để mô hình hóa cấu trúc tĩnh của hệ thống bằng cách hiển thị các lớp, thuộc tính, phương thức và mối quan hệ của nó.
Thành phần:
- Lớp: Đại diện cho các thực thể trong hệ thống.
- Thuộc tính: Đại diện cho các thuộc tính của các lớp.
- Phương thức: Đại diện cho các hành vi của các lớp.
- Mối quan hệ: Hiển thị các mối liên kết, kế thừa và phụ thuộc giữa các lớp.
Ví dụ: Sơ đồ lớp cho hệ thống cửa hàng sách trực tuyến

Tích hợp các sơ đồ
- Sơ đồ trường hợp sử dụng: Xác định các chức năng cấp cao của hệ thống.
- Mẫu trường hợp sử dụng: Tài liệu hóa chi tiết của từng trường hợp sử dụng.
- Luồng sự kiện: Mô tả trình tự các bước trong một trường hợp sử dụng.
- Sơ đồ tuần tự: Mô hình hóa các tương tác động giữa các đối tượng cho một trường hợp sử dụng cụ thể.
- Sơ đồ đối tượng: Cung cấp một bức ảnh chụp nhanh của hệ thống tại một thời điểm cụ thể.
- Sơ đồ lớp: Xác định cấu trúc tĩnh của hệ thống.
Bằng cách tích hợp các sơ đồ này, bạn có thể thu thập các yêu cầu, thiết kế cấu trúc hệ thống và mô hình hóa các tương tác, cung cấp cái nhìn toàn diện về hệ thống.
Kết luận
Hiểu rõ các khái niệm chính và mối quan hệ giữa các sơ đồ trường hợp sử dụng, mẫu trường hợp sử dụng, luồng sự kiện, sơ đồ tuần tự, sơ đồ đối tượng và sơ đồ lớp là điều cần thiết cho thiết kế phần mềm hiệu quả. Các sơ đồ này bổ sung cho nhau, cung cấp cái nhìn toàn diện về các yêu cầu, cấu trúc và hành vi của hệ thống. Bằng cách tuân theo hướng dẫn này và ví dụ về hệ thống sách trực tuyến, bạn có thể sử dụng hiệu quả các sơ đồ này để thiết kế và phát triển các hệ thống phần mềm mạnh mẽ.