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 5.1 L p, it NG : MƠ HÌNH I T +NG ng quan h – 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 p, i t ng m i quan h gi a chúng v i L p i t ng s& mơ hình hóa nh ng có h th ng mà mu n miêu t , 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 n gi n hóa vi c miêu t 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 h th ng ph n m m l p m i quan h c a chúng c chuy n thành dòng code c th 5.1.1 it ng (Object) M t i t ng m t s t ng tr ng cho m t th c th , ho c th c th t n t i 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 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 nhà b(ng, m t l i t hàng, nh ng thơng tin q 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 i t ng th c thi m t h th ng ph n m m) khơng th t s t n t i ngồi th gi i th c, nh ng k t qu d n xu!t t trình nghiên c u c!u trúc ng x c a i t ng th gi i th c Nh ng i t ng ó, dù b%ng cách hay cách khác, u liên quan n quan ni m c a v th gi i th c M t i t ng m t khái ni m, m t s tr u t ng hóa, ho c m t v t v i ranh gi i ý ngh+a c nh ngh+a rõ ràng cho m t ng d ng ó M.i i t ng m t h th ng u có ba c tính: tr ng thái, ng x s nh n di n 5.1.2 Tr ng thái, ng x nh#n di n c a it ng Tr ng thái (state) c a m t i t ng m t 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, c nh ngh+a qua m t t h p thu c tính, v i giá tr c a thu c tính c'ng nh m i quan h mà i t ng có th có v i i t ng khác Ví d m t danh sách ghi danh cho m t l p h#c h th ng tr ng h#c có th có hai tr ng thái: tr ng thái óng tr ng thái m N u danh sách sinh viên ghi danh cho l p h#c nh h n s t i a cho phép (ví d 10), tr ng thái c a b ng ghi danh m M t ã 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 tr c nh ng yêu c u t i t ng khác, tiêu bi u cho nh ng mà i t ng có th làm 5ng x c th c thi qua lo t 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 b sung thêm m t sinh viên hay xóa i tên c a m t sinh viên 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 nh!t – dù tr ng thái c a có th gi ng v i tr ng thái c a i t ng khác Ví d , khóa h#c i s 101 ch ng khóa h#c i s 101 ch ng 65 hai i t ng h th ng ghi danh tr ng h#c M c dù c hai khóa h#c v n có s nh n d ng nh!t c a u thu c lo i b ng ghi danh, m.i 5.1.3 L p (Class) M t l p m t l i miêu t c a m t nhóm i t ng có chung thu c tính, chung ph ng th c ( ng x ), chung m i quan h v i i t ng khác chung ng ngh+a (semantic) Nói nh th có ngh+a l p m t khuôn m u t o i t ng M.i i t ng m t th c th c a m t l p ó m t i t ng không th 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 h th ng phân lo i i t ng mà ã nh n d ng th gi i th c Ví d , m t l p M t l p t t s& n"m b"t m t ch* m t s tr u t ng hóa - ph i có m t ch v a có kh n(ng gi t!t c thông tin v m t sinh viên thông tin v t!t c nh ng l p h#c mà ng i sinh viên ó ã tr i qua nhi u n(m tr c không ph i m t l p t t, b i khơng có ch L p c n ph i c chia làm hai l p liên quan n nhau: l p sinh viên l p l ch s c a sinh viên Hình 5.1- M.i th c th mơ hình m t l p Khi t o d ng mơ hình c'ng nh th t s xây d ng h th ng doanh nghi p, h th ng thông tin, máy móc ho c l#ai h th ng khác, c n s d ng khái ni m c a ph m vi v!n n cho mơ hình d hi u d giao ti p h n N u 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 khái ni m c a ngành b o hi m N u xây d ng m t h th ng cho quân i, khái ni m c a th gi i quân s c n ph i c s d ng mơ hình hóa h th ng M t h th ng d a khái ni m c a m t ngành doanh nghi p ó có th d c thi t k l i cho phù h p v i nh ng qui ch , chi n l c qui nh m i, b i ch* c n cân b%ng kh"c ph c s chênh l ch gi a công vi c c' công vi c m i Khi mơ hình c xây d ng d a khái ni m l!y t cu c i th c d a khái ni m thu c ph m vi v!n , h ng i t ng s& 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 p, i t ng m i quan h gi a chúng M t l p l i miêu t cho m t d ng i t ng b!t k0 m t h th ng ó – 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 h th ng doanh th ng Các v t d ng (artifact) m t doanh nghi p, nh ng thông tin c n c l u tr , phân tích ho c vai trị mà m t tác nhân m nh n m t doanh nghi p th ng s& tr thành l p h th ng doanh nghi p h th ng thơng tin 66 Ví d v l p doanh nghi p h th ng thông tin: Khách hàng B n th Hóa ng thuy t n Món n Tài s n B n cơng b giá c phi u Các l p m t h th ng k, thu t th s d ng h th ng: ng bao g m it ng k, thu t, ví d nh máy móc c i di n cho th c th ph n m m m t h i u Sensor Màn hình I/O card ng c Nút b!m L p i u n Các h th ng ph n m m th hành: ng có l p 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 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 khái ni m l p m i quan h gi a chúng v i M c dù 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 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 m c ích c a bi u l p t o n n t ng cho bi u khác, th hi n 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 i t ng, c ch* bi u ng) M t l p m t bi u l p có th c th c thi tr c ti p 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* 67 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* th c th c a l p (bi u i t ng) it ng th t s Hình 5.2-Mơ hình l p UML Hình 5.3- M t l p c th v i thu c tính t o m t bi u l p, u tiên ta ph i nh n di n miêu t l p M t ã có m t s l l p, ta s& xét n quan h gi a l p ó v i ng 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 l p i tìm l p m t cơng vi c ịi h i trí sáng t o 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 thi t k mang tính vịng l p, nên danh sách l p s& thay i theo th i gian T p h p ban u c a l p tìm ch a ch"c ã t p h p cu i c a l p sau s& c th c thi bi n i thành code Vì th , th ng ng i ta hay s d ng n khái ni m l p ng c viên (Candidate c tìm cho h th ng Class) miêu t t p h p nh ng l p u tiên Nh ã nói ph n 2.10 (Th c hi n Tr ng h p s ch c n(ng c a h th ng, trách nhi m th c thi thu ó Nói m t cách khác, i tìm l p h ng ngo i ã c xác nh tr ng h p s d ng), tr ng h p s d ng nh ng l i miêu t c v i t ng c ng tác th c thi ch c n(ng ti n t i tìm gi i pháp cung c!p nh ng ng x d ng Có nhi u ph ng pháp khác 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 toán, ch* t!t c l p th c th (thu c ph m vi toán) v i m i quan h c a chúng v i Sau ó nhà phát tri n s& phân tích t ng tr ng h p s d ng phân b trách nhi m cho l p mơ hình phân tích (analysis model), nhi u s& thay i chúng ho c b sung thêm l p m i Có ph ng pháp ngh nên l!y tr ng h p s d ng làm n n t ng tìm l p, trình phân b trách nhi m mơ hình phân tích c a ph m vi 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 tốn tìm l p Q trình phân tích ph m vi tốn th ng c b"t u v i khái ni m then ch t (Key Abstraction), m t công c th ng c s d ng nh n di n l#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 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 L cl c coi s n ph$m c a m t nhà b(ng) ng nhân viên Ban qu n tr nhà b(ng Phịng máy tính nhà b(ng c g#i khái ni m then ch t cho nh ng mà nhà b(ng có th có Khái Nh ng th c th 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 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 nh ng ch c n(ng mà nhà b(ng ph i th c hi n, ví d trì m t tài kho n ho c chuy n ti n t tài kho n sang tài kho n khác Khái ni m then ch t th c th ta ý n u tiên Chúng r!t quan tr#ng giúp ta: nh ngh+a ranh gi i c a v!n Nh!n m nh n th c th có liên quan n thi t k c a h th ng Lo i b th c th n%m ph m vi h th ng Các khái ni m then ch t th ng s& tr thành l p mô hình phân tích M t khái ni m then ch t tóm l i m t l p hay i t ng thu c chuyên ngành c a ph m vi tố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, phòng ban,… M c ' tr4u t ng: Khi phân tích ph m vi toán, c n ý r%ng m c tr u t ng c a khái ni m then ch t r!t quan tr#ng, b i m c tr u t ng cao hay th!p u r!t d gây nh m l n M c tr u t ng cao d n t i nh ng nh ngh+a khái quát v m t th c th , t o nên m t nhìn v+ mơ th ng khơng nh"m vào m t m c tiêu c th Ví d m t nhà b(ng, ta không th ch#n khái ni m then ch t "ng i", b i s& d n n l i miêu t : "M t ng i n nhà b(ng g i ti n vào, s ti n ó c m t ng i khác ti p nh n." – m t yêu c u quan tr#ng ây ph i phân bi t gi a nhân viên v i khách hàng ch c n(ng c a h# khác h)n T ng t nh v y, m c tr u t ng th!p c'ng d gây hi u l m, b i nh ng thông tin v n v t ch a thích h p v i th i i m 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 Form Khơng có nhi u ch nên c ghi u ph i c c(n ph i a ch* c a khách hàng Form dành cho giai o n sau Vài i m c n ý v khái ni m then ch t: Nh ng th c th xu!t hi n u tiên óc não 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 theo cách nhìn c a v!n câu h i sau : Nh ng ch c n(ng có th c th c hi n i u n nh ng th c th lo i i v i th c th 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 ni m b) Nh n d"ng l p it c , có th h i ó t tên cho thích h p, miêu t úng ch c n(ng c a khái ng: N"m v ng khái ni m l p, có th t ng i d dàng tìm th!y l p i t ng ph m vi v!n M t nguyên t"c thô s th ng c áp d ng danh t4 l i phát bi u toán th ng ng c viên chuy n thành l p i t ng M t s g i ý th c t cho vi c tìm l p ph m vi v!n B c : u tiên c n ph i t p trung nghiên c u k,: Các danh t nh ng l i phát bi u toán Ki n th c chuyên ngành thu c ph m vi toán Các Tr ng h p s d ng Ví d 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 tài kho n ti n lãi Chúng có th l p ti m n(ng cho mơ hình nhà b(ng l/ Th hai, c n ý n nhóm v t th 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 hàng ng tác v i h th ng, ví d khách Các v t th h u hình: v t th v t lý mà ta có th nhìn s th!y Ví d nh công c giao thông, sách v , m t ng i, m t nhà,… Trong m t nhà b(ng ABC, ó có th t p sec, phi u ngh rút ti n, s ti t ki m, 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 a c m Trong m t nhà b(ng s áo h n m t tài kho n u t , hi n t ng rút nhi u ti n m t 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 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 m t chu.i t ng tác bao g m khách hàng, ng i bán hàng 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 khách hàng V trí (Location): M t v t ó ho c m t ng i ó c gán cho m t v trí ó 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 ln ng c a s c a n v t ch c (Organisation Unit): Ví d phịng ban, phịng tr ng bày s n ph$m, 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ý m t ph ng th c ó ch"c ch"n ó s& ng c viên cho l p Nh ng thơng tin có th m t khái ni m c ghi h th ng ho c s ki n, giao d ch x y t i m t th i i m c c n ph i th ó Ta có h th ng ngo i vi khơng? N u có, th ng chúng c'ng c quan tâm t i c coi l p ch a h th ng t o d ng mơ hình Các h th ng bên ngồi có th c a ho c t ng tác v i h th ng c a Chúng ta có m u, th vi n l p , thành ph n nh ng th khác khơng? N u có m u, th vi n, thành ph n t d án tr c (xin c c a b n ng nghi p, mua c t nhà cung c!p) chúng th ng c'ng s& ch a ng c viên l p Có thi t b ngo i vi mà h th ng c a c n x lý không? M.i thi t b k, thu t c n i v i h th ng c a th ng s& tr thành ng c viên cho l p x lý lo i thi t b ngo i vi 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 công vi c c th c hi n v i l p, c bi t mơ hình doanh nghi p c) T ng k!t v ngu$n thông tin cho vi c tìm l p: Nhìn chung, ngu n thơng tin c n c bi t ý tìm l p : 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 chuyên gia ng d ng Nghiên c u h th ng hi n th i 71 Lo t l p u tiên c nh n d ng qua ây th ng c g#i 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 l p ng c viên khác: Khi nghiên c u h th ng hi n th i, ý n danh t khái ni m then ch t nh n l p ng c viên Không nên a l p ã c nh n di n m t l n n a vào mơ hình ch* b i 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 m t khách hàng v i nhi u v trí khác nhi u khách hàng khác C n ý phân tích nh ng l i miêu t nh th tránh d n n s trùng l p q 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 ý t i thi t k l p ch* 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 ngu n thơng tin k Hình 5.4 - Ngu n thơng tin h tr tìm l p Các tr ng h p s d ng ngu n t t nh!t cho vi c nh n di n l p i t ng C n nghiên c u k, Tr ng h p s d ng tìm 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) i u 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 l p/ i t ng Input Output c a h th ng N u Input bao g m tên khách hàng ây 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 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 khái ni m then ch t Th ng ng i s d ng miêu t h th ng theo l i c n ph i a vào nh ng mong ch k t qu Thơng tin a vào k t c t p h p l i v i nh n d ng khái ni m then qu theo l i miêu t c a ng i s d ng c n ph i ch t 5.2.2 Các l p ng c viên Theo b c k ph n u giai o n phân tích, ta ã miêu t c m t s l p khác Nh ng l p c g#i l p ng c viên, chúng th hi n nh ng l p có kh n(ng t n t i m t h th ng cho tr c M c dù v y, ây v n có th ch a ph i k t qu chung cu c, m t s l p ng c viên có th s& b lo i b b c sau khơng thích h p Giai o n u nh ngh+a l p ng c viên, ta ch a nên c g"ng l#c l p, t p trung cáo m c tiêu nghiên c u bao quát tồn di n t nhi u ngu n thơng tin khác khơng b sót nhi u khía c nh c n x lý Ví d nhà m t b(ng l/, l p ng c viên có th là: 72 Khách hàng Các lo i tài kho n khác 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$ 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 m t th c th , nên gi l i l p t t nh!t lo i b nh ng l p khác Ví d , m t nhà b(ng có hai l p ch tài kho n khách hàng C hai l p bi u hi n m t th c th th ch* c n gi l i m t L p khơng thích h p: L p nh ngh+a 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 máy m ti n bên casse m t nhà b(ng có th 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 p không rõ ràng L p t n t i có giá tr s d ng m t h th ng l p có m t ch c n(ng ã c nh n di n 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 m t nhà b(ng ABC M t nh ng b ph n ã c nh n di n có th b ph n hành Vì ph m vi cho q 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 nên l p có th c coi m t l p khơng rõ ràng (vì khơng có ch c n(ng rõ ràng h th ng c n xây d ng tr c m"t) T ng t , nh ng thu c tính ph ng th c không rõ ràng c n ph i c lo i kh i danh sách l p ng c viên Chúng không c n ph i b xoá h)n, nh ng c n c a c nh n di n Các ng x ó sau ngồi ta có th nhìn rõ l p c n thi t ã có th c gán cho l p thích h p h n Các l p ch* vai trò (Role) i v i m t l p khác: Hãy lo i b t!t c vai trị gi l i l p Ví d nhà qu n tr , nhân viên thu ngân, ng i ch y gi!y r!t có th ch* vai trò c a l p nhân viên Hãy gi l i l p nhân viên lo i b t!t c nh ng l p khác ch* 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 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 mà ch* nh ngh+a m t t p h p 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 khách hàng quan tr#ng hay khách hàng bình th ng tùy theo m i quan h mà có v i nhà b(ng 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 kh i mơ hình phân tích Chúng s& c dùng t i 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* m t hàm ch không ph i m t l p Ví d "rút ti n" khơng c n ph i c coi m t l p, có th ch c n(ng c a m t l p L p ch* có m t hàm ho c ch* s miêu t vi c th c hi n m t ch c n(ng ó có th n gi n ch* m t hàm, ho c q trình tr u t ng hóa d li u (data abstraction) ây c th c hi n y ch a L p khơng có hàm m t thi u sót mơ hình V!n c suy ngh+ th!u áo th c) c a l p ch a 5.3 L p it hàm thành ph n (ph ng ng UML UML th hi n l p b%ng hình ch nh t có ph n Ph n th nh!t ch a tên l p Trong ph n th hai thu c tính d li u thành ph n c a l p ph n th ba ph ng th c hay hàm thành ph n c a l p 5.3.1 Tên l p (class name) c in m (bold) c(n gi a Tên l p ph i c d n xu!t t ph m vi v!n Tên l p có th Vì th danh t , ví d nh tài kho n, nhân viên, rõ ràng nh 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 nh ng d ng c a ph n ngôn ng l p trình h tr nh Integer, Boolean, Floats, Char, … d li u n gi n 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 l p khác, khác v i l p nh ngh+a N u thu c tính có tính trơng th!y cơng c ng (public), có th c nhìn th!y s d ng ngồi l p ó N u thu c tính có tính trơng th!y riêng (private), b n s& khơng th truy c p t bên ngồi l p ó M t tính trơng th!y khác b o v (protected), c s d ng chung v i cơng c khái qt hóa chun bi t hóa Nó c'ng gi ng nh thu c tính riêng nh ng c th z k b i l p d n xu!t Trong UML, thu c tính cơng c ng mang kí hi u "+" thu c tính riêng mang d!u "-" Giá tr c gán cho thu c tính có th m t cách miêu t tr ng thái c a i t ng M.i l n giá tr thay i bi u hi n cho th!y có th ã x y m t s thay i tr ng thái c a i t ng 74 ATM g i s ti n c n rút n cho tài kho n i t ng tài kho n tr s ti n ó vào m c ti n tài kho n T i th i i m này, th!y có m t m'i tên quay tr l i ch* vào i t ng tài kho n Ý ngh+a c a i t ng tài kho n x lý yêu c u n i b i t ng không g i s ki n ó ngồi it ng tài kho n tr v m c ti n m i tài kho n cho máy ATM i t ng ATM tr v m c ti n m i tài kho n cho khách hàng d+ nhiên, c ng ti n khách hàng ã yêu c u c rút l i t ng tài kho n ch* b"t u c sinh i t ng ATM c n t i ki m tra mã s i t ng tài kho n ti p t c s ng cho t i giao d ch c hoàn t!t Sau ó, ch t i B i khách hàng có th mu n ti p t c th c hi n giao d ch khác nên i t ng khách hàng i t ng máy ATM v n ti p t c t n t i, i u c ch* qua vi c ng i i t ng c kéo v t ng th)ng th hi n s ki n cu i chu.i t ng tác Lo i t ng tác r!t h u d ng m t h th ng có m t s l ng nh i t ng v i m t s l ng l n s ki n x y gi a chúng M c dù v y, s l ng i t ng m t h th ng t(ng lên mơ hình s& khơng cịn m!y thích h p có th v& bi u gi a chúng Khi v& bi u tu n t , u tiên xác nh it ng liên quan th hi n s ki n x y tu n t , c n ý: S ki n it c bi u di n b%ng ng b%ng ng th)ng n%m ngang ng n%m d#c Th i gian c th hi n b%ng có ngh+a s ki n c n ph i xu ng d i ng th)ng n%m d#c b"t u t bi u i u ó c th hi n theo úng th t mà chúng x y ra, v& t 6.6 Bi u $ c'ng tác (Collaboration Diagram) M t bi u c ng tác miêu t t ng tác gi a i t ng c'ng gi ng nh bi u tu n t , nh ng t p trung tr c h t vào s ki n, t c t p trung ch y u vào s t ng tác gi a i t ng Trong m t bi u c ng tác, i t ng c bi u di n b%ng kí hi u l p Th t bi u c ng tác c th hi n b%ng cách ánh s thông i p K, thu t ánh s c coi h i có ph n khó hi u h n so v i k, thu t m'i tên s d ng bi u tu n t Nh ng u i m c a bi u c ng tác có th ch* chi ti t v l nh g#i hàm (th t c), y u t c né tránh bi u tu n t Bi u sau ây m t ví d cho m t bi u c ng tác, c chu$n b c'ng cho m t c nh k ch rút ti n m t nh bi u tu n t c a ph n tr c Hãy quan sát th t s bi u u tiên th t c WithdrawalReq() c g#i t l p khách hàng ó l nh g#i s B c ti p theo tu n t hàm AskForPin(), s 1.1, c g#i t l p ATM Thông i p bi u c vi t d i d ng pin:= AskForPin(), th hi n r%ng "giá tr tr v " c a hàm mã s mà l p khách hàng s& cung c!p 108 Hình cung bên l p tài kho n bi u th r%ng hàm ComputeNetBalance() c g#i n i b l p tài kho n x lý c c b Th ng s& m t th t c riêng (private) c a l p Hình 6.5- M t bi u c ng tác c a kích c nh rút ti n máy ATM 6.7 Bi u $ tr"ng thái (State Diagram) Bi u tr ng thái n"m b"t vòng i c a i t ng, h th ng (Subsystem) h th ng Chúng cho ta bi t tr ng thái mà m t i t ng có th có s ki n (các thông i p nh n c, kho ng th i gian ã qua i, l.i x y ra, i u ki n c th a mãn) s& nh h ng n nh ng tr ng thái ó nh th d#c theo ti n trình th i gian Bi u tr ng thái có th ính kèm v i t!t c c nh n di n rõ ràng có l i ng x ph c t p Bi u tr ng thái xác nh l p có nh ng tr ng thái ng x miêu t s& khác bi t ph thu c vào tr ng thái, c'ng cịn miêu t rõ nh ng s ki n s& thay i tr ng thái c a i t ng c a m t l p 6.7.1 Tr ng thái s bi n i tr ng thái (State transition) T!t c i t ng u có tr ng thái; tr ng thái m t k t qu c a ho t ng tr c ó ã c i t ng th c hi n th ng c xác nh qua giá tr c a thu c tính c'ng nh n i k t c a i t ng v i i t ng khác M t l p có th có m t thu c tính c bi t xác nh tr ng thái, ho c tr ng thái c'ng có th c xác nh qua giá tr c a thu c tính “bình th ng" i t ng Ví d v tr ng thái c a i t ng: Hóa n( it ng) ã Chi c xe ô tô ( i t ng c ( i t Jen ( i t c tr ti n (tr ng thái) ng) ang ng yên (tr ng thái) ng) ang ch y (tr ng thái) ng) ang óng vai trị ng i bán hàng (tr ng thái) 109 Kate ( i t ng) ã l!y ch ng (tr ng thái) c g#i s ki n; ví d có M t i t ng s& thay i tr ng thái có m t vi c ó x y ra, th ó tr ti n cho hóa n, b t ng c xe ô tô l!y ch ng l!y v Khía c nh ng có hai chi u khơng gian: t ng tác s bi n i tr ng thái n i b T ng tác miêu t l i ng x i ngo i c a i t ng ch* i t ng s& t ng tác v i i t ng khác (qua vi c g i thông i p, n i k t ho c ch!m d t n i k t) S bi n i tr ng thái n i b miêu t m t i t ng s& thay i tr ng thái – ví d giá tr thu c tính n i b c a s& thay i nh th Bi u tr ng thái c s d ng miêu t vi c b n thân i t ng ph n ng tr c s ki n chúng thay i tr ng thái n i b c a chúng nh th nào, ví d , m t hóa n s& chuy n t tr ng thái ch a tr ti n sang tr ng thái ã tr ti n có ó tr ti n cho Khi m t hóa n c t o ra, u tiên b c vào tr ng thái ch a c tr ti n 6.7.2 Bi u tr ng thái Bi u tr ng thái th hi n nh ng khía c nh mà ta quan tâm t i xem xét tr ng thái c a m t t ng: Tr ng thái ban M t s tr ng thái i u gi a M t ho c nhi u tr ng thái k t thúc S bi n i gi a tr ng thái Nh ng s ki n gây nên s bi n i t m t tr ng thái sang tr ng thái khác Hình sau s& ch* kí hi u UML th hi n tr ng thái b"t tr ng thái c a m t i t ng Hình 6.6- Các ký hi u UML th hi n b"t Hình 6.7- Bi u M t tr ng thái có th có ba thành ph n, nh u tr ng thái k t thúc, s ki n c'ng nh u, k t thúc, s ki n tr ng thái c a m t tr ng thái th c hi n hoá it ng n c ch* hình sau : 110 Hình 6.8- Các ng(n Tên, Bi n tr ng thái hành ng Ph n th nh!t ch* tên c a tr ng thái, ví d nh ch , ã c tr ti n hay ang chuy n ng Ph n th hai (không b"t bu c) dành cho bi n tr ng thái ây nh ng thu c tính c a l p c th hi n qua bi u tr ng thái; nhi u bi n t m th i c'ng t r!t h u d ng tr ng thái, ví d nh lo i bi n m (counter) Ph n th ba (không b"t bu c) ph n dành cho ho t ng, n i s ki n hành ng có th c li t kê Có ba lo i s ki n chu$n hóa có th c s d ng cho ph n hành ng: entry ( i vào), exit ( i ra), (th c hi n) Lo i s ki n i vào c s d ng xác nh hành ng kh i nh p tr ng thái, ví d gán giá tr cho m t thu c tính ho c g i i m t thông i p S ki n i có th c s d ng xác nh hành ng r i b tr ng thái S ki n th c hi n cs d ng xác nh hành ng c n ph i c th c hi n tr ng thái, ví d nh g i m t thơng i p, ch , hay tính tốn Ba lo i s ki n chu$n không th c s d ng cho m c ích khác M t s bi n i tr ng thái th ng có m t s ki n i kèm v i nó, nh ng khơng b"t bu c N u có m t s ki n i kèm, s thay i tr ng thái s& c th c hi n s ki n x y M t hành ng lo i th c hi n tr ng thái có th m t q trình ang ti p di n (ví d ch , i u n th t c, ) ph i c th c hi n i t ng v n nguyên tr ng thái M t hành ng th c hi n có th b ng"t b i s ki n t ngồi, có ngh+a m t s ki n ki n gây nên m t s bi n i tr ng thái có th ng ng ng"t m t hành ng th c hi n mang tính n i b ang ti p di n Trong tr ng h p m t s bi ng n i b tr ng thái hành ng ng i s c th c hi n xong, m t s Hình 6.9- Bi n n i tr ng thái khơng có s ki n i kèm tr ng thái s& thay i hành ã c th c hi n xong (hành ng n i b ki u i vào, i ra, th c hi n hay d ng nh ngh+a) Theo ó, t!t c hành ng thu c tr ng thái ã thay i tr ng thái s& t ng x y mà khơng c n s ki n t ngồi i tr ng thái khơng có s ki n t ngồi S thay i tr ng thái x y ho t ng m.i tr ng thái c th c hi n xong 6.7.3 Nh#n bi t tr ng thái s ki n Quá trình phát hi n s ki n tr ng thái v m t b n ch!t bao g m vi c h i m t s câu h i thích h p: M t i t ng có th có nh ng tr ng thái nào?: Hãy li t kê t!t c nh ng tr ng thái mà m t i t ng có th có vịng i c a 111 Nh ng s ki n có th x y ra?: B i s ki n gây vi c thay s ki n m t b c quan tr#ng nh n di n tr ng thái Tr ng thái m i s& gì?: Sau nh n di n s ki n, xác x y tr ng thái sau s ki n x y Có nh ng th t c s& thái c a m t i t ng c th c thi?: Hãy ý Chu.i t ng tác gi a i t ng gì?: T nh h ng n tr ng thái c a i t ng i tr ng thái nên nh n nh tr ng thái s ki n n th t c nh h ng tác gi a it ng n tr ng ng c'ng có th Qui nh s& c áp d ng cho ph n ng c a i t ng v i nhau?: Các qui nh ki m t a ph n ng i v i m t s ki n s& xác nh rõ h n tr ng thái Nh ng s ki n s chuy n t i không th x y ra?: Nhi u có m t s s ki n ho c s thay i tr ng thái không th x y Ví d nh bán m t chi c tơ ã c bán r i Cái n cho m t i t ng c t o ra?: i t ng c t o s ki n Ví d nh m t sinh viên ghi danh cho m t khóa h#c tr l i cho m t Cái n cho m t i t ng b h y?: i t ng s& b h y i chúng không c n t i n a Ví d m t sinh viên k t thúc m t khóa h#c c Cái n cho i t ng c n ph i c tái phân lo i (reclassfied)?: Nh ng lo i s c t(ng ch c thành nhà qu n tr s& n cho ng tác tái ki n nh m t nhân viên phân lo i c a nhân viên ó c th c hi n 6.7.4 M t s l i mách b o cho vi c t o d ng bi u Chuy n bi u Xác tu n t thành bi u tr ng thái tr ng thái nh vòng l p (loop) B sung thêm i u ki n biên i u ki n Tr n l n c nh k ch khác vào bi u c bi t tr ng thái M t mơ hình ã c t o nên, nêu câu h i ki m tra xem mơ hình có kh n(ng cung c!p t!t c câu tr l i Qui trình sau ây c n ph i c nh"c l i cho m.i i t ng a) Chuy n bi u $ tu n t* thành bi u $ tr"ng thái c miêu t bi u , chu.i ph i mang Hãy dõi theo m t chu.i s ki n tính tiêu bi u cho t ng tác h th ng Hãy quan sát s ki n nh h ng n i t ng mà ta ang nghiên c u Hãy s"p x p s ki n thành m t ng d n, dán nhãn input (ho c entry) output (exit) cho s ki n Kho ng cách gi a hai s ki n s& m t tr ng thái N u c nh k ch có th c nh"c i nh"c l i r!t nhi u l n (vô gi i h n), n i d n t tr ng thái cu i n tr ng thái u tiên ng 112 Bi u sau ây ch* bi u tr ng thái c a m t l p máy ATM, ho c bi u c ng tác ã c trình bày ph n tr c Hình 6.10- Chuy n m t bi u tu n t sang bi u c chi t su!t t bi u tu n t tr ng thái b) Nh n vòng l-p (loop) M t chu.i s ki n có th c nh"c i nh"c l i vơ s l n Hình 6.11- Bi u c g#i vòng l p (loop) l p Chú ý: Trong m t vòng l p, chu.i s ki n c nh"c i nh"c l i c n ph i ng nh!t v i N u có m t chu.i s ki n khác chu.i khác tr ng h p ó khơng có vịng l p Lý t ng nh!t m t tr ng thái vòng l p s& có s ki n k t thúc quan tr#ng, n u khơng vịng l p s& không bao gi k t thúc ây y u t c) B sung thêm i u ki n biên i u ki n -c bi t Sau ã hoàn t!t bi u tr ng thái cho m#i i t ng c n thi t h th ng, ã n lúc c n ki m tra, i ch ng chúng v i i u ki n biên i u ki n c bi t khác, nh ng i u ki n r!t có th ã ch a c quan tâm th i gian t o d ng bi u tr ng thái i u ki n biên nh ng i u ki n thao tác giá tr , ây nh ng giá tr n%m bên ranh gi i c a m t i u ki n quy t nh v tr ng thái c a i t ng, ví d nh quy nh v k0 h n c a m t tài kho n 30 ngày ngày th 31 113 i v i tài kho n s& m t i u ki n biên Các i u ki n c bi t nh ng i u ki n ngo i l , ví d ngày th 30 c a tháng n(m 2000 (n u có m t i u ki n th t s nh v y t n t i i th c) d) Tr'n l n c nh k1ch khác vào bi u $ tr"ng thái M t bi u tr ng thái cho m t i t ng ã s2n sàng, c n ph i tr n nh ng chu.i s ki n có nh h ng n i t ng vào bi u tr ng thái i u có ngh+a c n ph i quan sát hi u ng gián ti p c a s ki n khác i v i i t ng ang ch c a bi u tr ng thái ây vi c quan tr#ng, b i i t ng m t h th ng t ng tác v i i t ng khác c'ng có kh n(ng gây nên s ki n cho m t i t ng nh tr c, nên l i ng x c'ng c n ph i c th hi n bi u tr ng thái i m b"t u cho công vi c là: 7n nh m t i m b"t u chung cho t!t c chu.i s ki n b sung Xác nh i m n i ng x b"t hóa bi u tr ng thái u khác bi t v i nh ng ng x ã c mơ hình ng d n thay th C n B sung thêm s bi n i m i t tr ng thái này, t cách m t n nh ng ng d n có v/ ngồi ng nh!t nh ng th t có khác bi t m t tình hu ng nh!t ó Hãy ý n ng i s d ng gây quy n i u n t i m t th i i m ti m t tài kho n u t ý nh s ki n x y nh ng tình hu ng b!t ti n M.i s ki n khách hàng hay nên u có th sa vào tr ng thái c a s ki n b!t ti n H th ng không n"m i v i ng i s d ng ng i s d ng có th quy t nh làm n y m t s ki n n l i i v i Ví d nh khách hàng có th quy t nh k t thúc tr c k0 h n M t tr ng h p khác c'ng c n ph i c x lý s ki n ng i s d ng gây nên khơng th x y Có m t lo t lý (ng i s d ng thi u t p trung, bu n n n, l ãng ) n cho s ki n lo i c x lý th!u áo Ví d m t khách hàng th!t b i không x y C tr ng h p c'ng ph i vi c báo cho nhà b(ng bi t nh ng m nh l nh c a v k0 h n c a tài kho n, m t t!m séc c vi t nh ng l i khơng có kh n(ng gi i t a m c ti n c n thi t Nhìn theo ph ng di n bi u nh ng i m sau: tr ng thái nh m t thành ph n c a mơ hình Bi u tr ng thái ch* c n quan tr#ng c t o d ng nên cho l p it Hãy th$m tra bi u tr ng thái theo khía c nh tính nh!t quán dùng chung cho tồn b mơ hình ng c úng "n Dùng tr Khi ng h p s d ng ng có ng x ý ng i v i nh ng s ki n h tr cho trình t o d ng bi u nh ngh+a m t tr ng thái, ch* ng, c n ý tr ng thái n nh ng thu c tính liên quan 6.8 Bi u $ ho"t 'ng (Activity Diagram) Bi u vi c ho t ng n"m b"t hành ng k t qu c a chúng Bi u ho t ng t p trung vào công c th c hi n th c thi m t th t c (hàm), ho t ng m t l n th c thi m t 114 tr ng h p s d ng ho c m t i t ng Bi u ho t ng m t bi n th c a bi u tr ng thái có m t m c tiêu t ng i khác, ó n"m b"t hành ng (cơng vi c nh ng ho t ng ph i c th c hi n) c'ng nh k t qu c a chúng theo s bi n i tr ng thái Các tr ng thái bi u ho t ng ( c g#i tr ng thái hành ng) s& chuy n sang giai o n k ti p hành ng tr ng thái ã c th c hi n xong (mà không xác nh b!t k0 m t s ki n theo nh n i dung c a bi u tr ng thái) M t s i m phân bi t khác gi a bi u ho t ng bi u tr ng thái hành ng c a c nh v lu ng (swimlane) M t lu ng s& gom nhóm ho t ng, ý t i khái ni m ng i ch u trách nhi m cho chúng ho c chúng n%m âu m t t ch c M t bi u ho t ng m t ph ng pháp b sung cho vi c miêu t t ng tác, i kèm v i trách nhi m th hi n rõ hành ng x y nh th nào, chúng làm (thay i tr ng thái i t ng), chúng x y (chu.i hành ng), chúng x y âu (lu ng hành ng) Bi u ho t ng có th c s d ng cho nhi u m c ích khác nhau, ví d nh : n"m b"t công vi c (hành ng) s& ph i c th c thi m t th t c c th c hi n ây tác d ng th ng g p nh!t quan tr#ng nh!t c a bi u ho t ng n"m b"t công vi c n i b m t h it ng ch* m t nhóm hành ng liên quan có th c th c thi sao, chúng s& nh ng n nh ng i t ng n%m xung quanh chúng nh th ch* m t tr ng h p s d ng có th hành ng s bi n i tr ng thái c a c th c th hóa nh th nào, theo khái ni m i t ng ch* m t doanh nghi p ho t ng nh th theo khái ni m cơng nhân (tác nhân), qui trình nghi p v (workflow), ho c t ch c i t ng (các khía c nh v t lý c'ng nh tri th c c s d ng doanh nghi p) Bi u ho t ng có th c coi m t lo i Flow chart i m khác bi t Flow Chart bình th ng ch* c áp d ng i v i qui trình tu n t , bi u ho t ng có th x lý c các qui trình song song Hành 'ng s* thay i tr"ng thái c th c hi n s n sinh m t k t qu Vi c th c thi c a th t c có th c M t hành ng miêu t d i d ng m t t p h p c a hành ng liên quan, sau chúng s& c chuy n thành dòng code th t s Theo nh nh ngh+a ph n tr c, m t bi u ho t ng ch* hành ng m i quan h gi a chúng có th có m t i m b"t u m t i m k t thúc Bi u ho t ng s d ng c'ng nh ng ký hi u nh bi u tr ng thái bình th ng 115 Hình 6.12- Khi m t ng i g#i tác v PrintAllCustomer (trong l p CustomerWindow), hành ng kh i ng hành ng u tiên hi n m t h p thông báo lên hình; hành ng th hai t o m t t p tin postscript; hành ng th ba g i file postscript n máy in; hành ng th t xóa h p thơng báo hình Các hành ng c chuy n ti p t ng; chúng x y hành ng giai o n ngu n c th c hi n Các s thay i có th c b o v b i i u ki n canh gi (Guard-condition), i u ki n ph i c th a mãn s thay i m i n M t ký hi u hình thoi c s d ng th hi n m t quy t nh Ký hi u quy t nh có th có m t ho c nhi u s thay i i vào m t ho c nhi u s thay i i c dán nhãn i kèm i u ki n b o v Bình th ng ra, m t c th a mãn (là úng) M t s thay i c chia s s thay i i bao gi c'ng thành hai hay nhi u s thay i khác s& d n n hành ng x y song song Các hành ng c th c hi n ng th i, m c dù chúng c'ng có th c th c hi n l n l t t ng m t Y u t quan tr#ng ây t!t c thay i ng th i ph i c th c hi n tr c chúng c th ng nh!t l i v i (n u có) M t ng th)ng n%m ngang k/ m (còn c g#i c chia thành nhi u ng h hóa – Synchronisation Bar) ch* r%ng m t s thay i nhánh khác ch* m t s chia s/ thành hành ng song song C'ng ng th)ng ó c s d ng ch* s th ng nh!t nhánh Kí hi u UML cho thành ph n c n b n c a bi u $ ho"t 'ng: Ho t ng (Activity): m t qui trình c m t hàm ho c m t nhóm i t ng Ho t tròn c nh nh ngh+a rõ ràng, có th c th c thi qua ng c th hi n b%ng hình ch nh t bo Thanh ng b hóa (Synchronisation bar): chúng cho phép ta m ho c óng l i nhánh ch y song song n i b ti n trình Hình 6.13- Thanh ng b hóa 116 i u ki n canh gi (Guard Condition): bi u th c logic có giá tr ho c úng ho c sai i u ki n canh gi c th hi n ngo c vng, ví d : [Customer existing] i m quy t nh (Decision Point): hi u hình thoi Hình sau ây miêu t m t o n bi u ho t máy, ta th!y có ba ho t ng song song: c s d ng ch* s thay ng c a máy ATM Sau th/ i kh thi Kí c a vào Xác nh n th/ Xác nh n mã s PIN Xác nh n s ti n yêu c u c rút Ch* s d ng bi u ho t ng, ho t ng song song nh v y m i có th M.i m t ho t ng xác nh n b n thân c'ng ã có th m t trình riêng bi t Hình 6.14- Bi u 6.9 Vòng /i it ho t c miêu t ng c a máy ATM ng (Object Lifecycle) Vòng i mà m t i t ng i qua ph thu c vào lo i v i m t i t ng: vòng i sinh r i ch t i; vịng i t ng Có hai lo i vòng i vòng l p i khác i 117 6.9.1 Vòng i sinh ch t i Trong m t vòng i sinh r i ch t i: S& có m t hay nhi u tr ng thái n i g#i tr ng thái t o i t ng it ng b"t u t n t i Nh ng tr ng thái S& có m t hay nhi u tr ng thái óng t cách i m k t thúc cho vòng t ng Nh ng tr ng thái c g#i tr ng thái k t thúc ic am t c i Có hai lo i tr ng thái k t thúc M t d ng tr ng thái k t thúc lo i n i i t ng b h y không ti p t c t n t i n a Lo i th hai d ng tr ng thái k t thúc mà sau ó i t ng s& c l u tr l i ho c chuy n sang tr ng thái im l ng i t ng ti p t c t n t i nh ng không ti p t c th hi n ng x ng Sau tr ng thái kh i t o tr c tr ng thái k t thúc, i t ng có th i qua m t ho c nhi u tr ng thái trung gian T i m.i m t th i i m, i t ng ph i m t tr ng thái hi n th i Khơng có m t i m sau tr ng thái kh i t o tr tr ng thái Ví d cho it 6.9.2 Vịng Khác v i tr ng có vịng c tr ng thái k t thúc mà it ng l i khơng có i sinh ch t i: khách hàng, tài kho n il p ng h p sinh ch t i, vòng it ng i vịng l p: c coi ã ln ln t n t i ây s& mãi ti p t c t n t i Khơng có tr ng thái kh i t o c'ng khơng có tr ng thái k t thúc M c dù th t i t ng ã c t o t i m t th i i m ó c'ng s& th t s b h y di t t i m t c coi luôn t n t i có m t Th ng nh ng i t ng t th i i m ó, nh ng v n có m t vòng i vòng l p s& c t o t i th i i m cài t h th ng s& ch t i h th ng k t thúc M t i t ng v i vịng i vịng l p s& có m t ho c nhi u tr ng thái "ng yên" ó nh ng tr ng thái n i i t ng n%m ch m t s ki n x y Bên c nh ó, i t ng c'ng ln ln tr ng thái hi n th i Ví d cho it ng có vịng i l p l i: máy rút ti n t ng (ATM), nhân viên thu ngân 6.10 Xem xét l"i mơ hình 'ng 6.10.1 Th'm v n bi u tr ng thái Sau ã hoàn t!t thành ph n c(n b n c a mơ hình ng nh bi u tu n t , bi u c ng tác, bi u tr ng thái bi u ho t ng, nhóm phát tri n có th phác th o bi u thành ph n bi u tri n khai Bi u tri n khai có th c coi bi u cu i mơ hình ng T i th i i m này, có th coi ta ã hoàn t!t m t phiên b n c a mơ hình ng 118 Ph n quan tr#ng nh!t mơ hình bi u tr ng thái Hãy tìm câu tr l i cho m t lo t câu h i xác nh xem bi u tr ng thái ã úng "n có m t m c chi ti t thích h p hay ch a Công vi c c n nh"m t i hai m c ích: Ki m tra tính tr#n v-n c a mơ hình m b o m#i i u ki n gây l.i ã c x lý Trong giai o n này, có th s& có c nh k ch (scenario) m i xu!t hi n gia nh p ph m vi quan sát c a chúng ta, n u tr c ó có m t s tr ng thái ch a c x lý Nh ng tình hu ng lo i lo i v!n có th c gi i quy t, song có th né tránh qua vi c xác nh th t y s ki n tr ng thái 6.10.2 Ph i h p s ki n B c cu i m t vòng ki m tra b sung nh%m m b o tính úng "n c a mơ hình ng: Ki m tra m b o m.i thông i p u có i t ng g i i t ng nh n Trong m t s tr ng h p, s li u xác c a nh ng i t ng nh n s ki n có th không c bi t t i, nh ng ph i m b o r%ng bi t nh ng l p s& x lý nh ng s ki n Hãy nghiên c u mô hình theo khía c nh tr ng thái, tìm nh ng tr ng thái khơng có tr ng thái d n tr c khơng có tr ng thái ti p theo Nh ng tr ng thái thái r!t có th tr ng thái kh i u ho c tr ng thái k t thúc M c dù v y, n u tr ng thái ó khơng thu c v m t hai lo i tr ng thái kia, r!t có th ây m t tri u ch ng cho th!y mơ hình cịn thi u i u ó Nhìn chung, t!t c tr ng thái th sau ng u có tr ng thái d n tr c tr ng thái ti p Hãy l n theo h ng c a s ki n i vào (entry) m b o chúng t ng thích v i tr ng h p s d ng n i chúng xu!t phát làm i u này, l n theo m t s ki n t m t i t ng n i t ng khác, ki m tra xem m.i s ki n có phù h p v i tr ng h p s d ng hay không Trong tr ng h p có mâu thu n, s a l i bi u m b o s nh!t quán tr ng thái ho c tr ng h p s d ng Ki m tra l i nh ng l.i 6.10.3 Bao gi s d ng bi u ng b , có th chúng k t qu c a m t s ki n không ch i Không c n ph i v& t!t c lo i bi u ng cho t!t c lo i h th ng M c dù v y, m t s tr ng h p khác nh!t thi t ph i c n n m t s lo i bi u ng nh!t nh Sau ây m t vài l i mách b o có th giúp gi i thích m t vài i u cịn ch a thơng t v vi c s d ng lo i bi u ng Bi u tu n t bi u c ng tác c v& mu n xem xét ng x ng c a nhi u i t ng/ l p n i b m t c nh k ch c a m t tr ng h p s d ng Bi u tu n t bi u c ng tác r!t h u d ng vi c ch* s c ng tác gi a i t ng, nh ng chúng l i không h u d ng mu n miêu t ng x xác c a m t i t ng Bi u tr ng thái c s d ng th hi n ng x xác c a m t it ng 119 Bi u ho t ng c s d ng th hi n l i ng x xuyên su t nhi u tr ti u trình x y song song c a m t l n th c thi Bi u thành ph n bi u tri n khai thành ph n ph n c ng h th ng 6.10.4 L p bi u c s d ng ng h p s d ng ho c ch* m i quan h v t lý gi a ph n m m tr ng thái T!t c l p u th a k c thu c tính c'ng nh th t c c a l p cha Vì v y, m t l p c'ng s& th a k c mơ hình ng c a l p cha Ngồi bi u tr ng thái thái c a m t l p cha s& c th a k , l p c'ng có bi u tr ng thái riêng c a Bi u c m r ng bao ch a l i ng x chuyên bi t c a l p tr ng Bi u tr ng thái c a l p bi u tr ng thái c a l p cha ph i c b o trì riêng bi t c l p Bi u tr ng thái c a l p c n ph i c nh ngh+a s d ng thu c tính c a l p ch khơng ph i ch* b%ng thu c tính c a l p cha M t khác, v n có m t s móc n i ngồi ý mu n c a l p cha n v i l p thơng qua thu c tính mà chúng s d ng chung, ví d ch* nên xem xét bi u tr ng thái cho tài kho n có k0 h n theo ph ng di n s thay i c a thu c tính c a chúng, ch khơng ph i thu c tính c a l p cha Ta ph i th c hi n nh v y né tránh tr ng h p tr n l n thu c tính c a l p l p cha Vi c tuân th quy t"c k q trình v& bi u mơ un cho ng tác m r ng c a b n 6.11 Ph i h p mơ hình it tr ng thái cho m t l p s& m b o tính ng mơ hình 'ng Khi k t h p gi a mơ hình i t ng mơ hình ng, m.i s ki n mơ hình ng c n ph i t ng thích v i m t th t c mơ hình i t ng T ó suy ra, m.i s thay i v m t tr ng thái mơ hình ng c n ph i phù h p v i m t th t c c a i t ng Hành ng ph thu c vào tr ng thái c a i t ng vào s ki n M i quan h gi a mơ hình Mơ hình it it ng mơ hình ng có th ng c c!u (framework) cho mơ hình Mơ hình ng xác nh chu.i thay mơ hình i t ng Mơ hình ng b h n ch ch* nh ng c'ng nh c!u trúc c a chúng t c miêu t nh sau: i ng c phép x y it i v i it ng ng có m t mơ hình it ng Khơng th có m t mơ hình ng cho m t i t ng khơng t n t i mơ hình ng Có m t m i quan h 1-1 gi a mơ hình i t ng mơ hình ng Mơ hình ng mơ hình it i ng c ng thêm v i ph n ng x "s ng" Mơ hình i t ng miêu t s khác bi t gi a i t ng nh s khác bi t gi a l p Khi m t i t ng ng x khác m t i t ng khác m.i i t ng s ó s& có m t l p riêng 120 M c dù v y, mơ hình ng, s khác bi t ng x thành tr ng thái khác c a m t l p ng s& c mơ hình hóa 6.12 Tóm t)t v mơ hình 'ng T!t c h th ng u có c!u trúc t+nh có ng x ng C!u trúc có th c miêu t qua ph n t mơ hình t+nh, ví d nh l p, quan h gi a l p, nút m ng thành ph n Khái ni m ng x miêu t ph n t mơ hình n i b c!u trúc s& t ng tác v i d#c theo ti n trình th i gian ó th ng nh ng t ng tác c xác nh tr c có th c mơ hình hóa Mơ hình hóa ng x ng c a m t h th ng g#i mơ hình ng, c UML h tr Có t!t c b n lo i bi u khác nhau, m.i lo i v i m t m c ích khác nhau: bi u tr ng thái , bi u tu n t , bi u c ng tác bi u ho t ng Bi u tr ng thái c s d ng miêu t l i ng x c'ng nh tr ng thái n i b m t l p (nó c'ng có th c s d ng cho h th ng ho c cho tồn b h th ng) Nó t p trung vào khía c nh i t ng theo ti n trình th i gian s& thay i tr ng thái c a chúng tùy theo nh ng s c th c hi n tr ng thái, bao gi s ki n x y ra, l i ng x c'ng nh hành ng thay i tr ng thái x y M t s ki n có th n m t i u ki n tr thành c th a mãn, nh n m t tín hi u ho c l nh g#i th t c, ho c m t kho ng th i gian nh tr c qua i Bi u tu n t c s d ng miêu t m t nhóm i t ng s& t ng tác v i m t c nh k ch riêng bi t nh th Nó t p trung vào chu.i thông i p, t c câu h i thông i p cg i nh n gi a m t nhóm i t ng nh th Bi u tu n t có hai tr c; tr c d#c ch* th i gian tr c n%m ngang ch* i t ng tham gia c nh k ch Khía c nh quan tr#ng nh!t c a m t bi u tu n t th i gian Bi u c ng tác c s d ng miêu t i t ng t ng tác v i không gian b nh cn ik tv i (space), có ngh+a bên c nh t ng tác ng, cịn miêu t rõ ràng i t ng nh th Trong bi u c ng tác khơng có tr c cho th i gian; thay vào ó, thơng i p s& c ánh s t o chu.i Bi u ho t ng c s d ng miêu t s vi c x y ra sao, công vi c c th c hi n nh th Bi u ho t ng c'ng có th c s d ng cho th t c, l p, tr ng h p s d ng, c s d ng ch* quy trình nghi p v (workflow) c'ng có th 6.13 Ph n câu h i H i: Th m t vòng l p? áp: M t chu i s ki n có th (loop) H i: Mơ hình ng mơ hình c nh"c i, nh"c l i vô s l n it ng c ng thêm ph n ng x c g#i vòng l p ng c a h th ng áp: úng H i: Các s ki n c l p c'ng có th s ki n song song áp: úng H i: M t it ng không nh!t thi t ph i có tr ng thái 121 áp: Sai, m#i it ng u có tr ng thái H i: M t l p có th có tr ng thái ban áp: Sai, m t H i: M t vòng tr ng thái k t thúc it u tr ng thái k t thúc ng có th có tr ng thái ban i (chu trình) vịng l p c a áp: úng, t c t n t i it ng it u tr ng thái k t thúc ng khơng có tr ng thái kh i t o c'ng khơng có c coi ã ln ln t n t i ây s& mãi ti p 122 ... 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, 12) Giá tr m c nh 79 Hình 5.1 7- M t s l p tiêu bi u Hình... s n ph$m Hình 5 .25 ch* m t ví d c a liên h quy hình 5 .26 m t bi u i t ng cho bi u l p hình 5 .25 Hình 5 .2 5- M t m ng g m nhi u nút n i v i Hình 5 .2 6- M t bi u it ng c a hình 5 .25 , v i tên c a... ã 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.1 9- Liên h ch n nh b) Liên h VÀ (AND Association): Nhà b(ng n# a quy nh: khách hàng mu n m m t tài kho n ATM ph i ch nhân