Đề ôn · SWD392

SWD392 Kiến Trúc & Thiết Kế Phần Mềm – Bộ ôn tập thi lại số 2 (60 câu)

60 câu · Thi lại · Summer 2026

60câu trong đề
SWD392môn

Câu hỏi của đề

15/60 câuCòn 45
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
Đá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.
Mở trang câu hỏi này →
2How does a composite state relate to a substate?4 lựa chọnTrung bình50% trả lời đúng
AA composite state is decomposed into substates.
BComposite states are composed into substates.
CA composite state transitions to a substate.
DA substate transitions to a composite state
Lời giải
Đáp án đúng: A. Trạng thái ghép (composite state) là trạng thái được phân rã thành các trạng thái con (substate) — đây chính là cơ chế tạo nên statechart phân cấp: một trạng thái ở mức cao che giấu bên trong nó cả một máy trạng thái con. B sai vì quan hệ ngược chiều: trạng thái con không "ghép lại" thành trạng thái ghép, mà trạng thái ghép được phân rã ra thành trạng thái con. C và D đều sai vì mô tả một phép chuyển (transition) giữa hai trạng thái ngang hàng, trong khi quan hệ ghép/con là quan hệ chứa đựng theo cấp bậc, không phải quan hệ chuyển tiếp.
Mở trang câu hỏi này →
AObserver Pattern
BStrategy Pattern
CState Pattern
DSingleton Pattern
Lời giải
Đáp án đúng: C. State Pattern sinh ra đúng cho tình huống này: hành vi của đối tượng thay đổi theo trạng thái nội tại, mỗi trạng thái được tách thành một lớp riêng, và đối tượng ngữ cảnh uỷ quyền lời gọi cho đối tượng trạng thái hiện hành — nên khi trạng thái đổi thì hành vi đổi theo ngay lúc chạy. B sai vì Strategy cũng hoán đổi hành vi lúc chạy nhưng do bên ngoài chọn thuật toán, không do trạng thái nội tại của đối tượng quyết định. A sai vì Observer giải quyết việc thông báo thay đổi cho nhiều bên quan tâm. D sai vì Singleton chỉ kiểm soát số lượng thể hiện của lớp, không liên quan tới hành vi thay đổi theo trạng thái.
Mở trang câu hỏi này →
ACall/Return pattern
BLayers of Abstraction pattern
CAsynchronous Message Communication pattern
DSynchronous Message Communication with Reply pattern
Lời giải
Đáp án đúng: B. Các mẫu kiến trúc được chia hai nhóm: mẫu CẤU TRÚC (architectural structure pattern) mô tả cách tổ chức các thành phần, và mẫu GIAO TIẾP (architectural communication pattern) mô tả cách các thành phần trao đổi thông điệp. Layers of Abstraction là mẫu cấu trúc — nó quy định hệ thống được tổ chức thành các tầng, tầng trên chỉ dùng dịch vụ của tầng dưới. A, C, D đều thuộc nhóm mẫu GIAO TIẾP: Call/Return là gọi hàm đồng bộ trong tiến trình, Asynchronous Message Communication là gửi thông điệp bất đồng bộ không chờ, Synchronous Message Communication with Reply là gửi thông điệp rồi chờ hồi đáp. Chúng nói về cách nói chuyện, không nói về cách xếp đặt cấu trúc.
Mở trang câu hỏi này →
AControl
BBoundary
CApplication logic
DEntity
Lời giải
Đáp án đúng: C. Trong phân loại đối tượng của COMET, đối tượng logic ứng dụng (application logic object) gồm ba nhánh: đối tượng logic nghiệp vụ, đối tượng thuật toán và đối tượng dịch vụ. Đối tượng logic nghiệp vụ tồn tại chính là để gói riêng các quy tắc nghiệp vụ, tách khỏi dữ liệu và khỏi giao diện, để khi quy tắc nghiệp vụ đổi thì chỉ sửa một chỗ. A sai vì đối tượng điều khiển lo việc điều phối trình tự và trạng thái, không phải nơi chứa quy tắc nghiệp vụ. B sai vì đối tượng biên chỉ lo giao tiếp với môi trường bên ngoài. D sai vì đối tượng thực thể chỉ lưu trữ dữ liệu bền vững; nhét quy tắc nghiệp vụ vào đó là làm mất tính độc lập mà câu hỏi đang nhắm tới.
Mở trang câu hỏi này →
AThe part class becomes a foreign key in the whole class.
BThe whole class becomes part of the primary key in the part class.
CEach part class is designed as its own relational table.
DIn relational databases, the flat (nonhierarchical) norm is broken by the creation of a hierarchy.
Lời giải
Đáp án đúng: B. Với quan hệ toàn thể/bộ phận (whole/part), bộ phận phụ thuộc sự tồn tại vào toàn thể. Khi ánh xạ sang cơ sở dữ liệu quan hệ, khoá chính của bảng toàn thể được đưa vào bảng bộ phận và trở thành một phần của khoá chính bảng bộ phận — tạo ra khoá chính ghép (concatenated primary key), thể hiện đúng rằng bộ phận không tự định danh được nếu không có toàn thể. A sai vì đảo ngược chiều phụ thuộc: khoá ngoại nằm ở phía bộ phận, không nằm ở phía toàn thể. C nói đúng một nửa (bộ phận thường có bảng riêng) nhưng không trả lời được câu hỏi cốt lõi là quan hệ được biểu diễn thế nào. D sai vì mô hình quan hệ vẫn giữ dạng phẳng — phân cấp được diễn đạt bằng khoá, không phải bằng việc phá vỡ chuẩn phẳng.
Mở trang câu hỏi này →
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
Đá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.
Mở trang câu hỏi này →
ALifelines
BMessages
CEntities
DActivation bars
Lời giải
Đáp án đúng: C. Sơ đồ tuần tự (sequence diagram) mô tả tương tác theo thời gian giữa các đối tượng, gồm đường đời (lifeline), thông điệp (message) và thanh kích hoạt (activation bar). "Entities" không phải một phần tử ký pháp của sơ đồ tuần tự — thực thể là một loại đối tượng (stereotype), và trên sơ đồ nó vẫn xuất hiện dưới dạng một đường đời như mọi đối tượng khác. A, B, D đều là phần tử chuẩn của sơ đồ tuần tự: lifeline là trục dọc biểu diễn đối tượng theo thời gian, message là mũi tên trao đổi giữa các lifeline, activation bar là khối chữ nhật mảnh cho biết đối tượng đang thực thi.
Mở trang câu hỏi này →
ATo define the functionality of the system
BTo specify the development process
CTo define success criteria, orthogonal to functionality
DTo dictate the user interface design
Lời giải
Đáp án đúng: C. Đặc tính kiến trúc (architecture characteristic) là các yêu cầu phi chức năng — hiệu năng, khả năng mở rộng, bảo mật, khả năng bảo trì… Chúng định nghĩa tiêu chí thành công của hệ thống và trực giao với chức năng: cùng một tập chức năng có thể được hiện thực với những mức đặc tính rất khác nhau, và chính chúng mới là thứ quyết định lựa chọn kiến trúc. A sai vì chức năng hệ thống do yêu cầu chức năng mô tả, đó chính là phần "trực giao" còn lại. B sai vì quy trình phát triển là chuyện quản lý dự án, không phải đặc tính kiến trúc. D sai vì thiết kế giao diện là quyết định ở tầng thấp hơn nhiều.
Mở trang câu hỏi này →
AThe relational table has multiple primary keys.
BThe relational table has multiple foreign keys.
CThe relational table has a primary key.
DThe relational table has a concatenated primary key.
Lời giải
Đáp án đúng: A. Một bảng quan hệ chỉ có ĐÚNG MỘT khoá chính. Vì vậy phát biểu "bảng có nhiều khoá chính" là phát biểu sai — đây là điều câu hỏi đang tìm. B đúng vì một bảng hoàn toàn có thể có nhiều khoá ngoại, mỗi khoá trỏ tới một bảng khác. C đúng vì mỗi bảng đều cần một khoá chính để định danh bản ghi. D đúng vì khoá chính có thể là khoá ghép gồm nhiều cột — vẫn chỉ là MỘT khoá chính, chỉ khác là nó gồm nhiều thuộc tính; đừng nhầm khoá ghép với "nhiều khoá chính".
Mở trang câu hỏi này →
ARefining each model independently without cross-checking
BSynchronizing refinements between analysis, design, and architecture models
CPostponing model updates until after implementation
DRelying only on component-level testing
Lời giải
Đáp án đúng: B. Khi hệ thống tiến hoá, mô hình phân tích, mô hình thiết kế và mô hình kiến trúc phải được tinh chỉnh đồng bộ với nhau. Chỉ khi mọi tinh chỉnh được đồng bộ chéo thì các mô hình mới còn nói cùng một câu chuyện về hệ thống. A sai vì tinh chỉnh từng mô hình độc lập, không đối chiếu chéo, chính là nguyên nhân sinh ra mâu thuẫn giữa các mô hình. C sai vì hoãn cập nhật mô hình tới sau khi hiện thực xong biến mô hình thành tài liệu chết, không còn phản ánh hệ thống thật. D sai vì kiểm thử mức thành phần chỉ bắt lỗi hiện thực, không phát hiện được mâu thuẫn giữa các mô hình.
Mở trang câu hỏi này →
ASingleton Pattern
BFactory Pattern
CMVC Pattern
DObserver Pattern
Lời giải
Đáp án đúng: A. Singleton Pattern bảo đảm một lớp chỉ có duy nhất một thể hiện trong toàn chương trình và cung cấp một điểm truy cập toàn cục tới thể hiện đó — đúng nguyên văn yêu cầu của câu hỏi. B sai vì Factory lo việc tạo đối tượng mà không lộ lớp cụ thể, không giới hạn số lượng thể hiện. C sai vì MVC là mẫu kiến trúc tách giao diện, dữ liệu và điều khiển. D sai vì Observer lo việc thông báo thay đổi tới nhiều đối tượng theo dõi.
Mở trang câu hỏi này →
13Which of the following is true for a Distributed Control architectural pattern?4 lựa chọnTrung bình45% trả lời đúng
AControl is divided among various control components.
BIt responds to multiple requests from client subsystems.
CIt provides overall control by coordinating several control components.
DIt provides distributed control over various I/O objects.
Lời giải
Đáp án đúng: A. Trong mẫu Distributed Control, quyền điều khiển được chia cho nhiều thành phần điều khiển, mỗi thành phần điều khiển một phần của hệ thống và trao đổi trực tiếp với nhau — không có một thành phần trung tâm nào nắm toàn quyền. C sai vì "điều phối nhiều thành phần điều khiển" là đặc trưng của Hierarchical Control, nơi có một thành phần cấp trên phối hợp các thành phần cấp dưới. D sai vì "điều khiển toàn bộ các đối tượng vào/ra" là đặc trưng của Centralized Control. B sai vì đáp ứng yêu cầu từ nhiều hệ thống con khách là đặc trưng của mẫu client/service, không phải mẫu điều khiển.
Mở trang câu hỏi này →
AIt specifies alternative sequences of interactions based on conditions.
BIt represents the alternative lifelines that an object may take.
CIt is used to alternate between different diagrams.
DIt defines the alternative messages that can be sent between objects.
Lời giải
Đáp án đúng: A. Khung 'alt' (alternative) trong sơ đồ tuần tự chia phần thân thành nhiều ngăn, mỗi ngăn kèm một điều kiện canh (guard); lúc chạy chỉ ngăn có điều kiện đúng được thực hiện. Nhờ đó một sơ đồ duy nhất diễn tả được nhiều chuỗi tương tác thay thế nhau theo điều kiện. B sai vì 'alt' không sinh thêm đường đời — số lifeline không đổi. C sai vì 'alt' nằm trong một sơ đồ, không phải công cụ chuyển qua lại giữa các sơ đồ. D sai vì 'alt' bao lấy cả một chuỗi tương tác có điều kiện, không phải chỉ khai báo danh sách thông điệp có thể gửi.
Mở trang câu hỏi này →
AOnly the main sequence of the use case
BThe main sequence and every alternative sequence of the use case
CThe main sequence and a representative alternative sequence of the use case
DThe alternative sequences of the use case
Lời giải
Đáp án đúng: B. Một use case gồm chuỗi chính (main sequence) và các chuỗi thay thế (alternative sequence). Sơ đồ tương tác phải phủ cả chuỗi chính lẫn từng chuỗi thay thế, vì mỗi chuỗi thay thế là một đường đi khác nhau qua hệ thống với tập thông điệp khác nhau — bỏ sót chuỗi nào là bỏ sót đúng phần hành vi đó khi thiết kế. A và D đều sai vì chỉ phủ được một nửa: chỉ chuỗi chính thì mất hết nhánh ngoại lệ, chỉ chuỗi thay thế thì mất luôn luồng nghiệp vụ chính. C sai vì lấy "một chuỗi thay thế đại diện" là lấy mẫu — các chuỗi thay thế khác nhau về bản chất (lỗi nhập liệu, hết hàng, hết hạn…), không có chuỗi nào đại diện được cho các chuỗi còn lại.
Mở trang câu hỏi này →