Đề 2 - 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 UML (Unified Modeling Language), loại sơ đồ nào được sử dụng để mô tả các tương tác giữa các đối tượng theo trình tự thời gian?
A. Sơ đồ lớp (Class Diagram)
B. Sơ đồ ca sử dụng (Use Case Diagram)
C. Sơ đồ tuần tự (Sequence Diagram)
D. Sơ đồ trạng thái (State Diagram)
2. Trong thiết kế hệ thống, `module hóa` (modularization) mang lại lợi ích gì?
A. Tăng độ phức tạp của hệ thống.
B. Giảm khả năng tái sử dụng các thành phần.
C. Dễ dàng quản lý, phát triển, kiểm thử và bảo trì hệ thống.
D. Làm chậm quá trình phát triển hệ thống.
3. Phương pháp phát triển hệ thống `Agile` nhấn mạnh vào điều gì?
A. Tuân thủ nghiêm ngặt kế hoạch và tài liệu chi tiết từ đầu dự án.
B. Phát triển hệ thống theo từng giai đoạn lớn, hoàn thành toàn bộ giai đoạn trước khi sang giai đoạn tiếp theo.
C. Sự linh hoạt, thích ứng với thay đổi và làm việc nhóm chặt chẽ.
D. Tối ưu hóa chi phí phát triển bằng cách giảm thiểu giao tiếp với người dùng.
4. Yếu tố nào sau đây KHÔNG thuộc về yêu cầu phi chức năng của hệ thống thông tin?
A. Hệ thống phải có khả năng xử lý 1000 giao dịch mỗi giây.
B. Hệ thống phải có giao diện thân thiện với người dùng.
C. Hệ thống phải cho phép người dùng đăng nhập và quản lý thông tin cá nhân.
D. Hệ thống phải đảm bảo dữ liệu được sao lưu hàng ngày.
5. Trong mô hình hóa dữ liệu quan hệ, ràng buộc `toàn vẹn tham chiếu` (referential integrity) đảm bảo điều gì?
A. Dữ liệu trong bảng phải tuân thủ một định dạng nhất định.
B. Giá trị của khóa ngoại (foreign key) phải tồn tại trong bảng khóa chính tương ứng.
C. Không được phép nhập dữ liệu trùng lặp vào bảng.
D. Dữ liệu phải được cập nhật đồng thời trên tất cả các bảng liên quan.
6. Trong kiểm thử hộp đen (black-box testing), người kiểm thử chủ yếu dựa vào thông tin nào để thiết kế các trường hợp kiểm thử?
A. Cấu trúc mã nguồn bên trong của phần mềm.
B. Thiết kế cơ sở dữ liệu của hệ thống.
C. Yêu cầu đặc tả chức năng của phần mềm.
D. Kiến trúc hệ thống tổng thể.
7. Điều gì KHÔNG phải là mục tiêu chính của giai đoạn `bảo trì` hệ thống thông tin?
A. Sửa lỗi phát sinh sau khi hệ thống được triển khai.
B. Thêm các chức năng mới theo yêu cầu thay đổi của người dùng.
C. Tối ưu hóa hiệu năng của hệ thống.
D. Xác định yêu cầu cho hệ thống mới thay thế hệ thống hiện tại.
8. Trong quy trình kiểm thử phần mềm, `Unit Testing` (kiểm thử đơn vị) được thực hiện ở giai đoạn nào và nhằm mục đích gì?
A. Giai đoạn cuối cùng, kiểm tra toàn bộ hệ thống trước khi triển khai.
B. Giai đoạn đầu của kiểm thử, kiểm tra từng thành phần (module, function) riêng lẻ.
C. Giai đoạn tích hợp, kiểm tra sự tương tác giữa các thành phần.
D. Giai đoạn nghiệm thu, kiểm tra sự phù hợp với yêu cầu của người dùng.
9. Kiến trúc hệ thống `Client-Server` hoạt động dựa trên nguyên tắc nào?
A. Tất cả các thành phần của hệ thống đều nằm trên cùng một máy tính.
B. Các máy khách (client) và máy chủ (server) có vai trò ngang nhau, chia sẻ tài nguyên.
C. Máy chủ (server) cung cấp dịch vụ và tài nguyên, máy khách (client) yêu cầu và sử dụng dịch vụ.
D. Hệ thống hoạt động phi tập trung, không có máy chủ trung tâm.
10. Trong thiết kế cơ sở dữ liệu quan hệ, `chuẩn hóa` (normalization) nhằm mục đích chính 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 dữ liệu.
C. Đảm bảo tính bảo mật cho dữ liệu.
D. Làm cho mô hình dữ liệu phức tạp hơn để đáp ứng nhiều yêu cầu.
11. Trong phân tích hệ thống thông tin, giai đoạn nào tập trung vào việc xác định và mô tả các yêu cầu chức năng và phi chức năng của hệ thống?
A. Thiết kế hệ thống
B. Phân tích yêu cầu
C. Kiểm thử hệ thống
D. Triển khai hệ thống
12. Khi nào thì việc sử dụng mô hình `Prototyping` (mẫu thử nghiệm) là phù hợp 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 mình 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à không giới hạn về thời gian.
13. Loại kiểm thử nào tập trung vào việc đảm bảo hệ thống hoạt động đúng với các yêu cầu phi chức năng, ví dụ như hiệu suất, bảo mật?
A. Kiểm thử chức năng (Functional Testing)
B. Kiểm thử hiệu năng (Performance Testing)
C. Kiểm thử tích hợp (Integration Testing)
D. Kiểm thử chấp nhận (Acceptance Testing)
14. Trong mô hình hóa dữ liệu quan hệ, khái niệm `Khóa chính` (Primary Key) dùng để:
A. Liên kết hai bảng dữ liệu với nhau.
B. Đảm bảo tính toàn vẹn dữ liệu bằng cách hạn chế nhập dữ liệu trùng lặp.
C. Xác định duy nhất mỗi bản ghi (row) trong một bảng.
D. Tăng tốc độ truy vấn dữ liệu.
15. Trong quản lý dự án phát triển hệ thống thông tin, `WBS` (Work Breakdown Structure) được sử dụng để làm gì?
A. Lập lịch trình dự án chi tiết.
B. Ước tính chi phí dự án.
C. Phân chia công việc dự án thành các phần nhỏ hơn, dễ quản lý.
D. Quản lý rủi ro dự án.
16. 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 quy trình.
B. Xác định các ca sử dụng (use cases) của hệ thống.
C. Phân tích mối quan hệ giữa các thực thể dữ liệu và các chức năng của hệ thống.
D. Thiết kế giao diện người dùng cho các chức năng CRUD.
17. Khi hệ thống thông tin cần tích hợp với nhiều hệ thống khác, kiến trúc nào sau đây thường được ưu tiên lựa chọn để đảm bảo tính linh hoạt và khả năng mở rộng?
A. Kiến trúc monolithic (nguyên khối).
B. Kiến trúc client-server truyền thống.
C. Kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) hoặc microservices.
D. Kiến trúc tập trung (centralized architecture).
18. Phương pháp `Waterfall` (thác nước) trong phát triển hệ thống thông tin có đặc điểm chính là gì?
A. Lặp đi lặp lại các giai đoạn phát triển cho đến khi đạt yêu cầu.
B. Các giai đoạn phát triển diễn ra tuần tự, giai đoạn sau chỉ bắt đầu khi giai đoạn trước hoàn thành.
C. Cho phép thay đổi yêu cầu liên tục trong quá trình phát triển.
D. Tập trung vào việc xây dựng một phiên bản thử nghiệm nhanh chóng để lấy phản hồi.
19. Phương pháp `quan sát` (observation) trong thu thập yêu cầu hệ thống có thể gặp phải hạn chế nào?
A. Không thu thập được thông tin về quy trình nghiệp vụ.
B. Tốn nhiều thời gian và chi phí hơn so với phỏng vấn.
C. Người được quan sát có thể thay đổi hành vi khi biết mình bị quan sát (hiệu ứng Hawthorne).
D. Không phù hợp với các hệ thống phức tạp.
20. Khi nào thì việc sử dụng `gia công phần mềm` (outsourcing) là một lựa chọn hợp lý trong phát triển hệ thống thông tin?
A. Khi công ty có đầy đủ nhân lực và chuyên môn nội bộ.
B. Khi dự án có yêu cầu bảo mật thông tin rất cao.
C. Khi công ty muốn tập trung vào năng lực cốt lõi và giảm chi phí phát triển.
D. Khi muốn kiểm soát hoàn toàn quá trình phát triển phần mềm.
21. Trong sơ đồ lớp (Class Diagram) UML, mối quan hệ `kết hợp` (association) giữa hai lớp thể hiện điều gì?
A. Một lớp là một loại đặc biệt của lớp khác (quan hệ kế thừa).
B. Một lớp chứa các đối tượng của lớp khác (quan hệ hợp thành).
C. Có một mối liên kết chung chung giữa các đối tượng của hai lớp.
D. Một lớp phụ thuộc vào lớp khác để thực hiện một số chức năng (quan hệ phụ thuộc).
22. Trong mô hình hóa quy trình nghiệp vụ, ký hiệu hình chữ nhật thường được sử dụng để biểu diễn:
A. Sự kiện bắt đầu hoặc kết thúc quy trình.
B. Quyết định hoặc rẽ nhánh trong quy trình.
C. Hoạt động hoặc công việc cần thực hiện.
D. Luồng dữ liệu hoặc thông tin.
23. Phân tích `Use Case` (ca sử dụng) trong phân tích yêu cầu hệ thống giúp:
A. Mô tả chi tiết cấu trúc dữ liệu của hệ thống.
B. Xác định các tương tác giữa người dùng (actor) và hệ thống để đạt được mục tiêu cụ thể.
C. Thiết kế cơ sở dữ liệu cho hệ thống.
D. Xác định các lớp (classes) và mối quan hệ giữa chúng.
24. Mô hình hóa dữ liệu (data modeling) trong thiết kế hệ thống thông tin chủ yếu tập trung vào việc:
A. Mô tả quy trình nghiệp vụ của tổ chức.
B. Xác định các lớp (classes) và đối tượng (objects) trong hệ thống.
C. Biểu diễn cấu trúc và mối quan hệ giữa các dữ liệu.
D. Thiết kế giao diện người dùng của hệ thống.
25. Công cụ CASE (Computer-Aided Software Engineering) được sử dụng để hỗ trợ giai đoạn nào trong phát triển hệ thống thông tin?
A. Chỉ giai đoạn lập trình.
B. Chỉ giai đoạn kiểm thử.
C. Toàn bộ các giai đoạn của vòng đời phát triển hệ thống.
D. Chỉ giai đoạn bảo trì.
26. Điều gì là quan trọng nhất cần xem xét khi thiết kế giao diện người dùng (UI) của một hệ thống thông tin?
A. Sử dụng công nghệ giao diện mới nhất và phức tạp nhất.
B. Đảm bảo giao diện đẹp mắt và có nhiều hiệu ứng đồ họa.
C. Tính dễ sử dụng, hiệu quả và trải nghiệm người dùng tốt.
D. Tối ưu hóa giao diện cho tất cả các loại thiết bị, kể cả những thiết bị cũ.
27. Phương pháp `phỏng vấn` (interview) trong thu thập yêu cầu hệ thống có ưu điểm chính là gì 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 hơn.
B. Tiết kiệm thời gian và chi phí thu thập thông tin hơn.
C. Cho phép làm rõ các câu hỏi và đào sâu vào chi tiết yêu cầu.
D. Đảm bảo tính khách quan và thống nhất trong câu trả lời.
28. Khái niệm `coupling` (kết nối) và `cohesion` (liên kết) thường được sử dụng để đánh giá điều gì trong thiết kế module phần mềm?
A. Hiệu suất và tốc độ xử lý của module.
B. Tính dễ sử dụng và giao diện người dùng của module.
C. Chất lượng thiết kế module, tính độc lập và khả năng tái sử dụng.
D. Tính bảo mật và khả năng chống chịu lỗi của module.
29. Trong giai đoạn `thiết kế hệ thống`, quyết định về việc lựa chọn ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu, và kiến trúc hệ thống thuộc về loại thiết kế nào?
A. Thiết kế dữ liệu.
B. Thiết kế kiến trúc.
C. Thiết kế giao diện người dùng.
D. Thiết kế thành phần (component design).
30. Mục tiêu chính của việc `kiểm thử hồi quy` (regression testing) là gì?
A. Kiểm tra các chức năng mới được thêm vào hệ thống.
B. Đảm bảo rằng các thay đổi (sửa lỗi, thêm chức năng) không gây ra lỗi mới hoặc ảnh hưởng xấu đến các chức năng đã hoạt động tốt trước đó.
C. Kiểm tra hiệu năng của hệ thống sau khi triển khai.
D. Kiểm tra tính bảo mật của hệ thống.