Các Sơ đồ lớp UMLthường là điểm khởi đầu của thiết kế hướng đối tượng. Nó ghi lại từ vựng của một hệ thống — các lớp, thuộc tính của chúng, hành vi và các mối quan hệ kết nối chúng lại với nhau. Dù bạn đang vẽ mô hình khái niệm hay xây dựng bản vẽ chi tiết cho việc triển khai, việc hiểu ngữ pháp của sơ đồ lớp là điều cần thiết.
Hướng dẫn này đi qua các ký hiệu chính, các loại mối quan hệ chính và các ví dụ rõ ràng giúp kết nối UML với các vấn đề thiết kế hàng ngày.

Sơ đồ lớp biểu diễn điều gì
Sơ đồ lớp mô tả cấu trúc tĩnh. Khác với các sơ đồ hành vi, nó không tập trung vào luồng hay thời gian. Thay vào đó, nó giải thích cách hệ thống được tổ chức:
- Các lớp nào tồn tại
- Dữ liệu mà chúng lưu trữ
- Các thao tác mà chúng thực hiện
- Chúng được kết nối với nhau như thế nào
Nó là nền tảng của nhiều mô hình UML vì nó hình thức hóa tư duy hướng đối tượng theo cách trực quan và có cấu trúc.
Ngữ pháp sơ đồ lớp: Những điều cần thiết
Ký hiệu lớp
Một lớp được vẽ dưới dạng một hình chữ nhật chia thành tối đa ba ngăn:
- Tên lớp (bắt buộc)
- Thuộc tính (tùy chọn)
- Thao tác (tùy chọn)
Ví dụ:
Thuộc tính
Các thuộc tính mô tả trạng thái của một đối tượng.
Ngữ pháp:
độ khả kiến tên : kiểu = mặc định
Ký hiệu quyền truy cập:
+công khai-riêng tư#được bảo vệ
Ví dụ:

Các thao tác biểu diễn hành vi hoặc dịch vụ mà lớp cung cấp.
Ngữ pháp:
Ví dụ:
Các loại mối quan hệ trong sơ đồ lớp
Sức mạnh của sơ đồ lớp đến từ các kết nối giữa các lớp. Các loại mối quan hệ phổ biến nhất mô tả cách các đối tượng tương tác hoặc phụ thuộc lẫn nhau.
Liên kết
Một liên kết thể hiện một mối liên kết cấu trúc giữa các lớp.
- Có thể bao gồmvai trò, số lượng, hoặckhả năng điều hướng.
- Biểu diễn mối liên kết ổn định, dài hạn.
Ví dụ:
Một Khách hàng đặt nhiều Đơn hàng.
Aggregation
Aggregation biểu diễn một mối quan hệ “toàn thể–phần” trong đó phần có thể tồn tại độc lập.
Được đánh dấu bằng một hình kim cương rỗngở phía toàn thể.
Ví dụ:
Một Đội có nhiều Cầu thủ, nhưng các cầu thủ có thể tồn tại bên ngoài đội.
Composition
Một dạng mạnh hơn của Aggregation, trong đó vòng đời của phần phụ thuộc vào toàn thể.
Được đánh dấu bằng một hình kim cương đầy.
Ví dụ:
Một Đơn hàng chứa Đơn hàng chi tiết sản phẩm, và việc xóa đơn hàng sẽ xóa tất cả các dòng của nó.
Tổng quát hóa (Kế thừa)
Cho thấy một lớp mở rộng từ một lớp khác.
- Mũi tên chỉ về lớp cha.
- Được sử dụng để chia sẻ thuộc tính và hành vi đa hình.
Ví dụ:Tài khoản tiết kiệm → Tài khoản
Phụ thuộc
Chỉ ra rằng một lớp sử dụng hoặc phụ thuộc vào một lớp khác tạm thời (ví dụ: một tham số).
Thường được thể hiện bằng mũi tên gạch ngang.
Thực hiện
Được sử dụng khi một lớp triển khai một giao diện.
Các ví dụ thực tế về hướng đối tượng
Dưới đây là các tình huống đơn giản nhưng thực tế minh họa cách cú pháp sơ đồ lớp xuất hiện trong công việc thiết kế thực tế.
Ví dụ: Hệ thống đặt hàng thương mại điện tử
Lớp:
- Khách hàng
- Đơn hàng
- Chi tiết đơn hàng
- Sản phẩm
Các mối quan hệ chính:
- Khách hàng tạo ra Đơn hàng (quan hệ liên kết)
- Đơn hàng gồm Chi tiết đơn hàng (tổ hợp)
- Đơn vị hàng hóa chỉ đến Sản phẩm (liên kết)
Cấu trúc này rõ ràng cho thấy:
- Quyền sở hữu các đơn vị hàng hóa trong đơn hàng
- Mối liên hệ giữa các mặt hàng đã đặt và dữ liệu sản phẩm
- Vai trò của khách hàng trong quá trình giao dịch

Ví dụ: Quản lý thư viện
Lớp:
- Sách
- Bản sao
- Thành viên
- Mượn
Mối quan hệ:
- Sách gồm Bản sao (các bản sao tồn tại độc lập với dữ liệu metadata của sách)
- Bản sao gồm Mượn (các giao dịch mượn không tồn tại nếu không có bản sao nào được mượn)
- Thành viên mượn Mượn (liên kết)
Mô hình này tách biệt khái niệm trừu tượng về một cuốn sách khỏi các bản sao vật lý.

Tại sao sơ đồ lớp lại quan trọng
Sơ đồ lớp vẫn giữ vị trí cốt lõi trong UML vì chúng giúp bạn:
- Làm rõ cấu trúc hướng đối tượng trước khi lập trình
- Tinh chỉnh trách nhiệm và ranh giới
- Phát hiện các khái niệm còn thiếu hoặc các thiết kế quá phức tạp
- Truyền đạt các ý tưởng kỹ thuật một cách hiệu quả
- Giữ tài liệu đồng bộ với triển khai
Dù bạn sử dụng UML thường xuyên hay thỉnh thoảng, việc thành thạo ký hiệu sơ đồ lớp sẽ giúp xây dựng các thiết kế vững chắc hơn.
Để biết thêm thông tin về UML và cách AI hỗ trợ việc trực quan hóa nó, vui lòng tham khảo trangTrung tâm tài nguyên UML.
This post is also available in English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.













