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á
Câu hỏi của môn
324/436 câuCòn 112
305Which of the following is a common bottleneck that impacts scalability in traditional web applications?4 lựa chọnDễ80% trả lời đúng
AThe web server layer.
BThe application server layer.
CThe database server layer.
DAll of the above
306What is a software design concept?4 lựa chọnDễ
AA graphical or textual description of the software.
BDocumentation of the software.
CA fundamental idea that can be applied to designing a system.
DA systematic approach for producing a design.
Lời giải
Mở trang câu hỏi này →Một khái niệm thiết kế phần mềm là một ý tưởng cơ bản có thể được áp dụng vào thiết kế một hệ thống. Nó là một phần quan trọng trong quy trình thiết kế phần mềm, giúp các nhà phát triển hiểu rõ về yêu cầu và chức năng của hệ thống. Một khái niệm thiết kế phần mềm có thể được biểu diễn dưới dạng mô hình, sơ đồ hoặc tài liệu mô tả. Nó giúp đảm bảo rằng hệ thống được thiết kế một cách hợp lý, hiệu quả và dễ dàng bảo trì. Ví dụ, một khái niệm thiết kế phần mềm có thể là mô hình phân cấp, mô hình hướng đối tượng hoặc mô hình hướng dịch vụ.
ATo avoid coding completely
BTo abstract and manage complexity in large systems
CTo eliminate the need for testing
DTo increase hardware performance
Lời giải
Mở trang câu hỏi này →Sử dụng mô hình hóa trong thiết kế phần mềm là một kỹ thuật quan trọng để giảm thiểu sự phức tạp trong các hệ thống lớn. Mô hình hóa cho phép các nhà phát triển tạo ra các mô hình trừu tượng của hệ thống, giúp họ hiểu rõ hơn về cấu trúc và tương tác của các thành phần khác nhau. Điều này giúp giảm thiểu sự phức tạp và tăng cường khả năng quản lý hệ thống. Ngoài ra, mô hình hóa cũng cho phép các nhà phát triển thử nghiệm và đánh giá các ý tưởng trước khi thực hiện chúng, giúp tiết kiệm thời gian và nguồn lực. Vì vậy, việc sử dụng mô hình hóa trong thiết kế phần mềm là một cách hiệu quả để quản lý và giảm thiểu sự phức tạp trong các hệ thống lớn.
308In UML, what does a package represent?4 lựa chọnTrung bình
AA single class within the system
BA grouping of model elements such as systems or subsystems
CAn individual object instance
DA state in a state machine diagram
Lời giải
Mở trang câu hỏi này →Trong UML, một gói (package) đại diện cho một nhóm các thành phần mô hình như hệ thống hoặc phân hệ. Nó được sử dụng để tổ chức và sắp xếp các thành phần mô hình trong một hệ thống phức tạp. Một gói có thể chứa các lớp, đối tượng, giao diện, hoạt động, trạng thái và các thành phần khác. Mục đích chính của gói là giúp phân loại và sắp xếp các thành phần mô hình một cách có hệ thống, từ đó dễ dàng quản lý và theo dõi hệ thống.
AThe programming language used by the node
BThe type of physical connection, such as «local area network» or «wide area network»
CThe number of instances of a node
DThe security level of the connection
Lời giải
Mở trang câu hỏi này →Trong sơ đồ triển khai, một khái niệm gợi ý về một kết nối thể hiện loại kết nối vật lý, chẳng hạn như «mạng cục bộ» hoặc «mạng diện rộng». Điều này giúp người xem hiểu rõ hơn về cấu trúc và giao tiếp giữa các thành phần trong hệ thống. Ví dụ, nếu có một khái niệm gợi ý về một kết nối mạng cục bộ, thì có thể hiểu rằng các thành phần liên quan sẽ giao tiếp với nhau thông qua mạng cục bộ. Điều này giúp người thiết kế hệ thống có thể xác định rõ hơn về yêu cầu về kết nối và cấu trúc hệ thống.
310In a UML deployment diagram, how is a node typically represented?4 lựa chọnTrung bình67% trả lời đúng
AAs a cube
BAs a rectangle with two vertical lines
CAs a circle
DAs a folder icon
Lời giải
Mở trang câu hỏi này →Trong sơ đồ triển khai UML, một nút thường được đại diện bằng hình dạng nào? Trong sơ đồ triển khai UML, một nút thường được đại diện bằng hình dạng hình hộp (cubic). Hình hộp này thường được sử dụng để thể hiện các nút triển khai, chẳng hạn như máy chủ, máy chủ ảo, máy chủ vật lý, v.v. Hình hộp này thường được sử dụng để thể hiện các nút triển khai, chẳng hạn như máy chủ, máy chủ ảo, máy chủ vật lý, v.v. Nó giúp người xem dễ dàng nhận biết và hiểu được chức năng của từng nút triển khai.
311What is the goal of software verification?4 lựa chọnKhó
ABuilding the system
BBuilding the right system
CBuilding the system right
DTesting the system
Lời giải
Mở trang câu hỏi này →Mục tiêu chính của việc xác minh phần mềm (software verification) là đảm bảo rằng hệ thống phần mềm được xây dựng đúng cách và đáp ứng các yêu cầu chức năng và tính năng mong muốn. Điều này có nghĩa là việc xác minh phần mềm không chỉ tập trung vào việc xây dựng hệ thống phần mềm mà còn quan tâm đến việc đảm bảo rằng hệ thống đó hoạt động chính xác và an toàn. Việc xác minh phần mềm giúp phát hiện và sửa lỗi sớm, giảm thiểu rủi ro và tăng cường độ tin cậy của hệ thống phần mềm. Vì vậy, mục tiêu chính của việc xác minh phần mềm là "Building the system right", tức là xây dựng hệ thống phần mềm đúng cách và đáp ứng các yêu cầu chức năng và tính năng mong muốn.
APhotoshop
BChatGPT
CSQL Developer
DPostman
Lời giải
Mở trang câu hỏi này →Để trả lời câu hỏi này, chúng ta cần hiểu về các công cụ AI và thiết kế mẫu. Thiết kế mẫu là một phần quan trọng trong thiết kế sản phẩm, giúp đảm bảo tính nhất quán và hiệu suất cao. ChatGPT là một công cụ AI được thiết kế để hỗ trợ trong việc tạo ra nội dung và trả lời câu hỏi. Nó có thể được sử dụng để đề xuất các thiết kế mẫu dựa trên các yêu cầu và mục tiêu cụ thể. Điều này làm cho ChatGPT trở thành một lựa chọn phù hợp cho việc đề xuất thiết kế mẫu.
313How is a use case depicted on a use case diagram?4 lựa chọnTrung bình
AAn oval
BA stick figure
CA box
DA dashed line
Lời giải
Mở trang câu hỏi này →Trong sơ đồ trường hợp sử dụng, một trường hợp sử dụng được thể hiện bằng một hình oval. Hình oval này đại diện cho một hành động hoặc một chức năng cụ thể mà hệ thống phải thực hiện. Tên của trường hợp sử dụng thường được viết bên trong hình oval. Ví dụ, nếu một hệ thống cần cho phép người dùng đăng ký tài khoản, trường hợp sử dụng có thể được thể hiện bằng hình oval có tên là 'Đăng ký tài khoản'. Hình oval này sẽ được kết nối với các đối tượng khác trong sơ đồ bằng các đường cong để thể hiện mối quan hệ giữa chúng.
314Which of the following is NOT a phase in the COMET life cycle?4 lựa chọnTrung bình
ARequirements Modeling
BAnalysis Modeling
CDesign Modeling
DMaintenance Modeling
Lời giải
Mở trang câu hỏi này →Trong vòng đời của COMET, có bốn giai đoạn chính: Requirements Modeling (phân tích yêu cầu), Analysis Modeling (phân tích mô hình), Design Modeling (phân thiết kế mô hình). Tuy nhiên, Maintenance Modeling (phân tích bảo trì) không phải là một giai đoạn trong vòng đời của COMET. Thay vào đó, nó thường được xem là một phần của giai đoạn Design Modeling hoặc Analysis Modeling. Vì vậy, Maintenance Modeling không phải là một giai đoạn trong vòng đời của COMET.
ACREATE INDEX
BFOREIGN KEY
CUNIQUE
DCHECK
Lời giải
Mở trang câu hỏi này →Để đảm bảo tính toàn vẹn tham chiếu giữa hai bảng, chúng ta sử dụng câu lệnh SQL "FOREIGN KEY". Câu lệnh này cho phép chúng ta liên kết một cột trong một bảng với một cột trong bảng khác, đảm bảo rằng dữ liệu trong cột đó tồn tại trong bảng liên quan. Điều này giúp ngăn chặn việc xóa hoặc cập nhật dữ liệu trong bảng liên quan mà không ảnh hưởng đến dữ liệu trong bảng chính. FOREIGN KEY cũng giúp duy trì tính nhất quán và bảo mật dữ liệu trong cơ sở dữ liệu.
316Which of the following is NOT a valid use case relationship?4 lựa chọnDễ75% trả lời đúng
A
IncludeB
ExtendC
ExcludeD
GeneralizationLời giải
Mở trang câu hỏi này →Sự tương tác giữa các trường hợp sử dụng hợp lệ là một khái niệm quan trọng trong thiết kế phần mềm. Trong các lựa chọn trên, "Exclude" không phải là một mối quan hệ trường hợp sử dụng hợp lệ. Mối quan hệ "Include" mô tả trường hợp sử dụng A bao gồm trường hợp sử dụng B. Mối quan hệ "Extend" mô tả trường hợp sử dụng A mở rộng trường hợp sử dụng B. Mối quan hệ "Generalization" mô tả trường hợp sử dụng A là một trường hợp đặc biệt của trường hợp sử dụng B. Ngược lại, "Exclude" không phải là một mối quan hệ hợp lệ vì nó không thể mô tả một mối quan hệ giữa các trường hợp sử dụng một cách chính xác.
AReducing hardware requirements
BMinimizing data redundancy and ensuring consistency
CIncreasing programming speed
DEliminating normalization
Lời giải
Mở trang câu hỏi này →Mục tiêu chính của thiết kế cơ sở dữ liệu quan hệ là giảm thiểu trùng lặp dữ liệu và đảm bảo tính nhất quán. Điều này đạt được thông qua các kỹ thuật như phân nhóm dữ liệu, thiết kế bảng và thiết lập mối quan hệ giữa các bảng. Khi dữ liệu được tổ chức một cách hợp lý, việc truy cập và cập nhật dữ liệu trở nên dễ dàng hơn, giảm thiểu khả năng xảy ra lỗi do trùng lặp dữ liệu. Ngoài ra, thiết kế cơ sở dữ liệu quan hệ còn giúp giảm thiểu thời gian và chi phí cần thiết để quản lý và bảo trì dữ liệu.
318Which design pattern ensures that a class has only one instance and provides a global point of access to it?4 lựa chọn
AFactory Method
BSingleton
CPrototype
DBuilder
Lời giải
Mở trang câu hỏi này →Mẫu thiết kế Singleton đảm bảo rằng một lớp chỉ có một phiên bản duy nhất và cung cấp một điểm truy cập toàn cầu đến nó. Mẫu thiết kế này thường được sử dụng khi một lớp cần được sử dụng như một đối tượng toàn cục, và việc tạo ra nhiều phiên bản của nó không cần thiết. Trong thực tế, việc tạo ra nhiều phiên bản của lớp Singleton sẽ dẫn đến lỗi vì nó vi phạm nguyên tắc của mẫu thiết kế này. Mẫu thiết kế Singleton thường được sử dụng trong các ứng dụng cần quản lý tài nguyên toàn cục, chẳng hạn như cơ sở dữ liệu hoặc mạng.
AObtaining access to classes in the external environment
BInformation encapsulation and accessibility
COverall object coordination for the involved items
DPhysical connection to hardware I/O devices
Lời giải
Mở trang câu hỏi này →Trong khuôn khổ của một trường hợp sử dụng, đối tượng điều khiển cung cấp sự điều phối tổng thể cho các đối tượng liên quan. Điều này có nghĩa là đối tượng điều khiển chịu trách nhiệm quản lý và điều phối các giao dịch giữa các đối tượng khác nhau trong hệ thống. Nó giúp đảm bảo rằng các giao dịch được thực hiện một cách có trật tự và hiệu quả. Đối tượng điều khiển cũng có thể cung cấp các dịch vụ khác như quản lý dữ liệu, quản lý trạng thái và quản lý giao tiếp giữa các đối tượng.
320What is a timer object?4 lựa chọnTrung bình
AAn external clock
BAn internal clock
CAn object that is awakened by an external timer
DAn object that interacts with a clock
Lời giải
Mở trang câu hỏi này →Một đối tượng timer là một phần của một chương trình hoặc ứng dụng, có khả năng tự động thực hiện một hành động hoặc một chuỗi hành động sau một khoảng thời gian nhất định. Đối tượng này thường được thiết kế để tương tác với một nguồn thời gian bên ngoài, chẳng hạn như một đồng hồ hệ thống. Khi được kích hoạt, đối tượng timer sẽ tự động thực hiện các hành động đã được lập trình trước đó, chẳng hạn như gửi thông báo, cập nhật dữ liệu hoặc thực hiện một số tác vụ khác. Đối tượng timer thường được sử dụng trong các ứng dụng yêu cầu tính tự động hóa và quản lý thời gian, chẳng hạn như các ứng dụng quản lý thời gian, các ứng dụng nhắc nhở và các ứng dụng tự động hóa.
321What is the role of Interaction Diagrams in UML?4 lựa chọnKhó
AShow interactions among objects over time
BDefine the internal logic of system components
CIllustrate the physical deployment of modules
DSimplify the creation of test cases
Lời giải
Mở trang câu hỏi này →Kết quả tương tác (Interaction Diagrams) trong UML là một công cụ quan trọng để mô tả các tương tác giữa các đối tượng trong hệ thống. Nó cho phép chúng ta xem xét các tương tác này theo thời gian, giúp chúng ta hiểu rõ hơn về cách các đối tượng tương tác với nhau. Kết quả tương tác có thể được sử dụng để mô tả các giao dịch giữa người dùng và hệ thống, cũng như các tương tác giữa các hệ thống khác nhau. Nó giúp chúng ta xác định các yêu cầu chức năng và non-functional của hệ thống, từ đó có thể thiết kế và phát triển hệ thống một cách hiệu quả hơn.
322In Dynamic Interaction Modeling, what role does the 'alt' frame play in a Sequence Diagram?4 lựa chọnKhó
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
Mở trang câu hỏi này →Đá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.
323What is the advantage of hierarchical statecharts over flat statecharts?4 lựa chọnTrung bình
AAvoids dynamic behavior
BFaster processing
CAllows state decomposition for complex systems
DRequires no transitions
Lời giải
Mở trang câu hỏi này →Đá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.
324What does "layered architecture" mean?4 lựa chọnDễ
AOrganizing components into separated levels with specific roles.
BMerging all code into a single-tier application.
CUsing only databases for structure.
DPrioritizing UI design over logic.
Lời giải
Mở trang câu hỏi này →Cấu trúc kiến trúc đa lớp (layered architecture) là một phương pháp tổ chức các thành phần của một hệ thống hoặc ứng dụng thành các mức (layer) riêng biệt, mỗi mức có một vai trò cụ thể. Mục đích của việc này là để phân chia và quản lý các thành phần phức tạp của hệ thống thành các phần nhỏ hơn, dễ dàng quản lý và bảo trì hơn. Mỗi mức trong kiến trúc đa lớp thường có một chức năng cụ thể, chẳng hạn như mức dữ liệu (data layer), mức logic (business logic layer), mức giao diện (presentation layer), v.v. Điều này giúp tăng cường khả năng mở rộng, bảo trì và sửa lỗi của hệ thống.