Trường hợp sử dụng là gì?
Một trường hợp sử dụng là một phương pháp được sử dụng trong phân tích hệ thống để xác định, làm rõ và tổ chức các yêu cầu của hệ thống.
Sơ đồ trường hợp sử dụng
Một sơ đồ trường hợp sử dụng mô hình các loại người dùng khác nhau tương tác với hệ thống để giải quyết một vấn đề. Do đó, nó mô tả các mục tiêu của người dùng, các tương tác giữa người dùng và hệ thống, và hành vi cần thiết của hệ thống để đáp ứng những mục tiêu này.
Các trường hợp sử dụng định nghĩa các tương tác giữa các tác nhân bên ngoài và hệ thống để đạt được các mục tiêu cụ thể. Một sơ đồ trường hợp sử dụng chứa bốn thành phần chính

(Chỉnh sửa ví dụ sơ đồ trường hợp sử dụng ở trên)
Một sơ đồ trường hợp sử dụng bao gồm một số phần tử mô hình. Các phần tử mô hình quan trọng nhất là:
Tác nhân
Các tác nhân thường là những cá nhân liên quan đến hệ thống được xác định theo vai trò của họ. Tác nhân có thể là con người hoặc hệ thống bên ngoài khác.
Trường hợp sử dụng
Một trường hợp sử dụng mô tả cách mà các tác nhân sử dụng một hệ thống để đạt được một mục tiêu cụ thể. Các trường hợp sử dụng thường được khởi xướng bởi một người dùng để thực hiện các mục tiêu mô tả các hoạt động và biến thể liên quan đến việc đạt được mục tiêu.
Mối quan hệ
Các mối quan hệ giữa và giữa các tác nhân và các trường hợp sử dụng.
Ranh giới hệ thống
Ranh giới hệ thống xác định hệ thống quan tâm liên quan đến thế giới xung quanh nó.
Đặc điểm của trường hợp sử dụng
Một trường hợp sử dụng (hoặc tập hợp các trường hợp sử dụng) có những đặc điểm này:
- Tổ chức các yêu cầu chức năng
- Mô hình hóa các mục tiêu của các tương tác giữa hệ thống/tác nhân (người dùng)
- Ghi lại các đường đi (gọi là kịch bản) từ các sự kiện kích hoạt đến các mục tiêu
- Mô tả một dòng sự kiện chính (còn gọi là một khóa hành động cơ bản), và có thể là những dòng khác, gọi là ngoại lệdòng sự kiện (còn gọi là các khóa hành động thay thế)
- Là đa cấp, để một trường hợp sử dụng có thể sử dụng chức năng của một trường hợp khác.
Trường hợp sử dụng và kịch bản trường hợp sử dụng?
Trường hợp sử dụng được tạo thành từ một tập hợp các chuỗi tương tác có thể xảy ra giữa các hệ thống và người dùng trong một môi trường cụ thể và liên quan đến một mục tiêu cụ thể.
Có gì bên trong một trường hợp sử dụng?
Nó bao gồm một nhóm các phần tử (ví dụ, lớp và giao diện) có thể được sử dụng cùng nhau theo cách có tác động lớn hơn tổng của các phần tử riêng lẻ. Trường hợp sử dụng nên chứa tất cả các hoạt động của hệ thống có ý nghĩa đối với người dùng.
Các loại trường hợp sử dụng
Các trường hợp sử dụng thiết yếu được diễn đạt dưới dạng lý tưởng mà vẫn tương đối tự do khỏi các chi tiết công nghệ và triển khai; các quyết định thiết kế được hoãn lại và trừu tượng hóa, đặc biệt là những quyết định liên quan đến giao diện người dùng.
Trường hợp sử dụng cụ thể hoặc thực tế mô tả cụ thể quy trình theo thiết kế thực tế hiện tại của nó, cam kết với các công nghệ đầu vào và đầu ra cụ thể và v.v. Khi một giao diện người dùng được liên quan, họ thường hiển thị ảnh chụp màn hình và thảo luận về tương tác với các widget.
Trường hợp sử dụng trừu tượng không hoàn chỉnh và không có tác nhân nào khởi xướng nó nhưng được sử dụng bởi các trường hợp sử dụng khác.
Cấu trúc các trường hợp sử dụng
UML định nghĩa ba kiểu mẫu của mối quan hệ giữa các trường hợp sử dụng:
<<bao gồm>> Trường hợp sử dụng
Thời điểm để sử dụng mối quan hệ <<bao gồm>> là sau khi bạn đã hoàn thành mô tả lần đầu tiên của tất cả các trường hợp sử dụng chính của bạn. Bây giờ bạn có thể xem xét các trường hợp sử dụng và xác định các chuỗi tương tác giữa người dùng và hệ thống chung.

