[Cánh diều] Trắc nghiệm Tin học 9 bài 1: Nhóm nghề Phân tích và phát triển phần mề và các ứng dụng
1. Khái niệm Yêu cầu phi chức năng (Non-functional Requirements) trong phát triển phần mềm đề cập đến khía cạnh nào?
A. Các chức năng cụ thể mà phần mềm phải thực hiện (ví dụ: đăng nhập, tìm kiếm).
B. Các thuộc tính về hiệu suất, bảo mật, khả năng sử dụng, độ tin cậy của phần mềm.
C. Các quy trình nghiệp vụ mà phần mềm cần hỗ trợ.
D. Giao diện người dùng và cách người dùng tương tác với phần mềm.
2. Khái niệm phần mềm ứng dụng (Application Software) đề cập đến loại phần mềm nào?
A. Phần mềm hệ thống, ví dụ như hệ điều hành.
B. Phần mềm được thiết kế để thực hiện các tác vụ cụ thể cho người dùng cuối.
C. Phần mềm điều khiển phần cứng máy tính.
D. Phần mềm hỗ trợ quá trình phát triển phần mềm khác.
3. Khái niệm Mô hình tăng trưởng (Incremental Model) trong phát triển phần mềm khác với Mô hình thác nước (Waterfall Model) ở điểm nào?
A. Mô hình tăng trưởng không có giai đoạn thiết kế.
B. Mô hình tăng trưởng bàn giao sản phẩm dưới dạng các phần nhỏ, có thể sử dụng được, thay vì chờ đợi hoàn thành toàn bộ dự án.
C. Mô hình thác nước linh hoạt hơn với các thay đổi.
D. Mô hình tăng trưởng chỉ tập trung vào kiểm thử.
4. Khái niệm Nguyên mẫu (Prototype) trong phát triển phần mềm thường được sử dụng để làm gì?
A. Hoàn thành toàn bộ mã nguồn của sản phẩm.
B. Thực hiện kiểm thử đơn vị.
C. Minh họa ý tưởng thiết kế hoặc chức năng cho khách hàng để lấy phản hồi sớm.
D. Quản lý tài khoản người dùng.
5. Tại sao việc quản lý cấu hình phần mềm (Software Configuration Management - SCM) lại quan trọng?
A. Để tăng tốc độ phát triển mã nguồn.
B. Để theo dõi và kiểm soát các thay đổi đối với mã nguồn, tài liệu và các thành phần khác của dự án.
C. Để thiết kế giao diện người dùng đẹp mắt hơn.
D. Để thực hiện các bài kiểm thử tự động.
6. Trong quá trình phát triển phần mềm, kiểm thử đơn vị (Unit Testing) nhằm mục đích gì?
A. Kiểm tra toàn bộ hệ thống phần mềm hoạt động đồng bộ.
B. Đảm bảo các thành phần nhỏ nhất của mã nguồn (đơn vị) hoạt động đúng chức năng.
C. Đánh giá khả năng sử dụng của phần mềm bởi người dùng cuối.
D. Kiểm tra hiệu suất của phần mềm dưới tải trọng cao.
7. Vai trò của Kỹ sư kiểm thử (Software Tester/QA Engineer) là gì?
A. Thiết kế kiến trúc hệ thống phần mềm.
B. Phát triển các tính năng mới dựa trên yêu cầu.
C. Tìm kiếm và báo cáo lỗi, đảm bảo phần mềm đáp ứng các tiêu chuẩn chất lượng.
D. Thu thập và phân tích yêu cầu của khách hàng.
8. Khái niệm Kiểm thử hiệu năng (Performance Testing) nhằm mục đích gì?
A. Đảm bảo phần mềm có giao diện người dùng hấp dẫn.
B. Xác định tốc độ, khả năng phản hồi và độ ổn định của phần mềm dưới các điều kiện tải khác nhau.
C. Kiểm tra xem các chức năng có hoạt động đúng theo yêu cầu hay không.
D. Đảm bảo phần mềm tương thích với các hệ điều hành khác nhau.
9. Trong nhóm nghề Phân tích và phát triển phần mềm và các ứng dụng, vai trò của người phân tích nghiệp vụ (Business Analyst) chủ yếu là gì?
A. Viết mã nguồn và triển khai các tính năng phần mềm.
B. Thiết kế giao diện người dùng và trải nghiệm người dùng (UI/UX).
C. Hiểu và thu thập yêu cầu từ khách hàng/người dùng để định hình sản phẩm phần mềm.
D. Quản lý dự án, theo dõi tiến độ và nguồn lực.
10. Trong các vai trò phát triển phần mềm, Kiến trúc sư phần mềm (Software Architect) có trách nhiệm chính là gì?
A. Viết mã cho các tính năng nhỏ và sửa lỗi.
B. Thiết kế giao diện người dùng trực quan và dễ sử dụng.
C. Đưa ra quyết định về cấu trúc tổng thể, công nghệ và các tiêu chuẩn cho hệ thống phần mềm.
D. Quản lý đội ngũ phát triển và phân công công việc.
11. Trong quy trình phát triển phần mềm, Gỡ lỗi (Debugging) là hành động gì?
A. Viết mã nguồn cho một chức năng mới.
B. Thiết kế giao diện người dùng.
C. Tìm kiếm, xác định và sửa chữa các lỗi trong mã nguồn.
D. Thu thập yêu cầu từ người dùng.
12. Vai trò của Quản lý dự án phần mềm (Software Project Manager) là gì?
A. Viết mã nguồn và triển khai các tính năng.
B. Thiết kế kiến trúc hệ thống.
C. Lập kế hoạch, tổ chức, điều phối và kiểm soát các nguồn lực để hoàn thành dự án phần mềm đúng hạn và trong ngân sách.
D. Kiểm thử toàn bộ hệ thống.
13. Ai là người chịu trách nhiệm chính trong việc chuyển các yêu cầu kinh doanh thành các đặc tả kỹ thuật chi tiết cho đội ngũ lập trình?
A. Kỹ sư kiểm thử (Tester).
B. Nhà phát triển giao diện người dùng (UI Developer).
C. Người phân tích nghiệp vụ (Business Analyst).
D. Quản trị cơ sở dữ liệu (Database Administrator).
14. Phương pháp phát triển phần mềm Agile nhấn mạnh điều gì?
A. Tuân thủ chặt chẽ kế hoạch ban đầu và tài liệu chi tiết.
B. Phản hồi nhanh chóng với sự thay đổi và làm việc cộng tác chặt chẽ.
C. Tập trung vào việc hoàn thành toàn bộ dự án trước khi bàn giao.
D. Hạn chế tối đa sự tương tác với khách hàng trong quá trình phát triển.
15. Khái niệm Mô hình hóa dữ liệu (Data Modeling) trong phát triển phần mềm liên quan đến việc gì?
A. Thiết kế giao diện người dùng.
B. Viết mã nguồn cho các chức năng.
C. Xác định cách dữ liệu được tổ chức, lưu trữ và truy cập trong hệ thống.
D. Lập kế hoạch triển khai phần mềm.
16. Mục tiêu chính của giai đoạn Thiết kế (Design) trong SDLC là gì?
A. Viết mã nguồn cho các chức năng đã được xác định.
B. Tạo ra các bản mẫu (mockup) giao diện người dùng.
C. Xác định kiến trúc hệ thống, cấu trúc dữ liệu và cách thức hoạt động của phần mềm.
D. Thu thập phản hồi từ người dùng về phiên bản thử nghiệm.
17. Trong nhóm nghề phân tích và phát triển phần mềm, Kỹ sư DevOps (DevOps Engineer) thường tập trung vào khía cạnh nào?
A. Thiết kế giao diện người dùng và trải nghiệm người dùng.
B. Phân tích yêu cầu kinh doanh và đặc tả kỹ thuật.
C. Tự động hóa các quy trình phát triển, kiểm thử, triển khai và vận hành phần mềm.
D. Quản lý dữ liệu và đảm bảo tính toàn vẹn của cơ sở dữ liệu.
18. Mục tiêu của Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT) là gì?
A. Kiểm tra xem mã nguồn có tuân thủ các quy tắc lập trình hay không.
B. Đảm bảo phần mềm đáp ứng các yêu cầu kinh doanh và sẵn sàng được triển khai.
C. Xác minh rằng các đơn vị mã nguồn hoạt động độc lập.
D. Đánh giá hiệu suất của hệ thống khi nhiều người dùng truy cập đồng thời.
19. Vai trò của một Lập trình viên (Programmer/Developer) trong nhóm phát triển phần mềm là gì?
A. Thu thập yêu cầu từ người dùng và phân tích tính khả thi.
B. Thiết kế kiến trúc tổng thể của hệ thống.
C. Viết mã nguồn, sửa lỗi và triển khai các chức năng phần mềm theo thiết kế.
D. Đảm bảo chất lượng phần mềm thông qua các bài kiểm thử.
20. Khái niệm kiểm thử tích hợp (Integration Testing) được thực hiện với mục đích gì?
A. Kiểm tra hiệu năng của từng module riêng lẻ.
B. Kiểm tra cách các module hoặc dịch vụ khác nhau tương tác và hoạt động cùng nhau.
C. Đảm bảo phần mềm hoạt động tốt trên nhiều loại thiết bị khác nhau.
D. Xác minh các yêu cầu phi chức năng như bảo mật và tốc độ.
21. Trong mô hình phát triển phần mềm, Triển khai (Deployment) là giai đoạn gì?
A. Thu thập yêu cầu ban đầu từ khách hàng.
B. Viết mã nguồn cho các chức năng.
C. Đưa phần mềm đã hoàn thành và kiểm thử vào môi trường sản xuất để người dùng sử dụng.
D. Thiết kế kiến trúc tổng thể của hệ thống.
22. Yếu tố nào sau đây KHÔNG phải là một giai đoạn chính trong vòng đời phát triển phần mềm (Software Development Life Cycle - SDLC) theo mô hình phổ biến?
A. Phân tích yêu cầu.
B. Thiết kế.
C. Thử nghiệm.
D. Quảng cáo sản phẩm.
23. Khái niệm Tài liệu đặc tả yêu cầu (Requirements Specification Document - RSD) có vai trò gì trong phát triển phần mềm?
A. Cung cấp mã nguồn hoàn chỉnh cho lập trình viên.
B. Mô tả chi tiết về các chức năng, hành vi và ràng buộc của hệ thống phần mềm.
C. Đưa ra các kế hoạch tiếp thị và bán hàng cho sản phẩm.
D. Thiết lập cấu hình môi trường phát triển.
24. Khái niệm Nghiên cứu khả thi (Feasibility Study) trong giai đoạn đầu của dự án phần mềm nhằm mục đích gì?
A. Viết mã nguồn cho tất cả các chức năng.
B. Đánh giá xem dự án có khả thi về mặt kỹ thuật, kinh tế và vận hành hay không.
C. Thiết kế giao diện người dùng chi tiết.
D. Kiểm tra bảo mật của hệ thống.
25. Trong vai trò của Chuyên gia phân tích dữ liệu (Data Analyst) trong một dự án phần mềm, họ thường tập trung vào việc gì?
A. Thiết kế giao diện người dùng.
B. Viết mã nguồn cho các tính năng chính.
C. Khám phá, làm sạch, chuyển đổi và phân tích dữ liệu để rút ra thông tin chi tiết có ý nghĩa.
D. Quản lý hạ tầng máy chủ.