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 2 / 6
What is a UML package?4 lựa chọn
AA box
BA grouping of classes
CA grouping of use cases
DA grouping of model elements
Lời giải
Trong mô hình hóa phần mềm, UML (Unified Modeling Language) là một ngôn ngữ chung để mô tả các mô hình phần mềm. Một gói (package) trong UML là một cách nhóm các yếu tố mô hình (model elements) lại với nhau. Điều này giúp dễ dàng quản lý và tổ chức các yếu tố mô hình phức tạp. Một gói có thể chứa các lớp (class), giao diện (interface), đối tượng (object), và các yếu tố mô hình khác. Việc nhóm các yếu tố mô hình lại với nhau trong một gói giúp tăng cường tính rõ ràng và dễ hiểu của mô hình phần mềm.
Mở trang câu hỏi này →
AStatic, dynamic, and deployment views
BStatic, deployment, and user interface views
CDynamic, user interface, and data management views
DDeployment, user interface, and data management views
Lời giải
Đáp án đúng: A. Kiến trúc phần mềm được nhìn qua ba góc: góc nhìn tĩnh (cấu trúc — lớp, thành phần và quan hệ giữa chúng), góc nhìn động (tương tác giữa các thành phần lúc chạy) và góc nhìn triển khai (thành phần nằm trên nút phần cứng nào). Ba góc này bổ sung nhau và cùng nhau mới mô tả đủ một kiến trúc. B, C, D đều sai vì mỗi phương án đánh tráo một trong ba góc nhìn bằng "user interface views" hoặc "data management views" — đây là mối quan tâm ở tầng thiết kế chi tiết của một hệ thống con cụ thể, không phải một góc nhìn kiến trúc ngang hàng với tĩnh/động/triển khai.
Mở trang câu hỏi này →
ADepicts several objects interacting with each other
BDepicts one possible sequence of interactions among objects
CDepicts all possible interactions among objects
DDepicts all classes and their associations with each other
Lời giải
Một sơ đồ tương tác (interaction diagram) là một công cụ được sử dụng để mô tả các tương tác 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 như thế nào và theo trình tự nào. Trong một sơ đồ tương tác, các đối tượng được thể hiện dưới dạng các hình dạng khác nhau, chẳng hạn như hình vuông, hình tròn, v.v. Các mối quan hệ giữa các đối tượng được thể hiện bằng các đường kết nối. Sơ đồ tương tác giúp các nhà phát triển hiểu rõ hơn về các tương tác giữa các đối tượng và có thể dự đoán được các hành vi của hệ thống. Nó cũng giúp các nhà phát triển xác định các vấn đề tiềm ẩn và cải thiện hệ thống.
Mở trang câu hỏi này →
AA function
BA class
CA database
DA reusable piece of software
Lời giải
Trong kiến trúc phần mềm dựa trên thành phần, một thành phần (component) được định nghĩa là một phần mềm tái sử dụng có thể được kết hợp lại để tạo thành các hệ thống phần mềm phức tạp. Thành phần là một đơn vị độc lập, có thể được phát triển, thử nghiệm và bảo trì riêng biệt. Nó có thể được sử dụng nhiều lần trong nhiều hệ thống khác nhau, giúp giảm thiểu thời gian và chi phí phát triển phần mềm. Thành phần thường được mô tả bằng các lớp (class) hoặc các hàm (function) trong ngôn ngữ lập trình, nhưng nó không chỉ giới hạn ở đó. Thành phần có thể bao gồm cả dữ liệu và các dịch vụ, và nó có thể được kết hợp lại để tạo thành các hệ thống phần mềm phức tạp.
Mở trang câu hỏi này →
APublic
BPrivate
CProtected
DStatic
Lời giải
Trong lập trình hướng đối tượng, từ khóa thường được sử dụng để thực hiện ẩn thông tin bên trong một lớp là Private. Khi sử dụng từ khóa Private, các thuộc tính hoặc phương thức của lớp sẽ không thể truy cập được từ bên ngoài lớp, giúp bảo vệ thông tin và ngăn chặn việc truy cập không hợp lệ. Điều này giúp tăng cường tính bảo mật và giảm thiểu khả năng xảy ra lỗi do truy cập không đúng. Ngoài ra, thông tin được ẩn cũng giúp giảm thiểu khả năng xảy ra xung đột giữa các lớp, vì các lớp không thể truy cập trực tiếp vào thông tin của nhau.
Mở trang câu hỏi này →
ANeeds to discover the location of the service
BKnows the type of service required but not the specific service
CKnows the specific service required but not the type of service
DNeeds to discover the broker
Lời giải
Đáp án đúng: B. Môi giới kiểu trang vàng (yellow pages brokering) tra cứu theo LOẠI dịch vụ: bên yêu cầu biết mình cần loại dịch vụ nào nhưng chưa biết dịch vụ cụ thể nào đáp ứng, nên hỏi broker để nhận về danh sách ứng viên rồi chọn — đúng cách người ta dùng cuốn danh bạ trang vàng. A sai vì tra cứu vị trí của một dịch vụ ĐÃ BIẾT TÊN là môi giới kiểu trang trắng (white pages), đây là cặp khái niệm đối lập cần phân biệt. C sai vì đảo ngược tình huống: biết dịch vụ cụ thể mà không biết loại là điều vô lý về nghiệp vụ. D sai vì địa chỉ của chính broker phải biết trước thì mới hỏi được, đó là điều kiện tiên quyết chứ không phải thứ đi tìm.
Mở trang câu hỏi này →
ATrue
BFalse
Lời giải
Đáp án đúng: A (True). Đây đúng là định nghĩa của sơ đồ giao tiếp tích hợp (integrated communication diagram): nó là bản tổng hợp của tất cả các sơ đồ giao tiếp đã dựng cho từng use case, gộp chúng lại thành một bức tranh chung để nhìn thấy toàn bộ các đối tượng và mọi tương tác giữa chúng trên cùng một sơ đồ. Chọn False sẽ sai, vì phát biểu không hề nói quá: chữ "merger" (hợp nhất) trong câu chính là cách sơ đồ này được xây — chồng các sơ đồ giao tiếp riêng lẻ lên nhau, gộp các đối tượng trùng nhau làm một.
Mở trang câu hỏi này →
What is a kernel system in a SPL?4 lựa chọn
AA member of the SPL only composed of kernel classes
BA member of the SPL composed of kernel classes and possibly some default classes
CA member of the SPL composed of kernel classes and possibly some optional classes
DA member of the SPL composed of kernel classes and possibly some entity classes
Lời giải
Đáp án đúng: B. Hệ thống nhân (kernel system) là thành viên NHỎ NHẤT của dòng sản phẩm: nó gồm các lớp nhân — những lớp bắt buộc có ở mọi thành viên — và có thể kèm một số lớp mặc định, tức biến thể được chọn sẵn khi khách hàng không yêu cầu gì đặc biệt. A sai vì bỏ mất phần lớp mặc định, khiến định nghĩa hẹp hơn thực tế. C sai vì lớp tuỳ chọn (optional) theo định nghĩa là thứ chỉ có ở MỘT SỐ thành viên — đưa chúng vào hệ thống nhân là phá vỡ đúng ý nghĩa "nhân". D sai vì lớp thực thể là phân loại theo VAI TRÒ của đối tượng (lưu dữ liệu), không phải phân loại theo tính chung/biến thiên trong dòng sản phẩm; hai cách phân loại này nằm ở hai trục khác nhau.
Mở trang câu hỏi này →
What is a database wrapper class?4 lựa chọn
AA class that encapsulates a data structure
BA class that encapsulates a database
CA class that encapsulates the details of how to access data in a database
DA class that encapsulates a relational table
Lời giải
Một lớp bọc cơ sở dữ liệu (database wrapper class) là một lớp lập trình được thiết kế để ẩn đi chi tiết về cách truy cập dữ liệu trong cơ sở dữ liệu. Lớp này thường bao gồm các phương thức để thực hiện các hoạt động cơ bản như tạo kết nối, thực hiện truy vấn, cập nhật và xóa dữ liệu. Mục đích chính của lớp bọc cơ sở dữ liệu là cung cấp một giao diện đơn giản và thống nhất để truy cập dữ liệu, giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt trong việc phát triển ứng dụng. Điều này cho phép các nhà phát triển tập trung vào logic kinh doanh và giao diện người dùng mà không cần lo lắng về chi tiết kỹ thuật về cơ sở dữ liệu.
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 →
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 →
AAvoids dynamic behavior
BFaster processing
CAllows state decomposition for complex systems
DRequires no transitions
Lời giải
Đáp án đúng: C. Ưu điểm của statechart phân cấp so với statechart phẳng là cho phép phân rã trạng thái: một trạng thái ghép chứa cả một máy trạng thái con bên trong. Nhờ vậy hệ thống phức tạp được mô tả theo nhiều mức, và những phép chuyển dùng chung cho cả nhóm trạng thái con chỉ cần vẽ một lần ở mức cha — giảm hẳn số phép chuyển phải vẽ. A sai vì statechart phân cấp không hề né tránh hành vi động, nó chính là công cụ mô tả hành vi động. B sai vì phân cấp là chuyện tổ chức mô hình, không làm chương trình chạy nhanh hơn. D sai vì statechart phân cấp vẫn cần phép chuyển, chỉ là được tổ chức gọn hơn.
Mở trang câu hỏi này →
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 →
What is a primary actor?4 lựa chọn
AThe actor who goes on stage first
BThe actor that starts the use case
CAn actor that participates in the use case
DAn object inside the system
Lời giải
Đáp án đúng: B. Tác nhân chính (primary actor) là tác nhân KHỞI XƯỚNG use case — người hoặc hệ thống gửi kích thích đầu tiên làm use case bắt đầu chạy, và thường là bên nhận được giá trị chính từ use case đó. C sai vì tác nhân chỉ tham gia vào use case mà không khởi xướng là tác nhân phụ (secondary actor); mỗi use case có đúng một tác nhân chính nhưng có thể có nhiều tác nhân phụ. D sai vì tác nhân theo định nghĩa nằm NGOÀI hệ thống, không phải đối tượng bên trong. A sai vì đó chỉ là cách chơi chữ với nghĩa sân khấu của từ "actor".
Mở trang câu hỏi này →
AThey are used to define the deployment configuration
BThey are only relevant in static modeling
CThey trigger transitions in statecharts and influence interactions in diagrams
DThey represent the physical connections between system components
Lời giải
Trong mô hình tương tác động lực dựa trên trạng thái, các sự kiện đóng vai trò quan trọng trong việc mô tả và quản lý trạng thái của hệ thống. Chúng được sử dụng để kích hoạt các chuyển đổi trạng thái trong sơ đồ trạng thái và ảnh hưởng đến các tương tác trong các sơ đồ. Ví dụ, khi một sự kiện xảy ra, nó có thể kích hoạt một chuyển đổi trạng thái từ trạng thái A sang trạng thái B, và sau đó ảnh hưởng đến các tương tác giữa các thành phần hệ thống trong trạng thái mới. Điều này cho phép mô hình hóa các hệ thống phức tạp và động, nơi trạng thái của hệ thống thay đổi theo thời gian và ảnh hưởng đến các tương tác giữa các thành phần.
Mở trang câu hỏi này →
AA client communicates with a specific service provided on a fixed server configuration.
BA client discovers and links to a service.
CMultiple clients communicate with a service
DStandard protocols are provided to allow clients to communicate with services
Lời giải
Đáp án đúng: A. Câu hỏi tìm phát biểu SAI về SOA. Bản chất của SOA là dịch vụ tự trị, được đăng ký ở broker và được client KHÁM PHÁ ĐỘNG lúc chạy — client không bị buộc vào một dịch vụ cụ thể nằm trên một cấu hình máy chủ cố định. Ràng buộc "fixed server configuration" chính là đặc trưng của client/server truyền thống mà SOA sinh ra để thay thế. B đúng vì tìm và liên kết tới dịch vụ chính là cơ chế discovery qua service broker. C đúng vì nhiều client cùng dùng một dịch vụ là hệ quả trực tiếp của mục tiêu tái sử dụng. D đúng vì giao thức chuẩn là điều kiện để các dịch vụ trên nền tảng khác nhau nói chuyện được với nhau.
Mở trang câu hỏi này →
AClient-Server
BLayered
CService-Oriented Architecture (SOA)
DPipe-and-Filter
Lời giải
Câu hỏi này hỏi về phong cách kiến trúc nào nhấn mạnh các dịch vụ liên lạc lỏng lẻo thông qua giao diện. Trong đó, Service-Oriented Architecture (SOA) là phong cách kiến trúc phù hợp với mô tả này. SOA là một phong cách kiến trúc dựa trên dịch vụ, trong đó các dịch vụ được thiết kế độc lập và có thể giao tiếp với nhau thông qua giao diện. Điều này cho phép các dịch vụ được phát triển, triển khai và quản lý độc lập, tạo điều kiện cho sự linh hoạt và khả năng mở rộng cao. SOA thường được sử dụng trong các hệ thống phân tán và các ứng dụng lớn.
Mở trang câu hỏi này →
AStatechart
BClass diagram
CActivity diagram
DDeployment diagram
Lời giải
Trong phân tích thiết kế hướng đối tượng (OO analysis), mô hình hóa là một phần quan trọng để mô tả cấu trúc và hành vi của hệ thống. Mô hình hóa có thể được thực hiện thông qua các loại mô hình khác nhau, bao gồm mô hình lớp, mô hình trạng thái, mô hình hoạt động và mô hình triển khai. Trong số đó, mô hình lớp (Class diagram) là mô hình hóa định nghĩa cấu trúc tĩnh của hệ thống. Nó mô tả các lớp, mối quan hệ giữa các lớp và các thuộc tính của các lớp. Mô hình lớp giúp phân tích và thiết kế hệ thống một cách rõ ràng và hiệu quả.
Mở trang câu hỏi này →
AExternal event
BInternal event
CTimer event
DUser event
Lời giải
Sự đồng bộ hóa sự kiện là một khái niệm quan trọng trong lập trình. Nó đề cập đến việc đồng bộ hóa các hoạt động hoặc sự kiện trong một chương trình. Trong các lựa chọn trên, có một số trường hợp được coi là đồng bộ hóa sự kiện. Ví dụ, sự kiện bên ngoài (External event) và sự kiện timer (Timer event) đều là các trường hợp đồng bộ hóa sự kiện. Tuy nhiên, sự kiện người dùng (User event) không phải là một trường hợp đồng bộ hóa sự kiện. Sự kiện người dùng thường được sử dụng để phản hồi các hành động của người dùng, nhưng nó không phải là một sự kiện được đồng bộ hóa. Thay vào đó, nó thường được xử lý ngay lập tức mà không cần đồng bộ hóa.
Mở trang câu hỏi này →
AStatechart diagram
BInteraction diagram
CComposite class interaction diagram
DPackage diagram
Lời giải
Trong COMET, sơ đồ nào tích hợp cả mô hình tĩnh và động cho thiết kế phần mềm? Sơ đồ Composite class interaction diagram tích hợp cả mô hình tĩnh và động, giúp thiết kế phần mềm trở nên rõ ràng và dễ hiểu hơn. Sơ đồ này cho phép các nhà phát triển xem xét cả cấu trúc và hành vi của phần mềm, từ đó đưa ra quyết định thiết kế tốt hơn. Nó là một công cụ mạnh mẽ giúp các nhà phát triển tạo ra phần mềm chất lượng cao và dễ bảo trì.
Mở trang câu hỏi này →
Đi tiếp từ đây