Yêu cầu chức năng trong Kỹ thuật phần mềm là gì?

⚡ Tóm tắt thông minh

Yêu cầu chức năng mô tả mọi dịch vụ mà một hệ thống phần mềm phải cung cấp, bao gồm các yếu tố đầu vào, hành vi và đầu ra, để các nhà phát triển, người kiểm thử và các bên liên quan trong kinh doanh cùng chia sẻ một định nghĩa duy nhất, có thể kiểm chứng được về những gì sản phẩm thực sự phải làm.

  • 📘 Định nghĩa: Yêu cầu chức năng, hay còn gọi là đặc tả chức năng, nêu rõ những gì hệ thống phải thực hiện — đầu vào, hành vi và đầu ra, được mô tả từ góc nhìn của người dùng hoặc doanh nghiệp.
  • 📄 Phạm vi tài liệu: Tài liệu Yêu cầu Chức năng (Functional Requirements Document) bao gồm các thao tác trên màn hình, logic xử lý dữ liệu, báo cáo, quy trình làm việc, quyền hạn và tuân thủ quy định.
  • 🗂️ Loại phổ biến: Xử lý giao dịch, quy tắc nghiệp vụ, báo cáo, chức năng quản trị, cấp độ ủy quyền, kiểm toán tracnhà vua, giao diện bên ngoài và các yêu cầu pháp lý.
  • 💡 Ví dụ: Việc xác thực đăng nhập, ghi nhận doanh số bán hàng, xem doanh thu dựa trên vai trò, tích hợp API ngân hàng và tuân thủ các quy định về khả năng truy cập đều nằm trong các yêu cầu chức năng.
  • 🆚 Tương phản phi chức năng: Các yêu cầu chức năng mô tả những gì hệ thống thực hiện; các yêu cầu phi chức năng mô tả mức độ hiệu quả của hệ thống trong việc thực hiện điều đó — hiệu suất, bảo mật và khả năng sử dụng.
  • Thực hành tốt nhất: Hãy giữ cho các yêu cầu ở mức chi tiết, có thể kiểm thử và gắn liền với mục tiêu kinh doanh, đồng thời thu thập chúng thông qua các cuộc phỏng vấn và hội thảo.

Yêu cầu chức năng trong kỹ thuật phần mềm

Yêu cầu chức năng là gì?

A Yêu cầu về chức năng (FR) là mô tả về dịch vụ mà phần mềm phải cung cấp. Nó mô tả một hệ thống phần mềm hoặc thành phần của nó. Một chức năng được định nghĩa bởi các đầu vào, hành vi và đầu ra. Nó có thể là một phép tính, thao tác dữ liệu, quy trình kinh doanh hoặc tương tác người dùng xác định những gì hệ thống phải làm. Yêu cầu chức năng trong Kỹ thuật phần mềm cũng được gọi là Đặc điểm kỹ thuật chức năng.

Yêu cầu chức năng có thể bao gồm từ nhu cầu cấp cao của các bên liên quan đến đặc tả toán học chi tiết. Phần mềm chức năng Các yêu cầu thể hiện hành vi dự định của hệ thống.

Những nội dung cần có trong tài liệu yêu cầu chức năng

Dưới đây là những nội dung mà một Tài liệu Yêu cầu Chức năng cần bao gồm:

Ví dụ về yêu cầu chức năng

Ví dụ về yêu cầu chức năng

Tài liệu yêu cầu chức năng thường bao gồm:

  • Chi tiết các thao tác được thực hiện trên từng màn hình.
  • Logic xử lý dữ liệu mà hệ thống phải áp dụng
  • Descriptcác ion của báo cáo hệ thống và các kết quả đầu ra khác
  • Thông tin đầy đủ về các quy trình làm việc mà hệ thống thực hiện
  • Ai được phép tạo, sửa đổi hoặc xóa dữ liệu trong hệ thống?
  • Hệ thống đáp ứng các yêu cầu quy định và tuân thủ hiện hành như thế nào?

Lợi ích của các yêu cầu chức năng

Những lợi ích chính của một tài liệu yêu cầu chức năng được viết tốt là:

  • Xác minh rằng ứng dụng thực hiện đầy đủ mọi chức năng đã được chỉ định.
  • Xác định chức năng của hệ thống và các hệ thống con của nó tại một điểm duy nhất.
  • Kết hợp với phân tích yêu cầu, các yêu cầu chức năng giúp xác định những nhu cầu còn thiếu và làm rõ hành vi dự kiến ​​của hệ thống.
  • Những lỗi được phát hiện ở giai đoạn xác định yêu cầu thường có chi phí sửa chữa thấp nhất.
  • Hỗ trợ các mục tiêu, nhiệm vụ và hoạt động của người dùng.

Các loại yêu cầu chức năng

Các loại yêu cầu chức năng phổ biến bao gồm:

  • Xử lý giao dịch
  • Quy tắc kinh doanh
  • Yêu cầu cấp giấy chứng nhận
  • Yêu cầu báo cáo
  • Chức năng quản trị
  • Các cấp độ ủy quyền
  • Kiểm toán Tracking
  • Giao diện bên ngoài
  • Quản lý dữ liệu lịch sử
  • Yêu cầu pháp lý và quy định

Ví dụ về yêu cầu chức năng

Dưới đây là một số ví dụ thực tế về yêu cầu chức năng:

  • Phần mềm sẽ tự động xác thực khách hàng dựa trên Hệ thống Quản lý Liên hệ ABC.
  • Hệ thống bán hàng phải cho phép người dùng ghi lại các giao dịch bán hàng cho khách hàng.
  • Màu nền cho tất cả các cửa sổ trong ứng dụng sẽ là màu xanh lam với giá trị RGB thập lục phân là 0x0000FF.
  • Chỉ những nhân viên cấp quản lý mới có quyền xem dữ liệu doanh thu.
  • Hệ thống phần mềm phải tích hợp với API ngân hàng.
  • Hệ thống phần mềm phải đáp ứng Mục 508 yêu cầu về khả năng tiếp cận.

