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

164/436 câuCòn 272
ACapturing the physical structure of the system
BModeling the behavior of objects based on their state changes
CDefining the database schema for the system.
DIdentifying reusable software components
Lời giải
Nền tảng của mô hình tương tác động lực học phụ thuộc vào trạng thái là mô hình hóa hành vi của các đối tượng dựa trên các thay đổi trạng thái của chúng. Điều này có nghĩa là mô hình sẽ tập trung vào việc mô tả cách các đối tượng thay đổi trạng thái của chúng ảnh hưởng đến hành vi của chúng. Ví dụ, một chiếc xe có thể có các trạng thái khác nhau như đang dừng, đang di chuyển, hoặc đang đỗ. Mô hình này sẽ mô tả cách hành vi của chiếc xe thay đổi khi nó chuyển từ trạng thái này sang trạng thái khác. Mô hình này rất hữu ích trong việc mô tả các hệ thống phức tạp có nhiều trạng thái khác nhau.
Mở trang câu hỏi này →
AClass diagram
BUse case diagram
CSequence diagram
DState diagram
Lời giải
Sơ đồ UML thường được sử dụng để thể hiện hành vi động của hệ thống, bao gồm chuỗi tương tác giữa các đối tượng hoặc thành phần là sơ đồ chuỗi. Sơ đồ chuỗi cho phép bạn mô tả các tương tác giữa các đối tượng trong một hệ thống, bao gồm cả các phương thức được gọi và các đối tượng tham gia. Điều này giúp bạn hiểu rõ hơn về cách các đối tượng tương tác với nhau và cách hệ thống hoạt động. Sơ đồ chuỗi thường được sử dụng trong việc thiết kế và phát triển các hệ thống phức tạp, nơi mà các đối tượng cần tương tác với nhau một cách chính xác để đạt được mục tiêu.
Mở trang câu hỏi này →
147What is an aggregation hierarchy?4 lựa chọnDễ100% trả lời đúng
AA weak form of a generalization/specialization hierarchy
BA strong form of a generalization/specialization hierarchy
CA weak form of a whole/part relationship
DA strong form of a whole/part relationship
Lời giải
Một hiệp hội cấp bậc (aggregation hierarchy) là một loại quan hệ giữa các đối tượng trong cơ sở dữ liệu, mô tả mối quan hệ giữa một đối tượng và các đối tượng con của nó. Trong một hiệp hội cấp bậc, một đối tượng được gọi là 'phần' (part) và các đối tượng khác được gọi là 'tập hợp' (collection) của nó. Mối quan hệ giữa phần và tập hợp là một mối quan hệ 'tập hợp/phần' (whole/part), trong đó tập hợp bao gồm tất cả các phần. Ví dụ, một trường học có thể được xem là một tập hợp của các lớp học, và mỗi lớp học là một phần của trường học. Một hiệp hội cấp bậc thường được biểu diễn bằng một mối quan hệ một-đa nhiều (one-to-many), trong đó một phần có thể thuộc về nhiều tập hợp khác nhau.
Mở trang câu hỏi này →
AIf a component goes down, other components can continue to execute.
BComponents execute concurrently.
CComponents are distributed.
DComponents communicate using messages.
Lời giải
Tính chất tự chủ hóa địa phương trong thiết kế dựa trên thành phần mang lại lợi thế là nếu một thành phần gặp sự cố, các thành phần khác vẫn có thể tiếp tục thực hiện. Điều này là do các thành phần được thiết kế độc lập và tự chủ, vì vậy nếu một thành phần gặp sự cố, nó sẽ không ảnh hưởng đến các thành phần khác. Thay vào đó, các thành phần khác vẫn có thể tiếp tục thực hiện công việc của mình mà không bị gián đoạn. Điều này giúp tăng cường độ tin cậy và khả năng phục hồi của hệ thống. Ngoài ra, tính chất tự chủ hóa địa phương cũng giúp giảm thiểu tác động của sự cố đến toàn bộ hệ thống, vì mỗi thành phần được thiết kế để tự chủ và độc lập.
Mở trang câu hỏi này →
APublic
BPrivate
CProtected
DStatic
Lời giải
Trong lập trình hướng đối tượng, từ khóa thường được sử dụng để thực hiện ẩn thông tin bên trong một lớp là Private. Khi sử dụng từ khóa Private, các thuộc tính hoặc phương thức của lớp sẽ không thể truy cập được từ bên ngoài lớp, giúp bảo vệ thông tin và ngăn chặn việc truy cập không hợp lệ. Điều này giúp tăng cường tính bảo mật và giảm thiểu khả năng xảy ra lỗi do truy cập không đúng. Ngoài ra, thông tin được ẩn cũng giúp giảm thiểu khả năng xảy ra xung đột giữa các lớp, vì các lớp không thể truy cập trực tiếp vào thông tin của nhau.
Mở trang câu hỏi này →
150What is "white box" testing?4 lựa chọnDễ100% trả lời đúng
AUnit testing
BIntegration testing
CTesting with knowledge of the system internals
DTesting without knowledge of the software internals
Lời giải
Đáp án đúng: C. Kiểm thử hộp trắng là kiểm thử CÓ biết cấu trúc bên trong: người kiểm thử đọc mã nguồn, thiết kế ca kiểm thử theo các đường thực thi, nhánh điều kiện và vòng lặp, rồi đo độ phủ. D sai vì "không biết bên trong" chính là định nghĩa của kiểm thử hộp đen — đây là phương án đối lập được đặt cạnh để gài. A và B sai vì kiểm thử đơn vị và kiểm thử tích hợp là các MỨC kiểm thử (phân theo phạm vi), còn hộp trắng/hộp đen là KỸ THUẬT kiểm thử (phân theo mức độ hiểu biết về nội tại). Kiểm thử đơn vị thường dùng kỹ thuật hộp trắng, nhưng hai khái niệm không đồng nhất.
Mở trang câu hỏi này →
AStatechart Diagram
BClass Diagram
CActivity Diagram
DDeployment Diagram
Lời giải
UML (Unified Modeling Language) là một ngôn ngữ mô hình hóa được sử dụng để mô tả và thiết kế các hệ thống phần mềm. Trong các loại biểu đồ UML, biểu đồ lớp (Class Diagram) được sử dụng chủ yếu để mô hình hóa mối quan hệ giữa các lớp trong hệ thống. Biểu đồ lớp giúp minh họa cấu trúc và mối quan hệ giữa các lớp, 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 phần mềm hiểu rõ về cấu trúc và chức năng 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.
Mở trang câu hỏi này →
AAn intermediate tier is a client tier.
BAn intermediate tier is a service tier.
CAn intermediate tier is both a control tier and a service tier.
DAn intermediate tier is both a client tier and a service tier
Lời giải
Trong mô hình kiến trúc Client/Service đa tầng, tầng trung gian (intermediate tier) đóng vai trò quan trọng. Tầng trung gian có thể được hiểu là tầng vừa cung cấp dịch vụ (service) vừa nhận yêu cầu từ tầng khách hàng (client). Điều này cho phép tầng trung gian thực hiện các chức năng như xử lý dữ liệu, cung cấp thông tin và thực hiện các tác vụ phức tạp mà không cần phải truyền tải dữ liệu giữa tầng khách hàng và tầng dịch vụ. Tầng trung gian giúp tăng hiệu suất, giảm tải cho tầng dịch vụ và cung cấp khả năng mở rộng hệ thống.
Mở trang câu hỏi này →
153What does a use case typically describe in use case modeling?4 lựa chọnDễ100% trả lời đúng
AThe internal workings of the system's hardware
BThe interaction between an actor and the system to achieve a goal
CThe database schema
DThe software development methodology
Lời giải
Một use case thường mô tả cách thức tương tác giữa một người dùng (actor) và hệ thống để đạt được một mục tiêu cụ thể. Điều này bao gồm việc mô tả các bước thực hiện, các yêu cầu và các kết quả mong muốn. Mục đích của việc mô tả use case là để hiểu rõ hơn về cách người dùng sẽ tương tác với hệ thống và xác định các yêu cầu chức năng cần thiết.
Mở trang câu hỏi này →
154What is an information hiding object?4 lựa chọnDễ80% trả lời đúng
AAn active object that encapsulates data
BA passive object that encapsulates data
CA class that encapsulates data
DA task that encapsulates data
Lời giải
Một đối tượng ẩn thông tin là một khái niệm trong lập trình hướng đối tượng, trong đó một đối tượng được thiết kế để ẩn dữ liệu của nó khỏi các phần khác của chương trình. Đối tượng ẩn thông tin thường được sử dụng để ngăn chặn truy cập trực tiếp vào dữ liệu của nó, từ đó giúp bảo vệ dữ liệu khỏi bị thay đổi hoặc bị xâm phạm. Đối tượng ẩn thông tin thường được tạo ra bằng cách sử dụng các kỹ thuật như encapsulation, trong đó dữ liệu và các phương thức liên quan đến dữ liệu được nhóm lại trong một đối tượng duy nhất. Điều này giúp tăng cường bảo mật và giảm thiểu rủi ro xảy ra khi sử dụng dữ liệu.
Mở trang câu hỏi này →
155What is a generalization/specialization hierarchy?4 lựa chọnKhó33% trả lời đúng
AA whole/part relationship
BAn inheritance relationship
CAn association between a generalized class and a specialized class
DA layered hierarchy
Lời giải
Một hiệp hội tổng/specialization (hay còn gọi là hiệp hội tổng hóa) là một cấu trúc tổ chức các lớp trong đó một lớp được tạo ra từ một lớp khác. Lớp được tạo ra được gọi là lớp con (specialized class) và lớp khác được gọi là lớp cha (generalized class). Trong một hiệp hội tổng/specialization, lớp con kế thừa các thuộc tính và hành vi của lớp cha và có thể thêm hoặc thay đổi chúng. Điều này giúp giảm thiểu sự lặp lại và tăng cường tính linh hoạt trong thiết kế hệ thống. Ví dụ, nếu chúng ta có một lớp 'Động vật' và một lớp 'Mèo', thì 'Mèo' có thể được tạo ra từ 'Động vật' và kế thừa các thuộc tính như 'sống', 'ăn' v.v. từ lớp cha.
Mở trang câu hỏi này →
156What is "black box" testing?4 lựa chọnTrung bình
ASystem testing
BIntegration testing
CTesting with knowledge of the system internals
DTesting without knowledge of the software internals
Lời giải
Black box testing là một phương pháp kiểm thử phần mềm mà không cần biết chi tiết về cấu trúc hoặc nội dung của phần mềm. Trong quá trình kiểm thử, người kiểm thử chỉ biết về đầu vào và đầu ra của phần mềm mà không cần biết về các quy trình hoặc logic bên trong. Điều này cho phép người kiểm thử kiểm thử phần mềm mà không cần phải biết về mã nguồn hoặc kiến trúc phần mềm. Phương pháp này giúp đảm bảo rằng phần mềm hoạt động chính xác và đáp ứng được yêu cầu của người dùng.
Mở trang câu hỏi này →
157How do architectural communication patterns improve system performance?4 lựa chọnDễ100% trả lời đúng
ABy enabling asynchronous messaging and efficient data exchange
BBy simplifying class diagrams
CBy automating interaction diagrams
DBy centralizing deployment diagrams
Lời giải
Mô hình giao tiếp kiến trúc giúp cải thiện hiệu suất hệ thống bằng cách cho phép giao tiếp không đồng bộ và trao đổi dữ liệu hiệu quả. Điều này cho phép các thành phần hệ thống hoạt động độc lập và giảm thiểu thời gian chờ đợi, từ đó tăng cường hiệu suất tổng thể. Ngoài ra, mô hình giao tiếp kiến trúc cũng giúp giảm thiểu lỗi và tăng cường độ tin cậy của hệ thống. Bằng cách sử dụng các mô hình giao tiếp phù hợp, các nhà phát triển có thể thiết kế và triển khai hệ thống một cách hiệu quả hơn, đáp ứng nhu cầu của người dùng và đạt được mục tiêu kinh doanh.
Mở trang câu hỏi này →
ABy integrating object-oriented analysis with system-level design
BBy eliminating state transition diagrams
CBy reducing complexity in deployment models
DBy automating software testing
Lời giải
COMET (Component-Oriented Methodology for Embedded Systems Technology) là một phương pháp thiết kế kiến trúc giúp các nhà thiết kế tích hợp phân tích đối tượng với thiết kế hệ thống cấp cao. Điều này cho phép họ tạo ra các mô hình kiến trúc phức tạp và linh hoạt, đáp ứng được các yêu cầu của hệ thống. COMET cũng giúp giảm thiểu sự phức tạp trong các mô hình triển khai và tăng cường khả năng mở rộng của hệ thống. Nhờ đó, COMET trở thành một công cụ quan trọng trong thiết kế kiến trúc, giúp các nhà thiết kế tạo ra các hệ thống hiệu quả và đáng tin cậy.
Mở trang câu hỏi này →
AOne-to-one relationship
BOne-to-many relationship
CMany-to-many relationship
DAggregate or composite relationship
Lời giải
Trong quan hệ cơ sở dữ liệu, một bảng liên kết (association table) được sử dụng để lưu trữ mối quan hệ giữa hai bảng khác nhau. Loại mối quan hệ nào đòi hỏi phải sử dụng một khóa ghép (concatenated key) làm khóa chính trong bảng liên kết? Câu trả lời đúng là "Quan hệ nhiều-màng (Many-to-many relationship)". Khi hai bảng có mối quan hệ nhiều-màng, nghĩa là một bản ghi trong bảng này có thể liên kết với nhiều bản ghi trong bảng kia, và ngược lại. Để lưu trữ mối quan hệ này, chúng ta cần tạo một bảng liên kết với khóa chính là khóa ghép của hai bảng liên quan. Khóa ghép này được tạo bằng cách kết hợp khóa chính của hai bảng liên quan.
Mở trang câu hỏi này →
160What is the main purpose of using Use Case Modeling in system development?4 lựa chọnDễ100% trả lời đúng
AIdentifying the interactions between users and the system
BDeveloping algorithms for data storage
CAutomating performance testing
DEstablishing network protocols
Lời giải
Sử dụng mô hình Use Case trong phát triển hệ thống nhằm xác định mục đích chính là xác định các tương tác giữa người dùng và hệ thống. Mô hình này giúp các nhà phát triển hiểu rõ về nhu cầu và hành vi của người dùng, từ đó thiết kế hệ thống đáp ứng được nhu cầu của họ. Quá trình này bao gồm việc xác định các trường hợp sử dụng (Use Case) và mô tả các tương tác giữa người dùng và hệ thống trong từng trường hợp sử dụng. Điều này giúp đảm bảo rằng hệ thống được phát triển đáp ứng được nhu cầu của người dùng và đạt được hiệu suất cao.
Mở trang câu hỏi này →
161What does a state-dependent interaction involve?4 lựa chọnTrung bình60% trả lời đúng
AA control object
BA state-dependent entity object
CA state-dependent control object
DA state-dependent user interaction object
Lời giải
Một tương tác phụ thuộc vào trạng thái là một khái niệm trong thiết kế người dùng, mô tả cách một đối tượng điều khiển (control object) thay đổi hành vi của nó dựa trên trạng thái hiện tại của người dùng hoặc hệ thống. Ví dụ, một nút bấm có thể thay đổi màu sắc hoặc kích thước khi người dùng di chuyển chuột qua nó. Điều này giúp người dùng hiểu rõ hơn về cách hệ thống phản ứng với các hành động của họ. Trong thiết kế người dùng, tương tác phụ thuộc vào trạng thái giúp tạo ra trải nghiệm người dùng thân thiện và dễ sử dụng hơn.
Mở trang câu hỏi này →
162What is carried out during design modeling?4 lựa chọnTrung bình50% trả lời đúng
ADeveloping use case models
BDeveloping data flow and entity relationship diagrams
CDeveloping static and dynamic models
DDeveloping software architectures
Lời giải
Đáp án đúng: D. Mô hình hoá thiết kế (design modeling) là pha kiến trúc phần mềm được thiết kế: quyết định hệ thống gồm những hệ thống con và thành phần nào, chúng giao tiếp ra sao, triển khai thế nào — tức chuyển từ vùng bài toán sang vùng lời giải. A sai vì mô hình use case được xây ở pha mô hình hoá YÊU CẦU, trước đó. C sai vì mô hình tĩnh và động của miền bài toán được xây ở pha mô hình hoá PHÂN TÍCH — đây là bẫy sát nhất vì thiết kế cũng có mô hình tĩnh/động, nhưng ba pha của COMET được đặt tên theo sản phẩm đặc trưng, và sản phẩm đặc trưng của pha thiết kế là kiến trúc phần mềm. B sai vì sơ đồ luồng dữ liệu và sơ đồ thực thể quan hệ thuộc phương pháp phân tích có cấu trúc, không phải sản phẩm của mô hình hoá thiết kế hướng đối tượng.
Mở trang câu hỏi này →
ACaptures the message flow between system components
BCentralizes object modeling processes
CEliminates the need for state diagrams
DAutomates testing frameworks
Lời giải
Khi thiết kế các subsystem, việc mô hình hóa tương tác động giúp chúng ta hiểu rõ hơn về cách các thành phần của hệ thống giao tiếp với nhau. Điều này đặc biệt quan trọng trong các hệ thống phức tạp, nơi mà các thành phần khác nhau phải tương tác với nhau để đạt được mục tiêu chung. Mô hình hóa tương tác động cho phép chúng ta bắt đầu từ các thành phần đơn giản và dần dần xây dựng lên các mô hình phức tạp hơn, giúp chúng ta hiểu rõ hơn về cách các thành phần tương tác với nhau. Điều này giúp chúng ta thiết kế các subsystem hiệu quả hơn, giảm thiểu khả năng xảy ra lỗi và cải thiện hiệu suất của hệ thống.
Mở trang câu hỏi này →
AIn association class
BIn the optional relational table
CIn both classes participating in the association
DIn neither class, as it is not needed
Lời giải
Khi ánh xạ một mối quan hệ một-một giữa hai lớp trong cơ sở dữ liệu quan hệ, cần xác định vị trí của khóa ngoại. Khóa ngoại là một thuộc tính trong một trong hai lớp tham gia mối quan hệ, giúp liên kết các bản ghi giữa hai bảng. Trong trường hợp này, có bốn lựa chọn khác nhau về vị trí của khóa ngoại.
Mở trang câu hỏi này →