Sơ đồ UML là gì? Các loại sơ đồ UML phổ biến nhất 2024

Sơ đồ UML là gì? Các loại sơ đồ UML phổ biến nhất 2024
Tô Lãm

14/03/2024

181

0

Chia sẻ lên Facebook
Sơ đồ UML là gì? Các loại sơ đồ UML phổ biến nhất 2024

Sơ đồ UML là gì? Đây là câu hỏi mà nhiều người mới bước chân vào lĩnh vực lập trình quan tâm. Việc tạo ra phần mềm hiệu quả và dễ bảo trì luôn là một thách thức lớn đối với lập trình viên và Business Analyst. May mắn thay, Sơ đồ UML (Unified Modeling Language) xuất hiện như một vị cứu tinh, giúp các nhà phát triển giải quyết bài toán này một cách hiệu quả. Bây giờ hãy cùng Topchuyengia tìm hiểu sơ đồ UML là gì, có bao nhiêu loại và vì sao nên sử dụng nó.

 

Nếu bạn muốn nâng cao kỹ năng thiết kế phần mềm của mình với Sơ đồ UML? Hãy booking tư vấn ngay với các chuyên gia BA của chúng tôi trên app Askany. 

Sơ đồ UML là gì?

Theo Wiki, Sơ đồ UML (viết tắt của Unified Modeling Language) là một ngôn ngữ mô hình hóa thống nhất bao gồm các ký hiệu đồ họa, được sử dụng để thiết kế và mô tả các hệ thống phần mềm, đặc biệt là các hệ thống hướng đối tượng. UML là một cách thức trực quan để thể hiện cấu trúc, hành vi và mối quan hệ giữa các thành phần của hệ thống.

 

Coding có thể là một quá trình phức tạp với nhiều yếu tố liên quan đến nhau. Thường có hàng nghìn dòng ngôn ngữ lập trình mà thoạt nhìn có thể khó hiểu. Sơ đồ UML giúp các developer, nhà phân tích dữ liệu và các bên liên quan khác có thể dễ dàng giao tiếp và hiểu được thiết kế của hệ thống hơn. Sơ đồ UML giúp nắm bắt tất cả các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến thiết kế, thẩm định và kiểm tra sản phẩm/ứng dụng.

sơ đồ UML
Hình vẽ sơ đồ UML

Sơ đồ UML (UML diagrams) bao gồm một loạt các sơ đồ được sử dụng để biểu diễn cấu trúc và hành vi của hệ thống như sau:

 

Coding có thể là một quá trình phức tạp với nhiều yếu tố liên quan đến nhau. Thường có hàng nghìn dòng ngôn ngữ lập trình mà thoạt nhìn có thể khó hiểu. Sơ đồ UML giúp các developer, nhà phân tích dữ liệu và các bên liên quan khác có thể dễ dàng giao tiếp và hiểu được thiết kế của hệ thống hơn. Sơ đồ UML giúp nắm bắt tất cả các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến thiết kế, thẩm định và kiểm tra sản phẩm/ứng dụng.

 

Sơ đồ UML (UML diagrams) bao gồm một loạt các sơ đồ được sử dụng để biểu diễn cấu trúc và hành vi của hệ thống như sau:

  • Sơ đồ Lớp (Class Diagram): Biểu diễn cấu trúc của hệ thống qua các lớp và mối quan hệ giữa chúng.
  • Sơ đồ Đối tượng (Object Diagram): Mô tả các thực thể và mối liên kết giữa chúng trong một thời điểm cụ thể.
  • Sơ đồ Tình huống Sử dụng (Use Cases Diagram): Chỉ ra các chức năng của hệ thống và tương tác của người dùng.
  • Sơ đồ Trình tự (Sequence Diagram): Mô tả trình tự của các sự kiện giữa các đối tượng.
  • Sơ đồ Cộng tác (Composite Structure): Biểu diễn cách thức các phần của hệ thống làm việc cùng nhau.
  • Sơ đồ Trạng thái (State Machine Diagram): Thể hiện các trạng thái khác nhau của đối tượng và chuyển đổi giữa chúng.
  • Sơ đồ Thành phần (Component Diagram): Định rõ cấu trúc và phụ thuộc giữa các thành phần.
  • Sơ đồ Hoạt động (Activity Diagram): Biểu diễn luồng điều khiển và luồng dữ liệu trong hệ thống.
  • Sơ đồ Triển khai (Deployment Diagram): Mô tả cách thức phân phối các thành phần hệ thống trên phần cứng.
  • Sơ đồ Gói (Package Diagram): Nhóm các lớp liên quan vào một gói.
  • Sơ đồ Liên lạc (Communication Diagram): Mô tả tương tác giữa các đối tượng dựa trên thông điệp.
  • Sơ đồ Tương tác (Interaction Overview Diagram – UML 2.0): Tổng quan về luồng tương tác trong hệ thống (UML 2.0).
  • Sơ đồ Phối hợp Thời gian (Timing Diagram – UML 2.0): Biểu diễn thời gian và sự kiện cho các tương tác (UML 2.0).
  • >>>Xem thêm: Root cause là gì? Giải đáp những thắc mắc của bạn về Root cause.

