2. Use Case
2.1. Use Case là gì?
Use case mô tả sự tương tác giữa người dùng và hệ thống (người dùng – hệ thống, hệ thống – hệ thống khác).
2.2. Đặc trưng là gì?
Use case thường được viết thành tài liệu hoặc văn bản chi tiết mô tả đầy đủ về tất cả những trường hợp mà người dùng sử dụng phần mềm sẽ gặp phải và cách mà phần mềm sẽ làm việc.
Mục đích của UC là phải diễn tả được yêu cầu theo góc nhìn cụ thể từ phía người dùng. UC như là một bản hướng dẫn cho team dev tập trung vào việc tạo ra các sản phẩm mang tính tập trung vào người dùng là chính và cũng giúp các bên liên quan không bị hiểu sai về thiết kế sản phẩm.
2.3. Ví dụ
Use Case Diagram
Use Case ID | UC-7 |
---|---|
Use Case Name | Đặt hàng |
Description | Use Case “Đặt hàng” cho phép khách hàng tạo đơn đặt hàng khi đã lựa chọn xong và quyết định mua những sản phẩm trong giỏ hàng |
Actor(s) | Khách hàng, Hệ thống thanh toán |
Priority | Must Have |
Trigger | Khách hàng chọn lệnh Tiến hành thanh toán |
Pre-Condition(s) | – Khách hàng phải truy cập vào hệ thống và đang ở giao diện Trang giỏ hàng – Sản phẩm cần đặt hàng phải hiển thị trong Giỏ hàng – Thiết bị của khách hàng đã được kết nối internet khi thực hiện đặt hàng |
Post-Condition(s) | – Người dùng đặt hàng thành công – Hệ thống ghi nhận đơn hàng đã tạo thành công. |
Basic Flow | 1. Ở giao diện trang Giỏ hàng, Người dùng chọn lệnh Tiến hành thanh toán. 2. Hệ thống hiển thị giao diện Trang thanh toán 3. Người dùng kiểm tra đơn hàng đúng và điền thông tin đặt hàng 4. Người dùng chọn phương thức thanh toán khi nhận hàng 5. Hệ thống xác nhận đơn hàng đã được ghi nhận và hiển thị chi tiết đơn hàng Use case kết thúc. |
Alternative Flow | 4a. Người dùng chọn hình thức Chuyển khoản ngân hàng 5a. Hệ thống xác nhận đơn hàng đã được ghi nhận và hiển thị thông tin chi tiết đơn hàng cùng thông tin tài khoản ngân hàng của cửa hàng (Ngân hàng. Chủ tài khoản, Số tài khoản) 4b. Người dùng chọn hình thức thanh toán qua Paypal 4b1. Hiển thị giao diện hệ thống thanh toán Paypal 4b2. Người dùng điền thông tin tài khoản 4b3. Hệ thống Paypal kiểm tra tài khoản hợp lệ và thực hiện thanh toán thành công 5b. Hệ thống xác nhận thanh toán thành công, đơn hàng được ghi nhận và hiển thị thông báo. Use case dừng lại |
Exception Flow | 5d. Hệ thống xác thực thanh toán không thành công và hiển thị thông báo với một trong các nguyên nhân: Thông tin tài khoản thanh toán không đúng Số tiền trong tài khoản thanh toán không đủ số dư 5d1. Người dùng hủy thanh toán Use case kết thúc 5d2. Người dùng nhập lại thông tin Use Case tiếp tục quay lại bước 4b |
Business Rules | Đối với hình thức chuyển khoản ngân hàng, đơn hàng được giữ trong vòng 24h kể từ thời gian xác nhận đặt hàng. |
2.4. Làm thế nào để xác định đủ các Use Case
Sau đây là 4 kỹ thuật có thể giúp xác định Use Case tốt hơn:
(1) Xác định Actor cho hệ thống:
- Đầu tiên, xác định đầy đủ actor cho hệ thống:
- Những ai sẽ là người sử dụng chính chức năng của hệ thống?
- Những ai cần hệ thống hỗ trợ chức năng để hoàn thành tác vụ hàng ngày của họ?
- Những ai tham gia nâng cấp, hỗ trợ, đảm bảo hệ thống hoạt động được bình thường?
- Những ai cần biết được kết quả đầu ra của hệ thống?
- Sẽ có hệ thống nào tương tác với hệ thống đang được xây dựng?
Từ những actor đã xác định từ trước đó, sẽ phát triển những usecase cho từng actor:
- Những chức năng mà Actor cần hệ thống thực hiện?
- Những sự kiện trong hoạt động hàng ngày mà Actor cần thông báo cho hệ thống biết
- Những thông tin, chức năng đầu vào/đầu ra cần cho hệ thống?
- Có tác nhân hoặc sự kiện nào tác động tới usecase?
- Chức năng mới nào mà trước đây trong tổ chức chưa có sẽ giúp Actor làm việc đơn giản hoặc hiệu quả hơn?
(2) Kỹ thuật mục tiêu người dùng:
Kỹ thuật này thực hiện bằng cách liệt kê các bên liên quan, nói chuyện với người dùng và thảo luận về mục tiêu của họ đối với hệ thống mới. Sau đó phân tích hệ thống hiện có và hỏi người dùng về cách họ muốn sử dụng hệ thống mới, và đưa ra một loạt trường hợp sử dụng use case.
=> Use case sẽ kết hợp giữa các chức năng có sẵn và các tính năng mới được mong đợi bổ sung vào.
(3) Kỹ thuật CRUD:
CRUD viết tắt Tạo (Create), Đọc (Read) hoặc Báo cáo (Report), Cập nhật (Update) và Xóa (Delete).
Trong phương pháp này, xác định tất cả các yếu tố dữ liệu sẽ được xử lý bởi hệ thống và tạo ra các use case về CRUD cho các mục dữ liệu.
Ví dụ một hệ thống quản lý nhân sự:
- Xác định các mục dữ liệu sẽ được xử lý bởi hệ thống. Các mục dữ liệu liên quan đến nhân viên, đơn từ.
- Kiểm tra từng mục dữ liệu và xác định các use case tạo ra dữ liệu; đọc và báo cáo dữ liệu; cập nhật dữ liệu; và xóa dữ liệu.
Dữ liệu | CRUD | Kết quả |
---|---|---|
Nhân viên | Tạo | Thêm nhân viên mới |
Báo cáo | Tìm nhân viên Làm danh sách nhân viên | |
Cập nhật | Cập nhật thông tin nhân viên | |
Xóa | Xóa nhân viên | |
Đơn từ | Tạo | Tạo đơn từ nghỉ phép |
Báo cáo | Tìm đơn từ Làm danh sách đơn từ | |
Cập nhật | Cập nhật thông tin đơn từ | |
Xóa | Xóa đơn từ |
(4) Kỹ thuật phân tách sự kiện:
Kỹ thuật này tập trung vào xác minh các sự kiện mà một hệ thống được yêu cầu để phản hồi và sau đó xác định xem cách hệ thống đó phản hồi. Dưới đây là các bước để sử dụng kỹ thuật này:
Bước 1: Hãy nghĩ về hệ thống như một chiếc hộp đen
Những sự kiện nào sẽ được yêu cầu để phản hồi lại? Bước này sẽ cho phép bạn kiểm tra phạm vi của hệ thống mà không cần xem xét các hoạt động bên trong nó. Ví dụ một hệ thống bán hàng và xác định các sự kiện có thể xảy ra bên ngoài nó.
Người mua (bên ngoài) có thể kích hoạt các sự kiện sau:
- Tạo đơn đặt hàng
- Tìm kiếm sản phẩm
- Nộp đơn đặt hàng
Để người mua thực hiện các nhiệm vụ trên, hệ thống phải có các chức năng (các use case) sau:
- Lưu trữ thông tin đơn hàng
- Lưu trữ các tin sản phẩm
- Chấp nhận đơn đặt hàng
Bước 2: Xem xét các sự kiện được kích hoạt bên trong hệ thống.
Tiếp tục sử dụng hệ thống bán hàng làm ví dụ, các sự kiện tạm thời có thể là:
- Thời gian cập nhật tin sản phẩm
- Thời gian để đếm số lượng đơn đặt hàng nhận được
- Thời gian lọc đơn đặt hàng
- Thời gian để chuyển tiếp đơn đặt hàng đã tiếp nhận về các bộ phận tương ứng
- Thời gian tổng hợp báo cáo
Hệ thống phải có khả năng đáp ứng các chức năng sau (Use case):
- Cập nhật tin sản phẩm
- Đếm số lượng đơn đặt hàng
- Lọc đơn đặt hàng
- Chuyển tiếp đơn đặt hàng
- Báo cáo tổng hợp
=>> Nên tập trung vào 2 sự kiện riêng biệt: những sự kiện tác động bên ngoài và những sự kiện tác động bên trong.
=>> Với tất cả mọi trường hợp của use case, việc tốt nhất là tập trung vào mức độ chi tiết, dựa vào các yếu tố của quy trình kinh doanh (EBP – Elementary Business Processes).
Tham khảo mẫu template về Use Case: Template Use Case
Hy vọng rằng những chia sẻ trên đây về Use Case sẽ hữu ích với bạn đọc. BAC mời các bạn cùng tham khảo thêm thông tin về loại tài liệu thứ ba mà một BA cần biết Functional Specification (FS) ở Phần 3 của bài viết tại đây:
Tham khảo: User Story, Use Case, Functional Specification (Phần 3)
Nhu cầu đào tạo doanh nghiệp
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