Yêu cầu chức năng và phi chức năng

Trong lĩnh vực phần mềm khái niệm “yêu cầu” là một trong những điều thường xuyên được nhắc đến. Trong đó, yêu cầu chức năng (functional) và yêu cầu phi chức năng (non-functional) là một trong những điều quan trọng nhất.

Khái niệm yêu cầu chức năng và yêu cầu phi chức năng đã có từ rất lâu. Tuy nhiên, nếu không hiểu rõ sẽ rất dễ dàng nhầm lẫn.

Nếu có một điều mà bất kì một phần mềm hoặc dự án nào cũng phải có nếu không muốn thất bại. Đó không thể là gì khác ngoài yêu cầu chức năng và yêu cầu phi chức năng.

Để đạt được sự thành công của phần mềm, hay dự án, đòi hỏi cả người dùng lẫn người lập trình đều phải hiểu được nó. Đây chính là lúc cần đến các yêu cầu để đảm bảo sự cần bằng từ hai bên.

1. Định nghĩa yêu cầu chức năng và yêu cầu phi chức năng

Tuy nhiên, điều gì thực sự khác nhau giữa yêu cầu chức năng và yêu cầu phi chức năng? Điều đó không có gì phức tạp, khi mà bạn hiểu được sự khác nhau thì mọi thứ sẽ trở nên rõ ràng.

1.1 Yêu cầu chức năng ( functional ) là gì?

Yêu cầu chức năng được định nghĩa là sự mô tả của chức năng hoặc dịch vụ của phần mềm hay hệ thống.

Thông thường, yêu cầu chức năng sẽ chỉ ra một hành vi hoặc một chức năng. Ví dụ phần mềm hay hệ thống phải có chức năng:

Hiển thị tên, kích thước, khoảng trống có sẵn và định dạng của một ổ đĩa flash được kết nối với cổng USB. Chức năng thêm khách hàng hay in hóa đơn.

Ví dụ:Yêu cầu chức năng của hộp sữa carton là có thể tích 400ml

Một vài yêu cầu chức năng phổ biến như là:

  • Nguyên tắc kinh doanh
  • Các giao dịch đúng, những sự điều chỉnh và hủy bỏ
  • Chức năng hành chính
  • Xác thực
  • Phần quyền
  • Theo dõi kiểm toán
  • Giao diện bên ngoài
  • Yêu cầu chứng chỉ
  • Yêu cầu báo cáo
  • Lịch sử dữ liệu
  • Yêu cầu pháp lí và quy định

1.2 Yêu cầu phi chức năng (Non-Functional) là gì?

Vậy còn Yêu cầu phi chức năng? Chúng là gì? Và chúng khác gì? Có thể nói một cách đơn giản rằng yêu cầu phi chức năng chỉ ra những quy định về tính chất và ràng buộc cho phần mềm hay hệ thống.

Yêu cầu phi chức năng bao gồm tất cả những yêu cầu mà yêu cầu chức năng không có. Chúng chỉ ra những tiêu chí để đánh giá hoạt động của hệ thống thay vì hành vi. Ví dụ:

Thay đổi dữ liệu trong cơ sở dữ liệu nên được cập nhật cho tất cả người dùng sử dụng hệ thống trong 2 giây.

Ví dụ: Yêu cầu phi chức năng của nón bảo hộ là chịu được sức ép 10,000PSI

Một vài yêu cầu phi chức năng phổ biến như:

  • Hiệu suất ví dụ như thời gian phản hồi, thông lượng, dùng trong việc gì, thể tích tĩnh
  • Khả năng mở rộng
  • Sức chứa
  • Độ khả dụng
  • Độ tin cậy
  • Khả năng phục hồi
  • Khả năng bảo trì
  • Dịch vụ có sẵn
  • An ninh
  • Quy định
  • Khả năng quản lí
  • Môi trường
  • Toàn vẹn dữ liệu
  • Khả năng sử dụng
  • Khả năng tương tác

Như đã nói ở trên, yêu cầu phi chức năng chỉ ra những đặc tính chất lượng hay các thuộc tính chất lượng.

Nhiều bên liên quan khác nhau có được quyền lợi trong một yêu cầu phi chức năng. Đặc biệt, trong trường hợp những hệ thống lớn và người mua không nhất thiết là người sử dụng hệ thống đó.

Tầm quan trọng của yêu cầu phi chức năng là không thể xem thường. Có một cách chắc chắn để đảm bảo các yêu cầu phi chức năng không bị bỏ sót đó là sử dụng các nhóm yêu cầu phi chức năng.

2. Sự khác nhau giữa yêu cầu chức năng và yêu cầu phi chức năng

Như vậy, có thể thấy sự khác nhau rất rõ ràng giữa yêu cầu chức năng và yêu cầu phi chức năng. Trong đó:

  • Yêu cầu chức năng: mô tả chức năng hoặc dịch vụ của phần mềm hay hệ thống
  • Yêu cầu phi chức năng: mô tả những ràng buộc và tính chất của phần mềm hay hệ thống

Vì vậy, trong thực tế yêu cầu phi chức năng sẽ được đánh giá là có phần quan trọng hơn. Nếu không thỏa mãn được các yêu cầu này thì phần mềm hoặc hệ thống sẽ không thể đưa vào sử dụng.

Kết luận

Hiện nay, các khái niệm về yêu cầu đôi lúc gặp phải những khó khăn nhất định về rào cản ngôn ngữ. Tuy nhiên, để có thể đáp ứng chính xác nhu cầu phần mềm hay hệ thống đòi hỏi những yêu cầu phải thực sự rõ ràng.

Bài viết có sử dụng những phần dịch tiếng Việt để giúp bạn đọc có được cái nhìn trực quan nhất. Mong rằng những kiến thức trên sẽ hữu ích với các bạn, nếu có bất kì câu hỏi nào hãy để lại bên dưới bài viết này.

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. 

– Biên tập nội dung BAC –