Trường hợp sử dụng là gì?
Một trường hợp sử dụnglà một kỹ thuật ghi lại và tài liệu yêu cầu có thể được viết bằng văn bản đơn giản để mô tả theo cách kể chuyện các hành động và tương tác của những người tham gia sử dụng hệ thống. Cuối cùng, chức năng của hệ thống nên đáp ứng mục đích mà các bên liên quan sử dụng hệ thống.
Trước khi sử dụng văn bản để tài liệu mô tả trường hợp sử dụng, chúng ta có thể đầu tiên sử dụng một sơ đồ trường hợp sử dụng để làm nổi bật mục đích của diễn viên sử dụng hệ thống. Với biểu diễn đồ họa, bạn có thể nhanh chóng hiểu toàn bộ bức tranh từ góc nhìn tổng quát. Định nghĩa phạm vi của hệ thống (ranh giới hệ thống) và xác định các mục tiêu chính của các diễn viên (gọi là trường hợp sử dụng) hỗ trợ việc sử dụng các chức năng hoặc dịch vụ của hệ thống.
Sơ đồ trường hợp sử dụng rất tốt cho việc giao tiếp trong nhóm, và đó là bản chất con người: sử dụng đồ họa thường tốt hơn là giao tiếp qua lời nói.
Sau khi nhóm có sự hiểu biết ban đầu và đồng thuận về cái nhìn tổng thể và cảm nhận của hệ thống, nhà phân tích yêu cầu mở oval – trường hợp sử dụng và mô tả quá trình đối thoại giữa các diễn viên và hệ thống theo định dạng chính xác và dễ đọc.
Tăng dần độ chính xác của các trường hợp sử dụng từ đơn giản đến phức tạp. Đừng bị sa lầy vào những chi tiết phức tạp ngay từ đầu, kẻo bạn đầu tư quá nhiều tinh thần vào thiết kế và mô tả sai. Sơ đồ trường hợp sử dụng giúp di chuyển từ đơn giản đến phức tạp và giảm thiểu những sai lầm không cần thiết.

Như có thể thấy từ hình, phạm vi thiết kế của hệ thống này là “hệ thống đặt sách trực tuyến”, một trong những người tham gia chính sử dụng hệ thống này là “Khách hàng trực tuyến”, mục đích của những người tham gia sử dụng hệ thống này là “đặt sách”.
“Đặt sách” là trường hợp sử dụng cho hệ thống, và diễn viên là “khách hàng trực tuyến.” Sau khi xác định mục đích của những người tham gia, chúng tôi sẽ ghi lại chi tiết của mục đích trong văn bản kể chuyện, tức là ghi lại sự tương tác giữa những người tham gia và hoạt động của hệ thống để đạt được mục đích. Điều này được gọi là mô tả trường hợp sử dụng.
Bảng dưới đây mô tả một trường hợp sử dụng “Đặt sách” đơn giản.