Các loại sơ đồ UML phổ biến nhất

Dưới đây là 3 loại biểu đồ UML phổ biến thường dùng trong thực tế mà bạn nên tìm hiểu kỹ.

Biểu đồ Use case

Biểu đồ tác nhân - sử dụng Use case là loại phổ biến nhất trong sơ đồ UML. Nó là một công cụ giúp hiển thị các chức năng mà hệ thống cần cung cấp và cách các tác nhân bên ngoài tương tác với những chức năng đó.

Mỗi tác nhân đại diện cho một người dùng hoặc một hệ thống khác. Chúng có thể tương tác với hệ thống của bạn. Mỗi Use case là một quy trình hoặc một dịch vụ cụ thể mà hệ thống thực hiện. Sơ đồ này thường không đi sâu vào chi tiết cách thức hoạt động bên trong của một hệ thống, mà nó chỉ tập trung vào việc mô tả hành vi của hệ thống từ góc nhìn của người dùng.

Các thành phần chính của sơ đồ bao gồm: tác nhân (Actor), chức năng tương tác (Use Case), và mối quan hệ (Relationship) giữa chúng.

Thành phần Actor được ký hiệu như sau:

sơ đồ UML

Hay:

sơ đồ UML


Thành phần Use case được kí hiệu bằng hình elips.

sơ đồ UML


Thành phần mối quan hệ giữa các use case được thể hiện như sau:

  • Association: dùng để mô tả mối quan hệ giữa Actor & Use Case và giữa các Use Case với nhau

sơ đồ UML

  • Include: biểu thị mối quan hệ giữa các Use Case với nhau. Include mô tả việc một Use Case lớn được chia thành các Use Case nhỏ để dễ dàng cài đặt (module hóa) hoặc thể hiện sự dùng lại.

sơ đồ UML

  • Extend: biểu thị quan hệ giữa 2 Use Case. Quan hệ Extend được dùng khi có một Use Case được tạo ra mục đích để bổ sung chức năng cho một Use Case có sẵn. Và chúng được sử dụng trong một điều kiện nhất định nào đó.

sơ đồ UML

  • Generalization: sử dụng để thể hiện quan hệ thừa kế giữa các Actor hoặc giữa các Use Case với nhau.

sơ đồ UML

Ví dụ về cách sử dụng Use Case Diagram trong thực tế:

 

Ở ví dụ này, Topchuyengia sẽ xây dựng một phần mềm quản lý thư viện sách cho club FCT có tên Library Management FCT. Ứng dụng của phần mềm này là giúp nhân sự có thể quản lý danh mục sách đang có trong thư viện. Để bắt đầu xây dựng phần mềm, chúng ta sẽ giả định những yêu cầu của người dùng đối với phần mềm như sau:

  • Chức năng chính của phần mềm này là quản lý danh mục sách đang có trong thư viện.
  • Phần mềm cho phép mentor, học sinh của club đăng ký tài khoản với mục đích mượn hoặc trả sách.
  • Đối với mỗi đầu sách, phần mềm sẽ phải lưu giữ thông tin về tên sách, tác giả, năm xuất bản.


Sau khi thu thập đầy đủ những yêu cầu về tính năng của phần mềm, chúng ta sẽ tiến hàng thiết kế Use case diagram để có cái nhìn tổng quan về tính năng của phần mềm. Ở đây, đối tượng sử dụng phần mềm chính là các học sinh và mentor được gọi chung là user. Và nó được ký hiệu bằng Actor của Use case diagram. Tiếp theo, các action mà user thực hiện trên phần mềm sẽ bao gồm: đăng nhập (login), đăng xuất (logout),  đăng ký tài khoản (register), mượn sách (borrow) và trả sách (give back). Kết quả chúng ta sẽ có một Use case diagram đơn giản như sau:

sơ đồ UML

Biểu đồ lớp (Class Diagram)

Biểu đồ lớp Class diagram dùng để mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng. Thành phần chính của một class diagram bao gồm:

  • Tên class
  • Attribute (thuộc tính, field, property)
  • Operation (phương thức, method, function)


