CH NG 4 : MƠ HÌNH HĨA USE CASE
5.5. Liê nh (Association)
5.5.5. X lý các liê nh không cn th it
Sau khi tìm các m i liên h , b c ti p theo ó là phân bi c các liên h c n thi t ra kh i các liên h không c n thi t. Liên h khơng c n thi t có th bao g m nh ng liên h bao ch a các l p ng c viên ã
b lo i tr ho c các liên h không liên quan n h th ng. Có nh ng liên h c t o ra nh%m m c ích t(ng hi u qu . Nh ng liên h nh th là ví d tiêu ti u c a các chi ti t th c thi và không liên quan t i giai o n này.
C n chú ý phân bi t gi a hành ng và m i liên h . Ng i ta th ng có xu h ng miêu t hành ng nh là liên h , b i c liên h l n hành ng u c d n xu!t t nh ng c m t mang tính ng t trong b n miêu t yêu c u. Các hành ng ã c th hi n sai thành liên h c'ng c n ph i c lo i b . Khi làm vi c này, có th áp d ng m t nguyên t"c: liên h là n i k t mang tính t+nh gi a các i t ng, trong khi hành ng ch* là thao tác x y ra m t l n. Hành ng vì v y nên c coi là Ph ng th c i v i m t i t ng ch không ph i quan h gi a các l p.
Ví d v i "Ban qu n tr nhà b(ng u i vi c m t nhân viên", ng t “ u i vi c” th hi n hành ng. Trong khi ó v i “M t nhân viên làm vi c cho hãng" thì ng t “làm vi c" miêu t liên h gi a hai l p nhân viên và hãng.
Trong khi c g"ng lo i b các liên h d th a, b n s& th!y có m t s liên h d th a ã "l/n vào" mơ hình c a chúng ta trong giai o n thi t k . Hình sau ch* ra m t s lo i liên h d th a c n c bi t chú tr#ng.
Hình 5.18- Lo i b các liên h không c n thi t
5.5.6. Nâng c p các m i liên h
M t khi các m i liên h c n thi t ã c nh n d ng, b c ti p theo là ngiên c u k, mơ hình và nâng c!p các m i liên h ó.
ng tác nâng c!p u tiên là xem xét l i tên liên h , tên vai trò, t l i cho úng v i b n ch!t quan h mà chúng th hi n. M.i liên h c n ph i c suy xét k, v ph ng di n s l ng thành ph n tham gia (Cardinality). S h n nh (Qualification) cho liên h óng m t vai trị quan tr#ng ây, b sung y u t h n nh có th giúp làm gi m s l ng. N u c n thi t, hãy b sung các liên h còn thi u. Nghiên c u k, các thu c tính, xem li u trong s chúng có thu c tính nào th t ra th hi n liên h . N u có, hãy chuy n chúng thành liên h . B sung các thông tin và i u ki n c n thi t c'ng nh xem xét các m i liên h trong mơ hình t ng th xác nh các d ng quan h gi a chúng v i nhau.
M t liên h c h n nh liên h hai l p và m t y u t h n nh (Qualifier) v i nhau. Y u t h n nh là m t thu c tính h n ch s l ng thành ph n tham gia trong m t m i liên h . Có th h n nh các m i liên h m t-t i nhi u và nhi u-t i-nhi u. Y u t h n nh giúp phân bi t trong nhóm i t ng c a u nhi u c a liên h .
Ví d m t th m c có nhi u t p tin.M t t p tin ch* thu c v m t th m c mà thôi. Trong m t th m c xác nh, tên c a t p tin s& xác nh duy nh!t t p tin mang tên ó. Th m c và T p tin là hai l p, và tên t ptin ây óng vai trị y u t h n nh. M t th m c và m t tên t p tin xác nh m t t p tin. Y u t h n nh ây ã chuy n m t m i liên h m t-t i-nhi u thành liên h m t-t i-m t.
Hình 5.19- Liên h c h n nh
b) Liên h VÀ (AND Association):
Nhà b(ng n# a ra quy nh: khách hàng khi mu n m m t tài kho n ATM ph i là ch nhân c a ít nh!t m t tài kho n u t . Trong m t tr ng h p nh th , m i liên h VÀ (AND) s& c th hi n nh sau:
Hình 5.20- Liên h VÀ (AND Association)
Bi u trên cho th!y m t khách hàng có th có nhi u h n m t tài kho n u t có th i h n và ch* m t tài kho n ATM. Trong bi u có m t m i liên h VÀ ng m c áp d ng gi a nhóm tài kho n u t và tài kho n ATM mà m t khách hàng có th có.
c) Liên h HO5C (OR Association):
Ví d t i m t hãng b o hi m n#, cá nhân c'ng cơng ty u có th ký h p ng b o hi m, nh ng cá nhân và cơng ty khơng c phép có cùng lo i h p ng b o hi m nh nhau. Trong m t tr ng h p
nh th , gi i pháp là s d ng liên h HO6C (OR Association). M t liên h HO6C là m t s h n ch i v i m t nhóm hai hay nhi u liên h , xác nh r%ng i t ng c a m t l p này t i m t th i i m ch*
Hình 5.21- M t liên h OR mà bi u th ch* m t liên h là h p l t i m.i th i i m
d) Liên h c s)p x!p (Ordered Association):
Các m i n i k t (link) gi a các i t ng có m t tr t t ng m nh. Giá tr m c nh c a tr t t này là ng u nhiên. M t liên h có tr t t rõ ràng có th c hi u là m t liên h v i tr t t* s)p x!p (sort
order) trong nhóm các n i k t, nó s& c th hi n nh sau:
Hình 5.22- Tài kho n ti t ki m c s"p x p theo khách hàng
Nhãn {ordered} c ghi g n l p có i t ng c s"p x p. Bi u trên c #c là các tài kho n
ti t ki m c s"p x p theo khách hàng.
e) Liên h tam nguyên (Ternary Association)
Hình 5.23- Liên h Tam nguyên
Bi u trên c #c nh sau: M t khách hàng có th quan h v i b ph n u t và m t b ph n u
t có th có m t ho c nhi u khách hàng. M t gi!y ch ng nh n tài kho n u t s& xu!t hi n qua quan h gi a khách hàng và b ph n u t .
f) L p liên h (Association Class):
M t l p có th c ính kèm theo m t liên h , trong tr ng h p này nó s& c g#i là m t l p liên h . M t l p liên h không c n i t i b!t k0 m t l p nào c a m i liên h , mà t i chính b n thân m i liên h . C'ng gi ng nh m t l p bình th ng, l p liên h có th có thu c tính, Ph ng th c và các quan h khác. L p liên h c s d ng b sung thêm thông tin cho n i k t (link), ví d nh th i i m n i k t c thi t l p. M.i n i k t c a liên h g"n li n v i m t i t ng c a l p liên h .
Ví d sau miêu t m t h th ng thang máy. B ph n i u khi n ch* huy b n thang máy. Cho m.i n i k t gi a nhóm thang máy và b ph n i u khi n có m t hàng x p (queue). M.i hàng l u tr nh ng y u c u k c t phía b ph n i u khi n l n t phía thang máy (nh ng nút b!m bên trong thang). Khi b ph n i u khi n ch#n m t thang máy th c hi n m t l i yêu c u n t m t hành khách ng ngoài thang máy (m t hành khách trên hành lang), nó s& #c các hàng và ch#n thang máy nào có hàng yêu
c u ng"n nh!t.
g) Liên h quy (Recursive Association):
Có th liên k t m t l p v i b n thân nó trong m t m i liên h . M i liên h ây v n th hi n m t s liên quan ng ngh+a, nh ng các i t ng c n i k t u thu c chung m t l p. M t liên h c a m t l p v i chính b n thân nó c g#i là m t liên h quy, và là n n t ng cho r!t nhi u mơ hình ph c t p, s d ng ví d miêu t các c!u trúc s n ph$m. Hình 5.25 ch* ra m t ví d c a liên h quy và hình 5.26 là m t bi u i t ng cho bi u l p trong hình 5.25.
Hình 5.25- M t m ng g m nhi u nút n i v i nhau.
Hình 5.26- M t bi u i t ng c a hình 5.25, v i tên c a các i t ng
5.6. Quan h k!t t p (Aggregation)
5.6.1. Khái ni m k t t#p
K t t p là m t tr ng h p c bi t c a liên h . K t t p bi u th r%ng quan h gi a các l p d a trên n n t ng c a nguyên t"c "m t t ng th c t o thành b i các b ph n". Nó c s d ng khi chúng ta mu n t o nên m t th c th m i b%ng cách t p h p các th c th t n t i v i nhau. M t ví d tiêu bi u c a k t t p là chi c xe ơ tơ g m có b n bánh xe, m t ng c , m t khung g m, m t h p s , v.v....
Quá trình ghép các b ph n l i v i nhau t o nên th c th c n thi t c g#i là s k t t p. Trong quá trình tìm l p, k t t p s& c chú ý t i khi g p các lo i ng t “ c t o b i", "g m có", …. Quan h k t t p khơng có tên riêng. Tên ng m ch a trong nó là "bao g m các thành ph n".
5.6.2. Kí hi u k t t#p
Kí hi u UML cho k t t p là ng th)ng v i hình thoi (diamond) t sát l p bi u th s k t t p (t ng th ).
M t l p tài kho n c t o b i các l p chi ti t v khách hàng, các l nh giao d ch i v i tài kho n c'ng nh các quy nh c a nhà b(ng.
Quan h trên có th c trình bày nh sau:
Hình 6.1- Quan h k t t p (1)
M.i thành ph n t o nên k t t p (t ng th ) c g#i là m t b ph n (aggregates). M.i b ph n v ph n nó l i có th c t o b i các b ph n khác.
Trong tr ng h p tài kho n k trên, m t trong các b ph n c a nó là các chi ti t v khách hàng. Các chi ti t v khách hàng l i bao g m danh sách ch tài kho n, danh sách a ch*, các quy nh v k0 h n c'ng nh các chi ti t khác khi m tài kho n.
5.6.3. K t t#p và liên h
Khái ni m k t t p n y sinh trong tình hu ng m t th c th bao g m nhi u thành ph n khác nhau. Liên h gi a các l p m t khác là m i quan h gi a các th c th .
Quan sát hình sau:
Hình 6.3- K t t p và liên h
M t tài kho n c t o b i các chi ti t v khách hàng, các l nh giao d ch i v i tài kho n c'ng nh các quy nh c a nhà b(ng. Khách hàng không ph i là là b ph n c a tài kho n, nh ng có quan h v i tài kho n.
Nhìn chung, n u các l p c n i k t v i nhau m t cách ch t ch& qua quan h "toàn th – b ph n" thì ng i ta có th coi quan h là k t t p. Khơng có l i h ng d n ch"c ch"n và rõ ràng cho vi c bao gi nên dùng k t t p và bao gi nên dùng liên h . M t l i ti m c n nh!t quán i kèm v i nh ng ki n th c sâu s"c v ph m vi v!n s& giúp nhà phân tích ch#n gi i pháp úng "n.
5.7. Khái quát hóa và chuyên bi t hóa (Generalization & Specialization)
Hình 7.1- Chun bi t hố (Specialization)
Trong hình trên, tài kho n là khái ni m chung c a các lo i tài kho n khác nhau và ch a nh ng c t c n thi t cho t!t c các lo i tài kho n. Ví d nh nó có th ch a s tài kho n và tên ch tài kho n. Ta có th có hai lo i tài kho n c bi t suy ra t d ng tài kho n chung này, m t lo i mang tính k0 h n và m t lo i mang tính giao d ch. Y u t chia cách hai l p này v i nhau là các quy nh chuyên ngành hay úng h n là ph ng th c ho t ng c a hai lo i tài kho n.
T ng t nh v y, tài kho n u t trung h n và dài h n l i là nh ng khái ni m chuyên bi t c a khái ni m tài kho n có k0 h n. M t khác, tài kho n bình th ng và tài kho n ti t ki m là nh ng tr ng h p
c bi t c a lo i tài kho n giao d ch.
Lo i c!u trúc l p nh th c g#i là m t c!u trúc hình cây ho c c!u trúc phân c!p. Khi chúng ta d ch chuy n t i m xu!t phát c a cây xu ng d i, chúng ta s& g p các khái ni m càng ngày càng c chuyên bi t hóa nhi u h n. Theo con ng i t tài kho n n tài kho n ti t ki m, ta s& ph i i qua l p tài kho n giao d ch. L p này ti p t c phân lo i các l p chuyên bi t hóa cao h n, tùy thu c vào ch c n(ng c a chúng.
5.7.1. Kí hi u khái quát hóa và chuyên bi t hóa
Trong bi u trên, các l p trong m t c!u trúc cây c n i v i nhau b%ng m t m'i tên r.ng , ch* t l p chuyên bi t h n t i l p khái quát h n.
Quá trình b"t u v i m t l p khái quát s n xu!t ra các l p mang tính chuyên bi t cao h n c g#i là q trình chun bi t hố (Specialization)
Chun bi t hóa: là q trình tinh ch m t l p thành nh ng l p chuyên bi t h n. Chuyên bi t hóa b
sung thêm chi ti t và c t cho l p k t qu . L p mang tính khái quát c g#i là l p cha (superclass), k t qu chuyên bi t hóa là vi c t o ra các l p con (Subclass).
M t khác, n u chúng ta i d#c c!u trúc cây t d i lên, ta s& g p các l p ngày càng mang tính khái quát cao h n - Ví d t l p tài kho n ti t ki m lên t i l p tài kho n. Con ng b"t u t m t l p chuyên bi t và khi n nó ngày càng mang tính khái quát cao h n c g#i là quá trình khái quát hóa
(Generalization). L p chuyên bi t ây c g#i là l p con, trong ví d trên là tài kho n ti t ki m,
trong khi l p khái quát k t qu c g#i là l p cha.
Chuyên bi t hóa và khái quát hóa là hai con ng khác nhau xem xét cùng m t m i quan h . M t l p là l p con c a m t l p này có th óng vài trị là m t l p cha c a l p khác.
5.7.2. Y u t phân bi t (Discriminatior)
t o m t c!u trúc phân c!p, c n ph i có m t s thu c tính làm n n t ng cho q trình chun bi t hóa. Thu c tính ó c g#i là y!u t phân bi t (Discriminator).
V i m.i giá tr có th gán cho y u t phân bi t trong l p cha, ta s& có m t l p con t ng ng.
Hình 7.3- Y u t phân bi t (Discriminatior)
Trong hình trên, y u t phân bi t trong l p tài kho n là "lo i tài kho n". Chúng ta gi thi t r%ng ch* có hai lo i tài kho n, m t mang tính k0 h n và m t mang tính giao d ch. Theo ó, ta ph i t o ra hai l p con, m t cho các tài kho n mang tính k0 h n và m t cho các tài kho n mang tính giao d ch.
Trong mơ hình i t ng, không nh!t thi t ph i nêu b t y u t phân bi t. Y u t phân bi t ln có m t trong m t c!u trúc phân c!p l p cha/ con, dù có c nh!n m nh trong mơ hình i t ng hay không.
M c d u v y, m b o cho m t mơ hình c nh ngh+a rõ ràng, trình bày y u t phân bi t v n luôn là công vi c nên th c hi n.
a) L p tr4u t ng:
Quan sát c!u trúc trong hình trên, ta th!y l p tài kho n s& không bao gi c th c th hóa, có ngh+a là