Trắc nghiệm Công nghệ Phần mềm Bài: HỆ THỐNG QUẢN LÍ BÁN VÉ VÀ LÊN LỊCH CHIẾU CỦA CHUỖI RẠP CHIẾU PHIM 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ế – quản lý bán vé và lên lịch chiếu cho một chuỗi rạp chiếu phim.
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ý ghế, đặt vé, thanh toán), 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) cho một hệ thống quy mô lớ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ế.
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Í BÁN VÉ VÀ LÊN LỊCH CHIẾU CỦA CHUỖI RẠP CHIẾU PHIM
Câu 1.Yêu cầu “Khách hàng có thể chọn ghế ngồi trên sơ đồ phòng chiếu và mua vé cho suất chiếu đã chọ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 khách hàng nào có thể đặt cùng một ghế cho cùng một suất chiếu. Đây 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 (Performance).
B. Khả năng sử dụng (Usability).
C. Bảo mật (Security).
D. Độ tin cậy (Reliability) và Tính toàn vẹn dữ liệu (Data Integrity).
Câu 3.Khi một khách hàng thanh toán trực tuyến bằng thẻ tín dụng, hệ thống phải bảo vệ thông tin thẻ. Đâ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. Khả năng mở rộng.
D. Bảo mật (Security).
Câu 4.Trong mô hình hướng đối tượng, `Phim` (Movie), `RapChieu` (Cinema), `PhongChieu` (Auditorium), `LichChieu` (Showtime), `Ve` (Ticket) 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 vé”, “hủy vé” hoặc “tìm kiếm phim”, 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 `LichChieu` (Showtime) và `PhongChieu` (Auditorium) thường là gì?
A. Một phòng chiếu có nhiều lịch chiếu, nhưng một lịch chiếu chỉ thuộc một phòng chiếu.
B. Một lịch chiếu có nhiều phòng chiếu, nhưng một phòng chiếu chỉ có một lịch chiếu.
C. Một lịch chiếu có thể có nhiều phòng chiếu và một phòng chiếu có thể có nhiều lịch chiếu.
D. Một lịch chiếu chỉ thuộc về một phòng chiếu duy nhất, nhưng một phòng chiếu có thể có nhiều lịch chiếu (1:N).
Câu 7.Module `QuanLyDatVe` (Booking Management) cần gọi đến module `ThanhToan` (Payment) để xử lý giao dịch. 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 cần có khả năng xử lý hàng ngàn yêu cầu đặt vé đồng thời vào các giờ cao điểm (ví dụ: tối thứ 7, ngày công chiếu phim bom tấn). Loại kiểm thử nào là cần thiết để xác minh khả năng này?
A. Kiểm thử chức năng.
B. Kiểm thử bảo mật.
C. Kiểm thử khả năng sử dụng.
D. Kiểm thử hiệu suất (Performance Testing) hoặc kiểm thử tải (Load Testing).
Câu 9.Khi khách hàng hủy vé, hệ thống cần đảm bảo ghế đó được trả lại trạng thái “có sẵn” và tiền được hoàn lại đúng cho khách hàng. Đâ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 hủy vé.
Câu 10.Đội ngũ phát triển đã sửa lỗi liên quan đến việc tính sai giá vé cho một số loại ghế đặc biệt. 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. Đâ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 khách hàng dễ dàng xem thông tin phim, chọn suất chiếu và ghế ngồi 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.Để tránh tình trạng “quá tải” hệ thống vào các giờ cao điểm, kiến trúc sư phần mềm có thể đề xuất kiến trúc nào để phân tán tải và cho phép mở rộng độc lập các dịch vụ (ví dụ: dịch vụ tìm kiếm phim, dịch vụ đặt vé, dịch vụ thanh toán)?
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 tính toán giá vé, 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?
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 `DatVe` (Booking) và `QuanLyGhe` (Seat 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 tích hợp với nhiều cổng thanh toán khác nhau (VNPAY, Momo, ZaloPay). Mẫu thiết kế (Design Pattern) nào phù hợp nhất để quản lý sự đa dạng này mà không cần sửa đổi mã nguồn cốt lõi khi thêm cổng thanh toán mới?
A. Singleton Pattern.
B. Observer Pattern.
C. Factory Pattern.
D. Strategy 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. Khách 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. Chuỗi rạp liên tục yêu cầu thêm các tính năng mới như bán đồ ăn kèm vé, tích điểm thành viên, hoặc đặt vé qua chatbot.
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 vé và logic thanh toán), công cụ nào là thiết yếu để tránh xung đột?
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 (chuỗi rạp, nhân viên quản lý) 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 “Hệ thống phải có nhật ký đầy đủ về mọi giao dịch đặt vé và thanh toán để phục vụ kiểm toán” 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) hoặc Độ 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ý Đơn hàng” (Order Processing) của hệ thống, bao gồm các hoạt động như xác nhận thông tin, gửi yêu cầu thanh toán, gửi vé điện tử?
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 vé hoạt động trơn tru ngay cả khi mạng chậm, việc xử lý đồng bộ và bất đồng bộ cần được thiết kế cẩn thận. 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 và Độ tin cậy.
Câu 22.Lớp `Ve` (Ticket) có các thuộc tính như `maVe`, `giaVe`, `thoiGianDat`, `trangThai` (đã đặt/đã hủy). Phương thức `kiemTraVeHopLe()` sẽ nằm trong lớp nào?
A. Lớp `KhachHang`.
B. Lớp `PhongChieu`.
C. Lớp `RapChieu`.
D. Lớp `Ve` hoặc một lớp `Service` quản lý vé.
Câu 23.Khi chuỗi rạp muốn triển khai hệ thống mới trên nhiều chi nhánh khác nhau với cấu hình phần cứng và mạng lưới đa dạng, 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ử tương thích (Compatibility Testing).
Câu 24.Mối quan hệ giữa một `LichChieu` (Showtime) và nhiều `Ve` (Ticket) được bán cho suất chiếu đó 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ý bán vé và lên lịch chiếu?
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.