



















Preview text:
UML Unified Modeling Language Học phần: CT182 PGS. TS. Nguyễn Than h Hải Chương 3 Cla ss Diag ram 2 Nội dung ●Giới th iệu
●Đối tượng v à sơ đồ đ ối tượng
●Lớp, thu ộc t í nh và t ha o tác/phương thức
●Qu an hệ giữa cá c lớ p ●Ví d ụ 3 Giới thiệu
●Class Diagram thể hiện hệ thống một cách tổng quan ở khía cạnh tĩnh
●Class Diagram biểu diễn các class và các mối
quan hệ giữa chúng, và các thuộc tính của lớp, các phương thức
●Class Diagram là sơ đồ quan trọng trong số các
sơ đồ trong phương pháp hướng đối tượng. 4
Đối tượng và Sơ đồ đối tượng
Một hệ thống có thể chứa nhiều phần tử đơn lẻ khác nhau (có thể
là người, động vật, cây trồng, đồ vật, đối tượng...) được xác định duy nhất.
VD: helenLewis dự lớp Object-Oriented Modeling (OOM) ở trường.
helenLewis, OOM là các đối tượng có mối quan hệ với nhau 5
Lớp, Thuộc tính và Thao tác / Phương thức
Lớp (class): Một lớp biểu diễn ch o sự mô tả trừu tượng một tập
các đối tượng có cùng tính ch ất. Một đối tượng (object) là mộ t
thể h iện (instance) c ủa một lớp (class). 6
Lớp, Thuộc tính và Thao tác / Phương thức
Thuộc tính (attribute): một thuộc tính biểu diễn cho một kiểu
thông tin bên trong một lớp. lCú pháp như sau:
visibility name: type=default Value 7
Lớp, Thuộc tính và Thao tác / Phương thức
lTh ao tác/phương thức (Operation):
lLà chức n ăng hoặc hành vi của một lớp.
lCú pháp của các thao tác :
visi bility name (parameter-l ist): return-type- expression Trong đó: lvisibility §+ : public §- : private §# : protected lname: tên th ao tác
lparameter-list : các tham số, khai báo như thuộc tính
lreturn-type-expression : kiểu trả về 8
Lớp, Thuộc tính và Thao tác / Phương thức
ass Variable s và Class Operations:
lThuộc tính trong 1 lớp gồm:
■Thuộc tính thể hiện (instance attributes)
■Thuộc tính lớp (class attributes) hay thuộc tính tĩnh (static
attributes) là những thuộc tính được gạch dưới, dùng khi: 1/cần
lưu thông tin dùng chung cho tất cả đối tượng, 2/cấu hình hệ thống
hoặc giá trị mặc định, 3/cần truy cập nhanh mà không cần khởi tạo đối tượng lPhương t ): được gọi Quan hệ giữa các lớp
●Quan hệ kết hợp (association) giữa các lớp: Một mối
kết hợp biểu diễn một quan hệ ngữ nghĩa giữa các lớp.
●Quan hệ kết tập- tự hợp (aggregation): biểu diễn mối quan hệ toàn
thể (whole)-bộ phận (part) giữa 2 lớp.
○ Là một trường hợp đặc biệt của association.
○ Được dùng để cho biết một thể hiện của một lớp có thể chứa các
thể hiện của một lớp khác.
○ Gồm: shared aggregation và composition 10 Quan hệ giữa các lớp
●Share d a ggr egation (kết t ập chi a sẻ): thể hiện
sự phụ th uộ c “y ếu” của bộ phận (part) đến các
toàn thể (whole), ng hĩa là các part (v d: Course)
có thể tồn tại độc lập khô ng phụ th uộc vào whole (StudyProgram) 11 Quan hệ giữa các lớp
lQuan hệ hợp thành (composition): là một
hình thức mạnh hơn của aggregation,
lNghĩa là: par t (LectureHall) là tồn tại phụ thuộc
vào whol e (Bui lding), nếu whole bị xóa thì các part c ũng sẽ xóa theo. 12 Quan hệ giữa các lớp
lQuan hệ tổng quát hóa (gener alization),
lớp cha (super cla ss ), lớp con (subclass)
lMột l ớp cha là một lớ p tổng quát hơn kết n ối vớ i một hoặc
nhi ều lớp ở mức cụ thể hơn (lớp c on) bởi mộ t quan hệ tổng quát hóa .
lLớp c on kế thừa các tính c hất của lớp c ha củ a nó và có thể
có những tính chấ t riêng của nó. 13 Quan hệ giữa các lớp 14 Quan hệ giữa các lớp
Kết hợp n-ngôi (n-ary association)Biểu diễn
cho các mối kết hợp có nhiều hơn hai lớp.
https://thesai.org/Downloads/Volume7No2/Paper_37- 15
N_ary_Relations_of_Association_in_Class_Diagrams_Design_Patterns.pdf
Lớp kết hợp (association class)
Lớp liên kết- lớ p k ết hợp: Biểu diễn sự kết hợp như
một lớp, nghĩa là sự kết hợp cũng có thuộ c tín h và thao tác 16
Abstract Class: Lớp trừu tượng
Lớp không thể có được thể hiện của chính nó gọi là Lớp
trừu tượng (abstract class).
Bản thân lớp không có các đối tượng, chỉ lớp con
(subclass) của nó có thể có. Lớp trừu tượng để nhấn
mạnh các đặc tính của lớp con trong ngữ cảnh “tổng quát hóa” (generalization) 17 Interface
Giống như abstract class, interface không thể được tạo
thể hiện (instantiate) trực tiếp.
Các lớp triển khai (implement) interface bắt buộc cài đặt
đầy đủ các phương thức mà interface khai báo.
Trong UML, interface thường được biểu diễn giống như
một lớp nhưng có thêm từ khóa <>, hoặc
dùng ký hiệu riêng (vd: hình tròn nhỏ nối với đường thẳng) để biểu diễn. 18 Interface 19
UML Association vs Aggregation vs Composition 20
//www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/