Đề 14 - Bài tập, đề thi trắc nghiệm online Phân tích và thiết kế hệ thống thông tin
1. Trong thiết kế cơ sở dữ liệu, mối quan hệ 'một-nhiều′ (one-to-many relationship) giữa hai thực thể có nghĩa là gì?
A. Một bản ghi trong thực thể thứ nhất liên quan đến tối đa một bản ghi trong thực thể thứ hai
B. Một bản ghi trong thực thể thứ nhất liên quan đến ít nhất một bản ghi trong thực thể thứ hai
C. Một bản ghi trong thực thể thứ nhất có thể liên quan đến không hoặc nhiều bản ghi trong thực thể thứ hai
D. Mỗi bản ghi trong thực thể thứ nhất phải liên quan đến chính xác một bản ghi trong thực thể thứ hai
2. Mục tiêu chính của việc chuẩn hóa cơ sở dữ liệu (Database normalization) là gì?
A. Tăng tốc độ truy vấn dữ liệu
B. Giảm thiểu sự dư thừa dữ liệu và cải thiện tính toàn vẹn
C. Đơn giản hóa cấu trúc cơ sở dữ liệu
D. Cải thiện bảo mật dữ liệu
3. Yếu tố nào sau đây KHÔNG phải là một phần của 'Tam giác dự án′ (Project Management Triangle)?
A. Thời gian (Time)
B. Chi phí (Cost)
C. Phạm vi (Scope)
D. Chất lượng (Quality)
4. Trong thiết kế hướng đối tượng (Object-Oriented Design), khái niệm 'inheritance′ (kế thừa) mang lại lợi ích chính nào?
A. Tăng hiệu suất thực thi của chương trình
B. Giảm độ phức tạp của mã nguồn thông qua tái sử dụng
C. Cải thiện tính bảo mật của dữ liệu
D. Đơn giản hóa giao diện người dùng
5. Trong quá trình phát triển phần mềm, 'code review′ (đánh giá mã nguồn) mang lại lợi ích nào quan trọng?
A. Tăng tốc độ viết mã
B. Phát hiện sớm lỗi và cải thiện chất lượng mã
C. Giảm chi phí kiểm thử
D. Đơn giản hóa quy trình triển khai
6. Trong quá trình kiểm thử phần mềm, kiểm thử hộp đen (Black-box testing) tập trung vào khía cạnh nào?
A. Cấu trúc bên trong và logic của mã nguồn
B. Yêu cầu chức năng và hành vi bên ngoài của phần mềm
C. Hiệu suất và khả năng chịu tải của hệ thống
D. Tính bảo mật và an toàn của dữ liệu
7. Trong mô hình OSI (Open Systems Interconnection), tầng nào chịu trách nhiệm cho việc đảm bảo truyền dữ liệu tin cậy giữa hai hệ thống, bao gồm kiểm soát lỗi và luồng?
A. Tầng Mạng (Network Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Dữ liệu Liên kết (Data Link Layer)
D. Tầng Vật lý (Physical Layer)
8. Trong phân tích yêu cầu, 'Use Case′ (Ca sử dụng) được dùng để mô tả điều gì?
A. Cấu trúc dữ liệu của hệ thống
B. Giao diện người dùng của hệ thống
C. Tương tác giữa người dùng và hệ thống để đạt mục tiêu cụ thể
D. Luồng dữ liệu bên trong hệ thống
9. Trong kiến trúc hệ thống phân lớp (Layered architecture), mỗi lớp thường có trách nhiệm thực hiện một tập hợp chức năng cụ thể. Lợi ích chính của kiến trúc này là gì?
A. Tăng hiệu suất xử lý
B. Dễ dàng bảo trì và thay đổi
C. Giảm chi phí phát triển
D. Tăng cường tính bảo mật
10. Nguyên tắc 'DRY′ (Don′t Repeat Yourself) trong thiết kế hệ thống phần mềm nhằm mục đích chính là gì?
A. Tăng cường tính bảo mật của hệ thống
B. Giảm thiểu sự dư thừa và trùng lặp mã nguồn
C. Nâng cao hiệu suất xử lý của hệ thống
D. Cải thiện giao diện người dùng
11. Trong UML (Unified Modeling Language), loại biểu đồ nào được sử dụng để mô tả cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính và mối quan hệ giữa chúng?
A. Biểu đồ tuần tự (Sequence diagram)
B. Biểu đồ ca sử dụng (Use case diagram)
C. Biểu đồ lớp (Class diagram)
D. Biểu đồ trạng thái (State diagram)
12. Loại biểu đồ UML nào thể hiện luồng điều khiển và quyết định trong một quy trình nghiệp vụ hoặc một chức năng của hệ thống?
A. Biểu đồ lớp (Class diagram)
B. Biểu đồ tuần tự (Sequence diagram)
C. Biểu đồ hoạt động (Activity diagram)
D. Biểu đồ ca sử dụng (Use case diagram)
13. Phương pháp phát triển hệ thống Agile nhấn mạnh yếu tố nào sau đây hơn so với các phương pháp truyền thống?
A. Kế hoạch chi tiết và tài liệu đầy đủ
B. Quy trình tuần tự và giai đoạn cố định
C. Phản hồi nhanh chóng và thích ứng với thay đổi
D. Tuân thủ nghiêm ngặt các quy trình đã định
14. Phương pháp 'quan sát′ (observation) trong thu thập yêu cầu thường được sử dụng khi nào?
A. Khi người dùng sẵn sàng và có thể diễn đạt rõ ràng nhu cầu của họ
B. Khi muốn thu thập thông tin về quy trình làm việc thực tế của người dùng
C. Khi cần thu thập ý kiến của số lượng lớn người dùng
D. Khi muốn tiết kiệm thời gian và chi phí thu thập yêu cầu
15. Mô hình thác nước (Waterfall) trong phát triển hệ thống thông tin phù hợp nhất với dự án nào?
A. Dự án có yêu cầu thay đổi thường xuyên
B. Dự án có yêu cầu không rõ ràng ngay từ đầu
C. Dự án có yêu cầu ổn định và được xác định rõ ràng
D. Dự án cần triển khai nhanh chóng và linh hoạt
16. Trong thiết kế cơ sở dữ liệu quan hệ, khóa ngoại (Foreign key) được sử dụng để làm gì?
A. Xác định duy nhất mỗi bản ghi trong một bảng
B. Liên kết giữa hai bảng có quan hệ với nhau
C. Đảm bảo tính toàn vẹn dữ liệu trong một bảng
D. Tăng tốc độ truy vấn dữ liệu
17. Trong quản lý dự án phát triển hệ thống thông tin, 'Critical Path′ (Đường găng) là gì?
A. Danh sách các công việc quan trọng nhất của dự án
B. Chuỗi các công việc phụ thuộc lẫn nhau quyết định thời gian hoàn thành dự án
C. Ngân sách dự kiến cho dự án
D. Rủi ro lớn nhất có thể xảy ra trong dự án
18. Trong kiểm thử phần mềm, 'regression testing′ (kiểm thử hồi quy) được thực hiện khi nào?
A. Trước khi phát hành phiên bản phần mềm mới
B. Sau khi sửa lỗi hoặc thêm chức năng mới vào phần mềm
C. Trong giai đoạn phân tích yêu cầu
D. Khi phát hiện lỗi nghiêm trọng trong hệ thống
19. Phương pháp 'brainstorming′ (động não) thường được sử dụng trong giai đoạn nào của quá trình phát triển hệ thống thông tin?
A. Kiểm thử hệ thống
B. Thiết kế chi tiết
C. Phân tích yêu cầu
D. Triển khai hệ thống
20. Phương pháp thu thập yêu cầu 'phỏng vấn′ (interview) có ưu điểm nổi bật nào so với 'bảng hỏi′ (questionnaire)?
A. Thu thập được thông tin từ số lượng lớn người dùng
B. Tiết kiệm thời gian và chi phí
C. Thu thập được thông tin chi tiết và sâu sắc hơn
D. Dễ dàng phân tích và tổng hợp dữ liệu
21. Thuật ngữ 'refactoring′ (tái cấu trúc mã) trong phát triển phần mềm có nghĩa là gì?
A. Sửa lỗi phần mềm
B. Thêm chức năng mới vào phần mềm
C. Cải thiện cấu trúc mã nguồn mà không thay đổi chức năng bên ngoài
D. Tối ưu hiệu suất phần mềm
22. Trong mô hình Agile, 'Sprint′ là gì?
A. Một cuộc họp hàng ngày để theo dõi tiến độ
B. Một giai đoạn phát triển ngắn, lặp đi lặp lại, thường kéo dài từ 1 đến 4 tuần
C. Một tài liệu mô tả yêu cầu chi tiết của dự án
D. Một công cụ quản lý dự án Agile
23. Khái niệm 'coupling′ (kết nối) trong thiết kế module phần mềm đề cập đến điều gì?
A. Mức độ độc lập giữa các module
B. Mức độ phụ thuộc lẫn nhau giữa các module
C. Kích thước của mỗi module
D. Độ phức tạp bên trong của mỗi module
24. Trong phân tích hệ thống thông tin, hoạt động nào sau đây tập trung vào việc xác định và mô tả chi tiết các chức năng và dữ liệu cần thiết để đáp ứng nhu cầu của người dùng?
A. Thiết kế giao diện người dùng
B. Phân tích yêu cầu
C. Thiết kế cơ sở dữ liệu
D. Kiểm thử hệ thống
25. Trong phân tích hệ thống, ma trận CRUD (Create, Read, Update, Delete) được sử dụng để làm gì?
A. Mô tả luồng dữ liệu giữa các module
B. Xác định quyền truy cập dữ liệu của người dùng
C. Phân tích mối quan hệ giữa dữ liệu và chức năng của hệ thống
D. Đánh giá hiệu suất của hệ thống
26. Khi nào việc sử dụng mô hình nguyên mẫu (Prototyping model) là phù hợp nhất trong phát triển hệ thống thông tin?
A. Khi yêu cầu hệ thống đã được xác định rõ ràng và ổn định
B. Khi người dùng khó diễn đạt yêu cầu của họ một cách cụ thể
C. Khi thời gian phát triển dự án bị hạn chế
D. Khi dự án có ngân sách lớn và nguồn lực dồi dào
27. Trong thiết kế giao diện người dùng (UI), nguyên tắc 'feedback′ (phản hồi) quan trọng như thế nào?
A. Giúp giao diện đẹp mắt hơn
B. Cung cấp thông tin cho người dùng về trạng thái và kết quả tương tác của họ
C. Tăng tốc độ xử lý của hệ thống
D. Giảm số lượng chức năng của hệ thống
28. Loại kiểm thử nào sau đây được thực hiện bởi người dùng cuối để xác nhận hệ thống đáp ứng nhu cầu và mong đợi của họ trong môi trường thực tế?
A. Kiểm thử đơn vị (Unit testing)
B. Kiểm thử tích hợp (Integration testing)
C. Kiểm thử hệ thống (System testing)
D. Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT)
29. Trong mô hình xoắn ốc (Spiral model), yếu tố nào được đặc biệt chú trọng trong mỗi vòng lặp?
A. Phân tích rủi ro
B. Phát triển nhanh chóng
C. Tài liệu chi tiết
D. Kiểm thử toàn diện
30. Kiến trúc 'client-server′ (khách-chủ) phân biệt vai trò giữa client và server chủ yếu dựa trên yếu tố nào?
A. Vị trí địa lý của máy tính
B. Chức năng và nhiệm vụ thực hiện
C. Hệ điều hành sử dụng
D. Kích thước và cấu hình phần cứng