Trắc nghiệm Công nghệ Phần mềm Bài: HỆ THỐNG QUẢN LÍ CHO THUÊ SÂN BÓNG MINI CỦA CHỦ SÂN BÓ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ý cho thuê sân bóng mini, một hệ thống nghiệp vụ cốt lõi đòi hỏi tính chính xác trong quản lý lịch trình, đặt chỗ và thanh toán.
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ý sân, quản lý khách hàng, quản lý đặt sân, quản lý lịch trình, tính phí), 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Í CHO THUÊ SÂN BÓNG MINI CỦA CHỦ SÂN BÓNG
Câu 1.Yêu cầu “Khách hàng có thể xem lịch trống của các sân bóng, chọn sân, ngày, giờ và đặt lịch trực tuyế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 sâ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 (Họ tên, số điện thoại, lịch sử đặt sân) và chi tiết giao dịch thanh toán 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, `SanBong` (Pitch), `KhachHang` (Customer), `LichDatSan` (Booking/Reservation), `QuanLySan` (PitchManager), `KhungGio` (TimeSlot) 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 sân”, “hủy lịch”, hoặc “xem lịch sử đặt sâ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 `SanBong` và `LichDatSan` (một sân bóng có nhiều lịch đặt, nhưng một lịch đặt chỉ thuộc một sân bóng) 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 `QuanLyDatSan` (Booking Management) cần gọi đến module `QuanLyThanhToan` (Payment Management) để xử lý thanh toán tiền sâ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 tính toán chính xác tổng số tiền thuê sân dựa trên thời gian, loại sân và các ưu đãi (nếu có). Loại kiểm thử nào là cần thiết để xác minh tính chính xác này?
A. Kiểm thử hiệu suất.
B. Kiểm thử bảo mật.
C. Kiểm thử khả năng sử dụng.
D. Kiểm thử chức năng (Functional Testing) và Kiểm thử tính toán (Calculation Testing).
Câu 9.Khi một khách hàng hủy lịch đặt sân, hệ thống cần đảm bảo khung giờ đó được trả lại trạng thái “trống” 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 lịch đặt.
Câu 10.Đội ngũ phát triển đã sửa lỗi liên quan đến việc hệ thống không hiển thị đúng lịch trống của sân vào các ngày cuối tuần. 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 xem lịch sâ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 lịch trống, chọn sân và đặt lịch 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ý sân, quản lý đặt lịch, quản lý khách hàng), 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 kiểm tra trùng lịch đặt, dẫn đến việc hai khách hàng đặt cùng một sân cùng giờ, 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 `DatSan` (Pitch Booking) và `QuanLyLichTrong` (Availability 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 khách hàng khi lịch đặt sân của họ được xác nhận hoặc khi có thay đổi lịch trình. 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. Chủ sân 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ủ sân liên tục yêu cầu thêm các tính năng mới như quản lý bán đồ uống, cho thuê dụng cụ, quản lý thành viên đội bóng, hoặc tích hợp hệ thống thanh toán qua ví điện tử.
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 sân và logic tính phí), 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ủ sân bóng, nhân viên quản lý sân) 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 sân, hủy lịch và thanh toán phải được ghi lại chi tiết với thời gian, khách hàng, sâ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ý Đặt Sân Trực Tuyến”, bao gồm các hoạt động như kiểm tra lịch trống, khóa khung giờ, tính tiền, và gửi xác nhận cho khách hàng?
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 xem lịch trống và đặt sân hoạt động trơn tru ngay cả khi có hàng trăm yêu cầu đồng thời vào các giờ cao điểm, 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 `LichDatSan` (Booking) có các thuộc tính như `maDat`, `ngayDat`, `gioBatDau`, `gioKetThuc`, `tongTien`, `trangThai` (đã đặt/đã hủy). Phương thức `kiemTraHopLe()` sẽ nằm trong lớp nào?
A. Lớp `KhachHang`.
B. Lớp `SanBong`.
C. Lớp `QuanLySan`.
D. Lớp `LichDatSan` hoặc một lớp `Service` quản lý đặt sân.
Câu 23.Khi chủ sân muốn tích hợp hệ thống của mình với các ứng dụng đặt sân khác hoặc nền tảng thanh toán điện tử, loại kiểm thử nào là cần thiết để đảm bảo sự tương tác dữ liệu và quy trình được thông suốt?
A. Kiểm thử đơn vị.
B. Kiểm thử hệ thống.
C. Kiểm thử bảo mật.
D. Kiểm thử tích hợp hệ thống (System Integration Testing) và kiểm thử API.
Câu 24.Mối quan hệ giữa một `SanBong` (Pitch) và nhiều `KhungGio` (TimeSlot) có sẵn để đặt trên sâ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 Thành phần (Composition) – khung giờ là một phần của sân bóng.
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ý cho thuê sân bóng mini?
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.