[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 12 Thực hành thiết kế và lập trình theo modun (tt)

[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 12 Thực hành thiết kế và lập trình theo modun (tt)

1. Khi một module được thiết kế để có thể thay thế bằng một module khác mà không làm thay đổi hoạt động của hệ thống, điều này thể hiện đặc tính gì?
2. Khi một module được thiết kế để có thể dễ dàng kết hợp với các module khác để tạo thành một hệ thống lớn hơn, đặc tính này được gọi là gì?
3. Trong thiết kế module, nguyên tắc KISS (Keep It Simple, Stupid) khuyến khích điều gì?
4. Nếu một module thực hiện nhiều chức năng không liên quan đến nhau, điều này vi phạm nguyên tắc nào trong thiết kế module?
5. Khi một module được thiết kế để có thể dễ dàng thay thế bằng một module khác với chức năng tương tự nhưng có thể có cách triển khai khác, điều này nhấn mạnh đến:
6. Trong mối quan hệ giữa các module, giao diện lập trình ứng dụng (API - Application Programming Interface) đóng vai trò gì?
7. Trong quá trình lập trình theo module, nếu một module cung cấp một tập hợp các hàm xử lý chuỗi, thì việc gọi các hàm này từ module khác được thực hiện thông qua cơ chế nào?
8. Một module được thiết kế tốt cần ưu tiên tính trừu tượng (abstraction). Điều này có nghĩa là gì trong ngữ cảnh lập trình?
9. Khi thiết kế một module xử lý dữ liệu người dùng, nếu module này cần sử dụng một module khác để xác thực định dạng email, thì module xác thực email nên được coi là gì đối với module xử lý dữ liệu người dùng?
10. Trong quá trình lập trình, một module có thể được hiểu là gì?
11. Trong quá trình thực hành lập trình theo module, nếu bạn cần một module thực hiện các phép toán trên ma trận, bạn có thể tạo ra một module với tên gọi gợi ý là:
12. Khi phân tích và thiết kế phần mềm theo hướng module, mục tiêu chính của việc chia nhỏ hệ thống thành các module độc lập là gì?
13. Khi xem xét khả năng mở rộng (extensibility) của một module, điều gì là quan trọng nhất?
14. Khi thiết kế một hệ thống phần mềm, việc sử dụng các module cho phép các nhà phát triển làm việc song song. Điều này mang lại lợi ích gì?
15. Khi thiết kế module, việc che giấu thông tin (information hiding) có ý nghĩa gì?
16. Nếu một module thực hiện một tác vụ cụ thể, ví dụ như tính toán chỉ số BMI dựa trên chiều cao và cân nặng, thì module này có thể được coi là một ví dụ của:
17. Ngược lại với tính kết dính cao, tính ràng buộc thấp (low coupling) giữa các module là một mục tiêu thiết kế quan trọng. Điều này có nghĩa là gì?
18. Trong quá trình phát triển phần mềm, việc định nghĩa rõ ràng giao diện (interface) cho mỗi module có vai trò gì?
19. Khi phân tích một module, nếu phát hiện ra rằng một số hàm bên trong module có thể được tái sử dụng ở nhiều nơi khác nhau trong cùng một module đó, thì việc tổ chức lại các hàm này vào một hàm phụ (helper function) là một cách tốt để:
20. Nếu một module cần truy cập dữ liệu từ cơ sở dữ liệu, thì việc tách biệt logic truy cập cơ sở dữ liệu ra một module riêng biệt (ví dụ: Data Access Module) sẽ mang lại lợi ích gì?
21. Trong lập trình hướng đối tượng, khi một lớp (class) kế thừa từ một lớp khác, mối quan hệ này thường được gọi là gì?
22. Một module được thiết kế tốt cần có tính kết dính cao (high cohesion). Điều này có nghĩa là gì?
23. Trong thiết kế module, việc sử dụng các hằng số (constants) thay vì các giá trị ma thuật (magic numbers) trong mã nguồn giúp ích gì cho quá trình bảo trì?
24. Trong quá trình thiết kế và lập trình theo module, khi một module cần sử dụng chức năng của module khác, mối quan hệ giữa hai module này thường được biểu diễn bằng loại liên kết nào?
25. Trong thiết kế module, khi một module cần gửi thông báo đến các module khác, cơ chế nào là phổ biến để thực hiện điều này một cách lỏng lẻo (loosely coupled)?