Sơ đồ lớp (Class Diagram) và cách xây dựng bản vẽ Class

Trong thiết kế phần mềm, tạo ra một sơ đồ lớp hợp lý sẽ góp phần quan trọng trong việc mở rộng và bảo trì phần mềm sau này. Vậy sơ đồ lớp (Class Diagram) là gì? Và cách xây dựng một bản vẽ Class được thực hiện như thế nào? Hãy cùng tìm hiểu rõ hơn ngay dưới bài viết này nhé.

sơ đồ lớp (class diagram)

Sơ đồ lớp (Class Diagram) là gì?

Sơ đồ lớp hay Class Diagram là một trong những bản vẽ quan trọng nhất trong quá trình thiết kế phần mềm. Nó thể hiện các cấu trúc cũng như quan hệ giữa các thành phần tạo nên phần mềm. 

sơ đồ lớp (class diagram)

Class Diagram là một trong những bản vẽ khó xây dựng nhất bởi trong quá trình xây dựng, bạn sẽ phải quyết định rất nhiều yếu tố về thiết kế. Đây là bản vẽ thể hiện cấu trúc tĩnh của phần mềm, nó gần giống như bản vẽ mặt bằng trong thiết kế của ngành xây dựng.

Các thành phần của Class Diagram

Các thành phần của Class Diagram bao gồm:

  • Classes (Các lớp)

Đây là thành phần chính của một bản vẽ sơ đồ lớp. Classes mô tả về nhóm đối tượng cùng tính chất, hành động trong hệ thống. Classes sẽ bao gồm: Class Name, Attributes và Method. Trong đó:

Class Name thể hiện tên của lớp.

Attributes mô tả các thuộc tính, tính chất của các đối tượng trong lớp

Method tức là phương thức, chỉ các hành động đối tượng có thể thực hiện ở trong hệ thống. Nó thể hiện các hành vi của đối tượng được tạo ra bởi lớp này.

  • Relationship (Mối quan hệ)

Relationship là yếu tố thể hiện mối quan hệ giữa các lớp (Class) với nhau. Một số quan hệ thường dùng trong sơ đồ lớp như sau:

Association: mô tả quan hệ giữa hai lớp với nhau, nó thể hiện rằng giữa chúng có liên quan với nhau.

Aggregation: là một loại của quan hệ Association nhưng mạnh hơn Association. Aggregation có thể cùng chung thời gian sống (cùng sinh ra hoặc chết đi).

Composition: Đây là một loại quan hệ còn mạnh hơn cả quan hệ Aggregation. Nó thể hiện mối quan hệ class này là một phần của class kia nên dẫn đến chúng sẽ cùng tạo ra hoặc cùng chết đi.

Generalization: Đây là một dạng quan hệ thừa kế. Nó được sử dụng rộng rãi trong lập trình hướng đối tượng.

Như vậy, bạn đã hiểu sơ đồ lớp (Class Diagram) là gì và thành phần của nó bao gồm những gì rồi đúng không ạ? Vậy cách xây dựng bản vẽ Class được thực hiện như thế nào? Bạn hãy theo dõi tiếp ở phần dưới đây nhé.

Cách xây dựng bản vẽ Class

Như đã nói ở trên sơ đồ lớp (Class Diagram) là một bản vẽ cực kỳ khó xây dựng. Để xây dựng được một bản vẽ Class hoàn chỉnh và hợp lý đòi hỏi bạn phải hiểu rõ ràng về hệ thống và có kinh nghiệm về lập trình hướng đối tượng. Đây là một ví dụ bản vẽ Class hoàn chỉnh:

sơ đồ lớp (class diagram)

Các bước để xây dựng lên một Class Diagram được thực hiện như sau:

Bước 1: Tìm kiếm các Classes dự kiến

Entity Classes(các lớp thực thể) là các thực thể có thật và hoạt động trong hệ thống, bạn có thể dựa vào những nguồn sau để xác định chúng:

  • Requirement statement: Là các yêu cầu. Bạn cần phân tích các danh từ trong các yêu cầu để tìm ra thực thể.

  • Use Cases: Phân tích các Use Case là một cách để tìm thêm Classes dự kiến.

  • Previous và Similar System: là một nguồn có thể sẽ cung cấp cho bạn thêm các lớp dự kiến.

  • Application Experts: Những chuyên gia ứng dụng có thể giúp bạn tìm thế các Class dự kiến.

Bước 2: Tìm các thuộc tính và phương thức cho Class

  • Tìm thuộc tính: phân tích các thông tin từ các form mẫu có sẵn, bạn sẽ tìm ra được thuộc tính cho các đối tượng của Class.

  • Tìm phương thức: Phương thức là các hoạt động mà đối tượng của lớp có thể thực hiện được. 

Bước 3: Xây dựng các quan hệ giữa các lớp và phát hiện các lớp phát sinh

  • Phân tích các quan hệ giữa các lớp với nhau và định nghĩa các lớp phát sinh do các quan hệ tạo ra.

  •  Tách chúng ra và vẽ chúng lên bản vẽ. Như vậy bạn sẽ có Class Diagram cho hệ thống.

Ứng dụng của bản vẽ lớp

Bản vẽ Class Diagram có một số ứng dụng bao gồm:

  • Giúp chúng ta hiểu rõ về cấu trúc của hệ thống

  • Giúp thiết kế hệ thống hợp lý và chính xác hơn

  • Sử dụng để phân tích chi tiết và cụ thể hơn các chức năng (Sequence Diagram, State Diagram v.v…)

  • Có thể sử dụng bản vẽ Class Diagram để cài đặt (coding)

Có thể nói thực hiện xây dựng một sơ đồ lớp (Class Diagram) là một việc cực kì khó. Vậy nên mong rằng những chia sẻ ở bài viết trên sẽ giúp bạn hiểu hơn về Class Diagram cũng như các bước xây dựng một sơ đồ lớp hợp lý.