Use case là một khái niệm được sử dụng trong phát triển phần mềm, thiết kế sản phẩm và các lĩnh vực khác để mô tả cách sử dụng hệ thống để đạt được các mục tiêu hoặc nhiệm vụ cụ thể. Hãy cùng Cole tìm hiểu tổng quan về use case trong bài viết dưới đây.
Giải thích đơn giản về use case
Use case là mô tả về cách người dùng tương tác với hệ thống hoặc sản phẩm nào đó. Một use case có thể thiết lập các kịch bản thành công, các kịch bản thất bại và bất kỳ biến thể hoặc ngoại lệ quan trọng nào. Một use case có thể được viết hoặc tạo ra bằng hình ảnh với sự trợ giúp của công cụ use case model. Mục đích sử dụng:
- Quản lý phạm vi
- Thiết lập các yêu cầu
- Phác thảo cách người dùng sẽ tương tác với hệ thống
- Trực quan hóa kiến trúc hệ thống
- Truyền đạt các yêu cầu kỹ thuật cho các bên liên quan trong kinh doanh
- Quản lý rủi ro

Lịch sử ra đời của use case
Nhà khoa học máy tính người Thụy Điển Ivar Jacobson đã trình bày bài báo đầu tiên về use cases vào năm 1987, mô tả cách sử dụng kỹ thuật này tại công ty viễn thông Ericsson để nắm bắt các yêu cầu hệ thống. Năm 1992, Jacobson là đồng tác giả cuốn sách “Kỹ thuật phần mềm hướng đối tượng – Phương pháp tiếp cận theo trường hợp sử dụng”, giúp phổ biến các use cases để xác định các yêu cầu chức năng trong phát triển phần mềm.
Jacobson sau đó đã cùng với các kỹ sư phần mềm người Mỹ Grady Booch và James Rumbaugh tạo ra Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language – UML), ngôn ngữ này giới thiệu một cách tiêu chuẩn để trực quan hóa thiết kế của một hệ thống. Kể từ đó, kỹ thuật này đã được điều chỉnh thành các “templates” viết use case để hợp lý hóa việc nắm bắt các yêu cầu high-level.

Tại sao project managers cần biết về các use cases?
Project managers cần biết về các use case vì chúng giúp truyền đạt chiến lược cho các bên liên quan và thu hẹp khoảng cách giữa các yếu tố kinh doanh và yêu cầu kỹ thuật. PMI cũng lưu ý rằng “use cases cung cấp cấu trúc để thu thập yêu cầu của khách hàng và thiết lập phạm vi dự án”. Nhưng điều đó có ý nghĩa gì về mặt thực tế?
Giả sử bạn là project manager cho một công ty công nghệ giáo dục. Ý tưởng sản phẩm mới nhất của công ty bạn là một ứng dụng dành cho sinh viên, nơi họ có thể nhận học phí trực tiếp với một khoản phí đăng ký hàng tháng. Việc tạo project manager cho ứng dụng này có thể cho các bên liên quan và nhóm dự án biết khách hàng là ai, khách hàng sẽ tương tác với sản phẩm như thế nào cũng như ý nghĩa và yêu cầu của dự án sẽ là gì.

Cách viết use case cho một dự án
Khi được trình bày dưới dạng văn bản, use case có thể là một tài liệu hữu ích của dự án. Là một yếu tố phổ biến, không thể thiếu khi chúng có thể giúp quá trình giao tiếp giữa các bên liên quan về mặt kỹ thuật và kinh doanh trở nên suôn sẻ hơn.
Tùy thuộc vào đối tượng dự định và hệ thống đang thảo luận, use case có thể chi tiết hoặc cơ bản hơn nếu cần. Tài liệu sử dụng phải được thiết lập và xác định một số thành phần chính như:
- Systems – Hệ thống: là sản phẩm, dịch vụ hoặc phần mềm đang được thảo luận.
- Actors – Tác nhân: là người dùng hoặc bất kỳ thứ gì khác thể hiện hành vi khi tương tác với hệ thống. Tác nhân có thể là một hệ thống khác, một phần cứng hoặc toàn bộ tổ chức. Có bốn loại tác nhân: hệ thống đang được thảo luận, tác nhân bên trong, tác nhân chính và tác nhân phụ (phổ biến nhất là 2 tác nhân cuối). Tác nhân chính bắt đầu tương tác với hệ thống, trong khi tác nhân phụ có thể cung cấp dịch vụ cho hệ thống.
- Scenario – Kịch bản: Trong “Applying UML and Patterns”, Larman lưu ý rằng “kịch bản là một chuỗi hành động và tương tác cụ thể giữa các tác nhân và hệ thống đang được thảo luận; nó còn được gọi là một use case”.
- Use case: phác thảo các kịch bản thành công và thất bại có thể xảy ra khi (các) tác nhân tương tác với hệ thống. Trong phần này, bạn sẽ thiết lập kịch bản thành công chính, tức là kết quả mong muốn nhất giữa tác nhân và hệ thống. Bạn cũng sẽ thiết lập các đường dẫn thay thế để giải thích điều gì sẽ xảy ra trong trường hợp có lỗi hoặc sai sót.

