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.

  • 📘 Định nghĩa: Yêu cầu phi chức năng (NFR) mô tả mức độ hoạt động tốt của hệ thống trên các khía cạnh hiệu năng, bảo mật, khả năng sử dụng, độ tin cậy và tính di động.
  • 🗂️ Loại phổ biến: Khả năng sử dụng, bảo mật, độ tin cậy, khả năng mở rộng, dung lượng, tính sẵn sàng, khả năng bảo trì và tuân thủ quy định là các hạng mục mà các nhóm hướng đến. track thường xuyên nhất.
  • 📊 Mô hình FURPS+: FURPS+ phân loại các yêu cầu phi chức năng (NFR) thành các nhóm: chức năng, khả năng sử dụng, độ tin cậy, hiệu năng, khả năng hỗ trợ và các ràng buộc về thiết kế hoặc giao diện.
  • 🎯 Các câu lệnh có thể kiểm chứng: Hãy thay thế các từ “nhanh” hoặc “an toàn” bằng các ngưỡng số và phương pháp xác minh để yêu cầu phi chức năng (NFR) có thể được kiểm tra và chấp nhận.
  • 🆚 Sự tương phản về chức năng: Các yêu cầu chức năng nêu rõ hệ thống thực hiện những gì; các yêu cầu phi chức năng nêu rõ hệ thống thực hiện điều đó tốt đến mức nào trong điều kiện thực tế.
  • Ảnh hưởng kinh doanh: Việc thiếu các yêu cầu phi chức năng (NFR) là nguyên nhân hàng đầu gây ra sự cố trong quá trình sản xuất, các vấn đề phát hiện của cơ quan quản lý và việc phải sửa đổi kiến ​​trúc tốn kém ở giai đoạn cuối.

Yêu cầu phi chức năng trong kỹ thuật phần mề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

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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ì.
  6. 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.

  1. 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.
  2. 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.
  3. Đặ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”.
  4. 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”.
  5. 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.
  6. Á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.

Câu Hỏi Thường Gặp

Các công cụ phân tích tải và hiệu năng dựa trên trí tuệ nhân tạo (AI) tạo ra lưu lượng truy cập thực tế, phát hiện các bất thường trong phân bố thời gian phản hồi và dự đoán giới hạn khả năng mở rộng trước khi đưa vào sản xuất. AI cũng kiểm tra nhật ký và các mẫu truy cập để gắn cờ các sự kiện bảo mật mà các công cụ dựa trên quy tắc truyền thống bỏ sót.

Copilot và GPT chuyển đổi các tuyên bố chất lượng mơ hồ thành các yêu cầu phi chức năng (NFR) có thể đo lường được với chỉ số, ngưỡng, điều kiện và phương pháp xác minh. Các chuyên viên phân tích kinh doanh xem xét từng bản nháp dựa trên các danh mục FURPS+ và khung SMART trước khi chấp nhận đưa vào danh sách công việc cần làm.

Kiểm thử chức năng kiểm tra xem các tính năng có hoạt động chính xác hay không, chẳng hạn như đăng nhập hoặc tìm kiếm. Kiểm thử phi chức năng đo lường hiệu suất của hệ thống dưới tải trọng, áp lực và điều kiện sử dụng, bao gồm các mục tiêu về hiệu suất, bảo mật, khả năng sử dụng, khả năng tương thích và độ tin cậy.

Khả năng mở rộng, tính sẵn sàng, độ trễ, tính linh hoạt và hiệu quả chi phí là những yếu tố quan trọng hàng đầu trong các yêu cầu phi chức năng (NFR) của điện toán đám mây. Các nhóm cũng tracKhả năng quan sát, các mục tiêu phục hồi sau thảm họa như RPO và RTO, và tuân thủ đa vùng là những yếu tố chi phối hầu hết các quyết định về kiến ​​trúc đám mây.

Chọn một chỉ số có đơn vị, đặt ngưỡng số, mô tả điều kiện áp dụng và đặt tên cho phương pháp xác minh. Ví dụ: thời gian phản hồi dưới 400 mili giây ở phân vị thứ 95 với 5,000 người dùng, được xác minh bởi JMeter.

Mã hóa dữ liệu khi lưu trữ và truyền tải, độ mạnh xác thực, ủy quyền dựa trên vai trò, ghi nhật ký kiểm toán, thời gian chờ phiên và tuân thủ các tiêu chuẩn như ISO 27001, PCI DSS và GDPR là những yêu cầu phi chức năng (NFR) về bảo mật mà hầu hết các nhóm đều lập tài liệu.

Việc sử dụng các tính từ mơ hồ, bỏ sót chỉ số hoặc điều kiện, chỉ liệt kê các yêu cầu phi chức năng (NFR) ở cuối dự án và sao chép nguyên văn các đoạn mã mẫu mà không có bài kiểm tra nào có thể xác minh là những lỗi phổ biến nhất dẫn đến việc phải làm lại kiến ​​trúc ở giai đoạn cuối.

Các yêu cầu phi chức năng (NFR) tồn tại trong Tài liệu đặc tả yêu cầu phần mềm, hồ sơ quyết định kiến ​​trúc, thỏa thuận mức dịch vụ và danh sách kiểm tra định nghĩa hoàn thành. Các nhóm Agile thường gắn các NFR có thể đo lường được vào các epic và vào định nghĩa sẵn sàng cho mỗi user story.

Tóm tắt bài viết này với: