Đang tải... (xem toàn văn)
Một số quan hệ giữa các class trong uml
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. Realization2. Generation3. Dependency4. Association : có 2 quan hệ phân biệt1. Aggregation2. Composition1. 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ácM 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 A3. 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 ClassBo 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íchL 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úc4. 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 kia5. 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 ClassBo 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 . 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ộ ố ệ. 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