Khái niệm UML (Unified Modeling Language) Dependency, Aggregation, Composition, Realization : liên quan đến vai trò Infra Developer

0 0 0

Người đăng: Phan Ngoc

Theo Viblo Asia

Dưới đây là phần giải thích các khái niệm UML (Unified Modeling Language) liên quan đến vai trò Infra Developer trong một dự án, tập trung vào bốn khái niệm: Dependency, Aggregation, Composition, và Realization — kèm theo ví dụ ứng dụng thực tiễn trong hạ tầng hệ thống (infrastructure):

image.png


🧩 1. Dependency (Phụ thuộc)

💡 Khái niệm:

  • Quan hệ yếu giữa hai thành phần.
  • Thay đổi của class A có thể ảnh hưởng đến class B, nhưng A không sở hữu B.
  • Ký hiệu bằng mũi tên đứt nét A ---> B.

🛠️ Ứng dụng thực tiễn Infra:

Ví dụ: Trong một hệ thống sử dụng Terraform để triển khai hạ tầng:

  • Một module AppServer có thể phụ thuộc vào VPCModule (nếu VPC chưa được tạo thì không deploy được AppServer).
module "app_server" { source = "./modules/app" vpc_id = module.vpc.vpc_id # --> Dependency
}

→ AppServer phụ thuộc vào VPC, nhưng không sở hữu hay quản lý VPC.


🧱 2. Aggregation (Tập hợp)

💡 Khái niệm:

  • Quan hệ “has-a” (có thể sống độc lập).
  • Class A sở hữu B, nhưng nếu A bị xóa thì B vẫn còn tồn tại.
  • Ký hiệu bằng đường liền nét với kim cương trắng .

🛠️ Ứng dụng thực tiễn Infra:

Ví dụ: Một Load Balancer trong AWS sở hữu nhiều EC2 Instances:

  • Nếu Load Balancer bị xóa, các EC2 Instances vẫn tiếp tục chạy.
LoadBalancer ◻──────> EC2Instance

→ Quan hệ aggregation: Load Balancer chỉ quản lý routing, không chịu trách nhiệm sống/chết của EC2.


🧩 3. Composition (Thành phần)

💡 Khái niệm:

  • Quan hệ mạnh hơn aggregation: “part-of”, có tính sinh-tử phụ thuộc.
  • Nếu A bị xóa → B cũng bị xóa.
  • Ký hiệu bằng kim cương đen .

🛠️ Ứng dụng thực tiễn Infra:

Ví dụ: Trong Kubernetes:

  • Một Pod chứa các Containers.
  • Nếu Pod bị xóa, tất cả Containers trong đó cũng bị xóa.
Pod ◆──────> Container

→ Composition: Container không thể tồn tại độc lập nếu không có Pod.


🧠 4. Realization (Hiện thực hóa)

💡 Khái niệm:

  • Một class (hoặc thành phần cụ thể) hiện thực một interface hoặc abstract class.
  • Ký hiệu bằng đường đứt nét và mũi tên rỗng ----▷.

🛠️ Ứng dụng thực tiễn Infra:

Ví dụ: Hệ thống CI/CD có nhiều cách triển khai:

  • Interface IDeployer
  • Các class cụ thể như KubernetesDeployer, EC2Deployer hiện thực interface đó.
KubernetesDeployer ----▷ IDeployer

→ Realization giúp hạ tầng linh hoạt, dễ mở rộng các phương án deploy khác nhau.


🔧 Tổng kết: Gắn với vai trò Infra Developer

UML Concept Hạ tầng thực tế liên quan Ý nghĩa/Ứng dụng chính
Dependency Module Terraform phụ thuộc VPC Gắn kết tạm thời, không sở hữu
Aggregation LoadBalancer → EC2 Quan hệ quản lý, nhưng không gắn bó sinh-tử
Composition Pod → Containers (K8s) Quan hệ sống-chết, cấu trúc ràng buộc
Realization Nhiều loại triển khai thực hiện interface Giúp chuẩn hóa, dễ mở rộng/đa nền tảng triển khai

Bình luận

Bài viết tương tự

- vừa được xem lúc

Phân tích thiết kế hệ thống thông tin sử dụng biểu đồ UML (Phần 2)

Trong phần 1 tôi đã giới thiệu với các bạn khái quát về phân tích thiết kế hệ thống thông tin sử dụng biểu đồ UML và 2 dạng biểu đồ ca sử dụng(Use Case Diagram) và biểu đồ lớp (Class Diagram). Trong phần này tôi sẽ tiếp tục giới thiệu tới các bạn một số dạng biểu đồ UML được sử nhiều trong các thiết

0 0 54

- vừa được xem lúc

Phân tích thiết kế hệ thống thông tin sử dụng biểu đồ UML (Phần 1)

1.Giới Thiệu.

0 0 71

- vừa được xem lúc

Biểu Đồ lớp UML

Biểu đồ UML Class (Unified Modeling Language Class) là một tập các ký hiệu đồ họa được sử dụng để xây dựng và trực quan hóa các hệ thống hướng đối tượng. Một sơ đồ Class trong ngôn ngữ mô hình hóa thố

0 0 36

- vừa được xem lúc

Giới thiệu về Object-oriented Analysis and Design và các UML diagrams phổ biến (P1)

1.Giới thiệu về Object-oriented Analysis and Design (OOAD).

0 0 44

- vừa được xem lúc

Các mẫu sơ đồ Use case (và làm sao để tạo ra chúng)

. Trong bài viết này, chúng ta sẽ xác định Use case diagram là gì cũng như các ví dụ về nó. Use case diagram là một cách biểu diễn cho ta cái nhìn tổng quan về các cách hoặc tình huống khác nhau có th

0 0 35

- vừa được xem lúc

PlantUML - Công cụ hữu ích để vẽ biểu đồ

Khám Phá PlantUML: Công Cụ Tạo Sơ Đồ UML Tuyệt Vời. .

0 0 6