Trắc nghiệm Công nghệ Phần mềm Bài: PHA BẢO TRÌ SAU KHI CHUYỂN GIAO là một trong những đề thi thuộc Chương 10: PHA BẢO TRÌ 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, tập trung vào giai đoạn dài nhất và thường tốn kém nhất trong vòng đời của một sản phẩm phần mềm – các hoạt động được thực hiện sau khi phần mềm đã được bàn giao và đi vào hoạt động thực tế.
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ư: định nghĩa bảo trì phần mềm, các loại bảo trì chính (khắc phục, thích nghi, hoàn thiện, phòng ngừa), lý do tại sao bảo trì lại quan trọng và tốn kém, tầm quan trọng của tài liệu hóa và quản lý cấu hình trong bảo trì, vai trò của người bảo trì, và những thách thức thường gặp. Việc hiểu rõ pha bảo trì sẽ trang bị cho sinh viên cái nhìn toàn diện về vòng đời sản phẩm phần mềm và tầm quan trọng của việc thiết kế sản phẩm “dễ bảo trì” ngay từ đầu.
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: PHA BẢO TRÌ SAU KHI CHUYỂN GIAO
Câu 1.Pha Bảo trì sau khi chuyển giao (Post-Delivery Maintenance) là gì?
A. Chỉ việc triển khai phần mềm cho người dùng cuối.
B. Chỉ việc viết mã nguồn ban đầu.
C. Chỉ việc kiểm thử cuối cùng trước khi phát hành.
D. Tất cả các hoạt động sửa đổi phần mềm sau khi nó đã được bàn giao cho khách hàng hoặc đưa vào sử dụng.
Câu 2.Loại bảo trì nào tập trung vào việc sửa chữa các lỗi hoặc khuyết tật được phát hiện sau khi phần mềm đã được triển khai?
A. Bảo trì thích nghi (Adaptive Maintenance).
B. Bảo trì hoàn thiện (Perfective Maintenance).
C. Bảo trì phòng ngừa (Preventive Maintenance).
D. Bảo trì khắc phục (Corrective Maintenance).
Câu 3.Khi một phần mềm cần được thay đổi để hoạt động tốt với phiên bản mới của hệ điều hành hoặc một phần cứng mới, đây là loại bảo trì nào?
A. Bảo trì khắc phục.
B. Bảo trì hoàn thiện.
C. Bảo trì phòng ngừa.
D. Bảo trì thích nghi (Adaptive Maintenance).
Câu 4.Việc thêm các tính năng mới, cải thiện hiệu suất hoặc tăng cường khả năng sử dụng của phần mềm theo yêu cầu người dùng được gọi là loại bảo trì nào?
A. Bảo trì khắc phục.
B. Bảo trì thích nghi.
C. Bảo trì phòng ngừa.
D. Bảo trì hoàn thiện (Perfective Maintenance).
Câu 5.Loại bảo trì nào nhằm mục đích cải thiện khả năng bảo trì, độ tin cậy hoặc hiệu suất của phần mềm trong tương lai (ví dụ: tái cấu trúc mã nguồn)?
A. Bảo trì khắc phục.
B. Bảo trì thích nghi.
C. Bảo trì hoàn thiện.
D. Bảo trì phòng ngừa (Preventive Maintenance).
Câu 6.Tại sao chi phí bảo trì phần mềm thường chiếm tỉ trọng lớn nhất trong tổng chi phí vòng đời sản phẩm?
A. Phần mềm bị hao mòn vật lý.
B. Phần mềm không bao giờ có lỗi.
C. Khách hàng không bao giờ yêu cầu thay đổi.
D. Do yêu cầu liên tục thay đổi, môi trường vận hành phát triển và việc phát hiện lỗi mới.
Câu 7.Một trong những lý do chính khiến phần mềm cần bảo trì là gì?
A. Phần cứng bị lỗi thời.
B. Giảm số lượng người dùng.
C. Phần mềm tự động hỏng sau một thời gian.
D. Sự thay đổi của yêu cầu kinh doanh, công nghệ và môi trường hoạt động.
Câu 8.Khái niệm “nợ kỹ thuật” (technical debt) có liên quan chặt chẽ đến khía cạnh bảo trì như thế nào?
A. Nó là chi phí để mua công cụ bảo trì.
B. Nó là tiền lương trả cho đội ngũ bảo trì.
C. Nó là khoản tiền được trả khi phần mềm bị lỗi.
D. Nó thể hiện chi phí phát sinh trong tương lai do các quyết định phát triển không tối ưu hoặc “đi tắt” trong hiện tại.
Câu 9.Tầm quan trọng của tài liệu (documentation) trong quá trình bảo trì phần mềm là gì?
A. Nó chỉ quan trọng trong giai đoạn thiết kế.
B. Nó làm tăng chi phí bảo trì.
C. Nó không cần thiết nếu có lập trình viên giỏi.
D. Cung cấp thông tin cần thiết để hiểu, sửa đổi và mở rộng phần mềm một cách hiệu quả.
Câu 10.Khi một phần mềm được xây dựng với kiến trúc mô-đun (modular architecture), điều này ảnh hưởng như thế nào đến bảo trì?
A. Làm cho việc bảo trì khó khăn hơn do sự phức tạp.
B. Không có ảnh hưởng đáng kể.
C. Chỉ có lợi cho hiệu suất, không phải bảo trì.
D. Giúp việc sửa đổi hoặc nâng cấp một phần mà không ảnh hưởng đến toàn bộ hệ thống, giảm độ phức tạp và chi phí bảo trì.
Câu 11.Việc bỏ qua bảo trì thường xuyên đối với một hệ thống phần mềm cũ có thể dẫn đến hậu quả gì?
A. Hệ thống sẽ ổn định hơn.
B. Chi phí hoạt động sẽ giảm.
C. Khả năng tương thích tăng.
D. Hệ thống trở nên lỗi thời, khó sửa chữa, kém hiệu quả và tiềm ẩn nhiều rủi ro.
Câu 12.Phát biểu nào sau đây **không đúng** về pha bảo trì sau khi chuyển giao?
A. Bảo trì là giai đoạn dài nhất trong vòng đời phần mềm.
B. Bảo trì không chỉ là sửa lỗi mà còn là cải tiến.
C. Chất lượng thiết kế ban đầu ảnh hưởng lớn đến chi phí bảo trì.
D. Bảo trì chỉ được thực hiện bởi nhà phát triển ban đầu của phần mềm.
Câu 13.Hệ thống kiểm soát phiên bản (Version Control System) như Git có vai trò quan trọng gì trong bảo trì phần mềm?
A. Giúp tự động sửa lỗi.
B. Đảm bảo phần mềm chạy nhanh hơn.
C. Chỉ dùng để triển khai phần mềm.
D. Quản lý các thay đổi mã nguồn, cho phép theo dõi lịch sử, phục hồi phiên bản và cộng tác hiệu quả.
Câu 14.Nếu chi phí trung bình để sửa một lỗi trong giai đoạn thiết kế là \( \$X \), thì chi phí để sửa lỗi đó trong giai đoạn bảo trì có thể là bao nhiêu?
A. \( \approx X/2 \)
B. \( \approx X \)
C. \( \approx 2X \)
D. \( \approx 10X \) hoặc hơn.
Câu 15.Hoạt động nào sau đây thuộc về bảo trì phòng ngừa?
A. Sửa lỗi chính tả trong giao diện người dùng.
B. Cập nhật phần mềm để tương thích với phiên bản mới của Windows.
C. Thêm một tính năng báo cáo mới.
D. Tái cấu trúc mã nguồn để cải thiện khả năng đọc và hiểu.
Câu 16.Tại sao việc bảo trì phần mềm lại khác biệt và phức tạp hơn so với việc bảo trì phần cứng?
A. Phần mềm bị hao mòn vật lý nhanh hơn.
B. Phần mềm dễ dàng thay thế hơn phần cứng.
C. Phần mềm có thể được nhìn thấy và chạm vào.
D. Phần mềm là phi vật lý, không bị hao mòn, nhưng các thay đổi có thể gây ra hiệu ứng domino do tính phức tạp và phụ thuộc lẫn nhau.
Câu 17.Khía cạnh bảo trì nào liên quan đến việc làm cho phần mềm “tốt hơn” hoặc “dễ sử dụng hơn” mà không phải sửa lỗi hay thích nghi?
A. Khắc phục.
B. Thích nghi.
C. Phòng ngừa.
D. Hoàn thiện.
Câu 18.Mục tiêu chính của việc quản lý cấu hình phần mềm (Software Configuration Management – SCM) trong bảo trì là gì?
A. Kiểm soát số lượng người dùng.
B. Tăng tốc độ thực thi phần mềm.
C. Đảm bảo an ninh dữ liệu.
D. Quản lý và kiểm soát các phiên bản, thay đổi và cấu hình của phần mềm xuyên suốt vòng đời.
Câu 19.Sự già cỗi của một hệ thống phần mềm (Software Aging) chủ yếu đề cập đến vấn đề gì?
A. Phần mềm bị hỏng do sử dụng lâu ngày.
B. Phần mềm không còn tương thích với phần cứng mới.
C. Phần mềm không còn đẹp mắt về giao diện.
D. Sự suy giảm hiệu suất và tăng nguy cơ lỗi do sự tích lũy của các thay đổi và sửa chữa trong quá trình bảo trì.
Câu 20.Để giảm thiểu chi phí bảo trì trong tương lai, điều gì cần được chú trọng ngay từ giai đoạn thiết kế và cài đặt?
A. Chỉ tập trung vào việc thêm nhiều tính năng nhất có thể.
B. Bỏ qua các quy tắc mã hóa.
C. Không cần tài liệu.
D. Thiết kế với tính mô-đun, tính đóng gói và tính phụ thuộc thấp.
Câu 21.Nếu một khách hàng yêu cầu thay đổi cách hiển thị thông tin trên báo cáo, đây là loại bảo trì nào?
A. Bảo trì khắc phục.
B. Bảo trì thích nghi.
C. Bảo trì phòng ngừa.
D. Bảo trì hoàn thiện.
Câu 22.Lợi ích kinh tế của việc bảo trì phần mềm hiệu quả là gì?
A. Tăng chi phí phát triển ban đầu.
B. Kéo dài thời gian ra thị trường.
C. Giảm sự hài lòng của khách hàng.
D. Kéo dài tuổi thọ của sản phẩm, tối ưu hóa giá trị đầu tư và duy trì sự hài lòng của người dùng.
Câu 23.Thách thức lớn nhất khi bảo trì các “hệ thống kế thừa” (Legacy Systems) là gì?
A. Chúng quá mới và phức tạp.
B. Chúng luôn có tài liệu đầy đủ.
C. Chúng được viết bằng ngôn ngữ lập trình hiện đại.
D. Thường thiếu tài liệu, được viết bằng công nghệ cũ, và có cấu trúc phức tạp khó hiểu.
Câu 24.Mục tiêu của việc sử dụng một “hệ thống theo dõi lỗi” (Bug Tracking System) trong bảo trì là gì?
A. Chỉ để báo cáo tiến độ.
B. Chỉ để quản lý tài chính.
C. Chỉ để tìm ra ai mắc lỗi.
D. Quản lý, ưu tiên và theo dõi trạng thái của các lỗi và yêu cầu thay đổi.
Câu 25.Khi một phần mềm được bảo trì, việc thực hiện “kiểm thử hồi quy” (Regression Testing) là rất quan trọng vì sao?
A. Để tìm lỗi trong các phiên bản cũ.
B. Để kiểm thử các tính năng mới được thêm vào.
C. Để xác định tốc độ của hệ thống.
D. Để đảm bảo rằng các thay đổi không làm hỏng các chức năng đã hoạt động đúng trước đó.