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
184/436 câuCòn 252
165What is a use case?4 lựa chọnTrung bình60% trả lời đúng
AA case study involving users
BA sequence of interactions between the user and the system
CA sequence of interactions between the user and the objects in the system
DA sequence of user inputs to the system
Lời giải
Mở trang câu hỏi này →Một use case là một mô tả chi tiết về một trường hợp sử dụng cụ thể của một hệ thống, bao gồm cả các tương tác giữa người dùng và các đối tượng trong hệ thống. Nó mô tả một cách cụ thể về các yêu cầu của người dùng, các hành động mà người dùng sẽ thực hiện và các phản hồi mà hệ thống sẽ cung cấp. Mục đích của một use case là để xác định các yêu cầu chức năng của hệ thống và đảm bảo rằng hệ thống đáp ứng được các yêu cầu của người dùng.
AStatechart diagram
BInteraction diagram
CComposite class interaction diagram
DPackage diagram
Lời giải
Mở trang câu hỏi này →Trong COMET, sơ đồ nào tích hợp cả mô hình tĩnh và động cho thiết kế phần mềm? Sơ đồ Composite class interaction diagram tích hợp cả mô hình tĩnh và động, giúp thiết kế phần mềm trở nên rõ ràng và dễ hiểu hơn. Sơ đồ này cho phép các nhà phát triển xem xét cả cấu trúc và hành vi của phần mềm, từ đó đưa ra quyết định thiết kế tốt hơn. Nó là một công cụ mạnh mẽ giúp các nhà phát triển tạo ra phần mềm chất lượng cao và dễ bảo trì.
167What is a platform-independent model (PIM)?4 lựa chọnDễ100% trả lời đúng
AA software platform before a commitment is made to a specific hardware platform.
BA precise model of the software architecture before a commitment is made to a specific platform.
CA precise model of the software architecture mapped to a specific platform.
DA graphical or textual description of the software.
Lời giải
Mở trang câu hỏi này →Một mô hình độc lập với nền tảng (PIM) là mô hình chính xác của kiến trúc phần mềm trước khi cam kết với một nền tảng cụ thể. Nó là bước quan trọng trong quá trình phát triển phần mềm, giúp đảm bảo rằng phần mềm có thể được triển khai trên nhiều nền tảng khác nhau mà không cần thay đổi đáng kể. Mô hình PIM thường được sử dụng trong các phương pháp phát triển phần mềm như MDA (Model-Driven Architecture) và OMG (Object Management Group). Nó cho phép các nhà phát triển tạo ra mô hình phần mềm độc lập với nền tảng, sau đó có thể được chuyển đổi thành mã nguồn cho các nền tảng khác nhau.
ASPL Engineering and Software Application Engineering
BSPL Engineering and real- time software Engineering
CReal- time software Engineering and Software Application Engineering
DReal- time software Engineering and Component-Based
Lời giải
Mở trang câu hỏi này →Quá trình xây dựng phần mềm linh hoạt (SPL) có hai quá trình chính, đó là: SPL Engineering và Software Application Engineering. SPL Engineering là quá trình thiết kế và phát triển phần mềm linh hoạt, trong khi Software Application Engineering là quá trình xây dựng và triển khai phần mềm ứng dụng. Cả hai quá trình này đều đóng vai trò quan trọng trong việc đảm bảo rằng phần mềm linh hoạt được xây dựng một cách hiệu quả và đáp ứng được các yêu cầu của khách hàng. Quá trình SPL Engineering bao gồm các hoạt động như xác định các thuộc tính linh hoạt, thiết kế và phát triển các thành phần linh hoạt, trong khi quá trình Software Application Engineering bao gồm các hoạt động như xây dựng và triển khai phần mềm ứng dụng dựa trên các thành phần linh hoạt đã được thiết kế và phát triển.
169Which of the following is the first step in the software design process?4 lựa chọnDễ100% trả lời đúng
AImplementation
BRequirement Analysis
CArchitectural Design
DTesting
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Bước đầu tiên là phân tích yêu cầu: phải biết hệ thống cần làm gì, ràng buộc nào phải thoả, thì mới có đầu vào để quyết định kiến trúc. Thiết kế mà không có yêu cầu rõ ràng là thiết kế cho một bài toán chưa được phát biểu.
C sai vì thiết kế kiến trúc đến SAU phân tích yêu cầu — nó tiêu thụ chính kết quả của bước đó. A và D sai vì hiện thực và kiểm thử nằm ở cuối chuỗi, sau khi thiết kế đã xong.
170What is the main difference between a class and an interface?4 lựa chọnTrung bình67% trả lời đú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) trong lập trình là hai khái niệm cơ bản và quan trọng. Lớp là một đơn vị tổ chức code, bao gồm các biến và phương thức, có thể chứa các thực thi (implementations) của phương thức. Ngược lại, giao diện chỉ là một tập hợp các phương thức, không chứa các thực thi. Điều này có nghĩa là một lớp có thể chứa các thực thi của phương thức, trong khi một giao diện không thể. Điều này giúp phân biệt rõ ràng giữa lớp và giao diện, giúp lập trình viên sử dụng chúng một cách hiệu quả và chính xác.
A
TrueB
FalseLời giải
Mở trang câu hỏi này →Đáp án đúng: A (True). Đây đúng là định nghĩa của sơ đồ giao tiếp tích hợp (integrated communication diagram): nó là bản tổng hợp của tất cả các sơ đồ giao tiếp đã dựng cho từng use case, gộp chúng lại thành một bức tranh chung để nhìn thấy toàn bộ các đối tượng và mọi tương tác giữa chúng trên cùng một sơ đồ.
Chọn False sẽ sai, vì phát biểu không hề nói quá: chữ "merger" (hợp nhất) trong câu chính là cách sơ đồ này được xây — chồng các sơ đồ giao tiếp riêng lẻ lên nhau, gộp các đối tượng trùng nhau làm một.
172What is the primary focus of the analysis model?4 lựa chọnDễ100% trả lời đúng
ADesigning the user interface
BUnderstanding and analyzing the problem domain
CWriting code for the solution
DTesting the final system
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Mô hình phân tích tập trung vào việc HIỂU miền bài toán: có những khái niệm nào, quan hệ ra sao, hệ thống phải làm gì — cố tình chưa quyết định làm bằng cách nào. Đó là ranh giới phân biệt pha phân tích với pha thiết kế.
A sai vì thiết kế giao diện là hoạt động của pha thiết kế. C sai vì viết mã là pha hiện thực. D sai vì kiểm thử hệ thống là pha sau cùng. Cả ba đều thuộc vùng lời giải, trong khi mô hình phân tích còn đang ở vùng bài toán.
173What is an attribute?4 lựa chọnTrung bình57% trả lời đúng
AA relationship between two classes
BA parameter of an operation or method
CA data value held by an object in a class
DThe return value from an operation
Lời giải
Mở trang câu hỏi này →Một thuộc tính (attribute) trong lập trình là một giá trị dữ liệu được lưu trữ bởi một đối tượng trong một lớp. Nó là một phần quan trọng của lớp và được sử dụng để mô tả các đặc điểm hoặc tính chất của đối tượng. Ví dụ, trong một lớp 'Xe', thuộc tính 'màu sắc' có thể được sử dụng để mô tả màu sắc của xe. Thuộc tính có thể là một giá trị đơn giản như số hoặc chuỗi, hoặc có thể là một đối tượng phức tạp như một mảng hoặc một lớp khác. Thuộc tính được sử dụng để lưu trữ và truy cập dữ liệu của đối tượng, và nó giúp tạo nên cấu trúc và tính chất của lớp.
174In what ways can use case packages address the challenge of scaling up huge systems?4 lựa chọnKhó0% trả lời đúng
ABy giving the use case package containing those use cases nonfunctional requirements.
BBy permitting several base use cases to be extended by a single extension use case.
CBy assembling similar use cases and articulating important specifications.
DBy offering a means of encapsulating intricate or unconventional routes into a solitary use case.
Lời giải
Mở trang câu hỏi này →Các gói trường hợp sử dụng có thể giải quyết thách thức của việc mở rộng hệ thống lớn bằng cách sắp xếp các trường hợp sử dụng tương tự và xác định các đặc điểm quan trọng. Điều này giúp giảm thiểu sự phức tạp và tăng cường khả năng hiểu và duy trì hệ thống. Việc nhóm các trường hợp sử dụng tương tự cũng giúp giảm thiểu sự lặp lại và tăng cường khả năng tái sử dụng. Ngoài ra, việc xác định các đặc điểm quan trọng giúp đảm bảo rằng các trường hợp sử dụng được xây dựng một cách nhất quán và dễ dàng tích hợp với nhau.
175Which stereotype represents a class that encapsulates data and may serve as an interface to a database?4 lựa chọnDễ100% trả lời đúng
ABoundary class
BEntity class
CControl class
DApplication logic class
Lời giải
Mở trang câu hỏi này →Stereotype đại diện cho một lớp dữ liệu được đóng gói và có thể phục vụ như một giao diện cho cơ sở dữ liệu. Lớp Entity (lớp thực thể) thường được sử dụng để mô tả các đối tượng trong thế giới thực và có thể được sử dụng để tương tác với cơ sở dữ liệu. Ví dụ, nếu bạn đang xây dựng một ứng dụng quản lý khách hàng, lớp Entity có thể đại diện cho thông tin về khách hàng, bao gồm tên, địa chỉ, số điện thoại, v.v. Lớp Entity có thể được sử dụng để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu, đồng thời cung cấp một giao diện đơn giản để tương tác với dữ liệu.
176What ensures consistency between a communication diagram and a statechart when modeling state-dependent interaction scenarios?4 lựa chọnDễ100% trả lời đú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ó thể đạt được bằng cách sử dụng cùng một thứ tự số liệu cho các tin nhắn và sự kiện trên cả hai sơ đồ. Việc này giúp đảm bảo rằng các sự kiện và tin nhắn được gửi và nhận theo cùng một thứ tự, từ đó giúp duy trì sự nhất quán trong mô hình. Điều này đặc biệt quan trọng khi mô hình hóa các kịch bản phức tạp, nơi mà sự kiện và tin nhắn được gửi và nhận trong một thứ tự cụ thể.
177What is a characteristic of a more complex user interaction subsystem?4 lựa chọnDễ100% trả lời đúng
AIt supports a command line interface exclusively
BIt operates on a single node
CIt doesn't interface with user I/O devices
DIt involves multiple windows and multiple threads of control
Lời giải
Mở trang câu hỏi này →Một hệ thống tương tác người dùng phức tạp thường bao gồm nhiều cửa sổ và nhiều luồng kiểm soát. Điều này cho phép người dùng tương tác với hệ thống theo nhiều cách khác nhau, chẳng hạn như sử dụng nhiều cửa sổ để thực hiện các tác vụ khác nhau. Hệ thống cũng có thể sử dụng nhiều luồng kiểm soát để thực hiện các tác vụ song song, cải thiện hiệu suất và hiệu quả. Ví dụ, một hệ thống quản lý dự án có thể bao gồm nhiều cửa sổ để quản lý các dự án khác nhau, và sử dụng nhiều luồng kiểm soát để thực hiện các tác vụ như lập kế hoạch, theo dõi tiến độ và quản lý nguồn lực.
ATheir primary focus on aesthetic user interface design
BTheir reliance on batch processing for data management
CTheir need to meet specific timing constraints for system functionality
DTheir use of a single-threaded execution model to simplify processing
Lời giải
Mở trang câu hỏi này →Mô hình kiến trúc hệ thống thời gian thực (Real-Time Systems) được đặc trưng bởi yêu cầu phải đáp ứng các ràng buộc về thời gian cụ thể để đảm bảo hệ thống hoạt động đúng cách. Điều này có nghĩa là hệ thống phải đáp ứng các yêu cầu về thời gian thực hiện các tác vụ, bao gồm cả thời gian phản hồi và thời gian xử lý dữ liệu. Hệ thống thời gian thực thường được sử dụng trong các ứng dụng đòi hỏi độ chính xác và độ tin cậy cao, chẳng hạn như hệ thống điều khiển tự động, hệ thống y tế và hệ thống giao thông vận tải. Để đáp ứng các yêu cầu về thời gian, hệ thống thời gian thực thường được thiết kế với các tính năng như ưu tiên nhiệm vụ, phân chia thời gian và quản lý nguồn lực.
179While creating a client/server architecture, which elements or factors should be taken into account?4 lựa chọnTrung bình67% trả lời đúng
AWhether the service should be sequential or concurrent
BThe communication patterns between the client and service subsystems
CAll of the mentioned
DNone of the mentioned
Lời giải
Mở trang câu hỏi này →Khi thiết kế kiến trúc khách hàng/dịch vụ, cần xem xét các yếu tố sau để đảm bảo hiệu suất và độ tin cậy của hệ thống. Trước hết, cần quyết định liệu dịch vụ có nên thực hiện theo thứ tự tuần tự hay song song. Điều này sẽ ảnh hưởng đến cách thức xử lý và phản hồi của dịch vụ. Thứ hai, cần xem xét các mẫu giao tiếp giữa hệ thống khách hàng và dịch vụ. Điều này bao gồm cách thức truyền thông, giao tiếp đồng bộ hay không đồng bộ, và cách thức xử lý lỗi. Tất cả những yếu tố này đều quan trọng và cần được xem xét kỹ lưỡng để đảm bảo rằng hệ thống khách hàng/dịch vụ hoạt động một cách hiệu quả và đáng tin cậy.
AWriting the code within the components.
BDefining, refining, managing, and governing components.
CTesting the components.
DDeploying the components to production.
Lời giải
Mở trang câu hỏi này →Một kiến trúc sư có trách nhiệm chính đối với các thành phần là định nghĩa, hoàn thiện, quản lý và điều hành chúng. Điều này bao gồm việc xác định chức năng và yêu cầu của từng thành phần, đảm bảo chúng được xây dựng và triển khai một cách hiệu quả và thống nhất. Trách nhiệm này đòi hỏi kiến trúc sư phải có kiến thức sâu rộng về các thành phần, cũng như khả năng phân tích và giải quyết vấn đề phức tạp. Bằng cách định nghĩa và quản lý các thành phần, kiến trúc sư có thể đảm bảo rằng hệ thống được xây dựng trên cơ sở vững chắc và có thể mở rộng được.
181Which of the following is true for an abstract class?4 lựa chọnKhó
AIt is used as a template for creating objects.
BIt is used as a template for creating subclasses.
CIt is used as a template for creating classes.
DIt is used as a template for creating super classes.
Lời giải
Mở trang câu hỏi này →Một lớp trừu tượng (abstract class) là một lớp không thể tạo ra các đối tượng trực tiếp. Thay vào đó, nó được sử dụng như một mẫu (template) để tạo ra các lớp con (subclasses). Lớp trừu tượng thường chứa các phương thức trừu tượng (abstract methods) mà các lớp con phải thực hiện. Khi sử dụng một lớp trừu tượng, chúng ta có thể tạo ra các lớp con khác nhau, mỗi lớp con có thể thực hiện các phương thức trừu tượng theo cách riêng của mình. Điều này cho phép chúng ta tạo ra các lớp có tính linh hoạt và dễ dàng mở rộng.
182Which software architecture perspectives are explained?4 lựa chọnTrung bình
AStatic, dynamic, and deployment views
BStatic, deployment, and user interface views
CDynamic, user interface, and data management views
DDeployment, user interface, and data management views
Lời giải
Mở trang câu hỏi này →Đáp án đúng: A. Kiến trúc phần mềm được nhìn qua ba góc: góc nhìn tĩnh (cấu trúc — lớp, thành phần và quan hệ giữa chúng), góc nhìn động (tương tác giữa các thành phần lúc chạy) và góc nhìn triển khai (thành phần nằm trên nút phần cứng nào). Ba góc này bổ sung nhau và cùng nhau mới mô tả đủ một kiến trúc.
B, C, D đều sai vì mỗi phương án đánh tráo một trong ba góc nhìn bằng "user interface views" hoặc "data management views" — đây là mối quan tâm ở tầng thiết kế chi tiết của một hệ thống con cụ thể, không phải một góc nhìn kiến trúc ngang hàng với tĩnh/động/triển khai.
183What does the SPL software architecture describe?4 lựa chọnDễ75% trả lời đúng
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à tái sử dụng cao. SPL 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 tắc thiết kế. Nó giúp các nhà phát triển tạo ra các sản phẩm phần mềm có tính tương thích và dễ dàng mở rộng.
184What is an entity class?4 lựa chọnTrung bình63% trả lời đúng
AA class on an entity/relationship diagram
BA class that stores data
CA class that interfaces to an external entity
DAn external class
Lời giải
Mở trang câu hỏi này →Đáp án đúng: B. Lớp thực thể (entity class) là lớp lưu trữ dữ liệu — đối tượng của nó sống lâu, giữ thông tin bền vững của hệ thống và thường được ánh xạ xuống cơ sở dữ liệu.
A sai vì đó chỉ là mô tả vị trí xuất hiện của lớp trên một sơ đồ ER, không phải định nghĩa vai trò của nó. C sai vì lớp giao tiếp với một thực thể bên ngoài là lớp BIÊN (boundary class) — chữ "entity" ở đây bị dùng theo nghĩa "thực thể ngoài hệ thống", đây là bẫy chơi chữ của câu. D sai vì lớp thực thể nằm bên trong hệ thống, không phải lớp ngoài.