Là quá trình xác định, làm rõ ra yêu cầu từ đó đặc tả lại chúng cùng các ràng buộc trong quá trình vận hành.
B.
Là bước kỹ thuật đầu tiên trong quy trình kỹ nghệ yêu cầu. Trong bước khởi đầu sơ khai này cần tránh để khách hàng tham gia làm lệch mục tiêu chiến lược chủ chốt của công ty phát triển phần mềm
C.
Mặc dù là khâu quyết định đến chi phí và thời hạn dự án nhưng pha Lập trình mới là khâu quyết định nhất đến chất lượng phần mềm.
D.
Các đáp án đưa ra đều đúng
Đáp án
Phân tích yêu cầu là quá trình quan trọng trong kỹ nghệ phần mềm, tập trung vào việc xác định, làm rõ và đặc tả các yêu cầu của người dùng và các ràng buộc trong quá trình vận hành hệ thống. Điều này bao gồm việc thu thập thông tin, phân tích, mô hình hóa và xác nhận các yêu cầu để đảm bảo rằng chúng đầy đủ, nhất quán và có thể thực hiện được. Do đó, đáp án A là chính xác nhất. Các đáp án còn lại chứa thông tin không chính xác hoặc không đầy đủ về phân tích yêu cầu.
* **Đáp án B:** Việc tránh sự tham gia của khách hàng là sai lầm, vì sự tham gia của họ rất quan trọng để đảm bảo yêu cầu được hiểu đúng.
* **Đáp án C:** Chất lượng phần mềm phụ thuộc vào nhiều giai đoạn, không chỉ pha lập trình.
* **Đáp án D:** Vì có những đáp án sai, nên đáp án này không đúng.
Phân tích yêu cầu là quá trình quan trọng trong kỹ nghệ phần mềm, tập trung vào việc xác định, làm rõ và đặc tả các yêu cầu của người dùng và các ràng buộc trong quá trình vận hành hệ thống. Điều này bao gồm việc thu thập thông tin, phân tích, mô hình hóa và xác nhận các yêu cầu để đảm bảo rằng chúng đầy đủ, nhất quán và có thể thực hiện được. Do đó, đáp án A là chính xác nhất. Các đáp án còn lại chứa thông tin không chính xác hoặc không đầy đủ về phân tích yêu cầu.
* **Đáp án B:** Việc tránh sự tham gia của khách hàng là sai lầm, vì sự tham gia của họ rất quan trọng để đảm bảo yêu cầu được hiểu đúng.
* **Đáp án C:** Chất lượng phần mềm phụ thuộc vào nhiều giai đoạn, không chỉ pha lập trình.
* **Đáp án D:** Vì có những đáp án sai, nên đáp án này không đúng.
Đáp án D là đáp án đúng nhất vì bao gồm tất cả các ý đúng về yêu cầu phần mềm:
* **A. Yêu cầu về phần mềm chia thành hai loại: Yêu cầu chức năng và yêu cầu phi chức năng.** Đây là một phân loại cơ bản và quan trọng trong kỹ nghệ phần mềm. Yêu cầu chức năng mô tả những gì hệ thống *phải làm*, trong khi yêu cầu phi chức năng mô tả *cách* hệ thống thực hiện, ví dụ như hiệu năng, bảo mật, độ tin cậy.
* **B. Là tất cả các mô tả từ trừu tượng đến chi tiết về dịch vụ mà hệ thống phần mềm cung cấp và các ràng buộc mà hệ thống phải tuân thủ khi vận hành.** Định nghĩa này bao quát toàn bộ phạm vi của yêu cầu phần mềm, từ mô tả cấp cao đến các chi tiết cụ thể.
* **C. Yêu cầu về phần mềm là kết quả của quy trình kỹ nghệ yêu cầu do cả khách hàng và nhà phát triển đề ra.** Quá trình kỹ nghệ yêu cầu bao gồm thu thập, phân tích, đặc tả và quản lý yêu cầu, và nó là một nỗ lực hợp tác giữa khách hàng và nhà phát triển để đảm bảo hiểu rõ nhu cầu và mục tiêu của dự án.
Yêu cầu phi chức năng (Non-functional requirements - NFRs) là những yêu cầu mô tả các thuộc tính chất lượng của hệ thống, chứ không phải chức năng cụ thể mà hệ thống phải thực hiện. Chúng bao gồm:
* **Yêu cầu về sản phẩm:** Liên quan đến hiệu suất, độ tin cậy, tính bảo mật, khả năng sử dụng, v.v.
* **Yêu cầu về tổ chức:** Liên quan đến chính sách, quy trình của tổ chức, tiêu chuẩn phát triển, v.v.
* **Yêu cầu bên ngoài:** Liên quan đến các yếu tố bên ngoài như quy định pháp luật, tiêu chuẩn đạo đức, chính sách bảo mật, v.v.
Vì vậy, đáp án D bao gồm tất cả các khía cạnh của yêu cầu phi chức năng.
Phân tích và đặc tả yêu cầu là giai đoạn quan trọng trong quy trình phát triển phần mềm. Nó bao gồm việc tìm hiểu, xác định và mô tả chi tiết các chức năng (yêu cầu chức năng) và các ràng buộc (yêu cầu phi chức năng) của hệ thống. Hoạt động này hướng đến việc tạo ra một đặc tả yêu cầu phần mềm chính xác và đầy đủ.
Phương án A đúng vì nó mô tả chính xác quá trình tìm hiểu và xác định các yêu cầu, bao gồm cả chức năng và phi chức năng.
Phương án B đúng vì hoạt động phân tích và định rõ yêu cầu chính là để đặc tả yêu cầu phần mềm một cách chi tiết.
Phương án C sai vì pha trung gian giữa thiết kế và cài đặt là giai đoạn phát triển hoặc xây dựng hệ thống, không phải là phân tích và đặc tả yêu cầu. Phân tích yêu cầu diễn ra trước giai đoạn thiết kế.
Vì cả A và B đều đúng, nên phương án D là đáp án chính xác nhất.
Mục đích của việc xác định và đặc tả các yêu cầu phần mềm là để:
- **A. Làm cơ sở cho việc mời thầu:** Các yêu cầu phần mềm được xác định rõ ràng giúp các nhà thầu hiểu rõ phạm vi công việc và đưa ra các đề xuất phù hợp. Giải thích giúp nhà thầu hiểu rõ hơn.
- **B. Làm cơ sở ký kết hợp đồng thầu:** Yêu cầu phần mềm chi tiết giúp làm rõ các điều khoản của hợp đồng, giảm thiểu tranh chấp và đảm bảo rằng sản phẩm được giao đáp ứng nhu cầu của khách hàng. Vì cần đủ chi tiết, đáp án này phù hợp.
- **C. Làm tư liệu đầu vào cho thiết kế và triển khai:** Yêu cầu phần mềm chính xác và đầy đủ là nền tảng cho giai đoạn thiết kế và triển khai, đảm bảo phần mềm được xây dựng đúng cách và đáp ứng các mục tiêu ban đầu. Các yêu cầu cần đầy đủ, chính xác và không mâu thuẫn để quá trình thiết kế và triển khai diễn ra suôn sẻ.
Vì cả ba đáp án trên đều đúng, nên đáp án chính xác nhất là D.