Top 8 # Yêu Cầu Chức Năng Và Phi Chức Năng Xem Nhiều Nhất, Mới Nhất 2/2023 # Top Trend | Theindochinaproject.com

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.

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.

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 chúng tôi 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 –

Yêu Cầu Chức Năng Hay Phi Chức Năng?

Đã có một câu trả lời tuyệt vời của Aaronaught, nhưng vì đã có những câu trả lời khác, hiện đã bị xóa, hoàn toàn sai về yêu cầu phi chức năng là gì, tôi nghĩ sẽ hữu ích khi thêm một vài lời giải thích để tránh những sai lầm về những gì yêu cầu phi chức năng là.

Yêu cầu phi chức năng là “chất lượng hoặc tài sản mà sản phẩm phải có” . James Taylor nói rằng một yêu cầu phi chức năng “[…] dù sao cũng là một yêu cầu và điều quan trọng đối với khách hàng, đôi khi còn quan trọng hơn cả yêu cầu chức năng” . Sau đó, ông đưa ra hai ví dụ: logo của sản phẩm, độ chính xác và độ tin cậy của thiết bị. Cả hai ví dụ cho thấy rất rõ rằng:

Các yêu cầu phi chức năng không phải là một jibber-jabber tiếp thị như: “Internet ngày nay rất quan trọng và chúng tôi muốn có một trang web”.

Các yêu cầu phi chức năng là hoàn toàn khách quan.

Điểm cuối cùng là cần thiết. Nếu yêu cầu là chủ quan, nó không có gì để làm trong danh sách các yêu cầu. Không thể xây dựng các bài kiểm tra xác nhận từ một cái gì đó chủ quan . Mục đích duy nhất của danh sách các yêu cầu là liệt kê những kỳ vọng không mơ hồ của khách hàng. “Tôi muốn hình vuông này có màu đỏ” là một yêu cầu. “Tôi muốn hình vuông này có màu sắc đẹp” là một điều ước cần có lời giải thích.

Hãy nhớ rằng danh sách các yêu cầu giống như một hợp đồng (và trong hầu hết các trường hợp là một phần của hợp đồng). Nó được ký bởi khách hàng và công ty phát triển, và trong trường hợp kiện tụng, nó sẽ được sử dụng hợp pháp để xác định xem bạn đã thực hiện đúng công việc của mình chưa. Điều gì sẽ xảy ra nếu tôi đặt hàng cho bạn một sản phẩm phần mềm, xác định rằng “sản phẩm phải tuyệt vời” và từ chối thanh toán khi sản phẩm được hoàn thành, bởi vì đối với tôi, những gì bạn thực sự đã làm không phải là một sản phẩm tuyệt vời ?

Vì vậy, hãy xem một số ví dụ.

1. Sản phẩm phần mềm đáp ứng cho người dùng cuối.

Đây không phải là một yêu cầu. Không phải là một chức năng. Không phải là một chức năng. Nó không phải là một yêu cầu. Ở tất cả. Nó có giá trị bằng không. Bạn không thể kiểm tra xem hệ thống phần mềm có đáp ứng yêu cầu này trong quá trình kiểm tra xác nhận hay không. Không phải bạn – bộ phận QA, cũng không phải khách hàng.

2. Việc tải lại số liệu thống kê người dùng thực hiện 90% thời gian dưới 100 ms. khi được thử nghiệm trên máy với hiệu suất được chỉ định trong phụ lục G phần 2 và tải dưới 10% cho CPU, dưới 50% cho bộ nhớ và không có hoạt động đĩa R / W hoạt động.

Đó là một yêu cầu. Nếu phụ lục G phần 2 đủ chính xác, tôi có thể lấy máy có phần cứng tương tự và thực hiện kiểm tra xác nhận trong bộ phận QA và tôi sẽ luôn nhận được kết quả nhị phân: đã vượt qua hoặc thất bại.

Đây có phải là một yêu cầu chức năng? Không. Nó không chỉ định những gì hệ thống phải làm. Có thể có một yêu cầu chức năng trước đó, xác định rằng ứng dụng phần mềm phải có thể tải lại số liệu thống kê người dùng.

Đây có phải là một yêu cầu phi chức năng? Nó là. Nó chỉ định một thuộc tính mà sản phẩm phải có, tức là thời gian phản hồi tối đa / trung bình, được đưa ra ngưỡng phần trăm.

4. Cơ sở mã C # của sản phẩm tuân theo Quy tắc khuyến nghị tối thiểu của Microsoft và Quy tắc toàn cầu hóa của Microsoft.

Đây là một điều kỳ lạ. Cá nhân, tôi không muốn gọi nó là một yêu cầu, và đưa nó vào một tài liệu riêng quy định các tiêu chuẩn và thực tiễn tốt nhất.

