Trắc nghiệm Công nghệ Phần mềm Bài: MÔ HÌNH HÓA LỚP THỰC THỂ là một trong những đề thi thuộc Chương 7: PHƯƠNG PHÁCH PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG trong học phần Công nghệ Phần mềm chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần kiến thức nền tảng và cốt lõi trong phân tích hướng đối tượng, tập trung vào việc nhận diện, định hình và biểu diễn các khái niệm, đối tượng quan trọng trong miền bài toán thực tế thành các lớp thực thể trong mô hình hệ thống phần mềm.
Trong bài học này, người học cần nắm vững các nội dung cốt lõi như: mục đích của mô hình hóa lớp thực thể, cách nhận diện lớp thực thể từ yêu cầu, các thành phần của lớp (thuộc tính, phương thức), các loại mối quan hệ giữa các lớp (liên kết, kế thừa, thành phần/kết tập), cách sử dụng Biểu đồ lớp (Class Diagram) trong UML để biểu diễn các khái niệm này, và tầm quan trọng của việc xây dựng một mô hình miền (Domain Model) chính xác và bền vững. Việc hiểu rõ mô hình hóa lớp thực thể sẽ trang bị cho sinh viên khả năng tư duy trừu tượng, mô hình hóa dữ liệu và cấu trúc hệ thống một cách hiệu quả, làm nền tảng vững chắc cho giai đoạn thiết kế và cài đặt.
Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!
Trắc nghiệm Công nghệ Phần mềm Bài: MÔ HÌNH HÓA LỚP THỰC THỂ
Câu 1.Mục đích chính của mô hình hóa lớp thực thể (Entity Class Modeling) trong phân tích hướng đối tượng là gì?
A. Để mô tả luồng điều khiển của chương trình.
B. Để thiết kế giao diện người dùng.
C. Để xác định các chức năng chính của hệ thống.
D. Để nhận diện và biểu diễn các khái niệm, đối tượng quan trọng trong miền bài toán và mối quan hệ giữa chúng.
Câu 2.Đâu là biểu đồ UML phổ biến nhất được sử dụng để mô hình hóa các lớp thực thể, thuộc tính và mối quan hệ của chúng?
A. Biểu đồ trường hợp sử dụng (Use Case Diagram).
B. Biểu đồ hoạt động (Activity Diagram).
C. Biểu đồ trình tự (Sequence Diagram).
D. Biểu đồ lớp (Class Diagram).
Câu 3.Khi trích rút các lớp thực thể từ tài liệu yêu cầu, kỹ thuật phổ biến nhất để nhận diện chúng là gì?
A. Xác định các động từ.
B. Xác định các tính từ.
C. Xác định các liên từ.
D. Xác định các danh từ (nouns) và cụm danh từ.
Câu 4.Một “Lớp thực thể” (Entity Class) thường đại diện cho loại đối tượng nào trong miền bài toán?
A. Một giao diện người dùng cụ thể.
B. Một logic điều khiển nghiệp vụ.
C. Một kết nối với hệ thống bên ngoài.
D. Một khái niệm quan trọng có dữ liệu và hành vi liên quan, thường có tính bền vững (persistent).
Câu 5.Trong biểu đồ lớp, một “Thuộc tính” (Attribute) của một lớp mô tả điều gì?
A. Một hành động mà đối tượng có thể thực hiện.
B. Mối quan hệ giữa các lớp.
C. Tên của lớp.
D. Một đặc điểm hoặc dữ liệu mà mỗi đối tượng của lớp đó lưu trữ.
Câu 6.Trong biểu đồ lớp, một “Phương thức” (Method) của một lớp mô tả điều gì?
A. Một đặc điểm của đối tượng.
B. Mối quan hệ giữa các lớp.
C. Cấu trúc dữ liệu bên trong.
D. Một hành vi hoặc chức năng mà một đối tượng có thể thực hiện.
Câu 7.Mối quan hệ “Kế thừa” (Inheritance) trong mô hình hóa lớp thực thể thể hiện điều gì?
A. Một lớp sử dụng một lớp khác.
B. Một lớp chứa một lớp khác.
C. Hai lớp độc lập.
D. Mối quan hệ “is-a” (là một loại của), nơi một lớp con kế thừa các thuộc tính và phương thức từ một lớp cha.
Câu 8.Trong một hệ thống quản lý bán hàng, `KhachHang` (Customer), `DonHang` (Order), `SanPham` (Product) là những ví dụ điển hình của loại nào?
A. Lớp biên giới (Boundary Class).
B. Lớp điều khiển (Control Class).
C. Lớp tiện ích (Utility Class).
D. Lớp thực thể (Entity Class).
Câu 9.Mối quan hệ “Liên kết” (Association) trong biểu đồ lớp thường được sử dụng để mô tả điều gì?
A. Một mối quan hệ “is-a”.
B. Một mối quan hệ “has-a” không phụ thuộc.
C. Một lớp là một phần của lớp khác.
D. Một mối quan hệ ngữ nghĩa hoặc cấu trúc chung giữa hai hoặc nhiều lớp.
Câu 10.Mục đích của việc đặt các “số lượng” (multiplicity) trong mối quan hệ liên kết trên biểu đồ lớp là gì?
A. Để làm cho biểu đồ phức tạp hơn.
B. Để chỉ ra thứ tự các đối tượng.
C. Để mô tả hành vi.
D. Để chỉ rõ số lượng thể hiện của một lớp có thể liên quan đến số lượng thể hiện của lớp khác.
Câu 11.Phát biểu nào sau đây **không đúng** về mô hình hóa lớp thực thể?
A. Nó là một phần của phân tích hướng đối tượng.
B. Nó là nền tảng cho thiết kế cơ sở dữ liệu.
C. Nó tập trung vào các khái niệm nghiệp vụ.
D. Nó cung cấp chi tiết về cách mã nguồn sẽ được viết.
Câu 12.Trong UML, mối quan hệ “Thành phần” (Composition) giữa hai lớp A và B (A has-a B) có ý nghĩa gì?
A. B có thể tồn tại độc lập với A.
B. A là một loại của B.
C. A sử dụng B.
D. B là một phần không thể tách rời của A, và nếu A bị hủy, B cũng bị hủy theo.
Câu 13.Sự khác biệt chính giữa mối quan hệ “Thành phần” (Composition) và “Kết tập” (Aggregation) trong mô hình hóa lớp thực thể là gì?
A. Composition là “is-a”, Aggregation là “has-a”.
B. Composition là tạm thời, Aggregation là vĩnh viễn.
C. Composition là yếu, Aggregation là mạnh.
D. Composition là mối quan hệ “sở hữu mạnh” (phần không thể tách rời của toàn bộ), Aggregation là mối quan hệ “sở hữu yếu” (phần có thể tồn tại độc lập).
Câu 14.Khái niệm “Mô hình miền” (Domain Model) là kết quả của việc mô hình hóa lớp thực thể. Mô hình này mô tả điều gì?
A. Cấu trúc vật lý của cơ sở dữ liệu.
B. Các chức năng của hệ thống.
C. Giao diện người dùng.
D. Các khái niệm, đối tượng và mối quan hệ quan trọng trong miền bài toán, không phụ thuộc vào công nghệ cụ thể.
Câu 15.Để đảm bảo tính “đóng gói” (Encapsulation) khi mô hình hóa lớp thực thể, điều gì cần được chú trọng?
A. Cho phép truy cập trực tiếp vào tất cả các thuộc tính.
B. Không định nghĩa bất kỳ phương thức nào.
C. Chia thuộc tính và phương thức ra các lớp khác nhau.
D. Nhóm các thuộc tính và phương thức liên quan lại với nhau trong một lớp và hạn chế quyền truy cập từ bên ngoài.
Câu 16.Việc mô hình hóa lớp thực thể giúp gì trong việc “quản lý sự phức tạp” của hệ thống?
A. Làm cho hệ thống phức tạp hơn.
B. Giảm sự cần thiết của kiểm thử.
C. Loại bỏ tất cả các vấn đề.
D. Chia nhỏ hệ thống thành các đơn vị logic (lớp) dễ hiểu và quản lý hơn.
Câu 17.Khi một lớp thực thể được mô hình hóa, các phương thức của nó thường đại diện cho:
A. Các sự kiện bên ngoài.
B. Các điều kiện trong cơ sở dữ liệu.
C. Các thuộc tính của lớp.
D. Các hành vi hoặc trách nhiệm mà đối tượng của lớp đó có thể thực hiện.
Câu 18.Mối quan hệ nào sau đây biểu thị rằng một lớp này cần sử dụng một lớp khác để thực hiện một số chức năng, nhưng không phải là mối quan hệ sở hữu hay kế thừa?
A. Kế thừa.
B. Thành phần.
C. Kết tập.
D. Phụ thuộc (Dependency).
Câu 19.Một lợi ích chính của việc có một mô hình lớp thực thể rõ ràng và chính xác là gì?
A. Làm cho việc viết mã nguồn nhanh hơn.
B. Giảm chi phí bảo trì.
C. Giảm nhu cầu về tài liệu.
D. Cung cấp nền tảng vững chắc cho việc thiết kế cơ sở dữ liệu và kiến trúc phần mềm.
Câu 20.Nếu một khái niệm trong miền bài toán không có dữ liệu riêng mà chỉ có hành vi, ví dụ như một “bộ xử lý”, nó có khả năng trở thành lớp nào hơn lớp thực thể?
A. Lớp biên giới.
B. Lớp điều khiển (Control Class).
C. Lớp liên kết.
D. Lớp trừu tượng.
Câu 21.Trong mô hình hóa lớp thực thể, việc “tái sử dụng” (reusability) có thể được cải thiện bằng cách nào?
A. Tạo ra các lớp thực thể phức tạp.
B. Giới hạn số lượng lớp.
C. Loại bỏ các mối quan hệ.
D. Thiết kế các lớp thực thể độc lập, đóng gói tốt và có giao diện rõ ràng.
Câu 22.Mô hình hóa lớp thực thể thường được thực hiện trong giai đoạn nào của UML Unified Process?
A. Pha Khởi tạo (Inception).
B. Pha Xây dựng (Construction).
C. Pha Chuyển giao (Transition).
D. Pha Triển khai (Elaboration) – trong luồng công việc Phân tích & Thiết kế.
Câu 23.Lớp nào sau đây thường có mức độ “cohesion” (sự cố kết) cao nhất?
A. Lớp điều khiển.
B. Lớp biên giới.
C. Lớp tiện ích.
D. Lớp thực thể.
Câu 24.Khi nào thì nên bắt đầu mô hình hóa lớp thực thể trong một dự án phần mềm?
A. Chỉ sau khi đã viết mã nguồn.
B. Chỉ sau khi đã triển khai hệ thống.
C. Chỉ khi đã thiết kế giao diện người dùng.
D. Ngay sau khi đã thu thập các yêu cầu chức năng cơ bản.
Câu 25.Mục tiêu của việc xác định “ràng buộc” (constraints) trên các thuộc tính hoặc mối quan hệ trong biểu đồ lớp là gì?
A. Để làm cho biểu đồ phức tạp hơn.
B. Để tự động tạo ra mã nguồn.
C. Để loại bỏ các thuộc tính không cần thiết.
D. Để xác định các quy tắc hoặc giới hạn mà dữ liệu và mối quan hệ phải tuân thủ.