Đề thi trắc nghiệm

Quiz: SWD392_RE_B5_SU26 - Có đáp án và giải thích chi tiết

59Câu hỏi
Software Architecture and Design - Kiến Trúc & Thiết Kế Phần MềmMôn học

Phiên có lưu tiến độ dùng toàn bộ 59 câu của bộ đề để tiến độ khớp với máy chủ.

Phiên sắp tạo
59 câu Chế độ học Không giới hạn

Bạn cần đăng nhập để bắt đầu làm bài và lưu tiến độ.

Tổng câu hỏi

59

Thời gian làm bài

Không giới hạn

Lượt xem

0

Câu có lời giải

59

Câu có link chi tiết

59

Xem trước câu hỏi

Bấm vào từng câu để xem đáp án
#001
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThey are used to define the deployment configuration
BThey are only relevant in static modeling
They trigger transitions in statecharts and influence interactions in diagramsĐÚNG
DThey represent the physical connections between system components
Giải thích

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.

#002
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AFile organization
BCode syntax
MaintainabilityĐÚNG
DUser interface design
Giải thích

Tính chất chất lượng phần mềm là những đặc điểm quan trọng mà phần mềm cần có để đáp ứng nhu cầu của người dùng. Trong các lựa chọn trên, tính maintainability (tính dễ bảo trì) là một trong những đặc điểm quan trọng của phần mềm. Tính maintainability cho phép phần mềm được cập nhật, sửa lỗi và mở rộng dễ dàng mà không ảnh hưởng đến hiệu suất và tính ổn định của phần mềm. Điều này giúp giảm thiểu chi phí và thời gian cần thiết để duy trì phần mềm.

#003
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AObserver pattern
BFactory method pattern
Facade patternĐÚNG
DStrategy pattern
Giải thích

Đáp án đúng: C. Facade pattern cung cấp một giao diện thống nhất, đơn giản cho cả một tập hợp giao diện của hệ thống con, giúp phía client không phải làm việc trực tiếp với nhiều lớp bên trong. Nhờ đó hệ thống con được che giấu, giảm phụ thuộc và dễ thay đổi bên trong mà không ảnh hưởng client. Observer (A) dùng để thông báo thay đổi trạng thái tới nhiều đối tượng quan sát; Factory Method (B) tách việc khởi tạo đối tượng ra khỏi mã sử dụng; Strategy (D) cho phép hoán đổi thuật toán lúc chạy. Cả ba đều giải quyết bài toán khác, không phải mục đích gom nhóm giao diện của một hệ thống con.

#004
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ALayered Architecture
Client-Server ArchitectureĐÚNG
CEvent-Driven Architecture
DPeer-to-Peer Architecture
Giải thích

Trong bài tập về hệ thống ATM, kiến trúc được sử dụng phổ biến nhất là Kiến trúc Client-Server. Kiến trúc này bao gồm hai phần chính: Client và Server. Client là ứng dụng chạy trên thiết bị của người dùng, trong khi Server là phần mềm chạy trên máy chủ. Khi người dùng thực hiện một giao dịch, ứng dụng Client sẽ gửi yêu cầu đến Server, và Server sẽ xử lý yêu cầu và trả về kết quả cho Client. Kiến trúc Client-Server cho phép phân chia công việc giữa Client và Server một cách rõ ràng, giúp tăng hiệu suất và giảm độ phức tạp của hệ thống.

#005
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA function
BA class
CA database
A reusable piece of softwareĐÚNG
Giải thích

Trong kiến trúc phần mềm dựa trên thành phần, một thành phần (component) được định nghĩa là một phần mềm tái sử dụng có thể được kết hợp lại để tạo thành các hệ thống phần mềm phức tạp. Thành phần là một đơn vị độc lập, có thể được phát triển, thử nghiệm và bảo trì riêng biệt. Nó có thể được sử dụng nhiều lần trong nhiều hệ thống khác nhau, giúp giảm thiểu thời gian và chi phí phát triển phần mềm. Thành phần thường được mô tả bằng các lớp (class) hoặc các hàm (function) trong ngôn ngữ lập trình, nhưng nó không chỉ giới hạn ở đó. Thành phần có thể bao gồm cả dữ liệu và các dịch vụ, và nó có thể được kết hợp lại để tạo thành các hệ thống phần mềm phức tạp.

#006
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AClient-Server
BLayered
Service-Oriented Architecture (SOA)ĐÚNG
DPipe-and-Filter
Giải thích

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.

#007
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADevelop one state-dependent control object for each use case.
Develop one state-dependent control object containing states from each use case.ĐÚNG
CDevelop a hierarchical state machine
DDevelop a coordinator object
Giải thích

Đáp án đúng: B. Theo phương pháp COMET, nếu cùng một máy trạng thái xuất hiện trong nhiều use case thì trên sơ đồ tương tác ta chỉ dựng MỘT đối tượng điều khiển phụ thuộc trạng thái, và đối tượng đó chứa các trạng thái lấy từ tất cả các use case liên quan. Cách làm này giữ được tính toàn vẹn của máy trạng thái: mọi chuyển trạng thái vẫn nằm trong một nơi duy nhất. Phương án A tạo nhiều bản sao của cùng một máy trạng thái nên dễ mâu thuẫn; phương án C và D đưa ra những giải pháp thiết kế khác (phân cấp trạng thái, đối tượng điều phối) không phải cách xử lý tình huống này.

#008
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAn active object that encapsulates data
A passive object that encapsulates dataĐÚNG
CA class that encapsulates data
DA task that encapsulates data
Giải thích

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.

