Trắc nghiệm Công nghệ Phần mềm Bài: HỆ THỐNG QUẢN LÍ ĐẶT BÀN VÀ GỌI MÓN TRONG MỘT NHÀ HÀNG

Làm bài thi

Mục Lục

Trắc nghiệm Công nghệ Phần mềm Bài: HỆ THỐNG QUẢN LÍ ĐẶT BÀN VÀ GỌI MÓN TRONG MỘT NHÀ HÀNG là một trong những đề thi thuộc Chương 11: BÀI TẬP DỰ ÁN 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 ứng dụng thực tiễn, giúp sinh viên củng cố hiểu biết về Công nghệ Phần mềm bằng cách áp dụng các nguyên tắc, phương pháp và kỹ thuật vào một bài toán thực tế – xây dựng hệ thống quản lý đặt bàn và gọi món cho một nhà hàng, một hệ thống nghiệp vụ cốt lõi đòi hỏi tính chính xác, hiệu quả và khả năng quản lý các quy trình vận hành.

Trong bài học này, người học cần nắm vững cách phân tích yêu cầu (chức năng, phi chức năng), thiết kế hệ thống (kiến trúc, cơ sở dữ liệu, giao diện), triển khai các module phức tạp (quản lý đặt bàn, quản lý thực đơn, xử lý gọi món, quản lý trạng thái đơn hàng), và thực hiện kiểm thử ở các cấp độ khác nhau (đơn vị, tích hợp, hệ thống, chấp nhận). Việc giải quyết các tình huống trong case study này sẽ trang bị cho sinh viên kỹ năng tư duy hệ thống, quản lý dự án và đảm bảo chất lượng phần mềm trong môi trường thực tế kinh doanh.

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: HỆ THỐNG QUẢN LÍ ĐẶT BÀN VÀ GỌI MÓN TRONG MỘT NHÀ HÀNG

Câu 1.Yêu cầu “Khách hàng có thể đặt bàn trực tuyến bằng cách chọn ngày, giờ, số lượng khách và khu vực bàn mong muốn” là một ví dụ điển hình của loại yêu cầu nào trong hệ thống này?
A. Yêu cầu phi chức năng.
B. Yêu cầu hiệu suất.
C. Yêu cầu bảo mật.
D. Yêu cầu chức năng.

Câu 2.Hệ thống phải đảm bảo rằng không có hai nhóm khách hàng nào có thể đặt cùng một bàn cho cùng một khung giờ. Đây là một yêu cầu phi chức năng thuộc khía cạnh nào?
A. Khả năng sử dụng (Usability).
B. Bảo mật (Security).
C. Khả năng bảo trì (Maintainability).
D. Độ tin cậy (Reliability) và Tính toàn vẹn dữ liệu (Data Integrity).

Câu 3.Thông tin cá nhân của khách hàng đặt bàn (tên, số điện thoại, email) và chi tiết các món ăn đã gọi phải được bảo mật. Đây là yêu cầu phi chức năng thuộc khía cạnh nào?
A. Hiệu suất.
B. Khả năng sử dụng.
C. Độ tin cậy.
D. Bảo mật (Security) và Quyền riêng tư (Privacy).

Câu 4.Trong mô hình hướng đối tượng, `KhachHang` (Customer), `Ban` (Table), `MonAn` (Dish), `ThucDon` (Menu), `DonDatBan` (TableReservation), `DonGoiMon` (FoodOrder) là các ví dụ điển hình của loại lớp nào?
A. Lớp biên giới (Boundary Class).
B. Lớp điều khiển (Control Class).
C. Lớp tiện ích (Utility Class).
D. Lớp thực thể (Entity Class).

Câu 5.Để mô tả việc một `KhachHang` (Customer) “đặt bàn”, “gọi món”, hoặc “thanh toán”, biểu đồ UML nào sẽ là phù hợp nhất để biểu diễn các tương tác ở mức cao?
A. Biểu đồ lớp (Class Diagram).
B. Biểu đồ trình tự (Sequence Diagram).
C. Biểu đồ hoạt động (Activity Diagram).
D. Biểu đồ trường hợp sử dụng (Use Case Diagram).

Câu 6.Trong thiết kế cơ sở dữ liệu, mối quan hệ giữa `Ban` và `DonDatBan` (một bàn có thể có nhiều đơn đặt bàn qua thời gian, một đơn đặt bàn chỉ thuộc một bàn) thường là gì?
A. Mối quan hệ một-một (1:1).
B. Mối quan hệ nhiều-nhiều (N:M).
C. Mối quan hệ nhiều-một (N:1).
D. Mối quan hệ một-nhiều (1:N).

Câu 7.Module `QuanLyDatBan` (Table Booking Management) cần gọi đến module `QuanLyBan` (Table Management) để kiểm tra tình trạng bàn. Sau khi cài đặt riêng từng module, nhóm phát triển cần thực hiện loại kiểm thử nào để đảm bảo chúng làm việc ăn ý với nhau?
A. Kiểm thử đơn vị (Unit Testing).
B. Kiểm thử hệ thống (System Testing).
C. Kiểm thử chấp nhận (Acceptance Testing).
D. Kiểm thử tích hợp (Integration Testing).

Câu 8.Hệ thống phải có khả năng cập nhật trạng thái của món ăn (ví dụ: `DangNau`, `DaXong`, `DaPhucVu`) tại bếp và hiển thị cho nhân viên phục vụ một cách nhanh chóng. Đây là một yêu cầu phi chức năng thuộc khía cạnh nào?
A. Khả năng sử dụng.
B. Bảo mật.
C. Khả năng bảo trì.
D. Thời gian thực (Real-time) và Hiệu suất (Performance).

Câu 9.Khi một nhân viên phục vụ nhập món gọi từ khách hàng, hệ thống cần gửi yêu cầu đó đến bếp và cập nhật trạng thái đơn gọi món. Đây là một trường hợp cần kiểm thử loại nào?
A. Kiểm thử cài đặt.
B. Kiểm thử tương thích.
C. Kiểm thử phục hồi.
D. Kiểm thử chức năng (Functional Testing) cho quy trình gọi món.

Câu 10.Đội ngũ phát triển đã sửa lỗi liên quan đến việc hệ thống tính sai tổng tiền cho một đơn gọi món có nhiều ưu đãi. Sau khi sửa, họ cần chạy lại các trường hợp kiểm thử cũ để đảm bảo không có lỗi mới nào xuất hiện trong chức năng tính toán thanh toán. Đây là loại kiểm thử nào?
A. Kiểm thử xác nhận lỗi (Confirmation Testing).
B. Kiểm thử chức năng cho tính năng mới.
C. Kiểm thử hộp trắng.
D. Kiểm thử hồi quy (Regression Testing).

Câu 11.Việc thiết kế giao diện cho phép nhân viên phục vụ dễ dàng chọn bàn, gọi món và gửi yêu cầu đến bếp mà không gặp khó khăn thuộc khía cạnh nào của thiết kế?
A. Thiết kế cơ sở dữ liệu.
B. Thiết kế kiến trúc.
C. Thiết kế module.
D. Thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX).

Câu 12.Để quản lý sự phức tạp của hệ thống và cho phép các nhóm khác nhau phát triển các phần riêng biệt (ví dụ: quản lý đặt bàn, quản lý gọi món, quản lý kho bếp), kiến trúc sư phần mềm có thể đề xuất kiến trúc nào?
A. Kiến trúc tập trung (Monolithic Architecture).
B. Kiến trúc phân lớp (Layered Architecture).
C. Kiến trúc Client-Server đơn giản.
D. Kiến trúc Microservices.

Câu 13.Nếu có một lỗi nghiêm trọng xảy ra trong module quản lý trạng thái bàn, dẫn đến việc trùng lặp bàn đặt, lập trình viên sẽ sử dụng công cụ nào để tìm kiếm và sửa chữa lỗi đó bằng cách chạy từng bước mã nguồn và xem giá trị biến?
A. Trình biên dịch.
B. Hệ thống kiểm soát phiên bản.
C. Công cụ xây dựng tự động.
D. Trình gỡ lỗi (Debugger).

Câu 14.Khi thiết kế module `DatBan` (Table Booking) và `QuanLyBan` (Table Management), nguyên tắc nào trong OOP giúp đảm bảo rằng thay đổi ở module này không ảnh hưởng quá nhiều đến module kia?
A. Tính kế thừa (Inheritance).
B. Tính đa hình (Polymorphism).
C. Tính trừu tượng (Abstraction).
D. Tính phụ thuộc thấp (Low Coupling).

Câu 15.Hệ thống cần gửi thông báo tự động cho bếp khi có món ăn mới được gọi và cho nhân viên phục vụ khi món đã sẵn sàng. Mẫu thiết kế (Design Pattern) nào phù hợp nhất để quản lý việc này?
A. Singleton Pattern.
B. Strategy Pattern.
C. Factory Pattern.
D. Observer Pattern.

