Trắc nghiệm Công nghệ Phần mềm Bài: BẢO TRÌ HỆ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Làm bài thi

Mục Lục

Trắc nghiệm Công nghệ Phần mềm Bài: BẢO TRÌ HỆ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 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 chuyên sâu, khám phá những điểm đặc thù và các cân nhắc quan trọng khi bảo trì các hệ thống phần mềm được xây dựng theo phương pháp hướng đối tượng, một trong những cách tiếp cận phổ biến nhất hiện nay.

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ư: cách các nguyên lý OOP (đóng gói, kế thừa, đa hình, trừu tượng) ảnh hưởng đến khả năng bảo trì, các lợi ích (tái sử dụng, mở rộng) và thách thức (nợ kỹ thuật, vấn đề lớp cơ sở dễ vỡ) đặc trưng khi bảo trì hệ thống hướng đối tượng, các kỹ thuật và công cụ hỗ trợ (tái cấu trúc mã, đánh giá mã, UML), và tầm quan trọng của việc duy trì thiết kế tốt. Việc hiểu rõ khía cạnh này sẽ giúp sinh viên tối ưu hóa chi phí bảo trì, nâng cao tuổi thọ và chất lượng của các hệ thống phần mềm hướng đối tượng.

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: BẢO TRÌ HỆ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Câu 1.Một lợi ích chính của thiết kế hướng đối tượng đối với bảo trì hệ phần mềm là gì?
A. Làm cho mã nguồn ngắn hơn.
B. Loại bỏ hoàn toàn nhu cầu tài liệu.
C. Giảm chi phí phát triển ban đầu.
D. Cải thiện tính mô-đun, khả năng tái sử dụng và khả năng mở rộng.

Câu 2.Nguyên tắc “Tính đóng gói” (Encapsulation) giúp ích gì cho việc bảo trì hệ phần mềm hướng đối tượng?
A. Cho phép truy cập trực tiếp vào tất cả dữ liệu nội bộ.
B. Làm cho việc kế thừa dễ dàng hơn.
C. Cho phép hành vi đa hình.
D. Che giấu chi tiết triển khai, giới hạn tác động của thay đổi và giảm lỗi do tác dụng phụ.

Câu 3.Trong bảo trì hệ phần mềm hướng đối tượng, “Tái cấu trúc mã” (Refactoring) là gì?
A. Thêm tính năng mới vào phần mềm.
B. Sửa lỗi trong mã nguồn.
C. Thay đổi hành vi bên ngoài của hệ thống.
D. Cải thiện cấu trúc và thiết kế bên trong của mã mà không làm thay đổi hành vi bên ngoài.

Câu 4.Khi sửa một lỗi chỉ ảnh hưởng đến một loại đối tượng cụ thể mà không làm ảnh hưởng đến các đối tượng liên quan, nguyên tắc OOP nào đang phát huy tác dụng?
A. Tính trừu tượng.
B. Tính đa hình.
C. Tính kế thừa.
D. Tính đóng gói (giúp cục bộ hóa việc sửa lỗi).

Câu 5.Một thách thức phổ biến trong việc bảo trì các hệ thống hướng đối tượng lớn có cấu trúc kế thừa sâu là gì?
A. Khó khăn trong việc viết kiểm thử đơn vị.
B. Quy trình tích hợp trở nên đơn giản.
C. Giảm độ phức tạp của mã nguồn.
D. Vấn đề “Lớp cơ sở dễ vỡ” (Fragile Base Class), nơi thay đổi trong lớp cha có thể làm hỏng các lớp con.

Câu 6.Tính “đa hình” (Polymorphism) tác động như thế nào đến việc bảo trì hệ phần mềm hướng đối tượng khi thêm các loại mới?
A. Làm cho việc thêm loại mới khó khăn hơn.
B. Yêu cầu sửa đổi nhiều mã hiện có.
C. Loại bỏ nhu cầu kiểm thử.
D. Cho phép thêm các loại mới (lớp con) với các triển khai khác nhau mà không cần sửa đổi mã hiện có.

Câu 7.Trong bảo trì, “Tính phụ thuộc thấp” (Low Coupling) giữa các lớp là mong muốn vì nó dẫn đến điều gì?
A. Độ phức tạp mã nguồn cao hơn.
B. Nhiều lỗi hơn.
C. Tăng thời gian phát triển.
D. Dễ dàng sửa đổi một lớp mà không làm ảnh hưởng đến nhiều lớp khác.

Câu 8.Việc thêm một lớp con mới vào một hệ thống hướng đối tượng để hỗ trợ một loại sản phẩm mới thuộc 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 (thêm chức năng mới).

Câu 9.Tại sao “Đánh giá mã” (Code Review) lại đặc biệt hiệu quả trong việc bảo trì hệ phần mềm hướng đối tượng?
A. Nó tự động sửa lỗi.
B. Nó chỉ tập trung vào lỗi cú pháp.
C. Nó cho phép thay đổi mã nhanh chóng mà không cần thảo luận.
D. Giúp xác định các lỗi thiết kế, cải thiện khả năng đọc mã và đảm bảo tuân thủ tiêu chuẩn giữa các lớp.

Câu 10.Việc hiểu “hành vi động” (dynamic behavior) của các đối tượng (cách chúng tương tác tại thời điểm chạy) là rất quan trọng trong bảo trì hệ phần mềm hướng đối tượng vì sao?
A. Vì thuộc tính đối tượng là tĩnh.
B. Vì các lớp được cô lập với nhau.
C. Vì các mẫu thiết kế ít được sử dụng.
D. Vì các cuộc gọi đa hình và chuỗi giao tiếp giữa các đối tượng rất quan trọng để hiểu luồng hệ thống.

Câu 11.Bạn sẽ thực hiện loại bảo trì nào khi di chuyển một hệ thống hướng đối tượng sang một hệ điều hành hoặc cơ sở dữ liệu mới?
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.

Câu 12.Biểu đồ UML nào hữu ích nhất để hiểu sự tương tác giữa các đối tượng khi chẩn đoán một lỗi trong một hệ thống hướng đối tượng?
A. Biểu đồ lớp.
B. Biểu đồ trường hợp sử dụng.
C. Biểu đồ hoạt động.
D. Biểu đồ trình tự (Sequence Diagram).

Câu 13.Tại sao việc bảo trì một hệ thống hướng đối tượng được thiết kế kém (ví dụ: coupling cao, cohesion thấp) lại rất tốn kém?
A. Vì nó yêu cầu ít tài liệu.
B. Vì nó tự động sửa lỗi của chính nó.
C. Vì nó có ít lớp.
D. Vì thay đổi ở một lớp có thể lan truyền và ảnh hưởng đến nhiều lớp phụ thuộc khác, gây ra tác dụng phụ không mong muốn.

Câu 14.Khi bảo trì một hệ thống hướng đối tượng, nếu gặp một “God Object” (đối tượng thần – một lớp có quá nhiều trách nhiệm), cách tiếp cận tái cấu trúc được khuyến nghị là gì?
A. Làm cho nó lớn hơn bằng cách thêm nhiều trách nhiệm.
B. Xóa nó khỏi hệ thống.
C. Thay đổi tên của nó thành một cái tên chung hơn.
D. Chia nhỏ nó thành các lớp nhỏ hơn, tập trung hơn với trách nhiệm rõ ràng.

Câu 15.Tính “trừu tượng” (Abstraction) tạo điều kiện thuận lợi cho việc bảo trì trong một hệ thống hướng đối tượng như thế nào?
A. Bằng cách hiển thị tất cả các chi tiết phức tạp cho người bảo trì.
B. Bằng cách làm cho mã dài hơn và chi tiết hơn.
C. Bằng cách ẩn tất cả thông tin khỏi người bảo trì.
D. Bằng cách cho phép người bảo trì tập trung vào các khái niệm và trách nhiệm cấp cao mà không cần hiểu chi tiết triển khai cấp thấp.

Câu 16.Loại bảo trì nào thường liên quan đến “Tái kỹ thuật” (Reengineering) hoặc “Kỹ thuật đảo ngược” (Reverse Engineering) trong các hệ thống hướng đối tượng, đặc biệt là mã nguồn cũ?
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 (để cải thiện khả năng bảo trì trong tương lai).

