Đề 3 - 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. Phương pháp nào sau đây KHÔNG phải là một kỹ thuật thu thập yêu cầu phổ biến trong phân tích hệ thống?
A. Phỏng vấn
B. Quan sát
C. Nghe lén điện thoại
D. Bảng câu hỏi
2. Mục đích của việc tạo mẫu (prototyping) trong giai đoạn phân tích yêu cầu là gì?
A. Thay thế hoàn toàn giai đoạn thiết kế hệ thống.
B. Xác nhận và làm rõ yêu cầu của người dùng, thu thập phản hồi sớm.
C. Phát triển phiên bản cuối cùng của hệ thống một cách nhanh chóng.
D. Giảm thiểu chi phí phát triển hệ thống.
3. Trong thiết kế giao diện người dùng (UI), nguyên tắc 'tính nhất quán′ (consistency) đề cập đến điều gì?
A. Giao diện phải phức tạp và đa chức năng.
B. Giao diện phải thay đổi thường xuyên để tạo sự mới mẻ.
C. Các yếu tố giao diện tương tự phải hoạt động và xuất hiện giống nhau trên toàn hệ thống.
D. Giao diện phải tối ưu hóa cho người dùng chuyên gia, bỏ qua người dùng mới.
4. Mục đích 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 dữ liệu.
C. Đơn giản hóa quá trình thiết kế giao diện người dùng.
D. Tăng cường bảo mật cho cơ sở dữ liệu.
5. UML (Unified Modeling Language) được sử dụng chủ yếu trong giai đoạn nào của phát triển hệ thống?
A. Giai đoạn triển khai hệ thống.
B. Giai đoạn bảo trì hệ thống.
C. Giai đoạn phân tích và thiết kế hệ thống.
D. Giai đoạn lập kế hoạch hệ thống.
6. Trong thiết kế cơ sở dữ liệu quan hệ, ràng buộc toàn vẹn tham chiếu (referential integrity constraint) đảm bảo điều gì?
A. Dữ liệu trong bảng phải luôn chính xác và đầy đủ.
B. Giá trị khóa ngoại (foreign key) phải khớp với giá trị khóa chính (primary key) trong bảng liên quan hoặc là NULL.
C. Mỗi bảng phải có ít nhất một khóa chính.
D. Dữ liệu phải được nhập đúng định dạng và kiểu dữ liệu.
7. Khái niệm 'coupling′ (kết nối) trong thiết kế hệ thống đề cập đến điều gì?
A. Mức độ độc lập giữa các module trong hệ thống.
B. Mức độ phụ thuộc giữa các module trong hệ thống.
C. Tốc độ truyền dữ liệu giữa các module.
D. Kích thước của các module trong hệ thống.
8. 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. Viết lại toàn bộ mã nguồn từ đầu.
B. Thay đổi chức năng của phần mềm để đáp ứng yêu cầu mới.
C. Cải thiện cấu trúc bên trong của mã mà không thay đổi hành vi bên ngoài của nó.
D. Sửa lỗi và vá lỗ hổng bảo mật trong mã.
9. Trong quản lý dự án hệ thống thông tin, 'scope creep′ (phạm vi dự án bị phình to) đề cập đến điều gì?
A. Dự án hoàn thành sớm hơn dự kiến.
B. Chi phí dự án thấp hơn dự kiến.
C. Yêu cầu dự án mở rộng ngoài phạm vi ban đầu, thường không kiểm soát.
D. Chất lượng hệ thống vượt quá mong đợi.
10. Mục đích của sơ đồ Use Case trong UML là gì?
A. Mô tả cấu trúc lớp của hệ thống.
B. Mô tả luồng dữ liệu trong hệ thống.
C. Mô tả chức năng hệ thống từ góc độ người dùng (tác nhân) và các tương tác của họ với hệ thống.
D. Mô tả trạng thái và chuyển đổi trạng thái của đối tượng.
11. Trong mô hình ER, mối quan hệ 'một-nhiều′ (one-to-many relationship) giữa hai thực thể A và B có nghĩa là gì?
A. Một bản ghi trong thực thể A có thể liên quan đến tối đa một bản ghi trong thực thể B.
B. Một bản ghi trong thực thể A có thể liên quan đến không hoặc nhiều bản ghi trong thực thể B.
C. Mỗi bản ghi trong thực thể A phải liên quan đến đúng một bản ghi trong thực thể B.
D. Mỗi bản ghi trong thực thể A phải liên quan đến nhiều bản ghi trong thực thể B.
12. Phương pháp phát triển phần mềm Agile nhấn mạnh điều gì?
A. Tuân thủ nghiêm ngặt kế hoạch ban đầu và tài liệu chi tiết.
B. Linh hoạt, thích ứng với thay đổi, và tương tác thường xuyên với khách hàng.
C. Hoàn thành tất cả các giai đoạn phân tích và thiết kế trước khi viết mã.
D. Tối ưu hóa tài liệu hóa quy trình phát triển.
13. Phương pháp nào sau đây KHÔNG phải là một mô hình triển khai hệ thống phổ biến?
A. Triển khai trực tiếp (Direct cutover).
B. Triển khai song song (Parallel deployment).
C. Triển khai theo giai đoạn (Phased deployment).
D. Triển khai bằng cách tung đồng xu (Coin flip deployment).
14. Kiến trúc hướng dịch vụ (SOA - Service-Oriented Architecture) tập trung vào điều gì?
A. Xây dựng ứng dụng monolithic (nguyên khối) duy nhất.
B. Phát triển các dịch vụ độc lập, có thể tái sử dụng và tương tác với nhau qua mạng.
C. Tối ưu hóa hiệu suất của cơ sở dữ liệu tập trung.
D. Đơn giản hóa giao diện người dùng bằng cách giảm chức năng.
15. Mục tiêu chính của mô hình thác nước (Waterfall) trong SDLC là gì?
A. Linh hoạt thay đổi yêu cầu trong quá trình phát triển.
B. Phát triển hệ thống nhanh chóng và lặp đi lặp lại.
C. Tuân thủ nghiêm ngặt các giai đoạn tuần tự và hoàn thành mỗi giai đoạn trước khi chuyển sang giai đoạn tiếp theo.
D. Tối ưu hóa sự tham gia của người dùng cuối trong suốt dự án.
16. Trong phân tích SWOT, yếu tố 'Điểm yếu′ (Weaknesses) và 'Mối đe dọa′ (Threats) thường được xem xét từ góc độ nào?
A. Góc độ bên ngoài tổ chức.
B. Góc độ bên trong tổ chức.
C. Điểm yếu từ bên trong, mối đe dọa từ bên ngoài.
D. Điểm yếu từ bên ngoài, mối đe dọa từ bên trong.
17. Loại sơ đồ UML nào được sử dụng để mô tả các tương tác giữa các đối tượng theo thời gian, đặc biệt là trình tự các thông điệp trao đổi?
A. Sơ đồ lớp (Class diagram)
B. Sơ đồ hoạt động (Activity diagram)
C. Sơ đồ tuần tự (Sequence diagram)
D. Sơ đồ trạng thái (State diagram)
18. Trong thiết kế hướng đối tượng (Object-Oriented Design), nguyên tắc 'encapsulation′ (đóng gói) có nghĩa là gì?
A. Tạo ra nhiều đối tượng giống nhau.
B. Ẩn thông tin chi tiết bên trong đối tượng và chỉ cung cấp giao diện tương tác bên ngoài.
C. Kế thừa thuộc tính và phương thức từ lớp cha.
D. Phân chia hệ thống thành các module nhỏ và độc lập.
19. Kiểm thử hộp xám (grey-box testing) kết hợp đặc điểm của kiểm thử hộp trắng và hộp đen như thế nào?
A. Chỉ kiểm thử giao diện người dùng.
B. Chỉ kiểm thử hiệu suất hệ thống.
C. Có một phần kiến thức về cấu trúc bên trong hệ thống (ví dụ: cấu trúc dữ liệu, thuật toán) để thiết kế test case, nhưng không cần truy cập toàn bộ mã nguồn.
D. Chỉ sử dụng công cụ tự động hóa kiểm thử.
20. Trong kiểm thử phần mềm, 'stub′ và 'driver′ được sử dụng trong loại kiểm thử nào?
A. Kiểm thử hệ thống (System testing).
B. Kiểm thử tích hợp (Integration testing).
C. Kiểm thử đơn vị (Unit testing).
D. Kiểm thử chấp nhận (Acceptance testing).
21. Mục tiêu của kiểm thử hồi quy (regression testing) là gì?
A. Kiểm tra hiệu suất của hệ thống dưới tải cao.
B. Đảm bảo rằng các thay đổi mới (sửa lỗi, thêm tính năng) không gây ra lỗi mới hoặc làm hỏng các chức năng hiện có.
C. Tìm ra tất cả các lỗi trong hệ thống trước khi triển khai.
D. Đánh giá mức độ hài lòng của người dùng với hệ thống.
22. Mô hình xoắn ốc (Spiral model) trong SDLC phù hợp nhất với loại dự án nào?
A. Dự án có yêu cầu rõ ràng và ít thay đổi.
B. Dự án quy mô nhỏ với thời gian phát triển ngắn.
C. Dự án phức tạp, rủi ro cao và yêu cầu có thể thay đổi trong quá trình phát triển.
D. Dự án cần triển khai nhanh chóng với phiên bản tối thiểu.
23. Loại kiểm thử hệ thống nào tập trung vào việc đảm bảo rằng tất cả các thành phần của hệ thống hoạt động cùng nhau một cách chính xác sau khi tích hợp?
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 (Acceptance testing)
24. Trong mô hình thực thể kết hợp (ER model), một thuộc tính khóa chính (primary key) có đặc điểm nào?
A. Có thể chứa giá trị trùng lặp.
B. Có thể để trống giá trị.
C. Xác định duy nhất mỗi bản ghi trong thực thể.
D. Không bắt buộc phải có trong mọi thực thể.
25. Giai đoạn nào trong Vòng đời phát triển hệ thống (SDLC) tập trung vào việc xác định vấn đề và cơ hội kinh doanh mà hệ thống mới cần giải quyết?
A. Thiết kế hệ thống
B. Phân tích hệ thống
C. Lập kế hoạch hệ thống
D. Triển khai hệ thống
26. Yếu tố nào sau đây KHÔNG thuộc về tính khả thi về kỹ thuật (technical feasibility) của một dự án hệ thống thông tin?
A. Sự sẵn có của công nghệ cần thiết.
B. Khả năng kỹ thuật của đội ngũ phát triển.
C. Lợi nhuận dự kiến từ hệ thống.
D. Tính tương thích với hệ thống hiện có.
27. Biểu đồ luồng dữ liệu (DFD) mức 0, còn được gọi là biểu đồ ngữ cảnh, thể hiện điều gì?
A. Luồng dữ liệu chi tiết bên trong hệ thống.
B. Mô hình dữ liệu của hệ thống.
C. Tổng quan về hệ thống và các thực thể bên ngoài tương tác với nó.
D. Cấu trúc cơ sở dữ liệu của hệ thống.
28. Nguyên tắc 'DRY′ (Don′t Repeat Yourself) trong lập trình phần mềm khuyến khích điều gì?
A. Lặp lại mã nhiều lần để đảm bảo tính chính xác.
B. Tránh sao chép mã và tái sử dụng mã khi có thể.
C. Viết mã dài và phức tạp để tăng tính bảo mật.
D. Tập trung vào tốc độ viết mã hơn là chất lượng mã.
29. Điểm khác biệt chính giữa kiểm thử hộp trắng (white-box testing) và kiểm thử hộp đen (black-box testing) là gì?
A. Kiểm thử hộp trắng do người dùng cuối thực hiện, hộp đen do nhà phát triển.
B. Kiểm thử hộp trắng dựa trên cấu trúc bên trong mã nguồn, hộp đen dựa trên chức năng bên ngoài.
C. Kiểm thử hộp trắng tập trung vào hiệu suất, hộp đen tập trung vào tính bảo mật.
D. Kiểm thử hộp trắng luôn tự động, hộp đen luôn thủ công.
30. Phương pháp luận phát triển nhanh (RAD - Rapid Application Development) ưu tiên điều gì?
A. Lập kế hoạch chi tiết và tài liệu hóa đầy đủ trước khi phát triển.
B. Phát triển nhanh các nguyên mẫu (prototypes) và lặp lại dựa trên phản hồi của người dùng.
C. Tuân thủ nghiêm ngặt mô hình thác nước.
D. Tối ưu hóa chi phí phát triển bằng cách sử dụng ít tài nguyên nhất.