#009
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt reduces documentation requirements
BIt avoids stakeholder involvement during early phases
It allows progressive refinement of requirements and architecture with feedback loopsĐÚNG
DIt eliminates the need for system testing
Giải thích

Đáp án đúng: C. Ưu thế cốt lõi của phát triển lặp và tăng dần so với mô hình thác nước là cho phép tinh chỉnh dần yêu cầu và kiến trúc qua các vòng phản hồi: mỗi vòng lặp cho ra một phần sản phẩm chạy được, người dùng đánh giá và kết quả đánh giá quay lại điều chỉnh yêu cầu cùng thiết kế cho vòng sau. Nhờ đó rủi ro được phát hiện sớm thay vì dồn về cuối dự án. Phương án A sai vì phát triển lặp không cắt giảm tài liệu; phương án B ngược hẳn tinh thần lấy phản hồi của các bên liên quan; phương án D sai vì kiểm thử hệ thống vẫn là bắt buộc trong mọi mô hình.

#010
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A1NF
2NFĐÚNG
C3NF
DBCNF
Giải thích

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.

#011
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
An outer provided port to an inner provided portĐÚNG
BAn outer provided port to an inner required port
CAn outer required port to an inner provided port
DAn outer provided port to an outer required port
Giải thích

Đáp án đúng: A. Trong sơ đồ cấu trúc hỗn hợp của UML, delegation connector nối một cổng bên ngoài của thành phần hỗn hợp với một cổng tương ứng của thành phần con bên trong, tức là ủy thác yêu cầu từ ngoài vào trong. Cụ thể, cổng provided bên ngoài được nối tới cổng provided bên trong (và tương tự cổng required bên trong nối ra cổng required bên ngoài) - hai đầu nối phải cùng loại. Phương án B và C ghép hai cổng khác loại nên không phải delegation; phương án D nối hai cổng đều nằm ở lớp ngoài, đó là quan hệ giữa các thành phần ngang hàng chứ không phải ủy thác vào trong.

#012
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AEntity object
BBoundary object
Control objectĐÚNG
DInterface object
Giải thích

Đáp án đúng: C. Control object (đối tượng điều khiển) là đối tượng đóng vai trò điều phối, quyết định trình tự hoạt động và sự phối hợp giữa nhiều đối tượng khác trong một use case. Nó nắm logic điều khiển, nhận sự kiện từ đối tượng biên và điều động các đối tượng thực thể thực hiện công việc. Entity object (A) lưu trữ dữ liệu tồn tại lâu dài của hệ thống; boundary object (B) là đối tượng biên, giao tiếp với tác nhân bên ngoài; interface object (D) chỉ là cách gọi khác của đối tượng biên. Không đối tượng nào trong ba loại đó đảm nhận vai trò điều phối hành vi.

#013
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
CompositeĐÚNG
BDecorator
CAdapter
DProxy
Giải thích

Đáp án đúng: A. Composite pattern tổ chức các đối tượng thành cấu trúc cây phần - toàn thể và cho phép client đối xử với đối tượng đơn lẻ (lá) và với tập hợp đối tượng (nút) một cách đồng nhất thông qua cùng một giao diện. Đây chính là đặc trưng "treating individual objects and compositions uniformly". Decorator (B) bọc thêm trách nhiệm cho một đối tượng lúc chạy; Adapter (C) chuyển đổi giao diện của một lớp sang giao diện mà client mong đợi; Proxy (D) đứng thay cho một đối tượng khác để kiểm soát truy cập. Không mẫu nào trong ba mẫu đó nhằm mục đích xử lý đồng nhất phần tử đơn và tập hợp.

#014
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AProxy
DecoratorĐÚNG
CComposite
DBridge
Giải thích

Đáp án đúng: B. Decorator pattern cho phép gắn thêm trách nhiệm cho một đối tượng một cách động lúc chạy bằng cách bọc đối tượng gốc trong một lớp trang trí có cùng giao diện. Nhờ vậy có thể chồng nhiều lớp trang trí lên nhau mà không cần sửa lớp gốc, thay thế linh hoạt cho việc kế thừa cứng nhắc. Proxy (A) cũng bọc đối tượng nhưng mục đích là kiểm soát truy cập chứ không thêm chức năng; Composite (C) tổ chức cây phần - toàn thể; Bridge (D) tách phần trừu tượng khỏi phần hiện thực để hai bên biến đổi độc lập.

#015
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AExternal event
BInternal event
CTimer event
User eventĐÚNG
Giải thích

Sự đồng bộ hóa sự kiện là một khái niệm quan trọng trong lập trình. Nó đề cập đến việc đồng bộ hóa các hoạt động hoặc sự kiện trong một chương trình. Trong các lựa chọn trên, có một số trường hợp được coi là đồng bộ hóa sự kiện. Ví dụ, sự kiện bên ngoài (External event) và sự kiện timer (Timer event) đều là các trường hợp đồng bộ hóa sự kiện. Tuy nhiên, sự kiện người dùng (User event) không phải là một trường hợp đồng bộ hóa sự kiện. Sự kiện người dùng thường được sử dụng để phản hồi các hành động của người dùng, nhưng nó không phải là một sự kiện được đồng bộ hóa. Thay vào đó, nó thường được xử lý ngay lập tức mà không cần đồng bộ hóa.

#016
ĐỘ CHÍNH XÁC
2 LỰA CHỌN
TrueĐÚNG
BFalse
Giải thích

Đáp án đúng: A. Phát biểu đã cho là ĐÚNG. Hệ thống con là đơn vị che giấu thông tin ở mức thô hơn đối tượng: nó gom nhiều đối tượng cộng tác chặt chẽ và chỉ để lộ ra ngoài một giao diện hẹp. Cơ sở để nhóm là mức độ kết dính: các đối tượng cùng hiện thực hoá một use case thường trao đổi thông điệp liên tục với nhau nên có coupling cao, trong khi liên hệ với đối tượng của use case khác thì thấp hoặc không có, đúng như thể hiện trên sơ đồ tương tác theo use case. Vì vậy chọn "False" (B) là sai với nguyên tắc phân rã hệ thống con của COMET.

#017
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt serves only as a message queue.
It acts as an intermediary for all service calls, functioning as an integration hub and orchestration engine.ĐÚNG
CIt is responsible for data persistence.
DIt handles only user interface requests.
Giải thích

Đáp án đúng: B. Trong kiến trúc hướng dịch vụ, service bus (thường là Enterprise Service Bus) đóng vai trò trung gian cho mọi lời gọi dịch vụ: nó vừa là trung tâm tích hợp vừa là bộ điều phối, đảm nhận định tuyến thông điệp, chuyển đổi giao thức và định dạng dữ liệu, điều phối chuỗi lời gọi giữa nhiều dịch vụ. Nhờ đó bên tiêu thụ và bên cung cấp dịch vụ không phải biết trực tiếp về nhau. Phương án A thu hẹp nó thành một hàng đợi thông điệp đơn thuần; phương án C nhầm sang tầng lưu trữ dữ liệu; phương án D giới hạn sai vào các yêu cầu từ giao diện người dùng.

#018
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA static view in terms of a module hierarchy
BA static view in terms of components and connectors
A view of the physical configuration in terms of nodes and interconnectionsĐÚNG
DA dynamic interaction view in terms of objects and messages
Giải thích

Đáp án đúng: C. Deployment view (khung nhìn triển khai) mô tả cấu hình VẬT LÝ của hệ thống: các nút xử lý (node) và các đường kết nối giữa chúng, cùng việc phân bổ các thành phần phần mềm lên từng nút. Đây là khung nhìn trả lời câu hỏi phần mềm chạy ở đâu và giao tiếp qua hạ tầng nào. Phương án A mô tả khung nhìn phân rã theo mô-đun; phương án B là khung nhìn thành phần và đầu nối (component-and-connector); phương án D là khung nhìn tương tác động giữa các đối tượng và thông điệp. Cả ba đều là những khung nhìn khác trong bộ khung nhìn kiến trúc phần mềm.

#019
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABetter communication between stakeholders
BEasier maintenance of code
Increased hardware performanceĐÚNG
DEarly detection of design flaws
Giải thích

Khi sử dụng mô hình phần mềm, có nhiều lợi ích mà chúng ta có thể tận dụng. Một trong số đó là việc cải thiện giao tiếp giữa các bên liên quan. Mô hình phần mềm giúp các bên hiểu rõ hơn về yêu cầu và mục tiêu của dự án, từ đó có thể trao đổi thông tin một cách hiệu quả hơn. Ngoài ra, mô hình phần mềm còn giúp dễ dàng bảo trì mã nguồn, giảm thiểu thời gian và chi phí cho việc sửa lỗi. Tuy nhiên, một số người có thể nghĩ rằng mô hình phần mềm có thể giúp tăng cường hiệu suất của phần cứng, nhưng thực tế thì không phải vậy. Mô hình phần mềm không liên quan trực tiếp đến hiệu suất của phần cứng. Vì vậy, lựa chọn không đúng là "Tăng cường hiệu suất của phần cứng".

#020
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AControl is divided among various control components.
It provides the overall control and sequencing of the system.ĐÚNG
CIt provides overall control by coordinating several control components.
DIt provides overall control over various I/O objects.
Giải thích

Mô hình kiến trúc Centralized Control là một trong những mô hình kiến trúc phổ biến trong lập trình. Trong mô hình này, tất cả các hoạt động kiểm soát và điều khiển của hệ thống được tập trung vào một điểm duy nhất. Điều này có nghĩa là hệ thống có một bộ phận kiểm soát trung tâm chịu trách nhiệm điều khiển và sắp xếp các hoạt động của hệ thống. Bộ phận kiểm soát trung tâm này sẽ quyết định khi nào và làm gì, và nó sẽ đảm bảo rằng tất cả các hoạt động của hệ thống được thực hiện theo đúng kế hoạch. Mô hình này thường được sử dụng trong các hệ thống có yêu cầu kiểm soát và điều khiển cao, chẳng hạn như hệ thống tự động hóa, hệ thống điều khiển nhiệt độ, v.v.

#021
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA class that encapsulates a data structure
BA class that encapsulates a database
A class that encapsulates the details of how to access data in a databaseĐÚNG
DA class that encapsulates a relational table
Giải thích

Một lớp bọc cơ sở dữ liệu (database wrapper class) là một lớp lập trình được thiết kế để ẩn đi chi tiết về cách truy cập dữ liệu trong cơ sở dữ liệu. Lớp này thường bao gồm các phương thức để thực hiện các hoạt động cơ bản như tạo kết nối, thực hiện truy vấn, cập nhật và xóa dữ liệu. Mục đích chính của lớp bọc cơ sở dữ liệu là cung cấp một giao diện đơn giản và thống nhất để 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 trong việc phát triển ứng dụng. Điều này cho phép các nhà phát triển tập trung vào logic kinh doanh và giao diện người dùng mà không cần lo lắng về chi tiết kỹ thuật về cơ sở dữ liệu.

