Trắc nghiệm Công nghệ Phần mềm Bài: HỆ THỐNG QUẢN LÍ BÁN VÉ TÀU HỎA

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Í BÁN VÉ TÀU HỎA 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ý bán vé tàu hỏa, một hệ thống phức tạp với nhiều yêu cầu về lịch trình, chỗ ngồi, và tính toán giá vé.

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ý hành khách, quản lý chuyến tàu, quản lý chỗ ngồi, đặ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). 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É TÀU HỎA

Câu 1.Yêu cầu “Hành khách có thể tìm kiếm chuyến tàu theo ga đi, ga đến và ngày đi, sau đó chọn chỗ ngồi và mua vé” 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 có khả năng xử lý đồng thời hàng chục ngàn yêu cầu tìm kiếm và đặt vé vào các khung giờ cao điểm (ví dụ: lễ, Tết). Đâ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. Hiệu suất (Performance) và Khả năng mở rộng (Scalability).

Câu 3.Thông tin cá nhân của hành khách (Họ tên, CCCD, thông tin liên hệ) và chi tiết giao dịch thanh toán phải được mã hóa và bảo vệ. Đâ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).

Câu 4.Trong mô hình hướng đối tượng, `HanhKhach` (Passenger), `ChuyenTau` (TrainTrip/Journey), `GaTau` (Station), `ToaTau` (Coach), `GheNgoi` (Seat), `VeTau` (TrainTicket) 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 `HanhKhach` (Passenger) “tìm kiếm chuyến tàu”, “đặt vé”, hoặc “hủy vé”, 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 `ChuyenTau` và `GaTau` (một chuyến tàu có nhiều ga dừng, một ga có nhiều chuyến tàu dừng) thường là gì?
A. Mối quan hệ một-một (1:1).
B. Mối quan hệ một-nhiều (1:N).
C. Mối quan hệ nhiều-một (N:1).
D. Mối quan hệ nhiều-nhiều (N:M).

Câu 7.Module `QuanLyDatVe` (Booking Management) cần gọi đến module `QuanLyGheNgoi` (Seat Management) để cập nhật tình trạng ghế. 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 đảm bảo rằng không có hai hành khách nào có thể đặt cùng một ghế cho cùng một chuyến tà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.
B. Khả năng sử dụng.
C. Bảo mật.
D. Tính toàn vẹn dữ liệu (Data Integrity) và Độ tin cậy (Reliability).

Câu 9.Khi một hành khách thanh toán trực tuyến cho vé tàu, hệ thống cần xử lý giao dịch và phát hành vé điện tử. Đâ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 thanh toán và phát hành vé.

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 giá vé cho trẻ em. 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 giá vé. Đâ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 hành khách dễ dàng tìm kiếm chuyến tàu, xem sơ đồ chỗ ngồi và chọn vé 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ý lịch trình, quản lý đặt vé, 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 quản lý chỗ ngồi, dẫn đến việc trùng lặp chỗ, 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 `DatCho` (Seat Booking) và `HuyCho` (Seat Cancellation), 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 hành khách khi có thay đổi lịch trình chuyến tàu hoặc khi vé đã được phát hà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. Ban quản lý Đường sắt 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. Khách hàng yêu cầu thêm các tính năng như chọn toa, chọn giường nằm, quản lý hành lý, hoặc tích hợp với các dịch vụ vận tải khác.

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ìm kiếm chuyến tàu và logic đặt vé), 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 (ban quản lý Đường sắt, nhân viên bán vé, hành khách thử nghiệm) 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 bán vé và hủy vé phải được ghi lại chi tiết với thời gian, hành khách, vé 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 “Đặt vé tàu” của hành khách, bao gồm các hoạt động như tìm chuyến, chọn ghế, thanh toán, và nhận 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ìm kiếm chuyến tàu và đặt vé hoạt động trơn tru ngay cả khi có hàng triệu chuyến tàu và hành khách, 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 `VeTau` (TrainTicket) có các thuộc tính như `maVe`, `giaVe`, `gaDi`, `gaDen`, `soToa`, `soGhe`, `trangThaiVe`. Phương thức `kiemTraVeHopLe()` sẽ nằm trong lớp nào?
A. Lớp `HanhKhach`.
B. Lớp `ChuyenTau`.
C. Lớp `GaTau`.
D. Lớp `VeTau` hoặc một lớp `Service` quản lý vé.

Câu 23.Khi hệ thống cần tích hợp với các hệ thống đường sắt khác hoặc các đại lý bán vé bên ngoài, 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).

Câu 24.Mối quan hệ giữa một `ChuyenTau` (TrainTrip) và nhiều `ToaTau` (Coach) trong chuyến tàu đó là mối quan hệ nào trong biểu đồ lớp?
A. Kế thừa.
B. Phụ thuộc.
C. Liên kết (Association).
D. Thành phần (Composition) – toa tàu là một phần không thể thiếu của chuyến tàu cụ thể đó.

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é tàu hỏa?
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ã: