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

64/436 câuCòn 372
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ộ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) giúp che giấu chi tiết 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 thống nhất cho việc 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 khi làm việc với các cơ sở dữ liệu khác nhau. Lớp bọc cơ sở dữ liệu có thể bao gồm các phương thức để thực hiện các hoạt động như tạo bảng, thêm dữ liệu, cập nhật dữ liệu, xóa dữ liệu và thực hiện các truy vấn phức tạp. Điều này giúp các nhà phát triển có thể tập trung vào việc xây dựng ứng dụng mà không cần lo lắng về chi tiết về cơ sở dữ liệu.
Mở trang câu hỏi này →
46**Question 21** What is an entity class?4 lựa chọnTrung bình
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ột lớp thực thể (entity class) là một lớp trong thiết kế lớp (class design) được sử dụng để mô tả một thực thể trong cơ sở dữ liệu. Thực thể có thể là một đối tượng, một người, một sản phẩm, v.v. Một lớp thực thể thường bao gồm các thuộc tính (attributes) và các phương thức (methods) để mô tả và thao tác với thực thể đó. Ví dụ, một lớp thực thể 'Khách hàng' có thể có các thuộc tính như 'Tên', 'Địa chỉ', 'Số điện thoại', v.v. và các phương thức như 'Lưu thông tin', 'Cập nhật thông tin', v.v. Mục đích của lớp thực thể là cung cấp một cách thức thống nhất để truy cập và thao tác với dữ liệu trong cơ sở dữ liệu.
Mở trang câu hỏi này →
ATo depict the sequence of activities executed by all the use cases in the system
BTo depict the sequence of external activities that the use case interacts with
CTo depict the sequence of active objects in a use case
DTo depict the activities in the main and alternative sequences of a use case
Lời giải
Hoạt động biểu đồ (Activity Diagram) là một công cụ quan trọng trong mô hình hóa trường hợp sử dụng (Use Case Modeling). Nó được sử dụng để mô tả các hoạt động chính và thay thế trong một trường hợp sử dụng. Trong hoạt động biểu đồ, bạn có thể thấy được các hoạt động chính và thay thế, cũng như các điều kiện và sự kiện ảnh hưởng đến chúng. Điều này giúp bạn hiểu rõ hơn về quy trình và logic của hệ thống. Ngoài ra, hoạt động biểu đồ cũng giúp bạn xác định các điểm phân nhánh và kết hợp trong quy trình, từ đó giúp bạn thiết kế và phát triển hệ thống một cách hiệu quả hơn.
Mở trang câu hỏi này →
48**Question 23** What is an action in a state machine?4 lựa chọnTrung bình
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, hành động (action) là một tính năng quan trọng. Hành động được định nghĩa là một tính toán thực hiện sau khi trạng thái chuyển đổi. Nói cách khác, hành động là một hành động cụ thể được thực hiện khi trạng thái máy thay đổi. Ví dụ, khi bạn chuyển từ trạng thái 'đang gọi' sang trạng thái 'đã gọi', hành động có thể là gửi tin nhắn xác nhận hoặc gửi tin nhắn nhắc nhở. Hành động có thể được thực hiện bởi người dùng hoặc tự động bởi hệ thống. Nói chung, hành động là một phần quan trọng của trạng thái máy, giúp mô tả các hành vi cụ thể của hệ thống trong các tình huống khác nhau.
Mở trang câu hỏi này →
AA message sent to several recipients
BA message sent to a specific recipient
CA message sent to all recipients
DA message sent to recipients who have joined a group
Lời giải
Tính chất giao tiếp của đăng ký/Thông báo là một thông điệp được gửi đến những người đã tham gia vào một nhóm. Điều này có nghĩa là thông điệp sẽ được gửi đến những người đã đăng ký hoặc tham gia vào nhóm cụ thể, chứ không phải là tất cả các thành viên trong hệ thống. Ví dụ, trong một hệ thống thông báo, người dùng có thể đăng ký nhận thông báo về các sự kiện cụ thể, và thông báo sẽ được gửi đến những người đã đăng ký. Điều này giúp người dùng nhận được thông tin cần thiết mà không cần phải theo dõi tất cả các thông tin trong hệ thống.
Mở trang câu hỏi này →
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
Các mô hình tương tác động lực học phụ thuộc vào trạng thái (State-dependent dynamic interaction models) đượ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 có ý nghĩa quan trọng trong việc đảm bảo rằng hệ thống hoạt động đúng cách và hiệu quả trong các tình huống thực tế khác nhau. Mô hình này cho phép các nhà phát triển và nhà phân tích hệ thống 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, từ đó giúp họ đưa ra quyết định sáng suốt hơn về thiết kế và phát triển hệ thống.
Mở trang câu hỏi này →
51What is testability?4 lựa chọnDễ100% trả lời đúng
AThe extent to which software is capable of being developed
BThe extent to which software is capable of being tested before deployment
CThe extent to which software is capable of being tested after deployment
DThe extent which the software is understood
Lời giải
Testability là mức độ khả năng kiểm tra và đánh giá chất lượng của phần mềm trước khi triển khai. Nó đo lường khả năng của phần mềm trong việc được kiểm tra và xác minh trước khi được đưa vào sử dụng. Điều này bao gồm việc xác minh các yêu cầu chức năng, hiệu suất và bảo mật của phần mềm. Testability giúp đảm bảo rằng phần mềm hoạt động đúng và đáp ứng được yêu cầu của người dùng.
Mở trang câu hỏi này →
52What happens in a Call/Return pattern?4 lựa chọnKhó
AA calling operation in the calling object sends a message to an operation (a.k.a. method) in the called object.
BA calling operation in the calling object invokes an operation (a.k.a. method) in the called object.
CThe calling object waits for a response from the called object.
DThe calling object does not wait for a response from the called object.
Lời giải
Mô hình Call/Return là một trong những mô hình giao tiếp quan trọng trong lập trình hướng đối tượng. Khi một đối tượng gọi một phương thức (method) của đối tượng khác, đó là một ví dụ về mô hình Call/Return. Trong mô hình này, đối tượng gọi (calling object) sẽ gửi một thông điệp đến đối tượng được gọi (called object), yêu cầu nó thực hiện một hành động cụ thể. Đối tượng được gọi sẽ thực hiện hành động đó và sau đó trả về kết quả cho đối tượng gọi. Đối tượng gọi sẽ chờ đợi kết quả từ đối tượng được gọi và sử dụng nó cho các mục đích của mình. Mô hình Call/Return cho phép các đối tượng giao tiếp với nhau một cách hiệu quả và giúp phân chia công việc một cách rõ ràng.
Mở trang câu hỏi này →
AOne state with a different transition out of it for each incoming message
BOne state for each of the alternative messages
CA composite state to handle the alternative messages
DA substate for each alternative message
Lời giải
Đáp án đúng: A. Đối tượng điều khiển phụ thuộc trạng thái đang ở MỘT trạng thái; việc nó có thể nhận thông điệp a hoặc b được mô hình hoá bằng cách vẽ từ trạng thái đó nhiều phép chuyển đi ra, mỗi phép chuyển ứng với một thông điệp đến và dẫn tới một trạng thái đích khác nhau. B sai vì nhầm thông điệp với trạng thái: thông điệp là sự kiện kích hoạt phép chuyển, không phải trạng thái. C sai vì trạng thái ghép dùng để phân rã một trạng thái phức tạp thành máy con, không phải để phân nhánh theo thông điệp đến. D sai vì tạo trạng thái con cho mỗi thông điệp là biến sự kiện thành trạng thái, sai cùng một kiểu với B nhưng ở mức phân cấp.
Mở trang câu hỏi này →
54What is a platform-specific model (PSM)?4 lựa chọnTrung bình63% trả lời đúng
AA 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ột mô hình cụ thể của kiến trúc phần mềm được ánh xạ vào một nền tảng cụ thể được gọi là mô hình nền tảng cụ thể (PSM). PSM là một mô hình chi tiết và chính xác của kiến trúc phần mềm, được tạo ra sau khi đã chọn nền tảng cụ thể để triển khai phần mềm. Nó mô tả cách phần mềm sẽ hoạt động trên nền tảng đó, bao gồm các chi tiết về cấu trúc, giao tiếp và các yêu cầu khác. PSM giúp đảm bảo rằng phần mềm được thiết kế phù hợp với nền tảng và có thể hoạt động hiệu quả trên đó.
Mở trang câu hỏi này →
AAll attributes of the superclass and its subclasses are stored in a single database table, with a discriminator column to differentiate between subclasses.
BEach class in the hierarchy is mapped to its database table, with the superclass table containing common attributes and subclass tables containing specific attributes.
CEach subclass in the hierarchy is mapped to its database table, including attributes inherited from the superclass, avoiding null values and ensuring relevance but potentially leading to data redundancy.
DSuperclasses and subclasses are merged to only one table.
Lời giải
Để ánh xạ một cơ sở dữ liệu quan hệ sang một hiệp hội hóa hóa tổng quát / đặc biệt, có ba phương pháp chính. Phương pháp đầu tiên là lưu trữ tất cả các thuộc tính của lớp cha và các lớp con trong một bảng cơ sở dữ liệu duy nhất, với một cột phân biệt để phân biệt giữa các lớp con. Phương pháp thứ hai là ánh xạ mỗi lớp trong hiệp hội sang bảng cơ sở dữ liệu riêng, với bảng lớp cha chứa các thuộc tính chung và bảng lớp con chứa các thuộc tính riêng. Phương pháp thứ ba là ánh xạ mỗi lớp con trong hiệp hội sang bảng cơ sở dữ liệu riêng, bao gồm cả các thuộc tính thừa hưởng từ lớp cha, tránh các giá trị null và đảm bảo tính liên quan nhưng có thể dẫn đến trùng lặp dữ liệu. Tất cả ba phương pháp đều có thể được sử dụng tùy thuộc vào yêu cầu cụ thể của dự án.
Mở trang câu hỏi này →
56What is the signature of an operation?4 lựa chọnDễ100% trả lời đúng
AThe operation's name
BThe operation's function or subroutine
CThe operation's name, parameters, and return value
DThe object's interface
Lời giải
Tính chất của một phương thức (operation) được gọi là dấu hiệu (signature) của nó. Dấu hiệu của một phương thức bao gồm tên phương thức, tham số và giá trị trả về. Điều này giúp xác định rõ ràng cách thức hoạt động của phương thức và cách thức giao tiếp giữa các phần tử trong hệ thống. Ví dụ, khi gọi một phương thức, chúng ta cần biết tên phương thức, các tham số cần cung cấp và giá trị nào sẽ được trả về. Điều này giúp đảm bảo tính nhất quán và dễ dàng sử dụng trong việc gọi và triển khai phương thức.
Mở trang câu hỏi này →
ABoundary Classes
BEntity Classes
CControl Classes
DDatabase Classes
Lời giải
Trong quá trình phân loại các lớp trong Object và Class Structuring, chúng ta thường gặp các loại lớp sau: Boundary Classes (Lớp biên giới), Entity Classes (Lớp thực thể) và Control Classes (Lớp điều khiển). Tuy nhiên, Database Classes (Lớp cơ sở dữ liệu) không thường được coi là một phần của Object và Class Structuring. Lý do là vì Object và Class Structuring tập trung vào việc thiết kế các lớp dựa trên yêu cầu nghiệp vụ và logic kinh doanh, trong khi Database Classes liên quan đến việc thiết kế cơ sở dữ liệu và quản lý dữ liệu. Vì vậy, Database Classes không thuộc về Object và Class Structuring.
Mở trang câu hỏi này →
58In UML, what is the purpose of a "composite structure diagram"?4 lựa chọnTrung bình63% trả lời đúng
ATo represent the static structure of a system's classes and their relationships.
BTo illustrate the interactions and collaborations between objects in a system.
CTo model the organization and behavior of objects within a single classifier.
DTo depict the flow of control and the partitioning of a system into states and transitions.
Lời giải
Trong UML, sơ đồ cấu trúc phức hợp (composite structure diagram) được sử dụng để mô tả tổ chức và hành vi của các đối tượng bên trong một phân loại duy nhất. Nó giúp chúng ta hiểu rõ về mối quan hệ giữa các thành phần và cách chúng tương tác với nhau để đạt được mục tiêu chung. Sơ đồ này thường được sử dụng để mô hình hóa các hệ thống phức tạp, nơi mà các đối tượng có quan hệ chặt chẽ với nhau và cần được quản lý một cách hiệu quả. Bằng cách sử dụng sơ đồ cấu trúc phức hợp, chúng ta có thể xác định rõ ràng về tổ chức và hành vi của các đối tượng, từ đó giúp cải thiện chất lượng và hiệu suất của hệ thống.
Mở trang câu hỏi này →
ADetermining the subsystem structure
BDeciding on the precise semantics of message communication
CNaming and defining each message's parameters
DPrioritizing data transferred between objects above message names and parameters
Lời giải
Khi di chuyển từ mô hình phân tích sang mô hình thiết kế, việc xác định cấu trúc của các phân hệ (subsystem) là rất quan trọng. Điều này giúp đảm bảo rằng các phân hệ được thiết kế một cách hợp lý và hiệu quả, giảm thiểu sự phức tạp và tăng cường khả năng mở rộng. Việc xác định cấu trúc của các phân hệ cũng giúp xác định các mối quan hệ giữa các phân hệ, từ đó giúp thiết kế các giao diện và giao tiếp giữa các phân hệ một cách chính xác. Điều này là nền tảng quan trọng để xây dựng một hệ thống phần mềm hiệu quả và ổn định.
Mở trang câu hỏi này →
60What is the generic form of an interaction diagram?4 lựa chọnTrung bình67% trả lời đúng
ADepicts several objects interacting with each other
BDepicts one possible sequence of interactions among objects
CDepicts all possible interactions among objects
DDepicts all classes and their associations with each other
Lời giải
Một sơ đồ tương tác (interaction diagram) là một công cụ được sử dụng để mô tả các tương tác giữa các đối tượng trong một hệ thống. Nó cho thấy các đối tượng tương tác với nhau như thế nào và theo trình tự nào. Trong một sơ đồ tương tác, các đối tượng được thể hiện dưới dạng các hình dạng khác nhau, chẳng hạn như hình vuông, hình tròn, v.v. Các mối quan hệ giữa các đối tượng được thể hiện bằng các đường kết nối. Sơ đồ tương tác giúp các nhà phát triển hiểu rõ hơn về các tương tác giữa các đối tượng và có thể dự đoán được các hành vi của hệ thống. Nó cũng giúp các nhà phát triển xác định các vấn đề tiềm ẩn và cải thiện hệ thống.
Mở trang câu hỏi này →
61What is the purpose of a stereotype in class structuring?4 lựa chọnDễ80% trả lời đúng
ATo label a class according to its class structuring criterion
BTo identify the objects that belong to the same class
CTo distinguish between external objects and software objects
DTo identify the association between two classes
Lời giải
Stereotype trong cấu trúc lớp là một khái niệm quan trọng trong lập trình hướng đối tượng. Nó giúp xác định đặc điểm chung của một lớp, bao gồm cả thuộc tính và hành vi. Mục đích chính của một stereotype là để dán nhãn một lớp theo tiêu chí cấu trúc lớp. Điều này cho phép các nhà phát triển xác định rõ ràng đặc điểm của lớp và tạo điều kiện thuận lợi cho việc thiết kế và triển khai hệ thống. Stereotype cũng giúp giảm thiểu sự nhầm lẫn và tăng cường tính nhất quán trong cấu trúc lớp.
Mở trang câu hỏi này →
62What is a periodic task?4 lựa chọnDễ100% trả lời đúng
AA task that responds to each message it receives
BA task that is activated by a timer event
CA task that is activated by an external event
DA task that is activated by an input event
Lời giải
Một nhiệm vụ chu kỳ là một loại nhiệm vụ được kích hoạt theo một lịch trình đã được định nghĩa. Nó được thực hiện một cách tự động và thường được sử dụng để thực hiện các tác vụ lặp lại như gửi tin nhắn hàng ngày, cập nhật dữ liệu hàng tuần, v.v. Nhiệm vụ chu kỳ có thể được kích hoạt bởi một timer, một lịch trình hoặc một sự kiện cụ thể. Ví dụ, một ứng dụng có thể có một nhiệm vụ chu kỳ để gửi thông báo hàng ngày về các sự kiện quan trọng. Nhiệm vụ chu kỳ giúp giảm tải công việc của người dùng và đảm bảo rằng các tác vụ quan trọng được thực hiện một cách đều đặn.
Mở trang câu hỏi này →
ATo show the interactions between objects at runtime
BTo depict the high-level functionality of a system
CTo depict the high-level functionality of a system
DTo illustrate the structure and relationships between classes
Lời giải
Một sơ đồ lớp (class diagram) trong UML (Unified Modeling Language) là một công cụ quan trọng để mô tả cấu trúc và mối quan hệ giữa các lớp trong một hệ thống. Mục đích chính của sơ đồ lớp là minh họa các lớp và mối quan hệ giữa chúng, bao gồm các mối quan hệ như kế thừa, thực hiện, liên kết và phụ thuộc. Điều 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 hệ thống, từ đó có thể thiết kế và phát triển hệ thống một cách hiệu quả hơn. Sơ đồ lớp cũng giúp các nhà phát triển xác định các lớp và mối quan hệ giữa chúng, từ đó có thể tạo ra các mô hình và giao diện phù hợp.
Mở trang câu hỏi này →
AIdentifies them as identical with no differences
BDoes not acknowledge the Unified Software Development Process
CHighlights key differences and similarities between them
DSuggests that the Unified Software Development Process is outdated
Lời giải
COMET (Capability Maturity Model for Engineering Teams) là một mô hình đánh giá khả năng phát triển của các nhóm kỹ sư phần mềm. Khi so sánh chu kỳ phát triển của COMET với Unified Software Development Process (USDP), chúng ta có thể thấy rằng cả hai mô hình đều có mục tiêu chung là cải thiện khả năng phát triển phần mềm. Tuy nhiên, chúng có một số điểm khác biệt và tương đồng quan trọng. COMET tập trung vào khả năng phát triển của các nhóm kỹ sư, trong khi USDP tập trung vào các quy trình phát triển phần mềm. COMET cũng có một số bước phát triển khác nhau so với USDP. Vì vậy, COMET không chỉ đơn giản là xác định rằng hai mô hình này là giống nhau mà không có sự khác biệt.
Mở trang câu hỏi này →