#022
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe state and transitions inside a control object
BClasses and their relationships
Software objects and the sequence of their interactionsĐÚNG
DThe external objects communicating with the system
Giải thích

Đáp án đúng: C. Sơ đồ tương tác (interaction diagram) mô tả các đối tượng phần mềm và TRÌNH TỰ tương tác - tức là trình tự các thông điệp trao đổi giữa chúng để hiện thực hoá một use case. UML có hai dạng chính là sequence diagram và communication diagram, cả hai đều nhấn mạnh khía cạnh động này. Phương án A mô tả nội dung của statechart; phương án B là nội dung của class diagram - cấu trúc tĩnh và quan hệ giữa các lớp; phương án D nói về các tác nhân, đối tượng bên ngoài giao tiếp với hệ thống, tức là phạm vi của sơ đồ ngữ cảnh hoặc use case.

#023
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Components communicate via asynchronous eventsĐÚNG
BComponents communicate synchronously
CComponents are tightly coupled
DComponents must share the database
Giải thích

Đáp án đúng: A. Kiến trúc hướng sự kiện hoạt động theo cơ chế các thành phần giao tiếp với nhau qua các sự kiện BẤT ĐỒNG BỘ: bên phát sinh sự kiện chỉ công bố sự kiện rồi tiếp tục công việc của mình, không chờ phản hồi, còn các bên quan tâm sẽ nhận và xử lý độc lập. Nhờ vậy các thành phần được ghép lỏng và hệ thống dễ mở rộng. Phương án B mô tả kiểu giao tiếp đồng bộ của kiến trúc client-server; phương án C ngược với đặc trưng ghép lỏng của kiến trúc này; phương án D áp đặt một cơ sở dữ liệu dùng chung - đó là đặc điểm của kiến trúc kho dữ liệu trung tâm.

#024
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe sequence of external objects communicating with each other
BClasses and their relationships
Software objects and the sequence of their interactionsĐÚNG
DThe external objects communicating with the system
Giải thích

Một sơ đồ chuỗi (sequence diagram) là một loại sơ đồ được sử dụng để minh họa các giao tiếp 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 theo một thứ tự nhất định, giúp dễ dàng hiểu và phân tích các giao tiếp giữa các phần tử trong hệ thống. Sơ đồ chuỗi thường được sử dụng trong thiết kế và phát triển phần mềm để mô tả các giao tiếp giữa các lớp, các đối tượng và các dịch vụ.

#025
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AEnsuring that all subsystems are tightly coupled for better performance.
Focusing on functional decomposition, where each subsystem addresses a distinct part of the system.ĐÚNG
CMinimizing the number of subsystems to simplify the system design.
DIgnoring the geographical distribution of components during subsystem design.
Giải thích

Đáp án đúng: B. Khi phân tích miền bài toán và phân rã hệ thống thành các hệ thống con, trọng tâm là phân rã theo chức năng: mỗi hệ thống con đảm nhiệm một phần riêng biệt, có ranh giới rõ ràng và giao diện hẹp với bên ngoài. Đây là cách đạt được kết dính cao bên trong và ghép lỏng giữa các hệ thống con. Phương án A đi ngược nguyên tắc ghép lỏng; phương án C lấy việc giảm số lượng hệ thống con làm mục tiêu, dễ tạo ra khối lớn khó bảo trì; phương án D bỏ qua yếu tố phân tán địa lý, trong khi vị trí triển khai lại là một tiêu chí quan trọng khi phân rã hệ phân tán.

#026
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA class exposes all its data structures to allow flexibility in communication.
A class hides certain details, such as a data structure, internally and keeps them inaccessible to the rest of the system.ĐÚNG
CA class combines its interface and implementation to simplify design.
DA class prioritizes synchronous communication between objects.
Giải thích

Thông tin giấu (Information Hiding) là một khái niệm quan trọng trong thiết kế phần mềm. Nó cho phép một lớp (class) giấu đi một số chi tiết nội bộ, chẳng hạn như cấu trúc dữ liệu, và chỉ cho phép truy cập thông qua giao diện (interface) được xác định. Điều này giúp giảm thiểu sự phụ thuộc giữa các lớp và tăng cường tính bảo mật. Thông tin giấu giúp ngăn chặn việc truy cập trực tiếp vào dữ liệu nội bộ của một lớp, từ đó giảm thiểu khả năng xảy ra lỗi và tăng cường tính ổn định của hệ thống. Nó cũng giúp giảm thiểu sự phức tạp trong thiết kế và phát triển phần mềm.

#027
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt must be implemented in Java
BIt shares all internal data with other components
It is self-contained and encapsulates informationĐÚNG
Dt must be deployed on the cloud
Giải thích

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ý.

#028
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADefine user interface layouts
Identify the system’s objects and their relationshipsĐÚNG
COptimize database queries
DDevelop a deployment model
Giải thích

Đáp án đúng: B. Mục tiêu chính của phân tích hướng đối tượng là nhận diện các đối tượng của hệ thống trong miền bài toán cùng thuộc tính, trách nhiệm và quan hệ giữa chúng, từ đó xây dựng mô hình tĩnh và mô hình động phản ánh bài toán thực tế. Đây là bước "làm rõ cái gì" trước khi chuyển sang thiết kế "làm như thế nào". Phương án A và D thuộc pha thiết kế (giao diện người dùng, mô hình triển khai); phương án C là việc tối ưu ở mức hiện thực và cơ sở dữ liệu, diễn ra rất muộn trong vòng đời và không phải mục tiêu của phân tích.