<<mở rộng>> Trường hợp sử dụng
Một trường hợp sử dụng mở rộng là, thực tế, một khóa thay thế của trường hợp sử dụng cơ bản. Trường hợp sử dụng <<mở rộng>> đạt được điều này bằng cách khái niệm chèn thêm các chuỗi hành động vào chuỗi trường hợp sử dụng cơ bản.

Trường hợp sử dụng trừu tượng và tổng quát
Trường hợp sử dụng tổng quát là trừu tượng. Nó không thể được khởi tạo, vì nó chứa thông tin không đầy đủ. Tiêu đề của một trường hợp sử dụng trừu tượng được hiển thị bằng chữ nghiêng.

Ví dụ
Ví dụ này mô tả một mô hình của một số trường hợp sử dụng kinh doanh (mục tiêu) đại diện cho các tương tác giữa một nhà hàng (hệ thống kinh doanh) và các diễn viên chính của nó.
Sau khi các trường hợp sử dụng cơ bản đã được xác định trong lần cắt đầu tiên, có lẽ chúng ta có thể cấu trúc thêm các trường hợp sử dụng đó với các trường hợp sử dụng <<extend>> và <<include>> trong lần chỉnh sửa thứ hai như được hiển thị trong Hình dưới đây:

(Chỉnh sửa Ví dụ Biểu đồ Trường hợp Sử dụng ở Trên)
Cấu trúc Các Trường hợp Sử dụng với Các Gói
Biểu đồ trường hợp sử dụng có thể chứa các gói được sử dụng để cấu trúc các trường hợp sử dụng nhằm đơn giản hóa phân tích, phát triển và bảo trì một hệ thống.