5. Cửa sổ chính của ứng dụng có viền 10px màu xanh lam (# 00f) với các vòng tròn được tô màu hồng (#fcc), các vòng tròn đó được đặt ở cạnh trong của đường viền và có đường kính 3px, cách nhau 20px.

Đây là một yêu cầu, và không có chức năng. Nó chỉ định một cái gì đó chúng tôi có thể kiểm tra trong quá trình kiểm tra xác thực và nó chỉ định một thuộc tính của sản phẩm, chứ không phải những gì sản phẩm dự định làm.

6. Hệ thống theo dõi xe đo tốc độ với độ chính xác ± 0,016 dặm / giờ.

Cũng là một yêu cầu phi chức năng. Nó đưa ra một ngưỡng có thể đo lường được về độ chính xác của hệ thống. Nó không cho biết hệ thống phải làm gì, nhưng cho biết chính xác thì nó hoạt động như thế nào. Nhưng còn chờ gì nữa? Nó nói rằng hệ thống theo dõi xe đo tốc độ, phải không? Vì vậy, đó là một yêu cầu chức năng quá? Chà, không, vì chúng tôi nhấn mạnh vào độ chính xác của phép đo, chứ không phải trên thực tế là phép đo được thực hiện.

7. Hệ thống theo dõi xe đo tốc độ của xe.

Bây giờ nó là một yêu cầu chức năng. Nó không cho biết hệ thống hoạt động như thế nào, nhưng nó đang làm gì. Thông qua các yêu cầu chức năng, chúng ta có thể biết rằng hệ thống theo dõi xe đo tốc độ, năng lượng pin, áp suất của tôi không biết đèn nào sáng và có bật hay không.

8. Các trang của trang web mất 850 ms. để tải.

Đây không phải là một yêu cầu. Là cố gắng là một, nhưng hoàn toàn không hợp lệ. Làm thế nào bạn có tài sản này? Những trang nào? Tất cả các? Đã thử nghiệm qua mạng 1Gbps cục bộ trên máy khách lõi tứ và máy chủ tám lõi với SSD được sử dụng ở mức 2% hoặc qua modem của máy tính xách tay cũ và xảo quyệt trong khi trang web được lưu trữ bởi một máy chủ nhỏ được sử dụng ở mức 99% ? “Tải” nghĩa là gì? Có nghĩa là tải xuống trang? Tải về và hiển thị nó? Gửi yêu cầu POST với một số dữ liệu lớn, sau đó tải phản hồi và hiển thị nó?

Để kết luận, một yêu cầu phi chức năng luôn là một yêu cầu, có nghĩa là nó mô tả một cái gì đó là hoàn toàn khách quan và có thể được kiểm tra thông qua một bài kiểm tra xác nhận tự động hoặc bằng tay, nhưng thay vì nói những gì hệ thống đang làm, nó giải thích cách hệ thống đang làm một cái gì đó hoặc làm thế nào hệ thống là chính nó .

Quản lý các dự án công nghệ thông tin: Áp dụng các chiến lược quản lý dự án cho các sáng kiến ​​tích hợp phần cứng, phần cứng và tích hợp, James Taylor, ISBN: 0814408117.

Kiểm Thử Phi Chức Năng Và Abnormal

Khi lập kế hoạch kiểm thử xung quanh một dự án phần mềm, chúng ta có xu hướng chỉ nghĩ về các chức năng chính và mục tiêu cuối cùng, giảm thiểu các trường hợp về những gì dự án phần mềm thực sự cần để đạt được.

Những yêu cầu phi chức năng và trường hợp abnormal thường không được dự tính, hoặc được đánh giá thấp hoặc được tự động chấp thuận.

Tuy nhiên trong nhiều trường hợp, điều không tốt của sản phẩm có thể xảy ra và nó thường tiềm ẩn trong các yêu cầu phi chức năng, các trường hợp abnormal.

Vì vậy, việc đưa các kịch bản kiểm thử phi chức năng và trường hợp abnormal trở thành một phần trong quá trình lập kế hoạch và ước tính là điều cần thiết.

1. Non_Functional case (phi chức năng):

Security (Bảo mật)

Ứng dụng có cần kiểm soát người truy cập và session hay không?Có cần lưu trữ dữ liệu ở vị trí an toàn, với định dạng an toàn không?Có yêu cầu đảm bảo đường dẫn kết nối cho dữ liệu không?

Concurrency and Capacity (Đồng thời và chịu tải)

Hệ thống có thể xử lý đồng thời và có khả năng tương tác với hệ thống khác không? Số lượng người dùng đồng thời tối thiểu, trung bình, tối đa là bao nhiêu? Bao nhiêu dữ liệu có thể lưu trữ trên hệ thống và lưu trữ trong bao lâu? Có mức độ tối đa cho việc truyền dữ liệu không?

Performance (Hiệu năng)

Giá trị mong muốn hệ thống đáp ứng là bao nhiêu? Hiệu năng thường được đánh giá bằng thời gian.

Reliability (Độ tin cậy)

Có cần phải đảm bảo và thông báo về các giao dịch và xử lý hệ thống? Dữ liệu được chuyển giao một cách đáng tin cậy và sử dụng các giao thức đáng tin cậy hay không?

Maintainability (Khả năng bảo trì)

Bảo trì có thể biểu hiện khả năng mở rộng để phát triển và cải thiện các tính năng hệ thống và chức năng.

Usability (Tính khả dụng)

Áp dụng các yêu cầu trải nghiệm người dùng vào dự án (Để tiết kiệm được rất nhiều thời gian khi phát hành dự án vì người dùng sẽ không yêu cầu thay đổi hoặc thậm chí là không gây ra hiểu lầm)

Documentation (Tham khảo)

Cuối cùng nhưng không kém phần quan trọng, tất cả các dự án đều yêu cầu tối thiểu tài liệu ở các cấp độ khác nhau. Trong nhiều trường hợp, người dùng thậm chí có thể cần được đào tạo về nó, vì vậy việc duy trì các tiêu chuẩn và thực hành tài liệu tốt sẽ làm nhiệm vụ này lan truyền dọc theo phát triển dự án; nhưng điều này cũng phải được thiết lập kể từ khi lập kế hoạch dự án để bao gồm nhiệm vụ này trong danh sách

2. Abnormal case:

P/S: áp dụng cho các dự án application trên mobile

Tương tác (Incoming call/ notification message/ Alarm/ Play music)

Phím cứng (Home, Back, lock screen, volumn)

Install app khi bộ nhớ đầy/ bộ nhớ đầy thì có notification

Ví dụ: Bộ nhớ điện thoại gần đầy thì thực hiện install app

Khác Nhau Giữa Kiểm Thử Chức Năng Và Kiểm Thử Phi Chức Năng

Đầu tiên cần hiểu khái niệm về kiếm thử chức năng và kiểm thử phi chức năng :

1. kiểm thử chức năng là gì?

Mọi chức năng của hệ thống được kiểm tra bằng cách cung cấp đầu vào thích hợp, xác minh đầu ra và so sánh kết quả thực tế với kết quả mong đợi. Thử nghiệm này bao gồm việc kiểm tra Giao diện người dùng, API, Cơ sở dữ liệu, bảo mật, ứng dụng từ phía người dùng / server và chức năng của Ứng dụng đang thử nghiệm. Việc kiểm tra có thể được thực hiện bằng tay hoặc tự động.

2. Kiểm thử phi chức năng là gì?

Kiểm thử phi chức năng là một loại kiểm thử để kiểm tra các khía cạnh phi chức năng (hiệu suất, khả năng sử dụng, độ tin cậy, v.v.) của một ứng dụng phần mềm. Nó được thiết kế rõ ràng để kiểm tra sự sẵn sàng của một hệ thống theo các tham số phi chức năng mà không bao giờ được giải quyết bằng thử nghiệm chức năng.

Một ví dụ điển hình về kiểm thử phi chức năng là kiểm tra xem có bao nhiêu người cùng lúc có thể đăng nhập vào một phần mềm.

Kiểm thử phi chức năng cũng quan trọng không kém như kiểm tra chức năng và ảnh hưởng đến sự hài lòng của khách hàng.

3. Sự khác biệt trong thử nghiệm chức năng và phi chức năng

Khác biệt

Kiểm tra chức năng xác minh từng chức năng / tính năng của phần mềm trong khi kiểm tra Không chức năng xác minh các khía cạnh phi chức năng như hiệu suất, khả năng sử dụng, độ tin cậy, v.v.

Kiểm tra chức năng có thể được thực hiện thủ công trong khi kiểm tra không chức năng khó thực hiện thủ công.

Kiểm tra chức năng dựa trên yêu cầu của khách hàng trong khi kiểm tra không chức năng dựa trên mong đợi của khách hàng.

Kiểm thử chức năng có một mục tiêu để xác nhận các hành động phần mềm trong khi kiểm tra phi chức năng có một mục tiêu để xác nhận hiệu suất của phần mềm.

Ví dụ về Kiểm tra chức năng là kiểm tra chức năng đăng nhập trong khi phi chức năng là kiểm tra màn dashboard sẽ tải trong 2 giây.

Chức năng mô tả những gì sản phẩm làm trong khi phi Chức năng mô tả cách thức sản phẩm hoạt động.

Kiểm tra chức năng được thực hiện trước khi kiểm tra phi chức năng.

Nguồn tài liệu : https://www.guru99.com/functional-testing-vs-non-functional-testing.html

All Rights Reserved