Việc thiết kế một sản phẩm không chỉ đơn thuần là liệt kê các tính năng và mục tiêu. Các trường hợp sử dụng là những mô tả về cách người dùng tương tác với hệ thống để hoàn thành nhiệm vụ hoặc đạt được mục tiêu. Việc lập bản đồ các tương tác này có thể cải thiện việc lập kế hoạch sớm và đảm bảo chu trình phát triển suôn sẻ.
1. Use case là gì?
Use case hay còn được biết đến là trường hợp sử dụng giúp bạn phác thảo luồng đầu vào của người dùng, thiết lập các đường dẫn thành công và thất bại để đạt được mục tiêu. Điều này cho phép nhóm sản phẩm hiểu rõ hơn về chức năng của hệ thống, cách thức hoạt động và lý do xảy ra lỗi. Bạn có thể viết ra hoặc lập sơ đồ mô hình trường hợp sử dụng cho những người có tư duy trực quan.
Các trường hợp sử dụng có mức độ phức tạp khác nhau tùy thuộc vào đối tượng hoặc hệ thống của bạn. Nhưng dưới đây sẽ là 3 yếu tố chính trong các use case:
- Tác nhân: bất cứ điều gì thể hiện hành vi tương tác với một hệ thống, chẳng hạn như một người dùng, một nhóm hoặc một phần mềm khác.
- Hệ thống: sản phẩm hoặc dịch vụ có chức năng được xác định.
- Mục tiêu: mục đích hoặc mục tiêu mà người dùng tiếp cận với các tính năng của hệ thống.
Trong quá trình thực hiện viết trường hợp sử dụng bạn có thể gặp thêm 1 số yếu tố mới:
Các bên liên quan: người có cổ phần hoặc quan tâm đến hiệu suất của hệ thống.
- Tác nhân chính: tác nhân khởi tạo chức năng của hệ thống để đạt được mục tiêu.
- Điều kiện tiên quyết: các yếu tố cơ bản cần thiết để ca sử dụng xảy ra.
- Kích hoạt: các sự kiện bắt đầu một ca sử dụng.
- Các luồng cơ bản: Các trường hợp sử dụng hệ thống hoạt động như dự định để đạt được mục tiêu.
- Các luồng thay thế: các kết quả khác nhau dựa trên thời điểm và cách thức hệ thống đi chệch hướng.
2. Các loại use case
Có hai loại trường hợp sử dụng: hệ thống và kinh doanh. Việc kiểm tra chuyên sâu về cách người dùng tương tác với mọi thành phần của hệ thống được gọi là trường hợp sử dụng hệ thống. Nó chứng tỏ các yếu tố đầu vào và hoàn cảnh đa dạng dẫn đến kết quả hệ thống khác biệt như thế nào. Mức độ cụ thể này thể hiện cách mỗi thành phần của hệ thống hoạt động trong mọi tình huống.
Các trường hợp sử dụng trong kinh doanh cung cấp cái nhìn tổng quan rộng hơn về những cách có thể mà người dùng có thể tương tác với công ty của bạn để hoàn thành mục tiêu của họ. Nó mô tả nhiều đầu vào theo cách nguyên nhân và kết quả thay vì đi sâu vào kỹ thuật.
Ví dụ: nếu bạn quản lý nền tảng gỡ lỗi mã, trường hợp sử dụng của doanh nghiệp bạn sẽ mô tả cách người dùng nhập mã và nhận thông báo lỗi.
2.1. Use scenario (Kịch bản sử dụng) so với use case:
Các trường hợp sử dụng hiển thị tất cả các cách thức hoạt động của hệ thống khi cố gắng đạt được mục tiêu, nhưng một kịch bản chỉ mô tả một ví dụ. Trong một kịch bản, hệ thống có thể thành công hoặc thất bại trong việc đạt được mục tiêu của người dùng. Nói một cách đơn giản, nhiều tình huống sử dụng sẽ tạo nên một trường hợp sử dụng.
2.2. Use case so với user story (Câu chuyện người dùng):
Câu chuyện của người dùng giải thích các tính năng theo quan điểm của người dùng, trong khi các trường hợp sử dụng cho thấy cách người dùng tương tác với hệ thống. Do đó, các câu chuyện của người dùng ngắn hơn đáng kể so với các trường hợp sử dụng và thường bao gồm các bản tóm tắt ngắn gọn mà các nhóm sử dụng làm điểm khởi đầu cho quá trình phát triển. Các trường hợp sử dụng cũng có thể mang lại lợi ích cho các nhóm khác nhau trong một tổ chức, trong khi các câu chuyện của người dùng hỗ trợ việc phát triển công cụ cho các nhóm sản phẩm.
2.3. Use case so với test case (Trường hợp thử nghiệm):
Trong khi trường hợp sử dụng bao gồm cách người dùng và các tính năng của hệ thống hoạt động để đạt được mục tiêu thì các trường hợp thử nghiệm sẽ xác minh xem một tính năng có hoạt động chính xác hay không. Không giống như các trường hợp sử dụng, các trường hợp kiểm thử xem xét chức năng một cách tách biệt.
Ví dụ: Một trường hợp thử nghiệm có thể liên quan đến việc xác thực chức năng đăng nhập trên nền tảng email, đảm bảo người dùng có thể đăng nhập trên bất kỳ trình duyệt nào vào bất kỳ lúc nào sau khi tạo tài khoản của họ.
3. Cách viết một trường hợp sử dụng
Viết một use case nghe có vẻ phức tạp nhưng chỉ cần hiểu hệ thống của bạn và người dùng nó. Bạn có thể viết một trường hợp sử dụng bằng cách làm theo sáu bước.
3.1. Mô tả hệ thống:
Trước tiên, hãy đưa ra cái nhìn tổng quan về hệ thống của bạn hoặc hàng hóa hoặc dịch vụ mà bạn và nhóm của bạn sẽ tạo ra. Tập trung mô tả những lợi ích mà người dùng nhận được từ giải pháp của bạn. Bạn có thể giữ nền tảng này chung chung và mô tả các mục tiêu của nó trong trường hợp sử dụng thương mại. Trong trường hợp sử dụng hệ thống, hãy cung cấp giải thích chi tiết về hoạt động bên trong sản phẩm của bạn.
Xác định hệ thống của bạn bằng cách hỏi:
- Nó có dạng gì: sản phẩm, dịch vụ hay phần mềm?
- Nó cung cấp những tính năng gì?
- Bạn có thể đạt được mục tiêu gì với nó?
- Làm thế nào nó đáp ứng được những mục tiêu đó?
- Bạn có thể tìm hiểu gì về hệ thống từ các tài liệu khác như điều lệ dự án?
3.2. Xác định các tác nhân:
Các tác nhân thường đề cập đến người dùng và khách hàng nhưng có thể áp dụng cho bất kỳ lực lượng bên ngoài nào tham gia vào hệ thống của bạn. Tác nhân của bạn cần có những hành vi được xác định rõ ràng để giải thích cách thức và lý do các tác nhân sử dụng hệ thống của bạn.
Xác định các tác nhân bằng cách hỏi:
- Họ là cá nhân, nhóm, phần cứng hay hệ thống khác?
- Các tác nhân chính và phụ sẽ có chung hành vi?
- Các bên liên quan có đảm nhận vai trò tác nhân trong trường hợp sử dụng của bạn không?
3.3. Xác định mục tiêu:
Các trường hợp sử dụng minh họa các kết quả mà người dùng hệ thống muốn đạt được. Để hiểu lý do tại sao mọi người truy cập hệ thống của bạn, hãy nhớ rằng nhu cầu của tác nhân phải được ưu tiên hơn các tính năng của hệ thống. Khách hàng đôi khi có thể mong muốn sử dụng một hệ thống cho nhiều mục đích. Một trường hợp sử dụng hoàn chỉnh hơn sẽ được tạo ra khi tất cả các mục tiêu này được liệt kê.
3.4. Tạo kịch bản:
Các kịch bản trong một use case là các bước người dùng thực hiện để sử dụng hệ thống và kết quả đạt được từ những tương tác đó. Các tình huống trong đó hệ thống hoạt động như dự định sẽ được xử lý theo các luồng cơ bản của bạn. Khi người dùng tiếp cận hệ thống và cung cấp dữ liệu thích hợp, hệ thống của bạn sẽ hỗ trợ họ đạt được mục tiêu của mình. Bắt đầu bằng cách thiết lập đường cơ sở với các luồng cơ bản, hiệu quả này. Để tìm ra các vấn đề có thể xảy ra trong các quy trình tiếp theo, hãy áp dụng các phương pháp lập sơ đồ quy trình.
3.5. xem xét các luồng thay thế:
Khi bạn đã viết xong một kịch bản hiệu quả, hãy viết thêm các luồng dẫn đến các kết luận khác nhau. Các luồng thay thế thường kéo theo việc lạm dụng một hệ thống ngăn cản các chủ thể đạt được mục tiêu của họ. Mặt khác, những lỗi nội bộ dẫn đến lỗi hệ thống hoặc các phương pháp không mong muốn trong đó hệ thống có thể hoàn thành mục tiêu cũng có thể được ghi nhận.
Thành công và thất bại của các tác nhân khác nhau với hệ thống được thể hiện thông qua các luồng thay thế. Chúng cung cấp cái nhìn tổng quan chi tiết hơn về tất cả các chức năng mà hệ thống của bạn có để hỗ trợ khắc phục sự cố.
3.6. Lặp lại các bước 2-5 để biên soạn một use case hoàn chỉnh:
Với đủ sự đa dạng về tác nhân, mục tiêu và kịch bản, bạn có thể cho thấy hệ thống của mình hoạt động như thế nào. Việc tổng hợp các luồng này lại với nhau sẽ mang lại cho bạn một trường hợp sử dụng có thể cải thiện quá trình phát triển và cung cấp thông tin cho các tài liệu khác như báo cáo trạng thái dự án .
Với các hệ thống đơn giản, bạn có thể thay đổi một số yếu tố để xem mọi kết quả có thể xảy ra. Tuy nhiên, các hệ thống phức tạp có thể có quá nhiều yếu tố để có thể thấy được từng kết quả. Trong những trường hợp như thế này, bạn có thể tập trung vào việc thử nghiệm những tương tác phổ biến nhất. Bạn cũng có thể thiết kế các hệ thống để ngăn chặn các cuộc tấn công chưa được kiểm tra.
Để việc viết use case của bạn trở nên dễ dàng bạn có thể sử dụng Figma để tạo ra một use case cho dự án của mình.
4. Lợi ích của use case
Các trường hợp sử dụng giúp bạn xác định các yêu cầu, phạm vi và lộ trình cho dự án của mình trong giai đoạn lập kế hoạch. Ngoài ra, các nhóm có thể nói về kết quả lý tưởng của người dùng và lập kế hoạch để đạt được điều đó. Bạn cũng có thể thấy trước những mối nguy hiểm từ các luồng thay thế trước khi chúng tác động tiêu cực đến trải nghiệm của người dùng. Dưới đây là một số ưu điểm khác của các trường hợp sử dụng trong trường hợp không đủ lý do để viết một trường hợp:
- Giải thích giá trị: Các trường hợp sử dụng giải thích các tính năng của hệ thống một cách dễ hiểu. Vì vậy, khi trình bày kế hoạch của bạn với các bên liên quan, trường hợp sử dụng sẽ giúp hệ thống của bạn dễ hiểu hơn.
- Dự đoán chi phí: Use case phác thảo mức độ phức tạp của hệ thống. Sự phức tạp hơn có thể đi kèm với các tính năng hoặc biện pháp bảo vệ bổ sung. Bằng cách tìm hiểu mức độ phức tạp của hệ thống, bạn có thể ước tính chi phí phát triển.
- Cải thiện việc lập kế hoạch: Nếu không có trường hợp sử dụng, các nhà thiết kế và nhà phát triển sẽ tập trung vào những gì hệ thống làm chứ không phải nó hoạt động như thế nào. Tuy nhiên, các trường hợp sử dụng giúp các nhóm xem xét tất cả các cách để triển khai các tính năng và biện pháp bảo vệ.
- Chia sẻ các cách sử dụng thay thế: Không phải tất cả các luồng thay thế trong hệ thống đều dẫn đến kết quả thất bại. Việc vạch ra các kịch bản khác nhau sẽ tìm ra giải pháp mới cho các vấn đề cũ hoặc mở rộng hiểu biết của bạn về những gì hệ thống có thể thực hiện được.
5. Một ví dụ về use case
Giả sử bạn là người quản lý sản phẩm đang phát triển ứng dụng ngân hàng di động cho công ty của mình. Nền tảng của bạn cần hợp lý hóa việc đăng ký người dùng và thiết lập tài khoản. Đây là định dạng trường hợp sử dụng mẫu dựa trên ứng dụng này:
5.1. Thông tin lai lịch:
- Hệ thống: ứng dụng ngân hàng di động.
- Tác nhân chính: khách hàng muốn mở tài khoản.
- Tác nhân phụ: người bảo lãnh và các công cụ tự động tính toán lãi suất và số dư gốc tối đa.
- Mục tiêu: tiết kiệm thời gian đăng ký tài khoản và tham gia.
- Các bên liên quan: Giám đốc điều hành và Phó chủ tịch sản phẩm của công ty bạn.
- Điều kiện tiên quyết: người dùng tải xuống ứng dụng và đáp ứng các yêu cầu về tài khoản.
- Kích hoạt: người dùng chọn tạo tài khoản mới từ ứng dụng.
5.2. Kịch bản:
- Quy trình cơ bản: Người dùng tải xuống ứng dụng của bạn và chọn tạo tài khoản mới. Ứng dụng thu thập thông tin về các tài khoản và điểm tín dụng khác của người dùng. Từ đó, nó tự động chia sẻ các tài khoản mà họ đủ điều kiện và lãi suất của họ. Người dùng tìm thấy một tài khoản phù hợp với nhu cầu của họ và đăng ký.
- Luồng thay thế 1: Người dùng nhập thông tin tài chính của họ và ứng dụng sẽ nhanh chóng tạo các tùy chọn tài khoản. Tuy nhiên, mỗi tài khoản đều mặc định có mức lãi suất cao nhất mà nền tảng tài chính của họ cho phép. Vì vậy, người dùng từ bỏ ứng dụng để tìm mức giá thấp hơn.
- Quy trình thay thế 2: Quy trình giới thiệu hoạt động như dự kiến, nhưng ứng dụng gặp phải các vấn đề về tuân thủ, chẳng hạn như yêu cầu Biết khách hàng (KYC - Know Your Customer). Mặc dù ứng dụng có thể cung cấp các tùy chọn tài khoản nhưng các bước tuân thủ bổ sung sẽ làm chậm quá trình này.
- Luồng thay thế 3: Vì ứng dụng chỉ xem xét các tài khoản và điểm tín dụng khác nên ứng dụng không thể cung cấp đầy đủ các tùy chọn tài khoản. Ví dụ: nó chỉ có thể cung cấp thẻ tín dụng và hạn mức tín dụng. Vì vậy, khách hàng đang tìm kiếm khoản thế chấp phải đi nơi khác.
Hy vọng rằng những chia sẻ của BAC sẽ giúp ích cho bạn. Đừng quên đón đọc các bài viết mới nhất được cập nhật tại BAC's Blog bạn nhé.
Nguồn tham khảo:
https://www.figma.com/
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN
Khoá học Online:
Khoá học Offline:
Tại Tp.HCM:
Tại Hà Nội:
Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất
Ban biên tập nội dung - BAC