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

284/436 câuCòn 152
265What is the main goal of system testing?4 lựa chọnDễ
ATo test individual components before integration
BTo verify that the fully integrated hardware and software system meets its specified requirements
CTo test the internal code structure for errors
DTo perform load testing only
Lời giải
Mục tiêu chính của việc kiểm thử hệ thống là xác minh rằng hệ thống được tích hợp hoàn chỉnh, bao gồm cả phần cứng và phần mềm, đáp ứng các yêu cầu được chỉ định. Quá trình kiểm thử hệ thống giúp đảm bảo rằng hệ thống hoạt động đúng như dự kiến và đáp ứng các yêu cầu của người dùng. Điều này bao gồm việc kiểm tra các chức năng, hiệu suất và khả năng tương thích của hệ thống. Kiểm thử hệ thống giúp phát hiện và sửa lỗi sớm, giảm thiểu thời gian và chi phí phát triển hệ thống. Nó cũng giúp đảm bảo rằng hệ thống đáp ứng các tiêu chuẩn và quy định an toàn, bảo mật và chất lượng.
Mở trang câu hỏi này →
ATo define the functionality of the system
BTo specify the development process
CTo define success criteria, orthogonal to functionality
DTo dictate the user interface design
Lời giải
Đáp án đúng: C. Đặc tính kiến trúc (architecture characteristic) là các yêu cầu phi chức năng — hiệu năng, khả năng mở rộng, bảo mật, khả năng bảo trì… Chúng định nghĩa tiêu chí thành công của hệ thống và trực giao với chức năng: cùng một tập chức năng có thể được hiện thực với những mức đặc tính rất khác nhau, và chính chúng mới là thứ quyết định lựa chọn kiến trúc. A sai vì chức năng hệ thống do yêu cầu chức năng mô tả, đó chính là phần "trực giao" còn lại. B sai vì quy trình phát triển là chuyện quản lý dự án, không phải đặc tính kiến trúc. D sai vì thiết kế giao diện là quyết định ở tầng thấp hơn nhiều.
Mở trang câu hỏi này →
267What is data abstraction?4 lựa chọn
AAnother name for information hiding
BEncapsulating data so that its structure is hidden
CStoring data in a database
DStoring data in a data structure
Lời giải
Data abstraction là một khái niệm quan trọng trong lập trình, giúp chúng ta ẩn đi chi tiết cụ thể của dữ liệu và chỉ hiển thị thông tin cần thiết. Nó cho phép chúng ta tập trung vào việc sử dụng dữ liệu mà không cần quan tâm đến cách dữ liệu được lưu trữ hoặc xử lý. Data abstraction có thể được hiểu là quá trình ẩn đi cấu trúc của dữ liệu, chỉ hiển thị thông tin cần thiết và cung cấp một giao diện đơn giản để tương tác với dữ liệu. Điều này giúp giảm thiểu sự phức tạp và tăng cường tính linh hoạt trong việc sử dụng dữ liệu.
Mở trang câu hỏi này →
AIncreased complexity of software systems
BDecreased software maintainability
CEnhanced modifiability and maintainability of software
DReduction in software functionality
Lời giải
Thông tin giấu (information hiding) trong thiết kế hướng đối tượng giúp đạt được mục tiêu nâng cao tính linh hoạt và dễ bảo trì của phần mềm. Khi thông tin được giấu, các chi tiết phức tạp của phần mềm được ẩn đi và chỉ được truy cập thông qua các giao diện được định nghĩa rõ ràng. Điều này giúp giảm thiểu sự phụ thuộc giữa các mô-đun phần mềm và tăng cường khả năng bảo trì, sửa đổi và mở rộng phần mềm mà không ảnh hưởng đến các phần khác của hệ thống.
Mở trang câu hỏi này →
AStatechart
BClass diagram
CActivity diagram
DDeployment diagram
Lời giải
Trong phân tích thiết kế hướng đối tượng (OO analysis), mô hình hóa là một phần quan trọng để mô tả cấu trúc và hành vi của hệ thống. Mô hình hóa có thể được thực hiện thông qua các loại mô hình khác nhau, bao gồm mô hình lớp, mô hình trạng thái, mô hình hoạt động và mô hình triển khai. Trong số đó, mô hình lớp (Class diagram) là mô hình hóa định nghĩa cấu trúc tĩnh của hệ thống. Nó mô tả các lớp, mối quan hệ giữa các lớp và các thuộc tính của các lớp. Mô hình lớp giúp phân tích và thiết kế hệ thống một cách rõ ràng và hiệu quả.
Mở trang câu hỏi này →
ARequirements modeling
BIncremental software construction
CDesign modeling
DSystem testing
Lời giải
Trong quá trình phát triển phần mềm của COMET, bước đầu tiên là mô hình hóa yêu cầu. Bước này liên quan đến việc thu thập, phân tích và xác định các yêu cầu của hệ thống. Mô hình hóa yêu cầu giúp xác định rõ các yêu cầu của hệ thống, bao gồm cả các yêu cầu chức năng và không chức năng. Quá trình này giúp đảm bảo rằng hệ thống được phát triển đáp ứng được các yêu cầu của người dùng và đạt được mục tiêu của dự án. Bước này thường được thực hiện bởi các chuyên gia yêu cầu, người có trách nhiệm thu thập và phân tích các yêu cầu của hệ thống.
Mở trang câu hỏi này →
ACode refactoring
BUI prototyping
CUse case-driven modeling
DDatabase normalization
Lời giải
Mục tiêu chính của phương pháp COMET là nhấn mạnh vào hoạt động xây dựng mô hình dựa trên trường hợp sử dụng. Phương pháp này tập trung vào việc xác định và mô tả các trường hợp sử dụng của hệ thống, từ đó xây dựng mô hình phù hợp. Điều này giúp đảm bảo rằng mô hình phản ánh đúng yêu cầu của hệ thống và đáp ứng được nhu cầu của người dùng. Xây dựng mô hình dựa trên trường hợp sử dụng là một kỹ thuật quan trọng trong phương pháp COMET, giúp đảm bảo rằng mô hình được xây dựng dựa trên yêu cầu thực tế của hệ thống.
Mở trang câu hỏi này →
272What is an alternative sequence in a use case?4 lựa chọnTrung bình
AA sequence that describes an error case
BA sequence that is different from the main sequence
CA sequence that describes interactions with a secondary actor
DA sequence that describes interactions with a primary actor
Lời giải
Một chuỗi thay thế trong một trường hợp sử dụng là một chuỗi mô tả các tương tác trong một tình huống cụ thể, khác với chuỗi chính. Nó thường mô tả các tình huống ngoại lệ hoặc các tình huống không mong muốn. Ví dụ, trong một trường hợp sử dụng mua hàng trực tuyến, chuỗi chính có thể mô tả quá trình mua hàng thành công, trong khi chuỗi thay thế có thể mô tả tình huống khi khách hàng không thể thanh toán hoặc khi hàng hóa không có sẵn. Chuỗi thay thế giúp chúng ta hiểu rõ hơn về các tình huống có thể xảy ra và cách chúng ta có thể xử lý chúng.
Mở trang câu hỏi này →
273What is a primary actor?4 lựa chọnDễ
AThe actor who goes on stage first
BThe actor that starts the use case
CAn actor that participates in the use case
DAn object inside the system
Lời giải
Đáp án đúng: B. Tác nhân chính (primary actor) là tác nhân KHỞI XƯỚNG use case — người hoặc hệ thống gửi kích thích đầu tiên làm use case bắt đầu chạy, và thường là bên nhận được giá trị chính từ use case đó. C sai vì tác nhân chỉ tham gia vào use case mà không khởi xướng là tác nhân phụ (secondary actor); mỗi use case có đúng một tác nhân chính nhưng có thể có nhiều tác nhân phụ. D sai vì tác nhân theo định nghĩa nằm NGOÀI hệ thống, không phải đối tượng bên trong. A sai vì đó chỉ là cách chơi chữ với nghĩa sân khấu của từ "actor".
Mở trang câu hỏi này →
274What is a use case package?4 lựa chọn
AA package describing the actors in the system
BA package describing the use cases in the system
CA group of related use cases
DThe package of objects that participate in the use case
Lời giải
Một gói sử dụng trường hợp (use case package) là một nhóm các trường hợp sử dụng liên quan đến nhau. Nó thường được sử dụng để mô tả các yêu cầu chức năng của hệ thống và các hoạt động mà người dùng có thể thực hiện. Gói sử dụng trường hợp thường bao gồm các trường hợp sử dụng liên quan đến nhau, chẳng hạn như đăng ký tài khoản, đăng nhập, và quản lý thông tin cá nhân. Mục đích của gói sử dụng trường hợp là giúp các nhà phát triển hiểu rõ hơn về yêu cầu chức năng của hệ thống và thiết kế các giải pháp phù hợp.
Mở trang câu hỏi này →
AEmployee
BDepartment
CWorks in
DBoth Employee and Department
Lời giải
Trong ví dụ 'Nhân viên làm việc trong Bộ phận', câu trả lời đúng cho câu hỏi này là 'Làm việc trong'. Câu 'Làm việc trong' đại diện cho mối quan hệ giữa 'Nhân viên' và 'Bộ phận'. Nó cho thấy một nhân viên có thể làm việc trong nhiều bộ phận khác nhau và một bộ phận có thể có nhiều nhân viên làm việc trong đó. Mối quan hệ này được thể hiện bằng cách sử dụng từ 'làm việc trong', cho thấy mối liên hệ giữa nhân viên và bộ phận.
Mở trang câu hỏi này →
AAn object only connects to itself
BEvery object connects to all others
COne object links to multiple others
DAll objects are independent
Lời giải
Trong sơ đồ lớp UML, mối quan hệ một-đa số (one-to-many) đại diện cho tình huống trong đó một đối tượng có thể liên kết với nhiều đối tượng khác. Điều này có nghĩa là một lớp có thể có nhiều đối tượng con hoặc liên kết với nhiều đối tượng khác trong cùng một lớp. Ví dụ, một lớp 'Sinh viên' có thể có nhiều đối tượng con 'Lớp học', mỗi lớp học có thể có nhiều sinh viên. Mối quan hệ một-đa số cho phép mô tả các quan hệ phức tạp giữa các lớp và đối tượng trong một hệ thống.
Mở trang câu hỏi này →
AThe entity classes in the system
BHow the system interfaces to other systems
CThe boundary between the system and the external environment
DThe context classes in the system
Lời giải
Đáp án đúng: C. Sơ đồ lớp ngữ cảnh hệ thống (system context class diagram) vẽ hệ thống như một lớp tổng hợp duy nhất ở giữa và các lớp ngoài quanh nó, qua đó xác định RANH GIỚI giữa hệ thống và môi trường bên ngoài: cái gì nằm trong phạm vi phải xây, cái gì nằm ngoài. B đúng một phần nhưng hẹp hơn đáp án — hệ thống ngoài chỉ là một loại thực thể ngoài; môi trường còn gồm người dùng và thiết bị, nên "ranh giới với môi trường bên ngoài" mới là mô tả đủ. A sai vì lớp thực thể thuộc mô hình tĩnh bên trong hệ thống. D sai vì "các lớp ngữ cảnh trong hệ thống" chỉ là cách nói vòng lại tên sơ đồ, không nói được nó định nghĩa cái gì.
Mở trang câu hỏi này →
AUser Interface Layer
BApplication Logic Layer
CDatabase Layer
DNetwork Communication Layer
Lời giải
Khi thiết kế kiến trúc nhiều lớp cho hệ thống doanh nghiệp sử dụng COMET, lớp thường xử lý các hoạt động logic kinh doanh là Application Logic Layer. Điều này có nghĩa là lớp này sẽ chứa các quy trình và chức năng kinh doanh chính của hệ thống, bao gồm các quy tắc và logic cần thiết để xử lý các yêu cầu kinh doanh. Ví dụ, nếu hệ thống quản lý bán hàng, lớp logic kinh doanh có thể chứa các chức năng như tính toán giá bán, quản lý hàng tồn kho, và tạo hóa đơn.
Mở trang câu hỏi này →
279What is a business logic object?4 lựa chọnDễ
AAn object used in business applications
BAn object that defines business - specific application logic
CThe internal logic of an object
DA business object that determines whether a client request is logical
Lời giải
Một đối tượng logic kinh doanh (Business Logic Object) là một khái niệm quan trọng trong lập trình ứng dụng. Nó được định nghĩa là một đối tượng có trách nhiệm thực hiện các quy trình kinh doanh cụ thể, bao gồm các hoạt động như tính toán, kiểm tra, và cập nhật dữ liệu. Đối tượng logic kinh doanh thường được sử dụng trong các ứng dụng kinh doanh để thực hiện các quy trình kinh doanh phức tạp, chẳng hạn như tính toán hóa đơn, quản lý hàng tồn kho, và kiểm tra tính hợp lệ của dữ liệu. Nó giúp phân tách logic kinh doanh khỏi logic ứng dụng, làm cho mã nguồn trở nên dễ đọc, dễ hiểu và dễ bảo trì hơn.
Mở trang câu hỏi này →
280What is the primary purpose of a sequence diagram in UML?4 lựa chọnDễ83% trả lời đúng
ATo model the static structure of a system
BTo represent the flow of data between objects
CTo describe the interactions between objects over time
DTo design database schemas
Lời giải
Một sơ đồ chuỗi trong UML đượ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ách các đối tượng tương tác với nhau theo thời gian, bao gồm các sự kiện và các tín hiệu được gửi và nhận giữa chúng. Sơ đồ chuỗi giúp các nhà phát triển hiểu rõ hơn về cách các thành phần của hệ thống tương tác với nhau và giúp họ xác định các vấn đề tiềm ẩn trong thiết kế hệ thống. Nó cũng giúp các nhà phát triển tạo ra các giao diện người dùng tốt hơn và cải thiện hiệu suất của hệ thống.
Mở trang câu hỏi này →
AOne-to-one
BOne-to-many
CMany-to-many
DNone of the above
Lời giải
Trong thiết kế cơ sở dữ liệu quan hệ, mối quan hệ giữa các bảng thường đòi hỏi khóa ngoại (foreign key) khi có mối quan hệ một đến nhiều (one-to-many). Điều này có nghĩa là một bản ghi trong bảng chủ (parent table) có thể liên quan đến nhiều bản ghi trong bảng con (child table). Ví dụ, một khách hàng có thể đặt nhiều đơn hàng, nhưng một đơn hàng chỉ thuộc về một khách hàng. Khóa ngoại giúp liên kết các bảng này và đảm bảo tính toàn vẹn dữ liệu.
Mở trang câu hỏi này →
AThey simplify the design of database schemas
BThey help in visualizing object responsibilities and collaborations
CThey are used primarily for modeling hardware interactions
DThey enforce coding standards during the development
Lời giải
Các sơ đồ tương tác đối tượng giúp chúng ta hiểu rõ hơn về trách nhiệm và hợp tác của các đối tượng trong một hệ thống. Chúng ta có thể thấy rõ ràng cách các đối tượng tương tác với nhau, giúp dễ dàng xác định các mối quan hệ và phụ thuộc giữa chúng. Điều này giúp cho việc thiết kế và phát triển hệ thống trở nên hiệu quả hơn. Ngoài ra, các sơ đồ tương tác đối tượng cũng giúp chúng ta xác định rõ ràng các yêu cầu của hệ thống, từ đó giúp cho việc phát triển hệ thống trở nên chính xác hơn.
Mở trang câu hỏi này →
AHierarchical Statecharts
BSequence 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. Trong đó, có nhiều loại biểu đồ UML khác nhau, mỗi loại biểu đồ phục vụ một mục đích khác nhau. Biểu đồ giúp minh họa nhiều cấp độ trạng thái của hệ thống là Hierarchical Statecharts. Hierarchical Statecharts là một loại biểu đồ trạng thái phức tạp, cho phép mô tả nhiều cấp độ trạng thái của hệ thống, từ đó giúp phân tích và thiết kế hệ thống một cách hiệu quả hơn. Nó giúp các nhà phát triển hiểu rõ hơn về các trạng thái khác nhau của hệ thống và cách chúng tương tác với nhau.
Mở trang câu hỏi này →
ATo manage database transactions efficiently
BTo model how object interactions vary depending on the system's state
CTo document the static structure of the system
DTo outline deployment strategies for software applications
Lời giải
Mô hình tương tác động động phụ thuộc vào trạng thái trong thiết kế phần mềm là một kỹ thuật quan trọng để mô tả cách các đối tượng tương tác với nhau thay đổi tùy thuộc vào trạng thái của hệ thống. Điều 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 hoạt động và đưa ra quyết định thiết kế chính xác hơn. Mô hình này cho phép các nhà phát triển mô hình hóa các tương tác giữa các đối tượng trong hệ thống và cách chúng thay đổi khi hệ thống chuyển đổi trạng thái. Điều này giúp cải thiện hiệu suất và độ tin cậy của hệ thống phần mềm.
Mở trang câu hỏi này →