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
344/436 câuCòn 92
325What is a dynamic view of a software architecture?4 lựa chọnTrung bình67% trả lời đúng
AA view in terms of a module hierarchy
BA view in terms of components and connectors
CA view of the physical configuration in terms of nodes and interconnections
DA view in terms of objects and messages
Lời giải
Mở trang câu hỏi này →Một quan điểm động về kiến trúc phần mềm là cách nhìn tổng quan về hệ thống phần mềm mà tập trung vào các đối tượng và các thông điệp được trao đổi giữa chúng. Quan điểm này cho phép phân tích và mô hình hóa các tương tác giữa các thành phần phần mềm, từ đó giúp hiểu rõ hơn về cách hệ thống hoạt động và cách các thành phần tương tác với nhau. Quan điểm động về kiến trúc phần mềm thường được sử dụng trong các hệ thống phân tán và các hệ thống phức tạp, nơi mà các thành phần phần mềm được phân bố trên nhiều nút và cần được quản lý và phối hợp một cách hiệu quả.
326What is the significance of asynchronous messaging in architectural communication patterns?4 lựa chọn
AEnables non-blocking communication between system components
BCentralizes all communication in one server
CSimplifies use case diagrams
DEliminates state transition modeling
Lời giải
Mở trang câu hỏi này →Asynchronous messaging trong các mẫu giao tiếp kiến trúc có ý nghĩa quan trọng. Nó cho phép các thành phần của hệ thống giao tiếp không chặn, giúp tăng hiệu suất và giảm độ phức tạp. Khi sử dụng asynchronous messaging, các hệ thống có thể xử lý các yêu cầu độc lập mà không cần chờ đợi kết quả của yêu cầu trước đó. Điều này đặc biệt hữu ích trong các hệ thống phân tán hoặc có yêu cầu xử lý cao. Ngoài ra, asynchronous messaging cũng giúp giảm thiểu lỗi và tăng độ tin cậy của hệ thống.
327What does it mean to communicate messages in both directions?4 lựa chọnKhó
ACommunication where only one subsystem sends messages to another subsystem
BCommunication where both subsystems can send messages to each other
CCommunication where messages are sent asynchronously
DCommunication where messages contain reply content
Lời giải
Mở trang câu hỏi này →Khi nói đến việc truyền tin hai chiều, nó có nghĩa là cả hai hệ thống có thể gửi và nhận thông tin với nhau. Điều này cho phép chúng trao đổi thông tin một cách hiệu quả và đồng bộ. Ví dụ, trong một hệ thống giao tiếp giữa người và máy, người có thể gửi yêu cầu và máy có thể trả lời. Ngược lại, máy cũng có thể gửi thông tin đến người để yêu cầu phản hồi. Truyền tin hai chiều là một tính năng quan trọng trong nhiều hệ thống, giúp đảm bảo rằng thông tin được truyền đạt một cách chính xác và kịp thời.
AFactory Pattern
BSingleton Pattern
CStrategy Pattern
DAbstract Factory Pattern
Lời giải
Mở trang câu hỏi này →Mẫu thiết kế tập trung vào việc gắn kết các lớp động tại thời gian chạy là Mẫu thiết kế Chiến lược (Strategy Pattern). Mẫu thiết kế này cho phép bạn chọn một lớp cụ thể để thực hiện một hành động hoặc chức năng cụ thể, mà không cần phải thay đổi mã nguồn. Điều này giúp tăng tính linh hoạt và khả năng mở rộng của hệ thống. Mẫu thiết kế Chiến lược thường được sử dụng trong các tình huống khi bạn cần có thể thay đổi hành vi của một đối tượng dựa trên các điều kiện hoặc yêu cầu khác nhau. Ví dụ, bạn có thể sử dụng mẫu thiết kế này để chọn một phương thức thanh toán khác nhau cho một giao dịch thương mại điện tử.
329Which of the following best describes the information hiding concept in software design?4 lựa chọn
AA class exposes all its data structures to allow flexibility in communication.
BA class hides certain details, such as a data structure, internally and keeps them inaccessible to the rest of the system.
CA class combines its interface and implementation to simplify design.
DA class prioritizes synchronous communication between objects.
Lời giải
Mở trang câu hỏi này →Thông tin giấu (Information Hiding) là một khái niệm quan trọng trong thiết kế phần mềm. Nó cho phép một lớp (class) giấu đi một số chi tiết nội bộ, chẳng hạn như cấu trúc dữ liệu, và chỉ cho phép truy cập thông qua giao diện (interface) được xác định. Điều này giúp giảm thiểu sự phụ thuộc giữa các lớp và tăng cường tính bảo mật. Thông tin giấu giúp ngăn chặn việc truy cập trực tiếp vào dữ liệu nội bộ của một lớp, từ đó giảm thiểu khả năng xảy ra lỗi và tăng cường tính ổn định của hệ thống. Nó cũng giúp giảm thiểu sự phức tạp trong thiết kế và phát triển phần mềm.
330In the refinement of the design process, which activity focuses on enhancing the reusability of components?4 lựa chọnTrung bình
AInitial requirements capture
BClass library organization
CDeployment configuration
DInterface design
Lời giải
Mở trang câu hỏi này →Trong quá trình tinh chỉnh quy trình thiết kế, hoạt động nào tập trung vào việc nâng cao tính tái sử dụng của các thành phần? Tính tái sử dụng là khả năng sử dụng lại các thành phần đã được thiết kế và phát triển trước đó trong các dự án khác nhau. Điều này giúp giảm thiểu thời gian và chi phí phát triển, cũng như cải thiện chất lượng của sản phẩm cuối cùng. Class library organization là hoạt động tập trung vào việc tổ chức và quản lý thư viện lớp, giúp các thành phần được thiết kế và phát triển trước đó có thể được tái sử dụng một cách hiệu quả.
331What is a database wrapper class?4 lựa chọnDễ100% trả lời đúng
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ở trang câu hỏi này →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.
332What is a service-oriented architecture (SOA)?4 lựa chọnTrung bình
AA distributed software architecture consisting of multiple related services
BA distributed software architecture consisting of multiple autonomous services
CA distributed client/service architecture
DA distributed software architecture
Lời giải
Mở trang câu hỏi này →SOA (Kiến trúc dịch vụ) là một mô hình kiến trúc phần mềm phân tán, bao gồm nhiều dịch vụ độc lập và tự chủ. Mỗi dịch vụ có thể được triển khai độc lập và có thể được sử dụng bởi nhiều ứng dụng khác nhau. SOA cho phép các ứng dụng giao tiếp với nhau thông qua các giao thức và chuẩn hóa, giúp tăng cường khả năng tương tác và giảm thiểu sự phụ thuộc giữa các ứng dụng. Điều này giúp các tổ chức có thể dễ dàng thay đổi và mở rộng hệ thống của mình mà không cần phải thay đổi toàn bộ hệ thống.
AUsing only direct REST calls between services.
BVia service bus as an integration hub.
CBy shared database triggers.
DBy UI polling only.
Lời giải
Mở trang câu hỏi này →SOA (Service-Oriented Architecture) là một phương pháp thiết kế hệ thống dựa trên các dịch vụ. Để phối hợp giao tiếp giữa các dịch vụ, SOA sử dụng một số phương pháp khác nhau. Một trong những phương pháp phổ biến nhất là sử dụng dịch vụ bus (service bus) như một trung tâm tích hợp. Dịch vụ bus là một hệ thống trung gian giúp các dịch vụ giao tiếp với nhau một cách hiệu quả và linh hoạt. Nó cho phép các dịch vụ gửi và nhận thông tin một cách độc lập mà không cần phải biết chi tiết về các dịch vụ khác. Điều này giúp tăng cường khả năng mở rộng, độ tin cậy và bảo mật của hệ thống. Ngoài ra, dịch vụ bus cũng giúp giảm thiểu sự phụ thuộc giữa các dịch vụ và tăng cường khả năng thích nghi với thay đổi.
334What does a component interface consist of?4 lựa chọn
AThe operations provided by a function
BThe externally visible operations of a component
CThe operations that a component supports
DThe operations required by a method
Lời giải
Mở trang câu hỏi này →Một giao diện của một thành phần (component interface) bao gồm các phương thức (operation) mà thành phần đó cung cấp cho bên ngoài để tương tác. Nó là tập hợp các phương thức mà thành phần đó hỗ trợ và cho phép bên ngoài sử dụng. Giao diện của một thành phần thường được định nghĩa bằng cách liệt kê các phương thức mà thành phần đó cung cấp, bao gồm cả các phương thức nhập và xuất dữ liệu. Điều này giúp cho các thành phần khác có thể tương tác với nhau một cách dễ dàng và thống nhất. Ví dụ, một giao diện của một thành phần có thể bao gồm các phương thức như 'tạo mới', 'xóa', 'cập nhật', 'lấy dữ liệu', v.v. Mục đích của giao diện là cung cấp một cách thức thống nhất để các thành phần khác nhau có thể tương tác với nhau.
AExternal event
BInternal event
CTimer event
DUser event
Lời giải
Mở trang câu hỏi này →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.
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.
337What is an optional use case?4 lựa chọnDễ100% trả lời đúng
AA use case with some optional steps
BA use case that does not need to be developed
CA use case that is required by some product line members but not others
DA use case that can be chosen in place of a different use case in a SPL member
Lời giải
Mở trang câu hỏi này →Một trường hợp sử dụng tùy chọn là một trường hợp sử dụng có một số bước tùy chọn. Điều này có nghĩa là trong một số trường hợp, bước đó có thể được bỏ qua mà không ảnh hưởng đến chức năng chung của hệ thống. Ví dụ, trong một hệ thống quản lý thư viện, trường hợp sử dụng 'Mượn sách' có thể có bước 'Kiểm tra tình trạng sách' là tùy chọn, vì không phải lúc nào cũng cần phải kiểm tra tình trạng sách trước khi mượn. Trường hợp sử dụng tùy chọn thường được sử dụng trong các hệ thống phức tạp có nhiều tính năng và chức năng khác nhau.
338What is the purpose of "product line engineering"?4 lựa chọnDễ
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.
339Which software quality attribute focuses on the ease of correcting faults and modifying the system after deployment?4 lựa chọnDễ
A
ScalabilityB
MaintainabilityC
PerformanceD
SecurityLời giải
Mở trang câu hỏi này →Tính chất chất lượng phần mềm mà tập trung vào sự dễ dàng trong việc sửa lỗi và thay đổi hệ thống sau khi triển khai là Maintainability. Maintainability cho phép các nhà phát triển dễ dàng sửa lỗi, cập nhật và cải thiện hệ thống mà không cần phải thay đổi toàn bộ hệ thống. Điều này giúp giảm thiểu thời gian và chi phí cần thiết để sửa lỗi và cải thiện hệ thống. Maintainability cũng giúp đảm bảo rằng hệ thống luôn được cập nhật và cải thiện để đáp ứng nhu cầu của người dùng.
AScalability
BMaintainability
CDesign pattern
DAvailability
Lời giải
Mở trang câu hỏi này →Mỗi lựa chọn đều có liên quan đến phần mềm, nhưng một trong số đó không được coi là thuộc tính chất lượng kiến trúc phần mềm. 'Scalability' và 'Maintainability' là thuộc tính chất lượng kiến trúc phần mềm, giúp phần mềm có thể mở rộng và dễ dàng bảo trì. 'Availability' cũng là một thuộc tính chất lượng kiến trúc phần mềm, đảm bảo phần mềm luôn sẵn sàng sử dụng. 'Design pattern' không phải là thuộc tính chất lượng kiến trúc phần mềm, mà là một mô hình thiết kế được sử dụng để giải quyết các vấn đề chung trong thiết kế phần mềm.
A
TestabilityB
ScalabilityC
AvailabilityD
SecurityLời giải
Mở trang câu hỏi này →Tính chất đảm bảo rằng hệ thống có thể xử lý được tải tăng mà không bị suy giảm hiệu suất đáng kể. Ví dụ, một trang web có thể xử lý được số lượng người dùng tăng mà không bị chậm lại. Tính chất này rất quan trọng trong việc đảm bảo rằng hệ thống có thể đáp ứng được nhu cầu của người dùng khi hệ thống phát triển.
342What is the significance of using state-dependent dynamic interaction models?4 lựa chọnDễ75% trả lời đúng
ACaptures system behavior under different runtime scenarios
BReduces complexity in client-server architectures
CEliminates the need for sequence diagrams
DAutomates testing frameworks
Lời giải
Mở trang câu hỏi này →Các mô hình tương tác động động phụ thuộc vào trạng thái được sử dụng để mô tả và phân tích hành vi của hệ thống trong các kịch bản thực thi khác nhau. Điều này cho phép các nhà phát triển và nhà phân tích hiểu rõ hơn về cách hệ thống phản ứng với các sự kiện và thay đổi trong thời gian chạy. Mô hình này đặc biệt hữu ích trong việc mô tả và phân tích các hệ thống phức tạp, chẳng hạn như các hệ thống phân tán hoặc các hệ thống dựa trên dịch vụ.
343What is the primary goal of Component-Based Software Architecture (CBSA)?4 lựa chọnDễ100% trả lời đúng
ATo create monolithic applications
BTo enable reuse of software components
CTo improve hardware efficiency
DTo simplify the user interface design
Lời giải
Mở trang câu hỏi này →CBSA (Component-Based Software Architecture) là một phương pháp thiết kế phần mềm tập trung vào việc xây dựng các thành phần phần mềm độc lập và có thể tái sử dụng. Mục tiêu chính của CBSA là tạo ra các ứng dụng phần mềm có thể được xây dựng từ các thành phần phần mềm đã tồn tại, giúp giảm thiểu thời gian và chi phí phát triển phần mềm. Điều này đạt được thông qua việc tạo ra các thành phần phần mềm có thể được tái sử dụng trong nhiều ứng dụng khác nhau, giúp tăng cường tính linh hoạt và khả năng mở rộng của phần mềm. Ngoài ra, CBSA cũng giúp cải thiện tính bảo trì và sửa lỗi của phần mềm, vì các thành phần phần mềm độc lập có thể được sửa lỗi và cập nhật độc lập.
344A user interface subsystem is a type of:4 lựa chọnTrung bình67% trả lời đúng
AControl subsystem
BService subsystem
CClient subsystem
DI/O subsystem
Lời giải
Mở trang câu hỏi này →Một hệ thống giao diện người dùng (User Interface Subsystem) là một loại hệ thống phụ trách việc tương tác giữa người dùng và máy tính. Nó bao gồm các thành phần như giao diện đồ họa, nhập liệu và xuất liệu. Hệ thống này giúp người dùng tương tác với máy tính một cách dễ dàng và hiệu quả. Nó giống như một trung gian giữa người dùng và máy tính, giúp người dùng đưa ra yêu cầu và máy tính thực hiện yêu cầu đó. Ví dụ, khi người dùng nhập một lệnh vào giao diện đồ họa, hệ thống giao diện người dùng sẽ chuyển lệnh đó sang máy tính và máy tính sẽ thực hiện lệnh đó. Hệ thống giao diện người dùng rất quan trọng trong việc tạo ra một trải nghiệm người dùng tốt.