Ví dụ đơn giản về use case
Lấy ví dụ về trường hợp sử dụng cho ứng dụng giao đồ ăn: Các cá nhân có thể sử dụng ứng dụng để đặt đồ ăn trực tiếp đến nhà hàng. Khi người dùng đặt hàng, họ sẽ được nhắc thanh toán qua ứng dụng hoặc thanh toán khi đồ ăn đến. Sau khi điều đó được xác nhận, nhà hàng sẽ nhận được yêu cầu thông qua hệ thống của họ. Sau đó, thức ăn sẽ được chuẩn bị, đóng gói và giao đến từng cá nhân. Trong trường hợp này, ứng dụng phải có khả năng nhận đơn đặt hàng, xử lý thanh toán và liên lạc với nhà hàng bằng phần mềm điện tử.
- Systems: Ứng dụng giao đồ ăn.
- Main actors: Khách hàng đặt đồ ăn.
- Scenario: Người dùng tìm kiếm nhà hàng mong muốn. Sau khi chọn được nhà hàng ưa thích, họ sẽ đặt hàng thông qua ứng dụng. Người dùng thanh toán trực tuyến hoặc xác minh họ sẽ thanh toán trực tiếp. Đơn hàng được gửi từ ứng dụng đến hệ thống nội bộ của nhà hàng. Nhân viên nhà hàng nhận và xử lý đơn hàng điện tử.
Use case này minh họa cách cả khách hàng và nhân viên nhà hàng (các tác nhân) tương tác với ứng dụng giao đồ ăn (hệ thống) và kết quả mong đợi của mỗi tương tác. Điều này giúp phác thảo một template hoàn chỉnh cho những gì được mong đợi trong giai đoạn phát triển. Ví dụ: ứng dụng này phải có khả năng xử lý thanh toán.

Use case model là gì?
Là sự thể hiện trực quan các tương tác giữa tác nhân và hệ thống. Như PMI cũng lưu ý, các use case model mô tả các quy trình, giúp thể hiện rõ hơn các điều kiện tiên quyết và trình kích hoạt.
Bên cạnh đó, thường được thể hiện bằng UML (Universal Modeling Language – Ngôn ngữ mô hình hóa phổ quát). Trong những hình ảnh trực quan này, có ba thành phần chính: hệ thống, tác nhân và trường hợp sử dụng.
Hệ thống được thể hiện bằng một hình chữ nhật hoặc “boundary box”. Các tác nhân được hiển thị dưới dạng người dính bên ngoài hộp ranh giới, trong khi các use case được trình bày dưới dạng văn bản trong hình bầu dục bên trong hộp. Các đường liền nét và nét đứt thể hiện sự liên kết giữa các tác nhân và các trường hợp sử dụng của hệ thống.

Sự khác biệt giữa use case model và use case diagram
Use case diagram đơn giản là một loại use case model. Use case model diagram sử dụng văn bản và hình khối để thể hiện mối quan hệ giữa người dùng và hệ thống. Về cơ bản, các use case diagram được sử dụng để:
- Trực quan hóa flow và hành vi của hệ thống.
- Minh họa chức năng của hệ thống.
- Thể hiện các tương tác chính của người dùng hệ thống.
Tùy thuộc vào hệ thống, sơ đồ use case model diagram có thể có độ phức tạp khác nhau, hiển thị các liên kết cơ bản hoặc mở rộng để hiển thị nhiều ngoại lệ.

Vậy là chúng ta đã đi sâu vào chi tiết use case là gì, cách chúng được sử dụng trong phát triển phần mềm và lợi ích của chúng. Theo dõi Cole để cập nhật nhanh về thế giới phần mềm và khoa học dữ liệu. Tham khảo khóa học business analyst để trau dồi thêm kiến thức trong lĩnh vực của bạn.
>> Xem thêm: Hiểu về lập kế hoạch kinh doanh: tầm quan trọng, các loại và yếu tố cốt lõi

Thảo luận
Đăng nhập để bình luậnAnh có thể đặt câu hỏi, góp ý hoặc lưu lại insight quan trọng sau khi đọc bài.