Chỉnh sửa Ví dụ Biểu đồ Trường hợp Sử dụng ở Trên
Mô hình Trường hợp Sử dụng vs Biểu đồ Trường hợp Sử dụng
Phần lớn mô hình trường hợp sử dụng thực tế là văn bản, với văn bản được ghi lại trong Thông số Kỹ thuật Trường hợp Sử dụng mà liên quan đến từng phần tử mô hình trường hợp sử dụng. Những thông số này mô tả dòng sự kiện của trường hợp sử dụng.
Mô hình trường hợp sử dụng đóng vai trò như một sợi chỉ thống nhất trong suốt quá trình phát triển hệ thống. Nó được sử dụng như thông số chính cho các yêu cầu chức năng của hệ thống, làm cơ sở cho phân tích và thiết kế, làm đầu vào cho kế hoạch lặp, làm cơ sở để xác định các trường hợp kiểm tra và làm cơ sở cho tài liệu người dùng.
Ví dụ: Mô tả Trường hợp Sử dụng
- Để viết nội dung của một trường hợp sử dụng, bạn bắt đầu bằng cách chọn một trong các kịch bản làm kịch bản chính.
- Bạn bắt đầu phần thân của trường hợp sử dụng bằng cách viết kịch bản thành công chính dưới dạng một chuỗi các bước được đánh số.
- Sau đó, bạn lấy các kịch bản khác và viết chúng dưới dạng các phần mở rộng. Các phần mở rộng có thể là thành công, như trong 3a dưới đây hoặc thất bại, như trong 6b dưới đây.
- Mỗi trường hợp sử dụng có một diễn viên chính, người yêu cầu hệ thống cung cấp một dịch vụ.
- Mỗi bước trong một trường hợp sử dụng là một phần tử của sự tương tác giữa người dùng và hệ thống.
- Một nhóm hoạt động chung trong một trường hợp sử dụng có thể được sử dụng lại bởi một trường hợp sử dụng khác thông qua trường hợp sử dụng <include>.
- Trong các thuật ngữ UML, chúng ta nói rằng trường hợp sử dụng đầu tiên bao gồm trường hợp thứ hai.
Mua một Sản phẩm(Lấy từ UML Distilled trang 101)
Kịch bản Thành công Chính:
- Khách hàng duyệt qua danh mục và chọn mặt hàng để mua.
- Khách hàng đến quầy thanh toán.
- Khách hàng điền thông tin giao hàng
- Hệ thống trình bày thông tin giá cả đầy đủ
- Khách hàng điền thông tin thẻ tín dụng
- hệ thống xác thực việc mua hàng
- Hệ thống xác nhận việc bán hàng
- Hệ thống gửi email xác nhận đến khách hàng
Các phần mở rộng
3a: Khách hàng là khách hàng thường xuyên
.1 Hệ thống hiển thị thông tin giao hàng hiện tại
.2 Khách hàng có thể chấp nhận hoặc ghi đè
6a: Hệ thống không xác thực được việc mua hàng bằng thẻ tín dụng
.1 Khách hàng có thể nhập lại thông tin thẻ tín dụng hoặc có thể hủy
Mô tả Trường hợp Sử dụng được Minh họa bởi Visual Paradigm

Dòng sự kiện và Phần mở rộng

- Ghi lại các đường đi (gọi là kịch bản) từ các sự kiện kích hoạt đến các mục tiêu
Mô hình Trường hợp Sử dụng và UML
Các trường hợp sử dụng có thể được áp dụng trong nhiều giai đoạn phát triển phần mềm, chẳng hạn như lập kế hoạch yêu cầu hệ thống, xác thực thiết kế, kiểm tra phần mềm và tạo dàn bài cho trợ giúp trực tuyến và tài liệu người dùng. Vậy mối quan hệ của biểu đồ trường hợp sử dụng với các biểu đồ UML khác trong SDLC là gì?
Lựa chọn mô hình là quan trọng
Việc lựa chọn mô hình nào để tạo ra có ảnh hưởng sâu sắc đến cách một vấn đề được giải quyết và cách một giải pháp được hình thành. Chúng ta cần chọn mô hình của bạn một cách cẩn thận.
- Những mô hình đúng sẽ làm nổi bật những vấn đề phát triển quan trọng nhất.
- Những mô hình sai sẽ khiến bạn bị lạc hướng, khiến bạn tập trung vào những vấn đề không liên quan.
Ví dụ: Chúng ta có thể sử dụng các loại sơ đồ khác nhau cho các giai đoạn khác nhau trong phát triển phần mềm.

Tài liệu tham khảo
- Tổng quan về 14 loại sơ đồ UML
- Sơ đồ lớp là gì?
- Sơ đồ thành phần là gì?
- Sơ đồ triển khai là gì?
- Sơ đồ đối tượng là gì?
- Sơ đồ gói là gì?
- Sơ đồ cấu trúc tổng hợp là gì?
- Sơ đồ hồ sơ là gì?
- Sơ đồ ca sử dụng là gì?
- Sơ đồ hoạt động là gì?
- Sơ đồ máy trạng thái là gì?
- Sơ đồ tuần tự là gì?
- Sơ đồ giao tiếp là gì?
- Sơ đồ tổng quan tương tác là gì?
- Sơ đồ thời gian là gì?
- Mô tả một dòng sự kiện chính (còn gọi là một khóa hành động cơ bản), và có thể là những dòng khác, được gọi là ngoại lệdòng sự kiện (còn gọi là các khóa hành động thay thế)
- Là đa cấp, để một ca sử dụng có thể sử dụng chức năng của một ca khác.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.