Yêu cầu phi chức năng trong Kỹ thuật phần mềm là gì?
⚡ Tóm tắt thông minh
Các yêu cầu phi chức năng xác định các thuộc tính chất lượng như hiệu suất, bảo mật, khả năng sử dụng, độ tin cậy, khả năng mở rộng và tính di động, định nghĩa mức độ hoạt động tốt của một hệ thống phần mềm và biến những kỳ vọng mơ hồ thành các mục tiêu kỹ thuật có thể đo lường, kiểm thử và thực thi được trong suốt vòng đời phát triển sản phẩm.
Yêu cầu phi chức năng là gì?
A Yêu cầu phi chức năng (NFR) chỉ định một thuộc tính chất lượng của hệ thống phần mềm. NFR đánh giá hệ thống dựa trên khả năng phản hồi, tính khả dụng, tính bảo mật, tính di động và các thuộc tính chất lượng khác rất quan trọng đối với sự thành công. Một ví dụ phổ biến về yêu cầu phi chức năng là: “trang web tải nhanh như thế nào?” Việc không đáp ứng các yêu cầu phi chức năng sẽ dẫn đến các hệ thống khiến người dùng thất vọng.
Các yêu cầu phi chức năng trong kỹ thuật phần mềm đặt ra những ràng buộc đối với thiết kế hệ thống trong toàn bộ danh sách công việc cần làm theo phương pháp Agile. Ví dụ, trang web cần tải trong ba giây khi số người dùng đồng thời vượt quá 10,000. Việc mô tả các yêu cầu phi chức năng cũng quan trọng không kém việc nắm bắt các yêu cầu chức năng.
Các loại yêu cầu phi chức năng
Các loại yêu cầu phi chức năng chính bao gồm:
Các loại yêu cầu phi chức năng
- Khả năng sử dụng
- Khả năng phục vụ
- Khả năng quản lý
- khả năng phục hồi
- Bảo mật
- Ngày Integrity
- Sức chứa
- Sự có sẵn
- khả năng mở rộng
- Khả năng cộng tác
- Độ tin cậy
- Khả năng bảo trì
- Tuân thủ quy định phát luật
- Môi trường hạn chế
Ví dụ về các yêu cầu phi chức năng
Dưới đây là một số ví dụ thực tế về các yêu cầu phi chức năng:
- Người dùng phải thay đổi mật khẩu ban đầu sau lần đăng nhập thành công đầu tiên và mật khẩu ban đầu không bao giờ được sử dụng lại.
- Nhân viên không được phép tự cập nhật thông tin lương của mình, và bất kỳ hành vi nào vi phạm sẽ bị báo cáo cho quản trị viên an ninh.
- Mọi nỗ lực truy cập dữ liệu không thành công của người dùng đều sẽ được ghi lại trong nhật ký kiểm toán.
- Trang web phải hỗ trợ 20 triệu người dùng truy cập đồng thời mà không làm giảm tốc độ phản hồi.
- Phần mềm phải có tính di động để việc chuyển đổi từ hệ điều hành này sang hệ điều hành khác không gây ra vấn đề gì.
- Việc bảo mật thông tin, xuất khẩu công nghệ bị hạn chế và quyền sở hữu trí tuệ sẽ được kiểm toán.
Yêu cầu chức năng so với yêu cầu phi chức năng
Sự khác biệt chính giữa yêu cầu chức năng và yêu cầu phi chức năng là:
| Thông số Kỹ thuật | Yêu cầu về chức năng | Yêu cầu phi chức năng |
|---|---|---|
| Nó là gì? | Động từ | Thuộc tính |
| Hạng mục | Nó là bắt buộc | Nó không bắt buộc |
| Kiểu chụp | Nó được ghi lại trong trường hợp sử dụng. | Nó được ghi lại như một thuộc tính chất lượng. |
| Kết quả cuối cùng | tính năng sản phẩm | Tính chất của sản phẩm |
| Chụp | Dễ dàng chụp | Khó bắt |
| Mục tiêu | Giúp bạn xác minh chức năng của phần mềm. | Giúp bạn xác minh hiệu suất của phần mềm. |
| Khu vực tiêu điểm | Tập trung vào yêu cầu của người dùng | Tập trung vào sự mong đợi của người dùng. |
| Tài liệu | Mô tả những gì sản phẩm làm | Mô tả cách sản phẩm hoạt động |
| Loại thử nghiệm | Thử nghiệm chức năng Ví dụ như kiểm thử hệ thống, tích hợp, đầu cuối, API, v.v. | Kiểm tra phi chức năng như Hiệu suất, Căng thẳng, Khả năng sử dụng, Kiểm tra bảo mật, v.v. |
| Thực hiện kiểm tra | Việc thực hiện kiểm thử được thực hiện trước khi kiểm thử phi chức năng. | Sau khi kiểm tra chức năng |
| Thông tin sản phẩm | Đặc tính sản phẩm | Tính chất của sản phẩm |
Ưu điểm của các yêu cầu phi chức năng
Những lợi ích chính của Kiểm tra phi chức năng là:
- Các yêu cầu phi chức năng đảm bảo hệ thống tuân thủ các quy định pháp luật và quy tắc ứng xử.
- Chúng bảo vệ độ tin cậy, tính khả dụng và hiệu suất của hệ thống.
- Chúng mang lại trải nghiệm người dùng tốt và dễ sử dụng.
- Chúng định hình chính sách bảo mật của phần mềm.
Nhược điểm của các yêu cầu phi chức năng
Những nhược điểm thường gặp của các yêu cầu phi chức năng là:
- Các yêu cầu phi chức năng có thể ảnh hưởng đến nhiều hệ thống con phần mềm cấp cao.
- Chúng đòi hỏi sự cân nhắc đặc biệt trong quá trình thiết kế kiến trúc và thiết kế cấp cao, điều này làm tăng chi phí.
- Việc triển khai hiếm khi chỉ gói gọn trong một hệ thống con phần mềm duy nhất.
- Rất khó để sửa đổi chúng một khi giai đoạn thiết kế kiến trúc đã hoàn tất.
Mô hình FURPS+ để phân loại các yêu cầu phi chức năng
FURPS+ là hệ thống phân loại được sử dụng rộng rãi nhất cho các yêu cầu phi chức năng. Ban đầu được phát triển tại Hewlett-Packard, nó nhóm các thuộc tính chất lượng thành năm danh mục chính cộng với các ràng buộc bổ sung được đánh dấu bằng dấu “+”. Mô hình này giúp các nhà phân tích nghiệp vụ tránh bỏ sót toàn bộ một nhóm yêu cầu.
- Chức năng: Khả năng, tính bảo mật và khả năng tái sử dụng vượt xa danh sách các tính năng cơ bản.
- Khả năng sử dụng: Các yếu tố con người, tính thẩm mỹ, tính nhất quán, tài liệu và khả năng đáp ứng của trải nghiệm người dùng.
- Độ bền: Tính khả dụng, thời gian trung bình giữa các lần hỏng hóc, khả năng phục hồi, khả năng dự đoán và độ chính xác.
- Hiệu suất: Tốc độ, thông lượng, dung lượng, khả năng mở rộng và mức tiêu thụ tài nguyên khi chịu tải.
- Khả năng hỗ trợ: Khả năng kiểm thử, tính linh hoạt, khả năng cài đặt, khả năng bản địa hóa và khả năng bảo trì của hệ thống được cung cấp.
- Dấu cộng (+): Thiết kế, triển khai, giao diện và các ràng buộc vật lý như nền tảng, tiêu chuẩn hoặc phần cứng cần thiết.
Các nhóm phân loại mọi yêu cầu phi chức năng vào một hạng mục FURPS+ sẽ ít có khả năng cho ra mắt một hệ thống đáp ứng được các tính năng nhưng lại gặp vấn đề về hiệu năng, bảo mật hoặc khả năng bảo trì.
Cách viết các yêu cầu phi chức năng có thể kiểm thử được
Một yêu cầu phi chức năng được viết tốt phải đo lường được, kiểm chứng được và có thời hạn. Những tuyên bố mơ hồ như “hệ thống phải nhanh” hoặc “ứng dụng phải an toàn” chỉ là nguyện vọng, chứ không phải là yêu cầu bắt buộc. Hãy làm theo các bước dưới đây để chuyển đổi ý định thành một yêu cầu phi chức năng có thể kiểm thử được.
- Xác định thuộc tính chất lượng. Hãy phân loại vấn đề vào một hạng mục FURPS+ để nhóm biết đó là yêu cầu về hiệu năng, khả năng sử dụng, bảo mật hay độ tin cậy.
- Hãy chọn một chỉ số đo lường. Mỗi yêu cầu phi chức năng (NFR) cần một đơn vị đo — mili giây, số yêu cầu mỗi giây, số người dùng đồng thời, tỷ lệ thời gian hoạt động hoặc một tiêu chuẩn tuân thủ như ISO 27001.
- Đặt ngưỡng số. Thay thế từ “nhanh” bằng “dưới 400 mili giây ở phân vị thứ 95”. Thay thế từ “độ khả dụng cao” bằng “thời gian hoạt động hàng tháng đạt 99.9 phần trăm”.
- Hãy mô tả tình trạng bệnh. Hãy nêu rõ mức tải, môi trường hoặc phân khúc người dùng mà ngưỡng đó áp dụng, ví dụ như “trong thời gian bán hàng cao điểm với 10,000 người dùng đồng thời”.
- Hãy xác định phương pháp kiểm chứng. Hãy lưu ý loại kiểm thử — kiểm thử tải, kiểm thử xâm nhập, thử nghiệm hỗn loạn, kiểm tra khả năng truy cập — và công cụ sẽ xác nhận ngưỡng.
- Áp dụng kiểm tra SMART. Hãy xác nhận rằng yêu cầu đó phải Cụ thể, Đo lường được, Khả thi, Phù hợp và Có thời hạn trước khi đưa vào danh sách công việc tồn đọng.
Ví dụ viết lại: “Hệ thống phải nhanh” trở thành “Trang thanh toán phải phản hồi trong vòng dưới 500 mili giây ở phân vị thứ 95 với 5,000 người dùng đồng thời, được xác minh bởi một JMeter "Kiểm tra tải cho mỗi bản phát hành." Tuyên bố được sửa đổi cho phép các nhà phát triển thiết kế cho điều đó, người kiểm thử xác minh và chủ sở hữu sản phẩm chấp nhận mà không cần tranh cãi.


