1. Trong thiết kế hệ thống, nguyên tắc ‘high cohesion’ (tính cố kết cao) áp dụng cho các mô-đun phần mềm có ý nghĩa là gì?
A. Các chức năng bên trong một mô-đun liên quan chặt chẽ và tập trung vào một nhiệm vụ chung.
B. Các mô-đun ít phụ thuộc vào nhau.
C. Hệ thống có thể dễ dàng mở rộng.
D. Giao diện người dùng đơn giản và trực quan.
2. Trong thiết kế hệ thống, ‘object-oriented design’ (OOD) có ưu điểm chính là gì?
A. Tăng tính mô-đun hóa, tái sử dụng mã và dễ dàng quản lý sự phức tạp.
B. Đảm bảo hiệu năng xử lý cao nhất cho mọi ứng dụng.
C. Đơn giản hóa quá trình thu thập yêu cầu từ người dùng.
D. Giảm thiểu nhu cầu về kiểm thử hệ thống.
3. Yêu cầu về ‘performance’ (hiệu năng) của hệ thống thông tin thuộc loại yêu cầu nào?
A. Yêu cầu phi chức năng (Non-functional requirement).
B. Yêu cầu chức năng (Functional requirement).
C. Yêu cầu kinh doanh (Business requirement).
D. Yêu cầu hệ thống (System requirement) chung.
4. Khi phân tích hệ thống, ‘validation rules’ (quy tắc xác thực) được áp dụng cho dữ liệu đầu vào nhằm mục đích gì?
A. Đảm bảo dữ liệu nhập vào là chính xác, hợp lệ và tuân thủ các ràng buộc.
B. Tăng tốc độ xử lý của hệ thống.
C. Giảm thiểu dung lượng lưu trữ dữ liệu.
D. Tự động tạo báo cáo từ dữ liệu.
5. Mục tiêu chính của việc thực hiện phân tích ‘SWOT’ (Strengths, Weaknesses, Opportunities, Threats) trong bối cảnh dự án hệ thống thông tin là gì?
A. Xác định các yếu tố nội bộ và bên ngoài có thể ảnh hưởng đến sự thành công của dự án.
B. Lập trình mã nguồn cho hệ thống.
C. Thiết kế cơ sở dữ liệu quan hệ.
D. Đánh giá chi phí triển khai phần cứng.
6. Trong phân tích hệ thống, ‘Use Case Diagram’ (Biểu đồ ca sử dụng) được sử dụng để biểu diễn điều gì?
A. Tương tác giữa người dùng (actor) và các chức năng (use case) của hệ thống.
B. Cấu trúc dữ liệu và mối quan hệ giữa các bảng trong cơ sở dữ liệu.
C. Luồng điều khiển và trình tự thực thi của các hoạt động trong hệ thống.
D. Kiến trúc vật lý của hệ thống, bao gồm máy chủ và mạng lưới.
7. Trong phương pháp phát triển hệ thống, ‘testing’ (kiểm thử) là một giai đoạn quan trọng. Loại kiểm thử nào tập trung vào việc kiểm tra xem hệ thống có hoạt động đúng theo yêu cầu của người dùng và đáp ứng mục tiêu kinh doanh không?
A. Kiểm thử chấp nhận (Acceptance Testing).
B. Kiểm thử đơn vị (Unit Testing).
C. Kiểm thử tích hợp (Integration Testing).
D. Kiểm thử hệ thống (System Testing).
8. Khi thiết kế cơ sở dữ liệu, khái niệm ‘khóa chính’ (primary key) có vai trò gì?
A. Đảm bảo tính duy nhất và là định danh cho mỗi bản ghi trong một bảng.
B. Liên kết hai bảng với nhau trong một quan hệ.
C. Chỉ định các thuộc tính có thể có giá trị NULL.
D. Xác định thứ tự sắp xếp của các bản ghi.
9. Trong kỹ thuật thu thập yêu cầu, phỏng vấn (interviews) có ưu điểm chính là gì?
A. Cho phép đào sâu vào chi tiết, hiểu rõ bối cảnh và làm rõ các vấn đề phức tạp.
B. Thu thập được số lượng lớn yêu cầu từ nhiều người cùng lúc.
C. Tạo ra tài liệu yêu cầu đầy đủ một cách tự động.
D. Giảm thiểu sự thiên vị của người phỏng vấn.
10. Khi một hệ thống cần xử lý một lượng lớn giao dịch trong thời gian ngắn, yêu cầu về ‘scalability’ (khả năng mở rộng) trở nên quan trọng. Điều này liên quan đến khía cạnh nào của hệ thống?
A. Khả năng hệ thống đáp ứng được sự gia tăng về tải hoặc khối lượng công việc.
B. Khả năng hệ thống hoạt động liên tục mà không bị gián đoạn.
C. Khả năng hệ thống bảo vệ dữ liệu khỏi truy cập trái phép.
D. Khả năng hệ thống dễ dàng sửa đổi khi có yêu cầu mới.
11. Trong quá trình phân tích và thiết kế hệ thống, thuật ngữ ‘backward compatibility’ (tương thích ngược) có ý nghĩa gì?
A. Khả năng của một hệ thống hoặc phần mềm mới hoạt động với dữ liệu hoặc các phiên bản cũ hơn của hệ thống đó.
B. Khả năng của hệ thống mới hoạt động trên các nền tảng phần cứng khác nhau.
C. Khả năng của hệ thống cũ hoạt động với các phần mềm mới.
D. Khả năng hệ thống được thiết kế để dễ dàng nâng cấp trong tương lai.
12. Mục tiêu chính của việc tạo ‘Activity Diagram’ (Biểu đồ hoạt động) trong UML là gì?
A. Mô tả luồng công việc hoặc quy trình nghiệp vụ, bao gồm các hoạt động, điểm quyết định và luồng điều khiển.
B. Biểu diễn cấu trúc dữ liệu và mối quan hệ giữa các thực thể.
C. Mô tả tương tác giữa các đối tượng theo thời gian.
D. Xác định các trường hợp sử dụng của hệ thống.
13. Khi mô hình hóa quy trình nghiệp vụ bằng Business Process Model and Notation (BPMN), ký hiệu ‘End Event’ (Sự kiện kết thúc) được sử dụng để biểu thị điều gì?
A. Điểm kết thúc của một quy trình hoặc một nhánh của quy trình.
B. Điểm bắt đầu của một quy trình mới.
C. Một hoạt động cần được thực hiện bởi người dùng.
D. Một điểm quyết định trong quy trình.
14. Khi phân tích yêu cầu, ‘validation’ (xác thực) và ‘verification’ (kiểm chứng) có sự khác biệt. Xác thực (validation) tập trung vào điều gì?
A. Đảm bảo hệ thống được xây dựng đúng theo các yêu cầu của người dùng.
B. Đảm bảo hệ thống được xây dựng đúng theo các đặc tả thiết kế.
C. Kiểm tra xem hệ thống có hoạt động một cách hiệu quả hay không.
D. Đảm bảo hệ thống có thể mở rộng trong tương lai.
15. Mục tiêu chính của giai đoạn ‘testing’ (kiểm thử) trong SDLC là gì?
A. Xác định và sửa chữa các lỗi, sai sót trong hệ thống trước khi đưa vào sử dụng.
B. Thu thập phản hồi từ người dùng về giao diện.
C. Lập kế hoạch triển khai hệ thống.
D. Đào tạo người dùng cuối.
16. Khi xem xét các phương pháp phát triển hệ thống, Agile và Waterfall khác biệt cơ bản nhất ở điểm nào?
A. Agile có tính lặp và linh hoạt, Waterfall là tuần tự và tuyến tính.
B. Waterfall tập trung vào tài liệu chi tiết, Agile thì không.
C. Agile chỉ áp dụng cho các dự án nhỏ, Waterfall cho dự án lớn.
D. Agile yêu cầu ít sự tham gia của khách hàng hơn Waterfall.
17. Trong giai đoạn thiết kế hệ thống, mô hình ‘Sequence Diagram’ (Biểu đồ tuần tự) được sử dụng để minh họa điều gì?
A. Sự tương tác giữa các đối tượng hoặc thành phần hệ thống theo trình tự thời gian.
B. Cấu trúc phân cấp của các lớp.
C. Luồng dữ liệu qua các quy trình.
D. Các trường hợp sử dụng của hệ thống.
18. Trong phân tích hệ thống thông tin, thuật ngữ ‘scope creep’ thường đề cập đến hiện tượng nào?
A. Sự gia tăng không kiểm soát các yêu cầu của dự án sau khi phạm vi ban đầu đã được xác định.
B. Việc giảm bớt các chức năng không cần thiết để tiết kiệm chi phí dự án.
C. Sự thay đổi đột ngột về công nghệ ảnh hưởng đến thiết kế hệ thống.
D. Việc sử dụng quá nhiều công cụ phức tạp trong quá trình phân tích.
19. Trong phân tích hệ thống, ‘entity-relationship diagram’ (ERD) được sử dụng để mô tả?
A. Cấu trúc dữ liệu, bao gồm các thực thể (entities), thuộc tính (attributes) và mối quan hệ (relationships) giữa chúng.
B. Các quy trình nghiệp vụ và luồng công việc.
C. Các thành phần kiến trúc của hệ thống phần mềm.
D. Kịch bản tương tác của người dùng với hệ thống.
20. Yêu cầu về ‘usability’ (khả năng sử dụng) của một hệ thống thông tin thuộc loại yêu cầu nào?
A. Yêu cầu phi chức năng (Non-functional requirement).
B. Yêu cầu chức năng (Functional requirement).
C. Yêu cầu kinh doanh (Business requirement).
D. Yêu cầu về dữ liệu (Data requirement).
21. Trong phân tích nghiệp vụ, ‘Gap Analysis’ (phân tích khoảng cách) thường được thực hiện để làm gì?
A. Xác định sự khác biệt giữa tình hình hiện tại (as-is) và tình hình mong muốn (to-be) để lập kế hoạch thay đổi.
B. Đánh giá hiệu năng của hệ thống hiện tại.
C. Thiết kế kiến trúc cho hệ thống mới.
D. Lập trình mã nguồn cho các chức năng mới.
22. Khi phân tích yêu cầu, nếu có sự không rõ ràng hoặc mâu thuẫn trong yêu cầu từ các bên liên quan khác nhau, hành động phù hợp nhất là gì?
A. Tổ chức các buổi họp để làm rõ, thương lượng và đạt được sự đồng thuận về yêu cầu.
B. Tự quyết định theo ý kiến của mình để đẩy nhanh tiến độ.
C. Bỏ qua yêu cầu đó và tiếp tục với các yêu cầu khác.
D. Ghi lại tất cả các phiên bản mâu thuẫn mà không làm rõ.
23. Mục đích chính của việc tạo ‘Data Flow Diagram’ (DFD) trong phân tích hệ thống là gì?
A. Mô tả luồng dữ liệu qua các quy trình và các thành phần xử lý của hệ thống.
B. Biểu diễn cấu trúc phân cấp của các module phần mềm.
C. Xác định các trường hợp lỗi và cách xử lý chúng.
D. Mô tả kiến trúc mạng và các kết nối.
24. Khi phân tích hệ thống, việc sử dụng ‘user stories’ (câu chuyện người dùng) là một phương pháp phổ biến trong các quy trình phát triển theo hướng nào?
A. Agile.
B. Waterfall.
C. Spiral.
D. V-Model.
25. Khái niệm ‘coupling’ (sự ràng buộc) trong thiết kế phần mềm đề cập đến mức độ phụ thuộc lẫn nhau giữa các mô-đun. Mức độ ‘loose coupling’ (ràng buộc lỏng) được xem là tiêu chí tốt hay xấu?
A. Tốt, vì nó giúp tăng tính mô-đun hóa, dễ bảo trì và tái sử dụng.
B. Xấu, vì nó làm giảm khả năng giao tiếp giữa các mô-đun.
C. Tốt, vì nó tăng tốc độ xử lý của hệ thống.
D. Xấu, vì nó làm cho hệ thống trở nên phức tạp hơn.
26. Khi đánh giá các lựa chọn công nghệ cho một hệ thống, tiêu chí ‘reliability’ (độ tin cậy) đề cập đến điều gì?
A. Khả năng hệ thống hoạt động một cách nhất quán và không gặp lỗi trong một khoảng thời gian nhất định.
B. Tốc độ xử lý của hệ thống.
C. Khả năng mở rộng của hệ thống khi có thêm người dùng.
D. Tính bảo mật của dữ liệu.
27. Trong thiết kế giao diện người dùng (UI Design), nguyên tắc ‘consistency’ (tính nhất quán) đề cập đến điều gì?
A. Sử dụng các yếu tố thiết kế (như nút bấm, màu sắc, font chữ) giống nhau trên toàn bộ hệ thống hoặc ứng dụng.
B. Thiết kế giao diện sao cho người dùng có thể hoàn thành tác vụ nhanh nhất.
C. Đảm bảo hệ thống có thể chạy trên nhiều nền tảng khác nhau.
D. Tối ưu hóa hiệu suất xử lý của hệ thống.
28. Trong thiết kế cơ sở dữ liệu, hành động ‘normalization’ (chuẩn hóa) nhằm mục đích chính là gì?
A. Giảm thiểu sự dư thừa dữ liệu và ngăn ngừa các vấn đề về cập nhật (anomalies).
B. Tăng tốc độ truy vấn dữ liệu.
C. Mở rộng khả năng lưu trữ của cơ sở dữ liệu.
D. Đảm bảo tính bảo mật của dữ liệu.
29. Dữ liệu nào sau đây thường KHÔNG thuộc về mô tả ‘non-functional requirements’ (yêu cầu phi chức năng)?
A. Khả năng đăng nhập của người dùng vào hệ thống.
B. Thời gian phản hồi của hệ thống dưới một tải nhất định.
C. Tốc độ xử lý của giao dịch.
D. Khả năng mở rộng của hệ thống khi có thêm người dùng.
30. Khi thiết kế cơ sở dữ liệu, ‘view’ (lược xem) được sử dụng để làm gì?
A. Tạo ra một tập hợp con của dữ liệu từ một hoặc nhiều bảng, có thể được lưu trữ hoặc truy vấn như một bảng ảo.
B. Tăng tốc độ ghi dữ liệu vào bảng.
C. Đảm bảo tính duy nhất của các bản ghi.
D. Liên kết các bảng một cách bắt buộc.
31. Khi phân tích hệ thống, ‘entity’ (thực thể) trong mô hình ERD đại diện cho điều gì?
A. Một đối tượng hoặc khái niệm quan trọng mà hệ thống cần lưu trữ thông tin, ví dụ: Khách hàng, Sản phẩm.
B. Một quy trình xử lý dữ liệu.
C. Một mối quan hệ giữa hai đối tượng.
D. Một thuộc tính mô tả đặc điểm của đối tượng.
32. Mục tiêu của ‘unit testing’ (kiểm thử đơn vị) trong quá trình phát triển phần mềm là gì?
A. Kiểm tra hoạt động của từng thành phần mã nguồn nhỏ nhất (ví dụ: hàm, phương thức) một cách độc lập.
B. Kiểm tra toàn bộ chức năng của hệ thống.
C. Đánh giá hiệu năng của hệ thống dưới tải thực tế.
D. Xác định các lỗi giao diện người dùng.
33. Khi phân tích hệ thống, ‘state transition diagram’ (SCD) thường được sử dụng để mô tả?
A. Các trạng thái khác nhau mà một đối tượng có thể có và các sự kiện chuyển đổi giữa các trạng thái đó.
B. Luồng dữ liệu giữa các thành phần của hệ thống.
C. Cấu trúc phân cấp của các lớp đối tượng.
D. Các trường hợp sử dụng của hệ thống.
34. Trong các giai đoạn của vòng đời phát triển hệ thống (SDLC), giai đoạn nào tập trung vào việc xác định ‘cái gì’ mà hệ thống cần làm?
A. Phân tích yêu cầu (Requirements Analysis).
B. Thiết kế hệ thống (System Design).
C. Triển khai (Implementation).
D. Bảo trì (Maintenance).
35. Trong giai đoạn thu thập yêu cầu, kỹ thuật ‘prototyping’ (tạo mẫu) chủ yếu hỗ trợ việc gì?
A. Giúp người dùng hình dung và phản hồi về giao diện và chức năng của hệ thống.
B. Tự động tạo mã nguồn cho hệ thống.
C. Đánh giá hiệu năng của hệ thống dưới tải cao.
D. Xác định các rủi ro bảo mật tiềm ẩn.
36. Trong thiết kế cơ sở dữ liệu, ‘foreign key’ (khóa ngoại) được sử dụng để làm gì?
A. Thiết lập mối quan hệ giữa hai bảng bằng cách tham chiếu đến khóa chính của bảng khác.
B. Đảm bảo tính duy nhất của các bản ghi trong một bảng.
C. Chỉ định các thuộc tính có thể có giá trị NULL.
D. Xác định các chỉ mục để tăng tốc độ truy vấn.
37. Khi đánh giá các giải pháp kỹ thuật cho một hệ thống, tiêu chí ‘maintainability’ (khả năng bảo trì) ám chỉ điều gì?
A. Khả năng sửa lỗi, cập nhật hoặc cải tiến hệ thống một cách dễ dàng và hiệu quả.
B. Khả năng hệ thống hoạt động ổn định dưới tải cao.
C. Tốc độ mà hệ thống có thể được triển khai.
D. Khả năng tương thích với các hệ thống bên ngoài.
38. Trong thiết kế cơ sở dữ liệu, ‘index’ (chỉ mục) được tạo ra để làm gì?
A. Tăng tốc độ truy vấn dữ liệu bằng cách cung cấp một đường dẫn truy cập nhanh hơn đến các hàng.
B. Đảm bảo tính duy nhất của các bản ghi.
C. Liên kết hai bảng với nhau.
D. Giảm thiểu sự dư thừa dữ liệu.
39. Trong phân tích và thiết kế hệ thống, mô hình ‘Class Diagram’ (Biểu đồ lớp) trong UML dùng để biểu diễn?
A. Cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
B. Luồng dữ liệu và các quy trình xử lý.
C. Các trạng thái và chuyển đổi trạng thái của đối tượng.
D. Các tác nhân và cách tương tác với hệ thống.
40. Khi phân tích yêu cầu người dùng, việc sử dụng kỹ thuật ‘brainstorming’ (động não) có mục đích chính là gì?
A. Tạo ra một lượng lớn ý tưởng về các yêu cầu hoặc giải pháp tiềm năng trong một môi trường không phán xét.
B. Đánh giá chi tiết từng yêu cầu đã được đề xuất.
C. Phân tích mối quan hệ giữa các thực thể dữ liệu.
D. Kiểm tra tính khả thi về mặt kỹ thuật của các giải pháp.
41. Biểu đồ lớp (Class Diagram) trong UML dùng để thể hiện cấu trúc tĩnh của hệ thống, bao gồm những yếu tố nào?
A. Các luồng dữ liệu và quy trình xử lý.
B. Các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
C. Các trạng thái và sự chuyển đổi trạng thái.
D. Các ca sử dụng (Use Cases) và vai trò của người dùng.
42. Phương pháp nào sau đây thường được sử dụng để thu thập yêu cầu từ các bên liên quan bằng cách đặt câu hỏi trực tiếp?
A. Quan sát (Observation)
B. Phỏng vấn (Interview)
C. Phân tích tài liệu (Document Analysis)
D. Brainstorming
43. Yêu cầu nào sau đây mô tả một ‘yêu cầu chức năng’?
A. Hệ thống phải có giao diện thân thiện với người dùng.
B. Hệ thống phải có khả năng chịu lỗi cao.
C. Hệ thống phải cho phép người dùng tìm kiếm sản phẩm theo tên.
D. Hệ thống phải được phát triển bằng ngôn ngữ Java.
44. Mục đích của việc ‘tái cấu trúc’ (refactoring) trong phát triển phần mềm là gì?
A. Thêm các chức năng mới vào hệ thống.
B. Sửa lỗi trong mã nguồn.
C. Cải thiện cấu trúc nội bộ của mã nguồn mà không làm thay đổi hành vi bên ngoài.
D. Thay đổi yêu cầu của hệ thống.
45. Loại biểu đồ UML nào mô tả các hành động và luồng điều khiển của một quy trình?
A. Class Diagram
B. Use Case Diagram
C. Activity Diagram
D. Component Diagram
46. Loại yêu cầu nào mô tả ‘hệ thống phải phản hồi yêu cầu của người dùng trong vòng 2 giây’?
A. Yêu cầu chức năng (Functional Requirement)
B. Yêu cầu phi chức năng (Non-functional Requirement)
C. Yêu cầu nghiệp vụ (Business Requirement)
D. Yêu cầu hệ thống (System Requirement)
47. Kỹ thuật ‘prototyping’ trong phát triển hệ thống thường được áp dụng để?
A. Tự động hóa quá trình kiểm thử.
B. Xác nhận và tinh chỉnh yêu cầu với người dùng thông qua một bản mẫu.
C. Tối ưu hóa hiệu năng của hệ thống.
D. Quản lý dự án và phân bổ nguồn lực.
48. Trong mô hình phát triển Agile, ‘sprint’ là gì?
A. Một giai đoạn lập kế hoạch dự án.
B. Một khoảng thời gian cố định, ngắn hạn, trong đó một nhóm phát triển hoàn thành một tập hợp các công việc đã được ưu tiên.
C. Một loại kiểm thử hệ thống.
D. Một buổi họp đánh giá kết quả dự án.
49. Trong giai đoạn thiết kế, ‘thiết kế chi tiết’ (detailed design) tập trung vào điều gì?
A. Xác định các chức năng tổng quát của hệ thống.
B. Lập kế hoạch dự án và phân bổ nguồn lực.
C. Mô tả cách thức triển khai từng thành phần, bao gồm thuật toán, cấu trúc dữ liệu.
D. Thu thập yêu cầu từ người dùng cuối.
50. Tại sao việc xác định rõ ràng các ‘quy tắc nghiệp vụ’ (business rules) lại quan trọng trong phân tích hệ thống?
A. Để đảm bảo hệ thống tuân thủ các quy định pháp luật.
B. Để định hướng thiết kế giao diện người dùng.
C. Để cung cấp cơ sở cho việc triển khai logic nghiệp vụ trong hệ thống.
D. Để ước lượng chi phí phát triển hệ thống.
51. Kỹ thuật ‘Brainstorming’ trong giai đoạn phân tích hệ thống thường được sử dụng để?
A. Đánh giá hiệu năng hệ thống.
B. Tạo ra nhiều ý tưởng và giải pháp tiềm năng một cách nhanh chóng.
C. Viết tài liệu kỹ thuật chi tiết.
D. Kiểm thử các trường hợp lỗi.
52. Trong thiết kế hệ thống, ‘mô hình hóa dữ liệu’ (data modeling) tập trung vào điều gì?
A. Trình tự thực hiện các tác vụ.
B. Cấu trúc, mối quan hệ và cách tổ chức dữ liệu trong hệ thống.
C. Giao diện tương tác với người dùng.
D. Luồng thông tin giữa các thành phần.
53. Trong phân tích hệ thống, ‘mô hình hóa quy trình nghiệp vụ’ (Business Process Modeling) giúp đạt được mục tiêu nào?
A. Tăng tốc độ xử lý của máy chủ.
B. Hiểu rõ và chuẩn hóa các quy trình hoạt động hiện tại hoặc mong muốn.
C. Giảm chi phí bảo trì phần mềm.
D. Thiết kế cấu trúc cơ sở dữ liệu tối ưu.
54. Kỹ thuật ‘phân tích xương cá’ (Ishikawa/Fishbone Diagram) thường được sử dụng để?
A. Lập kế hoạch dự án.
B. Xác định nguyên nhân gốc rễ của một vấn đề hoặc lỗi.
C. Thiết kế giao diện người dùng.
D. Mô hình hóa luồng dữ liệu.
55. Trong thiết kế hệ thống, nguyên tắc ‘Tách biệt mối quan tâm’ (Separation of Concerns – SoC) có ý nghĩa gì?
A. Tạo ra các mô-đun độc lập hoàn toàn với nhau.
B. Chia nhỏ hệ thống thành các phần riêng biệt, mỗi phần chịu trách nhiệm cho một khía cạnh hoặc chức năng cụ thể.
C. Giảm thiểu số lượng thành phần trong hệ thống.
D. Tăng cường khả năng tương tác giữa các mô-đun.
56. Mục tiêu của việc ‘kiểm thử đơn vị’ (unit testing) là gì?
A. Kiểm tra toàn bộ hệ thống.
B. Kiểm tra sự tương tác giữa các mô-đun.
C. Kiểm tra các đơn vị mã nguồn nhỏ nhất (ví dụ: hàm, phương thức) để đảm bảo chúng hoạt động đúng.
D. Kiểm tra hiệu năng của hệ thống dưới tải nặng.
57. Trong các mô hình phát triển phần mềm, mô hình ‘V-model’ nhấn mạnh điều gì?
A. Phát triển lặp lại và tăng trưởng.
B. Sự song song giữa các giai đoạn phát triển và kiểm thử.
C. Phát triển theo từng giai đoạn tuần tự.
D. Phát triển linh hoạt và thích ứng nhanh với thay đổi.
58. Loại biểu đồ nào trong UML mô tả hành vi của hệ thống dựa trên các tương tác giữa các đối tượng?
A. Class Diagram
B. Sequence Diagram
C. Component Diagram
D. State Machine Diagram
59. Trong thiết kế giao diện người dùng, nguyên tắc ‘Nhất quán’ (Consistency) có ý nghĩa gì?
A. Sử dụng nhiều màu sắc khác nhau trong giao diện.
B. Đảm bảo các yếu tố thiết kế, cách bố trí và hành vi tương tự nhau trên toàn bộ hệ thống.
C. Cung cấp nhiều tùy chọn cho người dùng.
D. Sử dụng các công nghệ mới nhất.
60. Trong thiết kế hệ thống, ‘mức độ ghép nối’ (coupling) đề cập đến điều gì?
A. Mức độ phụ thuộc giữa các mô-đun hoặc thành phần của hệ thống.
B. Mức độ phức tạp của một mô-đun.
C. Mức độ tương tác giữa người dùng và hệ thống.
D. Mức độ sử dụng lại mã nguồn.
61. Yêu cầu nào thuộc loại ‘yêu cầu về khả năng mở rộng’ (scalability requirement)?
A. Hệ thống phải có giao diện trực quan.
B. Hệ thống phải có khả năng xử lý gia tăng lượng người dùng hoặc dữ liệu mà không làm giảm hiệu suất.
C. Hệ thống phải dễ dàng cập nhật.
D. Hệ thống phải tuân thủ các tiêu chuẩn bảo mật.
62. Khi thiết kế một cơ sở dữ liệu, việc xác định ‘khóa chính’ (primary key) có vai trò gì?
A. Liên kết các bảng với nhau.
B. Đảm bảo tính duy nhất của mỗi bản ghi trong một bảng.
C. Xác định thứ tự sắp xếp của dữ liệu.
D. Chỉ định loại dữ liệu cho một cột.
63. Trong thiết kế cơ sở dữ liệu, ‘chuẩn hóa’ (normalization) nhằm mục đích gì?
A. Tăng cường khả năng truy cập dữ liệu.
B. Giảm thiểu dư thừa dữ liệu và tránh các vấn đề về cập nhật.
C. Tăng tốc độ truy vấn dữ liệu.
D. Mở rộng dung lượng lưu trữ.
64. Biểu đồ luồng dữ liệu (Data Flow Diagram – DFD) được sử dụng để biểu diễn điều gì trong phân tích hệ thống?
A. Cấu trúc dữ liệu của hệ thống.
B. Luồng thông tin và các quy trình xử lý dữ liệu trong hệ thống.
C. Mối quan hệ giữa các đối tượng trong hệ thống.
D. Trình tự thực hiện các tác vụ trong hệ thống.
65. Nguyên tắc ‘Đóng gói’ (Encapsulation) trong hướng đối tượng có ý nghĩa gì?
A. Cho phép truy cập trực tiếp vào dữ liệu của đối tượng.
B. Ẩn giấu chi tiết triển khai bên trong và chỉ cung cấp giao diện để tương tác.
C. Tạo ra các lớp kế thừa lẫn nhau.
D. Cho phép nhiều đối tượng cùng chia sẻ một tài nguyên.
66. Trong phân tích hệ thống, ‘ngữ cảnh của hệ thống’ (system context) bao gồm những gì?
A. Toàn bộ mã nguồn của hệ thống.
B. Các quy trình nội bộ của hệ thống.
C. Các thực thể bên ngoài và các hệ thống khác mà hệ thống tương tác.
D. Cấu trúc cơ sở dữ liệu.
67. Khái niệm ‘tính trừu tượng’ (abstraction) trong thiết kế hệ thống đề cập đến việc?
A. Tăng cường hiệu năng xử lý.
B. Tập trung vào các chi tiết quan trọng và bỏ qua các chi tiết không cần thiết.
C. Tạo ra các lớp kế thừa phức tạp.
D. Đảm bảo tính bảo mật dữ liệu.
68. Tại sao ‘phân tích hệ thống khả thi’ (feasibility analysis) lại quan trọng ở giai đoạn đầu của dự án?
A. Để viết mã nguồn hiệu quả nhất.
B. Để xác định xem dự án có khả thi về mặt kỹ thuật, kinh tế và hoạt động hay không.
C. Để thiết kế chi tiết giao diện người dùng.
D. Để lập kế hoạch triển khai.
69. Trong thiết kế cơ sở dữ liệu, ‘khóa ngoại’ (foreign key) có chức năng gì?
A. Đảm bảo tính duy nhất của bản ghi trong một bảng.
B. Tạo mối liên kết giữa các bảng và duy trì tính toàn vẹn tham chiếu dữ liệu.
C. Lưu trữ các giá trị có thể rỗng.
D. Xác định thứ tự ưu tiên truy vấn.
70. Loại yêu cầu nào mô tả ‘Hệ thống phải đảm bảo chỉ người quản lý mới có quyền xóa dữ liệu người dùng’?
A. Yêu cầu hiệu năng (Performance Requirement).
B. Yêu cầu bảo mật (Security Requirement).
C. Yêu cầu khả năng sử dụng (Usability Requirement).
D. Yêu cầu về giao diện (Interface Requirement).
71. Yêu cầu nào liên quan đến ‘tính dễ bảo trì’ (maintainability) của hệ thống?
A. Hệ thống phải có khả năng mở rộng.
B. Hệ thống phải dễ dàng sửa đổi, cập nhật hoặc khắc phục lỗi.
C. Hệ thống phải có giao diện người dùng trực quan.
D. Hệ thống phải có khả năng chịu tải cao.
72. Trong kỹ thuật thiết kế hệ thống, ‘mức độ gắn kết’ (cohesion) của một mô-đun được đánh giá dựa trên điều gì?
A. Mức độ phụ thuộc của mô-đun với các mô-đun khác.
B. Mức độ mà các chức năng bên trong mô-đun liên quan chặt chẽ với nhau.
C. Khả năng tái sử dụng của mô-đun.
D. Kích thước của mô-đun.
73. Yêu cầu nào sau đây thuộc loại yêu cầu phi chức năng liên quan đến khả năng truy cập hệ thống?
A. Hệ thống phải cho phép người dùng đăng nhập.
B. Hệ thống phải có khả năng xử lý 1000 giao dịch mỗi giây.
C. Hệ thống phải cho phép người dùng truy cập từ bất kỳ đâu có kết nối internet.
D. Hệ thống phải hiển thị thông báo lỗi khi nhập sai mật khẩu.
74. Mục tiêu chính của giai đoạn ‘Phân tích yêu cầu’ trong vòng đời phát triển hệ thống là gì?
A. Viết mã nguồn cho hệ thống.
B. Thiết kế giao diện người dùng.
C. Xác định và tài liệu hóa nhu cầu của người dùng và hệ thống.
D. Kiểm thử hiệu năng của hệ thống.
75. Khi phân tích một hệ thống, việc xác định ‘tác nhân’ (actors) trong biểu đồ ca sử dụng (Use Case Diagram) có ý nghĩa gì?
A. Xác định các thành phần phần cứng của hệ thống.
B. Xác định các thực thể bên ngoài tương tác với hệ thống.
C. Xác định các module chức năng chính.
D. Xác định các thuật toán được sử dụng.
76. Trong phân tích hệ thống, thuật ngữ nào mô tả quá trình chia một hệ thống lớn thành các thành phần nhỏ hơn, dễ quản lý và hiểu hơn?
A. Tổng hợp (Synthesis)
B. Phân tích (Analysis)
C. Tích hợp (Integration)
D. Mô hình hóa (Modeling)
77. Trong quá trình phân tích hệ thống, ‘phân tích các bên liên quan’ (stakeholder analysis) nhằm mục đích gì?
A. Xác định các đối thủ cạnh tranh.
B. Hiểu rõ vai trò, ảnh hưởng và mong đợi của những người có liên quan đến dự án.
C. Đánh giá hiệu quả tài chính của dự án.
D. Lập trình các chức năng người dùng.
78. Khi sử dụng phương pháp ‘User Story’ để thu thập yêu cầu, cấu trúc phổ biến là:
A. ‘Khi X xảy ra, hệ thống sẽ làm Y’.
B. ‘Tôi muốn X để đạt được Y’ (As a , I want so that ).
C. ‘Hệ thống cần phải có X chức năng’.
D. ‘Quy trình X bao gồm các bước Y, Z’.
79. Nguyên tắc ‘Don’t Repeat Yourself’ (DRY) trong thiết kế hệ thống có ý nghĩa gì?
A. Tránh sử dụng quá nhiều biến trong mã nguồn.
B. Tránh lặp lại cùng một đoạn mã hoặc logic ở nhiều nơi, thay vào đó nên tạo các hàm hoặc mô-đun tái sử dụng.
C. Không lặp lại yêu cầu của người dùng.
D. Giảm thiểu số lượng dòng mã.
80. Trong thiết kế hệ thống, ‘kiến trúc microservices’ đề cao điều gì?
A. Xây dựng một hệ thống lớn, duy nhất.
B. Chia nhỏ ứng dụng thành các dịch vụ nhỏ, độc lập, có thể triển khai và mở rộng riêng lẻ.
C. Sử dụng một cơ sở dữ liệu duy nhất cho toàn bộ ứng dụng.
D. Tập trung vào giao diện người dùng.
81. Biểu đồ lớp (Class Diagram) trong UML chủ yếu dùng để mô tả khía cạnh nào của hệ thống hướng đối tượng?
A. Luồng điều khiển và trình tự thực thi của các hoạt động.
B. Cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
C. Các trạng thái mà một đối tượng có thể có và các sự kiện chuyển đổi giữa các trạng thái đó.
D. Các yêu cầu chức năng và tương tác giữa người dùng và hệ thống.
82. Trong phân tích hệ thống, ‘yêu cầu về hiệu năng’ (performance requirement) thường được đo lường bằng các chỉ số nào?
A. Số lượng người dùng đồng thời, thời gian phản hồi, thông lượng.
B. Số dòng mã nguồn được viết.
C. Số lượng lỗi được tìm thấy trong quá trình kiểm thử.
D. Tuổi thọ trung bình của hệ thống.
83. Mô hình nào thường được sử dụng để mô tả luồng dữ liệu và các quy trình xử lý trong một hệ thống thông tin, giúp các nhà phân tích hiểu rõ cách dữ liệu di chuyển và biến đổi?
A. Mô hình Dữ liệu Quan hệ (Relational Data Model)
B. Biểu đồ Lớp (Class Diagram)
C. Biểu đồ Luồng Dữ liệu (Data Flow Diagram – DFD)
D. Mô hình Thực thể – Liên kết (Entity-Relationship Model – ERM)
84. Trong thiết kế hệ thống, nguyên tắc ‘Đa hình’ (Polymorphism) cho phép?
A. Một lớp có thể kế thừa từ nhiều lớp khác nhau.
B. Các đối tượng khác nhau có thể phản ứng với cùng một thông điệp theo cách riêng của chúng.
C. Tất cả các phương thức trong một lớp phải có cùng tên.
D. Dữ liệu và phương thức được đóng gói chặt chẽ.
85. Việc phân tích ‘hiện trạng hệ thống’ (as-is system) trong giai đoạn phân tích yêu cầu nhằm mục đích gì?
A. Đảm bảo hệ thống mới hoàn toàn khác biệt với hệ thống cũ.
B. Hiểu rõ quy trình, chức năng, hạn chế và các thành phần của hệ thống hiện tại để làm nền tảng cho việc thiết kế hệ thống mới hoặc cải tiến.
C. Viết tài liệu kỹ thuật cho hệ thống cũ.
D. Đánh giá hiệu quả chi phí của hệ thống cũ.
86. Khi phân tích hệ thống, ‘yêu cầu về khả năng sử dụng’ (usability requirement) đề cập đến điều gì?
A. Thời gian phản hồi của hệ thống.
B. Mức độ dễ dàng mà người dùng có thể học, sử dụng và đạt được mục tiêu với hệ thống.
C. Khả năng chịu lỗi của hệ thống.
D. Khả năng mở rộng của hệ thống.
87. Trong thiết kế hệ thống, nguyên tắc ‘đóng gói’ (encapsulation) trong lập trình hướng đối tượng có ý nghĩa là gì?
A. Chia nhỏ lớp thành nhiều lớp con.
B. Kết hợp dữ liệu (thuộc tính) và phương thức xử lý dữ liệu đó vào một đơn vị duy nhất (lớp), đồng thời ẩn đi chi tiết triển khai bên trong.
C. Tạo ra các lớp có thể kế thừa từ nhiều lớp cha.
D. Đảm bảo tất cả các thuộc tính của lớp đều có thể truy cập từ bên ngoài.
88. Trong phân tích yêu cầu, ‘nguyên tắc SMART’ áp dụng cho việc xác định yêu cầu có nghĩa là các yêu cầu cần phải:
A. Simple, Measurable, Achievable, Realistic, Timely.
B. Specific, Measurable, Achievable, Relevant, Time-bound.
C. Systematic, Manageable, Actionable, Reliable, Thorough.
D. Secure, Maintainable, Adaptable, Robust, Testable.
89. Trong thiết kế hệ thống, ‘mô hình Client-Server’ có điểm yếu tiềm ẩn nào?
A. Khó khăn trong việc phát triển ứng dụng.
B. Máy chủ có thể trở thành điểm nghẽn (bottleneck) nếu có quá nhiều yêu cầu hoặc bị lỗi.
C. Yêu cầu ít băng thông mạng.
D. Dữ liệu không được tập trung.
90. Việc xác định các yếu tố bên ngoài có thể tương tác với hệ thống, như người dùng, các hệ thống khác, hoặc các thiết bị, thường được thực hiện trong giai đoạn nào của phân tích hệ thống?
A. Giai đoạn Kiểm thử (Testing)
B. Giai đoạn Thiết kế Giao diện (Interface Design)
C. Giai đoạn Phân tích Yêu cầu (Requirements Analysis)
D. Giai đoạn Bảo trì (Maintenance)
91. Trong thiết kế hệ thống, ‘cơ sở dữ liệu quan hệ’ (relational database) lưu trữ dữ liệu dưới dạng nào?
A. Các cây và nhánh.
B. Các bảng (tables) bao gồm các hàng (rows) và cột (columns) với các mối quan hệ được định nghĩa giữa chúng.
C. Các tài liệu văn bản phi cấu trúc.
D. Các đồ thị có hướng.
92. Trong thiết kế hệ thống, ‘giao diện lập trình ứng dụng’ (Application Programming Interface – API) có vai trò là:
A. Mã nguồn đầy đủ của một ứng dụng.
B. Một tập hợp các định nghĩa và giao thức cho phép các ứng dụng khác tương tác với nhau và truy cập các chức năng hoặc dữ liệu của một dịch vụ.
C. Cơ sở dữ liệu lưu trữ thông tin người dùng.
D. Công cụ để kiểm tra lỗi trong mã nguồn.
93. Mục tiêu chính của việc xây dựng mô hình dữ liệu (data modeling) là gì?
A. Đảm bảo hiệu năng xử lý của ứng dụng.
B. Xác định các quy trình nghiệp vụ cần tự động hóa.
C. Hiểu và biểu diễn cấu trúc dữ liệu, mối quan hệ và các ràng buộc của dữ liệu trong hệ thống.
D. Thiết kế giao diện người dùng trực quan và dễ sử dụng.
94. Trong mô hình Agile, vai trò của ‘Product Owner’ là gì?
A. Chịu trách nhiệm kỹ thuật cho việc phát triển sản phẩm.
B. Quản lý quá trình phát triển và loại bỏ các trở ngại cho nhóm.
C. Đại diện cho khách hàng, xác định và ưu tiên các tính năng của sản phẩm trong Product Backlog.
D. Thực hiện các bài kiểm thử và đảm bảo chất lượng sản phẩm.
95. Biểu đồ trạng thái (Statechart Diagram) trong UML được sử dụng để mô tả điều gì?
A. Mối quan hệ giữa các lớp trong hệ thống.
B. Luồng dữ liệu qua các thành phần của hệ thống.
C. Các trạng thái khác nhau mà một đối tượng có thể trải qua trong vòng đời của nó và các sự kiện gây ra sự chuyển đổi trạng thái.
D. Cấu trúc và mối quan hệ giữa các thành phần phần cứng.
96. Khi phân tích hệ thống, việc sử dụng ‘bảng quyết định’ (decision table) hữu ích nhất cho việc gì?
A. Mô tả cấu trúc dữ liệu của hệ thống.
B. Biểu diễn các quy tắc nghiệp vụ phức tạp và các kết hợp điều kiện/hành động khác nhau một cách có cấu trúc.
C. Xác định các thành phần giao diện người dùng.
D. Lập kế hoạch kiểm thử hệ thống.
97. Khi thiết kế một hệ thống, việc sử dụng các lớp trừu tượng (abstract classes) và các giao diện (interfaces) trong lập trình hướng đối tượng giúp đạt được mục tiêu nào?
A. Tăng tốc độ biên dịch mã nguồn.
B. Tạo ra các lớp có khả năng tự chạy độc lập.
C. Khuyến khích tính tái sử dụng mã và hỗ trợ đa hình (polymorphism).
D. Giảm thiểu việc sử dụng bộ nhớ của hệ thống.
98. Trong giai đoạn thiết kế hệ thống, ‘UI/UX design’ tập trung vào khía cạnh nào?
A. Cấu trúc cơ sở dữ liệu và các thuật toán.
B. Trải nghiệm tổng thể của người dùng khi tương tác với hệ thống, bao gồm cả giao diện và cách thức hoạt động.
C. Hiệu năng xử lý của máy chủ.
D. An ninh mạng và phòng chống tấn công.
99. Trong thiết kế hệ thống, ‘thiết kế hướng đối tượng’ (Object-Oriented Design – OOD) nhấn mạnh vào việc:
A. Tối ưu hóa việc sử dụng bộ nhớ.
B. Mô hình hóa hệ thống dựa trên các đối tượng, lớp, kế thừa, đóng gói và đa hình.
C. Phân tích luồng dữ liệu và quy trình xử lý.
D. Đảm bảo tính nhất quán của dữ liệu trong cơ sở dữ liệu.
100. Trong thiết kế hệ thống, ‘tính kế thừa’ (inheritance) trong lập trình hướng đối tượng cho phép?
A. Một lớp có thể có nhiều đối tượng.
B. Một lớp có thể kế thừa các thuộc tính và phương thức từ một lớp cha, tạo ra mối quan hệ ‘là một loại của’ (is-a).
C. Một lớp có thể thay đổi hành vi của lớp cha.
D. Các lớp độc lập hoàn toàn với nhau.
101. Công nghệ ‘kiến trúc microservices’ có ưu điểm chính là gì so với kiến trúc ‘monolithic’ truyền thống?
A. Đơn giản hóa việc triển khai và quản lý toàn bộ ứng dụng.
B. Tăng khả năng phát triển, triển khai và mở rộng độc lập từng thành phần của ứng dụng.
C. Giảm thiểu số lượng yêu cầu về giao tiếp mạng.
D. Yêu cầu ít tài nguyên phần cứng hơn để chạy.
102. Trong chu trình phát triển hệ thống thông tin (SDLC), giai đoạn nào chịu trách nhiệm xác định rõ ràng các yêu cầu nghiệp vụ và kỹ thuật của hệ thống mới hoặc cải tiến?
A. Giai đoạn Thiết kế (Design)
B. Giai đoạn Phát triển (Development)
C. Giai đoạn Khảo sát và Phân tích yêu cầu (Requirements Analysis)
D. Giai đoạn Kiểm thử và Triển khai (Testing and Deployment)
103. Trong phân tích hệ thống, ‘kịch bản sử dụng’ (use case) mô tả điều gì?
A. Kiến trúc kỹ thuật chi tiết của hệ thống.
B. Một tương tác cụ thể giữa người dùng (actor) và hệ thống để đạt được một mục tiêu.
C. Cấu trúc cơ sở dữ liệu và mối quan hệ giữa các bảng.
D. Quy trình kiểm thử đơn vị cho từng module phần mềm.
104. Mô hình RUP (Rational Unified Process) là một quy trình phát triển phần mềm có đặc điểm chính là gì?
A. Chỉ tập trung vào giai đoạn thiết kế.
B. Mang tính lặp và tăng trưởng (iterative and incremental), bao gồm nhiều pha như Khởi tạo, Phát triển, Tương tác, và Đóng gói.
C. Sử dụng phương pháp Waterfall truyền thống.
D. Chỉ phù hợp với các dự án phần mềm nhúng.
105. Khi phân tích một hệ thống hiện có, việc sử dụng ‘phỏng vấn’ là một kỹ thuật để:
A. Kiểm tra tính bảo mật của hệ thống.
B. Đánh giá hiệu năng phần cứng.
C. Thu thập thông tin từ người dùng và các bên liên quan về cách họ sử dụng hệ thống và những vấn đề họ gặp phải.
D. Tạo mã nguồn mới cho hệ thống.
106. Kiến trúc ‘client-server’ là gì?
A. Một mô hình nơi tất cả các máy tính trong mạng đều có vai trò ngang nhau.
B. Một mô hình mạng nơi một máy chủ (server) cung cấp tài nguyên hoặc dịch vụ cho nhiều máy khách (clients).
C. Một kiến trúc chỉ sử dụng cho các ứng dụng di động.
D. Một mô hình mà mọi dữ liệu được lưu trữ trên một máy tính duy nhất.
107. Khi thiết kế giao diện người dùng, ‘nguyên tắc nhất quán’ (consistency) có vai trò gì quan trọng nhất?
A. Giúp người dùng làm quen nhanh chóng với hệ thống và giảm thiểu sai sót.
B. Tăng tính thẩm mỹ cho giao diện.
C. Đảm bảo hệ thống hoạt động nhanh hơn.
D. Giảm số lượng dòng mã nguồn cần viết.
108. Trong thiết kế hệ thống, ‘nguyên tắc tách biệt mối quan tâm’ (Separation of Concerns – SoC) đề cập đến điều gì?
A. Chia nhỏ hệ thống thành các module độc lập, mỗi module giải quyết một khía cạnh chức năng hoặc nghiệp vụ cụ thể.
B. Tách biệt hoàn toàn dữ liệu và logic xử lý.
C. Phân chia trách nhiệm giữa các nhóm phát triển khác nhau.
D. Sử dụng các công nghệ khác nhau cho các phần khác nhau của hệ thống.
109. Biểu đồ tuần tự (Sequence Diagram) trong UML mô tả điều gì?
A. Cấu trúc tĩnh của hệ thống.
B. Trình tự tương tác giữa các đối tượng trong một kịch bản sử dụng cụ thể, thể hiện theo thời gian.
C. Các trạng thái của một đối tượng.
D. Luồng dữ liệu trong một hệ thống.
110. Trong các kỹ thuật thu thập yêu cầu, ‘brainstorming’ (động não) là một phương pháp chủ yếu để:
A. Kiểm tra tính khả thi của các yêu cầu.
B. Tạo ra ý tưởng mới và giải pháp tiềm năng một cách tự do, không giới hạn, từ một nhóm người.
C. Tài liệu hóa các quy trình hiện có.
D. Đánh giá hiệu năng của hệ thống.
111. Khi thiết kế hệ thống, ‘cụm từ khóa’ (keyword) được sử dụng trong phân tích yêu cầu để:
A. Tạo ra mã nguồn tự động.
B. Xác định các yêu cầu quan trọng, khẩn cấp hoặc các điều kiện đặc biệt cần lưu ý.
C. Đánh giá hiệu năng của hệ thống.
D. Thiết kế giao diện người dùng hấp dẫn.
112. Khi thiết kế cơ sở dữ liệu, ‘khóa chính’ (primary key) có vai trò gì?
A. Liên kết hai bảng với nhau.
B. Xác định duy nhất mỗi bản ghi (row) trong một bảng và đảm bảo tính toàn vẹn dữ liệu.
C. Lưu trữ thông tin bổ sung về bản ghi.
D. Xác định mối quan hệ giữa các thuộc tính.
113. Trong các phương pháp phát triển phần mềm, ‘phương pháp thác nước’ (Waterfall model) có đặc điểm nổi bật là:
A. Tính lặp và linh hoạt cao, cho phép thay đổi yêu cầu liên tục.
B. Tuân theo một trình tự tuyến tính, tuần tự các giai đoạn (yêu cầu, thiết kế, triển khai, kiểm thử, bảo trì), mỗi giai đoạn phải hoàn thành trước khi bắt đầu giai đoạn tiếp theo.
C. Tập trung vào phát triển nhanh các nguyên mẫu.
D. Sử dụng các vòng lặp ngắn để phát triển và giao sản phẩm.
114. Khi phân tích hệ thống cũ, ‘phân tích tài liệu hiện có’ (document analysis) giúp ích như thế nào cho nhà phân tích?
A. Hiểu rõ các quy trình kinh doanh, cấu trúc dữ liệu và các chức năng hiện tại của hệ thống.
B. Đánh giá thái độ và sự hài lòng của người dùng đối với hệ thống.
C. Kiểm tra mã nguồn để tìm lỗi bảo mật.
D. Xác định các yêu cầu mới dựa trên xu hướng thị trường.
115. Yêu cầu phi chức năng (non-functional requirement) đề cập đến khía cạnh nào của hệ thống?
A. Các chức năng cụ thể mà hệ thống phải thực hiện (ví dụ: đăng nhập, tìm kiếm).
B. Cách thức hệ thống hoạt động, như hiệu năng, bảo mật, khả năng sử dụng, độ tin cậy.
C. Giao diện người dùng và trải nghiệm người dùng.
D. Các quy tắc nghiệp vụ mà hệ thống phải tuân thủ.
116. Việc áp dụng ‘kiến trúc lớp’ (layered architecture) trong thiết kế hệ thống giúp tách biệt các chức năng thành các lớp logic như thế nào?
A. Tất cả các lớp đều có thể truy cập trực tiếp lẫn nhau.
B. Các lớp được tổ chức theo cấp độ trừu tượng, ví dụ: lớp trình bày (presentation), lớp nghiệp vụ (business logic), lớp truy cập dữ liệu (data access).
C. Mỗi lớp chỉ chứa một chức năng duy nhất.
D. Các lớp không có bất kỳ mối quan hệ nào với nhau.
117. Khi phân tích hệ thống, việc thực hiện ‘quan sát trực tiếp’ (observation) giúp nhà phân tích đạt được điều gì?
A. Hiểu được quy trình làm việc thực tế của người dùng và các vấn đề tiềm ẩn mà họ có thể không nêu ra khi phỏng vấn.
B. Tự động tạo báo cáo kiểm thử.
C. Đánh giá hiệu quả của các chiến dịch marketing.
D. Phát triển chiến lược kinh doanh mới.
118. Việc sử dụng ‘khảo sát’ (survey) để thu thập yêu cầu có ưu điểm gì so với phỏng vấn?
A. Cung cấp thông tin chi tiết và sâu sắc hơn về từng cá nhân.
B. Cho phép thu thập thông tin từ một số lượng lớn người dùng một cách hiệu quả và có hệ thống.
C. Dễ dàng phát hiện các vấn đề tiềm ẩn không được người dùng nhận thức.
D. Cho phép tương tác trực tiếp và đặt câu hỏi làm rõ ngay lập tức.
119. Trong thiết kế cơ sở dữ liệu, ‘chuẩn hóa’ (normalization) là một kỹ thuật nhằm mục đích 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ác vấn đề phát sinh như ‘insertion anomaly’, ‘deletion anomaly’, ‘update anomaly’.
C. Đơn giản hóa việc thiết kế giao diện người dùng.
D. Tăng cường khả năng bảo mật cho cơ sở dữ liệu.
120. Việc sử dụng ‘nguyên mẫu’ (prototype) trong quá trình phân tích và thiết kế hệ thống có lợi ích chính là gì?
A. Thay thế hoàn toàn giai đoạn phát triển phần mềm.
B. Giúp làm rõ và xác nhận yêu cầu với người dùng, thu thập phản hồi sớm.
C. Tự động hóa quy trình kiểm thử hệ thống.
D. Đảm bảo hiệu năng hoạt động của hệ thống ở mức tối ưu.
121. Trong mô hình phát triển hệ thống theo chu kỳ sống (SDLC), giai đoạn ‘Bảo trì’ (Maintenance) có ý nghĩa gì?
A. Giai đoạn duy nhất chỉ tập trung vào việc sửa lỗi phát sinh sau khi hệ thống đi vào hoạt động.
B. Giai đoạn bao gồm việc sửa lỗi, cải tiến hiệu suất, thêm tính năng mới và điều chỉnh hệ thống để đáp ứng thay đổi môi trường.
C. Giai đoạn chỉ dành cho việc đào tạo người dùng cuối sử dụng hệ thống mới.
D. Giai đoạn cuối cùng trước khi ngừng hoạt động và thanh lý hệ thống.
122. Khi xây dựng một hệ thống thông tin, ‘module’ (mô-đun) phần mềm là gì và tại sao nó quan trọng trong thiết kế?
A. Một mô-đun là một chương trình độc lập hoàn toàn, không cần tương tác với các phần khác của hệ thống.
B. Một mô-đun là một đơn vị chức năng có thể quản lý được, được thiết kế để hoạt động độc lập một phần và có thể được tích hợp vào hệ thống lớn hơn.
C. Một mô-đun chỉ đơn giản là một tệp tin chứa mã nguồn của hệ thống.
D. Một mô-đun là một giao diện người dùng đồ họa được thiết kế riêng biệt.
123. Tại sao việc tạo ‘ngữ cảnh hệ thống’ (system context) lại quan trọng trong giai đoạn phân tích hệ thống?
A. Để xác định các yêu cầu chi tiết cho từng chức năng nhỏ trong hệ thống.
B. Để xác định phạm vi của hệ thống, các yếu tố bên ngoài tương tác với nó và giới hạn của hệ thống.
C. Để đánh giá hiệu quả của các thuật toán được sử dụng trong hệ thống.
D. Để lập kế hoạch chi tiết cho việc triển khai hạ tầng mạng.
124. Trong thiết kế cơ sở dữ liệu, ‘chuẩn hóa’ (normalization) là quá trình nhằm mục đích gì?
A. Tăng cường hiệu suất truy vấn bằng cách gộp các bảng liên quan.
B. Giảm thiểu sự dư thừa dữ liệu và tránh các vấn đề về cập nhật (insertion, deletion, update anomalies).
C. Mã hóa toàn bộ dữ liệu để bảo mật thông tin người dùng.
D. Tự động hóa việc tạo báo cáo từ cơ sở dữ liệu.
125. Trong các kỹ thuật mô hình hóa quy trình nghiệp vụ, ‘sơ đồ BPMN’ (Business Process Model and Notation) được sử dụng chủ yếu để làm gì?
A. Mô tả cấu trúc dữ liệu của cơ sở dữ liệu.
B. Biểu diễn trực quan các bước, trình tự và luồng thông tin trong một quy trình nghiệp vụ, giúp cả người nghiệp vụ và kỹ thuật hiểu rõ.
C. Thiết kế giao diện người dùng đồ họa.
D. Quản lý dự án và phân công nhiệm vụ.
126. Theo quan điểm của phương pháp phát triển hệ thống hướng đối tượng (Object-Oriented Development), yếu tố nào sau đây đại diện cho một ‘đối tượng’ (object) trong thế giới thực?
A. Một bộ sưu tập các thủ tục và hàm thực hiện một tác vụ cụ thể.
B. Một thực thể có trạng thái (thuộc tính) và hành vi (phương thức), có thể tương tác với các đối tượng khác.
C. Một cấu trúc dữ liệu lưu trữ thông tin theo định dạng bảng.
D. Một chuỗi các lệnh được thực thi tuần tự để đạt được kết quả.
127. Khi đánh giá các giải pháp hệ thống thông tin, ‘khả năng mở rộng’ (scalability) ám chỉ điều gì?
A. Khả năng hệ thống hoạt động tốt trên các thiết bị có màn hình nhỏ.
B. Khả năng hệ thống có thể xử lý lượng công việc tăng lên (ví dụ: số lượng người dùng, khối lượng dữ liệu) mà không làm giảm hiệu suất đáng kể.
C. Khả năng hệ thống dễ dàng được di chuyển sang một nền tảng khác.
D. Khả năng hệ thống có thể được tùy chỉnh bởi người dùng cuối.
128. Khi thực hiện phân tích yêu cầu nghiệp vụ, tại sao việc xác định ‘actors’ (tác nhân) là một bước quan trọng?
A. Để xác định các thành phần phần cứng cần thiết cho hệ thống.
B. Để phân loại và hiểu rõ những người hoặc hệ thống bên ngoài tương tác với hệ thống đang được phân tích.
C. Để lập kế hoạch chi tiết cho việc kiểm thử hệ thống.
D. Để ước tính chi phí và thời gian phát triển hệ thống.
129. Trong phân tích yêu cầu, ‘kỹ thuật phỏng vấn’ (interviewing) có ưu điểm gì so với các kỹ thuật khác như khảo sát?
A. Cho phép thu thập thông tin từ số lượng lớn người dùng cùng lúc một cách hiệu quả.
B. Cho phép đặt câu hỏi làm rõ sâu hơn, khám phá các vấn đề tiềm ẩn và thu thập thông tin chi tiết, phi cấu trúc.
C. Luôn đảm bảo tính khách quan tuyệt đối vì không có sự tương tác trực tiếp.
D. Chi phí thực hiện thấp và tốn ít thời gian nhất.
130. Trong phân tích yêu cầu, ‘yêu cầu phi chức năng’ (non-functional requirement) khác với ‘yêu cầu chức năng’ (functional requirement) ở điểm nào?
A. Yêu cầu phi chức năng mô tả ‘cái gì’ hệ thống làm, còn yêu cầu chức năng mô tả ‘làm thế nào’ hệ thống làm.
B. Yêu cầu phi chức năng mô tả ‘làm thế nào’ hệ thống hoạt động (ví dụ: hiệu suất, bảo mật), còn yêu cầu chức năng mô tả ‘cái gì’ hệ thống làm.
C. Yêu cầu phi chức năng chỉ áp dụng cho phần cứng, còn yêu cầu chức năng chỉ áp dụng cho phần mềm.
D. Yêu cầu phi chức năng là tùy chọn, còn yêu cầu chức năng là bắt buộc.
131. Trong quá trình kiểm thử hệ thống, ‘kiểm thử đơn vị’ (unit testing) tập trung vào việc gì?
A. Kiểm tra sự tương tác giữa các mô-đun khác nhau của hệ thống.
B. Kiểm tra toàn bộ hệ thống từ góc độ người dùng cuối.
C. Kiểm tra các đơn vị mã nhỏ nhất (ví dụ: hàm, phương thức) để đảm bảo chúng hoạt động chính xác.
D. Kiểm tra hiệu năng và khả năng chịu tải của hệ thống.
132. Khi lựa chọn phương pháp phát triển phần mềm, phương pháp Agile (Linh hoạt) thường được ưu tiên trong các trường hợp nào?
A. Khi yêu cầu của dự án được xác định rõ ràng ngay từ đầu và ít có khả năng thay đổi.
B. Khi dự án có quy mô rất lớn và yêu cầu sự kiểm soát chặt chẽ từ ban đầu đến cuối.
C. Khi môi trường kinh doanh thay đổi nhanh chóng và yêu cầu phản hồi linh hoạt với các thay đổi của khách hàng.
D. Khi đội ngũ phát triển có ít kinh nghiệm và cần một quy trình chặt chẽ, tuần tự.
133. Trong giai đoạn thiết kế giao diện người dùng (UI Design), nguyên tắc ‘Nhất quán’ (Consistency) ám chỉ điều gì?
A. Tất cả các nút bấm trên giao diện phải có cùng kích thước và màu sắc.
B. Các yếu tố thiết kế, hành vi và cách bố trí thông tin cần được giữ giống nhau trên toàn bộ hệ thống hoặc giữa các phần tương tự của hệ thống.
C. Người dùng chỉ được phép thực hiện một hành động duy nhất tại một thời điểm.
D. Giao diện phải chỉ sử dụng một loại phông chữ duy nhất.
134. Khi phân tích yêu cầu, khái niệm ‘yêu cầu chức năng’ (functional requirement) đề cập đến điều gì?
A. Các đặc tính về hiệu suất, bảo mật và khả năng sử dụng của hệ thống.
B. Các chức năng hoặc dịch vụ mà hệ thống phải cung cấp cho người dùng hoặc các hệ thống khác.
C. Các ràng buộc về công nghệ hoặc nền tảng mà hệ thống phải tuân thủ.
D. Các quy định pháp lý hoặc tiêu chuẩn ngành mà hệ thống phải đáp ứng.
135. Khi phân tích và thiết kế hệ thống, nguyên tắc ‘tách biệt mối quan tâm’ (Separation of Concerns) có ý nghĩa gì?
A. Mỗi thành phần của hệ thống chỉ nên thực hiện một chức năng duy nhất, không có sự chồng chéo.
B. Hệ thống cần được chia thành các phần độc lập, mỗi phần giải quyết một khía cạnh hoặc mối quan tâm cụ thể (ví dụ: giao diện người dùng, logic nghiệp vụ, truy cập dữ liệu).
C. Người dùng khác nhau chỉ được phép truy cập vào các phần khác nhau của hệ thống.
D. Tất cả các thành phần của hệ thống phải có cùng một mức độ bảo mật.
136. Khi thiết kế hệ thống, ‘ràng buộc’ (constraint) trong cơ sở dữ liệu là gì?
A. Một chỉ mục (index) giúp tăng tốc độ truy vấn.
B. Một quy tắc hoặc điều kiện được áp dụng cho dữ liệu để đảm bảo tính toàn vẹn và chính xác của dữ liệu.
C. Một định dạng hiển thị dữ liệu trên giao diện người dùng.
D. Một quy trình sao lưu và phục hồi dữ liệu.
137. Khi lựa chọn công nghệ cho hệ thống, việc xem xét ‘tính khả dụng của nguồn lực’ (resource availability) bao gồm những khía cạnh nào?
A. Chỉ xem xét số lượng máy chủ có sẵn.
B. Xem xét sự sẵn có của nhân lực có kỹ năng phù hợp, tài liệu hỗ trợ, cộng đồng người dùng và các công cụ phát triển liên quan đến công nghệ đó.
C. Chỉ tập trung vào chi phí mua bản quyền phần mềm.
D. Đánh giá tốc độ xử lý của công nghệ đó.
138. Trong kỹ thuật ra quyết định cho hệ thống thông tin, khái niệm ‘cây quyết định’ (decision tree) được sử dụng để làm gì?
A. Mô tả cấu trúc vật lý của hệ thống máy chủ.
B. Biểu diễn trực quan các lựa chọn và kết quả có thể xảy ra dựa trên một chuỗi các quyết định.
C. Phân tích luồng dữ liệu qua các thành phần của hệ thống.
D. Ước tính chi phí và nguồn lực cho dự án.
139. Khi thiết kế giao diện người dùng, nguyên tắc ‘Phản hồi’ (Feedback) quan trọng như thế nào?
A. Giao diện phải hiển thị thông báo lỗi cho mọi hành động của người dùng.
B. Hệ thống cần thông báo cho người dùng biết hành động của họ đã được ghi nhận và kết quả của hành động đó là gì, để người dùng biết trạng thái của hệ thống.
C. Tất cả các nút bấm phải có hiệu ứng âm thanh khi được nhấn.
D. Giao diện chỉ hiển thị thông tin mà không cho phép tương tác.
140. Trong phân tích và thiết kế hệ thống, ‘mô hình hóa hành vi’ (behavioral modeling) tập trung vào điều gì?
A. Cấu trúc tĩnh của dữ liệu.
B. Cách hệ thống hoặc các đối tượng trong hệ thống hoạt động và thay đổi trạng thái theo thời gian, bao gồm trình tự và sự tương tác.
C. Cấu trúc tổ chức của doanh nghiệp.
D. Các yêu cầu về phần cứng của hệ thống.
141. Trong phân tích hệ thống, khi nào việc sử dụng sơ đồ luồng dữ liệu (DFD) được xem là hiệu quả nhất để mô tả chức năng của hệ thống?
A. Khi hệ thống có cấu trúc phức tạp với nhiều quy trình con và luồng dữ liệu tương tác lẫn nhau.
B. Khi cần tập trung vào chi tiết kỹ thuật của từng thành phần phần cứng và phần mềm.
C. Khi mục tiêu chính là trình bày cấu trúc tổ chức của doanh nghiệp sử dụng hệ thống.
D. Khi hệ thống chủ yếu là cơ sở dữ liệu quan hệ với các bảng và mối quan hệ được định nghĩa rõ ràng.
142. Khi thiết kế cơ sở dữ liệu, ‘khóa chính’ (primary key) có vai trò gì?
A. Chỉ định mối quan hệ giữa hai bảng khác nhau.
B. Xác định duy nhất mỗi bản ghi (record) trong một bảng, đảm bảo không có hai bản ghi nào có cùng giá trị khóa chính.
C. Lưu trữ các thuộc tính mô tả chi tiết về bản ghi.
D. Tăng cường hiệu suất truy vấn bằng cách tạo chỉ mục (index) cho các cột thường xuyên được sử dụng.
143. Phân tích SWOT là một công cụ được sử dụng trong giai đoạn nào của vòng đời phát triển hệ thống?
A. Giai đoạn Kiểm thử và Bảo trì.
B. Giai đoạn Khởi tạo hoặc Lập kế hoạch, để đánh giá tính khả thi và bối cảnh của dự án.
C. Giai đoạn Triển khai và Đào tạo.
D. Giai đoạn Thiết kế chi tiết giao diện người dùng.
144. Trong phân tích hệ thống, ‘biểu đồ lớp’ (class diagram) trong UML (Unified Modeling Language) được sử dụng để mô tả điều gì?
A. Luồng dữ liệu qua các quy trình nghiệp vụ.
B. Cấu trúc tĩnh của hệ thống, bao gồm các lớp (classes), thuộc tính (attributes) và mối quan hệ (relationships) giữa chúng.
C. Trình tự các hoạt động được thực hiện bởi một đối tượng.
D. Các trạng thái có thể có của một đối tượng và các sự kiện chuyển đổi giữa các trạng thái đó.
145. Trong phân tích hệ thống, tại sao việc xác định ‘ràng buộc hệ thống’ (system constraints) lại quan trọng?
A. Để xác định các tính năng tùy chọn mà người dùng có thể yêu cầu.
B. Để hiểu các giới hạn (ví dụ: ngân sách, thời gian, công nghệ, quy định) mà hệ thống phải tuân thủ trong quá trình phát triển và hoạt động.
C. Để lập kế hoạch chi tiết cho việc đào tạo người dùng.
D. Để thiết kế các báo cáo quản lý hiệu suất.
146. Khái niệm ‘kiến trúc hệ thống’ (system architecture) đề cập đến điều gì trong thiết kế hệ thống thông tin?
A. Chi tiết về từng dòng mã nguồn được viết trong hệ thống.
B. Cấu trúc tổng thể của hệ thống, bao gồm các thành phần chính, mối quan hệ giữa chúng và các nguyên tắc thiết kế chi phối.
C. Quy trình làm việc của người dùng cuối trên giao diện hệ thống.
D. Các quy tắc và chính sách bảo mật áp dụng cho dữ liệu.
147. Khi xây dựng hệ thống, phương pháp ‘prototyping’ (tạo mẫu) được sử dụng để đạt được lợi ích gì?
A. Đảm bảo tất cả các yêu cầu kỹ thuật được đáp ứng hoàn hảo ngay từ đầu.
B. Thu thập phản hồi sớm từ người dùng về giao diện và chức năng, giúp định hình và điều chỉnh yêu cầu hiệu quả.
C. Tự động hóa hoàn toàn quá trình kiểm thử hệ thống.
D. Giảm thiểu mọi rủi ro liên quan đến bảo mật.
148. Khi đánh giá các giải pháp thay thế cho một hệ thống thông tin, tiêu chí nào sau đây thường được xem là quan trọng nhất từ góc độ kinh doanh?
A. Tính thẩm mỹ của giao diện người dùng.
B. Khả năng tương thích ngược với các hệ thống cũ.
C. Lợi tức đầu tư (ROI) và sự phù hợp với mục tiêu chiến lược của doanh nghiệp.
D. Số lượng dòng mã nguồn được viết.
149. Khi phân tích yêu cầu, ‘yêu cầu về khả năng sử dụng’ (usability requirement) đề cập đến khía cạnh nào?
A. Khả năng hệ thống chịu được các cuộc tấn công mạng.
B. Mức độ dễ dàng, hiệu quả và hài lòng mà người dùng có thể đạt được mục tiêu khi sử dụng hệ thống.
C. Tốc độ xử lý giao dịch của hệ thống.
D. Khả năng hệ thống tích hợp với các hệ thống bên ngoài.
150. Trong phân tích hệ thống, ‘kỹ thuật quan sát’ (observation) được sử dụng khi nào và mang lại lợi ích gì?
A. Khi cần thu thập thông tin từ số lượng lớn người dùng từ xa.
B. Khi muốn hiểu cách người dùng thực sự tương tác với hệ thống hoặc thực hiện công việc trong môi trường thực tế, phát hiện các quy trình ngầm.
C. Để xác định các yêu cầu kỹ thuật chi tiết về phần cứng.
D. Để đánh giá hiệu quả của các chiến dịch tiếp thị.
151. Trong giai đoạn phân tích hệ thống, ‘sơ đồ quan hệ thực thể’ (Entity-Relationship Diagram – ERD) được sử dụng để làm gì?
A. Mô tả trình tự thực thi của các quy trình nghiệp vụ.
B. Mô tả cấu trúc logic của dữ liệu, bao gồm các thực thể (entities), thuộc tính (attributes) và mối quan hệ (relationships) giữa chúng.
C. Thiết kế kiến trúc mạng cho hệ thống.
D. Đánh giá rủi ro bảo mật của hệ thống.
152. Khi 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 bảng.
B. Liên kết hai bảng lại với nhau bằng cách tham chiếu đến khóa chính của bảng khác, thiết lập mối quan hệ giữa chúng.
C. Lưu trữ dữ liệu nhạy cảm được mã hóa.
D. Tạo các bản sao dự phòng của dữ liệu.
153. Phương pháp ‘Phân tích yêu cầu dựa trên trường hợp sử dụng’ (Use Case driven requirements analysis) tập trung vào điều gì?
A. Mô tả chi tiết cấu trúc dữ liệu và các bảng trong cơ sở dữ liệu.
B. Xác định các chức năng của hệ thống thông qua việc mô tả cách các ‘actors’ (tác nhân) tương tác với hệ thống để đạt được mục tiêu cụ thể.
C. Đánh giá hiệu suất của hệ thống dưới tải trọng cao.
D. Lập kế hoạch kiểm thử hồi quy cho hệ thống.
154. Khi đánh giá rủi ro trong dự án phát triển hệ thống thông tin, ‘rủi ro kỹ thuật’ (technical risk) thường liên quan đến yếu tố nào?
A. Sự thay đổi trong chính sách của công ty.
B. Sự phức tạp của công nghệ, khả năng tích hợp các thành phần, hiệu năng không đạt yêu cầu hoặc vấn đề về bảo mật.
C. Sự thiếu hụt ngân sách dự án.
D. Sự bất mãn của khách hàng đối với sản phẩm cuối cùng.
155. Khi sử dụng ‘kỹ thuật động não’ (brainstorming) trong phân tích yêu cầu, mục tiêu chính là gì?
A. Đánh giá hiệu quả của các giải pháp đã có.
B. Khuyến khích mọi người đưa ra ý tưởng một cách tự do và sáng tạo để khám phá nhiều giải pháp hoặc yêu cầu tiềm năng mà không bị đánh giá ban đầu.
C. Phân tích chi tiết các yêu cầu kỹ thuật của hệ thống.
D. Lập kế hoạch chi tiết cho giai đoạn triển khai.
156. Trong thiết kế cơ sở dữ liệu, ‘lượt xem’ (view) là gì?
A. Một bảng vật lý lưu trữ dữ liệu.
B. Một bảng ảo được tạo từ kết quả của một truy vấn SQL, cho phép người dùng truy cập dữ liệu theo một cách định sẵn mà không cần lưu trữ dữ liệu mới.
C. Một chỉ mục (index) để tăng tốc độ truy vấn.
D. Một bản sao lưu của cơ sở dữ liệu.
157. Trong thiết kế hệ thống, ‘tính mô-đun hóa’ (modularity) có ý nghĩa gì đối với việc bảo trì hệ thống?
A. Giúp hệ thống hoạt động nhanh hơn.
B. Cho phép cập nhật hoặc sửa lỗi một phần của hệ thống mà ít ảnh hưởng đến các phần khác, làm cho việc bảo trì dễ dàng và hiệu quả hơn.
C. Yêu cầu tất cả các mô-đun phải được phát triển bởi cùng một nhóm.
D. Đảm bảo hệ thống có thể hoạt động mà không cần bất kỳ bản cập nhật nào.
158. Trong giai đoạn thiết kế hệ thống, ‘mô hình hóa dữ liệu’ (data modeling) nhằm mục đích chính là gì?
A. Thiết kế giao diện người dùng trực quan và dễ sử dụng.
B. Xác định cấu trúc, mối quan hệ và ràng buộc của dữ liệu mà hệ thống sẽ quản lý.
C. Lập kế hoạch triển khai hệ thống trên các máy chủ.
D. Phân tích hiệu suất của các thuật toán xử lý dữ liệu.
159. Khi thiết kế giao diện người dùng, nguyên tắc ‘Trực quan hóa’ (Visibility of System Status) nhấn mạnh điều gì?
A. Giao diện phải có màu sắc sặc sỡ để thu hút người dùng.
B. Hệ thống phải luôn thông báo cho người dùng biết những gì đang xảy ra thông qua phản hồi thích hợp trong một khoảng thời gian hợp lý.
C. Tất cả các nút bấm phải được làm nổi bật.
D. Giao diện chỉ hiển thị các chức năng chính.
160. Trong thiết kế hệ thống, ‘trạng thái’ (state) của một đối tượng trong mô hình UML là gì?
A. Là hành động mà đối tượng có thể thực hiện.
B. Là một giá trị tại một thời điểm nhất định, đại diện cho các thuộc tính của đối tượng, có thể thay đổi theo thời gian.
C. Là tên của đối tượng đó.
D. Là mối quan hệ của đối tượng với các đối tượng khác.
161. Sơ đồ lớp (Class Diagram) trong UML (Unified Modeling Language) được sử dụng chủ yếu để biểu diễn khía cạnh nào của hệ thống hướng đối tượng?
A. Luồng dữ liệu và các quy trình xử lý.
B. Cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
C. Trạng thái và sự chuyển đổi của các đối tượng theo thời gian.
D. Các tình huống sử dụng (use cases) của hệ thống.
162. Khi phân tích yêu cầu, kỹ thuật ‘phỏng vấn’ (interviewing) người dùng mang lại lợi ích chính nào?
A. Đảm bảo tính khách quan tuyệt đối của thông tin.
B. Thu thập thông tin chi tiết, hiểu sâu sắc nhu cầu, quan điểm và bối cảnh làm việc của người dùng.
C. Tự động hóa quá trình thu thập dữ liệu.
D. Xác định lỗi cú pháp trong các tài liệu hiện có.
163. Yêu cầu nào sau đây KHÔNG phải là một yêu cầu phi chức năng điển hình của hệ thống?
A. Hệ thống phải cho phép người dùng đăng nhập bằng tài khoản Google.
B. Hệ thống phải xử lý tối đa 1000 giao dịch mỗi giây.
C. Giao diện người dùng phải thân thiện và dễ sử dụng cho người mới bắt đầu.
D. Dữ liệu nhạy cảm của người dùng phải được mã hóa khi lưu trữ.
164. Mục tiêu chính của ‘kiểm thử tích hợp’ (Integration Testing) là gì?
A. Kiểm tra từng đơn vị mã độc lập.
B. Kiểm tra sự tương tác và giao tiếp giữa các module hoặc thành phần đã được tích hợp với nhau.
C. Đánh giá hiệu năng tổng thể của hệ thống dưới tải trọng cao.
D. Xác nhận hệ thống đáp ứng tất cả các yêu cầu nghiệp vụ.
165. Sơ đồ trạng thái (State Diagram) trong UML được sử dụng để mô tả điều gì?
A. Các lớp và mối quan hệ tĩnh giữa chúng.
B. Luồng dữ liệu qua các quy trình.
C. Các trạng thái khác nhau mà một đối tượng có thể có và các sự kiện gây ra sự chuyển đổi giữa các trạng thái đó.
D. Các trường hợp sử dụng của hệ thống.
166. Khi sử dụng kỹ thuật ‘brainstorming’ (động não) trong phân tích yêu cầu, mục tiêu chính là gì?
A. Chỉ để ghi lại ý kiến của một người duy nhất.
B. Tạo ra một lượng lớn các ý tưởng ban đầu một cách tự do và sáng tạo từ nhiều người tham gia, không phán xét ngay lập tức.
C. Đưa ra quyết định cuối cùng về yêu cầu.
D. Xác định các vấn đề kỹ thuật của hệ thống hiện tại.
167. Trong quá trình phân tích và thiết kế hệ thống, thuật ngữ ‘pattern’ (mẫu thiết kế) thường đề cập đến điều gì?
A. Một đoạn mã nguồn cụ thể được sử dụng lại.
B. Một giải pháp chung, đã được chứng minh và tái sử dụng cho một vấn đề thiết kế phổ biến trong một ngữ cảnh nhất định.
C. Một quy tắc bắt buộc trong mọi thiết kế hệ thống.
D. Một công cụ tự động hóa việc kiểm thử.
168. Trong chu trình phát triển hệ thống thông tin theo mô hình thác nước (Waterfall model), giai đoạn nào là quan trọng nhất để định hình toàn bộ dự án và tránh các sai sót tốn kém về sau?
A. Giai đoạn Phân tích yêu cầu và đặc tả hệ thống.
B. Giai đoạn Thiết kế chi tiết kiến trúc hệ thống.
C. Giai đoạn Kiểm thử và bảo trì hệ thống.
D. Giai đoạn Triển khai và đào tạo người dùng.
169. Trong thiết kế hệ thống, ‘kiến trúc hệ thống’ (System Architecture) đề cập đến điều gì?
A. Giao diện người dùng và cách hiển thị thông tin.
B. Cấu trúc tổng thể của hệ thống, bao gồm các thành phần chính, mối quan hệ giữa chúng và các nguyên tắc chi phối thiết kế.
C. Các quy trình nghiệp vụ cụ thể mà hệ thống thực hiện.
D. Các thuật toán được sử dụng để xử lý dữ liệu.
170. Trong phương pháp Agile, ‘Sprint’ (hoặc ‘Iteration’) là gì?
A. Một giai đoạn kiểm thử cuối cùng của dự án.
B. Một khoảng thời gian cố định (thường từ 1-4 tuần) mà trong đó một tập hợp các công việc đã được lên kế hoạch sẽ được hoàn thành và có thể chuyển giao.
C. Cuộc họp định kỳ để báo cáo tiến độ.
D. Một tài liệu chi tiết mô tả yêu cầu của hệ thống.
171. Trong thiết kế cơ sở dữ liệu quan hệ, ‘chuẩn hóa’ (normalization) là quá trình nhằm đạt được mục tiêu chính nào?
A. Tăng dung lượng lưu trữ của cơ sở dữ liệu.
B. Giảm thiểu sự dư thừa dữ liệu (data redundancy) và các bất thường khi cập nhật (update anomalies).
C. Tăng tốc độ truy vấn dữ liệu bằng cách gộp nhiều bảng.
D. Đảm bảo tất cả các bảng đều có khóa chính.
172. Trong phân tích hệ thống, ‘tình huống sử dụng’ (Use Case) mô tả điều gì?
A. Cấu trúc nội tại của một lớp đối tượng.
B. Một trình tự các hành động mà hệ thống thực hiện để đáp ứng phản hồi từ một tác nhân (actor) cụ thể, nhằm đạt được một mục tiêu kinh doanh.
C. Các mối quan hệ giữa các bảng trong cơ sở dữ liệu.
D. Các điều kiện cần thiết để hệ thống hoạt động.
173. Trong mô hình Agile, vai trò của ‘Product Owner’ là gì?
A. Quản lý nhóm phát triển và phân công công việc.
B. Chịu trách nhiệm tối đa hóa giá trị của sản phẩm, quản lý Product Backlog và đảm bảo đội phát triển hiểu rõ yêu cầu.
C. Thực hiện kiểm thử kỹ thuật và khắc phục lỗi.
D. Quản lý hạ tầng công nghệ thông tin.
174. Trong các phương pháp phát triển phần mềm, ‘sự lặp lại’ (iteration) và ‘sự gia tăng’ (increment) là đặc trưng nổi bật của mô hình nào?
A. Mô hình Thác nước (Waterfall Model).
B. Mô hình V-Model.
C. Các mô hình phát triển linh hoạt (Agile methodologies) như Scrum, XP.
D. Mô hình Tinh gọn (Lean Model).
175. Khi phân tích yêu cầu, ‘yêu cầu phi chức năng’ (non-functional requirement) đề cập đến khía cạnh nào của hệ thống?
A. Các chức năng mà hệ thống phải thực hiện.
B. Các thuộc tính chất lượng của hệ thống, chẳng hạn như hiệu năng, bảo mật, khả năng sử dụng, độ tin cậy.
C. Các quy trình nghiệp vụ cụ thể.
D. Giao diện người dùng của hệ thống.
176. Tại sao việc phân tích yêu cầu nghiệp vụ (Business Requirements Analysis) lại quan trọng đối với nhà phân tích hệ thống?
A. Để quyết định công nghệ lập trình phù hợp nhất cho hệ thống.
B. Để hiểu rõ mục tiêu kinh doanh, nhu cầu của người dùng và xác định phạm vi của hệ thống.
C. Để thiết kế chi tiết giao diện người dùng hấp dẫn.
D. Để lập kế hoạch kiểm thử toàn diện cho tất cả các chức năng.
177. Khi phát triển hệ thống, ‘kỹ thuật tái sử dụng’ (reuse) mang lại lợi ích chính nào?
A. Tăng tính độc đáo và sáng tạo cho mỗi thành phần.
B. Giảm thời gian và chi phí phát triển, nâng cao chất lượng và độ tin cậy.
C. Phức tạp hóa quá trình bảo trì hệ thống.
D. Yêu cầu nhiều tài nguyên phần cứng hơn.
178. Tại sao việc phân tích mối quan hệ giữa các thực thể (Entity-Relationship Analysis) lại quan trọng trong thiết kế cơ sở dữ liệu?
A. Để xác định các thuật toán sắp xếp dữ liệu hiệu quả.
B. Để hiểu rõ các loại dữ liệu cần lưu trữ, cách chúng liên quan với nhau và thiết kế cấu trúc bảng phù hợp.
C. Để thiết kế giao diện người dùng trực quan.
D. Để đảm bảo hệ thống có khả năng chống lại các cuộc tấn công mạng.
179. Khi so sánh mô hình phát triển Agile và Waterfall, điểm khác biệt cơ bản nhất về cách tiếp cận là gì?
A. Agile nhấn mạnh vào tài liệu chi tiết, Waterfall ưu tiên sự linh hoạt.
B. Waterfall là lặp lại và gia tăng, Agile là tuần tự tuyến tính.
C. Agile chấp nhận thay đổi và lặp lại, Waterfall theo trình tự cố định.
D. Agile tập trung vào thiết kế chi tiết ngay từ đầu, Waterfall tập trung vào thử nghiệm cuối cùng.
180. Mô hình phát triển nào sau đây thường được coi là phù hợp nhất cho các dự án có yêu cầu không rõ ràng hoặc có khả năng thay đổi cao?
A. Mô hình Thác nước (Waterfall Model).
B. Mô hình Lặp lại (Iterative Model) hoặc các phương pháp Agile.
C. Mô hình T-Model.
D. Mô hình Spiral (xoắn ốc) khi không có rủi ro.
181. Trong thiết kế cơ sở dữ liệu, khái niệm ‘khóa chính’ (Primary Key) có vai trò gì?
A. Đảm bảo tính nhất quán của dữ liệu bằng cách liên kết các bảng.
B. Xác định duy nhất mỗi bản ghi (row) trong một bảng và không được phép trùng lặp hoặc có giá trị rỗng.
C. Định nghĩa các thuộc tính (columns) của một bảng trong cơ sở dữ liệu.
D. Giới hạn quyền truy cập vào các bản ghi cụ thể trong bảng.
182. Trong quá trình thiết kế hệ thống, ‘mô hình hóa’ (modeling) đóng vai trò gì?
A. Thay thế hoàn toàn quá trình viết mã.
B. Trực quan hóa, trừu tượng hóa và mô tả các khía cạnh của hệ thống để hiểu và giao tiếp tốt hơn.
C. Chỉ áp dụng cho việc thiết kế giao diện người dùng.
D. Đảm bảo hệ thống tuân thủ các tiêu chuẩn an ninh mạng quốc tế.
183. Mục tiêu của việc kiểm thử đơn vị (Unit Testing) trong quá trình phát triển phần mềm là gì?
A. Kiểm tra toàn bộ hệ thống hoạt động có đúng chức năng tổng thể hay không.
B. Kiểm tra xem các thành phần riêng lẻ (đơn vị code) có hoạt động chính xác theo thiết kế hay không.
C. Đảm bảo giao diện người dùng thân thiện và dễ sử dụng.
D. Đánh giá hiệu năng của hệ thống dưới tải trọng cao.
184. Tại sao ‘tính module hóa’ (modularity) là một nguyên tắc thiết kế quan trọng?
A. Để làm cho hệ thống trở nên khó hiểu hơn.
B. Để chia hệ thống thành các thành phần độc lập, dễ quản lý, phát triển, kiểm thử và bảo trì.
C. Để giảm thiểu sự phụ thuộc giữa các thành phần.
D. Để tăng cường sự phức tạp của hệ thống.
185. Khi đánh giá một hệ thống hiện có để đưa ra đề xuất cải tiến, ‘phân tích hệ thống hiện tại’ (as-is analysis) nhằm mục đích gì?
A. Chỉ để ghi lại các chức năng đã có.
B. Hiểu rõ cách hệ thống hoạt động hiện tại, xác định các vấn đề, hạn chế và cơ hội cải tiến.
C. Tự động thiết kế hệ thống mới dựa trên hệ thống cũ.
D. Đảm bảo hệ thống tuân thủ các quy định pháp lý mới nhất.
186. Trong thiết kế hệ thống, ‘tính khả dụng’ (availability) là một yêu cầu phi chức năng quan trọng, nó đề cập đến điều gì?
A. Khả năng hệ thống đáp ứng nhanh chóng các yêu cầu.
B. Khả năng hệ thống được truy cập và sử dụng khi cần thiết, thường được đo bằng tỷ lệ thời gian hệ thống hoạt động bình thường.
C. Khả năng mở rộng của hệ thống khi có nhiều người dùng.
D. Độ phức tạp của giao diện người dùng.
187. Khi phân tích hệ thống, kỹ thuật ‘prototyping’ (xây dựng mẫu thử) thường được áp dụng nhằm mục đích gì?
A. Thay thế hoàn toàn giai đoạn kiểm thử.
B. Thu thập phản hồi sớm từ người dùng về giao diện và chức năng, giúp làm rõ yêu cầu và giảm thiểu rủi ro.
C. Chỉ dùng để minh họa cho các nhà quản lý.
D. Tăng tốc độ phát triển bằng cách bỏ qua giai đoạn phân tích.
188. Khi áp dụng mô hình Agile, việc ‘kiểm thử liên tục’ (continuous testing) có ý nghĩa gì?
A. Chỉ thực hiện kiểm thử một lần duy nhất trước khi bàn giao sản phẩm.
B. Thực hiện kiểm thử thường xuyên và tự động hóa trong suốt quá trình phát triển, ngay sau khi mỗi chức năng hoặc thay đổi nhỏ được hoàn thành.
C. Chỉ kiểm thử các chức năng đã hoàn thành 100%.
D. Chỉ kiểm thử khi có lỗi nghiêm trọng xảy ra.
189. Yếu tố nào sau đây KHÔNG phải là một nguyên tắc cơ bản trong thiết kế hệ thống hướng đối tượng?
A. Tính đóng gói (Encapsulation).
B. Tính kế thừa (Inheritance).
C. Tính đa hình (Polymorphism).
D. Tính tuần tự (Sequencing).
190. Theo phân tích phổ biến, khóa ngoại là một thuộc tính trong một bảng tham chiếu đến khóa chính của bảng khác, tạo ra mối liên kết giữa các bảng và duy trì sự nhất quán của dữ liệu. Kết luận Lý giải: Liên kết hai bảng với nhau bằng cách tham chiếu đến khóa chính của bảng khác, đảm bảo tính toàn vẹn tham chiếu (referential integrity).
A. Xác định duy nhất mỗi bản ghi trong một bảng.
B. Liên kết hai bảng với nhau bằng cách tham chiếu đến khóa chính của bảng khác, đảm bảo tính toàn vẹn tham chiếu (referential integrity).
C. Lưu trữ dữ liệu chính của bảng.
D. Xác định loại dữ liệu của một cột.
191. Trong phân tích hệ thống, việc sử dụng ‘sơ đồ lớp’ (Class Diagram) có ưu điểm gì so với DFD khi mô tả hệ thống?
A. DFD tốt hơn trong việc mô tả cấu trúc dữ liệu.
B. Sơ đồ lớp phù hợp hơn để mô tả cấu trúc tĩnh, các thuộc tính, hành vi và mối quan hệ giữa các đối tượng trong hệ thống hướng đối tượng.
C. DFD có thể thể hiện tốt hơn luồng điều khiển.
D. Cả hai sơ đồ đều có chức năng tương tự nhau.
192. Mục tiêu chính của giai đoạn thiết kế giao diện người dùng (User Interface – UI) trong phát triển hệ thống là gì?
A. Tối ưu hóa hiệu suất xử lý của hệ thống.
B. Đảm bảo tính bảo mật và toàn vẹn của dữ liệu.
C. Tạo ra một trải nghiệm người dùng trực quan, dễ sử dụng và hiệu quả.
D. Xác định các yêu cầu kỹ thuật chi tiết cho việc lập trình.
193. Trong thiết kế hệ thống, ‘chú giải’ (comment) trong mã nguồn có vai trò gì?
A. Tăng tốc độ thực thi của chương trình.
B. Giúp các lập trình viên khác (hoặc chính mình trong tương lai) hiểu rõ mục đích, logic của đoạn mã.
C. Bắt buộc phải có để chương trình biên dịch.
D. Giảm kích thước của tệp mã nguồn.
194. Trong phân tích hệ thống, một thực thể ngoài (External Entity) trong sơ đồ DFD đại diện cho điều gì?
A. Một quy trình xử lý dữ liệu bên trong hệ thống.
B. Một kho dữ liệu được sử dụng bởi hệ thống.
C. Một nguồn hoặc đích của dữ liệu bên ngoài hệ thống, có thể là người, tổ chức hoặc hệ thống khác.
D. Một điểm kiểm soát luồng dữ liệu trong hệ thống.
195. Mục tiêu chính của việc thiết kế cơ sở dữ liệu là gì?
A. Tạo ra một giao diện người dùng hấp dẫn.
B. Xác định cấu trúc lưu trữ dữ liệu một cách hiệu quả, đảm bảo tính toàn vẹn, nhất quán và dễ dàng truy cập dữ liệu.
C. Viết mã nguồn cho các chức năng của hệ thống.
D. Thực hiện kiểm thử hiệu năng.
196. Yếu tố nào sau đây là một tiêu chí quan trọng khi đánh giá chất lượng của một hệ thống thông tin đã được thiết kế?
A. Sự phức tạp của mã nguồn.
B. Khả năng mở rộng (Scalability), hiệu năng (Performance) và tính dễ bảo trì (Maintainability).
C. Số lượng người dùng có thể truy cập đồng thời.
D. Chi phí ban đầu để phát triển hệ thống.
197. Khi thiết kế giao diện người dùng, nguyên tắc ‘phản hồi tức thời’ (immediate feedback) có ý nghĩa gì?
A. Hệ thống chỉ phản hồi sau khi tất cả các thao tác hoàn thành.
B. Hệ thống phải thông báo cho người dùng biết hành động của họ đã được thực hiện hay đang được xử lý, và kết quả là gì, ngay lập tức hoặc trong khoảng thời gian hợp lý.
C. Người dùng phải chờ đợi lâu để nhận được kết quả.
D. Hệ thống chỉ hiển thị thông báo khi có lỗi xảy ra.
198. Khi phân tích hệ thống, việc sử dụng ‘sơ đồ lớp’ (Class Diagram) và ‘sơ đồ tuần tự’ (Sequence Diagram) cùng nhau sẽ cung cấp cái nhìn toàn diện về khía cạnh nào?
A. Chỉ cấu trúc tĩnh của hệ thống.
B. Chỉ luồng tương tác động giữa các đối tượng.
C. Cả cấu trúc tĩnh (lớp, mối quan hệ) và hành vi động (tương tác giữa các đối tượng theo thời gian).
D. Các yêu cầu phi chức năng của hệ thống.
199. Khi phân tích và thiết kế hệ thống, việc ‘trừu tượng hóa’ (abstraction) giúp ích như thế nào?
A. Tăng độ phức tạp của hệ thống.
B. Giúp tập trung vào các chi tiết quan trọng và bỏ qua các chi tiết không cần thiết, làm cho việc hiểu và quản lý hệ thống dễ dàng hơn.
C. Đảm bảo mọi thành phần đều hoạt động độc lập.
D. Tự động hóa quá trình kiểm thử.
200. Khi thực hiện phân tích hệ thống, việc sử dụng sơ đồ luồng dữ liệu (Data Flow Diagram – DFD) giúp thể hiện khía cạnh nào của hệ thống?
A. Cấu trúc tổ chức của dữ liệu và mối quan hệ giữa các thực thể.
B. Luồng thông tin, các quá trình xử lý dữ liệu và các kho dữ liệu trong hệ thống.
C. Các trạng thái của hệ thống và sự chuyển đổi giữa các trạng thái đó.
D. Cấu trúc điều khiển và luồng thực thi của các chương trình.