Thi lại · SWD392 · Summer 2026
Ôn tập thi lại SWD392 Summer 2026
119 câu gom từ 2 đề ôn của kỳ Summer 2026.
2 đề gốc
Bấm để làm trọn một đề thay vì tra từng câu
119 câu hỏi
Trang 1 / 6What is a coordinator object?4 lựa chọn
AA manager object
BAn object that makes decisions based on a state machine
CA decision-making object
DAn object that decides which entity object to interact with
Lời giải
Mở trang câu hỏi này →Đáp án đúng: C. Đối tượng điều phối (coordinator object) là đối tượng RA QUYẾT ĐỊNH tổng thể: nó quyết định trình tự thực hiện cho một nhóm đối tượng liên quan, dựa trên thông tin nhận được chứ không dựa trên máy trạng thái.
B sai chính ở chỗ đó — đối tượng ra quyết định dựa trên máy trạng thái là đối tượng điều khiển phụ thuộc trạng thái (state-dependent control object), một loại khác; đối tượng điều phối không phụ thuộc trạng thái. A sai vì "đối tượng quản lý" là cách gọi mơ hồ, không phải một hạng mục đối tượng trong COMET. D sai vì việc chọn đối tượng thực thể nào để tương tác chỉ là một hệ quả vụn vặt, không phải định nghĩa.
ABetter communication between stakeholders
BEasier maintenance of code
CIncreased hardware performance
DEarly detection of design flaws
Lời giải
Mở trang câu hỏi này →Khi sử dụng mô hình phần mềm, có nhiều lợi ích mà chúng ta có thể tận dụng. Một trong số đó là việc cải thiện giao tiếp giữa các bên liên quan. Mô hình phần mềm giúp các bên hiểu rõ hơn về yêu cầu và mục tiêu của dự án, từ đó có thể trao đổi thông tin một cách hiệu quả hơn. Ngoài ra, mô hình phần mềm còn giúp dễ dàng bảo trì mã nguồn, giảm thiểu thời gian và chi phí cho việc sửa lỗi. Tuy nhiên, một số người có thể nghĩ rằng mô hình phần mềm có thể giúp tăng cường hiệu suất của phần cứng, nhưng thực tế thì không phải vậy. Mô hình phần mềm không liên quan trực tiếp đến hiệu suất của phần cứng. Vì vậy, lựa chọn không đúng là "Tăng cường hiệu suất của phần cứng".
ATo execute the statechart
BTo identify alternative sequence scenarios
CTo specify the interactions between software objects
DTo consider objects that receive inputs from the external environment
Lời giải
Mở trang câu hỏi này →Đáp án đúng: D. Trong chiến lược mô hình hoá tương tác động phụ thuộc trạng thái (state-dependent dynamic interaction modeling) của COMET, bước đầu tiên là xác định đối tượng biên (boundary object) — vì đây chính là đối tượng nhận sự kiện từ môi trường bên ngoài rồi chuyển thành thông điệp gửi vào hệ thống. Không xác định được nguồn kích thích bên ngoài thì không dựng được chuỗi tương tác.
A sai vì đối tượng thực thi statechart là đối tượng điều khiển (control object), không phải đối tượng biên. B sai vì việc liệt kê các kịch bản thay thế thuộc pha mô hình hoá use case, không phải mục đích của việc xác định đối tượng biên. C sai vì đó là mục tiêu chung của cả sơ đồ tương tác, không phải lý do riêng để xác định đối tượng biên.
AAn action that is performed when the state is entered
BAn action that is performed when the state is left
CAn action that starts executing when the state is entered and completes executing when the state is left
DAn action that executes as a result of a state transition
Lời giải
Mở trang câu hỏi này →Trong mô hình trạng thái, một hành động nhập (entry action) là một hành động được thực hiện khi trạng thái được vào. Nó thường được sử dụng để thực hiện các tác vụ cần thiết khi trạng thái được vào, chẳng hạn như khởi tạo dữ liệu, thiết lập trạng thái ban đầu, hoặc thực hiện các hành động khác cần thiết khi trạng thái được vào. Ví dụ, khi một người dùng đăng nhập vào ứng dụng, hành động nhập có thể được sử dụng để tải dữ liệu người dùng và thiết lập trạng thái đăng nhập. Hành động nhập thường được thực hiện một lần khi trạng thái được vào, và nó không được thực hiện lại khi trạng thái được rời.
AObject layout
BFunctional behavior of the system
CDatabase structure
DComponent dependencies
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Mô hình use case mô tả hành vi chức năng của hệ thống nhìn từ bên ngoài: các tác nhân là ai, họ cần hệ thống làm gì, và mỗi chức năng đem lại giá trị gì cho họ. Đây là mô hình của pha đặc tả yêu cầu, cố tình không nói tới cách hiện thực.
A sai vì bố cục đối tượng thuộc mô hình tĩnh (sơ đồ lớp). C sai vì cấu trúc cơ sở dữ liệu là quyết định ở pha thiết kế, xuất hiện sau và không thuộc mô hình use case. D sai vì phụ thuộc giữa các thành phần được thể hiện bằng sơ đồ thành phần.
ATo develop and maintain a specific product within the line
BTo establish the processes, tools, and methods for developing and evolving the product line
CTo market and sell individual products
DTo ensure that each product meets its unique requirements
Lời giải
Mở trang câu hỏi này →Kỹ thuật sản phẩm hàng loạt (Product Line Engineering) là một phương pháp thiết kế và phát triển các sản phẩm tương tự, nhưng có thể khác nhau về tính năng và đặc điểm. Mục đích chính của kỹ thuật này là thiết lập các quy trình, công cụ và phương pháp để phát triển và cải tiến dòng sản phẩm. Điều này giúp giảm thiểu thời gian và chi phí phát triển, cũng như tăng cường tính linh hoạt và khả năng thích ứng với nhu cầu của khách hàng. Kỹ thuật sản phẩm hàng loạt cho phép các công ty phát triển một nền tảng chung cho nhiều sản phẩm khác nhau, từ đó giảm thiểu sự trùng lặp và tăng cường hiệu suất.
AFile organization
BCode syntax
CMaintainability
DUser interface design
Lời giải
Mở trang câu hỏi này →Tính chất chất lượng phần mềm là những đặc điểm quan trọng mà phần mềm cần có để đáp ứng nhu cầu của người dùng. Trong các lựa chọn trên, tính maintainability (tính dễ bảo trì) là một trong những đặc điểm quan trọng của phần mềm. Tính maintainability cho phép phần mềm được cập nhật, sửa lỗi và mở rộng dễ dàng mà không ảnh hưởng đến hiệu suất và tính ổn định của phần mềm. Điều này giúp giảm thiểu chi phí và thời gian cần thiết để duy trì phần mềm.
AImplementation
BRequirement Analysis
CArchitectural Design
DTesting
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Bước đầu tiên là phân tích yêu cầu: phải biết hệ thống cần làm gì, ràng buộc nào phải thoả, thì mới có đầu vào để quyết định kiến trúc. Thiết kế mà không có yêu cầu rõ ràng là thiết kế cho một bài toán chưa được phát biểu.
C sai vì thiết kế kiến trúc đến SAU phân tích yêu cầu — nó tiêu thụ chính kết quả của bước đó. A và D sai vì hiện thực và kiểm thử nằm ở cuối chuỗi, sau khi thiết kế đã xong.
ALayered Architecture
BClient-Server Architecture
CEvent-Driven Architecture
DPeer-to-Peer Architecture
Lời giải
Mở trang câu hỏi này →Trong bài tập về hệ thống ATM, kiến trúc được sử dụng phổ biến nhất là Kiến trúc Client-Server. Kiến trúc này bao gồm hai phần chính: Client và Server. Client là ứng dụng chạy trên thiết bị của người dùng, trong khi Server là phần mềm chạy trên máy chủ. Khi người dùng thực hiện một giao dịch, ứng dụng Client sẽ gửi yêu cầu đến Server, và Server sẽ xử lý yêu cầu và trả về kết quả cho Client. Kiến trúc Client-Server cho phép phân chia công việc giữa Client và Server một cách rõ ràng, giúp tăng hiệu suất và giảm độ phức tạp của hệ thống.
What is a control task?4 lựa chọn
AA task that control other module
BA task that executes a statechart
CA task that executes on command
DA task that controls I/O service
Lời giải
Mở trang câu hỏi này →Một nhiệm vụ kiểm soát (control task) là một phần mềm thực hiện một trạng thái cụ thể theo một sơ đồ trạng thái (statechart). Nó có thể được sử dụng để mô hình hóa các hành vi của một hệ thống, chẳng hạn như một thiết bị điện tử. Trong một hệ thống phân tán, một nhiệm vụ kiểm soát có thể được thực hiện bởi một module riêng biệt, chịu trách nhiệm quản lý các trạng thái của hệ thống. Điều này giúp tăng cường tính linh hoạt và dễ dàng mở rộng hệ thống. Ví dụ, một nhiệm vụ kiểm soát có thể được sử dụng để quản lý trạng thái của một hệ thống điều khiển nhiệt độ, nơi nó sẽ thực hiện các hành động khác nhau dựa trên các giá trị nhiệt độ khác nhau.
ADeveloping use case models
BDeveloping data flow and entity relationship diagrams
CDeveloping static and dynamic models
DDeveloping software architectures
Lời giải
Mở trang câu hỏi này →Đáp án đúng: D. Mô hình hoá thiết kế (design modeling) là pha kiến trúc phần mềm được thiết kế: quyết định hệ thống gồm những hệ thống con và thành phần nào, chúng giao tiếp ra sao, triển khai thế nào — tức chuyển từ vùng bài toán sang vùng lời giải.
A sai vì mô hình use case được xây ở pha mô hình hoá YÊU CẦU, trước đó. C sai vì mô hình tĩnh và động của miền bài toán được xây ở pha mô hình hoá PHÂN TÍCH — đây là bẫy sát nhất vì thiết kế cũng có mô hình tĩnh/động, nhưng ba pha của COMET được đặt tên theo sản phẩm đặc trưng, và sản phẩm đặc trưng của pha thiết kế là kiến trúc phần mềm. B sai vì sơ đồ luồng dữ liệu và sơ đồ thực thể quan hệ thuộc phương pháp phân tích có cấu trúc, không phải sản phẩm của mô hình hoá thiết kế hướng đối tượng.
What does a sequence diagram depict?4 lựa chọn
AThe sequence of external objects communicating with each other
BClasses and their relationships
CSoftware objects and the sequence of their interactions
DThe external objects communicating with the system
Lời giải
Mở trang câu hỏi này →Một sơ đồ chuỗi (sequence diagram) là một loại sơ đồ được sử dụng để minh họa các giao tiếp giữa các đối tượng trong một hệ thống. Nó cho thấy các đối tượng tương tác với nhau theo một thứ tự nhất định, giúp dễ dàng hiểu và phân tích các giao tiếp giữa các phần tử trong hệ thống. Sơ đồ chuỗi thường được sử dụng trong thiết kế và phát triển phần mềm để mô tả các giao tiếp giữa các lớp, các đối tượng và các dịch vụ.
AControl is divided among various control components.
BIt provides overall control over several client subsystems.
CIt provides overall control by coordinating several control components.
DIt provides overall control over various I/O objects
Lời giải
Mở trang câu hỏi này →Đáp án đúng: C. Mẫu Hierarchical Control có một thành phần điều khiển cấp trên đóng vai trò điều phối nhiều thành phần điều khiển cấp dưới: nó ra lệnh, nhận báo cáo và quyết định trình tự tổng thể, còn việc điều khiển chi tiết vẫn nằm ở cấp dưới.
A sai vì "quyền điều khiển chia đều cho nhiều thành phần" mà không có cấp phối hợp là mẫu Distributed Control. D sai vì "điều khiển toàn bộ đối tượng vào/ra" là mẫu Centralized Control — điều khiển thẳng thiết bị chứ không qua thành phần điều khiển trung gian. B sai vì kiểm soát các hệ thống con khách thuộc phạm vi mẫu client/service.
AWriting code
BMarketing software
CSimulating hardware
DDesigning applications before coding
Lời giải
Mở trang câu hỏi này →Đáp án đúng: D. Mục đích chính của việc mô hình hoá là thiết kế và hiểu ứng dụng TRƯỚC KHI viết mã: mô hình cho phép suy nghĩ ở mức trừu tượng, phát hiện sai sót và thử phương án khi giá của việc sửa còn rẻ, đồng thời làm ngôn ngữ chung giữa các bên.
A sai vì viết mã là việc diễn ra sau khi mô hình đã định hình. B sai vì tiếp thị phần mềm không liên quan gì đến mô hình hoá kỹ thuật. C sai vì mô phỏng phần cứng chỉ là một ứng dụng hẹp trong một số lĩnh vực, không phải mục đích chung.
ADesigning the user interface
BUnderstanding and analyzing the problem domain
CWriting code for the solution
DTesting the final system
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Mô hình phân tích tập trung vào việc HIỂU miền bài toán: có những khái niệm nào, quan hệ ra sao, hệ thống phải làm gì — cố tình chưa quyết định làm bằng cách nào. Đó là ranh giới phân biệt pha phân tích với pha thiết kế.
A sai vì thiết kế giao diện là hoạt động của pha thiết kế. C sai vì viết mã là pha hiện thực. D sai vì kiểm thử hệ thống là pha sau cùng. Cả ba đều thuộc vùng lời giải, trong khi mô hình phân tích còn đang ở vùng bài toán.
What is an entity class?4 lựa chọn
AA class on an entity/relationship diagram
BA class that stores data
CA class that interfaces to an external entity
DAn external class
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Lớp thực thể (entity class) là lớp lưu trữ dữ liệu — đối tượng của nó sống lâu, giữ thông tin bền vững của hệ thống và thường được ánh xạ xuống cơ sở dữ liệu.
A sai vì đó chỉ là mô tả vị trí xuất hiện của lớp trên một sơ đồ ER, không phải định nghĩa vai trò của nó. C sai vì lớp giao tiếp với một thực thể bên ngoài là lớp BIÊN (boundary class) — chữ "entity" ở đây bị dùng theo nghĩa "thực thể ngoài hệ thống", đây là bẫy chơi chữ của câu. D sai vì lớp thực thể nằm bên trong hệ thống, không phải lớp ngoài.
What is a SPL feature?4 lựa chọn
AA requirement or characteristic that is provided by one or more SPL members
BA marketing need
CA class provided by the SPL
DA SPL use case
Lời giải
Mở trang câu hỏi này →SPL (Software Product Line) là một phương pháp phát triển phần mềm cho phép tạo ra nhiều sản phẩm khác nhau dựa trên một tập hợp các thành phần chung. Một tính năng SPL (SPL feature) là một yêu cầu hoặc đặc điểm được cung cấp bởi một hoặc nhiều thành viên của SPL. Nó đại diện cho một tính năng hoặc khả năng cụ thể của sản phẩm, có thể được sử dụng để tạo ra các sản phẩm khác nhau. Ví dụ, trong một SPL cho các hệ thống quản lý thời tiết, một tính năng SPL có thể là khả năng dự báo thời tiết chính xác. Tính năng này có thể được cung cấp bởi một hoặc nhiều thành viên của SPL, chẳng hạn như một mô hình dự báo thời tiết hoặc một hệ thống cảnh báo thời tiết. Tính năng SPL giúp tạo ra sự linh hoạt và đa dạng trong sản phẩm, đồng thời giảm thiểu thời gian và chi phí phát triển.
AControl is divided among various control components.
BIt provides the overall control and sequencing of the system.
CIt provides overall control by coordinating several control components.
DIt provides overall control over various I/O objects.
Lời giải
Mở trang câu hỏi này →Mô hình kiến trúc Centralized Control là một trong những mô hình kiến trúc phổ biến trong lập trình. Trong mô hình này, tất cả các hoạt động kiểm soát và điều khiển của hệ thống được tập trung vào một điểm duy nhất. Điều này có nghĩa là hệ thống có một bộ phận kiểm soát trung tâm chịu trách nhiệm điều khiển và sắp xếp các hoạt động của hệ thống. Bộ phận kiểm soát trung tâm này sẽ quyết định khi nào và làm gì, và nó sẽ đảm bảo rằng tất cả các hoạt động của hệ thống được thực hiện theo đúng kế hoạch. Mô hình này thường được sử dụng trong các hệ thống có yêu cầu kiểm soát và điều khiển cao, chẳng hạn như hệ thống tự động hóa, hệ thống điều khiển nhiệt độ, v.v.
What is data abstraction?4 lựa chọn
AAnother name for information hiding
BEncapsulating data so that its structure is hidden
CStoring data in a database
DStoring data in a data structure
Lời giải
Mở trang câu hỏi này →Data abstraction là một khái niệm quan trọng trong lập trình, giúp chúng ta ẩn đi chi tiết cụ thể của dữ liệu và chỉ hiển thị thông tin cần thiết. Nó cho phép chúng ta tập trung vào việc sử dụng dữ liệu mà không cần quan tâm đến cách dữ liệu được lưu trữ hoặc xử lý. Data abstraction có thể được hiểu là quá trình ẩn đi cấu trúc của dữ liệu, chỉ hiển thị thông tin cần thiết và cung cấp một giao diện đơn giản để tương tác với dữ liệu. Điều này giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt trong việc sử dụng dữ liệu.
ARedesign all screens at once
BPreserve user workflows and adapt layouts incrementally
CFocus on backend refactoring only
DIgnore legacy usability standards
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Khi hệ thống tiến hoá, người dùng đã quen với luồng thao tác hiện có. Cách làm được khuyến nghị là giữ nguyên luồng công việc rồi điều chỉnh bố cục từng bước, để người dùng không phải học lại và rủi ro được chia nhỏ theo từng đợt.
A sai vì thiết kế lại toàn bộ màn hình cùng lúc là thay đổi lớn nhất, rủi ro cao nhất, và phá vỡ thói quen người dùng. C sai vì tái cấu trúc backend không giải quyết được vấn đề giao diện. D sai vì bỏ qua chuẩn khả dụng cũ là cách chắc chắn làm người dùng lâu năm mất phương hướng.
Đi tiếp từ đây
Kỳ khác cùng môn
Summer 2025Về lát
Thi lại · SWD392