#029
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo develop and maintain a specific product within the line
To establish the processes, tools, and methods for developing and evolving the product lineĐÚNG
CTo market and sell individual products
DTo ensure that each product meets its unique requirements
Giải thích

Kỹ thuật sản phẩm hàng loạt (Product Line Engineering) là một phương pháp thiết kế và phát triển các sản phẩm tương tự, nhưng có thể khác nhau về tính năng và đặc điểm. Mục đích chính của kỹ thuật này là thiết lập các quy trình, công cụ và phương pháp để phát triển và cải tiến dòng sản phẩm. Điều này giúp giảm thiểu thời gian và chi phí phát triển, cũng như tăng cường tính linh hoạt và khả năng thích ứng với nhu cầu của khách hàng. Kỹ thuật sản phẩm hàng loạt cho phép các công ty phát triển một nền tảng chung cho nhiều sản phẩm khác nhau, từ đó giảm thiểu sự trùng lặp và tăng cường hiệu suất.

#030
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AProgramming language used
BHardware the system will run on
Whether to partition by domain or technical capabilitiesĐÚNG
DUI color scheme
Giải thích

Đáp án đúng: C. Một cân nhắc then chốt khi phân hoạch thành phần là chọn ranh giới phân chia: theo miền nghiệp vụ (mỗi thành phần phụ trách một mảng nghiệp vụ trọn vẹn) hay theo năng lực kỹ thuật (chia theo tầng như giao diện, nghiệp vụ, dữ liệu). Lựa chọn này quyết định mức độ kết dính, ghép nối và khả năng phát triển độc lập của từng nhóm. Ngôn ngữ lập trình (A), phần cứng chạy hệ thống (B) và bảng màu giao diện (D) là những quyết định ở mức hiện thực hoặc trình bày, không định hình cách chia hệ thống thành các thành phần.

#031
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AExtend
BInclude
GeneralizationĐÚNG
DAbstract
Giải thích

Đáp án đúng: C. Trả tiền mặt và trả bằng thẻ là hai cách thực hiện KHÁC NHAU của cùng một hành vi trả tiền, nên use case Cash payment là một trường hợp chuyên biệt hoá của use case Payment - quan hệ generalization, trong đó Payment đóng vai trò use case trừu tượng. Quan hệ include (B) dùng khi một use case luôn gọi trọn vẹn một use case khác như phần dùng chung; extend (A) dùng cho hành vi tuỳ chọn, chỉ chèn thêm khi thoả điều kiện; còn "abstract" (D) là một tính chất của phần tử mô hình chứ không phải một loại quan hệ giữa các use case.

#032
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAnother name for information hiding
Encapsulating data so that its structure is hiddenĐÚNG
CStoring data in a database
DStoring data in a data structure
Giải thích

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.

#033
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A requirement or characteristic that is provided by one or more SPL membersĐÚNG
BA marketing need
CA class provided by the SPL
DA SPL use case
Giải thích

SPL (Software Product Line) là một phương pháp phát triển phần mềm cho phép tạo ra nhiều sản phẩm khác nhau dựa trên một tập hợp các thành phần chung. Một tính năng SPL (SPL feature) là một yêu cầu hoặc đặc điểm được cung cấp bởi một hoặc nhiều thành viên của SPL. Nó đại diện cho một tính năng hoặc khả năng cụ thể của sản phẩm, có thể được sử dụng để tạo ra các sản phẩm khác nhau. Ví dụ, trong một SPL cho các hệ thống quản lý thời tiết, một tính năng SPL có thể là khả năng dự báo thời tiết chính xác. Tính năng này có thể được cung cấp bởi một hoặc nhiều thành viên của SPL, chẳng hạn như một mô hình dự báo thời tiết hoặc một hệ thống cảnh báo thời tiết. Tính năng SPL giúp tạo ra sự linh hoạt và đa dạng trong sản phẩm, đồng thời giảm thiểu thời gian và chi phí phát triển.

#034
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AStatechart diagram
BInteraction diagram
Composite class interaction diagramĐÚNG
DPackage diagram
Giải thích

Trong COMET, sơ đồ nào tích hợp cả mô hình tĩnh và động cho thiết kế phần mềm? Sơ đồ Composite class interaction diagram tích hợp cả mô hình tĩnh và động, giúp thiết kế phần mềm trở nên rõ ràng và dễ hiểu hơn. Sơ đồ này cho phép các nhà phát triển xem xét cả cấu trúc và hành vi của phần mềm, từ đó đưa ra quyết định thiết kế tốt hơn. Nó là một công cụ mạnh mẽ giúp các nhà phát triển tạo ra phần mềm chất lượng cao và dễ bảo trì.

#035
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AClient-server architecture
Layered architectureĐÚNG
CPeer-to-peer architecture
DPipe and filter architecture
Giải thích

Đáp án đúng: B. Kiến trúc phân tầng tổ chức hệ thống thành một hệ thứ bậc các tầng, trong đó mỗi tầng cung cấp dịch vụ cho tầng ngay trên nó và chỉ sử dụng dịch vụ của tầng ngay dưới. Cách tổ chức này làm rõ trách nhiệm, giới hạn phạm vi thay đổi và cho phép thay thế một tầng mà ít ảnh hưởng phần còn lại. Client-server (A) chia theo vai trò yêu cầu - phục vụ chứ không theo thứ bậc dịch vụ; peer-to-peer (C) đặt các nút ngang hàng, vừa là client vừa là server; pipe-and-filter (D) nối các bộ lọc thành dây chuyền xử lý dữ liệu tuần tự.

#036
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AScalability
MaintainabilityĐÚNG
CPerformance
DSecurity
Giải thích

