Sơ đồ trường hợp sử dụng là một thành phần quan trọng của Ngôn ngữ mô hình hóa thống nhất (UML), cung cấp một biểu diễn trực quan về các tương tác giữa người dùng (người tham gia) và một hệ thống. Hướng dẫn này sẽ đề cập đến các khái niệm chính, các thành phần và các ứng dụng của sơ đồ trường hợp sử dụng, giúp bạn hiểu rõ và sử dụng hiệu quả chúng trong mô hình hóa hệ thống.

Mục đích của sơ đồ trường hợp sử dụng
Sơ đồ trường hợp sử dụng được dùng để mô hình hóa hành vi của một hệ thống, hệ thống con hoặc lớp, hiển thị các dịch vụ có thể nhìn thấy từ bên ngoài mà hệ thống cung cấp trong bối cảnh môi trường của nó. Chúng ghi lại các yêu cầu chức năng của hệ thống, giúp hiểu rõ cách người dùng tương tác với hệ thống và những gì họ mong đợi từ nó. Sơ đồ trường hợp sử dụng biểu diễn chức năng của một đối tượng (ví dụ như một hệ thống), như được nhận thức bởi các tác nhân bên ngoài gọi là người tham gia, những người tương tác với đối tượng từ một góc nhìn nhất định.
Các trường hợp sử dụng
Định nghĩa và đặc điểm
Một trường hợp sử dụng đại diện cho một đơn vị chức năng hoặc một mục tiêu mà người dùng (người tham gia) muốn đạt được với hệ thống. Nó mô tả một chuỗi các hành động mà hệ thống thực hiện để tạo ra một kết quả có thể quan sát được và có giá trị đối với người tham gia. Các đặc điểm chính bao gồm:
- Hướng đến mục tiêu: Mỗi trường hợp sử dụng đại diện cho một mục đích hoặc mục tiêu mà một người dùng muốn hệ thống hỗ trợ đạt được.
- Thao tác: Một trường hợp sử dụng có thể được coi là một thao tác được kích hoạt bởi một người dùng bên ngoài.
- Mô hình hành vi: Các trường hợp sử dụng là một phần của mô hình hành vi của hệ thống và thường được coi là các thao tác trên hệ thống.
- Các tình huống: Một trường hợp sử dụng có thể là mô tả của một tập hợp các chuỗi, trong đó mỗi chuỗi đại diện cho một luồng khả thi qua tất cả các biến thể. Mỗi chuỗi được gọi là một tình huống.
- Phân loại: Một trường hợp sử dụng là một phân loại, do đó nó có thể có thuộc tính và thao tác, tương tự như các lớp.
Ví dụ
Trong một hệ thống thương mại điện tử, một trường hợp sử dụng có thể là “Đặt đơn hàng,” mô tả chuỗi các hành động mà khách hàng thực hiện để đặt hàng, bao gồm thêm sản phẩm vào giỏ hàng, nhập thông tin thanh toán và xác nhận đơn hàng.
Người tham gia
Định nghĩa và đặc điểm
Một người tham gia đại diện cho một người dùng hoặc một thực thể bên ngoài (ví dụ như một hệ thống khác) tương tác với hệ thống. Người tham gia khởi tạo các trường hợp sử dụng. Các đặc điểm chính bao gồm:
- Các thực thể bên ngoài: Người tham gia không thuộc về hệ thống đó.
- Vai trò: Người tham gia đại diện cho các vai trò, chứ không phải cá nhân cụ thể hay chức danh doanh nghiệp.
- Tổng quát hóa: Người tham gia có thể được tổng quát hóa hoặc chuyên biệt hóa. Khi một người tham gia được chuyên biệt hóa, tất cả các người tham gia chuyên biệt hóa đều có thể tham gia vào cùng các trường hợp sử dụng như người tham gia tổng quát.
- Loại: Người tham gia có thể là con người, các hệ thống máy tính khác hoặc các quy trình.
Ví dụ
Trong một hệ thống quản lý thư viện, các tác nhân có thể bao gồm “Thư viện viên”, “Thành viên” và “Hệ thống bên ngoài” (ví dụ: nhà cung cấp sách).
Chủ thể
Một chủ thể là một bộ phân loại cung cấp các trường hợp sử dụng cho các tác nhân. Thường thì nó là hệ thống hoặc một hệ thống con. Một trường hợp sử dụng có thể có nhiều chủ thể. Một chủ thể được biểu diễn bằng một hình chữ nhật với tên và kiểu tùy chọn ở góc trên bên trái.
Ví dụ
Trong một hệ thống ngân hàng, chủ thể có thể là “Hệ thống Ngân hàng”, cung cấp các trường hợp sử dụng như “Rút tiền”, “Gửi tiền” và “Chuyển tiền” cho các tác nhân như “Khách hàng” và “Thủ quỹ ngân hàng.”
Mối quan hệ
Các trường hợp sử dụng và các tác nhân được kết nối với nhau thông qua các mối quan hệ, bao gồm:
Mối quan hệ liên kết
Các mối quan hệ liên kết chỉ ra các đường truyền thông giữa các tác nhân và các trường hợp sử dụng. Một mối quan hệ giữa một tác nhân và một trường hợp sử dụng cho thấy chúng giao tiếp với nhau.
Tổng quát hóa
Tổng quát hóa thể hiện mối quan hệ giữa một trường hợp sử dụng tổng quát và một trường hợp sử dụng cụ thể hơn. Nó được vẽ bằng một đường liền có đầu mũi tên tam giác, tương tự như tổng quát hóa lớp.
Bao gồm
Bao gồm được sử dụng để trích xuất hành vi chung được chia sẻ giữa nhiều trường hợp sử dụng vào một trường hợp sử dụng riêng biệt. Mối quan hệ bao gồm được biểu diễn bằng một mũi tên gạch nối kèm từ khóa «bao gồm». Mũi tên chỉ từ trường hợp cơ sở đến trường hợp được bao gồm.
Mở rộng
Mở rộng được sử dụng để thêm hành vi tùy chọn hoặc điều kiện vào một trường hợp sử dụng cơ sở. Mối quan hệ mở rộng được biểu diễn bằng một mũi tên gạch nối kèm từ khóa «mở rộng», chỉ từ trường hợp mở rộng đến trường hợp cơ sở.
Ví dụ
Trong một hệ thống mua sắm trực tuyến, trường hợp sử dụng “Thanh toán” có thể bao gồm trường hợp sử dụng “Xác minh thanh toán”, và trường hợp sử dụng “Thêm vào giỏ hàng” có thể mở rộng trường hợp sử dụng “Duyệt sản phẩm.”
Ký hiệu
Các trường hợp sử dụng
Một trường hợp sử dụng được biểu diễn bằng một hình elip với tên của nó bên trong hoặc phía dưới.
Tác nhân
Các tác nhân được biểu diễn bằng hình người que hoặc bằng các hình chữ nhật có kiểu đặc trưng.
Chủ thể
Một chủ thể thường được biểu diễn bằng một hình chữ nhật.
Ví dụ

