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
44/436 câuCòn 392
25In a use case diagram, what does an actor represent?4 lựa chọnDễ86% trả lời đúng
AA specific instance of a class in the system
BA software component responsible for data storage
CAn external entity interacting with the system
DA method or function within a class
Lời giải
Mở trang câu hỏi này →Trong sơ đồ trường hợp sử dụng (use case diagram), một diễn viên (actor) đại diện cho một thực thể bên ngoài (external entity) tương tác với hệ thống. Điều này có nghĩa là diễn viên thể hiện một người, tổ chức hoặc hệ thống khác có thể tương tác với hệ thống thông qua giao diện người-máy (human-computer interface). Ví dụ, trong một hệ thống bán hàng trực tuyến, diễn viên có thể đại diện cho khách hàng, nhân viên bán hàng hoặc hệ thống thanh toán. Mục đích của diễn viên là thể hiện cách hệ thống tương tác với các thực thể bên ngoài và cung cấp thông tin về các yêu cầu của hệ thống.
AUsing open access without authentication
BImplementing service-level security mechanisms such as OAuth
CRelying on client-side security only
DAvoiding encryption to reduce overhead
Lời giải
Mở trang câu hỏi này →Trong mô hình SOA (Service-Oriented Architecture), việc bảo mật các dịch vụ là rất quan trọng. Một trong những cách phổ biến để bảo mật các dịch vụ trong SOA là thực hiện các cơ chế bảo mật ở cấp dịch vụ, chẳng hạn như OAuth. OAuth là một phương thức bảo mật dựa trên token, cho phép các dịch vụ chia sẻ dữ liệu với nhau mà không cần phải tiết lộ thông tin đăng nhập của người dùng. Điều này giúp tăng cường bảo mật và giảm thiểu rủi ro bảo mật. Ngoài ra, việc thực hiện các cơ chế bảo mật ở cấp dịch vụ cũng giúp tăng cường tính linh hoạt và khả năng mở rộng của hệ thống.
27**Question 2** What is the role of a service broker in SOA?4 lựa chọnTrung bình67% trả lời đúng
ATo host services
BTo find and connect services
CTo provide user interfaces
DTo manage transactions
Lời giải
Mở trang câu hỏi này →Trong mô hình SOA (Service-Oriented Architecture), một service broker đóng vai trò quan trọng trong việc tìm kiếm và kết nối các dịch vụ. Họ giúp các dịch vụ được đăng ký và tìm kiếm một cách dễ dàng, cho phép các ứng dụng và dịch vụ khác có thể tương tác với nhau. Service broker giống như một thư viện hoặc một kho dữ liệu, nơi mà các dịch vụ được lưu trữ và có thể được truy cập bởi các ứng dụng khác. Họ giúp tăng cường khả năng tương tác và chia sẻ giữa các dịch vụ, từ đó giúp xây dựng các ứng dụng và hệ thống phức tạp hơn.
AA boundary class
BA algorithm class
CA control class
DA data abstraction class
Lời giải
Mở trang câu hỏi này →Một lớp thực thể (entity class) là lớp mô tả một thực thể trong hệ thống. Thực thể có thể là một đối tượng vật chất hoặc một khái niệm trừu tượng. Ví dụ, trong một hệ thống quản lý thư viện, một lớp thực thể có thể mô tả một cuốn sách, một người dùng hoặc một phòng đọc. Lớp thực thể thường bao gồm các thuộc tính và phương thức để mô tả và thao tác với thực thể đó. Trong câu hỏi này, đáp án đúng là "Một lớp trừu tượng dữ liệu" vì nó mô tả một thực thể trong hệ thống và bao gồm các thuộc tính và phương thức để thao tác với thực thể đó.
29**Question 4** In integrating patterns into object models, which artifact typically captures the collaborative behavior among classes?4 lựa chọnTrung bình
AStatechart diagram
BClass diagram
CInteraction diagram
DDeployment diagram
Lời giải
Mở trang câu hỏi này →Khi tích hợp các mẫu (pattern) vào mô hình đối tượng, artifact thường được sử dụng để ghi lại hành vi hợp tác giữa các lớp là Interaction diagram. Interaction diagram mô tả các tương tác giữa các lớp, giúp xác định cách các lớp giao tiếp và tương tác với nhau. Điều này giúp đảm bảo rằng các lớp được thiết kế một cách hợp lý và hiệu quả trong việc thực hiện các nhiệm vụ cụ thể.
ATo model the static structure of a system
BTo represent the flow of data between objects
CTo describe the interactions between objects over time
DTo design database schemas
Lời giải
Mở trang câu hỏi này →Đồ thị chuỗi (Sequence Diagram) 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. Mục đích chính của đồ thị chuỗi là mô tả các giao tiếp giữa các đối tượng trong thời gian thực, bao gồm cả các sự kiện và các luồng dữ liệu. Điều này giúp cho các nhà phát triển hiểu rõ hơn về cách các đối tượng tương tác với nhau và giúp họ thiết kế các hệ thống phức tạp hơn.
AThe fixed, unchangeable components of the system
BThe ability to reuse code across different projects
CThe aspects of the system that can be customized or configured for different products
DThe uniformity of design across all products
ARepresenting the dynamic behavior of a system
BModeling the structure and relationships between system components
CManaging software project timelines and budgets
DTesting and debugging software code
Lời giải
Mở trang câu hỏi này →Trong thiết kế phần mềm, mô hình hóa tĩnh (static modeling) là một kỹ thuật quan trọng giúp xác định cấu trúc và mối quan hệ giữa các thành phần của hệ thống. Mục tiêu chính của mô hình hóa tĩnh là tạo ra một bản đồ logic của hệ thống, thể hiện cách các thành phần tương tác với nhau. Điều này giúp các nhà phát triển phần mềm hiểu rõ về cấu trúc của hệ thống và có thể dự đoán được cách hệ thống sẽ hoạt động. Mô hình hóa tĩnh thường sử dụng các công cụ như UML (Unified Modeling Language) để mô tả các lớp, đối tượng và mối quan hệ giữa chúng. Qua đó, các nhà phát triển có thể xác định các yêu cầu chức năng và kỹ thuật của hệ thống, từ đó xây dựng một hệ thống phần mềm hiệu quả và đáng tin cậy.
AA function
BA class
CA database
DA reusable piece of software
Lời giải
Mở trang câu hỏi này →Trong kiến trúc phần mềm dựa trên các thành phần (Component-Based Software Architecture), một thành phần (Component) được định nghĩa là một phần mềm có thể tái sử dụng, độc lập và 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ơ bản trong kiến trúc phần mềm dựa trên các thành phần, nó có thể được xem là một phần mềm độc lập có thể được sử dụng lại trong nhiều dự án khác nhau. Thành phần thường được xây dựng từ các lớp (Class) và các chức năng (Function) được tổ chức lại để tạo thành một đơn vị có thể tái sử dụng.
AUsing different naming conventions for events and messages.
BAssigning unique names to each state in the statechart.
CNumbering messages and events in the same sequence across both diagrams.
DDefining separate control objects for each diagram.
Lời giải
Mở trang câu hỏi này →Khi mô hình hóa các kịch bản tương tác phụ thuộc vào trạng thái, điều cần thiết là phải đảm bảo sự nhất quán giữa sơ đồ giao tiếp và sơ đồ trạng thái. Điều này có nghĩa là các sự kiện và tin nhắn trong cả hai sơ đồ phải được định nghĩa và sử dụng một cách nhất quán. Số thứ tự của các sự kiện và tin nhắn trong sơ đồ giao tiếp phải trùng khớp với số thứ tự của chúng trong sơ đồ trạng thái. Điều này giúp đảm bảo rằng các sự kiện và tin nhắn được gửi và nhận một cách chính xác và không bị nhầm lẫn. Việc sử dụng số thứ tự đồng nhất cho các sự kiện và tin nhắn trong cả hai sơ đồ giúp tạo ra một mô hình thống nhất và dễ hiểu hơn.
35**Question 10** What does the SPL software architecture describe?4 lựa chọnTrung bình
AThe software inside a family of buildings
BThe structure of a client/server product family
CThe overall structure of the software productline
DThe software product line classes and their relationships
Lời giải
Mở trang câu hỏi này →SPL (Software Product Line) là một phương pháp thiết kế phần mềm giúp tạo ra một dòng sản phẩm phần mềm có tính linh hoạt và có thể đáp ứng được các yêu cầu khác nhau của khách hàng. SPL software architecture mô tả cấu trúc tổng thể của một dòng sản phẩm phần mềm, bao gồm các thành phần, mối quan hệ và quy trình thiết kế. Nó giúp các nhà phát triển tạo ra một nền tảng phần mềm chung có thể được sử dụng để tạo ra các sản phẩm phần mềm khác nhau. Cấu trúc này giúp giảm thiểu chi phí và thời gian phát triển, đồng thời tăng cường tính linh hoạt và khả năng thích nghi của sản phẩm phần mềm.
AObjects that are associated with each other
BObjects that are part of the same composite object
CObjects in geographically different locations
DObjects that serve different purposes
Lời giải
Mở trang câu hỏi này →Khi phân chia hệ thống thành các phân hệ (subsystem), chúng ta cần xem xét các đối tượng có liên quan đến nhau và đặt chúng vào cùng một phân hệ. Điều này giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt của hệ thống. Đối tượng được đặt trong cùng một phân hệ thường là những đối tượng có mối quan hệ chặt chẽ với nhau, chẳng hạn như các thành phần của một đối tượng phức tạp (composite object). Ví dụ, trong một hệ thống quản lý thư viện, các đối tượng như sách, người mượn và phòng đọc có thể được đặt trong cùng một phân hệ vì chúng đều liên quan đến hoạt động mượn sách. Tuy nhiên, đối tượng được đặt trong cùng một phân hệ không nhất thiết phải nằm trong cùng một địa điểm địa lý.
37**Question 12** What is an optional use case in SPL?4 lựa chọnKhó
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 an 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 trong SPL là trường hợp sử dụng có một số bước tùy chọn. Trong đó, một số bước trong trường hợp sử dụng có thể được thực hiện hoặc không được thực hiện tùy thuộc vào yêu cầu của sản phẩm. Ví dụ, một sản phẩm có thể yêu cầu việc gửi email xác nhận sau khi đăng ký, nhưng một sản phẩm khác có thể không yêu cầu điều này. Trường hợp sử dụng tùy chọn là một phần quan trọng trong việc phát triển sản phẩm linh hoạt và đáp ứng được nhu cầu của khách hàng.
AA class can contain implementations of methods, while an interface cannot
BAn interface can be instantiated, while a class cannot
CA class cannot be extended, while an interface can
DA class only contains method declarations, while an interface contains method implementations
Lời giải
Mở trang câu hỏi này →Khái niệm lớp (class) và giao diện (interface) là hai khái niệm cơ bản trong lập trình hướng đối tượng. Lớp là một bản mô tả về một đối tượng trong chương trình, bao gồm các thuộc tính và hành vi của đối tượng đó. Giao diện là một bản mô tả về một tập hợp các phương thức mà một đối tượng phải thực hiện. Sự khác biệt chính giữa lớp và giao diện là lớp có thể chứa các thực hiện (implementations) của các phương thức, trong khi giao diện không thể chứa các thực hiện này. Thay vào đó, giao diện chỉ chứa các khai báo (declarations) của các phương thức mà một đối tượng phải thực hiện.
39**Question 14** A user interface subsystem is a type of:4 lựa chọnTrung bình
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 điều khiển, nơi người dùng tương tác với hệ thống. Nó cung cấp giao diện người dùng để nhập dữ liệu, hiển thị thông tin và thực hiện các hành động. Hệ thống giao diện người dùng thường bao gồm các thành phần như giao diện đồ họa, giao diện dòng lệnh và giao diện người dùng khác. Nó giúp người dùng tương tác dễ dàng và hiệu quả với hệ thống.
40**Question 15** Which of the following is true for a Hierarchical Control architectural pattern?4 lựa chọnDễ100% trả lời đúng
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 →Mô hình kiến trúc Hierarchical Control là một trong những mô hình kiến trúc điều khiển phức tạp. Nó được sử dụng khi hệ thống cần điều khiển nhiều thiết bị hoặc hệ thống con. Trong mô hình này, hệ thống điều khiển được chia thành các thành phần điều khiển khác nhau, mỗi thành phần điều khiển chịu trách nhiệm điều khiển một phần của hệ thống. Điều này giúp giảm thiểu độ phức tạp và tăng cường khả năng mở rộng của hệ thống. Mô hình Hierarchical Control cũng cung cấp khả năng điều khiển tổng thể bằng cách phối hợp các thành phần điều khiển khác nhau. Điều này cho phép hệ thống điều khiển được linh hoạt và dễ dàng điều chỉnh.
41**Question 16** What is a database wrapper class?4 lựa chọnDễ
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 trong lập trình hướng đối tượng (OOP) được thiết kế để ẩn đi chi tiết cụ thể về cách truy cập dữ liệu trong cơ sở dữ liệu. Lớp này thường được sử dụng để tạo ra một giao diện đơn giản và dễ sử dụng để truy cập dữ liệu trong cơ sở dữ liệu, giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt. Lớp bọc cơ sở dữ liệu thường bao gồm các phương thức để thực hiện các hoạt động như thêm, sửa, xóa và truy vấn dữ liệu trong cơ sở dữ liệu. Điều này giúp cho các lập trình viên có thể tập trung vào việc phát triển ứng dụng mà không cần phải lo lắng về chi tiết cụ thể về cách truy cập dữ liệu trong cơ sở dữ liệu.
42**Question 17** What is the primary goal of Component-Based Software Architecture (CBSA)?4 lựa chọnDễ
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 điều kiện cho việc tái sử dụng các thành phần phần mềm, giúp giảm thiểu thời gian và chi phí phát triển phần mềm. Khi sử dụng CBSA, các nhà phát triển có thể tạo ra các ứng dụng phần mềm phức tạp bằng cách kết hợp các thành phần phần mềm độc lập, từ đó tăng cường tính linh hoạt và khả năng mở rộng của phần mềm. Điều này giúp các tổ chức có thể nhanh chóng đáp ứng nhu cầu của khách hàng và cạnh tranh trên thị trường.
AKernel and optional stereotypes
BOptional and variant stereotypes
CCommon and variant stereotypes
DReuse and application role stereotypes
Lời giải
Mở trang câu hỏi này →Trong mô hình hóa các lớp SPL (Software Product Lines), có hai loại khái niệm gợi ý được sử dụng. Đó là khái niệm gợi ý tái sử dụng và khái niệm gợi ý vai trò ứng dụng. Khái niệm gợi ý tái sử dụng thường được sử dụng để mô tả các đặc điểm chung của một sản phẩm phần mềm, trong khi khái niệm gợi ý vai trò ứng dụng được sử dụng để mô tả các đặc điểm cụ thể của một sản phẩm phần mềm cụ thể. Ví dụ, khái niệm gợi ý tái sử dụng có thể được sử dụng để mô tả các đặc điểm chung của một hệ thống quản lý sản xuất, trong khi khái niệm gợi ý vai trò ứng dụng có thể được sử dụng để mô tả các đặc điểm cụ thể của một hệ thống quản lý sản xuất cho một công ty cụ thể.
ASubclass inherits attributes from superclass.
BSubclass inherits operations from superclass.
CSubclass redefines attributes inherited from superclass.
DSubclass redefines operations inherited from superclass.
Lời giải
Mở trang câu hỏi này →Trong kế thừa, các thuộc tính và phương thức của lớp cha được truyền xuống lớp con. Tuy nhiên, có một số hạn chế trong quá trình này. Lớp con có thể kế thừa các thuộc tính và phương thức từ lớp cha, nhưng không được phép thay đổi giá trị của các thuộc tính này. Điều này có nghĩa là lớp con không thể redefinie (thay đổi định nghĩa) các thuộc tính đã được kế thừa từ lớp cha. Tuy nhiên, lớp con có thể redefinie các phương thức đã được kế thừa từ lớp cha. Điều này cho phép lớp con có thể thực hiện các hành động khác nhau so với lớp cha. Vì vậy, câu trả lời đúng cho câu hỏi này là "Subclass redefines attributes inherited from superclass."