Nguồn gốc của Trường hợp sử dụng
Trường hợp sử dụng lần đầu tiên được công bố bởi gã khổng lồ phần mềm Jacobson vào năm 1992, điều này đã có ảnh hưởng đáng kể đến công nghệ hướng đối tượng hiện đại. Ngoài ra, UML (Ngôn ngữ Mô hình Hợp nhất) các đặc tả được hình thành chung bởi những người được gọi là “3 Amigos” – Booch, Jacobson và Rumbaugh và đã được OMG xem xét đã được đưa vào như một phần quan trọng của các đặc tả tiêu chuẩn chính.
Dưới đây là các định nghĩa về trường hợp sử dụng của một số gã khổng lồ phần mềm.
- “Một trường hợp sử dụng là một tài liệu kể chuyện mô tả chuỗi quy trình của một diễn viên sử dụng hệ thống để hoàn thành một sự kiện” [Jacobson92].
- “Một trường hợp sử dụng là một tập hợp các kịch bản (chuỗi sự kiện), liên quan đến mục đích sử dụng chung của hệ thống” [Fowler97].
- “Một trường hợp sử dụng là một chuỗi các hành động mà một diễn viên (thường là một người, nhưng có thể là một thực thể bên ngoài, chẳng hạn như một hệ thống khác) thực hiện trong một hệ thống để đạt được một mục tiêu cụ thể” [Rosenberg99].
- “Một trường hợp sử dụng là một diễn viên (thường là một người dùng, nhưng có thể là một thực thể bên ngoài, chẳng hạn như một hệ thống bên ngoài khác), một chuỗi các hành động để đạt được một mục tiêu cụ thể trong sự tương tác với hệ thống nội bộ”.
Trong cuốn sách “Hướng dẫn người dùng Ngôn ngữ Mô hình Hợp nhất”, định nghĩa về Trường hợp sử dụng được đưa ra:
- “Một trường hợp sử dụng mô tả một tập hợp các chuỗi, trong đó mỗi chuỗi đại diện cho sự tương tác của những thứ bên ngoài hệ thống (các diễn viên của nó) với chính hệ thống (và các trừu tượng chính của nó)”.
- “Trường hợp sử dụng mô tả một loạt các chuỗi, mỗi chuỗi thể hiện sự tương tác giữa những thứ bên ngoài hệ thống (các tham gia) và chính hệ thống (và các trừu tượng chính của nó).”
Từ cuộc thảo luận trên, chúng ta có thể rút ra các đặc điểm liên quan đến trường hợp sử dụng:
- Một trường hợp sử dụng là một tài liệu kể chuyện được mô tả bằng ngôn ngữ tự nhiên (chẳng hạn như kể chuyện bằng tiếng Anh). Nói chung, một trường hợp sử dụng không liên quan đến đồ họa hoặc ngữ pháp ngôn ngữ lập trình (chẳng hạn như java) để mô tả.
- Kịch bản được mô tả trong trường hợp sử dụng chính xác là những gì các diễn viên mong đợi đạt được (lấy) mục tiêu của họ (Mục tiêu) từ sự tương tác và giao tiếp với hệ thống.
- Ví dụ, “Mua hàng” chính xác là mục đích tiêu dùng của người tiêu dùng:
“Người tiêu dùng thanh toán hàng hóa đã mua, và nhân viên thu ngân ghi lại hàng hóa đã mua và thu tiền. Khi hoàn tất, người tiêu dùng rời đi với hàng hóa.” - Một trường hợp sử dụng có thể có một kịch bản bình thường và nhiều kịch bản ngoại lệ. Kịch bản bình thường mô tả quá trình tương tác bình thường giữa các tham gia và hệ thống; trong khi trong quá trình tương tác với hệ thống, nếu sự xuất hiện của các ngoại lệ được xem xét, tùy thuộc vào độ phức tạp của tình huống, nó có thể được mô tả trong “đường dẫn thay thế” trong kịch bản bình thường” hoặc có thể được mô tả trong một kịch bản khác cho các ngoại lệ phức tạp.
- Hệ thống sẽ cung cấp một loạt các chức năng để tương tác với các tham gia, nhưng các tham gia không cần biết điều gì đang xảy ra trong hệ thống hoặc cách thực hiện, hệ thống chỉ cần gửi kết quả trở lại cho các tham gia. Do đó, đối với các tham gia, hệ thống là (hoặc một nhóm các trường hợp sử dụng) một hộp đen.
- Mô tả của trường hợp sử dụng nhấn mạnh những gì hệ thống nên làm (cần làm gì), không phải cách thực hiện (cách làm). Do đó, các chi tiết của việc thực hiện không nên được mô tả trong mô tả của trường hợp sử dụng.
- Diễn viên trực tiếp đến với hệ thống hoạt động. Trong sơ đồ trường hợp sử dụng, mặc dù diễn viên được đại diện như một biểu tượng “hình que”, nhưng người tham gia không nhất thiết phải là một người thật. Người tham gia cũng có thể là một hệ thống bên ngoài, và nó có thể cần lấy một số thông tin từ hệ thống này.
Các Sơ đồ UML khác
- 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ơ đồ trường hợp 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ì?
- Sơ đồ hợp tác UML là gì?
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.