Tính chất chất lượng phần mềm mà tập trung vào sự dễ dàng trong việc sửa lỗi và thay đổi hệ thống sau khi triển khai là Maintainability. Maintainability cho phép các nhà phát triển dễ dàng sửa lỗi, cập nhật và cải thiện hệ thống mà không cần phải thay đổi toàn bộ hệ thống. Điều này giúp giảm thiểu thời gian và chi phí cần thiết để sửa lỗi và cải thiện hệ thống. Maintainability cũng giúp đảm bảo rằng hệ thống luôn được cập nhật và cải thiện để đáp ứng nhu cầu của người dùng.

#037
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A class that cannot be instantiated and may contain abstract operationsĐÚNG
BA class that has no attributes
CA class with only static methods
DA class defined without associations
Giải thích

Đáp án đúng: A. Trong UML, abstract class là lớp không thể tạo thể hiện trực tiếp và có thể chứa các thao tác trừu tượng - những thao tác chỉ khai báo chữ ký, để lớp con hiện thực hoá. Lớp trừu tượng tồn tại nhằm gom phần chung của các lớp con và định nghĩa giao diện đa hình cho chúng; trong sơ đồ, tên lớp được viết nghiêng để đánh dấu. Phương án B, C, D nêu những đặc điểm không liên quan: một lớp không có thuộc tính, một lớp chỉ có phương thức tĩnh hay một lớp không có liên kết đều vẫn có thể được khởi tạo bình thường nên không phải lớp trừu tượng.

#038
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIncrease database performance
Provide structured architectural modelingĐÚNG
CEliminate the need for state charts
DEnforce strict coding conventions
Giải thích

Đáp án đúng: B. COMET (Collaborative Object Modeling and Architectural Design Method) là phương pháp thiết kế cung cấp một quy trình mô hình hoá kiến trúc có cấu trúc: đi từ mô hình use case sang mô hình phân tích tĩnh và động, rồi tới thiết kế kiến trúc phần mềm bằng các mẫu kiến trúc và mẫu thiết kế. Mục tiêu chính là giúp nhóm phát triển tổ chức được quá trình thiết kế một cách có hệ thống. Phương án A nhầm sang tối ưu cơ sở dữ liệu; phương án C sai vì COMET dùng rất nhiều statechart; phương án D nói về quy ước viết mã, hoàn toàn nằm ngoài phạm vi của một phương pháp thiết kế kiến trúc.

#039
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe transition from analysis to design
BThe design of user interfaces
CThe implementation of individual classes
The structuring of the system into subsystemsĐÚNG
Giải thích

Đáp án đúng: D. Thiết kế kiến trúc hệ thống con tập trung vào việc cấu trúc hoá toàn hệ thống thành các hệ thống con: xác định ranh giới, trách nhiệm, giao diện và quan hệ giữa chúng, đồng thời chọn mẫu kiến trúc phù hợp. Đây là mức nhìn tổng thể, đứng trên mức lớp. Phương án A mô tả chung cả bước chuyển từ phân tích sang thiết kế chứ không nói được trọng tâm; phương án B chỉ là một phần nhỏ thuộc thiết kế giao diện người dùng; phương án C thuộc mức thiết kế chi tiết và hiện thực từng lớp, diễn ra sau khi cấu trúc hệ thống con đã được xác lập.

#040
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To partition the system into manageable, reusable modulesĐÚNG
BTo eliminate object-oriented design dependencies
CTo simplify use case modeling
DTo reduce the need for UML diagrams
Giải thích

Đáp án đúng: A. Trọng tâm của thiết kế kiến trúc hệ thống con là phân hoạch hệ thống thành các mô-đun dễ quản lý và có thể tái sử dụng, mỗi mô-đun có trách nhiệm rõ ràng, kết dính cao bên trong và ghép lỏng với bên ngoài qua giao diện được định nghĩa tường minh. Nhờ đó nhiều nhóm có thể phát triển song song và thay đổi cục bộ không lan rộng. Phương án B sai vì thiết kế kiến trúc quản lý chứ không loại bỏ phụ thuộc hướng đối tượng; phương án C nhầm sang pha phân tích use case; phương án D sai vì kiến trúc càng cần UML để mô tả, không phải để giảm bớt.

#041
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA box
BA grouping of classes
CA grouping of use cases
A grouping of model elementsĐÚNG
Giải thích

Trong mô hình hóa phần mềm, UML (Unified Modeling Language) là một ngôn ngữ chung để mô tả các mô hình phần mềm. Một gói (package) trong UML là một cách nhóm các yếu tố mô hình (model elements) lại với nhau. Điều này giúp dễ dàng quản lý và tổ chức các yếu tố mô hình phức tạp. Một gói có thể chứa các lớp (class), giao diện (interface), đối tượng (object), và các yếu tố mô hình khác. Việc nhóm các yếu tố mô hình lại với nhau trong một gói giúp tăng cường tính rõ ràng và dễ hiểu của mô hình phần mềm.

#042
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo list UML symbols used
To describe trade-offs, impact on flexibility, reusability, and potential liabilities of using the patternĐÚNG
CTo replace the need for code implementation
DTo ensure automatic generation of test cases
Giải thích

Việc ghi chép lại các hậu quả của một mẫu thiết kế trong bản template của GoF rất quan trọng vì nó giúp người đọc hiểu rõ về các ưu và nhược điểm của mẫu thiết kế đó. Điều này bao gồm cả tác động của mẫu thiết kế lên tính linh hoạt, khả năng tái sử dụng và các rủi ro tiềm ẩn. Việc ghi chép lại các hậu quả này giúp người đọc có thể đưa ra quyết định sáng suốt khi chọn mẫu thiết kế phù hợp cho dự án của mình. Ngoài ra, việc ghi chép lại các hậu quả cũng giúp người đọc hiểu rõ về cách áp dụng mẫu thiết kế một cách hiệu quả và tránh các sai lầm phổ biến.

