1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 2

58 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 4,48 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 2 là tài liệu được sưu tầm và tổng hợp. Tiếp theo phần 1, phần 2 này có 2 chương với nội dung: Mô hình hướng đối tượng, Mô hình hóa tự động sẽ giúp cung cấp các hiểu biết nhằm nâng cao kiến thức về thiết kế HTTT.

Trang 1

CH NG 5 : MÔ HÌNH I T +NG

5.1 L p, i t ng và quan h – các thành ph n c b n c a mô hình

Trong mô hình hóa h ng i t ng, nh ng ph n t c!u thành c(n b n nh!t c a mô hình là l p, i

t ng và m i quan h gi a chúng v i nhau L p và i t ng s& mô hình hóa nh ng gì có trong h

th ng mà chúng ta mu n miêu t , các m i quan h s& bi u th c!u trúc ng tác phân l p (classification) ã c s d ng t hàng ngàn n(m nay n gi n hóa vi c miêu t các h th ng ph c

t p Khi loài ng i bi t n vi c l p trình h ng i t ng xây d ng các h th ng ph n m m thì l p

và các m i quan h c a chúng c chuy n thành các dòng code c th

5.1.1 i t ng (Object)

M t i t ng là m t s t ng tr ng cho m t th c th , ho c là th c th t n t i trong th gi i i th c

ho c th c th mang tính khái ni m M t i t ng có th t ng tr ng cho cái gì ó c th , ví d nh

m t chi c xe ô tô ch hàng c a b n ho c chi c máy tính c a tôi, ho c t ng tr ng cho m t khái ni m ví

d nh m t quy trình hóa h#c, m t giao d ch trong nhà b(ng, m t l i t hàng, nh ng thông tin trong quá trình s d ng tín d ng c a khách hàng hay m t t3 l ti n l i

C'ng có nh ng i t ng (ví d nh các i t ng th c thi m t trong h th ng ph n m m) không th t

s t n t i ngoài th gi i th c, nh ng là k t qu d n xu!t t quá trình nghiên c u c!u trúc và ng x

c a các i t ng ngoài th gi i th c Nh ng i t ng ó, dù là b%ng cách này hay cách khác, u liên quan n quan ni m c a chúng ta v th gi i th c

M t i t ng là m t khái ni m, m t s tr u t ng hóa, ho c là m t v t v i ranh gi i và ý ngh+a

c nh ngh+a rõ ràng cho m t ng d ng nào ó M.i i t ng trong m t h th ng u có ba c tính: tr ng thái, ng x và s nh n di n

5.1.2 Tr ng thái, ng x và nh#n di n c a i t ng

Tr ng thái (state) c a m t i t ng là m t trong nh ng hoàn c nh n i i t ng có th t n t i Tr ng

thái c a m t i t ng th ng s& thay i theo th i gian, và nó c nh ngh+a qua m t t h p các thu c tính, v i giá tr c a các thu c tính này c'ng nh m i quan h mà i t ng có th có v i các i

t ng khác Ví d m t danh sách ghi danh cho m t l p h#c trong h th ng tr ng h#c có th có hai

tr ng thái: tr ng thái óng và tr ng thái m N u danh sách sinh viên ghi danh cho l p h#c này còn nh

h n s t i a cho phép (ví d là 10), thì tr ng thái c a b ng ghi danh này là m M t khi ã 10 sinh viên ghi danh cho l p, danh sách s& chuy n sang tr ng thái óng

ng x (Behaviour) xác nh m t i t ng s& ph n ng nh th nào tr c nh ng yêu c u t các i

t ng khác, nó tiêu bi u cho nh ng gì mà i t ng này có th làm 5ng x c th c thi qua lo t các

Ph ng th c (operation) c a i t ng Trong ví d tr ng i h#c, m t i t ng b ng ghi danh l p h#c có th có ng x là b sung thêm m t sinh viên hay xóa i tên c a m t sinh viên khi sinh viên (ng

ký h#c hay bãi b (ng ký

S nh n di n (Identity) m b o r%ng m.i i t ng là duy nh!t – dù tr ng thái c a nó có th gi ng v i

tr ng thái c a các i t ng khác Ví d , khóa h#c i s 101 ch ng 1 và khóa h#c i s 101 ch ng

Trang 2

2 là hai i t ng trong h th ng ghi danh tr ng h#c M c dù c hai u thu c lo i b ng ghi danh, m.i khóa h#c v n có s nh n d ng duy nh!t c a mình

5.1.3 L p (Class)

M t l p là m t l i miêu t c a m t nhóm các i t ng có chung thu c tính, chung ph ng th c ( ng

x ), chung các m i quan h v i các i t ng khác và chung ng ngh+a (semantic) Nói nh th có ngh+a l p là m t khuôn m u t o ra i t ng M.i i t ng là m t th c th c a m t l p nào ó và

m t i t ng không th là k t qu th c th hóa c a nhi u h n m t l p Chúng ta s d ng khái ni m

l p bàn lu n v các h th ng và phân lo i các i t ng mà chúng ta ã nh n d ng ra trong th

gi i th c

M t l p t t s& n"m b"t m t và ch* m t s tr u t ng hóa - nó ph i có m t ch chính Ví d , m t l p

v a có kh n(ng gi t!t c các thông tin v m t sinh viên và thông tin v t!t c nh ng l p h#c mà

ng i sinh viên ó ã tr i qua trong nhi u n(m tr c không ph i là m t l p t t, b i nó không có ch chính L p này c n ph i c chia ra làm hai l p liên quan n nhau: l p sinh viên và l p l ch s c a sinh viên

Hình 5.1- M.i th c th trong mô hình trên là m t l p

Khi t o d ng mô hình c'ng nh th t s xây d ng các h th ng doanh nghi p, các h th ng thông tin, máy móc ho c các l#ai h th ng khác, chúng ta c n s d ng các khái ni m c a chính ph m vi v!n khi n cho mô hình d hi u và d giao ti p h n N u chúng ta xây d ng h th ng cho m t công ty b o

hi m, mô hình c n ph i d a trên các khái ni m c a ngành b o hi m N u chúng ta xây d ng m t h

th ng cho quân i, thì các khái ni m c a th gi i quân s c n ph i c s d ng khi mô hình hóa h

th ng M t h th ng d a trên các khái ni m chính c a m t ngành doanh nghi p nào ó có th d c thi t k l i cho phù h p v i nh ng qui ch , chi n l c và qui nh m i, b i chúng ta ch* c n cân b%ng

và kh"c ph c s chênh l ch gi a công vi c c' và công vi c m i Khi các mô hình c xây d ng d a trên các khái ni m l!y ra t cu c i th c và d a trên các khái ni m thu c ph m vi v!n , h ng i

t ng s& là m t ph ng pháp r!t thích h p b i n n t ng c a ph ng pháp h ng i t ng là các l p,

i t ng và m i quan h gi a chúng

M t l p là l i miêu t cho m t d ng i t ng trong b!t k0 m t h th ng nào ó – h th ng thông tin,

h th ng k, thu t, h th ng nhúng th i gian th c, h th ng phân tán, h th ng ph n m m và h th ng doanh th ng Các v t d ng (artifact) trong m t doanh nghi p, nh ng thông tin c n c l u tr , phân tích ho c các vai trò mà m t tác nhân m nh n trong m t doanh nghi p th ng s& tr thành các l p trong các h th ng doanh nghi p và h th ng thông tin

Trang 3

Ví d v các l p trong doanh nghi p và các h th ng thông tin:

Khách hàng

B n th ng thuy t Hóa n

Món n Tài s n

B n công b giá c phi u Các l p trong m t h th ng k, thu t th ng bao g m các i t ng k, thu t, ví d nh máy móc c

s d ng trong h th ng:

Sensor Màn hình I/O card

ng c Nút b!m

L p i u khi n Các h th ng ph n m m th ng có các l p i di n cho các th c th ph n m m trong m t h i u hành:

File

Ch ng trình ch y c Trang thi t b

Icon

C a s Thanh kéo

5.1.4 Bi u l p (Class diagram)

M t bi u l p là m t d ng mô hình t+nh M t bi u l p miêu t h ng nhìn t+nh c a m t h th ng b%ng các khái ni m l p và m i quan h gi a chúng v i nhau M c dù nó c'ng có nh ng nét t ng t

v i m t mô hình d li u, nh ng nên nh r%ng các l p không ph i ch* th hi n c!u trúc thông tin mà còn miêu t c hình vi M t trong các m c ích c a bi u l p là t o n n t ng cho các bi u khác, th

hi n các khía c nh khác c a h th ng (ví d nh tr ng thái c a i t ng hay c ng tác ng gi a các

i t ng, c ch* ra trong các bi u ng) M t l p trong m t bi u l p có th c th c thi tr c

ti p trong m t ngôn ng h ng i t ng có h tr tr c ti p khái ni m l p M t bi u l p ch* ch* ra

Trang 4

các l p, nh ng bên c nh ó còn có m t bi n t!u h i khác i m t chút ch* ra các i t ng th t s là các

th c th c a các l p này (bi u i t ng)

Hình 5.2-Mô hình l p trong UML

Hình 5.3- M t l p c th v i các thu c tính

t o m t bi u l p, u tiên ta ph i nh n di n và miêu t các l p M t khi ã có m t s l ng các

l p, ta s& xét n quan h gi a các l p ó v i nhau

5.2 Tìm l p

H u nh không có m t công th c chung cho vi c phát hi n ra các l p i tìm các l p là m t công vi c

òi h i trí sáng t o và c n ph i c th c thi v i s tr giúp c a chuyên gia ng d ng Vì qui trình phân tích và thi t k mang tính vòng l p, nên danh sách các l p s& thay i theo th i gian T p h p ban

u c a các l p tìm ra ch a ch"c ã là t p h p cu i cùng c a các l p sau này s& c th c thi và bi n

i thành code Vì th , th ng ng i ta hay s d ng n khái ni m các l p ng c viên (Candidate

Class) miêu t t p h p nh ng l p u tiên c tìm ra cho h th ng

Nh ã nói trong ph n 2.10 (Th c hi n Tr ng h p s d ng), tr ng h p s d ng là nh ng l i miêu t

ch c n(ng c a h th ng, còn trách nhi m th c thi thu c v các i t ng c ng tác th c thi ch c n(ng

ó Nói m t cách khác, chúng ta i tìm các l p là ti n t i tìm gi i pháp cung c!p nh ng ng x

h ng ngo i ã c xác nh trong các tr ng h p s d ng

Có nhi u ph ng pháp khác nhau th c hi n công vi c ó Có ph ng pháp ngh ti n hành phân tích ph m vi bài toán, ch* ra t!t c các l p th c th (thu c ph m vi bài toán) v i m i quan h c a chúng

v i nhau Sau ó nhà phát tri n s& phân tích t ng tr ng h p s d ng và phân b trách nhi m cho các

l p trong mô hình phân tích (analysis model), nhi u khi s& thay i chúng ho c b sung thêm các l p

m i Có ph ng pháp ngh nên l!y các tr ng h p s d ng làm n n t ng tìm các l p, làm sao trong quá trình phân b trách nhi m thì mô hình phân tích c a ph m vi bài toán s& t ng b c t ng b c

c thi t l p

Trang 5

5.2.1 Phân tích ph m vi bài toán tìm l p

Quá trình phân tích ph m vi bài toán th ng c b"t u v i các khái ni m then ch t (Key

Abstraction), m t công c th ng c s d ng nh n di n và l#c ra các l p ng c viên (Candidate class)

a) Khái ni m then ch t:

Hãy l!y ví d m t nhà b(ng ABC, i u u tiên ta ngh+ t i là gì? Ti n! Bên c nh ó, ABC còn ph i có

nh ng th c th liên quan t i ti n nh sau:

Khách hàng

S n ph$m (các tài kho n c coi là các s n ph$m c a m t nhà b(ng)

L c l ng nhân viên Ban qu n tr nhà b(ng Phòng máy tính trong nhà b(ng

Nh ng th c th này c g#i là các khái ni m then ch t cho nh ng gì mà nhà b(ng có th có Khái

ni m then ch t ho c mang tính c!u trúc (structural) ho c mang tính ch c n(ng (functional) Th c th mang tính c!u trúc là nh ng th c th v t lý t ng tác v i nhà b(ng, ví d khách hàng Th c th mang tính ch c n(ng là nh ng ch c n(ng mà nhà b(ng ph i th c hi n, ví d duy trì m t tài kho n ho c chuy n ti n t tài kho n này sang tài kho n khác Khái ni m then ch t là các th c th ta ý n u tiên Chúng r!t quan tr#ng vì giúp ta:

nh ngh+a ranh gi i c a v!n Nh!n m nh n các th c th có liên quan n thi t k c a h th ng

Lo i b th c th n%m ngoài ph m vi h th ng Các khái ni m then ch t th ng s& tr thành các l p trong mô hình phân tích

M t khái ni m then ch t tóm l i là m t l p hay i t ng thu c chuyên ngành c a ph m vi bài toán Khi trình bày v i ng i s d ng, chúng có m t ánh x 1-1 gi a v i nh ng th c th liên quan t i ng i

s d ng nh hóa n, sec, gi!y ngh rút ti n, s ti t ki m, th/ rút ti n t ng, nhân viên thu ngân, nhân viên nhà b(ng, các phòng ban,…

T ng t nh v y, m c tr u t ng quá th!p c'ng d gây hi u l m, b i nh ng thông tin quá v n v t

ch a thích h p v i th i i m này Ví d nh ng quy t nh d ng:

Trang 6

Form m tài kho n òi h i t!t c 15 Entry

Nh ng d li u trên Form này u ph i c c(n ph i

Không có nhi u ch ghi a ch* c a khách hàng trên Form

nên c dành cho các giai o n sau

Vài i m c n chú ý v khái ni m then ch t:

Nh ng th c th xu!t hi n u tiên trong óc não chúng ta là nh ng th c th d có kh n(ng tr thành khái ni m then ch t cho m t v!n nh tr c

M.i l n tìm th!y m t khái ni m then ch t m i, c n xem xét nó theo cách nhìn c a v!n , có th h i các câu h i sau :

Nh ng ch c n(ng nào có th c th c hi n i v i th c th này?

i u gì khi n nh ng th c th lo i này c t o ra?

N u không có câu tr l i thích h p, c n ph i suy ngh+ l i v th c th ó

M.i khái ni m then ch t m i c n ph i c t tên cho thích h p, miêu t úng ch c n(ng c a khái

ni m

b) Nh n d"ng l p và i t ng:

N"m v ng khái ni m l p, chúng ta có th t ng i d dàng tìm th!y các l p và i t ng trong ph m

vi v!n M t nguyên t"c thô s th ng c áp d ng là danh t4 trong các l i phát bi u bài toán

th ng là các ng c viên chuy n thành l p và i t ng

M t s g i ý th c t cho vi c tìm l p trong ph m vi v!n :

B c u tiên là c n ph i t p trung nghiên c u k,:

Các danh t trong nh ng l i phát bi u bài toán

Ki n th c chuyên ngành thu c ph m vi bài toán Các Tr ng h p s d ng

Ví d trong l i phát bi u "Có m t s tài kho n mang l i ti n lãi", ta th!y có hai danh t là tài kho n và

ti n lãi Chúng có th là các l p ti m n(ng cho mô hình nhà b(ng l/

Th hai, chúng ta c n chú ý n các nhóm v t th trong h th ng hi n th i nh :

Các th c th v t lý c a h th ng: nh ng v t th t ng tác v i h th ng, ví d khách hàng

Các v t th h u hình: các v t th v t lý mà ta có th nhìn và s th!y Ví d nh công c giao thông, sách v , m t con ng i, m t ngôi nhà,… Trong m t nhà b(ng ABC, ó có

th là t p sec, phi u ngh rút ti n, s ti t ki m, các lo i Form c n thi t

Trang 7

Các s ki n (Events): M t chi c xe b h ng, m t cái c a c m ra Trong m t nhà b(ng là s áo h n m t tài kho n u t , hi n t ng rút quá nhi u ti n m t trong m t tài kho n bình th ng

Các vai trò (Role): Ví d nh m-, khách hàng, ng i bán hàng, … Trong m t nhà b(ng, vai trò có th là nhân viên, nhà qu n tr , khách hàng,

Các s t ng tác (Interactions): Ví d vi c bán hàng là m t chu.i t ng tác bao g m khách hàng, ng i bán hàng và s n ph$m Trong m t nhà b(ng, vi c m m t tài kho n

m i s& yêu c u m t chu.i t ng tác gi a nhân viên và khách hàng

V trí (Location): M t v t nào ó ho c m t ng i nào ó c gán cho m t v trí nào

ó Ví d : Ôtô i v i nhà xe Trong m t nhà b(ng ta có th th!y nhân viên thu ngân luôn ng c a s c a mình

n v t ch c (Organisation Unit): Ví d các phòng ban, phòng tr ng bày s n ph$m, các b ph n Trong m t nhà b(ng có th có b ph n tài kho n bình th ng, b ph n tài kho n ti t ki m, b ph n tài kho n u t

Bên c nh ó, còn nhi u câu h i khác giúp ta nh n d ng l p Ví d nh :

Ta có thông tin c n c l u tr ho c c n c phân tích không? N u có thông tin c n

ph i c l u tr , bi n i, phân tích ho c x lý trong m t ph ng th c nào ó thì ch"c ch"n ó s& là ng c viên cho l p Nh ng thông tin này có th là m t khái ni m luôn

c n ph i c ghi trong h th ng ho c là s ki n, giao d ch x y ra t i m t th i i m c

Có thi t b ngo i vi mà h th ng c a chúng ta c n x lý không? M.i thi t b k, thu t

c n i v i h th ng c a chúng ta th ng s& tr thành ng c viên cho l p x lý lo i thi t b ngo i vi này

Chúng ta có ph n công vi c t ch c không? Miêu t m t n v t ch c là công vi c

c th c hi n v i các l p, c bi t là trong các mô hình doanh nghi p

c) T ng k!t v các ngu$n thông tin cho vi c tìm l p:

Nhìn chung, các ngu n thông tin chính c n c bi t chú ý khi tìm l p là :

Các l i phát bi u yêu c u Các Tr ng h p s d ng

S tr giúp c a các chuyên gia ng d ng Nghiên c u h th ng hi n th i

Trang 8

Lo t các l p u tiên c nh n d ng qua ây th ng c g#i là các l p ng c viên (Candidate Class) Ngoài ra, nghiên c u nh ng h th ng t ng t c'ng có th s& mang l i cho ta các l p ng c viên khác:

Khi nghiên c u h th ng hi n th i, hãy ý n các danh t và các khái ni m then ch t nh n ra l p

ng c viên Không nên a các l p ã c nh n di n m t l n n a vào mô hình ch* b i vì chúng c nh"c l i âu ó theo m t tên g#i khác Ví d , m t h th ng nhà b(ng có th coi cùng m t khách hàng

v i nhi u v trí khác nhau là nhi u khách hàng khác nhau C n chú ý khi phân tích nh ng l i miêu t

nh th tránh d n n s trùng l p trong quá trình nh n di n l p

Có nhi u ngu n thông tin mà nhà thi t k c n ph i chú ý t i khi thi t k l p và ch* khi làm nh v y, ta

m i có th tin ch"c v kh n(ng t o d ng m t mô hình t t Hình sau t ng k t các ngu n thông tin k trên

Hình 5.4 - Ngu n thông tin h tr tìm l p

Các tr ng h p s d ng là ngu n t t nh!t cho vi c nh n di n l p và i t ng C n nghiên c u k, các

Tr ng h p s d ng tìm các thu c tính (attribute) báo tr c s t n t i c a i t ng ho c l p ti m n(ng Ví d n u Tr ng h p s d ng yêu c u ph i a vào m t s tài kho n (account-number) thì i u này tr t i s t n t i c a m t i t ng tài kho n

M t ngu n khác nh n ra l p/ i t ng là các Input và Output c a h th ng N u Input bao g m tên khách hàng thì ây là tín hi u cho bi t s t n t i c a m t i t ng khách hàng, b i nó là m t attribute

Theo các b c k trên trong ph n u giai o n phân tích, ta ã miêu t c m t s l p khác nhau

Nh ng l p này c g#i là các l p ng c viên, chúng th hi n nh ng l p có kh n(ng t n t i trong

m t h th ng cho tr c M c dù v y, ây v n có th ch a ph i là k t qu chung cu c, m t s l p ng

c viên có th s& b lo i b trong các b c sau vì không thích h p

Giai o n u khi nh ngh+a các l p ng c viên, ta ch a nên c g"ng thanh l#c các l p, hãy t p trung cáo m c tiêu nghiên c u bao quát và toàn di n t nhi u ngu n thông tin khác nhau không b sót nhi u khía c nh c n x lý

Ví d trong nhà m t b(ng l/, các l p ng c viên có th là:

Trang 9

Khách hàng Các lo i tài kho n khác nhau Sec, s ti t ki m, n, …

Phi u yêu c u m tài kho n m i Th/ ATM

B n in thông tin v tài kho n Gi!y ch ng nh n tài kho n u t Th/ x p hàng (Token), s th t Nhân viên

Nhân viên thu ngân

5.2.3 Lo i b$ các l p ng c viên không thích h p

Có r!t nhi u lo i l p ng c viên không thích h p c n ph i c lo i b :

L p d , th a: Khi có h n m t l p nh ngh+a cùng m t th c th , nên gi l i l p t t nh!t

và lo i b nh ng l p khác Ví d , trong m t nhà b(ng có hai l p ch tài kho n và khách hàng C hai l p bi u hi n cùng m t th c th và vì th ch* c n gi l i m t

L p không thích h p: L p nh ngh+a ra nh ng th c th không liên quan n v!n

th c t i M#i l p không xu!t phát t ph m vi ng d ng c n ph i c lo i b Ví d , l p

c a các máy m ti n bên casse trong m t nhà b(ng có th là m t ng c viên cho khái

th c coi là m t l p không rõ ràng (vì không có ch c n(ng rõ ràng trong h th ng

c n xây d ng tr c m"t)

T ng t , nh ng thu c tính và ph ng th c không rõ ràng c n ph i c lo i ra kh i danh sách các l p ng c viên Chúng không c n ph i b xoá h)n, nh ng c n c a

ra ngoài ta có th nhìn rõ các l p c n thi t ã c nh n di n Các ng x ó sau này

có th c gán cho các l p thích h p h n

Các l p ch* là vai trò (Role) i v i m t l p khác: Hãy lo i b t!t c các vai trò và gi

l i l p chính Ví d nhà qu n tr , nhân viên thu ngân, ng i ch y gi!y r!t có th ch* là vai trò c a l p nhân viên Hãy gi l i l p nhân viên và lo i b t!t c nh ng l p khác ch*

là vai trò

Trang 10

M t l p không cung c!p ng x c n thi t ho c thu c tính c n thi t có th s& là l p không c n thi t Nhi u khi, có th có m t l p ch)ng cung c!p m t thu c tính ho c ng

x nào mà ch* nh ngh+a m t t p h p các m i quan h Nh ng l p nh th c n ph i

c nghiên c u k, xác nh s liên quan v i h th ng Ví d m t khách hàng có th

c nh ngh+a là khách hàng quan tr#ng hay khách hàng bình th ng tùy theo m i quan h mà anh ta có v i nhà b(ng trong t cách ch nhân tài kho n

T!t c nh ng công c xây d ng (Implementation constructs) ví d nh stack, arrays, link lists, … c n ph i c a ra kh i mô hình phân tích Chúng s& c dùng t i trong giai o n xây d ng ph n m m

M t l p có tên mang tính ng t có th n gi n ch* là m t hàm ch không ph i là m t

L p không có hàm là m t thi u sót trong mô hình V!n hàm thành ph n (ph ng

th c) c a l p này ch a c suy ngh+ th!u áo

5.3 L p và i t ng trong UML

UML th hi n l p b%ng hình ch nh t có 3 ph n Ph n th nh!t ch a tên l p Trong ph n th hai là thu c tính và các d li u thành ph n c a l p và trong ph n th ba là các ph ng th c hay hàm thành

ph n c a l p

5.3.1 Tên l p (class name)

Tên l p c in m (bold) và c(n gi a Tên l p ph i c d n xu!t t ph m vi v!n và rõ ràng nh

có th Vì th nó là danh t , ví d nh tài kho n, nhân viên,

5.3.2 Thu c tính (attribute)

L p có thu c tính miêu t nh ng c i m c a i t ng Giá tr c a thu c tính th ng là nh ng d ng

d li u n gi n c a ph n các ngôn ng l p trình h tr nh Integer, Boolean, Floats, Char, … Thu c tính có th có nhi u m c trông th!y c (visibility) khác nhau, miêu t li u thu c tính ó có

th c truy xu!t t các l p khác, khác v i l p nh ngh+a ra nó N u thu c tính có tính trông th!y là công c ng (public), thì nó có th c nhìn th!y và s d ng ngoài l p ó N u thu c tính có tính trông th!y là riêng (private), b n s& không th truy c p nó t bên ngoài l p ó M t tính trông th!y khác là

b o v (protected), c s d ng chung v i công c khái quát hóa và chuyên bi t hóa Nó c'ng gi ng

nh các thu c tính riêng nh ng c th z k b i các l p d n xu!t

Trong UML, thu c tính công c ng mang kí hi u "+" và thu c tính riêng mang d!u "-"

Giá tr c gán cho thu c tính có th là m t cách miêu t tr ng thái c a i t ng M.i l n các giá

tr này thay i là bi u hi n cho th!y có th ã x y ra m t s thay i trong tr ng thái c a i t ng

Trang 11

L u ý: M#i c i m c a m t th c th là nh ng thông tin c n l u tr u có th chuy n thành thu c tính c a l p miêu t lo i th c th ó

5.3.3 Ph ng th c (method)

Ph ng th c nh ngh+a các ho t ng mà l p có th th c hi n T!t c các i t ng c t o t m t

l p s& có chung thu c tính và ph ng th c Ph ng th c c s d ng x lý thay i các thu c tính c'ng nh th c hi n các công vi c khác Ph ng th c th ng c g#i là các hàm (function), nh ng chúng n%m trong m t l p và ch* có th c áp d ng cho các i t ng c a l p này M t ph ng th c

c miêu t qua tên, giá tr tr v và danh sách c a 0 cho t i nhi u tham s Lúc thi hành, ph ng

th c c g#i kèm theo m t i t ng c a l p Vì nhóm các ph ng th c miêu t nh ng d ch v mà

l p có th cung c!p nên chúng c coi là giao di n c a l p này Gi ng nh thu c tính, ph ng th c c'ng có tính trông th!y c nh công c ng, riêng và b o v

Hình 5.5- M t l p v i các thu c tính tiêu bi u

Hình 5.6- M t l p v i các thu c tính chung và riêng

Hình 5.7- M t l p v i các thu c tính và gía tr m c nhiên

Trang 12

Hình 5.8- M t l p g m các thu c tính v i gía tr m c nhiên và thu c tính ph m vi l p

Hình 5.9- M t thu c tính v i li t kê gía tr (status)

5.3.4 Kí hi u i t ng

i t ng là th c th c a các l p nên kí hi u dùng cho i t ng c'ng là kí hi u dùng cho l p

Hình 5.10-Ký hi u i t ng

Hình trên c #c nh sau: CAH là i t ng c a l p AccountHolder Các thu c tính c gán giá

tr , ây là các giá tr khi l p c th c th hóa Chú ý r%ng kí hi u i t ng không ch a ph n ph ng

th c

Trang 13

Ph thu c (Dependency) Nâng c!p (Refinement)

M t liên h là m t s n i k t gi a các l p, c'ng có ngh+a là s n i k t gi a các i t ng c a các l p này Trong UML, m t liên h c nh ngh+a là m t m i quan h miêu t m t t p h p các n i k t (links), trong khi n i k t c nh ngh+a là m t s liên quan v ng ngh+a (semantic connection) gi a

m t nhóm các i t ng

Khái quát hóa là m i quan h gi a m t y u t mang tính khái quát cao h n và m t y u t mang tính chuyên bi t h n Y u t mang tính chuyên bi t h n có th ch a ch* các thông tin b sung M t th c th (m t i t ng là m t th c th c a m t l p) c a y u t mang tính chuyên bi t h n có th c s d ng b!t c n i nào mà i t ng mang tính khái quát hóa h n c phép

Trang 14

S ph thu c là m t m i quan h gi a các y u t , g m m t y u mang tính c l p và m t y u t mang tính ph thu c M t s thay i trong y u t c l p s& nh h ng n y u t ph thu c

M t s nâng c!p là m i quan h gi a hai l i miêu t c a cùng m t s v t, nh ng nh ng m c tr u

t ng hóa khác nhau

5.5 Liên h (Association)

M t liên h là m t s n i k t gi a các l p, m t liên quan v ng ngh+a gi a các i t ng c a các l p tham gia Liên h th ng th ng mang tính hai chi u, có ngh+a khi m t i t ng này có liên h v i

m t i t ng khác thì c hai i t ng này nh n th!y nhau M t m i liên h bi u th b%ng các i

t ng c a hai l p có n i k t v i nhau, ví d r%ng "chúng bi t v nhau", " c n i v i nhau", "c m.i X

l i có m t Y", L p và liên h gi a các l p là nh ng công c r!t m nh m& cho vi c mô hình hóa các

h th ng ph c t p, ví d nh c!u trúc s n ph$m, c!u trúc v(n b n và t!t c các c!u trúc thông tin khác

M i liên k t c th hi n trong bi u UML b%ng m t ng th)ng n i hai l p (hình 4.18)

Hình 5.13-M t l p Author k t h p v i l p Computer

5.5.1 Vai trò trong liên h

M t liên h có th có các vai trò (Roles) Các vai trò c n i v i m.i l p bao ch a trong quan h Vai trò c a m t l p là ch c n(ng mà nó m nh n nhìn t góc nhìn c a l p kia Tên vai trò c vi t kèm

v i m t m'i tên ch* t h ng l p ch nhân ra, th hi n l p này óng vai trò nh th nào i v i l p mà m'i tên ch* n

Hình 5.14- Vai trò trong liên h gi a Customer và Account

Trong ví d trên: m t khách hàng có th là ch nhân c a m t tài kho n và tài kho n c chi m gi

b i khách hàng ng th)ng th hi n liên h gi a hai l p

M t s i m c n chú ý khi t tên vai trò :

• Tên vai trò có th b i n u trùng v i tên l p

• Tên vai trò ph i là duy nh!t

• Tên vai trò ph i khác v i các thu c tính c a l p

Trang 15

• Tên vai trò ph i miêu t c ch c n(ng mà l p này m nh n trong quan h , t c

c n ph i là các khái ni m l!y ra t ph m vi v!n , gi ng nh tên các l p

5.5.2 Liên h m t chi u (Uni-Directional Association)

Ta c'ng có th s d ng m i liên h m t chi u b%ng cách thêm m t m'i tên và m t u c a ng th)ng n i k t M'i tên ch* ra r%ng s n i k t ch* có th c s d ng duy nh!t theo chi u c a m'i tên

Hình 5.15- Liên h m t chi u gi a Interest và Account

Bi u ph n 5.15 th hi n r%ng gi a hai l p có liên h , nh ng không h có thông tin v s l ng các

i t ng trong quan h Ta không th bi t m t khách hàng có th có bao nhiêu tài kho n và m t tài kho n có th là c a chung cho bao nhiêu khách hàng Trong UML, lo i thông tin nh th c g#i là s

l ng ph n t (Cardinality) trong quan h

5.5.3 S l ng (Cardinality) trong liên h

Hình 5.16- S l ng trong liên h gi a Customer và Account

Bi u trên nói rõ m t khách hàng có th m m t ho c nhi u tài kho n và m t tài kho n có th thu c

v m t cho t i ba khách hàng

S l ng c ghi phía u ng th)ng th hi n liên h , sát vào l p là mi n áp d ng c a nó Ph m

vi c a s l ng ph n t trong liên h có th t 0-t i-1 (0 1), 0-t i-nhi u (0 * hay ), m t-t i-nhi u (1 ),

hai (2), n(m-t i-m i m t (5 11) C'ng có th miêu t m t dãy s ví d (1,4,6, 8 12) Giá tr m c nh

là 1

Trang 16

Hình 5.17- M t s l p tiêu bi u

Hình trên là ví d cho m t bi u l p tiêu bi u Bi u gi i thích r%ng b ph n d ch v tài kho n ti t

ki m c a m t nhà b(ng có th có nhi u tài kho n ti t ki m nh ng t!t c nh ng tài kho n này u thu c

v b ph n ó M t tài kho n ti t ki m v ph n nó l i có th có nhi u tài li u, nh ng nh ng tài li u này ch* thu c v m t tài kho n ti t ki m mà thôi M t tài kho n ti t ki m có th thu c v t 1 cho t i nhi u nh!t là 3 khách hàng M.i khách hàng có th có nhi u h n m t tài kho n

5.5.4 Phát hi n liên h

Th ng s& có nhi u m i liên h gi a các i t ng trong m t h th ng Quy t nh liên h nào c n ph i

c th c thi là công vi c th ôc giai o n thi t k Có th tìm các m i liên h qua vi c nghiên c u các

l i phát bi u v!n , các yêu c u Gi ng nh danh t ã giúp chúng ta tìm l p, các 'ng t4 ây s&

giúp ta tìm ra các m i quan h

M t vài l i mách b o khi tìm liên h :

V trí v m t v t lý ho c s thay th , i di n: M.i c m ng t xác nh hay

bi u l m t v trí u là m t bi u hi n ch"c ch"n cho liên h Ví d : t i a i m,

ng i trong, …

S bao ch a: C m ng t bi u l s bao ch a, ví d nh : là thành ph n c a Giao ti p: Có nhi u c m ng t bi u l s giao ti p, ví d truy n thông i p, nói chuy n v i, …

Quy n s h u: Ví d : thu c v , c a, … Tho mãn m t i u ki n: Nh ng c m t nh : làm vi c cho, là ch ng/v c a,

qu n tr , …

5.5.5 X lý các liên h không c n thi t

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 ã

Trang 17

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

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

a) Liên h và y!u t h"n 1nh (Qualifier):

Trang 18

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

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*

có th tham gia vào nhi u nh!t m t trong các m i liên h ó

Trang 19

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

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)

Có th có nhi u h n hai l p n i k t v i nhau trong m t liên h tam nguyên

Trang 20

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

Hình 5.24- L p liên h (Association class)

Trang 21

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

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

Trang 22

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"

Trang 23

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

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ãy quan sát c!u trúc l p trong bi u sau:

Trang 24

Hình 7.1- Chuyên bi t hoá (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

Hình 7.2- Khái quát hóa

Trang 25

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à quá trình chuyên bi t hoá (Specialization)

Chuyên bi t hóa: là quá 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

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 luôn 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

Trang 26

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à

h th ng s& không bao gi t o ra các i t ng thu c l p này Nguyên nhân là vì l p tài kho n mang tính khái quát cao n m c vi c kh i t o l p này s& không có m t ý ngh+a nào áng k L p tài kho n m c dù v y v n óng m t vai trò quan tr#ng trong vi c khái quát hóa các thu c tính s& c c n

n trong các l p d n xu!t t nó Nh ng lo i l p nh th c dùng cung c!p m t cây c!u trúc l p

và không có s t n t i y ý ngh+a trong m t mô hình th t s ngoài i, chúng c g#i là l p tr4u

tr ng (abstract class)

b) T"o l p tr4u t ng:

Các l p tr u tr ng là k t qu c a quá trình khái quát hóa Hãy quan sát ví d c!u trúc l p sau ây

L p tài kho n ng u cây c!u trúc và c g#i là l p c(n b n L p c(n b n c a m t cây c!u trúc

ch a nh ng thu c tính ã c khái quát hóa và có th c áp d ng cho m#i l p d n xu!t t nó Trong quá trình khái quát hóa, các thu c tính c dùng chung trong các l p chuyên bi t c a lên

l p cha L p cha v cu i c t o b i các thu c tính chung c a t!t c các l p d n xu!t t nó Nh ng

l p cha d ng nh v y trong r!t nhi u tr ng h p s& mang tính khái quát tuy t i và s& không theo

u i m c ích kh i t o, chúng có l i ng x gi ng nh m t thùng ch a (container) cho t!t c các thu c tính chung c a các l p d n xu!t Nh ng l p nh th trong tr ng h p chung th ng là k t qu ánh x

c a nh ng danh t tr u t ng, là h qu c a ph ng pháp s d ng các danh t nh n di n l p

Hình 7.4- T o l p tr u t ng

Bi u trên cho ta m t ví d v khái quát hóa và các thu c tính chung, nó ch* ra nhi u l p chuyên bi t Chú ý r%ng c theo m.i m c chuyên bi t hóa l i có thêm các thu c tính c b sung thêm cho các

l p, khi n chúng mang tính chuyên bi t cao h n so v i các l p cha m c tr u t ng bên trên Ví d

l p tài kho n có thu c tính là s tài kho n và tên khách hàng ây là nh ng thu c tính h t s c chung chung T!t c các l p d n xu!t t nó, dù là tr c ti p hay gián ti p ( các m c tr u t ng th!p h n

n a), u có quy n s d ng các thu c tính ó c a l p tài kho n Các l p tài kho n có k0 h n và tài

Trang 27

kho n giao d ch là hai l p chuyên bi t d n xu!t t l p tài kho n Chúng có nh ng thu c tính chuyên

bi t riêng c a chúng - ví d m c th i gian (duration) i v i l p tài kho n có k0 h n và m c ti n t i thi u i v i l p tài kho n giao d ch – bên c nh hai thu c tính s tài kho n và tên khách hàng mà chúng th a k t l p tài kho n C'ng t ng t nh th v i tài kho n u t ng"n h n và tài kho n u

t trung h n là các lo i l p thu c tài kho n có k0 h n, tài kho n ti t ki m và tài kho n bình th ng là các lo i l p thu c l p tài kho n giao d ch

c) L p c( th (concrete class):

L p c th là nh ng l p có th th c th hóa Nh ã nói t tr c, các l p c th khi th c th hóa c g#i là các i t ng Trong ví d trên, các l p tài kho n u t ng"n h n và tài kho n u t dài h n có

th c th c th hóa thành i t ng T ng t i v i tài kho n ti t ki m và tài kho n bình th ng

d) T ng k!t v phát tri n cây c,u trúc:

C ch dùng chung thu c tính và th t c s d ng nguyên t"c khái quát hóa c g#i là tính th4a k! (inheritance) S d ng tính th a k tinh ch (refine) các l p s& d n t i vi c phát tri n m t cây c!u

trúc Nên phát hi n nh ng ng x (behaviour) chung trong m t lo t l p r i th hi n nó thành m t l p cha S khác bi t trong ng x c a cùng m t l p s& d n t i vi c t o ra các l p con

Khi phát tri n cây c!u trúc, hãy quan sát ng x c a các l p Trong tr ng h p có m t liên h t n t i t

m t l p c th n t!t c các l p con c a m t l p cha, nên d ch chuy n liên h này lên l p cha

N u t n t i m t liên h gi a m t l p nào ó và m t l p cha, hãy chuyên bi t hóa và nâng cao c!u trúc xác nh xem li u liên h này có c áp d ng cho t!t c các l p con c a l p cha n# hay không N u

có thì gán nó vào l p cha, n u không thì d ch xu ng cho nh ng l p con phù h p

Trong khi ti n hành khái quát hóa, tr#ng tâm công vi c là xác nh các ng x chung trong m t nhóm nhi u l p chuyên bi t b c trung Khi ã xây d ng c m t th t c ho c m t thu c tính chung, nên

ki m tra l i xem chúng có th t s là y u t chung c a t!t c các l p chuyên bi t trong ph m vi này Khái quát hóa c áp d ng ch* khi chúng ta có m t t p h p các l p nh ngh+a m t lo i i t ng riêng bi t và có m t s l ng l n các ng x chung Tr#ng tâm ây là t o nên l p cha ch a các ng

x chung ó

Khi chuyên bi t hóa, ta i tìm các s khác bi t trong ng x t o các l p con thích ng Có ngh+a là

ta xem xét m t l p t n t i, ki m tra xem có ph i t!t c các ng x c a nó u có kh n(ng áp d ng cho m#i i t ng N u không, ta l#c ra ng x không ph i lúc nào c'ng c n thi t và chia tr ng h p nó ra thành các l p con Tr#ng tâm c a chuyên bi t hóa là t o các l p con

V i c ch th a k , m t l p con s& k th a m#i thu c tính à th t c c a t!t c các l p cha c a nó Hình sau làm rõ vi c t o c!u trúc l p s d ng tính khái quát

Trang 28

Hình 7.5- Phát tri n h th ng l p (1)

Th ng x y ra tr ng h p t!t c các l p con cùng tham gia vào m t liên h ho c k t t p Trong tr ng

h p này nên t o l p cha nh ngh+a liên h /k t t p ó Hình sau gi i thích thêm i m này:

Hình 7.6- Phát tri n h th ng l p (2)

5.8 Quan h ph( thu'c và nâng c,p (Dependency & Refinement)

Bên c nh liên h và khái quát hóa, UML còn nh ngh+a hai lo i quan h khác Quan h ph( thu'c

(Dependency) là m t s liên quan ng ngh+a gi a hai ph n t mô hình, m t mang tính c l p và m t

mang tính ph thu c M#i s thay i trong ph n t c l p s& nh h ng n ph n t ph thu c Ph n

t mô hình ây có th là m t l p, m t gói (package), m t tr ng h p s d ng, v.v Có th nêu m t vài cí d cho s ph thu c nh : m t l p l!y tham s là i t ng c a m t l p khác, m t l p truy nh p

m t i t ng toàn c c c a m t l p khác, m t l p g#i m t th t c thu c thu c m t l p khác Trong t!t

Trang 29

c các tr ng h p trên u có m t s ph thu c c a m t l p này vào m t l p kia, m c dù chúng không

có liên h rõ ràng v i nhau

Quan h ph thu c c th hi n b%ng ng th)ng g ch r i (dashed line) v i m'i tên (và có th thêm

m t nhãn) gi a các ph n t mô hình N u s d ng nhãn thì nó s& là m t khuôn m u (stereotype), xác

nh lo i ph thu c Hình sau ch* ra m t s ph thu c d ng "friend", có ngh+a r%ng m t ph n t mô hình nh n c quy n truy c p c bi t t i c!u trúc n i b c a ph n t th hai (th m chí t i c nh ng

ph n mang tính nhìn th!y là private)

Hình 8.1- M t quan h ph thu c gi a các l p Nâng c,p (Refinement) là m t quan h gi a hai l i miêu t c a cùng m t s v t, nh ng nh ng m c

tr u t ng hóa khác nhau Nâng c!p có th là m i quan h gi a m t lo i i t ng và l p th c hi n

nó Các nâng c!p th ng g p khác là quan h gi a m t l p phân tích (trong mô hình phân tích) và m t

l p thi t k (trong mô hình thi t k ) u mô hình hóa cùng m t th , quan h gi a m t l i miêu t có

m c tr u t ng hóa cao và m t l i miêu t có m c tr u t ng hóa th!p (ví d m t b c tranh khái quát

c a m t s c ng tác ng và m t bi u chi ti t c a c'ng c ng tác ó) Quan h nâng c!p còn c s

d ng mô hình hóa nhi u m c th c thi c a cùng m t th (m t th c thi n gi n và m t th c thi ph c

Ch* ra m i liên quan gi a các mô hình nhi u m c tr u t ng khác nhau

Ch* ra m i liên quan gi a các mô hình nhi u giai o n khác nhau (phân tích yêu c u, phân tích, thi t k , th c thi, )

H tr vi c qu n tr c!u hình

H tr vi c theo dõi trong mô hình

Ngày đăng: 11/05/2021, 03:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w