en_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Thành thạo sơ đồ lớp UML: Ngữ pháp và ví dụ

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:

  1. Tên lớp (bắt buộc)
  2. Thuộc tính (tùy chọn)
  3. 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ụ:

Attributes-example

Thao tác

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:

quyền truy cập tên(danh sách tham số) : kiểu trả về

Ví dụ:

Operations example

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.

Khách hàng 1 ----- * Đơ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ệmTà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 繁體中文.