Tiêu đề biểu đồ
Loại tiêu đề biểu đồ thường là ‘pkg’, nhưng cũng có thể là các container không gian tên khác như ‘class’ và ‘component’.
Đơn giản hóa các trường hợp sử dụng
Các kỹ thuật như tổng quát hóa, bao gồm và mở rộng có thể được sử dụng để đơn giản hóa các trường hợp sử dụng phức tạp.
Quy tắc đặt tên
- Cụm động từ: Tên use case nên là cụm động từ ở thì hiện tại, thể hiện mục tiêu của người dùng.
- Tránh dùng danh từ: Tránh sử dụng dạng danh từ hoặc phân từ, và tránh dùng các hành vi đã hoàn thành.
- Thuật ngữ người dùng: Sử dụng thuật ngữ của người dùng, tránh dùng từ chuyên môn hoặc khái niệm triển khai.
- Thuật ngữ đơn giản: Sử dụng các thuật ngữ đơn giản, rõ ràng mà mọi người đều có thể hiểu.
- Câu phát biểu mục tiêu: Một mẹo hữu ích là đặt trước mục tiêu bằng cụm từ “Hệ thống ơi, xin hãy giúp tôi…”
Ví dụ
Trong một hệ thống quản lý dự án, một use case có thể được đặt tên là “Tạo nhiệm vụ” thay vì “Tạo nhiệm vụ.”
Mẫu use case
Mặc dù không có mẫu use case chính thức nào được nêu rõ trong các nguồn, các mục sau thường được ghi lại cho một use case:
- Tên: Một cụm động từ mô tả mục tiêu mà người dùng muốn đạt được.
- Người dùng: Những người dùng hoặc thực thể bên ngoài tương tác với use case.
- Chủ thể: Hệ thống hoặc bộ phận con cung cấp chức năng.
- Mô tả: Một mô tả văn bản về use case.
- Luồng sự kiện: Các bước về cách và khi nào use case bắt đầu và kết thúc, use case làm gì, cách nó tương tác với người dùng, và thông tin nào được trao đổi.
- Tình huống: Các trường hợp cụ thể hoặc biến thể của use case.
- Mối quan hệ: Cách use case liên quan đến các use case khác (bao gồm, mở rộng, tổng quát hóa).
- Điều kiện tiền và hậu: Xác định trạng thái trước và sau khi thực thi một trường hợp sử dụng.
- Điểm mở rộng: Những điểm cụ thể trong trường hợp sử dụng cơ bản nơi mà một sự mở rộng có thể xảy ra.
Ví dụ
Trường hợp sử dụng: Đặt hàng
| Trường | Mô tả |
|---|---|
| Tên | Đặt hàng |
| Người tham gia | Khách hàng |
| Chủ thể | Hệ thống thương mại điện tử |
| Mô tả | Khách hàng đặt hàng bằng cách thêm sản phẩm vào giỏ hàng, nhập thông tin thanh toán và xác nhận đơn hàng. |
| Luồng sự kiện | 1. Khách hàng duyệt sản phẩm. 2. Khách hàng thêm sản phẩm vào giỏ hàng. 3. Khách hàng nhập thông tin thanh toán. 4. Khách hàng xác nhận đơn hàng. 5. Hệ thống xử lý thanh toán và xác nhận đơn hàng. |
| Cảnh huống | – Đặt hàng thành công. – Thất bại trong thanh toán. – Sản phẩm hết hàng. |
| Mối quan hệ | Bao gồm “Xác minh thanh toán”, mở rộng “Duyệt sản phẩm”. |
| Điều kiện tiên quyết | Khách hàng phải đăng nhập. |
| Điều kiện hậu tố | Đơn hàng đã được xác nhận và thanh toán đã được xử lý. |
Các trường hợp sử dụng cụ thể
Một trường hợp sử dụng cụ thể là một thực thi của một trường hợp sử dụng được khởi động bởi một tin nhắn từ một thể hiện của tác nhân. Một trường hợp sử dụng cụ thể có thể tuân theo các trường hợp sử dụng khác liên quan thông qua các mối quan hệ mở rộng hoặc bao gồm. Một trường hợp sử dụng cụ thể có thể có các thuộc tính và thao tác để biểu diễn tiến độ thực thi và tác động đến hệ thống.
Cách sử dụng sơ đồ
Sơ đồ trường hợp sử dụng thường được sử dụng trong giai đoạn phân tích để ghi lại các yêu cầu chức năng của hệ thống. Chúng có thể được sử dụng để mô hình hóa bối cảnh của hệ thống hoặc để mô hình hóa các yêu cầu của hệ thống.
Mối quan hệ với các sơ đồ khác
Các trường hợp sử dụng có thể được chi tiết hóa bằng các sơ đồ UML khác như sơ đồ tuần tự, sơ đồ máy trạng thái hoặc sơ đồ giao tiếp. Các sơ đồ tuần tự, sơ đồ hợp tác và sơ đồ hoạt động có thể được sử dụng để thể hiện hành vi của các trường hợp sử dụng và các tương tác giữa hệ thống với các tác nhân.
Kỹ thuật thiết kế tiến và thiết kế ngược
Mặc dù sơ đồ trường hợp sử dụng không xác định việc triển khai của hệ thống và không thể được thiết kế tiến hoặc thiết kế ngược trực tiếp, chúng có thể được sử dụng để kiểm thử bằng cách tạo các kịch bản kiểm thử dựa trên luồng sự kiện của chúng.
Gói
Các trường hợp sử dụng thường được tổ chức thành các gói. Được khuyến nghị tạo các gói tập trung vào trường hợp sử dụng, trong đó mỗi gói được xây dựng cho từng tác nhân, và các trường hợp sử dụng và lớp liên quan được đặt bên trong mỗi gói. Các gói cũng có thể được tổ chức theo các lớp dựa trên kiến trúc của hệ thống.
Ví dụ
Trong một hệ thống y tế, các gói có thể bao gồm “Quản lý bệnh nhân”, “Lên lịch hẹn” và “Thanh toán”, mỗi gói chứa các trường hợp sử dụng và lớp liên quan.
Kết luận
Sơ đồ trường hợp sử dụng là một công cụ quý giá để mô hình hóa và hiểu hành vi hệ thống từ góc nhìn người dùng. Bằng cách sử dụng các yếu tố và khái niệm này, bạn có thể tạo ra các sơ đồ trường hợp sử dụng toàn diện và hiệu quả, làm nền tảng cho thiết kế và phát triển hệ thống. Dù bạn đang thiết kế một hệ thống mới, tài liệu hóa một hệ thống hiện có hay truyền đạt ý tưởng thiết kế đến các bên liên quan, sơ đồ trường hợp sử dụng cung cấp sự rõ ràng và chi tiết cần thiết để đảm bảo kết quả thành công.
Tài liệu tham khảo
- Sơ đồ trường hợp sử dụng là gì?
- Bài viết này cung cấp một giới thiệu về sơ đồ trường hợp sử dụng, giải thích mục đích và các thành phần chính. Nó bao gồm các ví dụ minh họa các khái niệm được thảo luận20.
- Hướng dẫn sơ đồ trường hợp sử dụng
- Một hướng dẫn toàn diện bao gồm các kiến thức cơ bản về sơ đồ trường hợp sử dụng, bao gồm cách tạo chúng và khi nào nên sử dụng chúng. Nó cũng cung cấp các ví dụ và mẹo để vẽ sơ đồ trường hợp sử dụng hiệu quả21.
- Mẫu sơ đồ trường hợp sử dụng
- Tài nguyên này cung cấp các mẫu sơ đồ trường hợp sử dụng trực tuyến miễn phí và các ví dụ minh họa. Nó cho phép người dùng tạo các sơ đồ trường hợp sử dụng chuyên nghiệp bằng phần mềm vẽ sơ đồ trực tuyến dễ sử dụng22.
- Công cụ sơ đồ trường hợp sử dụng trực tuyến
- Visual Paradigm Online cung cấp công cụ vẽ sơ đồ UML trực tuyến dễ sử dụng với bộ sưu tập phong phú các ví dụ sơ đồ trường hợp sử dụng tùy chỉnh để giúp người dùng bắt đầu nhanh chóng23.
- SysML: Xác định các yêu cầu người dùng bằng sơ đồ trường hợp sử dụng
- Hướng dẫn này giải thích cách sử dụng sơ đồ trường hợp sử dụng SysML để xác định và tài liệu hóa các yêu cầu người dùng. Nó bao gồm các ví dụ minh họa các khái niệm được thảo luận24.
- Công cụ sơ đồ trường hợp sử dụng miễn phí
- Công cụ sơ đồ trường hợp sử dụng trực tuyến miễn phí hỗ trợ UML, ERD và sơ đồ tổ chức. Nó cho phép người dùng vẽ nhanh các sơ đồ trường hợp sử dụng thông qua trình soạn thảo UML trực quan25.
- Hướng dẫn toàn diện về sơ đồ trường hợp sử dụng – Cybermedian
- Hướng dẫn này cung cấp một hướng dẫn chi tiết về việc tạo và hiểu sơ đồ trường hợp sử dụng, sử dụng hệ thống thuê xe đạp Wheels làm ví dụ26.
- Sơ đồ trường hợp sử dụng, Ví dụ sơ đồ UML: Ví dụ sơ đồ trường hợp sử dụng kinh doanh – Cộng đồng Visual Paradigm
- Bài viết này cung cấp một ví dụ về sơ đồ trường hợp sử dụng kinh doanh, giải thích cách các sơ đồ trường hợp sử dụng kinh doanh được sử dụng để biểu diễn chức năng do toàn bộ tổ chức cung cấp27.
- Trường hợp sử dụng — Học qua các ví dụ – Cybermedian
- Tài nguyên này cung cấp các ví dụ về sơ đồ trường hợp sử dụng, giải thích cách xác định mối quan hệ giữa các trường hợp sử dụng và quá trình ra quyết định liên quan đến phân tích phần mềm28.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.