Câu 16.Vấn đề “Scope Creep” (Phạm vi trượt) có thể xảy ra trong dự án này nếu điều gì xảy ra?
A. Quản lý nhà hàng không có yêu cầu nào.
B. Các yêu cầu đã được xác định rất rõ ràng.
C. Hệ thống hoàn thành sớm hơn dự kiến.
D. Chủ nhà hàng liên tục yêu cầu thêm các tính năng mới như quản lý kho nguyên liệu, tính toán lợi nhuận, tích hợp với các ứng dụng giao hàng bên ngoài.

Câu 17.Để quản lý việc nhiều lập trình viên cùng làm việc trên mã nguồn của hệ thống (ví dụ: cùng sửa đổi logic đặt bàn và logic gọi món), công cụ nào là thiết yếu để tránh xung đột mã nguồn?
A. IDE (Integrated Development Environment).
B. Công cụ quản lý dự án (Project Management Tool).
C. Trình biên dịch.
D. Hệ thống kiểm soát phiên bản (Version Control System – VCS) như Git.

Câu 18.Mục tiêu của việc Kiểm thử Chấp nhận (Acceptance Testing) cho hệ thống này là gì?
A. Để tìm lỗi cú pháp trong mã nguồn.
B. Để kiểm tra hiệu suất của server.
C. Để đảm bảo mọi chức năng đã được viết code.
D. Để khách hàng (chủ nhà hàng, quản lý, nhân viên phục vụ, bếp trưởng) xác nhận rằng hệ thống đáp ứng đúng nhu cầu nghiệp vụ của họ.

Câu 19.Trong pha phân tích, yêu cầu “Mọi giao dịch đặt bàn và gọi món phải được ghi lại chi tiết với thời gian, khách hàng, bàn, món ăn và nhân viên thực hiện để phục vụ kiểm toán và báo cáo” là một yêu cầu phi chức năng thuộc khía cạnh nào?
A. Hiệu suất.
B. Khả năng sử dụng.
C. Bảo mật.
D. Khả năng kiểm toán (Auditability) và Độ tin cậy.

Câu 20.Biểu đồ nào trong UML sẽ hữu ích để mô tả chi tiết các bước trong quy trình “Xử lý Gọi Món”, bao gồm các hoạt động như ghi nhận món, gửi đến bếp, cập nhật trạng thái, và phục vụ?
A. Biểu đồ lớp.
B. Biểu đồ trình tự.
C. Biểu đồ trường hợp sử dụng.
D. Biểu đồ hoạt động (Activity Diagram).

Câu 21.Trong pha cài đặt, để đảm bảo tính năng đặt bàn hoạt động trơn tru ngay cả khi có hàng trăm yêu cầu đặt bàn đồng thời, việc tối ưu hóa truy vấn cơ sở dữ liệu và thiết kế kiến trúc cần được chú trọng. Yêu cầu này liên quan đến thuộc tính phi chức năng nào?
A. Bảo mật.
B. Khả năng sử dụng.
C. Khả năng mở rộng.
D. Hiệu suất (Performance).

Câu 22.Lớp `DonGoiMon` (FoodOrder) có các thuộc tính như `maDon`, `trangThai`, `thoiGianDat`, `tongTien`. Phương thức `capNhatTrangThai()` sẽ nằm trong lớp nào?
A. Lớp `KhachHang`.
B. Lớp `MonAn`.
C. Lớp `Ban`.
D. Lớp `DonGoiMon` hoặc một lớp `Service` quản lý đơn gọi món.

Câu 23.Khi nhà hàng muốn triển khai hệ thống mới cho các chi nhánh khác nhau, mỗi chi nhánh có thể có quy tắc đặt bàn hoặc thực đơn hơi khác biệt, loại kiểm thử nào là cần thiết để đảm bảo hệ thống hoạt động ổn định ở mọi nơi?
A. Kiểm thử đơn vị.
B. Kiểm thử tích hợp.
C. Kiểm thử bảo mật.
D. Kiểm thử cài đặt (Installation Testing) và kiểm thử cấu hình (Configuration Testing).

Câu 24.Mối quan hệ giữa một `Ban` (Table) và nhiều `DonDatBan` (TableReservation) cho bàn đó là mối quan hệ nào trong biểu đồ lớp?
A. Kế thừa.
B. Thành phần.
C. Phụ thuộc.
D. Liên kết (Association) hoặc Kết tập (Aggregation).

Câu 25.Điều gì là kết quả quan trọng nhất sau khi hoàn thành pha cài đặt và tích hợp cho hệ thống quản lý đặt bàn và gọi món?
A. Một kế hoạch dự án mới.
B. Một danh sách dài các yêu cầu.
C. Một bản thiết kế chi tiết.
D. Một hệ thống phần mềm hoạt động được, sẵn sàng cho các giai đoạn kiểm thử hệ thống và chấp nhậ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ã: