Sử dụng trường hợp là gì? với các ví dụ và công cụ miễn phí

Một use case là một công cụ để xác định các mục tiêu kinh doanh của một hệ thống. Việc xác định các use case giúp xác định phạm vi hệ thống, đảm bảo rằng các yêu cầu cần tìm sẽ đều phù hợp với các giá trị, nhu cầu và chiến lược kinh doanh.


Sử dụng trường hợp là gì?

Một use case đại diện cho một mục tiêu kinh doanh cấp cao cần đạt được bởi một cá nhân, một bên nào đó hoặc một số hệ thống con thông qua việc tương tác với một hệ thống, có thể là hệ thống đang được phát triển hoặc hệ thống cần bảo trì, tùy thuộc vào bản chất của dự án phần mềm của bạn.

Use case

Các use case không phải là yêu cầu hệ thống cũng không phải là các chức năng cần triển khai. Trên thực tế, điều quan trọng là phải giữ các use case tách biệt khỏi các yêu cầu, vì bạn cần một bộ use case rõ ràng giúp xác định các mục tiêu kinh doanh và phạm vi hệ thống. Trên thực tế, việc thu thập yêu cầu sẽ được thực hiện sau khi xác định các use case (epic) và sau đó chia nhỏ thành một tập hợp các câu chuyện người dùng tương ứng (mục tiêu kinh doanh).

Dạng đồ họa của use case

Các use case có thể được trực quan hóa trong sơ đồ use case UML. Một use case được thể hiện dưới dạng hình elip trong sơ đồ, với tên của nó xuất hiện ở giữa hình dạng. Ngoài use case, một sơ đồ use case điển hình còn chứa hai yếu tố khác là actor và liên kết.

Use case diagram

Một actor là một vai trò tương tác với hệ thống để đạt được một hoặc nhiều mục tiêu kinh doanh được thể hiện bởi các use case. Sự xuất hiện của tương tác giữa một actor và một use case được biểu diễn bằng một mối liên kết (liên kết). Lưu ý rằng một actor không nhất thiết phải đại diện cho một thực thể vật lý cụ thể (ví dụ: John), mà chỉ là một vai trò (ví dụ: Khách hàng). Trên thực tế, một vai trò có thể do nhiều người khác nhau đảm nhận, và ngược lại, một người có thể đảm nhận nhiều vai trò.

Làm thế nào để xác định use case?

Các use case được tìm thấy bằng cách trao đổi với chủ sở hữu doanh nghiệp hoặc các cấp lãnh đạo cao cấp của công ty. Chúng tôi thường gọi họ là các bên liên quan kinh doanh. Điều quan trọng là phải xác định use case cùng với các bên liên quan kinh doanh chứ không phải với người khác, vì họ rõ ràng về định hướng và hoạt động thực tế của công ty. Họ cũng có quyền hạn và thông tin cần thiết để đưa ra các quyết định kinh doanh. Do đó, các use case được xác định đều phù hợp với các giá trị, nhu cầu và chiến lược kinh doanh của công ty.

Tại sao cần use case?

Nhiều người coi việc xác định use case là một bước thừa. Họ thích đi thẳng vào việc xác định các yêu cầu hệ thống. Vậy phương pháp use case có vô dụng không?

Khi bạn đang phát triển một hệ thống quy mô lớn, thường liên quan đến nhiều bên liên quan có những kỳ vọng khác nhau về hệ thống cuối cùng, dẫn đến một tập hợp lớn các yêu cầu ở dạng không thể quản lý được. Một use case có thể được sử dụng như một chỗ trống để chứa một nhóm các câu chuyện người dùng liên quan, chia sẻ một mục tiêu kinh doanh lớn và phạm vi chung giữa chúng.

Hãy nhớ rằng các use case được tìm thấy thông qua việc trao đổi với các chủ sở hữu doanh nghiệp và các cấp lãnh đạo cao cấp giám sát sự phát triển của công ty và có khả năng đưa ra các quyết định chiến lược kinh doanh. Vì lý do này, các use case phản ánh trực tiếp các mục tiêu kinh doanh mà hệ thống mục tiêu cần đạt được. Bằng cách xác định các yêu cầu dựa trên use case, các yêu cầu có khả năng cao nằm trong phạm vi hệ thống và do đó đạt được các giá trị kinh doanh mong đợi từ chủ sở hữu. Ngoài ra, các use case cũng hỗ trợ việc phân loại các yêu cầu một cách có ý nghĩa. Các tính năng phần mềm đề xuất có thể được lên kế hoạch dựa trên mức độ quan trọng của các use case, thay vì chỉ dựa vào ý kiến của các bên liên quan cấp đầu, những người có thể không hoàn toàn phù hợp với kỳ vọng của chủ sở hữu doanh nghiệp.

