intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Nguyên Hoàng | Ngày: | Loại File: PDF | Số trang:58

84
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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. 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
  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 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
  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 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. 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
  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à 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
  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 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
  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 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
  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 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
  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. 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
  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 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
  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 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
  13. 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
  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 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
  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. 79
  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 ã 80
  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 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
  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. 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
  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 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
  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) 84
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2