Trắc nghiệm Công nghệ Phần mềm Bài: CÁC PHƯƠNG PHÁP CÀI ĐẶT VÀ TÍCH HỢP là một trong những đề thi thuộc Chương 9: PHA CÀI ĐẶT VÀ TÍCH HỢP trong học phần Công nghệ Phần mềm chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần kiến thức thực tiễn cốt lõi, nơi các bản thiết kế phần mềm được chuyển hóa thành mã nguồn thực thi và các module riêng lẻ được lắp ráp thành một hệ thống hoạt động hoàn chỉnh.
Trong bài học này, người học cần nắm vững các nội dung cốt lõi như: mục đích và tầm quan trọng của pha cài đặt (coding/implementation), các hoạt động chính (viết mã, gỡ lỗi, kiểm thử đơn vị), các chiến lược tích hợp phần mềm phổ biến (Big Bang, tích hợp tăng dần: top-down, bottom-up, sandwich), vai trò của kiểm thử tích hợp (Integration Testing), tầm quan trọng của việc tuân thủ các chuẩn mã hóa và kỹ thuật lập trình tốt, cũng như những thách thức thường gặp trong quá trình này. Việc hiểu rõ các phương pháp cài đặt và tích hợp sẽ giúp sinh viên không chỉ viết được mã nguồn mà còn xây dựng được các hệ thống phần mềm chất lượng, dễ bảo trì và tích hợp.
Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!
Trắc nghiệm Công nghệ Phần mềm Bài: CÁC PHƯƠNG PHÁP CÀI ĐẶT VÀ TÍCH HỢP
Câu 1.Mục đích chính của Pha Cài đặt (Implementation Phase) là gì?
A. Thu thập yêu cầu từ khách hàng.
B. Thiết kế kiến trúc hệ thống.
C. Kiểm thử toàn bộ hệ thống.
D. Chuyển đổi các bản thiết kế thành mã nguồn có thể thực thi.
Câu 2.Mục đích chính của Pha Tích hợp (Integration Phase) là gì?
A. Chỉ kiểm thử hiệu suất.
B. Chỉ triển khai phần mềm cho người dùng.
C. Chỉ gỡ lỗi các module riêng lẻ.
D. Kết hợp các module phần mềm đã được cài đặt thành một hệ thống thống nhất.
Câu 3.Kỹ thuật nào sau đây là trọng tâm của Pha Cài đặt, nơi lập trình viên viết các dòng mã?
A. Kiểm thử tích hợp.
B. Thiết kế cơ sở dữ liệu.
C. Quản lý dự án.
D. Coding (Lập trình).
Câu 4.Trong quá trình cài đặt, việc tìm kiếm và sửa chữa lỗi trong mã nguồn được gọi là gì?
A. Biên dịch (Compiling).
B. Tích hợp (Integration).
C. Triển khai (Deployment).
D. Gỡ lỗi (Debugging).
Câu 5.Kiểm thử đơn vị (Unit Testing) thường được thực hiện trong giai đoạn nào?
A. Pha Yêu cầu.
B. Pha Thiết kế.
C. Pha Kiểm thử hệ thống.
D. Pha Cài đặt.
Câu 6.Chiến lược tích hợp nào bao gồm việc kết hợp tất cả các module cùng một lúc và kiểm thử toàn bộ hệ thống?
A. Tích hợp từ trên xuống (Top-down).
B. Tích hợp từ dưới lên (Bottom-up).
C. Tích hợp liên tục (Continuous Integration).
D. Tích hợp “Big Bang”.
Câu 7.Nhược điểm chính của chiến lược tích hợp “Big Bang” là gì?
A. Quá trình tích hợp diễn ra quá nhanh.
B. Yêu cầu ít tài nguyên.
C. Dễ dàng xác định vị trí lỗi.
D. Khó khăn trong việc xác định nguyên nhân và vị trí lỗi khi xảy ra vấn đề.
Câu 8.Trong chiến lược tích hợp tăng dần (Incremental Integration), “Stub” (phần mềm giả lập) được sử dụng để làm gì?
A. Để kiểm thử các module cấp thấp.
B. Để triển khai phần mềm.
C. Để gỡ lỗi mã nguồn.
D. Giả lập chức năng của module cấp thấp hơn chưa được phát triển.
Câu 9.Trong chiến lược tích hợp tăng dần, “Driver” (trình điều khiển) được sử dụng để làm gì?
A. Giả lập chức năng của module cấp cao hơn chưa được phát triển.
B. Để kiểm thử các module cấp cao.
C. Để kết nối với cơ sở dữ liệu.
D. Giả lập chức năng của module cấp cao hơn để gọi và kiểm thử module cấp thấp.
Câu 10.Chiến lược tích hợp nào bắt đầu bằng cách tích hợp các module cấp cao nhất trước, sau đó dần dần bổ sung các module cấp thấp hơn?
A. Tích hợp Big Bang.
B. Tích hợp từ dưới lên (Bottom-up).
C. Tích hợp Sandwich (Hybrid).
D. Tích hợp từ trên xuống (Top-down).
Câu 11.Lợi ích chính của việc áp dụng “Tích hợp liên tục” (Continuous Integration – CI) là gì?
A. Giảm chi phí phát triển phần mềm.
B. Chỉ áp dụng cho các dự án nhỏ.
C. Không yêu cầu kiểm thử tự động.
D. Phát hiện sớm các xung đột tích hợp và lỗi giao diện, giảm thiểu rủi ro và chi phí sửa lỗi lớn sau này.
Câu 12.Tại sao việc tuân thủ các chuẩn mã hóa (Coding Standards) lại quan trọng trong Pha Cài đặt?
A. Để làm cho mã nguồn phức tạp hơn.
B. Để giảm số lượng dòng code.
C. Để tự động sửa lỗi.
D. Cải thiện khả năng đọc, khả năng bảo trì và sự nhất quán của mã nguồn trong nhóm.
Câu 13.Khi nhiều lập trình viên làm việc trên cùng một dự án, công cụ nào sau đây là thiết yếu để quản lý các thay đổi mã nguồn và hỗ trợ cộng tác?
A. Microsoft Word.
B. Adobe Photoshop.
C. Google Sheets.
D. Hệ thống kiểm soát phiên bản (Version Control System – VCS) như Git.
Câu 14.Phát biểu nào sau đây **không đúng** về các phương pháp cài đặt và tích hợp?
A. Cài đặt và tích hợp là các pha lặp đi lặp lại trong các phương pháp Agile.
B. Chất lượng thiết kế ban đầu ảnh hưởng lớn đến việc cài đặt và tích hợp.
C. Phát hiện lỗi sớm trong cài đặt/tích hợp giúp tiết kiệm chi phí.
D. Chi phí phát triển phần mềm chủ yếu tập trung vào pha cài đặt (coding) mà không phải pha tích hợp.
Câu 15.Khái niệm “Lập trình phòng thủ” (Defensive Programming) trong Pha Cài đặt có ý nghĩa gì?
A. Viết code chỉ để tấn công virus.
B. Bảo vệ code khỏi bị sao chép.
C. Viết code để che giấu thông tin.
D. Viết code để xử lý các trường hợp không mong muốn (lỗi đầu vào, lỗi hệ thống) một cách an toàn và mạnh mẽ.
Câu 16.Kiểm thử tích hợp (Integration Testing) có mục đích chính là gì?
A. Kiểm tra chức năng của từng module riêng lẻ.
B. Kiểm tra toàn bộ hệ thống đã hoàn thiện.
C. Kiểm tra hiệu suất của phần mềm.
D. Phát hiện lỗi phát sinh từ sự tương tác (interface) giữa các module đã tích hợp.
Câu 17.Thách thức lớn nhất trong Pha Tích hợp thường là gì?
A. Thiếu ngôn ngữ lập trình.
B. Không đủ không gian lưu trữ.
C. Khách hàng thay đổi yêu cầu liên tục.
D. Giải quyết các vấn đề tương thích, xung đột giao diện và phụ thuộc giữa các module.
Câu 18.Mục tiêu của việc “Refactoring” (Tái cấu trúc mã) trong Pha Cài đặt là gì?
A. Thêm tính năng mới.
B. Sửa lỗi chức năng.
C. Thay đổi giao diện người dùng.
D. Cải thiện cấu trúc bên trong của mã nguồn mà không làm thay đổi hành vi bên ngoài.
Câu 19.Một “Môi trường Phát triển Tích hợp” (IDE) như Visual Studio Code, IntelliJ IDEA, Eclipse có vai trò gì trong Pha Cài đặt?
A. Chỉ để quản lý tệp tin.
B. Chỉ để sao lưu mã nguồn.
C. Chỉ để triển khai phần mềm.
D. Cung cấp một môi trường toàn diện để viết, biên dịch, gỡ lỗi và quản lý mã nguồn.
Câu 20.Nếu một lập trình viên gặp lỗi biên dịch (compile-time error), điều này liên quan trực tiếp đến vấn đề nào trong Pha Cài đặt?
A. Lỗi logic.
B. Lỗi giao diện.
C. Lỗi hiệu suất.
D. Lỗi cú pháp hoặc ngữ pháp trong mã nguồn.
Câu 21.Trong Pha Tích hợp, điều gì có thể xảy ra nếu các module không được thiết kế với tính phụ thuộc thấp (low coupling)?
A. Việc tích hợp sẽ rất nhanh.
B. Các module sẽ hoạt động độc lập.
C. Không có bất kỳ lỗi nào.
D. Thay đổi ở một module có thể gây ra lỗi hoặc yêu cầu sửa đổi ở nhiều module khác.
Câu 22.Lợi ích kinh tế của việc phát hiện lỗi tích hợp sớm trong Pha Tích hợp là gì?
A. Tăng chi phí dự án.
B. Kéo dài thời gian phát triển.
C. Làm giảm chất lượng phần mềm.
D. Giảm đáng kể chi phí và công sức cần thiết để khắc phục lỗi.
Câu 23.Phương pháp cài đặt nào thường được sử dụng khi các chức năng cần được phát triển nhanh chóng và được giao cho người dùng để lấy phản hồi sớm?
A. Lập trình thủ tục.
B. Lập trình cấu trúc.
C. Lập trình hướng dữ liệu.
D. Phát triển lặp đi lặp lại và tăng dần (Iterative and Incremental Development).
Câu 24.Mục tiêu của việc “tài liệu hóa mã nguồn” (Code Documentation) là gì?
A. Để làm cho mã nguồn dài hơn.
B. Để làm cho mã nguồn chậm hơn.
C. Để chỉ người viết code hiểu được.
D. Cải thiện khả năng đọc, hiểu và bảo trì mã nguồn cho các lập trình viên khác hoặc trong tương lai.
Câu 25.Khi một nhóm sử dụng Docker và Kubernetes để đóng gói và quản lý các ứng dụng, điều này liên quan đến khía cạnh nào của việc cài đặt và tích hợp?
A. Chỉ lập trình bằng ngôn ngữ mới.
B. Chỉ kiểm thử đơn vị.
C. Chỉ gỡ lỗi.
D. Triển khai và quản lý môi trường (Deployment and Environment Management).