Yêu cầu chức năng so với yêu cầu phi chức năng

Dưới đây là những điểm 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 trong Kỹ thuật phần mềm:

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 Kiểm thử chức năng như Hệ thống, Tích hợp, End to End, Thử nghiệm API, Vv 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, Vv
Thực hiện kiểm tra Việc thực thi kiểm thử được tiến hành trước khi thực hiện 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

Các phương pháp tốt nhất để viết yêu cầu chức năng

Những nguyên tắc quan trọng nhất để viết Tài liệu Yêu cầu Chức năng bao gồm:

  • Không nên gộp hai yêu cầu thành một; hãy giữ mỗi yêu cầu riêng biệt.
  • Hãy đảm bảo mọi yêu cầu đều được điền đầy đủ và chính xác nhất có thể.
  • Soạn thảo tất cả các yêu cầu kỹ thuật trong tài liệu.
  • Hãy liên kết mọi yêu cầu với các mục tiêu và nguyên tắc thúc đẩy việc phát triển phần mềm thành công.
  • Thu thập yêu cầu thông qua phỏng vấn, hội thảo và các cuộc trò chuyện không chính thức.
  • Ghi lại mọi ràng buộc đã biết và được xác minh có ảnh hưởng đáng kể đến yêu cầu.
  • Ghi lại mọi giả định trong tài liệu.

Những lỗi thường gặp khi viết yêu cầu chức năng

Những lỗi thường gặp khi lập Tài liệu Yêu cầu Chức năng bao gồm:

  • Việc thêm thông tin không cần thiết gây nhầm lẫn cho các nhà phát triển.
  • Bỏ qua những chi tiết mà các nhà phát triển cần để xây dựng tính năng đó.
  • Quy tắc pha chế, ví dụ, tỷ lệping Đưa các tuyên bố hoặc mục tiêu vào chính yêu cầu đó.
  • Thiếu sót thông tin cần thiết để nêu rõ yêu cầu một cách đầy đủ và chính xác.
  • Thay vì tìm ra giải pháp đúng đắn khi có yêu cầu thay đổi, họ lại bảo vệ yêu cầu hiện có.
  • Viết các yêu cầu không gắn liền với bất kỳ mục tiêu hoặc nguyên tắc nào.

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

Các công cụ AI nhóm các ghi chú phỏng vấn, tạo bản nháp câu chuyện người dùng, gắn cờ ngôn ngữ mơ hồ và phát hiện các bản sao trùng lặp trong các bộ yêu cầu lớn. Các chuyên viên phân tích kinh doanh vẫn xác thực mọi đề xuất dựa trên nhu cầu thực tế của các bên liên quan trước khi đưa vào hồ sơ cơ sở được phê duyệt.

Copilot và GPT tạo ra các bản nháp câu chuyện người dùng, tiêu chí chấp nhận và các câu lệnh bắt buộc từ các gợi ý ngắn. Một chuyên viên phân tích kinh doanh sẽ chỉnh sửa từng sản phẩm đầu ra để đảm bảo khả năng kiểm thử và xác nhận sự phù hợp với mục tiêu kinh doanh trước khi tiến hành xem xét chính thức.

Yêu cầu kinh doanh nêu rõ lý do tồn tại của một dự án, chẳng hạn như tăng trưởng doanh thu hoặc tuân thủ quy định. Yêu cầu chức năng nêu rõ hệ thống phải làm gì để đạt được kết quả đó, ví dụ như xác thực thanh toán hoặc tạo báo cáo.

Hãy sử dụng chủ ngữ rõ ràng, từ "shall" (phải) và một hành động có thể kiểm thử được cho mỗi câu lệnh. Tránh các từ mơ hồ như "fast" (nhanh) và chỉ đề cập đến một hành vi cụ thể để yêu cầu có thể được kiểm thử bằng một lần kiểm tra đạt hoặc không đạt duy nhất.

EARS (Easy Approach to Requirements Syntax) cung cấp năm mẫu: phổ biến, hướng sự kiện, hướng trạng thái, tính năng tùy chọn và hành vi không mong muốn. Mỗi mẫu đều buộc phải có một cấu trúc có thể kiểm thử được, ví dụ như: Khi TRIGGER xảy ra, hệ thống sẽ PHẢN HỒI.

Bản đặc tả yêu cầu phần mềm là tài liệu chính mô tả những gì hệ thống phải thực hiện. Các yêu cầu chức năng chiếm phần lớn nhất, cùng với giao diện, các yêu cầu phi chức năng, các trường hợp sử dụng và các ràng buộc.

Các yêu cầu chức năng định hướng các trường hợp kiểm thử trong kiểm thử hệ thống, tích hợp, đầu cuối, API và chấp nhận người dùng. Mỗi yêu cầu tương ứng với ít nhất một trường hợp kiểm thử, và các Yêu cầu TracMa trận khả năng xác nhận phạm vi phủ sóng trước khi phát hành.

Các nhóm Agile thể hiện các yêu cầu chức năng dưới dạng các câu chuyện người dùng bằng định dạng: "Với vai trò này, tôi muốn có một khả năng, để giá trị đó được thỏa mãn." Tiêu chí chấp nhận được gắn kèm với câu chuyện sẽ biến yêu cầu đó thành một định nghĩa hoàn thành có thể kiểm chứng được.

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