#043
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA task that control other module
A task that executes a statechartĐÚNG
CA task that executes on command
DA task that controls I/O service
Giải thích

Một nhiệm vụ kiểm soát (control task) là một phần mềm thực hiện một trạng thái cụ thể theo một sơ đồ trạng thái (statechart). Nó có thể được sử dụng để mô hình hóa các hành vi của một hệ thống, chẳng hạn như một thiết bị điện tử. Trong một hệ thống phân tán, một nhiệm vụ kiểm soát có thể được thực hiện bởi một module riêng biệt, chịu trách nhiệm quản lý các trạng thái của hệ thống. Điều này giúp tăng cường tính linh hoạt và dễ dàng mở rộng hệ thống. Ví dụ, một nhiệm vụ kiểm soát có thể được sử dụng để quản lý trạng thái của một hệ thống điều khiển nhiệt độ, nơi nó sẽ thực hiện các hành động khác nhau dựa trên các giá trị nhiệt độ khác nhau.

#044
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo represent the static structure of a system's classes and their relationships.
BTo illustrate the interactions and collaborations between objects in a system.
To model the organization and behavior of objects within a single classifier.ĐÚNG
DTo depict the flow of control and the partitioning of a system into states and transitions.
Giải thích

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.

#045
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AData types
BUse case names
MultiplicityĐÚNG
DTransition triggers
Giải thích

Đáp án đúng: C. Khi thiết lập liên kết giữa các đối tượng trên sơ đồ lớp, khái niệm nền tảng là multiplicity - bội số, cho biết mỗi thể hiện của lớp này có thể liên kết với bao nhiêu thể hiện của lớp kia (1, 0..1, 1..*, *). Bội số quyết định bản chất quan hệ một - một, một - nhiều hay nhiều - nhiều và về sau chi phối cả cách ánh xạ sang cơ sở dữ liệu quan hệ. Kiểu dữ liệu (A) thuộc về thuộc tính của lớp; tên use case (B) nằm ở mô hình use case; transition trigger (D) là yếu tố của máy trạng thái, đều không liên quan tới việc xác lập liên kết.

#046
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ARequirement gathering
Software architecture designĐÚNG
CUser interface design
DTesting and validation
Giải thích

Đáp án đúng: B. Pha thiết kế kiến trúc phần mềm là nơi trả lời câu hỏi các thành phần phần mềm ghép với nhau và tương tác ra sao để thoả mãn yêu cầu: xác định các thành phần chính, giao diện, cơ chế giao tiếp và các mẫu kiến trúc được dùng. Thu thập yêu cầu (A) mới chỉ làm rõ hệ thống phải làm gì; thiết kế giao diện người dùng (C) chỉ giải quyết một khía cạnh hẹp là tương tác với người dùng; kiểm thử và thẩm định (D) diễn ra sau, nhằm kiểm chứng rằng hệ thống đã xây dựng đáp ứng đúng yêu cầu chứ không phải nơi định hình cấu trúc.

#047
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADepicts several objects interacting with each other
BDepicts one possible sequence of interactions among objects
Depicts all possible interactions among objectsĐÚNG
DDepicts all classes and their associations with each other
Giải thích

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.

#048
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AStatechart
Class diagramĐÚNG
CActivity diagram
DDeployment diagram
Giải thích

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ả.

#049
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Ability to handle increasing loadĐÚNG
BAbility to be portable across platforms
CSecurity to protect resources
DSpeed of algorithm
Giải thích

Đáp án đúng: A. Scalability - khả năng mở rộng - là thuộc tính chất lượng phản ánh khả năng hệ thống đáp ứng được tải tăng lên (nhiều người dùng, nhiều giao dịch, nhiều dữ liệu hơn) mà vẫn giữ được mức chất lượng dịch vụ, thường bằng cách bổ sung tài nguyên theo chiều ngang hoặc chiều dọc. Khả năng chạy trên nhiều nền tảng (B) là portability; bảo vệ tài nguyên (C) là security; còn tốc độ thuật toán (D) chỉ là một yếu tố góp phần vào performance. Cả ba đều là những thuộc tính chất lượng khác, không phải định nghĩa của scalability.

#050
ĐỘ CHÍNH XÁC
3 LỰA CHỌN
ATo describe an inclusive use case
BTo describe a lengthy interaction with an actor
To describe a use case that includes other use casesĐÚNG
Giải thích

Đáp án đúng: C. Inclusion use case là use case được các use case khác gọi tới bằng quan hệ include, dùng để tách phần hành vi chung lặp lại ở nhiều use case ra một nơi duy nhất. Trong câu hỏi này, cách diễn đạt đúng nhất là dùng nó để mô tả một use case có bao gồm các use case khác, tức là mối quan hệ bao hàm giữa các use case. Phương án A chỉ lặp lại chính từ trong câu hỏi mà không giải thích được điều gì; phương án B nói về độ dài tương tác với tác nhân, hoàn toàn không phải tiêu chí để tách một inclusion use case.

#051
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
APublic
PrivateĐÚNG
CProtected
DStatic
Giải thích

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.

#052
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAn entity class in the SPL
BA SPL class that stores essential data
A class that is required by all members of the SPLĐÚNG
DAn external class to the SPL
Giải thích