Câu 17.Chi phí bảo trì một hệ thống hướng đối tượng có thể bị ảnh hưởng bởi chất lượng thiết kế ban đầu của nó. Điều này liên quan đến khái niệm nào?
A. Phạm vi bao phủ mã.
B. Điểm chức năng.
C. Thời gian đưa ra thị trường.
D. Nợ kỹ thuật (Technical Debt).

Câu 18.Khi thêm một tính năng mới (Bảo trì hoàn thiện) vào một hệ thống hướng đối tượng, cách tiếp cận nào thường đơn giản nhất nếu hệ thống được thiết kế tốt?
A. Viết lại toàn bộ hệ thống.
B. Sửa đổi trực tiếp các lớp cốt lõi hiện có.
C. Sử dụng tích hợp “Big Bang”.
D. Mở rộng các lớp hiện có (kế thừa) hoặc triển khai các lớp mới tuân thủ các giao diện hiện có (đa hình).

Câu 19.Mục đích chính của hệ thống “Quản lý cấu hình phần mềm” (SCM) trong bảo trì hệ phần mềm hướng đối tượng là gì?
A. Tự động sửa lỗi.
B. Chỉ lưu trữ tài liệu.
C. Kiểm tra hiệu suất của hệ thống.
D. Quản lý và theo dõi các thay đổi đối với mã nguồn, đảm bảo kiểm soát phiên bản và tạo điều kiện cộng tác trên các cấu trúc đối tượng dùng chung.

Câu 20.Khi sửa một lỗi trong hệ thống hướng đối tượng (Bảo trì khắc phục), mối quan tâm chính liên quan đến “hồi quy” (regression) là gì?
A. Lỗi sẽ tự động xuất hiện lại.
B. Việc sửa lỗi sẽ làm hệ thống chậm lại.
C. Việc sửa lỗi sẽ giới thiệu các tính năng mới.
D. Việc sửa lỗi có thể vô tình làm hỏng các chức năng khác đang hoạt động.

Câu 21.Kiến thức về “Mẫu thiết kế” (Design Pattern) giúp ích gì trong việc bảo trì hệ phần mềm hướng đối tượng?
A. Bằng cách buộc người bảo trì phải viết lại tất cả mã.
B. Bằng cách làm cho mã khó hiểu hơn.
C. Bằng cách giới hạn số lượng lớp.
D. Bằng cách cung cấp các giải pháp chung, dễ nhận biết cho các vấn đề thiết kế lặp đi lặp lại, giúp mã dễ hiểu và mở rộng hơn.

Câu 22.Khía cạnh nào của bảo trì hệ phần mềm hướng đối tượng liên quan đến việc đối phó với sự “lão hóa” của phần mềm theo thời gian, ngay cả khi không có hao mòn vật lý?
A. Bảo trì phần cứng.
B. Di chuyển dữ liệu.
C. Tối ưu hóa mạng.
D. Tiến hóa phần mềm (Software Evolution), nơi phần mềm trở nên lỗi thời so với môi trường hoặc yêu cầu của nó.

Câu 23.Khi thực hiện “Bảo trì phòng ngừa” trên một hệ thống hướng đối tượng, hoạt động phổ biến nào có thể được thực hiện?
A. Sửa một lỗi nghiêm trọng do người dùng báo cáo.
B. Thêm hỗ trợ cho một thiết bị phần cứng mới.
C. Phát triển một module hoàn toàn mới.
D. Cải thiện cấu trúc lớp, giảm coupling hoặc tăng cohesion của các lớp hiện có.

Câu 24.Một thách thức điển hình khi cố gắng bảo trì một hệ thống hướng đối tượng nếu các nhà phát triển ban đầu không còn và tài liệu kém là gì?
A. Hệ thống sẽ tự động nâng cấp.
B. Hệ thống sẽ không cần bất kỳ thay đổi nào.
C. Việc bảo trì sẽ trở nên rất rẻ.
D. Khó khăn trong việc hiểu các tương tác và trách nhiệm phức tạp của các đối tượng, dẫn đến nỗ lực thay đổi cao.

Câu 25.Nếu một yêu cầu mới cho một hệ thống hướng đối tượng là hỗ trợ một loại người dùng mới (ví dụ: một `PremiumUser` kế thừa từ `User`), đây chủ yếu là loại bảo trì nào?
A. Khắc phục.
B. Thích nghi.
C. Phòng ngừa.
D. Hoàn thiện.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: