SWD392DễKỳ 7Chuyên ngành Cập nhật 07/09/2026
Software Architecture and Design - Kiến Trúc & Thiết Kế Phần Mềm
436Câu hỏi
5Bộ đề
9Chủ đề
5,03 đánh giá
Thử sức tại chỗ
Trả lời ngay tại đây
1SWD392 - Tổng hợp ôn tập cuối kỳDễ
What is a user interaction task?
2SWD392 - Tổng hợp ôn tập cuối kỳTrung bình
What does a sequence diagram depict?
3Dễ
Why is it important to document a design pattern's Consequences in the GoF template?
Còn 3 câu nữa ở trên
Trả lời hết các câu trên để xem tổng kết, hoặc vào phiên học ngay.
Học từ ngân hàng câu hỏi
Bắt đầu một phiên học theo môn
Tiến độ của bạn luôn được tính và đồng bộ trực tiếp theo tổng số lượng câu hỏi mới nhất của môn học này.
436Ngân hàng hiện tại--Tiến độ môn
Câu hỏi của môn
24/436 câuCòn 412
5What is an entity object in software design?4 lựa chọnDễ
AAn object that performs actions and operations
BAn object that stores information and provides limited access to that data
CAn object that interacts with other objects in real-time
DAn object that controls the flow of the system's processes
Lời giải
Mở trang câu hỏi này →Trong thiết kế phần mềm, một đối tượng thực thể (entity object) là một đối tượng có nhiệm vụ lưu trữ thông tin và cung cấp truy cập hạn chế đến dữ liệu đó. Đối tượng thực thể thường được sử dụng để mô hình hóa các thực thể trong thế giới thực, chẳng hạn như khách hàng, sản phẩm, hoặc đơn hàng. Đối tượng thực thể thường có các thuộc tính và phương thức để lưu trữ và quản lý dữ liệu của nó. Ví dụ, đối tượng khách hàng có thể có thuộc tính như tên, địa chỉ, và số điện thoại, và phương thức như lưu trữ thông tin và cập nhật thông tin. Đối tượng thực thể giúp phân tách logic kinh doanh và dữ liệu, làm cho hệ thống phần mềm trở nên linh hoạt và dễ dàng mở rộng.
6What is a state-dependent control object?4 lựa chọnKhó30% trả lời đúng
AAn object that depends on a state machine
BAn object that communicates with a state machine
CAn object that controls a state machine
DAn object that executes a state machine
Lời giải
Mở trang câu hỏi này →Một đối tượng kiểm soát phụ thuộc vào trạng thái là một đối tượng có thể thay đổi hành vi của nó dựa trên trạng thái hiện tại của nó. Nó không chỉ đơn giản là thực thi một trạng thái máy mà còn có thể thay đổi trạng thái của nó dựa trên các điều kiện cụ thể. Ví dụ, một đối tượng kiểm soát có thể thay đổi hành vi của nó khi nó chuyển từ trạng thái "chưa hoạt động" sang trạng thái "hoạt động". Đối tượng kiểm soát này có thể thực thi một số hành động khác nhau dựa trên trạng thái hiện tại của nó, chẳng hạn như gửi tín hiệu đến một máy trạng thái khác hoặc thực thi một số hành động cụ thể.
7Which of the following could happen on an interaction diagram?4 lựa chọnTrung bình67% trả lời đúng
AA state-dependent control object sends a message to an entity object.
BA state-dependent control object sends a message to a coordinator object.
CA state-dependent control object sends a message to a printer object.
DAll of the above
Lời giải
Mở trang câu hỏi này →Trên một sơ đồ tương tác, có thể xảy ra các tình huống sau: Một đối tượng kiểm soát phụ thuộc vào trạng thái gửi một tin nhắn đến một đối tượng thực thể. Một đối tượng kiểm soát phụ thuộc vào trạng thái gửi một tin nhắn đến một đối tượng điều phối. Một đối tượng kiểm soát phụ thuộc vào trạng thái gửi một tin nhắn đến một đối tượng in. Tất cả các tình huống trên đều có thể xảy ra trên một sơ đồ tương tác. Điều này cho thấy sự linh hoạt và đa dạng của các tương tác trong một hệ thống, từ việc điều phối các hoạt động đến việc thực hiện các tác vụ cụ thể.
8What is the difference between an active object and a passive object in Concurrent and Real-Time Software Architecture?4 lựa chọnDễ80% trả lời đúng
AAn active object controls a passive object.
BAn active object does not have a thread of control; a passive object has a thread of control.
CAn active object executes in a distributed system; a passive object executes in a centralized system.
DAn active object has a thread of control; a passive object does not have a thread of control
Lời giải
Mở trang câu hỏi này →Trong kiến trúc phần mềm đồng thời và thời gian thực, một đối tượng hoạt động (active object) và một đối tượng thụ động (passive object) là hai khái niệm quan trọng. Đối tượng hoạt động có khả năng tự thực hiện các hành động và quản lý các hoạt động của mình, trong khi đối tượng thụ động không có khả năng tự thực hiện và cần được quản lý bởi một đối tượng hoạt động khác. Điều này có nghĩa là đối tượng hoạt động có một luồng kiểm soát (thread of control), trong khi đối tượng thụ động không có. Ví dụ, một hệ thống có thể có một đối tượng hoạt động chịu trách nhiệm quản lý các yêu cầu của người dùng, trong khi các đối tượng thụ động chịu trách nhiệm thực hiện các nhiệm vụ cụ thể. Tóm lại, đối tượng hoạt động có khả năng tự thực hiện và quản lý các hoạt động của mình, trong khi đối tượng thụ động không có khả năng tự thực hiện và cần được quản lý bởi một đối tượng hoạt động khác.
9Which of the following is a characteristic of an object?4 lựa chọnDễ100% trả lời đúng
AA function or subroutine
BA module
CGroups data and procedures that operate on the data
DGroups a function and an algorithm
Lời giải
Mở trang câu hỏi này →Một đối tượng trong lập trình thường được định nghĩa là một nhóm dữ liệu và các thủ tục (hàm, thủ tục, v.v.) có thể hoạt động trên dữ liệu đó. Điều này cho phép chúng ta tổ chức và quản lý dữ liệu một cách hiệu quả. Ví dụ, một đối tượng có thể đại diện cho một khách hàng, với các thuộc tính như tên, địa chỉ, số điện thoại, v.v. và các phương thức như thêm, sửa, xóa khách hàng. Đối tượng giúp chúng ta viết mã dễ đọc, dễ hiểu và dễ bảo trì hơn.
10What do software quality attributes address?4 lựa chọnDễ100% trả lời đúng
ASoftware functional requirements
BSoftware nonfunctional requirements
CSoftware performance requirements
DSoftware availability requirements
Lời giải
Mở trang câu hỏi này →Tính chất chất lượng phần mềm (software quality attributes) là những đặc điểm không liên quan trực tiếp đến chức năng của phần mềm mà ảnh hưởng đến hiệu suất và khả năng sử dụng của nó. Chúng bao gồm các yếu tố như độ ổn định, độ tin cậy, khả năng mở rộng, bảo mật, tính dễ sử dụng và khả năng tương thích. Tính chất chất lượng phần mềm giúp đảm bảo rằng phần mềm hoạt động một cách hiệu quả và đáp ứng được nhu cầu của người dùng.
11In the context of software life cycle processes, what does "maintenance" typically involve?4 lựa chọnDễ100% trả lời đúng
AWriting initial code
BDesigning the system architecture
CUpdating and fixing the software after deployment
DPlanning the project timeline
12What is the primary purpose of database normalization?4 lựa chọnDễ
AIncrease redundancy
BMinimize data duplication
CCreate more tables
DReduce query performance
Lời giải
Mở trang câu hỏi này →Normalization cơ bản là quá trình sắp xếp dữ liệu trong cơ sở dữ liệu để giảm thiểu sự trùng lặp dữ liệu. Mục đích chính của việc này là giảm thiểu sự trùng lặp dữ liệu, giúp dữ liệu trở nên dễ dàng quản lý và cập nhật hơn. Khi dữ liệu được sắp xếp hợp lý, chúng ta có thể tránh được các vấn đề như dữ liệu bị trùng lặp, không chính xác, hoặc không đầy đủ. Điều này giúp cho việc truy vấn dữ liệu trở nên nhanh chóng và hiệu quả hơn. Ngoài ra, việc giảm thiểu sự trùng lặp dữ liệu cũng giúp cho việc bảo trì và sửa lỗi cơ sở dữ liệu trở nên dễ dàng hơn.
AClass diagram
BUse case diagram
CComponent diagram
DStatechart diagram
Lời giải
Mở trang câu hỏi này →Trong quá trình thiết kế phần mềm, các kịch bản tương tác của người dùng được thể hiện qua sơ đồ nào? Sơ đồ Use case là một trong những công cụ quan trọng trong quá trình thiết kế phần mềm. Nó giúp mô tả các kịch bản tương tác giữa người dùng và hệ thống phần mềm. Sơ đồ Use case bao gồm các trường hợp sử dụng, các yêu cầu của người dùng và các hành động của hệ thống phần mềm. Nó giúp các nhà thiết kế phần mềm hiểu rõ hơn về nhu cầu của người dùng và thiết kế phần mềm phù hợp với nhu cầu đó.
14What is the relationship between modularity and maintainability?4 lựa chọnKhó33% trả lời đúng
AModularity has no impact on maintainability.
BHigher modularity generally makes a system less maintainable.
CHigher modularity generally makes a system more maintainable.
DModularity only affects performance, not maintainability.
Lời giải
Mở trang câu hỏi này →Modularity và tính dễ bảo trì là hai khái niệm liên quan chặt chẽ trong thiết kế phần mềm. Modularity đề cập đến khả năng chia hệ thống thành các mô-đun độc lập, mỗi mô-đun có chức năng riêng biệt. Tính dễ bảo trì, một mặt, liên quan đến khả năng sửa lỗi, cập nhật và mở rộng hệ thống mà không ảnh hưởng đến các phần khác. Khi hệ thống được chia thành các mô-đun độc lập, mỗi mô-đun có thể được sửa lỗi, cập nhật hoặc mở rộng độc lập mà không ảnh hưởng đến các mô-đun khác. Điều này làm cho hệ thống trở nên dễ bảo trì hơn. Vì vậy, modularity thường được coi là một yếu tố quan trọng trong việc cải thiện tính dễ bảo trì của hệ thống.
15How does a composite state relate to a substate?4 lựa chọnTrung bình
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
Mở trang câu hỏi này →Đá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.
16How are feature conditions used in a SPL state machine?4 lựa chọnDễ100% trả lời đúng
AA guard condition
BA condition that is True or False
CTo identify if a feature is selected or not in the state machine
DTo allow state machine inheritance
Lời giải
Mở trang câu hỏi này →Trong một trạng thái máy (state machine) của SPL (Software Product Line), điều kiện tính năng (feature condition) được sử dụng để xác định xem tính năng nào đã được chọn hay chưa. Điều này cho phép trạng thái máy phản ứng khác nhau tùy thuộc vào tính năng nào được chọn. Ví dụ, nếu tính năng 'tích hợp GPS' được chọn, trạng thái máy có thể chuyển sang trạng thái 'chọn địa điểm' khi người dùng chọn địa điểm. Ngược lại, nếu tính năng 'tích hợp GPS' không được chọn, trạng thái máy có thể chuyển sang trạng thái 'chọn địa điểm thủ công'. Điều kiện tính năng giúp trạng thái máy linh hoạt và dễ dàng mở rộng khi thêm hoặc xóa tính năng.
17Which component of software architecture ensures scalability and modularity?4 lựa chọnDễ86% trả lời đúng
AClient-Server Model
BMonolithic Architecture
CProcedural Programming
DTesting Frameworks
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Mô hình Client-Server tách hệ thống thành các bên phục vụ và bên sử dụng có ranh giới rõ ràng, giao tiếp qua giao diện chuẩn. Nhờ tách rời đó, có thể nhân bản thêm máy chủ khi tải tăng (mở rộng) và thay đổi từng phía độc lập (mô-đun hoá).
B sai vì kiến trúc nguyên khối gộp mọi thứ vào một khối duy nhất, mở rộng phải nhân bản cả khối và sửa đâu cũng phải triển khai lại toàn bộ. C sai vì lập trình thủ tục là một mô hình lập trình, không phải thành phần kiến trúc. D sai vì khung kiểm thử là công cụ hỗ trợ chất lượng, không quyết định khả năng mở rộng hay mô-đun hoá.
18What does a connector join?4 lựa chọnDễ83% trả lời đúng
AThe provided port of one component to the required port of another component
BThe provided port of one component to the provided port of another component
CThe required port of one component to the provided port of another component
DThe required port of one component to the required port of another component
Lời giải
Mở trang câu hỏi này →Một kết nối (connector) trong mô hình kiến trúc phần mềm là một thành phần quan trọng giúp liên kết các mô-đun hoặc thành phần khác nhau trong hệ thống. Nó đảm bảo rằng các mô-đun này có thể giao tiếp với nhau một cách hiệu quả. Khi nói đến việc kết nối, chúng ta thường nói đến việc liên kết các cổng (port) của các mô-đun khác nhau. Một cổng có thể được định nghĩa là một điểm giao tiếp giữa mô-đun và bên ngoài. Có hai loại cổng: cổng yêu cầu (required port) và cổng cung cấp (provided port). Cổng yêu cầu là cổng mà mô-đun yêu cầu để giao tiếp với bên ngoài, trong khi cổng cung cấp là cổng mà mô-đun cung cấp để giao tiếp với bên ngoài. Một kết nối sẽ liên kết cổng yêu cầu của một mô-đun với cổng cung cấp của mô-đun khác. Điều này giúp đảm bảo rằng các mô-đun có thể giao tiếp với nhau một cách hiệu quả và đúng đắn.
19What is a UML package?4 lựa chọnTrung bình67% trả lời đúng
AA box
BA grouping of classes
CA grouping of use cases
DA grouping of model elements
Lời giải
Mở trang câu hỏi này →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.
20What is carried out during system testing?4 lựa chọnTrung bình
AWhite box testing
BBlack box testing
CUnit testing
DIntegration testing
Lời giải
Mở trang câu hỏi này →Trong quá trình thử nghiệm hệ thống, người ta thực hiện các bài kiểm tra để đảm bảo hệ thống hoạt động đúng như mong đợi. Bài kiểm tra này được gọi là thử nghiệm hộp đen (Black box testing). Trong thử nghiệm hộp đen, người ta không xem xét mã nguồn của hệ thống mà chỉ tập trung vào việc kiểm tra các đầu vào và đầu ra của hệ thống. Điều này giúp đảm bảo rằng hệ thống có thể xử lý các trường hợp sử dụng khác nhau một cách chính xác và hiệu quả.
21Which of the following is NOT a type of object interaction diagram?4 lựa chọnDễ83% trả lời đúng
ASequence Diagram
BCollaboration Diagram
CActivity Diagram
DCommunication Diagram
Lời giải
Mở trang câu hỏi này →Đi đến phần Interaction Diagram trong các loại sơ đồ UML, chúng ta sẽ thấy có bốn loại chính. Trong đó có Sequence Diagram (Sơ đồ Chuỗi), Collaboration Diagram (Sơ đồ Hợp tác), Communication Diagram (Sơ đồ Liên lạc) và Activity Diagram (Sơ đồ Hoạt động). Tuy nhiên, Activity Diagram không phải là một loại Interaction Diagram. Thay vào đó, nó thuộc về loại Dynamic Model trong UML. Activity Diagram được sử dụng để mô tả các hoạt động và quy trình trong một hệ thống, trong khi Interaction Diagram được sử dụng để mô tả các tương tác giữa các đối tượng.
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
Mở trang câu hỏi này →Đá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.
23What is the primary goal of Software Product Line Engineering?4 lựa chọnDễ100% trả lời đúng
ATo develop a single software product that fits all market needs
BTo decrease software production costs by reducing the quality
CTo focus exclusively on the customization of software for individual customers
DTo create a set of software products sharing a common, managed set of features to satisfy specific market segments
Lời giải
Mở trang câu hỏi này →Kỹ thuật sản xuất dòng sản phẩm phần mềm (Software Product Line Engineering - SPL) là một phương pháp thiết kế và phát triển phần mềm nhằm tạo ra một tập hợp các sản phẩm phần mềm chia sẻ một bộ tính năng chung, được quản lý và có thể được tùy chỉnh để đáp ứng các nhu cầu cụ thể của các phân khúc thị trường khác nhau. Mục tiêu chính của SPL là giảm thiểu chi phí sản xuất phần mềm bằng cách giảm thiểu sự đa dạng và tăng cường khả năng tái sử dụng các thành phần phần mềm.
AStatechart Diagrams
BUse Case Diagrams
CDeployment Diagrams
DActivity Diagrams
Lời giải
Mở trang câu hỏi này →Trong kiến trúc thời gian thực, hoạt động dữ liệu là một phần quan trọng. Để mô hình hóa luồng dữ liệu trong kiến trúc này, chúng ta cần sử dụng các sơ đồ hoạt động (Activity Diagrams). Sơ đồ hoạt động giúp minh họa các hoạt động và luồng dữ liệu trong hệ thống, từ đó hỗ trợ việc thiết kế và phát triển kiến trúc thời gian thực. Các sơ đồ hoạt động cung cấp một cách nhìn tổng quan về các hoạt động và mối quan hệ giữa chúng, giúp các nhà phát triển hiểu rõ hơn về cách thức hoạt động của hệ thống và có thể xác định các điểm cần cải thiện.