Tạo Trắc Nghiệm

Trắc nghiệm Công nghệ Phần mềm Bài: CASE STUDY CHO PHA THIẾT KẾ

25 câu · Đề ôn tập tổng hợp

Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án.
Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải.
Thi thử: nộp bài mới chấm điểm và hiện lời giải.

Câu 1

Trong pha thiết kế cho hệ thống đặt món ăn trực tuyến, nếu mục tiêu là phát triển độc lập các phần `Quản lý Đơn hàng`, `Quản lý Nhà hàng` và `Quản lý Giao hàng` và khả năng mở rộng từng phần riêng biệt, kiến trúc nào sẽ được ưu tiên?

Đáp án và lời giải

Đáp án: D

Câu 2

Thiết kế một hệ thống đặt món ăn trực tuyến theo mô hình 3 tầng (3-tier architecture), nơi logic xử lý đơn hàng sẽ nằm ở tầng nào?

Đáp án và lời giải

Đáp án: D

Câu 3

Khi thiết kế cơ sở dữ liệu cho hệ thống đặt món, việc xác định các bảng (ví dụ: `Customers`, `Orders`, `Dishes`) và mối quan hệ giữa chúng thuộc hoạt động thiết kế nào?

Đáp án và lời giải

Đáp án: D

Câu 4

Lớp `DonHang` (Order) có một phương thức `thayDoiTrangThai()` (changeStatus()). Để đảm bảo tính đóng gói tốt trong thiết kế, các thuộc tính nội bộ của `DonHang` nên có mức độ truy cập nào?

Đáp án và lời giải

Đáp án: D

Câu 5

Trong thiết kế, để xử lý việc khách hàng có thể chọn nhiều phương thức thanh toán khác nhau (tiền mặt, thẻ, ví điện tử) mà không cần sửa đổi code mỗi khi thêm phương thức mới, mẫu thiết kế nào phù hợp nhất?

Đáp án và lời giải

Đáp án: D

Câu 6

Biểu đồ nào trong UML sẽ được sử dụng để mô tả chi tiết luồng thông điệp và tương tác giữa đối tượng `KhachHang`, `TrangDatMonUI`, `OrderService` và `PaymentGateway` khi khách hàng thực hiện thanh toán?

Đáp án và lời giải

Đáp án: D

Câu 7

Để đảm bảo hiệu suất tốt khi hàng ngàn khách hàng cùng lúc tìm kiếm món ăn và đặt hàng, điều gì cần được chú trọng trong thiết kế hệ thống?

Đáp án và lời giải

Đáp án: D

Câu 8

Khi thiết kế API cho dịch vụ `NhaHang` (Restaurant Service) để `KhachHang` (Customer Service) có thể truy cập thực đơn, điều gì là quan trọng nhất để đảm bảo tính phụ thuộc thấp?

Đáp án và lời giải

Đáp án: D

Câu 9

Một yêu cầu là “Hệ thống phải mã hóa thông tin thẻ tín dụng của khách hàng trước khi lưu trữ.” Điều này thuộc về khía cạnh thiết kế nào?

Đáp án và lời giải

Đáp án: D

Câu 10

Nếu một nhóm phát triển quyết định sử dụng một thư viện xử lý thanh toán của bên thứ ba, điều này liên quan đến quyết định thiết kế nào?

Đáp án và lời giải

Đáp án: D

Câu 11

Để đảm bảo một lớp `DonHang` (Order) có tính liên kết cao (High Cohesion), điều gì là cần thiết?

Đáp án và lời giải

Đáp án: D

Câu 12

Khi thiết kế hệ thống, cần xác định các giao diện (interfaces) mà các module sẽ cung cấp. Việc này giúp gì trong giai đoạn cài đặt và tích hợp?

Đáp án và lời giải

Đáp án: D

Câu 13

Nếu thiết kế ban đầu của lớp `Shipper` (người giao hàng) không tối ưu và cần được cải thiện mà không làm thay đổi hành vi bên ngoài, hoạt động nào nên được thực hiện?

Đáp án và lời giải

Đáp án: D

Câu 14

Trong Biểu đồ lớp (Class Diagram) sau pha thiết kế, chúng ta sẽ thấy chi tiết hơn về các thuộc tính và phương thức của các lớp như `MonAn`, `NhaHang`, `DonHang`, cũng như các mối quan hệ như:

Đáp án và lời giải

Đáp án: D

Câu 15

Để xử lý các sự kiện thay đổi trạng thái của đơn hàng (ví dụ: `DonHang` từ `ChoXacNhan` sang `DangXuLy` sang `DangGiao`), mẫu thiết kế nào phù hợp để thông báo tự động cho các bên liên quan (khách hàng, nhà hàng)?

Đáp án và lời giải

Đáp án: D

Câu 16

Nếu hệ thống đặt món ăn cần chạy trên cả ứng dụng di động (iOS/Android) và trình duyệt web, chiến lược thiết kế nào giúp tối ưu hóa việc phát triển giao diện người dùng?

Đáp án và lời giải

Đáp án: D

Câu 17

Trong pha thiết kế, một rủi ro tiềm tàng là “nợ thiết kế” (Design Debt). Điều này có nghĩa là gì đối với hệ thống đặt món?

Đáp án và lời giải

Đáp án: D

Câu 18

Để đảm bảo hệ thống có thể xử lý được một lượng lớn các yêu cầu cùng lúc (ví dụ: trong giờ cao điểm), điều gì cần được thiết kế cẩn thận?

Đáp án và lời giải

Đáp án: D

Câu 19

Một yêu cầu nói rằng “Hệ thống phải có nhật ký đầy đủ về mọi thao tác của người dùng.” Điều này ảnh hưởng đến thiết kế như thế nào?

Đáp án và lời giải

Đáp án: D

Câu 20

Biểu đồ nào trong UML sẽ hữu ích nhất để mô tả cách các thành phần phần mềm của hệ thống (ví dụ: `WebAppClient`, `BackendAPI`, `DatabaseServer`, `DeliveryService`) sẽ được triển khai trên các nút vật lý và mạng?

Đáp án và lời giải

Đáp án: D

Câu 21

Trong thiết kế kiến trúc, việc sử dụng một “Message Queue” (Hàng đợi tin nhắn) giữa các dịch vụ `Order` và `Delivery` giúp gì?

Đáp án và lời giải

Đáp án: D

Câu 22

Mục tiêu của việc kiểm thử thiết kế (Design Review) trong case study này là gì?

Đáp án và lời giải

Đáp án: D

Câu 23

Một “Mẫu thiết kế” (Design Pattern) phù hợp để quản lý việc tạo ra các đối tượng `MonAn` (Dish) khác nhau (ví dụ: `MonAnChay`, `MonAnMan`) mà không cần phải gọi hàm tạo trực tiếp là gì?

Đáp án và lời giải

Đáp án: D

Câu 24

Khi thiết kế hệ thống đặt món, việc phân biệt rõ ràng giữa `PhuongThucThanhToan` (PaymentMethod) và `GiaoDienThanhToan` (PaymentUI) thể hiện nguyên tắc thiết kế nào?

Đáp án và lời giải

Đáp án: D

Câu 25

Điều gì là kết quả quan trọng nhất sau khi hoàn thành pha thiết kế cho hệ thống đặt món ăn trực tuyến?

Đáp án và lời giải

Đáp án: D