Ví dụ về use case

Dưới đây là một số ví dụ minh họa cách sử dụng use case. Ví dụ được đưa ra ở đây chỉ nhằm mục đích minh họa, không có cách xác định rõ ràng nào về việc use case nào cần được xác định cho một hệ thống mục tiêu cụ thể. Quy tắc cơ bản trong quá trình xác định use case luôn là kết quả của sự tham gia và tham gia tích cực với các bên liên quan kinh doanh.

Hệ thống

Use case

  • Máy ATM
    • Rút tiền, chuyển tiền, quyên góp, thanh toán hóa đơn, thay đổi mã PIN
  • Thư viện ảnh trực tuyến
    • Tải lên ảnh, chia sẻ ảnh, xóa ảnh
  • Ứng dụng theo dõi sức khỏe
    • Ghi lại buổi tập, tạo thống kê buổi tập, thách thức một mục tiêu

Dựa trên các ví dụ trên, chúng ta có thể có những thảo luận sau:

Use case dẫn đến mục tiêu quan sát được

Ví dụ use case – Máy ATM

Máy ATM là một ví dụ kinh điển khi giải thích khái niệm use case hoặc phân tích use case. Bạn có thể thắc mắc tại sao lại không có use case cho ‘Đăng nhập’, vốn là một bước không thể thiếu trong mọi thao tác ATM. Như đã nói, use case là các mục tiêu kinh doanh cần đạt được. Chúng tạo ra một kết quả quan sát được đối với người thực hiện tương tác với hệ thống để đạt được use case. Ở đây, ‘đăng nhập’ chỉ là một phần của các thao tác khác. ‘Đăng nhập’ bản thân nó không tạo ra bất kỳ kết quả nào có thể quan sát được – không ai chỉ đăng nhập vào ATM rồi đi mất, đúng không? Vì vậy, chúng tôi không coi ‘đăng nhập’ là một use case.

Liệu ‘thay đổi mã PIN’ có quá nhỏ để trở thành một use case không? Câu trả lời là: việc xác định use case không dựa vào lượng công việc người dùng cần thực hiện, cũng không dựa vào số lượng chức năng hệ thống cần phát triển. Chỉ cần đó là một mục tiêu kinh doanh mà bên liên quan kinh doanh muốn hệ thống mục tiêu đạt được, thì đó là một use case. Trong trường hợp này, chúng tôi coi việc khách hàng thay đổi mã PIN qua ATM là một use case.

Ví dụ use case – Thư viện ảnh trực tuyến

Thư viện ảnh trực tuyến thông thường cho phép người dùng gắn thẻ vào các bức ảnh đã tải lên. Vậy ‘gắn thẻ ảnh’ có phải là một trường hợp sử dụng không? Câu trả lời là: tùy thuộc vào tình huống. Nếu các bên liên quan kinh doanh muốn cho phép người dùng truy cập hệ thống để gắn thẻ ảnh của họ, ngay cả khi họ không thực hiện bất kỳ thao tác nào khác trong phiên làm việc, thì ‘gắn thẻ ảnh’ nên là một trường hợp sử dụng. Tuy nhiên, nếu họ cho rằng việc gắn thẻ ảnh chỉ là một phần trong quy trình tải ảnh lên, và không có cách nào khác để gắn thẻ ảnh sau đó, thì ‘gắn thẻ ảnh’ sẽ không phải là một trường hợp sử dụng. Một trường hợp khác là các bên liên quan chỉ muốn cho phép người dùng chỉnh sửa các bức ảnh đã tải lên về bất kỳ thuộc tính nào như tiêu đề, mô tả, thẻ, v.v. Khi đó, rất có thể sẽ tạo ra một trường hợp sử dụng ‘chỉnh sửa ảnh’. Vì vậy, bạn có thể thấy việc xác định trường hợp sử dụng không phải là một bước ngẫu nhiên. Bạn có thể hình dung rằng khả năng gắn thẻ ảnh sẽ được hỗ trợ hoàn toàn khác nhau trong các trường hợp sử dụng ‘gắn thẻ ảnh’ và ‘chỉnh sửa ảnh’.

Ví dụ trường hợp sử dụng – Ứng dụng theo dõi sức khỏe