Đáp án đúng: C. Trong dòng sản phẩm phần mềm (SPL), kernel class là lớp bắt buộc phải có ở MỌI thành viên của dòng sản phẩm - đó là phần lõi chung, không thay đổi giữa các biến thể. Bên cạnh kernel còn có lớp tuỳ chọn (optional) chỉ xuất hiện ở một số thành viên và lớp biến thể (variant) có nhiều phiên bản khác nhau. Phương án A và B mô tả vai trò lưu trữ dữ liệu của lớp thực thể chứ không nói tới tính bắt buộc chung; phương án D đặt lớp ra ngoài dòng sản phẩm, trái hẳn với ý nghĩa "lõi" của kernel.

#053
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
The number of objects in a relationship.ĐÚNG
BThe number of classes.
CThe number of attributes.
DThe number of state transitions.
Giải thích

Đáp án đúng: A. Multiplicity trong UML thể hiện số lượng đối tượng có thể tham gia vào một quan hệ - tức là mỗi thể hiện ở đầu này của liên kết ứng với bao nhiêu thể hiện ở đầu kia, viết dưới dạng 1, 0..1, 1..* hay *. Nó ràng buộc cấu trúc dữ liệu của mô hình và là căn cứ để sinh khoá ngoại, bảng trung gian khi ánh xạ sang cơ sở dữ liệu quan hệ. Số lượng lớp (B), số thuộc tính (C) và số chuyển trạng thái (D) đều là những đại lượng đếm khác trong mô hình, không phải nội dung mà ký hiệu multiplicity biểu diễn.

#054
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA hardware/software system that serves customers
BA subsystem that makes requests and waits for the responses
CA subsystem that responds to requests from clients
A hardware/software system that provides one or more services for multiple clientsĐÚNG
Giải thích

Một máy chủ (server) là một hệ thống phần cứng và phần mềm cung cấp một hoặc nhiều dịch vụ cho nhiều khách hàng (clients) khác nhau. Nó hoạt động như một điểm kết nối giữa các thiết bị và hệ thống khác nhau, cho phép chúng trao đổi thông tin và thực hiện các yêu cầu. Máy chủ có thể là một máy tính, một thiết bị mạng hoặc một hệ thống phần cứng chuyên dụng. Nó thường được sử dụng để cung cấp các dịch vụ như lưu trữ dữ liệu, xử lý thông tin, cung cấp nội dung web và nhiều hơn nữa. Máy chủ có thể được truy cập từ xa thông qua mạng internet hoặc mạng cục bộ, cho phép khách hàng truy cập và sử dụng các dịch vụ mà không cần phải có quyền truy cập trực tiếp vào máy chủ.

#055
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AA machine with infinite states
A machine with finite statesĐÚNG
CA model of computation
DA model of system behavior
Giải thích

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.

#056
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ASystem testing
BIntegration testing
CTesting with knowledge of the system internals
Testing without knowledge of the software internalsĐÚNG
Giải thích

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.

#057
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
An action that is performed when the state is enteredĐÚNG
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
Giải thích

Trong mô hình trạng thái, một hành động nhập (entry action) là một hành động được thực hiện khi trạng thái được vào. Nó thường được sử dụng để thực hiện các tác vụ cần thiết khi trạng thái được vào, chẳng hạn như khởi tạo dữ liệu, thiết lập trạng thái ban đầu, hoặc thực hiện các hành động khác cần thiết khi trạng thái được vào. Ví dụ, khi một người dùng đăng nhập vào ứng dụng, hành động nhập có thể được sử dụng để tải dữ liệu người dùng và thiết lập trạng thái đăng nhập. Hành động nhập thường được thực hiện một lần khi trạng thái được vào, và nó không được thực hiện lại khi trạng thái được rời.

#058
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADetailing class implementations
Defining system structure and high-level componentsĐÚNG
CWriting test cases
DRefactoring source code
Giải thích

Đáp án đúng: B. Thiết kế kiến trúc trong phát triển phần mềm tập trung vào việc xác định cấu trúc tổng thể của hệ thống và các thành phần ở mức cao: hệ thống gồm những khối nào, mỗi khối chịu trách nhiệm gì, chúng giao tiếp qua giao diện và cơ chế nào, đồng thời cân nhắc các thuộc tính chất lượng như hiệu năng, bảo mật, khả năng mở rộng. Chi tiết hoá hiện thực của từng lớp (A) thuộc thiết kế chi tiết; viết ca kiểm thử (C) thuộc pha kiểm thử; tái cấu trúc mã nguồn (D) là hoạt động cải tiến mã đã có, đều nằm ở mức thấp hơn so với thiết kế kiến trúc.

#059
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIf the client only communicates with the service once
If the client needs to have a dialog with the serviceĐÚNG
CIf the client knows the type of service required but not the specific service
DIf the client needs to provide the broker with a handle
Giải thích

Đáp án đúng: B. Broker Forwarding chuyển tiếp mọi lời gọi qua broker, còn Broker Handle thì broker chỉ trả về một handle (tham chiếu) tới dịch vụ để sau đó client giao tiếp trực tiếp với dịch vụ. Vì vậy Broker Handle đặc biệt hữu ích khi client cần trao đổi nhiều lượt, tức là có một phiên hội thoại với dịch vụ: chỉ phải qua broker một lần rồi làm việc trực tiếp, tránh nút thắt cổ chai. Nếu client chỉ gọi một lần (A) thì forwarding đơn giản hơn; phương án C mô tả tình huống dùng dịch vụ môi giới nói chung; phương án D đảo ngược vai trò - chính broker mới là bên cấp handle.