Tổng Hợp

Một số quan hệ giữa các class trong UML

  1. Realization
  2. Generation
  3. Dependency
  4. Association: có 2 quan hệ phân biệt
    1. Aggregation
    2. Composition

QUAN HỆ REALIZATION (HIỆN THỰC HÓA) :

Hôm nay tôi sẽ trình bày về các loại quan hệ giữa các class trong , gồm có các 4 quan hệ chính sau

Là quan hệ giữa một classifier đóng vai trò là hợp đồng và một classifier đóng vai trò thực hiện. Hay nói cách khác:


hoặc

QUAN HỆ GENERALIZATION (TÊN KHÁC LÀ INHERITANCE)

Còn có tên khác là:

  • Quan hệ tổng quát hóa
  • Quan hệ khái quát hóa
  • Quan hệ kế thừa

Đối tượng cụ thể (concrete) sẽ kế thừa các thuộc tính và phương thức của đối tượng tổng quát (general)


 :

  • A là tổng quát của B, B là chi tiết của A
  • B là trường hợp đặc biệt của A
  • A là cha của B, B là con của A

QUAN HỆ DEPENDENCY (PHỤ THUỘC) :

  • Là quan hệ giữa 2 phần tử trong mô hình mà thay đổi ở phần tử này (phần tử độc lập) có thể gây ra thay đổi ở phần tử kia (phần tử phục thuộc).
  • Là loại quan hệ giữa 2 object
  • ClassA và ClassB không có quan hệ Association
    • Trong ClassA có sử dụng , hoặc sử dụng  static của ClassB
    • Ký hiệu :  ,  bằng mũi tên 1 chiều nét đứt , từ bên phụ thuộc sang bên độc lập ;

Xem Thêm :   Hướng dẫn thiết kế website bằng wordpress từ a – z [2021]

Xem thêm :  Khám phá thiên đường ẩm thực hàn quốc tại korean gastronomy week 2021

    • ClassA “phụ thuộc” vào ClassB ;
    • Client –> Supplier (phần tử phục thuộc –> phần tử độc lập)

Dependency còn có một số biểu hiện khác , thường dùng các stereotype sau :

  • <<use>> : chỉ rằng ngữ nghĩa của lớp gốc (mũi tên) phụ thuộc vào lớp ngọn (mũi tên) . Đặc biệt trong trường hợp lớp gốc dùng lớp ngọn làm tham số trong 1 số method của nó
  • <<permit>> : chỉ rằng lớp gốc được quyền truy cập 1 cách đặc biệt vào lớp ngọn (chẳng hạn truy cập các thao tác riêng tư). Tương ứng với khái niệm friend trong C++
  • <<refine>> : chỉ rằng lớp gốc ở 1 mức độ tinh chế cao hơn từ lớp ngọn . Chẳng hạn 1 lớp lập ở giai đoạn thiết kế nhằn tinh chế cùng lớp đó lập ở giai đoạn phân tích

Lưu ý : Phân biệt giữa Dependency và Association

  • Association là quan hệ cấu trúc
  • Dependency là qua hệ phi cấu trúc

ASSOCIATION :

  • Giữa 2 object của 2 lớp có sự ghép cặp (vợ – chồng , thầy – trò , khách hàng – hóa đơn …) . Tập hợp các kết nối cùng loại (cùng ý nghĩa) giữa các object của 2 lớp tạo thành mối liên kết association , quan hệ giữa 2 tập hợp (2 lớp)
  • Là mỗi liên hệ giữa 2 lớp có  role, role là tên vai trò của mối liên kết : vd như : của , cho , có , liên kết tới , trao đối với , …. (thường tên role có kèm theo 1 mũi tên để chỉ hướng quan hệ áp dụng từ lớp nào sang lớp nào)
  • Ký hiệu :

Xem Thêm :   Trẻ 7 tháng tuổi ăn bao nhiêu là đủ? [3 Loại Dinh Dưỡng Cần Có Đủ]

Xem thêm :  Cầu tình yêu cần thơ thiên đường vui chơi, sống ảo chất lừ tại xứ tây đô


 (trường hợp mũi tên không có chiều)
Hoặc  : Trong ClassA có thuộc tính có kiểu là ClassB
Hoặc  : Trong ClassB có thuộc tính có kiểu là ClassA
Nhận xét: Về mặt lập trình, thuộc tính có thể được lưu trữ dạng biến đơn, biến mảng, hay biến con trỏ
Có hoặc không có bản số cũng được
Có hoặc không có mũi tên cũng được
Nếu có mũi tên 1 chiều , chỉ ra chiều đối tượng thuộc lớp này chỉ có gọi đối tượng của lớp kia, không có chiều ngược lại
Nếu không có mũi tên nào thì tương đương là mũi tên 2 chiều , hoặc chiều không quan trọng.

QUAN HỆ AGGREGATION (CÒN GỌI LÀ QUAN HỆ THU NẠP) :

  • Đã xác định được ClassA và ClassB có quan hệ Association với nhau
  • Xác định rõ hơn:
  • Trong object của ClassA có chứa (trong phần thuộc tính) object của ClassB
  • ObjectX của ClassA bị hủy thì ObjectY của ClassB (bên trong ObjectX) vẫn có thể còn tồn tại
  • Còn gọi là shared-aggregation.Một dạng của nối kết, trong đó một phần tử này chứa các phần tử khác.
  • Ký hiệu :

  • Ý nghĩa : còn gọi là : Whole A – Part B . Nghĩa là A được tạo từ nhiều B kết hợp lại , và B có thể tạo ra độc lập , không cần phải tạo ra A , B có thể cùng thuộc 1 whole khác A.
  • Chú ý : Từ share ở đây có nghĩa là , B có thể là bộ phận của whole khác, do đó A bị hủy thì chưa chắc B bị hủy .

Xem Thêm :   Top 10 khóa học lập trình Java online tốt nhất hiện nay!

Xem thêm :  Tuyển cộng tác viên bán hàng online – Thực phẩm chức năng chính hiệu Mỹ

QUAN HỆ COMPOSITION (HỢP THÀNH)  :

  • Là loại aggregation chặt chẽ hơn , còn gọi là non-shared aggregation
  • Ký hiệu :

  • VD :

  • Ý nghĩa : còn gọi là Whole A – Part B . Nghĩa là A được tạo từ nhiều B kết hợp lại , nhưng B không thể đứng 1 mình được , B chỉ là thuộc A mà thôi không thể cùng thuộc Whole khác được.
  • Đã xác định được ClassA và ClassB có quan hệ Association với nhau
  • Xác định rõ hơn:
    • Trong object của ClassA có chứa (trong phần thuộc tính) object của ClassB
    • ObjectX của ClassA bị hủy thì ObjectY của ClassB (bên trong ObjectX) không thể còn tồn tại
  • Chú ý :
  • B  của whole A
  • A chết thì tất cả B chết
  • B chết không ảnh hưởng đến A
  • Bản số của Whole A luôn là 1, nghĩa là B luôn thuộc 1 A thôi
Xem thêm bài viết thuộc chuyên mục: Kiến Thức Chung

Xem thêm bài viết thuộc chuyên mục: Tổng Hợp

Related Articles

Back to top button