Mặc dù các trường hợp sử dụng không phải là yêu cầu, điều đó không có nghĩa là các trường hợp sử dụng là trừu tượng và thiếu tập trung. Lấy ứng dụng theo dõi sức khỏe làm ví dụ. Ghi lại buổi tập, tạo thống kê buổi tập và đặt mục tiêu thách thức đều đủ rõ ràng để xác định phạm vi của các tính năng. Liệu ‘giữ gìn sức khỏe tốt’ có phải là một trường hợp sử dụng không? Ừ thì, đó là một lựa chọn tồi vì phạm vi của nó quá rộng. Mọi ứng dụng theo dõi sức khỏe đều cố gắng giúp người dùng đạt được mục tiêu này, tuy nhiên, với mục tiêu lớn như vậy, chúng ta không chắc chắn các ứng dụng thực sự có thể cung cấp những chức năng nào để đạt được điều đó!

Làm thế nào để viết trường hợp sử dụng?

Dạng đơn giản nhất của một trường hợp sử dụng bao gồm một dấu + hoặc dấu – mô tả một mục tiêu kinh doanh. Dưới đây là một số ví dụ:

  1. Đăng ký tài khoản
  2. Đặt hàng
  3. Rút tiền
  4. Đăng tin tuyển dụng
  5. Khảo sát nguyên nhân thất bại của các trường hợp

Như đã nói, các trường hợp sử dụng được thiết kế để xác định các mục tiêu kinh doanh. Không nên dùng nó để viết yêu cầu, cũng không dùng để mô tả các tương tác giữa người dùng và hệ thống. Tất cả các bước này sẽ được chi tiết trong các hoạt động phát triển tiếp theo, chứ không phải ngay bây giờ.

Sử dụng trường hợp sử dụng cùng với truyện người dùng

Truyện người dùng cũng là một công cụ quan trọng trong phát triển linh hoạt. Mỗi truyện người dùng bao gồm một mô tả ngắn được viết từ góc nhìn của người dùng. Dưới đây là một số ví dụ về truyện người dùng:

  1. Người dùng muốn thanh toán bằng thẻ tín dụng.
  2. Người dùng muốn thanh toán bằng PayPal.
  3. Người dùng muốn tùy chọn thêm bảo hiểm vận chuyển trong quá trình thanh toán.
  4. Người dùng muốn chọn địa chỉ giao hàng khác trong quá trình thanh toán.
  5. Người dùng muốn nhận tin nhắn SMS ngay sau khi đơn hàng được tạo thành công.

Một trường hợp sử dụng là công cụ để xác định phạm vi của một tính năng, trong khi truyện người dùng ghi lại những gì người dùng làm hoặc cần làm như một phần công việc của họ, cuối cùng dẫn đến việc tạo ra một số yêu cầu. Chúng ta có thể tận dụng hai kỹ năng thu thập yêu cầu này để xác định đúng các yêu cầu. Dưới đây là các bước thực hiện: Trước hết, hãy trao đổi với các bên liên quan kinh doanh để xác định các mục tiêu kinh doanh như các trường hợp sử dụng. Sau đó, tập trung vào một trường hợp sử dụng cụ thể, trao đổi với người dùng trực tiếp để xác định các truyện người dùng nằm trong trường hợp sử dụng đó. Vì việc xác định truyện người dùng được dẫn dắt bởi một trường hợp sử dụng, nên các yêu cầu tìm thấy cuối cùng sẽ phù hợp với các mục tiêu kinh doanh.

Use case and user stories

Visual Paradigm cung cấp tất cả các công cụ bạn cần trongphát triển phần mềm linh hoạt, bao gồmcông cụ sơ đồ trường hợp sử dụng UML(truyện người dùng) linh hoạtsprintbảng kịch bảnbản khung dâycho thiết kế người dùng, công cụ quản lý nhiệm vụ, v.v.

Tài liệu tham khảo

  1. Sơ đồ trường hợp sử dụng – Ngôn ngữ mô hình hóa thống nhất (UML)
  2. Sơ đồ trường hợp sử dụng là gì?
  3. Tạo sơ đồ trường hợp sử dụng UML
  4. Các nguyên tắc tốt nhất và ví dụ về sơ đồ trường hợp sử dụng
  5. Mẫu sơ đồ trường hợp sử dụng
  6. Mô tả trường hợp sử dụng trong Visual Paradigm cho UML
  7. Sơ đồ trường hợp sử dụng
  8. Làm thế nào để vẽ sơ đồ trường hợp sử dụng?

Leave a Reply