Cuối kỳ · SWD392 · Summer 2025

Ôn tập cuối kỳ SWD392 Summer 2025

58 câu gom từ 1 đề ôn của kỳ Summer 2025.

Đề gốc

Bấm để làm trọn một đề thay vì tra từng câu

58 câu hỏi

Trang 3 / 3
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 →
ATrue
BFalse
Lời giải
Tính chất Scalability trong phần mềm chất lượng là mức độ mà hệ thống có thể mở rộng sau khi được triển khai ban đầu. Điều này có nghĩa là hệ thống có thể đáp ứng được nhu cầu tăng trưởng của người dùng mà không cần phải thay đổi cơ bản. Ví dụ, một hệ thống có thể được thiết kế để xử lý 1000 người dùng và sau đó có thể mở rộng lên 10.000 người dùng mà không cần phải thay đổi cơ bản. Tính chất Scalability rất quan trọng trong phần mềm chất lượng vì nó giúp hệ thống trở nên linh hoạt và có thể đáp ứng được nhu cầu của người dùng.
Mở trang câu hỏi này →
ASubclass inherits attributes from superclass.
BSubclass inherits operations from superclass.
CSubclass redefines attributes inherited from superclass.
DSubclass redefines operations inherited from superclass.
Lời giải
Khi nói về thừa kế trong lập trình, chúng ta biết rằng một lớp con (subclass) có thể thừa hưởng các thuộc tính và phương thức từ lớp cha (superclass). Tuy nhiên, có một số điều không được phép trong thừa kế. Trong các lựa chọn trên, câu trả lời đúng là "Subclass redefines attributes inherited from superclass.". Điều này có nghĩa là lớp con không được phép định nghĩa lại các thuộc tính đã được thừa hưởng từ lớp cha. Thay vào đó, lớp con có thể thêm mới các thuộc tính hoặc phương thức mới, hoặc sử dụng các thuộc tính và phương thức đã được thừa hưởng từ lớp cha mà không làm thay đổi chúng. Điều này giúp duy trì tính nhất quán và tính bảo mật trong mã nguồn.
Mở trang câu hỏi này →
ATo represent the static structure of a system's classes and their relationships
BTo illustrate the organization of objects within a single classifier
CTo depict the high-level functionality of a system
DTo show the dynamic behavior and interactions between objects or components
Lời giải
Mô hình tương tác động là một khái niệm quan trọng trong thiết kế phần mềm. Mục đích chính của mô hình này là mô tả hành vi và tương tác giữa các đối tượng hoặc thành phần trong hệ thống. Nó giúp các nhà thiết kế phần mềm hiểu rõ cách các phần tử khác nhau trong hệ thống tương tác với nhau, tạo ra một hình ảnh tổng thể về hoạt động của hệ thống. Mô hình này thường được sử dụng để mô tả các giao tiếp giữa các lớp, các đối tượng và các thành phần khác nhau trong hệ thống. Nó giúp các nhà thiết kế phần mềm xác định các yêu cầu chức năng và giao tiếp của hệ thống, từ đó tạo ra một thiết kế phần mềm hiệu quả và dễ bảo trì.
Mở trang câu hỏi này →
AThe structural relationships between classes
BThe interactions between the system and its users
CThe deployment of software components
DThe sequence of operations
Lời giải
Sơ đồ trường hợp sử dụng (Use Case Diagram) là một loại sơ đồ được sử dụng trong thiết kế phần mềm để mô tả các tương tác giữa người dùng và hệ thống. Nó giúp xác định các yêu cầu chức năng của hệ thống và các trường hợp sử dụng mà người dùng có thể thực hiện. Sơ đồ trường hợp sử dụng thường bao gồm các thành phần như người dùng, hệ thống và các trường hợp sử dụng. Mỗi trường hợp sử dụng được mô tả bằng một hình oval và bao gồm các hành động mà người dùng có thể thực hiện với hệ thống. Sơ đồ này giúp các nhà phát triển phần mềm hiểu rõ về các yêu cầu chức năng của hệ thống và thiết kế hệ thống một cách phù hợp.
Mở trang câu hỏi này →
AMultiple clients request services, and multiple services fulfill client requests.
BMultiple clients request services, and a service fulfills client requests.
CA client requests services, and a service fulfills client requests.
DA client requests services, and multiple services fulfill client requests.
Lời giải
Mô hình kiến trúc cơ bản của một khách hàng/dịch vụ đơn (Client/Single Service) mô tả một hệ thống trong đó có nhiều khách hàng yêu cầu dịch vụ từ một dịch vụ duy nhất. Trong mô hình này, một dịch vụ cung cấp các dịch vụ cho nhiều khách hàng khác nhau. Điều này cho phép khách hàng truy cập vào các dịch vụ mà không cần phải tạo ra nhiều dịch vụ riêng biệt. Mô hình này thường được sử dụng trong các hệ thống có số lượng khách hàng lớn và cần cung cấp các dịch vụ giống nhau.
Mở trang câu hỏi này →
AThe sequence of external objects communicating with each other
BClasses and their relationships
CSoftware objects and the sequence of their interactions
DThe external objects communicating with the system
Lời giải
Một sơ đồ giao tiếp (communication diagram) là một loại mô hình tương tác trong thiết kế phần mềm, được sử dụng để minh họa các giao tiếp giữa các đối tượng phần mềm. Nó cho thấy các đối tượng phần mềm tương tác với nhau theo một trình tự nhất định. Trong sơ đồ giao tiếp, các đối tượng phần mềm được biểu diễn dưới dạng các hộp, và các giao tiếp giữa chúng được biểu diễn dưới dạng các đường thẳng. Mỗi giao tiếp được biểu diễn bằng một dòng, và dòng đó thể hiện thông tin được truyền giữa các đối tượng. Sơ đồ giao tiếp giúp các nhà phát triển phần mềm hiểu rõ về các tương tác giữa các đối tượng phần mềm và thiết kế các giao tiếp một cách hiệu quả.
Mở trang câu hỏi này →
ADesign, Implementation, Testing, Maintenance
BRequirements, Design, Implementation, Testing, Deployment, Maintenance
CPlanning, Design, Execution, Evaluation
DAnalysis, Development, Deployment, Support
Lời giải
Trong mô hình Waterfall, các giai đoạn được thực hiện theo một trình tự cố định. Giai đoạn đầu tiên là thu thập yêu cầu (Requirements), sau đó là thiết kế (Design), tiếp theo là triển khai (Implementation), kiểm thử (Testing), triển khai (Deployment) và cuối cùng là bảo trì (Maintenance). Mô hình này được gọi là mô hình thác nước vì các giai đoạn được thực hiện theo một trình tự tuyến tính, không có sự lặp lại hoặc điều chỉnh giữa các giai đoạn. Mỗi giai đoạn phải được hoàn thành trước khi chuyển sang giai đoạn tiếp theo.
Mở trang câu hỏi này →
ATrue
BFalse
Lời giải
Hoạt động trong sơ đồ hoạt động có thể được sử dụng để cung cấp mô tả chính xác hơn về trường hợp sử dụng, vì nó cho thấy chính xác ở đâu trong chuỗi và điều kiện gì cho chuỗi thay thế phân nhánh khỏi chuỗi chính. Sơ đồ hoạt động giúp xác định rõ hơn các bước trong một quy trình và điều kiện để chuyển sang bước khác. Điều này giúp cho việc phân tích và thiết kế hệ thống trở nên dễ dàng hơn. Ngoài ra, sơ đồ hoạt động cũng giúp xác định rõ hơn các điểm phân nhánh và kết hợp trong quy trình, giúp cho việc thực hiện quy trình trở nên hiệu quả hơn.
Mở trang câu hỏi này →
What is "white box" testing?4 lựa chọn
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 →
ATo create a visually appealing user interface
BTo write code and implement software functionality
CTo document, analyze, and design software systems
DTo perform software testing and quality assurance
Lời giải
Mục đích chính của mô hình hóa phần mềm trong quá trình phát triển phần mềm là để tạo ra một mô hình chi tiết và chính xác về hệ thống phần mềm. Điều này giúp các nhà phát triển phần mềm hiểu rõ về yêu cầu của hệ thống, xác định các yêu cầu chức năng và không chức năng, và thiết kế hệ thống phần mềm một cách hiệu quả. Mô hình hóa phần mềm cũng giúp các nhà phát triển phần mềm xác định các mối quan hệ giữa các thành phần của hệ thống, từ đó có thể tạo ra một hệ thống phần mềm ổn định và dễ bảo trì.
Mở trang câu hỏi này →
What is a compound transaction?4 lựa chọn
AThe compound transaction is indivisible
BThe compound transaction is atomic.
CThe compound transaction is decomposed into atomic transactions.
DThe compound transaction is decomposed into subatomic transactions.
Lời giải
Một giao dịch phức hợp (compound transaction) là một chuỗi các hoạt động được thực hiện cùng một lúc. Để hiểu rõ hơn về giao dịch phức hợp, chúng ta cần biết rằng giao dịch phức hợp có thể được chia thành các giao dịch nguyên tử (atomic transaction). Mỗi giao dịch nguyên tử là một đơn vị nhỏ nhất của giao dịch phức hợp, và nó phải được thực hiện hoàn toàn hoặc không được thực hiện. Điều này đảm bảo rằng giao dịch phức hợp luôn được thực hiện một cách nhất quán và không bị ảnh hưởng bởi các sự cố ngoài ý muốn. Ví dụ, khi thực hiện giao dịch phức hợp, chẳng hạn như chuyển tiền từ tài khoản này sang tài khoản khác, giao dịch phức hợp có thể được chia thành hai giao dịch nguyên tử: giao dịch rút tiền từ tài khoản nguồn và giao dịch chuyển tiền vào tài khoản đích. Nếu bất kỳ giao dịch nguyên tử nào bị lỗi, giao dịch phức hợp sẽ được hủy bỏ để đảm bảo tính toàn vẹn của hệ thống.
Mở trang câu hỏi này →
ATo provide a graphical user interface
BTo manage client requests
CTo interface with the database
DTo perform data encryption
Lời giải
Một wrapper cơ sở dữ liệu (database wrapper) đóng vai trò quan trọng trong kiến trúc khách/hозяин (client/server). Nó là một lớp giao diện giữa ứng dụng khách (client) và cơ sở dữ liệu (database). Vai trò chính của một wrapper cơ sở dữ liệu là cung cấp một giao diện thống nhất để ứng dụng khách tương tác với cơ sở dữ liệu. Điều này giúp giảm thiểu sự phức tạp và tăng cường khả năng mở rộng của hệ thống. Wrapper cơ sở dữ liệu cũng có thể cung cấp các tính năng như kiểm tra lỗi, quản lý kết nối và tối ưu hóa truy vấn dữ liệu.
Mở trang câu hỏi này →
AThey specify detailed algorithms for specific tasks
BThey dictate the user interface design
CThey provide the skeleton or template for the overall software architecture
DThey focus on low-level implementation details
Lời giải
Mô hình kiến trúc phần mềm đóng vai trò quan trọng trong quá trình phát triển ứng dụng. Chúng cung cấp khung xương hoặc mẫu tổng thể cho kiến trúc phần mềm, giúp các nhà phát triển tạo ra một cấu trúc logic và tổ chức cho ứng dụng. Mô hình kiến trúc phần mềm giúp giảm thiểu sự phức tạp và tăng cường khả năng mở rộng, bảo trì và sửa lỗi. Chúng cũng giúp đảm bảo tính nhất quán và dễ dàng tích hợp với các thành phần khác trong hệ thống. Vì vậy, mô hình kiến trúc phần mềm đóng vai trò như một bản thiết kế tổng thể cho ứng dụng, giúp các nhà phát triển tạo ra một sản phẩm chất lượng cao và hiệu quả.
Mở trang câu hỏi này →
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
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ể.
Mở trang câu hỏi này →
AFundamental ideas that can be applied to designing a system.
BSystematic approaches for producing a design.
CGuidelines used to help in structuring a software system into its components.
DOverall plans for developing a design.
Lời giải
Các tiêu chí cấu trúc phần mềm là các nguyên tắc, phương pháp giúp phân chia và tổ chức hệ thống phần mềm thành các thành phần, mô-đun riêng biệt. Chúng cung cấp hướng dẫn cụ thể để giúp các nhà phát triển phần mềm tạo ra một hệ thống phần mềm có cấu trúc rõ ràng, dễ dàng bảo trì và mở rộng. Các tiêu chí cấu trúc phần mềm giúp đảm bảo rằng hệ thống phần mềm được thiết kế một cách hệ thống và có thể đáp ứng được các yêu cầu của người dùng. Chúng cũng giúp giảm thiểu sự phức tạp của hệ thống phần mềm và tăng cường khả năng bảo trì, sửa lỗi và nâng cấp.
Mở trang câu hỏi này →
What is a finite state machine?4 lựa chọn
AA machine with infinite states
BA machine with finite states
CA model of computation
DA model of system behavior
Lời giải
Một máy trạng thái hữu hạn (Finite State Machine - FSM) là một mô hình toán học được sử dụng để mô tả và phân tích các hệ thống có trạng thái. Nó được đặc trưng bởi một tập hợp hữu hạn các trạng thái và một tập hợp hữu hạn các chuyển tiếp giữa các trạng thái. Máy trạng thái hữu hạn có thể được sử dụng để mô hình hóa các hệ thống như máy tính, các hệ thống tự động hóa, và các hệ thống giao tiếp. Trong một máy trạng thái hữu hạn, mỗi trạng thái được xác định bởi một tập hợp các biến trạng thái và mỗi chuyển tiếp được xác định bởi một tập hợp các biến trạng thái và một tập hợp các hành động. Máy trạng thái hữu hạn có thể được sử dụng để mô hình hóa các hệ thống có trạng thái và để phân tích các hệ thống này.
Mở trang câu hỏi này →
What is the interface of a class?4 lựa chọn
AThe signature of a class
BThe specification of operations provided by the class
CThe internals of the class
DThe implementation of the class
Lời giải
Interface của một lớp trong lập trình là tập hợp các phương thức và thuộc tính được định nghĩa để cung cấp cho người sử dụng. Nó mô tả các chức năng và hành vi mà lớp đó có thể thực hiện. Interface giúp định nghĩa rõ ràng các yêu cầu và giới hạn của lớp, từ đó giúp các nhà phát triển khác hiểu rõ cách sử dụng và tương tác với lớp đó. Ví dụ, nếu một lớp có interface là 'Lớp có thể tạo ra một đối tượng mới', thì lớp đó phải cung cấp phương thức tạo ra đối tượng mới. Interface giúp tăng cường tính linh hoạt và tái sử dụng của mã nguồn, đồng thời giúp giảm thiểu sự phức tạp và lỗi trong quá trình phát triển phần mềm.
Mở trang câu hỏi này →
Đi tiếp từ đây