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
204/436 câuCòn 232
185Which of the following is unlikely to be a graphical user interface class?4 lựa chọnDễ100% trả lời đúng
AA menu
BA window
CA button
DA pin
Lời giải
Mở trang câu hỏi này →Các lớp giao diện người dùng đồ họa thường bao gồm các thành phần như menu, cửa sổ, nút bấm, v.v. Tuy nhiên, 'A pin' không phải là một thành phần giao diện người dùng đồ họa điển hình. Một 'A pin' thường được hiểu là một vật thể nhỏ được sử dụng để giữ hoặc cố định một vật thể khác, chẳng hạn như một bản đồ hoặc một bức ảnh. Vì vậy, 'A pin' không phải là một lớp giao diện người dùng đồ họa.
186What is described using a use case model?4 lựa chọnDễ100% trả lời đúng
AObject layout
BFunctional behavior of the system
CDatabase structure
DComponent dependencies
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Mô hình use case mô tả hành vi chức năng của hệ thống nhìn từ bên ngoài: các tác nhân là ai, họ cần hệ thống làm gì, và mỗi chức năng đem lại giá trị gì cho họ. Đây là mô hình của pha đặc tả yêu cầu, cố tình không nói tới cách hiện thực.
A sai vì bố cục đối tượng thuộc mô hình tĩnh (sơ đồ lớp). C sai vì cấu trúc cơ sở dữ liệu là quyết định ở pha thiết kế, xuất hiện sau và không thuộc mô hình use case. D sai vì phụ thuộc giữa các thành phần được thể hiện bằng sơ đồ thành phần.
187What does the Waterfall model emphasize?4 lựa chọnDễ
AIterative development
BParallel testing
CSequential execution of phases
DRapid delivery of software
Lời giải
Mở trang câu hỏi này →Mô hình thác nước (Waterfall model) là một phương pháp phát triển phần mềm truyền thống. Nó nhấn mạnh vào việc thực hiện các giai đoạn phát triển theo thứ tự tuần tự, mỗi giai đoạn phải hoàn thành trước khi chuyển sang giai đoạn tiếp theo. Điều này có nghĩa là các giai đoạn như lập kế hoạch, thiết kế, triển khai, kiểm thử và bảo trì sẽ được thực hiện theo thứ tự này. Mô hình thác nước không cho phép các thay đổi trong các giai đoạn đã hoàn thành, vì vậy nó đòi hỏi sự chính xác và hoàn hảo trong từng giai đoạn. Mặc dù mô hình thác nước đã lỗi thời, nhưng nó vẫn được sử dụng trong một số trường hợp cụ thể, chẳng hạn như các dự án phần mềm có yêu cầu nghiêm ngặt về bảo mật và tính ổn định.
188Which of the following statements regarding Server Software Architectures is NOT true?4 lựa chọnTrung bình57% trả lời đúng
AServer is a requester of services
BServer is a provider of services
CA software system that provides one or more services for multiple clients
DA hardware system that provides one or more services for multiple clients
Lời giải
Mở trang câu hỏi này →Câu hỏi này yêu cầu bạn xác định phát biểu nào không đúng về kiến trúc phần mềm máy chủ. Các lựa chọn bao gồm: máy chủ là người yêu cầu dịch vụ, máy chủ là người cung cấp dịch vụ, một hệ thống phần mềm cung cấp một hoặc nhiều dịch vụ cho nhiều khách hàng, một hệ thống phần cứng cung cấp một hoặc nhiều dịch vụ cho nhiều khách hàng. Câu trả lời đúng là 'Máy chủ là người yêu cầu dịch vụ'. Vì máy chủ thực sự là người cung cấp dịch vụ cho các khách hàng, trong khi người yêu cầu dịch vụ là người sử dụng dịch vụ mà máy chủ cung cấp.
189How would you determine a boundary class from the context diagram?4 lựa chọnTrung bình
ABy looking at it
BBy selecting the external classes on the context diagram
CBy determining the software classes that communicate with the external classes
DBy drawing the boundary between the hardware and software classes
Lời giải
Mở trang câu hỏi này →Để xác định một lớp biên (boundary class) từ sơ đồ ngữ cảnh, bạn cần xem xét các lớp giao tiếp với các lớp bên ngoài. Các lớp biên thường là các lớp giao tiếp với các lớp bên ngoài, chẳng hạn như các lớp giao tiếp với người dùng, các lớp giao tiếp với cơ sở dữ liệu, v.v. Khi xem xét sơ đồ ngữ cảnh, bạn cần tìm kiếm các lớp giao tiếp với các lớp bên ngoài và xác định chúng là các lớp biên. Điều này giúp bạn hiểu rõ hơn về các lớp giao tiếp và các mối quan hệ giữa chúng.
190What is the primary purpose of Deployment Diagrams in software architecture?4 lựa chọnDễ100% trả lời đúng
AIllustrate the physical distribution of software components
BSimplify data modeling
CAutomate network configurations
DReduce system complexity
Lời giải
Mở trang câu hỏi này →Deployment Diagrams trong kiến trúc phần mềm là một công cụ quan trọng để mô tả và minh họa cấu trúc phân phối vật lý của các thành phần phần mềm. Mục đích chính của Deployment Diagrams là thể hiện cách các thành phần phần mềm được triển khai và phân phối trên các hệ thống và thiết bị khác nhau. Điều này giúp các nhà phát triển phần mềm hiểu rõ hơn về cấu trúc và tổ chức của hệ thống phần mềm, từ đó có thể dễ dàng quản lý và bảo trì hệ thống. Deployment Diagrams cũng giúp các nhà phát triển phần mềm xác định và giải quyết các vấn đề liên quan đến phân phối và triển khai phần mềm, chẳng hạn như vấn đề về hiệu suất, bảo mật và khả năng mở rộng.
191What kind of object would be the first object to receive an input from an external object?4 lựa chọnTrung bình60% trả lời đúng
AA user interaction object
BA proxy object
CAn entity object
DA boundary object
192What is carried out during incremental software construction?4 lựa chọnTrung bình
ADetailed design and coding of the classes in a subset of the system
BDetailed design, coding, and unit testing of the classes in a subset of the system
CCoding and unit testing of the classes in a subset of the system
DUnit and integration testing of the classes in a subset of the system
Lời giải
Mở trang câu hỏi này →Incremental software construction là một phương pháp xây dựng phần mềm, trong đó phần mềm được xây dựng theo từng bước nhỏ, từng phần. Mỗi bước nhỏ này được gọi là một "increment". Trong mỗi increment, các nhà phát triển sẽ thực hiện các công việc sau: thiết kế chi tiết, viết mã nguồn (coding) và kiểm tra đơn vị (unit testing) cho một phần nhỏ của hệ thống. Điều này giúp đảm bảo rằng mỗi phần nhỏ của hệ thống đều hoạt động đúng và có thể được tích hợp vào hệ thống lớn hơn một cách dễ dàng. Incremental software construction giúp giảm thiểu rủi ro và tăng cường hiệu suất trong quá trình phát triển phần mềm.
193What is the interface of a class?4 lựa chọnDễ100% trả lời đúng
AThe signature of a class
BThe specification of operations provided by the class
CThe internals of the class
DThe implementation of the class
Lời giải
Mở trang câu hỏi này →Interface của một lớp trong lập trình là tập hợp các phương thức và thuộc tính được định nghĩa để cung cấp cho người sử dụng. Nó mô tả các chức năng và hành vi mà lớp đó có thể thực hiện. Interface giúp định nghĩa rõ ràng các yêu cầu và giới hạn của lớp, từ đó giúp các nhà phát triển khác hiểu rõ cách sử dụng và tương tác với lớp đó. Ví dụ, nếu một lớp có interface là 'Lớp có thể tạo ra một đối tượng mới', thì lớp đó phải cung cấp phương thức tạo ra đối tượng mới. Interface giúp tăng cường tính linh hoạt và tái sử dụng của mã nguồn, đồng thời giúp giảm thiểu sự phức tạp và lỗi trong quá trình phát triển phần mềm.
194With polymorphism and dynamic binding, an object can:4 lựa chọnTrung bình60% trả lời đúng
AInvoke operation of different names on the same objects.
BInvoke operations of different names on different objects.
CInvoke an operation of the same name on the same object.
DInvoke an operation of the same name on different objects.
Lời giải
Mở trang câu hỏi này →Polymorphism và động kết hợp (dynamic binding) cho phép một đối tượng thực hiện các hành động khác nhau dựa trên loại của nó. Điều này có nghĩa là một đối tượng có thể thực hiện các phương thức khác nhau mặc dù nó được gọi bằng cùng một tên. Ví dụ, nếu bạn có một lớp Animal và một lớp Dog kế thừa từ Animal, bạn có thể tạo một đối tượng Dog và gọi phương thức bark() mà không cần phải biết rằng đối tượng đó là một Dog. Điều này cho phép bạn viết mã linh hoạt hơn và dễ dàng thêm mới các lớp con mà không cần phải thay đổi mã hiện có.
195Which of the following is an entity class?4 lựa chọnTrung bình60% trả lời đúng
AAn information hiding class
BA subclass
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 có chứa dữ liệu và phương thức liên quan đến dữ liệu đó. Nó là một phần quan trọng trong lập trình hướng đối tượng, giúp cô lập dữ liệu và phương thức, tạo điều kiện thuận lợi cho việc tái sử dụng và mở rộng mã nguồn. Ví dụ, lớp 'Khách hàng' có thể có các thuộc tính như 'tên', 'địa chỉ', 'số điện thoại' và các phương thức như 'thêm khách hàng', 'xóa khách hàng', 'cập nhật thông tin khách hàng'.
196What is an integrated communication diagram?4 lựa chọnDễ
AA communication diagram formed by combining objects
BA synthesis of all the communication diagrams developed to support the use cases
CA communication diagram depicting the objects that realize a use case
DA communication diagram that integrates the entity objects from the static model
Lời giải
Mở trang câu hỏi này →Sơ đồ truyền thông tích hợp là một loại sơ đồ truyền thông được tạo ra bằng cách kết hợp các đối tượng, nhưng nó không chỉ đơn giản là một sơ đồ truyền thông được tạo ra bằng cách kết hợp các đối tượng. Thay vào đó, nó là một tổng hợp của tất cả các sơ đồ truyền thông được phát triển để hỗ trợ các trường hợp sử dụng. Sơ đồ truyền thông tích hợp cung cấp một cái nhìn tổng quan về các đối tượng và mối quan hệ giữa chúng trong hệ thống, giúp 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 để đạt được các trường hợp sử dụng.
197Which of the following architectural styles organizes the system into presentation, business logic, and data layers?4 lựa chọnTrung bình
AClient-Server
BLayered Architecture
CService-Oriented Architecture
DRepository
Lời giải
Mở trang câu hỏi này →Câu hỏi này hỏi về kiểu kiến trúc nào tổ chức hệ thống thành các lớp trình bày, logic kinh doanh và dữ liệu. Kiểu kiến trúc được đề cập trong câu hỏi là Layered Architecture. Kiểu kiến trúc này chia hệ thống thành các lớp riêng biệt, mỗi lớp có một chức năng cụ thể. Lớp trình bày chịu trách nhiệm xử lý các yêu cầu từ người dùng, lớp logic kinh doanh thực hiện các quy trình kinh doanh và lớp dữ liệu quản lý dữ liệu của hệ thống. Kiểu kiến trúc này giúp hệ thống trở nên linh hoạt, dễ dàng bảo trì và mở rộng.
198Which kind of object executes a state machine?4 lựa chọnDễ100% trả lời đúng
AAny software object
BAn entity object
CA state-dependent control object
DA state chart
Lời giải
Mở trang câu hỏi này →Một trạng thái máy là một mô hình toán học được sử dụng để mô tả các trạng thái và hành vi của một hệ thống. Để thực hiện một trạng thái máy, chúng ta cần một đối tượng có khả năng thay đổi trạng thái và thực hiện hành vi tương ứng. Đối tượng này được gọi là đối tượng phụ thuộc vào trạng thái. Đối tượng này có thể là một lớp, một đối tượng hoặc một module trong một chương trình. Nó có khả năng lưu trữ trạng thái hiện tại và thực hiện hành vi dựa trên trạng thái đó. Ví dụ, trong một trò chơi video, đối tượng phụ thuộc vào trạng thái có thể là một nhân vật, nó có thể thay đổi trạng thái từ "đang chạy" sang "đang dừng" và thực hiện hành vi tương ứng.
AControl subsystem
BUser interaction subsystem
CService subsystem
DI/O subsystem
Lời giải
Mở trang câu hỏi này →Trong hệ thống máy tính, các subsystem được phân loại thành hai loại chính: client và server. Subsystem client là phần mềm hoặc phần cứng chịu trách nhiệm yêu cầu dịch vụ từ subsystem server. Dưới đây là một số ví dụ về subsystem client và server:
- Subsystem client: User interaction subsystem (phần mềm tương tác với người dùng), I/O subsystem (phần cứng hoặc phần mềm xử lý nhập/xuất dữ liệu).
- Subsystem server: Service subsystem (phần mềm cung cấp dịch vụ cho subsystem khác).
Vậy, subsystem nào không phải là subsystem client? Câu trả lời đúng là Service subsystem. Bởi vì Service subsystem cung cấp dịch vụ cho subsystem khác, chứ không phải là subsystem client.
200What is the primary purpose of a dynamic interaction model in software design?4 lựa chọnKhó33% trả lời đúng
ATo represent the static structure of a system's classes and their relationships
BTo illustrate the organization of objects within a single classifier
CTo depict the high-level functionality of a system
DTo show the dynamic behavior and interactions between objects or components
Lời giải
Mở trang câu hỏi này →Mô hình tương tác động là một khái niệm quan trọng trong thiết kế phần mềm. Mục đích chính của mô hình này là mô tả hành vi và tương tác giữa các đối tượng hoặc thành phần trong hệ thống. Nó giúp các nhà thiết kế phần mềm hiểu rõ cách các phần tử khác nhau trong hệ thống tương tác với nhau, tạo ra một hình ảnh tổng thể về hoạt động của hệ thống. Mô hình này thường được sử dụng để mô tả các giao tiếp giữa các lớp, các đối tượng và các thành phần khác nhau trong hệ thống. Nó giúp các nhà thiết kế phần mềm xác định các yêu cầu chức năng và giao tiếp của hệ thống, từ đó tạo ra một thiết kế phần mềm hiệu quả và dễ bảo trì.
201What is the main purpose of information hiding in object design?4 lựa chọnDễ100% trả lời đúng
ATo make all parts of an object visible to other objects
BTo decide what information should be visible and what should be hidden
CTo expose the internal details of an object to other objects
DTo allow unrestricted access to an object's internals
Lời giải
Mở trang câu hỏi này →Mục đích chính của việc ẩn thông tin trong thiết kế đối tượng là cho phép các nhà phát triển quyết định những thông tin nào nên được hiển thị và những thông tin nào nên được ẩn. Điều này giúp giảm thiểu sự phụ thuộc giữa các phần của đối tượng và tăng cường tính bảo mật. Thông qua việc ẩn thông tin, các nhà phát triển có thể kiểm soát cách thức mà các phần của đối tượng tương tác với nhau, từ đó tạo ra các đối tượng linh hoạt và dễ dàng bảo trì. Điều này cũng giúp giảm thiểu sự phức tạp của mã và tăng cường tính bảo mật của hệ thống.
AThe element is visible to all classes.
BThe element is visible only from within the class that defines it.
CThe element is visible within the class and all subclasses.
DThe element is visible from outside the class only.
Lời giải
Mở trang câu hỏi này →Trong một sơ đồ lớp, tính riêng tư (ký hiệu bằng dấu trừ) chỉ ra rằng một thành phần chỉ có thể truy cập được từ bên trong lớp đó. Điều này có nghĩa là các lớp khác không thể truy cập trực tiếp vào thành phần đó, trừ khi nó được thừa kế hoặc sử dụng qua phương thức công cộng. Tính riêng tư giúp bảo vệ dữ liệu và ngăn chặn việc truy cập không mong muốn. Nó cũng giúp phân chia trách nhiệm và giảm thiểu sự phụ thuộc giữa các lớp. Trong thực tế, việc sử dụng tính riêng tư là một kỹ thuật quan trọng trong thiết kế lớp và giúp tạo ra các lớp dễ bảo trì, dễ hiểu và dễ sử dụng hơn.
203With a Negotiation pattern, which of the following is NOT true?4 lựa chọnTrung bình60% trả lời đúng
AThe client agent can propose a service.
BThe service agent can offer a service in response to a client agent proposal.
CThe client agent can request a service.
DThe service agent can offer a service in response to a client agent request.
Lời giải
Mở trang câu hỏi này →Mô hình đàm phán (Negotiation pattern) cho phép hai bên trao đổi và thỏa thuận về một dịch vụ. Trong mô hình này, bên yêu cầu (client agent) có thể đề xuất một dịch vụ, và bên cung cấp (service agent) có thể đáp ứng yêu cầu đó bằng cách cung cấp dịch vụ. Tuy nhiên, bên cung cấp không thể tự động đề xuất dịch vụ cho bên yêu cầu mà không có yêu cầu trước đó. Vì vậy, câu trả lời đúng là "The service agent can offer a service in response to a client agent request."
204What is a structural view of a software architecture?4 lựa chọnDễ70% 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 cấu trúc về kiến trúc phần mềm là cách nhìn tổng quan về cấu trúc và tổ chức của các thành phần và kết nối giữa chúng trong hệ thống phần mềm. Quan điểm này tập trung vào việc mô tả các thành phần và mối quan hệ giữa chúng, giúp người lập trình viên hiểu rõ về cấu trúc và chức năng của hệ thống. Quan điểm này thường được biểu diễn dưới dạng các mô hình hoặc sơ đồ, giúp người lập trình viên dễ dàng theo dõi và hiểu rõ về cấu trúc của hệ thống.