MỤC ĐÍCH
Các trường hợp sử dụng (use case) và kịch bản (scenario) mô tả cách một người hoặc hệ thống tương tác với giải pháp được mô hình hóa để đạt được mục tiêu.
MÔ TẢ
Các use case mô tả sự tương tác giữa tác nhân chính, giải pháp và bất kỳ tác nhân phụ nào cần thiết để đạt được mục tiêu của tác nhân chính. Use case thường được kích hoạt bởi tác nhân chính, nhưng trong một số phương pháp cũng có thể được kích hoạt bởi một hệ thống khác hoặc bởi một sự kiện hoặc bộ đếm thời gian bên ngoài.
Use case mô tả các kết quả có thể xảy ra của nỗ lực hoàn thành một mục tiêu cụ thể mà giải pháp sẽ hỗ trợ. Nó trình bày chi tiết các đường dẫn khác nhau có thể đi theo bằng cách xác định các luồng chính và luồng thay thế. Luồng chính hoặc luồng cơ bản thể hiện cách trực tiếp nhất để hoàn thành mục tiêu của use case. Các trường hợp đặc biệt và trường hợp ngoại lệ dẫn đến việc không hoàn thành mục tiêu của use case được ghi lại trong các luồng tương tác thay thế hoặc luồng ngoại lệ. Use case được viết theo quan điểm của tác nhân và tránh mô tả hoạt động bên trong của giải pháp.
Sơ đồ use case là sự trình bày bằng đồ họa về mối quan hệ giữa các tác nhân và một hoặc nhiều use case được giải pháp hỗ trợ.
Một số cách tiếp cận use case phân biệt giữa use case nghiệp vụ và use case hệ thống, với use case nghiệp vụ mô tả cách các tác nhân tương tác với một quy trình hoặc chức năng nghiệp vụ cụ thể và use case hệ thống mô tả sự tương tác giữa tác nhân và ứng dụng phần mềm.
Scenario chỉ mô tả một cách mà một tác nhân có thể hoàn thành một mục tiêu cụ thể. Scenario được viết dưới dạng một loạt các bước được thực hiện bởi các tác nhân hoặc bằng giải pháp cho phép tác nhân đạt được mục tiêu. Một use case mô tả một số tình huống.
YẾU TỐ
Không có định dạng chung, cố định cho các use case. Các yếu tố sau thường được ghi lại trong mô tả use case.
Sơ đồ use case
Sơ đồ use case mô tả trực quan phạm vi của giải pháp, bằng cách hiển thị các tác nhân tương tác với giải pháp, các use case mà họ tương tác và mọi mối quan hệ giữa các use case. Ngôn ngữ mô hình hóa thống nhất™ (UML®) mô tả ký hiệu tiêu chuẩn cho sơ đồ use case.
Các mối quan hệ
Mối quan hệ giữa các tác nhân và use case được gọi là mối liên kết. Một đường liên kết chỉ ra rằng một tác nhân có quyền truy cập vào chức năng được đại diện bởi use case. Các liên kết không đại diện cho đầu vào, đầu ra, thời gian hoặc sự phụ thuộc.
Có hai mối quan hệ thường được sử dụng giữa các use case:
- Mở rộng: cho phép chèn hành vi bổ sung vào use case. Use case đang được mở rộng phải có đầy đủ chức năng theo đúng nghĩa của nó và không được phụ thuộc vào use case mở rộng để thực hiện thành công. Mối quan hệ này có thể được sử dụng để chỉ ra rằng một luồng thay thế đã được thêm vào use case hiện có (thể hiện các yêu cầu mới).
- Bao gồm: cho phép use case này sử dụng chức năng có trong use case khác. Use case đi kèm không nhất thiết phải là một use case hoàn chỉnh nếu nó không được tác nhân trực tiếp kích hoạt. Mối quan hệ này thường được sử dụng nhiều nhất khi một số chức năng được chia sẻ được yêu cầu bởi một số use case hoặc để trừu tượng hóa một phần logic phức tạp.
Mô tả use case
Tên use case có một tên duy nhất. Tên thường bao gồm một động từ mô tả hành động được thực hiện bởi người thực hiện và một danh từ mô tả những gì đang được thực hiện hoặc mục tiêu của hành động.
Mục tiêu
Mục tiêu là sự mô tả ngắn gọn về kết quả thành công của use case từ quan điểm của tác nhân chính. Điều này hoạt động như một bản tóm tắt của use case.
Tác nhân (Actor)
Tác nhân là bất kỳ người hoặc hệ thống nào bên ngoài giải pháp tương tác với giải pháp đó. Mỗi tác nhân được đặt một tên duy nhất thể hiện vai trò của họ trong việc tương tác với giải pháp. Một số phương pháp tiếp cận biên soạn use case khuyến nghị không nên sử dụng hệ thống hoặc sự kiện làm tác nhân.
Một use case được bắt đầu bởi một tác nhân, được gọi là tác nhân chính cho use case đó. Các tác nhân khác tham gia ca sử dụng với vai trò hỗ trợ được gọi là tác nhân phụ.
Điều kiện tiên quyết (Pre-condition)
Điều kiện tiên quyết là bất kỳ sự kiện nào phải đúng trước khi use case có thể bắt đầu. Điều kiện tiên quyết không được kiểm tra trong use case nhưng đóng vai trò như một ràng buộc đối với việc thực hiện nó.
Kích hoạt (Trigger)
Kích hoạt là một sự kiện khởi tạo luồng sự kiện cho một use case. Kích hoạt phổ biến nhất là hành động được thực hiện bởi tác nhân chính.
Một sự kiện tạm thời (ví dụ: thời gian) có thể bắt đầu một use case. Điều này thường được sử dụng để kích hoạt một use case phải được thực thi dựa trên thời gian trong ngày hoặc một ngày theo lịch cụ thể, chẳng hạn như quy trình cuối ngày hoặc bản đối chiếu cuối tháng của hệ thống.
Luồng sự kiện
Luồng sự kiện là tập hợp các bước được thực hiện bởi tác nhân và giải pháp trong quá trình thực hiện use case. Hầu hết các mô tả use case đều tách biệt luồng thành công cơ bản, chính hoặc chính thể hiện con đường thành công ngắn nhất hoặc đơn giản nhất để hoàn thành mục tiêu của tác nhân.
Các use case cũng có thể bao gồm các luồng thay thế và ngoại lệ. Các luồng thay thế mô tả các đường dẫn khác có thể đi theo để cho phép tác nhân đạt được mục tiêu của use case một cách thành công. Các luồng ngoại lệ mô tả phản hồi mong muốn của giải pháp khi mục tiêu không thể đạt được và use case không thể hoàn thành thành công.
Điều kiện sau (post-condition) hoặc Bảo đảm
Điều kiện sau là bất kỳ dữ kiện nào cũng phải đúng khi use case hoàn tất. Các điều kiện sau phải đúng với tất cả các luồng có thể có trong use case, bao gồm cả luồng chính và luồng thay thế. use case có thể mô tả các điều kiện sau riêng biệt đúng cho trường hợp thực hiện sử dụng thành công và không thành công.
Đây có thể được gọi là sự đảm bảo; đảm bảo thành công mô tả các điều kiện sau để thành công. Bảo đảm tối thiểu mô tả các điều kiện bắt buộc phải đúng, ngay cả khi mục tiêu của tác nhân không đạt được và có thể giải quyết các mối lo ngại như yêu cầu bảo mật hoặc tính toàn vẹn dữ liệu.
CÂN NHẮC SỬ DỤNG
Điểm mạnh
- Sơ đồ use case có thể làm rõ phạm vi và cung cấp sự hiểu biết ở mức độ cao về các yêu cầu.
- Các mô tả use case dễ dàng được các bên liên quan hiểu nhờ vào dòng tường thuật của chúng.
- Việc đưa vào mục tiêu hoặc kết quả mong muốn sẽ đảm bảo rằng giá trị nghiệp vụ của use case được khớp nối rõ ràng.
- Mô tả use case thể hiện rõ hành vi chức năng của hệ thống.
Hạn chế
- Tính linh hoạt của định dạng mô tả ca sử dụng có thể dẫn đến thông tin được nhúng sẽ được nắm bắt tốt hơn bằng cách sử dụng các kỹ thuật khác như tương tác giao diện người dùng, yêu cầu phi chức năng và quy tắc nghiệp vụ.
- Các quyết định và quy tắc nghiệp vụ xác định chúng không nên được ghi lại trực tiếp trong các use case mà được quản lý riêng biệt và liên kết từ bước thích hợp.
- Định dạng linh hoạt của use case có thể dẫn đến việc thu thập các chi tiết không phù hợp hoặc không cần thiết khi cố gắng hiển thị từng bước hoặc từng tương tác.
- Các use case có chủ ý không liên quan đến thiết kế của giải pháp và do đó, có thể cần nỗ lực đáng kể trong quá trình phát triển để ánh xạ các bước trường hợp sử dụng tới kiến trúc phần mềm