Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 2
lượt xem 13
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 2
- CH NG 5 : MÔ HÌNH I T +NG 5.1. L p, it 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. it 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 it 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 65
- 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. 66
- 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 it 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 as 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 67
- 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 it 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. 68
- 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 cl 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,…. M c ' tr4u t ng: Khi phân tích ph m vi bài toán, c n chú ý r%ng m c tr u t ng c a các khái ni m then ch t là r!t quan tr#ng, b i m c tr u t ng quá cao hay quá th!p u r!t d gây nh m l n. M c tr u t ng quá cao d n t i nh ng nh ngh+a quá khái quát v m t th c th , t o nên m t cái nhìn v+ mô và th ng không nh"m vào m t m c tiêu c th . Ví d trong m t nhà b(ng, ta không th ch#n khái ni m then ch t là "ng i", b i nó s& d n n l i miêu t : "M t ng i n nhà b(ng g i ti n vào, và s ti n ó c m t ng i khác ti p nh n." – trong khi m t yêu c u quan tr#ng ây là ph i phân bi t gi a nhân viên v i khách hàng vì ch c n(ng c a h# là khác h)n nhau. 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: 69
- 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à it 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. 70
- 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 th nào ó. Ta có các h th ng ngo i vi không? N u có, th ng chúng c'ng áng c quan tâm t i khi t o d ng mô hình. Các h th ng bên ngoài có th c coi là các l p ch a h th ng c a chúng ta ho c t ng tác v i h th ng c a chúng ta. Chúng ta có các m u, th vi n l p , thành ph n và nh ng th khác không? N u chúng ta có m u, th vi n, thành ph n t các d án tr c (xin c c a các b n ng nghi p, mua c t các nhà cung c!p) thì chúng th ng c'ng s& ch a các ng c viên l p. 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 71
- 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 c a khách hàng. Nói chuy n v i ng i s d ng c'ng g i m n các khái ni m then ch t. Th ng thì ng i s d ng miêu t h th ng theo l i c n ph i a vào nh ng gì và mong ch k t qu gì. Thông tin a vào và k t qu theo l i miêu t c a ng i s d ng c n ph i c t p h p l i v i nhau nh n d ng khái ni m then ch t. 5.2.2. Các l p ng c viên 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à: 72
- 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 ut 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 ni m l p không thích h p. L p không rõ ràng: L p không có ch c n(ng c th c g#i là các l p không rõ ràng. L p t n t i và có giá tr s d ng trong m t h th ng là l p có m t ch c n(ng ã c nh n di n và xác nh rõ ràng. Các l p không rõ ràng c n ph i c nh ngh+a l i ho c lo i b . Ví d quan sát nhi u b ph n khác nhau trong m t nhà b(ng ABC. M t trong nh ng b ph n ã c nh n di n có th là b ph n hành chính. Vì ph m vi cho quá trình vi tính hóa c a nhà b(ng hi n th i ch a bao g m m ng hành chính nên l p này có 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ò. 73
- 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. Ví d "rút ti n" không c n ph i c coi là m t l p, nó có th là ch c n(ng c a m t l p. L p ch* có m t hàm ho c ch* là s miêu t vi c th c hi n m t ch c n(ng nào ó có th n gi n ch* là m t hàm, ho c quá trình tr u t ng hóa d li u (data abstraction) ây ch a c th c hi n y . 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à it 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. 74
- 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 ct ot 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 75
- 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 it ng it ng là th c th c a các l p nên kí hi u dùng cho it ng c'ng là kí hi u dùng cho l p. Hình 5.10-Ký hi u it 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. 76
- Hình 5.11- Các d!u hi u hành ng Hình 5.12- Các giá tr m c nhiên c a tham s 5.4. Quan h gi#a các l p Bi u l p th hi n các l p và các m i quan h gi a chúng. Quan h gi a các l p g m có b n lo i: Liên h (Association) Khái quát hóa (Generalization) 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. 77
- 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 ts 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. 78
- • 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. 79
- 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 ã 80
- 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. a) Liên h và y!u t h"n 1nh (Qualifier): 81
- 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 ch 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* có th tham gia vào nhi u nh!t m t trong các m i liên h ó. 82
- 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) 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. 83
- 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) 84
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đề cương môn học Phân tích thiết kế phần mềm
143 p | 538 | 171
-
Giáo trình phân tích thiết kế hệ thống thông tin - ĐH Công nghiệp TP Hồ Chí Minh
189 p | 318 | 79
-
Bài giảng môn học: Phân tích thiết kế hệ thống thông tin
93 p | 263 | 55
-
Môn phân tích thiết kế hệ thống thông tin
29 p | 186 | 42
-
BÀI TẬP LỚN MÔN HỌC PHÂN TÍCH ĐÁNH GIÁ THUẬT TOÁN
7 p | 181 | 27
-
Đề cương môn học Phân tích thiết kế hướng đối tượng
14 p | 222 | 20
-
Tài liệu môn học: Phân tích và thiết kế HTTT theo UML - Phần 1
64 p | 107 | 19
-
HỆ THỐNG MÔN HỌC TIN HỌC ỨNG DỤNG
32 p | 94 | 17
-
TÀI LIỆU MÔN HỌC PHÂN TÍCH VÀ THIẾT KẾ HTTT THEO UML
122 p | 96 | 14
-
Bài giảng môn học Phân tích và thiết kế thuật toán - Đại Học Phương Đông
131 p | 152 | 12
-
Tài liệu môn học Hệ thống thông tin quản lý
178 p | 71 | 12
-
Phân tích thiết kế hệ thống - Chương mở đầu
7 p | 89 | 11
-
Bài giảng Xử lý dữ liệu trong sinh học với phần mềm Excel - Bài 5: Kiểm định một phân phối và bảng tương liên
2 p | 68 | 10
-
Bài giảng Xử lý dữ liệu trong sinh học với phần mềm Excel - Bài 4: Hồi quy tương quan
5 p | 103 | 9
-
Đề cương môn học: Phân tích và thiết kế hướng đối tượng
4 p | 192 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Giới thiệu môn học - Nguyễn Mạnh Hiển
5 p | 165 | 6
-
Bài giảng Xử lý ngôn ngữ tự nhiên: Giới thiệu môn học - Nguyễn Kiêm Hiếu (ĐH Bách khoa Hà Nội)
2 p | 82 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn