Yêu cầu chức năng và yêu cầu phi chức năng
Đáp án mẫu
Yêu cầu chức năng mô tả hệ thống phải làm gì: hành vi, quy tắc và cách xử lý dữ liệu. Ví dụ: "khách hàng có thể đặt lại mật khẩu qua đường dẫn gửi trong email".
Yêu cầu phi chức năng (NFR) mô tả hệ thống phải làm tốt đến mức nào, hoặc các ràng buộc khi vận hành: hiệu năng, bảo mật, tính sẵn sàng, khả năng sử dụng, khả năng tiếp cận, tuân thủ quy định và khả năng mở rộng. Ví dụ: "đường dẫn đặt lại mật khẩu hết hạn sau 30 phút" hoặc "trang tải trong dưới 2 giây với 95% request".
Một NFR tốt phải đo được. "Hệ thống phải nhanh" thì không kiểm thử được, còn "kết quả tìm kiếm trả về trong 500 ms ở phân vị 95 với 1.000 người dùng đồng thời" thì kiểm thử được.
NFR thường bị quên khi khai thác yêu cầu, trong khi chúng quyết định kiến trúc và chi phí. Vì vậy hãy chủ động hỏi và viết chúng kèm con số và cách kiểm chứng.
Ý chính
- Chức năng: hệ thống làm gì
- Phi chức năng: làm tốt đến đâu (hiệu năng, bảo mật, tính sẵn sàng)
- Viết NFR thành câu đo được và kiểm thử được
Câu hỏi nối tiếp thường gặp
- Nêu ba yêu cầu phi chức năng cho một trang thanh toán.
- Làm sao biến một NFR mơ hồ như "dễ sử dụng" thành thứ kiểm thử được?
Lỗi thường gặp
- Viết NFR không có con số hay cách kiểm chứng
- Chỉ hỏi về tính năng và phát hiện NFR quá muộn