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

SWD392 trang bị kiến thức chuyên sâu về kiến trúc phần mềm, UML, Design Patterns và cách ứng dụng AI (ChatGPT, Copilot, PlantUML) vào mô hình hóa hệ thống thực tế.

436Câu hỏi
5Bộ đề
9Chủ đề
5,03 đánh giá

Câu hỏi của môn

244/436 câuCòn 192
AMonolithic
BService-Oriented Architecture (SOA)
CLayered
DRepository
Lời giải
Kiến trúc Service-Oriented Architecture (SOA) là lựa chọn phù hợp nhất khi các mô-đun hệ thống cần phải được tái sử dụng cao và có thể triển khai độc lập. SOA cho phép các mô-đun hệ thống được thiết kế và triển khai độc lập, có thể được sử dụng lại trong nhiều ứng dụng khác nhau. Điều này giúp giảm thiểu sự phụ thuộc giữa các mô-đun và tăng cường khả năng mở rộng của hệ thống. Ngoài ra, SOA cũng cho phép các mô-đun được triển khai và cập nhật độc lập, giúp giảm thiểu thời gian và chi phí triển khai. Vì vậy, kiến trúc SOA là lựa chọn phù hợp nhất khi các mô-đun hệ thống cần phải được tái sử dụng cao và có thể triển khai độc lập.
Mở trang câu hỏi này →
AClient-Server
BLayered
CService-Oriented Architecture (SOA)
DPipe-and-Filter
Lời giải
Câu hỏi này hỏi về phong cách kiến trúc nào nhấn mạnh các dịch vụ liên lạc lỏng lẻo thông qua giao diện. Trong đó, Service-Oriented Architecture (SOA) là phong cách kiến trúc phù hợp với mô tả này. SOA là một phong cách kiến trúc dựa trên dịch vụ, trong đó các dịch vụ được thiết kế độc lập và có thể giao tiếp với nhau thông qua giao diện. Điều này cho phép các dịch vụ được phát triển, triển khai và quản lý độc lập, tạo điều kiện cho sự linh hoạt và khả năng mở rộng cao. SOA thường được sử dụng trong các hệ thống phân tán và các ứng dụng lớn.
Mở trang câu hỏi này →
ATransparent box, detailing internal workings
BHybrid box, focusing on both internal and external interactions
CBlack box, focusing on inputs and responses
DTesting the final system
Lời giải
Trong mô hình trường hợp sử dụng, hệ thống được coi như một hộp đen. Hộp đen là một mô hình trong đó người dùng chỉ quan tâm đến đầu vào và đầu ra của hệ thống mà không cần biết về các hoạt động bên trong. Điều này có nghĩa là người dùng không cần biết về các quy trình, thuật toán và logic của hệ thống, mà chỉ cần biết rằng khi đưa ra một đầu vào nào đó, hệ thống sẽ trả về một đầu ra cụ thể. Mô hình hộp đen thường được sử dụng trong thiết kế và phát triển hệ thống để tập trung vào các yêu cầu và chức năng của hệ thống mà không cần quan tâm đến các chi tiết kỹ thuật bên trong.
Mở trang câu hỏi này →
A1NF
B2NF
C3NF
DBCNF
Lời giải
Normal form 2NF (Hai cấp độ) loại bỏ sự phụ thuộc một phần trên một chìa khóa chính phức tạp. Trong 2NF, mỗi trường không chìa khóa phải phụ thuộc vào toàn bộ chìa khóa chính. Điều này có nghĩa là nếu một bảng có một chìa khóa chính phức tạp, chẳng hạn như {A, B} và một trường phụ thuộc vào A nhưng không phụ thuộc vào B, thì đó không phải là 2NF. Để đạt được 2NF, chúng ta phải tách trường đó thành một bảng riêng biệt với chìa khóa chính là A. Điều này giúp loại bỏ sự phụ thuộc một phần và đảm bảo rằng mỗi bảng chỉ có một chìa khóa chính.
Mở trang câu hỏi này →
AA detailed code implementation
BArrangement of multiple components to form a system
CA simple database schema
DA user interface design
Lời giải
Trong kiến trúc phần mềm, một bản tổng hợp (composition) được định nghĩa là sự sắp xếp và tổ chức của nhiều thành phần (component) khác nhau để tạo thành một hệ thống (system) hoàn chỉnh. Mỗi thành phần đóng một vai trò cụ thể và có thể được thiết kế, phát triển và bảo trì độc lập. Sự sắp xếp này cho phép hệ thống trở nên linh hoạt, dễ dàng mở rộng và nâng cao hiệu suất. Một bản tổng hợp trong kiến trúc phần mềm thường bao gồm các thành phần như mô hình dữ liệu, logic kinh doanh, giao diện người dùng và các dịch vụ khác. Mục tiêu của một bản tổng hợp là tạo ra một hệ thống toàn diện và dễ sử dụng, đáp ứng được nhu cầu của người dùng và doanh nghiệp.
Mở trang câu hỏi này →
ACreational
BStructural
CBehavioral
DProcedural
Lời giải
Các mẫu thiết kế được phân loại thành ba loại chính: Mẫu tạo (Creational), Mẫu cấu trúc (Structural) và Mẫu hành vi (Behavioral). Mẫu tạo liên quan đến việc tạo ra đối tượng, Mẫu cấu trúc liên quan đến cấu trúc của đối tượng và Mẫu hành vi liên quan đến hành vi của đối tượng. Trong khi đó, Mẫu thủ tục (Procedural) không phải là một trong những loại mẫu thiết kế chính. Mẫu thủ tục thường được sử dụng trong lập trình thủ tục, nhưng nó không được coi là một mẫu thiết kế chính trong thiết kế mẫu.
Mở trang câu hỏi này →
231How is an association depicted on a class diagram?4 lựa chọnDễ100% trả lời đúng
AA solid line joining two class boxes
BA dashed line joining two class boxes
CA diamond touching the upper class box
DAn arrowhead touching the upper class box
Lời giải
Trong sơ đồ lớp, mối quan hệ giữa các lớp được thể hiện bằng các đường thẳng. Mối quan hệ liên kết (association) được thể hiện bằng đường thẳng liền (solid line). Đường thẳng liền nối giữa hai hộp lớp thể hiện mối quan hệ giữa các lớp. Ví dụ, nếu có một lớp 'Sinh viên' và một lớp 'Lớp học', thì mối quan hệ giữa chúng có thể được thể hiện bằng đường thẳng liền nối giữa hai hộp lớp 'Sinh viên' và 'Lớp học'. Điều này cho thấy rằng một sinh viên có thể tham gia vào một lớp học.
Mở trang câu hỏi này →
232What is a coordinator object?4 lựa chọn
AA manager object
BAn object that makes decisions based on a state machine
CA decision-making object
DAn object that decides which entity object to interact with
Lời giải
Đáp án đúng: C. Đối tượng điều phối (coordinator object) là đối tượng RA QUYẾT ĐỊNH tổng thể: nó quyết định trình tự thực hiện cho một nhóm đối tượng liên quan, dựa trên thông tin nhận được chứ không dựa trên máy trạng thái. B sai chính ở chỗ đó — đối tượng ra quyết định dựa trên máy trạng thái là đối tượng điều khiển phụ thuộc trạng thái (state-dependent control object), một loại khác; đối tượng điều phối không phụ thuộc trạng thái. A sai vì "đối tượng quản lý" là cách gọi mơ hồ, không phải một hạng mục đối tượng trong COMET. D sai vì việc chọn đối tượng thực thể nào để tương tác chỉ là một hệ quả vụn vặt, không phải định nghĩa.
Mở trang câu hỏi này →
233What is a state in a state machine?4 lựa chọnTrung bình
AA recognizable situation that exists over an interval of time
BA condition that is True or False
CAn input from the external environment
DAn output from the system
Lời giải
Trong một máy trạng thái, trạng thái (state) được định nghĩa là một tình huống nhận biết được tồn tại trong một khoảng thời gian nhất định. Nó là một trạng thái cụ thể của hệ thống tại một thời điểm nhất định. Trạng thái có thể được xem như một trạng thái cụ thể của hệ thống, chẳng hạn như trạng thái hoạt động, trạng thái chờ, trạng thái dừng. Mỗi trạng thái có thể được xác định bởi một tập hợp các biến trạng thái cụ thể. Khi hệ thống chuyển từ một trạng thái này sang trạng thái khác, nó sẽ thực hiện các hành động cụ thể để đạt được trạng thái mới. Trạng thái là một phần quan trọng của máy trạng thái và giúp hệ thống quyết định hành động tiếp theo dựa trên trạng thái hiện tại.
Mở trang câu hỏi này →
234What is an action in a state machine?4 lựa chọn
AAn occurrence at a point in time
BA cause of a state transition
CAn interval between two successive events
DA computation that executes as a result of a state transition
Lời giải
Trong một trạng thái máy, một hành động (action) được định nghĩa là một quá trình tính toán thực hiện sau khi trạng thái chuyển đổi. Hành động có thể được xem là một phản ứng của trạng thái máy đối với một sự kiện hoặc trạng thái mới. Nó thường liên quan đến việc thực hiện một hành động cụ thể như gửi thông điệp, cập nhật dữ liệu hoặc thực hiện một hành động khác. Hành động có thể được sử dụng để mô tả các hành vi của trạng thái máy trong một hệ thống, giúp phân tích và thiết kế hệ thống trở nên dễ dàng hơn.
Mở trang câu hỏi này →
235What is an exit action in a state machine?4 lựa chọnKhó
AAn action that is performed when the state is entered
BAn action that is performed when the state is left
CAn action that starts executing when the state is entered and completes executing when the state is left
DAn action that executes as a result of a state transition
Lời giải
Trong một trạng thái máy, hành động thoát (exit action) là một hành động được thực hiện khi trạng thái được rời bỏ. Nó thường được sử dụng để thực hiện các hành động cần thiết khi trạng thái được rời bỏ, chẳng hạn như giải phóng tài nguyên, cập nhật trạng thái của hệ thống, v.v. Hành động thoát thường được thực hiện sau khi trạng thái được rời bỏ và trước khi chuyển sang trạng thái mới. Nó giúp đảm bảo rằng trạng thái cũ được rời bỏ một cách an toàn và hệ thống được chuyển sang trạng thái mới một cách chính xác.
Mở trang câu hỏi này →
AHelps define system behavior based on input and transitions
BSimplifies the coding process
CReduces the need for user documentation
DFocuses only on data storage
Lời giải
Các mô hình tương tác động phụ thuộc vào trạng thái trong thiết kế phần mềm có ý nghĩa quan trọng trong việc mô tả hành vi của hệ thống dựa trên đầu vào và chuyển đổi trạng thái. Điều này cho phép các nhà phát triển phần mềm xác định và mô hình hóa các quy trình phức tạp trong hệ thống, từ đó tạo ra các giải pháp phần mềm hiệu quả hơn và đáng tin cậy hơn. Mô hình này giúp các nhà phát triển phần mềm hiểu rõ hơn về cách hệ thống phản ứng với các sự kiện khác nhau và đưa ra các quyết định chính xác hơn về cách thiết kế và triển khai hệ thống.
Mở trang câu hỏi này →
AThey are used to define the deployment configuration
BThey are only relevant in static modeling
CThey trigger transitions in statecharts and influence interactions in diagrams
DThey represent the physical connections between system components
Lời giải
Trong mô hình tương tác động lực dựa trên trạng thái, các sự kiện đóng vai trò quan trọng trong việc mô tả và quản lý trạng thái của hệ thống. Chúng được sử dụng để kích hoạt các chuyển đổi trạng thái trong sơ đồ trạng thái và ảnh hưởng đến các tương tác trong các sơ đồ. Ví dụ, khi một sự kiện xảy ra, nó có thể kích hoạt một chuyển đổi trạng thái từ trạng thái A sang trạng thái B, và sau đó ảnh hưởng đến các tương tác giữa các thành phần hệ thống trong trạng thái mới. Điều này cho phép mô hình hóa các hệ thống phức tạp và động, nơi trạng thái của hệ thống thay đổi theo thời gian và ảnh hưởng đến các tương tác giữa các thành phần.
Mở trang câu hỏi này →
Alogical view
BDevelopment view
CPhysical view
DScenario view
Lời giải
Trong mô hình 4+1, view đại diện cho cấu trúc tổ chức tĩnh được gọi là Logical View. Logical View mô tả cấu trúc tổ chức của hệ thống, bao gồm các thành phần và mối quan hệ giữa chúng. Nó giúp xác định các yêu cầu chức năng và không gian tên của hệ thống. Logical View thường được sử dụng để thiết kế và phát triển hệ thống, và nó là một phần quan trọng của quá trình phát triển phần mềm. Nó giúp đảm bảo rằng hệ thống được thiết kế một cách hợp lý và dễ dàng bảo trì.
Mở trang câu hỏi này →
AComponents and connectors
BObjects and messages
CNodes and interconnections
DModule hierarchy
Lời giải
Một quan điểm cấu trúc về kiến trúc phần mềm bao gồm các thành phần chính sau: các thành phần và kết nối. Thành phần trong kiến trúc phần mềm có thể được hiểu là các mô-đun độc lập, mỗi mô-đun có một chức năng riêng biệt và có thể được triển khai độc lập. Kết nối là các liên kết giữa các thành phần, cho phép chúng giao tiếp và hợp tác với nhau. Quan điểm này giúp các nhà phát triển hiểu rõ về cấu trúc và tổ chức của phần mềm, từ đó có thể thiết kế và xây dựng phần mềm một cách hiệu quả hơn.
Mở trang câu hỏi này →
AIt must be implemented in Java
BIt shares all internal data with other components
CIt is self-contained and encapsulates information
Dt must be deployed on the cloud
Lời giải
Trong kiến trúc phần mềm dựa trên các thành phần, đặc điểm chính của một thành phần là nó được chứa đựng và bao gồm tất cả thông tin của mình. Điều này có nghĩa là mỗi thành phần có thể được xem như một đơn vị độc lập, có thể được sử dụng và quản lý một cách riêng biệt. Mỗi thành phần có thể được thiết kế, phát triển và bảo trì độc lập với các thành phần khác, giúp giảm thiểu sự phụ thuộc và tăng cường khả năng mở rộng của hệ thống. Đặc điểm này cho phép các nhà phát triển xây dựng các hệ thống phức tạp bằng cách kết hợp các thành phần đơn giản và dễ quản lý.
Mở trang câu hỏi này →
AMessages are sent and received independently of each other, allowing for immediate processing.
BMessages are sent and received simultaneously, enabling parallel processing of tasks.
CMessages are sent and received with a predefined delay, allowing for scheduled processing.
DMessages are sent and received in a sequential order, ensuring a strict order of execution.
Lời giải
Sự giao tiếp tin nhắn đồng bộ trong thiết kế hệ thống phần mềm là một phương thức giao tiếp trong đó các tin nhắn được gửi và nhận đồng thời. Điều này cho phép các nhiệm vụ được xử lý song song, tăng hiệu suất và giảm thời gian phản hồi. Trong giao tiếp tin nhắn đồng bộ, các tin nhắn được gửi và nhận cùng một lúc, không phụ thuộc vào thứ tự hoặc thời gian. Điều này khác với giao tiếp tin nhắn bất đồng bộ, nơi các tin nhắn được gửi và nhận độc lập, có thể dẫn đến sự chậm trễ trong xử lý. Giao tiếp tin nhắn đồng bộ thường được sử dụng trong các hệ thống phần mềm yêu cầu xử lý nhanh chóng và chính xác, chẳng hạn như hệ thống thanh toán trực tuyến hoặc hệ thống quản lý dữ liệu.
Mở trang câu hỏi này →
AAsynchronous Message Communication pattern
BSynchronous Message Communication with Reply pattern
CUnidirectional Message Communication pattern
DBidirectional Message Communication pattern
Lời giải
Khi sử dụng giao tiếp tin nhắn bất đồng bộ, mẫu được sử dụng là gì? Trong giao tiếp tin nhắn bất đồng bộ, một ứng dụng gửi một tin nhắn đến một ứng dụng khác mà không cần đợi phản hồi. Mẫu này cho phép các ứng dụng hoạt động độc lập và không bị ràng buộc bởi thời gian phản hồi. Điều này giúp tăng hiệu suất và giảm độ phức tạp trong hệ thống. Ví dụ, khi bạn gửi một tin nhắn trên mạng xã hội, bạn không cần đợi phản hồi ngay lập tức. Thay vào đó, bạn có thể tiếp tục thực hiện các hành động khác trong khi chờ đợi phản hồi.
Mở trang câu hỏi này →
AThrough primary keys embedded in another table
BForeign keys represent mapping an association between classes into a table
CThrough attributes that are part of the primary key
DThrough attribute arrays within a relational table
Lời giải
Trong cơ sở dữ liệu quan hệ, các mối quan hệ được thể hiện như thế nào? Các mối quan hệ trong cơ sở dữ liệu quan hệ được thể hiện thông qua khóa ngoại (foreign key). Khóa ngoại là một trường trong một bảng có giá trị tham chiếu đến khóa chính của một bảng khác. Điều này cho phép chúng ta liên kết các bảng với nhau và thể hiện mối quan hệ giữa chúng. Ví dụ, nếu chúng ta có hai bảng 'Khách hàng' và 'Đơn hàng', chúng ta có thể tạo một khóa ngoại trong bảng 'Đơn hàng' tham chiếu đến khóa chính của bảng 'Khách hàng'. Điều này cho phép chúng ta liên kết một đơn hàng với một khách hàng cụ thể.
Mở trang câu hỏi này →
ADirectly altering core architecture
BUsing architectural patterns that allow incremental expansion
CRebuilding the system from scratch
DRelying only on database changes
Lời giải
Khi tinh chỉnh mô hình phần mềm hiện có, cách tốt nhất để giới thiệu các tính năng mới trong khi giảm thiểu rủi ro là sử dụng các mẫu kiến trúc cho phép mở rộng incremental. Điều này cho phép bạn thêm các tính năng mới mà không ảnh hưởng đến cấu trúc cơ bản của hệ thống, giảm thiểu rủi ro về sự cố hoặc lỗi. Các mẫu kiến trúc incremental thường bao gồm các thành phần độc lập có thể được thêm hoặc sửa đổi mà không ảnh hưởng đến các thành phần khác. Điều này giúp bạn duy trì tính linh hoạt và khả năng mở rộng của hệ thống, đồng thời giảm thiểu rủi ro về sự cố hoặc lỗi.
Mở trang câu hỏi này →