Phòng
Môn
Giáo viên Lp
Thi gian
Cách 3: Chuyn nút liên kết nhiu chiu thành lp mi
1..*
1
- ma phong
- nha hoc
+ Phong
- ma phong
- nha hoc
0..* 1
- ma lop
- so nhom
- si so
+ Lop
- ma lop
- so nhom
- si so
1
1..*
- ma mon
- ten mon
- so DVHT
+ Mon
- ma mon
- ten mon
- so DVHT
1
1..*
- ma GV
- ho GV
- ten GV
+ GV
- ma GV
- ho GV
- ten GV
1
0..*
- ngay
- gio bat dau
- gio ket thuc
+ Thoi gian
- ngay
- gio bat dau
- gio ket thuc
- stt
+ Phien
- stt
Cách 4: Khi lp, giáo viên và môn không quan trng lp trong ng cnh đang
xét thì chuyn chúng chúng t lp thành thuc tính trong lp liên kết:
0..* 0..* - ma phong
- nha hoc
+ Phong
- ma phong
- nha hoc
- ngay
- gio bat dau
- gio ket thuc
+ Thoi gian
- ngay
- gio bat dau
- gio ket thuc
- stt
- ten mon
- ho GV
- ten GV
- ma lop
+ Phien
- stt
- ten mon
- ho GV
- ten GV
- ma lop
III.4.8 Quan h kết tp (aggregation relation) :
Mt kết tp là mt trường hp đặc bit ca liên kết không đối xng biu din
mt mi quan h « cha đựng » v cu trúc hoc hành vi ca mt phn t trong mt
tp hp.
Không như liên kết, quan h kết tp có tính truyn.
10
Quan h kết tp cũng cho phép vic y thác v tác t : mt tác t có th được
thc hin trên mt lp kết tp, thc tế được thc hin trên các lp thành phn ca nó.
Chu k sng ca lp kết tp là độc lp vi các lp thành phn ca nó. Mt
khác, mt th hin ca lp thành phn có th xut hin trong nhiu th hin ca lp
kết tp.
Ký hiu : có hình thoi rng trên liên kết v phía lp biu din tp hp cha
đựng.
III.4.9 Quan h cu thành (composition) :
Quan h cu thành còn được gi là quan h kết tp phc hp, là mt quan h
kết tp đặc bit. Nó mô t mt s cha đựng v cu trúc gia các th hin.
Lp cha s chu trách nhim to ra, sao chép và xóa các lp thành phn ca
nó. Mt khác, vic sao chép hoc xóa đi lp cha s kéo theo sao chép hoc xóa các
lp thành phn ca nó.
Mt th hin ca lp thành phn ch thuc v duy nht mt th hin ca lp
cha nó.
Ký hiu: hình thoi đặc trên liên kết phía lp cha.
Ví d:
Thư vin Kho sách
1 * *
Bàn Mt bàn
Chân bàn
3..4
1
0..1
Mt kính ph
1..* K sách
0..1
III.4.10 Quan h ph thuc (dependancy):
Khái nim tương t như trong phân tích c đin.
Ký hiu : đường gch đứt nét có mũi tên t lp chu ph thuc.
Ví d :
cua
+ Chuyen bay + Hang HK
III.4.11 Quan h tha kế :
Khái nim tương t như trong phân tích c đin, cũng có tha kế đơn và tha
kế bi.
Ký hiu : đường gch có mũi tên rng hướng v lp cha.
Ví d :
11
+ Nhan vien
- nhiem vu
+ NV hanh chinh
- nhiem vu 1..* 1..*
day
+ Giao vien + Mon hoc
III.5 RÀNG BUC :
Các ràng buc có th biu din bng ngôn ng t nhiên, mt ngôn ng lp
trình, biu thc toán hc … hoc ngôn ng OCL đi kèm theo UML. C th có các
dng ràng buc sau được biu din bng OCL:
- Các qui tc tha kế: {complete}, {incomplete}, {overlaps}, {distinct} …
- Hn chế tm vc ca mt liên kết: {subset}, {xor} …
- Cách thc phát trin các đối tượng: {frozen}, {addOnly} …
- T chc các đối tượng:{ordered}, {frozen}, …
III.6 XÂY DNG MT SƠ ĐỒ LP :
III.6.1 Các quan đim mô hình hóa :
- Top-down : Phân gii dn t tng quát xung chi tiết
- Bottom-up : Sau khi có sơ đồ chi tiết tt c các khóa cnh, mi
nhóm li dn thành các phân h riêng, da trên mi tương quan
cht ch gia các lp.
III.6.2 Các bước xây dng :
III.6.2.1 Tìm các lp ca lĩnh vc chc năng :
- Tìm các đối tượng và lp trong thế gii thc
o Lp trong thế gii thc
o Lp con trong thế gii thc
- Chuyn đổi t các đối tượng trong thế gii thc sang đối tượng d liu
o Lp trong thế gii d liu
o Qun tr s phc tp
o Ánh x cho các lp
- Chn la gia lp và thuc tính
- Lp d liu b sung
- Tìm các cu trúc kết tp và lp con
III.6 2.2 Tìm các mi liên kết gia các lp :
III.6.2.3 Tìm các thuc tính ca mi lp :
III.6.2.4 T chc li và đơn gin hóa sơ đồ :
Bng cách s dng s tng quát hóa.
12
III.6.2.5 Th các đường truy xut đến các lp :
Ví d: Qun lý hàng tn
1..*
1..*
ghi phieu 1..*
0..*
ghi HD
+ ma hang
+ ten hang
+ DS phieu nhap
+ DS so thu tu phie
u
+ Hang
+ ma hang
+ ten hang
+ DS phieu nhap
+ DS so thu tu phie
u
1..*
1
<< derived >>
giu
0..*
1
lien quan
+ ma kho
+ ten kho
+ dia chi kho
+ so DT
+ ds hang chua () : Hang
+ ds hang cua phieu (AV) : Han
g
+ Kho
+ ma kho
+ ten kho
+ dia chi kho
+ so DT
+ ds hang chua () : Hang
+ ds hang cua phieu (AV) : Han
g
1
1..*
lap
+ Thu kho
0..* 1
tao boi
0..*
1..*
cho
+ so hoa don
+ ngay lap hoa don
- so seri
+ la HD ban
+ tri gia HD
+ Hoa don
+ so hoa don
+ ngay lap hoa don
- so seri
+ la HD ban
+ tri gia HD
+ so phieu
+ ngay lap
+ loai phieu
+ ds hang
+ Phieu N_X
+ so phieu
+ ngay lap
+ loai phieu
+ ds hang
+ NV ke toan
+ maNV Variable character(4)
+ ho NV Variable character(20)
+ ten NV Variable character(7)
+ dia chi Variable character(128
)
- nam sinh Integer(2)
+ ngay bat dau Date(8)
+ NV
+ maNV Variable character(4)
+ ho NV Variable character(20)
+ ten NV Variable character(7)
+ dia chi Variable character(128
)
- nam sinh Integer(2)
+ ngay bat dau Date(8)
+ so luong
+ don gia
+ Ghi phieu
+ so luong
+ don gia + so luong
+ don gia
+ Ghi hoa don
+ so luong
+ don gia
III.6 2.6 Tinh lc hóa sơ đồ:
Khi so khp li vi người s dng, hoc vi sơ đồ hot v, ta có th :
- Bt đi liên kết gia các lp, nếu đó là liên kết suy din, hoc không
tương ng vi nhu cu trong thế gii thc, ...
- Chuyn lp sang thuc tính nếu nó không đóng vai trò thc s
quan trng trong thế gii thc, hoc không cn có dng bng mã.
v.v…
- Ngược li, cũng có th thêm liên kết.
- Chuyn mt thuc tính sang thành mt lp, chng hn khi mun
đưa vào bng mã tương ng để h tr nhp liu, hn chế d liu
sai.
III.6.2.7 Thiết lp các phương thc cho mi lp :
Các phương thc s được b sung đầy đủ và chính xác sau khi so khp vi các
sơ đồ khác như sơ đồ hat v, sơ đồ tun t hoc sơ đồ cng tác, sơ đồ hot động…
Ngược li, sơ đồ hot v cũng s được b sung sau khi lp các phương thc.
13
Phương thc được thiết lp có th bao gm các phương thc lp hoc không.
Ví d : có sơ đồ lp như dưới đây và ta mun thêm phương thc cho lp
« Lp »
0..* 0..*
0..*
1
hoc o
- ma lop
- ten lop
- si so
- ban
+ Lop
- ma lop
- ten lop
- si so
- ban
- ma mon
- co thuc hanh
+ Mon
- ma mon
- co thuc hanh
- so tiet
+ Hoc
- so tiet
1..* 1..*
trang bi
+ Phong - ma TB
- ten TB
- tri gia
+ Thiet bi
- ma TB
- ten TB
- tri gia
Có các loi phương thc sau (phương thc lp được ký hiu là « * »):
a. Hin th đối tượng đang xét:
Ví d :
hienLop() ;
b. Hin th tt c các đối tượng ca lp đang xét (*):
Ví d :
hienDsLop() ;
c. Hin th tt c các đối tượng ca lp đang xét, có sp theo nhóm
(*):
Ví d :
hienDsLopTheoSiso();
hienDsLopTheoBan();
hienDsLopTheoMon() ;
hienDsLopTheoThietbi() ;
d. Tìm kiếm đối tượng tương ng khóa đối tượng (hoc OID) ca
chính lp đang xét (*) :
Ví d :
dsLop (ma_lop : string) : Lop ;
e. Tìm kiếm tt c các đối tượng hoc tt c các khóa đối tượng
(hoc OID) ca chính lp đang xét (*) :
o Không tham sô
o Có tham s, da trên khóa ca Class_1 : ch tr v ti đa 1
đối tượng
o Có tham s, da trên các thuc tính ca Class_1
Lưu ý : Khi tham s tương ng vi khóa ca lp, kết qu tr v ch 1
đối tượng. Ngược li, tr v mt mng nhiu đối tượng, hoc mng
nhiu khóa đối tượng.
14