Tải bản đầy đủ (.docx) (5 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (163.73 KB, 5 trang )

Một số quan hệ giữa các class trong uml
M t s quan h gi a các class g m có các 4 quan h chính sauộ ố ệ ữ ồ ệ
1. Realization
2. Generation
3. Dependency
4. Association : có 2 quan hệ phân biệt
1. Aggregation
2. Composition
1. QUAN H REALIZATION (HI N TH C HÓA) :Ệ Ệ Ự
o 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ệ
:o Nói cách khác
M i quan h gi a class implement 1 interface c g i là quan h ố ệ ữ đượ ọ ệ
realization
, c bi uđượ ể
di n b i ng t nét có hình tam giác n m k và ch vào interface.ễ ở đườ đứ ằ ề ỉ
o Ký hi uệ
: có 2 lo i ký hi uạ ệ
ho cặ
2. QUAN H GENERALIZATION (TÊN KHÁC LÀỆ
INHERITANCE)
:o Còn g i là Quan h t ng quát hóaọ ệ ổ ; ;quan h khái quát hóa quan h k th aệ ệ ế ừ
o i t ng c th s k th a các thu c tính và ph ng th c c a i t ng t ng quátĐố ượ ụ ể ẽ ế ừ ộ ươ ứ ủ đố ượ ổ
:o Ký hi uệ A is-a B

o Đọc là : A là tổng quát của B , B là chi tiết của A , A là cha
của B , B là con của A ; B là trường hợp đặc biệt của A
3. 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

o Trong ClassA có sử dụng
biến toàn cục (kiểu B)
, hoặc
sử dụng
phương thức/thuộc tính
static của ClassB
o Ký hiệu :
A use-a B
, bằng mũi tên 1 chiều nét đứt , từ
bên phụ thuộc sang bên độc lập ;

o ClassA “phụ thuộc” vào ClassB ;
o 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

4. 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 :
A has-a B
Ý ngh a :ĩ
( )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ọ
Multiplicity : , b n s , l ng s , s object bên này tham gia vào m i k t h p so v i 1ả ố ượ ố ố ố ế ợ ớ
object bên kia
5. QUAN H AGGREGATION (CÒN G I LÀ QUAN H THU N P)Ệ Ọ Ệ Ạ
:
o ã xác nh c ClassA và ClassB có quan h Association v i nhauĐ đị đượ ệ ớ
:o Xác nh rõ h nđị ơ
( )o Trong object c a ClassA có ch a trong ph n thu c tính object c a ClassBủ ứ ầ ộ ủ

( )o 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ạ
- . ,o 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 .
6. 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:
o Trong object của ClassA có chứa (trong phần thuộc tính)
object của ClassB
o 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
ch có th là b ph nỉ ể ộ ậ

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

×