Biểu đồ lớp

I. Biểu đồ lớp (Class Diagram) là gì?

Biểu đồ lớp (Class Diagram)một loại sơ đồ UML dùng để mô hình hóa cấu trúc tĩnh của hệ thống phần mềm. Nó mô tả các lớp (Classes), thuộc tính (Attributes), phương thức (Methods)mối quan hệ (Relationships) giữa các lớp trong hệ thống.

➡️ Biểu đồ lớp là xương sống của phân tích và thiết kế hướng đối tượng, giúp hình dung cấu trúc hệ thống trước khi bắt đầu lập trình.


II. Mục đích của Biểu đồ lớp

Mục đích

Ý nghĩa

Mô tả cấu trúc tĩnh của hệ thống

Cho biết hệ thống có những lớp nào, chúng có gì, và quan hệ với nhau thế nào.

Hỗ trợ phân tích và thiết kế hướng đối tượng

Tạo tiền đề cho việc viết mã nguồn theo kiến trúc rõ ràng.

Hiểu các thành phần và vai trò

Giúp BA, Developer, Tester hiểu rõ hệ thống cần xây dựng.

Xác định các mô-đun chức năng

Phân chia các phần của hệ thống theo lớp.


III. Thành phần chính của Biểu đồ lớp

Thành phần

Ý nghĩa

Class (Lớp)

Đại diện cho một đối tượng hay khái niệm trong hệ thống.

Attributes (Thuộc tính)

Thông tin dữ liệu được lưu trong lớp.

Methods (Phương thức)

Hành động mà lớp có thể thực hiện.

Relationships (Mối quan hệ)

Kết nối giữa các lớp (kế thừa, kết hợp, kết tập, liên kết...).


IV. Cấu trúc một lớp trong Biểu đồ lớp

markdownCopyEdit-----------------------------
|      Tên lớp (Class Name)  |
-----------------------------
| Thuộc tính (Attributes)   |
-----------------------------
| Phương thức (Methods)     |
-----------------------------

Ví dụ:

markdownCopyEdit------------------------------
|        Khách hàng           |
------------------------------
| - Tên: String               |
| - Địa chỉ: String           |
------------------------------
| + Đặt hàng()                |
| + Hủy đơn hàng()            |
------------------------------

V. Các mối quan hệ trong Biểu đồ lớp

Loại quan hệ

Ý nghĩa

Ký hiệu

Kế thừa (Generalization)

Lớp con kế thừa lớp cha (IS-A relationship).

Mũi tên rỗng tam giác.

Kết hợp (Association)

Quan hệ giữa các đối tượng, liên kết trực tiếp.

Đường thẳng.

Kết tập (Aggregation)

Một lớp chứa lớp khác (HAS-A relationship, dạng nhẹ).

Đường thẳng với hình thoi rỗng.

Hợp thành (Composition)

Một lớp chứa lớp khác (HAS-A relationship, dạng chặt).

Đường thẳng với hình thoi đặc.

Phụ thuộc (Dependency)

Một lớp phụ thuộc tạm thời vào lớp khác.

Mũi tên nét đứt.


VI. Ví dụ đơn giản về Biểu đồ lớp cho hệ thống bán hàng

Các lớp chính:

  • Khách hàng (Customer)

  • Đơn hàng (Order)

  • Sản phẩm (Product)


Quan hệ giữa các lớp:

Lớp 1

Mối quan hệ

Lớp 2

Ý nghĩa

Khách hàng

Kết hợp

Đơn hàng

Một khách hàng có thể có nhiều đơn hàng.

Đơn hàng

Kết tập

Sản phẩm

Một đơn hàng chứa nhiều sản phẩm.


Mô tả sơ đồ:

luaCopyEdit+----------------+        1     *       +---------------+     *     *       +------------+
|  Khách hàng    |----------------------|  Đơn hàng     |-------------------| Sản phẩm   |
+----------------+                      +---------------+                   +------------+
| - Tên          |                      | - Ngày tạo    |                   | - Tên      |
| - Email        |                      | - Tổng tiền   |                   | - Giá      |
+----------------+                      +---------------+                   +------------+
| + Đặt hàng()   |                      | + Thêm SP()   |                   |            |
|                |                      | + Hủy đơn()   |                   |            |
+----------------+                      +---------------+                   +------------+

VII. Ý nghĩa Biểu đồ lớp đối với BA và Developer

Đối tượng

Ý nghĩa Biểu đồ lớp

BA (Business Analyst)

Hiểu rõ các thành phần chính, xác định yêu cầu nghiệp vụ.

Developer

Xây dựng các lớp, module theo đúng thiết kế.

Tester

Dựa vào sơ đồ để viết test case phù hợp với luồng nghiệp vụ.


VIII. Kết luận

  • Biểu đồ lớp (Class Diagram) là công cụ cốt lõi để mô hình hóa hệ thống phần mềm theo hướng đối tượng.

  • Giúp minh bạch hóa cấu trúc hệ thống, hỗ trợ cho phân tích, thiết kế, phát triển và kiểm thử.

  • kết nối trung gian giữa yêu cầu nghiệp vụ và thiết kế kỹ thuật.

Last updated