Ví dụ khai báo tên, operation, attribute kèm theo kiểu trả về của 1 class như sau:

sơ đồ UML

Ngoài ra, để thể hiện thêm phạm vi truy cập cho các thuộc tính và phương thức trong class, bạn có thể sử dụng thêm các ký hiệu như sau:

  • Private ( – ): Chỉnh các đối tượng được tạo trong class này mới có thể sử dụng.
  • Public ( + ):  Tất cả đối tượng đều có thể sử dụng.
  • Protected ( # ): Chỉ những đối tượng được tạo từ class này và class kế thừa từ class này mới có thể sử dụng.

sơ đồ UML

Thành phần Relationship trong Biểu đồ Lớp có thể được chia thành 4 loại như sau:

sơ đồ UML

  • Composition: Đối tượng tạo từ class A mất thì đối tượng tạo từ class B cũng sẽ mất.
  • Inheritance: Có 1 class kế thừa từ 1 class khác.
  • Association: Có 2 class liên hệ với nhau nhưng không chỉ rõ mối liên hệ.
  • Aggregation: Đối tượng tạo từ class A mất thì đối tượng tạo từ class B vẫn tồn tại độc lập.

Trong sơ đồ lớp, “Bội số quan hệ” chỉ số lượng đối tượng của một lớp có thể liên kết với đối tượng của lớp khác. Mỗi liên kết giữa hai lớp có hai bội số quan hệ, mỗi bội số đặt ở một đầu của liên kết, thể hiện mối quan hệ như sau:

  • 0…1: Không hoặc một đối tượng.
  • n: Chính xác n đối tượng.
  • 0…*: Không hoặc nhiều đối tượng.
  • 1…*: Ít nhất một đối tượng.
  • m…n: Ít nhất m đối tượng nhưng không quá n đối tượng.

 

Ví dụ sử dụng Class Diagram:
 

Topchuyengia sẽ tiếp tục ví dụ về việc xây dựng sơ đồ lớp cho hệ thống quản lý thư viện FCT. Sau khi đã có sơ đồ tác nhân-sử dụng Use case Diagram, chúng ta sẽ phát triển sơ đồ Class Diagram.

 

Phần mềm sẽ bao gồm các class chính là: Quản lý thư viện - Library Management FCT, Người dùng (user), tài khoản (account), sách (book). Các thuộc tính và phương thức của mỗi lớp sẽ được thiết kế dựa trên yêu cầu cụ thể và mục tiêu của hệ thống..

sơ đồ UML

Biểu đồ tuần tự (Sequence Diagram)

Sơ đồ tuần tự - Sequence Diagram là một công cụ mô hình hóa dùng để mô tả quy trình giao tiếp giữa các đối tượng trong một kịch bản cụ thể, theo thứ tự thời gian. Nó giúp ta hiểu rõ cách thức và thời điểm các đối tượng trao đổi thông tin.

 

Dưới đây là các yếu tố cấu thành nên sơ đồ tuần tự:

  • Đối tượng (object or class): Được biểu thị qua hình chữ nhật, đại diện cho một đối tượng hoặc lớp.

sơ đồ UML

  • Lifelines: Đường thẳng đứng xuất phát từ mỗi đối tượng, biểu thị vòng đời của nó.

sơ đồ UML

  • Thông điệp (Message):  Các mũi tên biểu thị thông điệp được gửi giữa các đối tượng.

sơ đồ UML

  • Hoạt động: Các hình chữ nhật nhỏ liền kề với đường đời, biểu thị quá trình xử lý nội bộ.

sơ đồ UML

Ví dụ cách sử dụng Sequence Diagram:

 

Vẫn tiếp tục áp dụng sơ đồ tuần tự cho hệ thống quản lý thư viện FCT. Ở đây chúng ta sẽ sử dụng Sequence diagram để mô tả lại quy trình action mượn sách của người dùng. Để một user mượn sách thành công thì họ cần thực hiện yêu cầu mượn sách, hệ thống sẽ kiểm tra tình trạng sẵn có của sách và kiểm tra trạng thái xem người dùng có đủ điều kiện mượn sách hay không. Cuối cùng sẽ trả về thông báo cho người dùng biết là có thể mượn sách tại thư viện hay không.

sơ đồ UML

Lợi ích khi sử dụng sơ đồ UML

sơ đồ UML

Sử dụng sơ đồ UML (Unified Modeling Language) mang lại rất nhiều lợi ích cho các nhóm phát triển phần mềm, dưới đây là một số ưu điểm chính:

  • Sơ đồ UML giúp bạn dễ dàng hiểu các ý tưởng và hệ thống phức tạp: Nó giúp biến các khái niệm trừu tượng và hệ thống phần mềm trở nên dễ hiểu hơn thông qua hình ảnh, điều này rất có lợi cho các coder cần hợp tác để xây dựng phần mềm chất lượng.
  • Giao tiếp hiệu quả với các bên liên quan: Các kỹ sư có thể dùng sơ đồ UML để giải thích cách thức hoạt động của hệ thống cho những người không am hiểu về kỹ thuật biết.
  • Biến đổi code phức tạp thành biểu đồ trực quan: Việc xây dựng phần mềm thường yêu cầu hàng ngàn dòng code phức tạp, với các mối quan hệ và thứ bậc bên trong. Việc giải nghĩa code này có thể sẽ rất khó khăn và tốn thời gian. Nhưng khi sử dụng UML, bạn có thể đơn giản hóa quá trình này bằng cách biến các môi trường code thành các biểu đồ trực quan dễ hiểu.
  • Sơ đồ UML giữ mọi người trên cùng một trang: Nếu bất kỳ ai trong nhóm có thắc mắc về cách thức hoạt động của hệ thống, biểu đồ trực quan sẽ đóng vai trò như tài liệu tham khảo. Điều này giúp các thành viên trong nhóm thống nhất về tiến độ và ưu tiên nhiệm vụ trong quá trình phát triển phần mềm.
  • Giúp lập trình viên nhìn thấy bức tranh toàn cảnh của hệ thống: Trong quá trình phát triển phần mềm, điều quan trọng là phải hiểu và nhớ những gì bạn đang cố gắng xây dựng. Các lập trình viên có thể bị sa lầy khi viết các thư viện code khổng lồ. Điều này có thể khiến họ bị lạc trong quá trình thay vì nhìn nhận toàn bộ dự án.
  • Tăng khả năng bảo trì, giảm thiểu lỗi: Sơ đồ UML giúp hệ thống dễ dàng được bảo trì và nâng cấp trong tương lai. Không chỉ vậy, việc sử dụng Sơ đồ UML giúp phát hiện lỗi thiết kế sớm hơn, tiết kiệm thời gian và chi phí sửa lỗi. Nó còn giúp các nhà phát triển tái sử dụng các thành phần thiết kế trong các dự án khác.
Tìm hiểu thêm: Tổng hợp kiến thức của BA từ cơ bản đến nâng cao

Tổng hợp công cụ vẽ sơ đồ UML

sơ đồ uml
Diagram Design là một trong các công cụ vẽ UML nổi tiếng hiện nay

 

Công cụ Offline:

http://diagram-designer.en.softonic.com/

 

Công cụ Online:
https://app.diagrams.net/
https://cacoo.com/diagrams/

 

Ngoài ra, còn có một số công cụ vẽ sơ đồ UML phổ biến và dễ sử dụng mà bạn có thể tham khảo:

  1. Lucidchart: Một công cụ trực tuyến cho phép bạn tạo các loại sơ đồ UML, bao gồm cả sơ đồ cấu trúc và hành vi.
  2. Astah: Một công cụ mô hình hóa đồ họa giành giải thưởng, hỗ trợ tạo sơ đồ UML nhanh chóng và dễ dàng cho cá nhân và nhóm.
  3. Visual Paradigm: Một công cụ UML trực tuyến với các tính năng mạnh mẽ, kiểm tra cú pháp UML ngay lập tức và giao diện người dùng dễ sử dụng.

Bạn có thể chọn công cụ phù hợp với nhu cầu và sở thích của mình để bắt đầu tạo các sơ đồ UML cho dự án của bạn.

 

Sử dụng Sơ đồ UML là một phương pháp thiết kế phần mềm hiệu quả, giúp nâng cao chất lượng, khả năng bảo trì và tái sử dụng của hệ thống. Việc nắm vững các loại Sơ đồ UML và cách sử dụng chúng là một kỹ năng quan trọng mà các chuyên gia BA cần có. Nếu bạn muốn được hướng dẫn chi tiết về cách vẽ các loại Sơ đồ UML hoặc áp dụng chúng vào các dự án phần mềm của mình, bạn có thể để lại câu hỏi cho chuyên gia của chúng tôi trên Askany.

Click lấy PASS
Bình luận

Kinh nghiệm thực tế

Tư vấn 1:1

Uy tín

Đây là 3 tiêu chí mà TOPCHUYENGIA luôn muốn hướng tới để đem lại những thông tin hữu ích cho cộng đồng