Bài giảng Phân tích và thiết kế hướng đối tượng - Nguyễn Thanh Bình
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hướng đối tượng - Nguyễn Thanh Bình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_phan_tich_va_thiet_ke_huong_doi_tuong_nguyen_thanh.pdf
Nội dung text: Bài giảng Phân tích và thiết kế hướng đối tượng - Nguyễn Thanh Bình
- Phân tích và thit k h thng hng Či tng Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng N i dung (1) Các khái nim hng Či tng T(ng quan v+ ngôn ng, mô hình hóa UML UML trong tin trình phát tri3n ph4n m+m Mô hình hoá yêu c4u Bi3u Č7 ca s9 d:ng Mô hình hoá khái nim Bi3u Č7 hot Č ng Bi3u Č7 trng thái 7-Aug-07 Phân tích và thit k h thng hng Či tng 2 1
- N i dung (2) Bi3u Č7 lp Bi3u Č7 t=ng tác Bi3u Č7 tu4n t> Bi3u Č7 c ng tác Mô hình hoá kin trúc Bi3u Č7 gói Bi3u Č7 cài Č@t Mã hoá Bng d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 3 Tài liu tham khCo G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, Addision-W esley, 1999. Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition, Addision-W esley, 2004. Pierre-Alain Muller, Modélisation objet avec UML, Eyrolles, 1997. Bernard Boigelot, Cours de l‘Ingénierie du logiciel orienté-objet. Olivier Gerbe, Cours UML, IFI, 2000. UML applied œ Object Oriented Analysis and Design using the UML, Ariadne training, 2000. @ng V^n _c, Giáo trình nh`p môn UML, NXB Lao Č ng xã h i, 2003. Nguydn V^n Ba, Phát tri3n hng Či tng vi UML 2.0 và C++, NXB i hc Quc gia Hà n i, 2005. 7-Aug-07 Phân tích và thit k h thng hng Či tng 4 2
- Các khái nim c b"n v# hng Či tng (1) 7-Aug-07 Phân tích và thit k h thng hng Či tng 5 N i dung trình bày Hng ch_c n^ng Hng Či tng (HT) i tng Lp Các tính chjt c= bCn cka HT 7-Aug-07 Phân tích và thit k h thng hng Či tng 6 c
- gng ch_c n^ng D>a vào các ch_c n^ng cka h thng H thng là t`p hp các ch_c n^ng Chia nhl các ch_c n^ng và làm mmn d4n H thng g7m các h thng con Làm chk Č ph_c tp Các ch_c n^ng trao Č(i vi nhau bnng truy+n tham s ho@c d, liu (chong hn bin toàn c:c) dùng chung 7-Aug-07 Phân tích và thit k h thng hng Či tng 7 Hng ch_c n^ng Phân cjp ch_c n^ng H thng Ch_c n^ng 1 Ch_c n^ng 2 Ch_c n^ng 1.1 Ch_c n^ng 1.2 Ch_c n^ng 2.1 Ch_c n^ng 2.2 7-Aug-07 Phân tích và thit k h thng hng Či tng 8 4
- gng ch_c n^ng ru Či3m Phân tích Čc các ch_c n^ng cka h thng a li kt quC mong Či Nhc Či3m Ch_c n^ng cju trúc Thay Č(i v+ ch_c n^ng khó kh^n thay Č(i cju trúc Tính ms cka h thng thjp Khó tái s9 d:ng Chi phí s9a ch,a lti ln 7-Aug-07 Phân tích và thit k h thng hng Či tng 9 Hng Či tng Ljy Či tng làm trung tâm H thng = t`p hp các Či tng + quan h gi,a các Či tng Các Či tng trao Č(i bnng thông Čip (message) Không s9 d:ng bin toàn c:c óng gói Thva k 7-Aug-07 Phân tích và thit k h thng hng Či tng 10 h
- gng Či tng Phân bit L`p trình cju trúc Thu`t toán + cju trúc d, liu = ch=ng trình L`p trình HT ΣČi tng = ch=ng trình Či tng = thu`t toán + cju trúc d, liu 7-Aug-07 Phân tích và thit k h thng hng Či tng 11 Hng Či tng ru Či3m chính PT & TK g4n gyi vi th gii th>c Tái s9 d:ng dd dàng óng gói, che dju thông tin làm cho h thng tin c`y h=n Thva k làm giCm chi phí, h thng có tính ms cao h=n Xây d>ng h thng ln và ph_c tp 7-Aug-07 Phân tích và thit k h thng hng Či tng 12 w
- i tng i tng (object) là khái nim cho phép mô tC các s> v`t/th>c th3 trong th gii th>c Các Či tng duy trì các quan h gi,a chúng Nguydn V^n A là m t Či tng 7-Aug-07 Phân tích và thit k h thng hng Či tng 13 i tng Các tính chjt cka Či tng i tng = trng thái + hành vi + Čmnh danh Trng thái là các Č@c tính cka Či tng ti m t thi Či3m Hành vi th3 hin các ch_c n^ng cka Či tng mnh danh th3 hin s> t7n ti duy nhjt cka Či tng 7-Aug-07 Phân tích và thit k h thng hng Či tng 14 7
- i tng : trng thái Trng thái = t`p hp các thu c tính Mti thu c tính mô tC m t Č@c tính Ti m t thi Či3m c: th3, các thu c tính mang các giá trm trong mi+n xác Čmnh Ví d: M t chic xe máy: màu xanh, 110 cm3, dream, 12000km, Č_ng yên, 7-Aug-07 Phân tích và thit k h thng hng Či tng 15 i tng : hành vi Hành vi = t`p hp các ph=ng th_c Ph=ng th_c: là m t thao tác ho@c Čc th>c hin bsi chính nó, ho@c th>c hin khi có yêu c4u tv môi trng (thông Čip tv Či tng khác) Hành vi ph: thu c vào trng thái Ví d:: m t xe máy có các hành vi: khsi Č ng, chy, 7-Aug-07 Phân tích và thit k h thng hng Či tng 16 8
- Diao tip gi,a các Či tng Các Či tng giao tip vi nhau G9i thông Čip (message) cho nhau Thông Čip i tng A i tng B Các loi thông Čip hàm d>ng (constructor) hàm hky (destructor) hàm chn l>a (get) hàm s9a Č(i (set) các hàm ch_c n^ng khác 7-Aug-07 Phân tích và thit k h thng hng Či tng 17 i tng Gi,a các Či tng có mi liên kt (link) vi nhau Ví d: Nguydn V^n A Hc i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 18 O
- Lp Lp là khái nim dùng Č3 mô tC m t t`p hp các Či tng có cùng m t cju trúc, cùng hành vi và có cùng nh,ng mi quan h vi các Či tng khác Lp = các thu c tính + các ph=ng th_c 7-Aug-07 Phân tích và thit k h thng hng Či tng 19 Lp Lp là m t bc trvu tng hóa Tìm kim các Či3m ging nhau, bl qua các Či3m khác nhau cka Či tng Person Name Age Trvu tng hóa làm giCm Č ph_c tp changeAge 7-Aug-07 Phân tích và thit k h thng hng Či tng 20 10
- Lp Quan h gi,a các lp: kt hp M t kt hp là m t t`p hp các mi liên kt gi,a các Či tng Sinh viên hc i hc 7-Aug-07 Phân tích và thit k h thng hng Či tng 21 Lp & i tng i tng là th3 hin (instance) cka lp Giá trm là th3 hin cka thu c tính Liên kt là th3 hin cka kt hp Lp i tng Thu c tính Giá trm Kt hp Liên kt 7-Aug-07 Phân tích và thit k h thng hng Či tng 22 11
- Các tính chjt cka HT Tính Čóng gói (encapsulation) d, liu + x, lð d, liu = Či tng thu c tính + ph=ng th_c = lp ru Či3m Hn ch Cnh hsng khi có s> thay Č(i c`p nh`t Ng^n cCn s> truy c`p thông tin tv bên ngoài Che dju thông tin 7-Aug-07 Phân tích và thit k h thng hng Či tng 23 Các tính chjt cka HT Tính thva k (inheritance) M t lp Čc xây d>ng tv m t ho@c nhi+u lp khác bnng vic chia s• các thu c tính và ph=ng th_c Lp con thva k các thu c tính và ph=ng th_c tv lp cha T(ng quát hóa/chuyên bit hóa T(ng quát hóa (generalization): Č@t các tính chjt chung cka các lp khác nhau vào m t lp cha Chuyên bit hóa (specialization): to ra m t lp con có các tính chjt riêng tv lp cha 7-Aug-07 Phân tích và thit k h thng hng Či tng 24 12
- Các tính chjt cka HT =n thva k: m t lp con ch• thva k tv m t lp cha duy nhjt C T h u XeÓtô ( y n ê g n q b u i á t t h h ó ó a XeKhách XeTCi a Lp trvu tng hay lp chung: XeÓtô Lp c: th3 hay lp chuyên bit: XeKhách Lp chuyên bit có th3 thay th lp chung trong tjt cC các _ng d:ng. Ví d:: Ótô tCi là m(t ôtô. 7-Aug-07 Phân tích và thit k h thng hng Či tng 25 Các tính chjt cka HT a thva k: m t lp con thva k tv nhi+u lp cha khác nhau Person Personnel Student Reseacher Teacher Phd candidate 7-Aug-07 Phân tích và thit k h thng hng Či tng 26 13
- Các tính chjt cka HT a thva k :ng Č tên các thu c tính X Y a a Z a cka X a cka Y a thva k không Čc chjp nh`n bsi m t s ngôn ng,: Java 7-Aug-07 Phân tích và thit k h thng hng Či tng 27 Các tính chjt cka HT ru Či3m cka thva k Phân loi các lp: các lp Čc phân loi, sƒp xp theo m t th_ b`c Č3 dd quCn lí Xây d>ng các lp: các lp con Čc xây d>ng tv các lp cha Tit kim thi gian xây d>ng, tránh l@p li thông tin 7-Aug-07 Phân tích và thit k h thng hng Či tng 28 14
- Các tính chjt cka HT Tính Ča hình (polymorphism): cka ph=ng th_c, t_c là khC n^ng các ph=ng th_c khác nhau Čc th>c hin Č3 trC li cùng m t yêu c4u Mti lp con thva k Č@c tC các ph=ng th_c tv lp cha, và các ph=ng th_c này có th3 Čc s,a Č(i trong lp con Č3 th>c hin các ch_c n^ng riêng trong lp Čó M t ph=ng th_c (cùng m t tên ph=ng th_c) có nhi+u dng (Čmnh ngh„a) khác nhau trong các lp khác nhau 7-Aug-07 Phân tích và thit k h thng hng Či tng 29 Các tính chjt cka HT Ví d: tính Ča hình aGiác DienTich() HìnhVuông HìnhTamGiác DienTich() DienTich() 7-Aug-07 Phân tích và thit k h thng hng Či tng 30 15
- )ii thiu UML (2) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 31 N i dung trình bày Khái nim môhình hóa M t s ph=ng pháp môhình hóa HT Lmch s9 phát tri3n UML Gii thiu t(ng quan UML UML œ m t ngôn ng, Các khái nim c=bCn cka UML 7-Aug-07 Phân tích và thit k h thng hng Či tng 32 16
- Khái nim môhình hóa M.hình (model) là m t s> Č=n giCn hóa cka h thng th>c Môhình là s> bi3u didn bnng hình Cnh cka h thng th>c Môhình didn tC h thng s m t m_c trvu tng, theo m t quan Či3m, bnng m t hình th_c bi3u didn (v^n bCn, hình Cnh, ) Môhình hóa (modeling) là quá trình dùng mô hình Č3 didn tC h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 33 Khái nim môhình hóa Ti sao môhình hóa? Môhình hóa Č3 dd hi3u Dd nh`n th_c vjn Č+ Môhình hóa Č3 trao Č(i Ph=ng tin trao Č(i gi,a nh,ng ngi phát tri3n Môhình hóa Č3 hoàn ch•nh Dd dàng nh`n s> phù hp gi,a môhình và nhu c4u d3 cCi tin, hoàn thin 7-Aug-07 Phân tích và thit k h thng hng Či tng 34 17
- Khái nim môhình hóa Các nguyên tƒc môhình hóa Chn môhình thích hp Góc nhìn c=ss d, liu: môhình th>c th3 - kt hp Góc nhìn có cju trúc: thu`t toán Góc nhìn hng Či tng: các lp và các quan h Các môhình Čc th3 hin nhi+u m_c chính xác khác nhau H thng Čc didn tC s các m_c chi tit khác nhau, tùy theo nhu c4u ngi s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 35 Khái nim môhình hóa Các nguyên tƒc môhình hóa Các môhình phCi liên h vi th gii th>c Các môhình xây d>ng g4n gyi vi môhình h thng th>c Môhình hng Či tng > Môhình hóa có cju trúc M t h thng phCi Čc môhình hóa msi m t t`p hp các môhình Ch• m t môhình là không th3 Čk PhCi th3 hin Čc nhi+u góc nhìn khác nhau v+ h thng: s9 d:ng, thit k, cài Č@t, 7-Aug-07 Phân tích và thit k h thng hng Či tng 36 18
- M t s ph=ng pháp môhình hóa HT OOD (Object Oriented Design) OOSE (Object Oriented Software Engineering) OMT (Object Modeling Technique) 7-Aug-07 Phân tích và thit k h thng hng Či tng 37 OOD (Object Oriented Design) Ph=ng pháp Čc phát tri3n bsi Booch Môhình t„nh Bi3u Č7 lp Bi3u Č7 Či tng Môhình Č ng Bi3u Č7 trng thái Bi3u Č7 thi gian 7-Aug-07 Phân tích và thit k h thng hng Či tng 38 19
- OOSE (Object Oriented Software Engineering) Ph=ng pháp Čc phát tri3n bsi Jacobson N^m môhình Môhình yêu c4u (kmch bCn s9 d:ng) Môhình phân tích (m_c khái nim) Môhình thit k (m_c logic) Môhình mã hóa (m_c v`t lð) Môhình ki3m th9 7-Aug-07 Phân tích và thit k h thng hng Či tng 39 OMT (Object Modeling Technique) Ph=ng pháp Čc phát tri3n bsi Rumbaugh Ba môhình Môhình t„nh môhình th>c th3 quan h Môhình Č ng bi3u Č7 trng thái và chuy3n tip Môhình ch_c n^ng d>a trên bi3u Č7 lu7ng d, liu 7-Aug-07 Phân tích và thit k h thng hng Či tng 40 20
- Lmch s9 phát tri3n UML 1975-1990 nhi+u ngôn ng, môhình hóa HT Čc phát tri3n 1990-1994 h=n 50 ph=ng pháp phát tri3n HT trong Čó có các ph=ng pháp OOD, OOSE và OMT 10/1994 Rumbaugh và Booch tin hành d> án UML s Rational 7-Aug-07 Phân tích và thit k h thng hng Či tng 41 Lmch s9 phát tri3n UML 10/1995 Phiên bCn Č4u tiên cka ph=ng pháp hp nhjt ra Či di cái tên « Unified Method » v0.8 Cui 1995 Jacobson tham gia nhóm cka Booch và Rumbaugh 6/1996 Phiên bCn UML v0.9 tích hp OOSE ra Či 7-Aug-07 Phân tích và thit k h thng hng Či tng 42 21
- Lmch s9 phát tri3n UML 1996 H i thCo Č4u tiên v+ UML Čc t( ch_c 1997 Phiên bCn UML v1.0 Čc Č+ xujt nhlà chuŠn vi t( ch_c OMG (Object Management Group) 7-Aug-07 Phân tích và thit k h thng hng Či tng 43 Lmch s9 phát tri3n UML 7/1997 phiên bCn UML v1.1 Čc Č+ nghm chuŠn hóa s OMG 11/1997 UML v1.1 Čc chjp nh`n là ph=ng pháp chuŠn bsi OMG 6/1998 UML v1.2 Čc phát hành bsi OMG 8/1998 UML v1.3 Čc phát hành bsi OMG 7-Aug-07 Phân tích và thit k h thng hng Či tng 44 22
- U01 œ m t ngôn ng, M t ngôn ng cung cjp tv v>ng, ng, pháp (cú pháp) và ng, ngh„a Č3 môtC s> giao tip M t ngôn ng môhình hóa là ngôn ng, mà trong Čó tv v>ng và lu`t Čc s9 d:ng Č3 môtC m_c khái nim và m_c v`t lðcka m t h thng UML cung cjp tv v>ng và lu`t Č3 môtC các mô hình khác nhau cka m t h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 45 UML œ ngôn ng, Č3 môhình hóa tr>c quan UML cung cjp t`p hp các kí hiu và lu`t Č3 bi3u didn Č7 ha nh,ng môhình cka h thng Bi3u didn Č7 ha thng Čem li cái nhìn tt h=n v+ h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 46 23
- UML œ ngôn ng, Č3 Č@c tC M t Č@c tC là m t môtC chính xác và không nh`p nhnng v+ h thng UML cung cjp các công c: Č3 Č@c tC h thng s nhi+u m_c: phân tích, thit k và cài Č@t 7-Aug-07 Phân tích và thit k h thng hng Či tng 47 UML œ ngôn ng, Č3 xây d>ng Các môhình UML có th3 Čc chuy3n sang m t ngôn ng, l`p trình khá dd dàng UML là khá chính xác và không nh`p nhnng Č3 cho phép th>c hin các môphlng 7-Aug-07 Phân tích và thit k h thng hng Či tng 48 24
- U01 œ ngôn ng, Č3 l`p tài liu UML cho phép môtC tjt cC các bc xây d>ng m t h thng Các môhình Čc xây d>ng to nên m t tài liu Č4y Čk và chính xác v+ h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 49 Các khái nim c=bCn cka UML Các ph4n t9 Các quan h Các bi3u Č7 7-Aug-07 Phân tích và thit k h thng hng Či tng 50 25
- Các ph4n t9 Các ph4n t9 cju trúc Các ph4n t9 Č ng Các ph4n t9 nhóm Các ph4n t9 chú thích 7-Aug-07 Phân tích và thit k h thng hng Či tng 51 Các ph4n t9 cju trúc Lp (class) Giao din (interface) C ng tác (collaboration) Tình hung (case) Thành ph4n (component) Nút (node) 7-Aug-07 Phân tích và thit k h thng hng Či tng 52 26
- Các ph4n t9 cju trúc Lp (class) Lp là Č@c tC m t t`p hp các Či tng có cùng thu c tính, hành vi và các quan h M t lp Čc bi3u didn bsi hình ch, nh`t Ví d: i3m x, y : int v•i3m() diChuy3n(x, y) 7-Aug-07 Phân tích và thit k h thng hng Či tng 53 Các ph4n t9 cju trúc Giao din (interface) M t giao din là m t t`p hp Č@c tC các hành vi/ph=ng th_c cka m t lp ho@c m t thành ph4n M t giao din Čc bi3u didn Č7 ha bsi m t hình tròn Ví d: ImageObserver 7-Aug-07 Phân tích và thit k h thng hng Či tng 54 27
- Các ph4n t9 cju trúc C ng tác (collaboration) M t c ng tác Čmnh ngh„a m t s> t=ng tác gi,a các ph4n t9 M t c ng tác Čc bi3u didn bsi m t hình ê-líp có nét Č_t Ví d: Ki3m tra m t Č=n Č@t hàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 55 Các ph4n t9 cju trúc Ca s9 d:ng (use case) M t ca s9 d:ng s9 d:ng là môtC m t t`p hp các hot Č ng cka h thng nhnm trC li yêu c4u cka m t tác nhân (actor) M t ca s9 d:ng Čc th>c hin bsi m t c ng tác M t ca s9 d:ng Čc bi3u didn bsi hình ê-líp Ví d: Thanh toán hóa Č=n 7-Aug-07 Phân tích và thit k h thng hng Či tng 56 28
- Các ph4n t9 cju trúc Thành ph4n (component) M t thành ph4n là m t ph4n v`t lðvà có th3 thay th Čc cka m t h thng M t thành ph4n Čc bi3u didn nhsau Agent.java 7-Aug-07 Phân tích và thit k h thng hng Či tng 57 Các ph4n t9 cju trúc Nút (node) M t nút là m t ph4n t9 v`t lðcka h thng, nó t7n ti khi h thng th>c thi Nút bi3u didn m t ngu7n tài nguyên vi b nh và khC n^ng x9 lí Nút Čc bi3u didn bsi hình h p ch, nh`t Ví d: Server 7-Aug-07 Phân tích và thit k h thng hng Či tng 58 29
- Các ph4n t9 Č ng T=ng tác Máy trng thái 7-Aug-07 Phân tích và thit k h thng hng Či tng 59 Các ph4n t9 Č ng T=ng tác (interaction) M t t=ng tác là m t t`p hp các thông Čip (message) trao Č(i gi,a các Či tng M t thông Čip Čc bi3u didn bsi myi tên Ví d: print() 7-Aug-07 Phân tích và thit k h thng hng Či tng 60 c0
- Các ph4n t9 Č ng Máy trng thái (state machine) Máy trng thái Č@c tC chuti các trng thái thay Č(i cka m t Či tng M t trng thái Čc bi3u didn nhsau i 7-Aug-07 Phân tích và thit k h thng hng Či tng 61 Các ph4n t9 nhóm Gói (package) Gói là kŒ thu`t Č3 nhóm các ph4n t9 Gói Čc bi3u didn nhsau Client 7-Aug-07 Phân tích và thit k h thng hng Či tng 62 c1
- Các ph4n t9 chú thích Chú thích (note) Chú thích là m t giCi thích liên quan Čn m t ph4n t9 UML mà cho phép mang li thông tin b( sung M t chú thích Čc bi3u didn bsi m t hình ch, nh`t có m t góc bm gjp Ví d: Xem tp tin note.doc 7-Aug-07 Phân tích và thit k h thng hng Či tng 63 Các quan h Quan h ph: thu c (dependency) Quan h kt hp (association) Quan h t(ng quát hóa (generalization) Quan h cài Č@t (realization) 7-Aug-07 Phân tích và thit k h thng hng Či tng 64 c2
- f"an h ph: thu c Quan h ph: thu c là quan h ng, ngh„a gi,a hai ph4n t9 mà s> thay Č(i cka ph4n này s• Cnh hsng Čn ph4n t9 kia Quan h ph: thu c Čc bi3u didn m t myi tên Č_t nét nhsau: 7-Aug-07 Phân tích và thit k h thng hng Či tng 65 Quan h kt hp Quan h kt hp là quan h cju trúc mà Čmnh ngh„a m t t`p hp các liên kt gi,a các Či tng Quan h Čc bi3u didn bsi m t Čon thong vi các b i s/bCn s (multiplicity) và vai trò 0 1 ss h,u 0 n 7-Aug-07 Phân tích và thit k h thng hng Či tng 66 cc
- f"an h t(ng quát hóa Quan h t(ng quát hóa là quan h gi,a m t ph4n t9 chung (lp cha) và ph4n t9 c: th3 (lp con) Quan h t(ng quát hóa th3 hin tính thva k Quan h t(ng quát hóa Čc bi3u didn nh sau 7-Aug-07 Phân tích và thit k h thng hng Či tng 67 Quan h cài Č@t Quan h cài Č@t là m t quan h ng, ngh„a mà trong Čó m t ph4n t9 s• cài Č@t (th>c hin) ph4n t9 khác Quan h cài Č@t Čc bi3u didn bsi myi tên vi nét Č_t nhsau 7-Aug-07 Phân tích và thit k h thng hng Či tng 68 cW
- Các bi3u Č7 (diagram) Bi3u Č7 lp (class diagram) Bi3u Č7 Či tng (object diagram) Bi3u Č7 ca s9 d:ng (use case diagram) Bi3u Č7 trng thái (state diagram) Bi3u Č7 hot Č ng (activity diagram) Bi3u Č7 t=ng tác (interaction diagram) Bi3u Č7 tu4n t> (sequencediagram) Bi3u Č7 c ng tác (collaboration diagram) Bi3u Č7 gói (package diagram) Bi3u Č7 thành ph4n (component diagram) Bi3u Č7 tri3n khai (deployement diagram) 7-Aug-07 Phân tích và thit k h thng hng Či tng 69 Các bi3u Č7 (diagram) Bi3u Č7 Bi3u Č7 Bi3u Č7 cju trúc hành vi Bi3u Č7 Bi3u Č7 Bi3u Č7 Bi3u Č7 Bi3u Č7 Bi3u Č7 lp Či tng thành ph4n hot Č ng ca s9 d:ng trng thái Bi3u Č7 Bi3u Č7 Bi3u Č7 tri3n khai gói t=ng tác Bi3u Č7 Bi3u Č7 tu4n t> c ng tác 7-Aug-07 Phân tích và thit k h thng hng Či tng 70 ch
- Bi3u Č7 lp Bi3u Č7 lp (class diagram) môtC t`p hp các lp và các t=ng tác gi,a chúng Các bi3u Č7 lp môtC cju trúc t„nh cka h thng Quan h kt hp 1 * Qu4yHàng Ch_a > M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 71 Bi3u Č7 Či tng Bi3u Č7 Či tng (object diagram) môtC t`p hp các Či tng và các quan h gi,a chúng Các bi3u Č7 Či tng môtC cùng các thông tin nhbi3u Č7 lp nhng di cách nhìn các th3 hin cka lp tivi:M@tHàng ČinT9:Qu4yHàng tkLnh:M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 72 cw
- Bi3u Č7 ca s9 d:ng Bi3u Č7 ca s9 d:ng (use case diagram) môtC t`p hp các ca s9 d:ng, các tác nhân và nh,ng quan h gi,a chúng Các bi3u Č7 ca s9 d:ng môtC cái nhìn t„nh v+ h thng di con mƒt cka ngi s9 d:ng Các bi3u Č7 ca s9 d:ng rjt quan trng Č3 nƒm bƒt các ch_c n^ng cka h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 73 Bi3u Č7 ca s9 d:ng add user delete user > admin find user modify user 7-Aug-07 Phân tích và thit k h thng hng Či tng 74 cY
- Bi3u Č7 trng thái Bi3u Č7 trng thái (state diagram) bi3u didn máy trng thái (trng thái, chuy3n tip, s> kin và hot Č ng) Nh,ng bi3u Č7 trng thái môtC cái nhìn Č ng v+ h thng Các bi3u Č7 trng thái là rjt quan trng Č3 hi3u rõhành vi (behavior) cka h thng nhjnNútLnh LàmLnh Ssi•m nhjnNút•m 7-Aug-07 Phân tích và thit k h thng hng Či tng 75 Bi3u Č7 hot Č ng Bi3u Č7 hot Č ng (activity diagram) mô tC lu7ng thông tin tv m t hot Č ng này Čn m t hot Č ng khác Nh,ng bi3u Č7 hot Č ng môtC cái nhìn Č ng v+ h thng Các bi3u Č7 hot Č ng là rjt quan trng Č3 hi3u rõhot Č ng cka h thng @t hàng Làm hóa Č=n TrC ti+n Giao hàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 76 c8
- Bi3u Č7 t=ng tác Bi3u Č7 t=ng tác (interaction diagram) g7m bi3u Č7 tu4n t> và bi3u Č7 c ng tác Bi3u Č7 tu4n t> (sequencediagram) môtC s> trao Č(i các thông Čip gi,a các Či tng d>a theo thi gian 7-Aug-07 Phân tích và thit k h thng hng Či tng 77 Bi3u Č7 t=ng tác Ví d: :TàiLiu :MáyFax :DâyinThoi gi() nhjcMáy() âmMi bjmS(s) ČãKtNi ČãKtNi g9i(trang) chuy3n(trang) 7-Aug-07 Phân tích và thit k h thng hng Či tng 78 cO
- Bi3u Č7 t=ng tác Bi3u Č7 c ng tác (collaboration diagram) môtC s> trao Č(i các thông Čip gi,a các Či tng d>a theo cju trúc quan h gi,a các Či tng 1.1: nhjcMáy() 1: gi() 1.3: bjmS() 3: g9i() 3.1: chuy3n() :TàiLiu :MáyFax :DâyinThoi 2: ČãKtNi() 1.2: âmMi() 1.4: ČãKtNi 7-Aug-07 Phân tích và thit k h thng hng Či tng 79 Bi3u Č7 gói Bi3u Č7 gói (package diagram) cho phép nhóm các lp thành các gói quan h vi nhau To nên m t c0u trúc ph4 thu(c gi5a các gói thay vì cju trúc ph: thu c gi,a các lp HThng KháchHàng SCnPhŠm DB Interface 7-Aug-07 Phân tích và thit k h thng hng Či tng 80 40
- Bi3u Č7 thành ph4n Bi3u Č7 thành ph4n (component diagram) ch• ra t( ch_c và s> ph: thu c gi,a các thành ph4n cka h thng Các bi3u Č7 thành ph4n môtC cái nhìn t„nh v+ s> cài Č@t cka h thng > find.html > index.html > index.html > lib.dll 7-Aug-07 Phân tích và thit k h thng hng Či tng 81 Bi3u Č7 tri3n khai Bi3u Č7 tri3n khai (deployment diagram) môtC các nút và các thành ph4n cka h thng ti thi Či3m th>c thi Terminal Server Terminal 7-Aug-07 Phân tích và thit k h thng hng Či tng 82 41
- G.c nhìn h thng H thng Čc th3 hin di n^m góc nhìn khác nhau Góc nhìn logic Góc nhìn cài Č@t Góc nhìn ngi s9 d:ng Góc nhìn hành vi Góc nhìn tri3n khai 7-Aug-07 Phân tích và thit k h thng hng Či tng 83 Góc nhìn h thng Góc nhìn ngi s9 d:ng (use case view) mô tC h thng di góc nhìn cka ngi ss h,u và ngi s9 d:ng cui cùng MôtC các m:c tiêu và m:c Čích cka h thng MôtC các ch_c n^ng cka h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 84 42
- D. nhìn h thng Góc nhìn logic (logical view) môtC m@t t„nh (static) và cju trúc cka h thng Góc nhìn hành vi (behavior view) môtC m@t Č ng cka h thng MôtC các t=ng tác và c ng tác gi,a các ph4n t9 cka h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 85 Góc nhìn h thng Góc nhìn cài Č@t (component view) môtC th>c hin giCi pháp MôtC t( ch_c mã ch=ng trình cka giCi pháp Góc nhìn tri3n khai (deployment view) mô tC s> th>c thi cka giCi pháp MôtC các ph4n t9 v`t lðcka giCi pháp (b x9 lð, thit bm, ) 7-Aug-07 Phân tích và thit k h thng hng Či tng 86 4c
- G.c nhìn và bi3u Č7 Góc nhìn logic Góc nhìn cài Č@t Bi3u Č7 lp Bi3u Č7 gói Bi3u Č7 Či tng Bi3u Č7 thành ph4n Góc nhìn ngi s9 d:ng Bi3u Č7 trng thái Bi3u Č7 ca s9 d:ng Bi3u Č7 hot Č ng Bi3u Č7 tri3n khai Bi3u Č7 tu4n t> Bi3u Č7 c ng tác Góc nhìn hành vi Góc nhìn tri3n khai 7-Aug-07 Phân tích và thit k h thng hng Či tng 87 Ví d: Xây d>ng ph4n m+m tính ti+n ti m t c9a hàng Ca s9 d:ng (use case) Khách hàng mua hàng và tr bng tin mt Khánh hàng mua hàng và tr bng th 7-Aug-07 Phân tích và thit k h thng hng Či tng 88 44
- Vi !: 12 #class) nHàng D li#u: ngày, gi', mtHàng, ČangTh*cHi#n Thao tác: tínhT,ng(), tr(s0Tin), C2aHàng D li#u: tên, Č4aCh5, 7-Aug-07 Phân tích và thit k h thng hng Či tng 89 Ví d: Hot Č ng (activity) Các mt hàng mua b6i khách hàng Č89c ghi/nh;p l n th4 t,ng s0 tin, Trng thái (state) M@t BánHàng Čang Č89c th*c hi#n hay Čã kBt thúc, 7-Aug-07 Phân tích và thit k h thng hng Či tng 90 4h
- Vi !: T=ng tác (interaction) T,ng s0 tin thu Č89c tính bng cách c@ng tDt c c t,ng s0 tin mà mEi khách hàng tr, 7-Aug-07 Phân tích và thit k h thng hng Či tng 91 UML trong tin trình phát tri7n ph8n m#m (3) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 92 46
- N i dung trình bày Khái nim công ngh ph4n m+m Các tin trình phát tri3n ph4n m+m Tin trình hp nhjt 7-Aug-07 Phân tích và thit k h thng hng Či tng 93 Công ngh ph4n m+m Công ngh ph4n m+m: lð thuyt, ph=ng pháp và công c: phát tri3n các h thng ph4n m+m ng c= Ph4n m+m ln và ph_c tp t tiêu chuŠn chjt lng: hiu quC, bCo trì, ki3m th9, tái s9 d:ng, Chi phí thjp, hn ch các nguy c= 7-Aug-07 Phân tích và thit k h thng hng Či tng 94 47
- Công ngh ph4n m+m Các hot Č ng phát tri3n ph4n m+m Xác Čmnh yêu c4u (Č@c tC yêu c4u) Phân tích (ph4n m+m làm cái gì) Thit k (ph4n m+m Čc làm nh th nào) Cài Č@t (mã hóa) Ki3m th9 (ph4n m+m Čúng yêu c4u) S> t( ch_c các hot Č ng này to nên m t tiBn trình phát tri>n (developpment process) 7-Aug-07 Phân tích và thit k h thng hng Či tng 95 UML là ngôn ng, kí hiu UML ch• là ngôn ng, mô hình hóa UML không cho chúng ta bit làm thB nào Č3 phát tri3n ph4n m+m C4n s9 d:ng UML trong m t tin trình phát tri3n 7-Aug-07 Phân tích và thit k h thng hng Či tng 96 48
- Tin trình thác Č( (waterfall) Xác Čmnh vjn Č+ @c tC yêu c4u Phân tích • Giai Čon sau ch• Čc bƒt Č4u Thit k khi giai Čon trc Čã hoàn thành • Không quay lui Mã hóa Ki3m th9 7-Aug-07 Phân tích và thit k h thng hng Či tng 97 Tin trình thác Č( Nhc Či3m C_ng nhƒc: giai Čon sau ch• bƒt Č4u khi giai Čon trc Čã kt thúc, không quay lui Khó dò tìm các vjn Č+, lti Tìm thjy vjn Č+ quá trd Dd to nên sCn phŠm có cju trúc t7i i vi h thng ph_c tp C4n hi3u toàn b h thng t^ng Č ph_c tp M t giai Čon có th3 rjt dài (vài n^m) 7-Aug-07 Phân tích và thit k h thng hng Či tng 98 49
- Tin trình thác Č( CCi tin: tin trình V Cho phép quay lui B• gãy Čng phát tri3n Nhjn mnh vjn Č+ ki3m th9 7-Aug-07 Phân tích và thit k h thng hng Či tng 99 Tin trình xoƒn c (spiral model) Phát tri3n theo chu k’, mti chu k’ cho m t sCn phŠm (nguyên m“u) th>c thi Čc, mti chu k’ g7m 4 giai Čon Xác Čmnh các m:c tiêu, Xác Čmnh và tìm giCi ràng bu c và giCi pháp pháp cho nguy c= Ki3m th9 nguyên m“u và k Thit k và phát hoch cho chu k’ tip theo tri3n nguyên m“u 7-Aug-07 Phân tích và thit k h thng hng Či tng 100 h0
- Tin trình xoƒn c (spiral model) GiCm các nguy c= ti+m Šn Nh`n Čc phCn h7i tv ngi s9 d:ng sm GiCm Č ph_c tp S> thay Č(i công ngh có th3 Čc thích _ng dd dàng Tuy nhiên, tin trình khó Č3 quCn lð: tin trình thác nc phù hp vi kŒ thu`t quCn lð mng Gantt, còn tin trình xoƒn c thì yêu c4u kŒ thu`t khác 7-Aug-07 Phân tích và thit k h thng hng Či tng 101 Tin trình hp nhjt S> ms r ng cka tin trình xoƒn c Hình th_c h=n Ch@t ch• h=n 7-Aug-07 Phân tích và thit k h thng hng Či tng 102 h1
- Tin trình hp nhjt Tin trình hp nhjt có th3 Čc nhìn di hai góc nhìn khác nhau )/c nhìn qu"n lð: quan tâm Čn l„nh v>c kinh t, chin thu`t, con ngi Tin trình g7m bn giai Čo t: quan tâm Čn công ngh, ki3m tra chjt lng, ph=ng pháp Tin trình g7m nhi#u bc l?p 7-Aug-07 Phân tích và thit k h thng hng Či tng 103 Tin trình hp nhjt: góc nhìn quCn lð Tin trình phát tri3n ph4n m+m Čc chia làm 4 giai Čon Khsi Č4u (inception): Čánh giá tính khC thi Son thCo (elaboration): phân tích, thit k kin trúc Xây d>ng (construction): th>c hin, c: th3 hóa sCn phŠm Chuy3n giao (transition): chuy3n giao cho ngi s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 104 h2
- Tin trình hp nhjt: góc nhìn quCn lð @t vjn Č+ Vjn Č+ GiCi quyt vjn Č+ GiCi pháp Th>c hin KhAi Č8u So c hin ánh giá li ích Xác Čmnh các nguy c= mnh ngh„a các tiêu chuŠn Čánh giá ánh giá thi gian th>c hin và chi phí Xây d>ng ph=ng án th>c hin ánh giá tính khC thi v+ kŒ thu`t 7-Aug-07 Phân tích và thit k h thng hng Či tng 106 hc
- Tin trình hp nhjt: góc nhìn quCn lð Khsi Č4u c th>c hin bsi các các chuyên gia v+ thm trng và nhà tin hc Quyt Čmnh th>c hin hay không 7-Aug-07 Phân tích và thit k h thng hng Či tng 107 Tin trình hp nhjt: góc nhìn quCn lð Son thCo (elaboration) Phân tích yêu c4u Xác Čmnh các ch_c n^ng cka h thng L>a chn kin trúc h thng Xây d>ng k hoch th>c hin 7-Aug-07 Phân tích và thit k h thng hng Či tng 108 hW
- Tin trình hp nhjt: góc nhìn quCn lð Son thCo Th>c hin bsi các nhà tin hc Chk yu d>a trên các ca s9 d:ng (use case) Giúp ngi s9 d:ng hi3u rl cái h c4n Chi tit hóa d4n các ca s9 d:ng Xây d>ng mô hình các lp (class) 7-Aug-07 Phân tích và thit k h thng hng Či tng 109 Tin trình hp nhjt: góc nhìn quCn lð Son thCo Kt quC Mô tC ch_c n^ng cka h thng (bi3u Č7 ca s9 d:ng, kmch bCn s9 d:ng và bi3u Č7 lp) Kin trúc th>c thi Čc cka h thng K hoch hoàn ch•nh Č3 phát tri3n h thng K hoch chi tit các bc l@p 7-Aug-07 Phân tích và thit k h thng hng Či tng 110 hh
- Tin trình hp nhjt: góc nhìn quCn lð aq5d>ng (construction) Phát tri3n ph4n m+m cho ngi s9 d:ng Th>c hin bsi nhi+u bc l@p Xây d>ng kin trúc chi tit Phát tri3n m t ph4n h thng Ki3m th9 m t ph4n h thng Cài Č@t m t ph4n h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 111 Tin trình hp nhjt: góc nhìn quCn lð Xây d>ng Mti bc l@p cho m t nguyên m“u th>c thi Čc (executable prototype) Thêm d4n d4n các ch_c n^ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 112 hw
- Tin trình hp nhjt: góc nhìn quCn lð Chuy3n giao (transition) Giai Čon phát tri3n g4n nh kt thúc ánh giá d> án Chuy3n giao ph4n m+m cho ngi s9 d:ng Hujn luyn ngi s9 d:ng Tip thm, phân phi, bán 7-Aug-07 Phân tích và thit k h thng hng Či tng 113 Tin trình hp nhjt: góc nhìn quCn lð Chuy3n giao Kt quC H thng th>c thi Čc Phiên bCn β Phiên bCn chính th_c Hng d“n cài Č@t Hng d“n s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 114 hY
- Tin trình hp nhjt: góc nhìn quCn lð Vi d: Či3n hình: d> án trong hai n^m Inception Elaboration Construction Transition 10% 30% 50% 10% 2,5 tháng 7 tháng 12 tháng 2,5 tháng 7-Aug-07 Phân tích và thit k h thng hng Či tng 115 Tin trình hp nhjt: góc nhìn kŒ thu`t Góc nhìn kŒ thu`t t`p trung vào vic tri3n khai, t( ch_c các hot Č ng kŒ thu`t Č3 to ra ph4n m+m Tin trình phát tri3n là m t dãy các bc l@p (iteration) Mti bc l@p to ra m t nguyên m“u th>c thi Čc H thng ln d4n theo s bc l@p cho Čn khi hoàn thành Mti bc l@p trãi qua tjt cC các giai Čon (hot Č ng) phát tri3n c( Či3n 7-Aug-07 Phân tích và thit k h thng hng Či tng 116 h8
- Tin trình hp nhjt: góc nhìn kŒ thu`t 0ti bc l@p g7m các hot Č ng: @c tC Phân tích Thit k Mã hóa Ki3m th9 Cài Č@t MFi bc l?p là m(t tin trình thác ČG 7-Aug-07 Phân tích và thit k h thng hng Či tng 117 Tin trình hp nhjt: góc nhìn kŒ thu`t Các bc l@p cho phép ki3m tra s> l>a chn công ngh s9 d:ng Ki3m tra tính khC thi v+ kŒ thu`t Bc l@p Č4u tiên Čc phát tri3n rjt nhanh, cho ra m“u th9 (thng bm loi bl) Các bc l@p cui cho ra phiên bCn β 7-Aug-07 Phân tích và thit k h thng hng Či tng 118 hO
- Tin trình hp nhjt: góc nhìn kŒ thu`t Bc l?p Kt qu" Bc l@p chuŠn bm M“u th9 (maquette) Bc l@p kin trúc Nguyên m“u kin trúc Bc l@p kin trúc Nguyên m“u kin trúc Bc l@p phát tri3n Nguyên m“u phát tri3n Bc l@p phát tri3n Nguyên m“u phát tri3n Bc l@p phát tri3n Phiên bCn β Bc l@p chuy3n giao Phiên bCn β Bc l@p chuy3n giao Phiên bCn chính th_c Thi gian 7-Aug-07 Phân tích và thit k h thng hng Či tng 119 Tin trình hp nhjt: kt hp hai góc nhìn Bc l?p Kt qu" Giai Čo ng Bc l@p phát tri3n Nguyên m“u phát tri3n Bc l@p phát tri3n Phiên bCn β Bc l@p chuy3n giao Phiên bCn β Chuy3n giao Bc l@p chuy3n giao Phiên bCn chính th_c Thi gian 7-Aug-07 Phân tích và thit k h thng hng Či tng 120 w0
- Rational Unified Process Tin trình hp nhjt Čc phát tri3n bsi công ty Rational Rational Unified Process (RUP) Ht tr phát tri3n hng Či tng Ph4n m+m RUP 7-Aug-07 Phân tích và thit k h thng hng Či tng 121 UML và Unified Process 7-Aug-07 Phân tích và thit k h thng hng Či tng 122 w1
- UM1 và Unified Process Hai giai Čon chính s9 d:ng UML Elaboration Short Use Case diagrams Analysis Class diagrams Construction Complete Use Case diagrams Design Class diagrams Interactions diagrams State diagrams Activity diagrams Package diagrams Deployment diagrams 7-Aug-07 Phân tích và thit k h thng hng Či tng 123 UML và Unified Process Inception Elaboration Construction Transition S= lc use case Mô hình khái nim Hoàn ch•nh use case Bi3u Č7 hot Č ng Phân tích Phân tích Bi3u Č7 trng thái Bi3u Č7 lp Thit k Thit k Bi3u Č7 t=ng tác Bi3u Č7 gói Bi3u Č7 tri3n khai Mã hóa Mã hóa Ki3m th9 Ki3m th9 Bc l@p 1 Bc l@p 2 H 7-Aug-07 Phân tích và thit k h thng hng Či tng 124 w2
- M. hình hoá yêu c8u œ Bi7u ČK ca sM d4ng (4) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 125 N i dung trình bày Ca s9 d:ng Tác nhân Bi3u Č7 ca s9 d:ng Cách xác Čmnh các ca s9 d:ng Sƒp xp các ca s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 126 wc
- Ca s9 d:ng (Use case) Bc Č4u tiên cka phân tích yêu c4u là xác Čmnh các ca s9 d:ng cka h thng M t ca sM d4ng là m t t=ng tác gi,a h thng và môi trng T`p hp các ca s9 d:ng là môtC toàn b h thng c4n xây d>ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 127 Ca s9 d:ng Ví d:: phát tri>n m@t ph<n mm tho vHn bn Các ca s9 d:ng có th3: Nh;p vHn bn mi S2a vHn bn Čã tKn tLi TLo mMc lMc Chép ČoLn vHn bn 7-Aug-07 Phân tích và thit k h thng hng Či tng 128 w4
- Ca s9 d:ng M t ca s9 d:ng t=ng _ng vi m t ch_c n^ng cka h thng di góc nhìn cOa ngPi sM d4ng M t ca s9 d:ng có th3 ln ho@c nhl M t ca s9 d:ng ch• ra làm th nào m t m4c tiêu cOa ngPi sM d4ng Čc thla mãn bsi h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 129 Ca s9 d:ng C4n phân bit các m4c tiêu cka ngi s9 d:ng và các t ng tác cka h vi h thng M:c tiêu: cái mà ngi s9 d:ng mong Či T=ng tác: kŒ thu`t cho phép Čáp _ng m:c tiêu Ví d: M:c tiêu: có Č89c m@t vHn bn trình bày ČOp T=ng tác: chPn Č4nh dLng trang, chPn font ch , Č4nh nghRa các ki>u tiêu Č (heading), Th>c t, chúng ta xác Čmnh các m:c tiêu trc, sau Čó chn t`p hp các t=ng tác Čáp _ng các m:c tiêu Čó 7-Aug-07 Phân tích và thit k h thng hng Či tng 130 wh
- Ca s9 d:ng Ví d:: c4n xây d>ng m t h thng ATM cho phép rút ti+n Có th3 có vài t=ng tác chung trong m t kmch bCn sau: a th• vào Nh`p mã PIN Chn s ti+n rút Khong Čmnh s ti+n rút Ljy th• ra Ljy ti+n Ljy phiu rút ti+n Các t=ng tác trên có là các ca s9 d:ng không ? 7-Aug-07 Phân tích và thit k h thng hng Či tng 131 Ca s9 d:ng Câu trC li: không. Ti sao ? Vì chong hn —Nh`p mã PIN“ không Čáp _ng m t m:c tiêu nào cka ngi s9 d:ng. M:c tiêu cka ngi s9 d:ng là —Rút ti+n“, v`y Čó nên là m t ca s9 d:ng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 132 ww
- Tác nhân (Actor) Tác nhân Čóng vai tròm t ngi s9 d:ng ho@c m t th>c th3 bên ngoài t=ng tác vi h thng Ví d:: 1 n h# th0ng tính tin 6 siêu th4 Các tác nhân có th3 là: Khách hàng, Ng8'i bán hàng, Ng8'i qun lð, Kho hàng C4n phân bit: tác nhân (actor) và ngi s9 d:ng (user) Nhi+u ngi s9 d:ng có th3 t=ng _ng m t tác nhân: nhiu ng8'i bán hàng khác nhau Čóng cùng vai tròČ0i vi h# th0ng M t ngi s9 d:ng có th3 t=ng _ng vi nhi+u tác nhân khác nhau: cùng m@t ng8'i có th> ČKng th'i Čóng hai vai tròlà ng8'i bán hàng và ng8'i qun lð 7-Aug-07 Phân tích và thit k h thng hng Či tng 133 Tác nhân Tác nhân không nhjt thit luôn luôn là con ngi Tác nhân có th3 là môi trng, h thng khác, th>c th3 bên ngoài t=ng tác vi h thng Ví d: Kho hàng là có th3 m t c=ss d, liu 7-Aug-07 Phân tích và thit k h thng hng Či tng 134 w7
- @c tC ca s9 d:ng @c tC Či3n hình cka m t ca s9 d:ng: Ca s9 d:ng: tên ca s9 d:ng thng bƒt Č4u bsi m t Č ng tv Các tác nhân: danh sách các tác nhân liên quan MôtC: tóm tƒt các x9 lðc4n th>c hin Ví d: Ca sM d4ng: Mua hàng Các tác nhân: Khách hàng, Ng8'i bán hàng Môt": M t khách hàng sau khi Čã chn các m@t hàng, mang gil hàng Čn qu4y thu ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng, thông báo t(ng s ti+n, thu ti+n và trC ti+n còn li cho khách hàng. Khách hàng mang hàng Či. 7-Aug-07 Phân tích và thit k h thng hng Či tng 135 @c tC ca s9 d:ng @c tC ca s9 d:ng có th3 thêm: Tham chiu (reference) Čn m:c liên quan trong Č@c tC yêu c4u i+u kin trc và Či+u kin sau khi th>c hin ca s9 d:ng Ví d: Ca sM d4ng: Mua hàng Các tác nhân: Khách hàng, Ng8'i bán hàng Tham chiu: R1.2, R2.3 Qi#u kin trc: Ngi bán hàng Čã Č^ng nh`p thành công. Qi#u kin sau: Các m@t hàng bán Čã Čc ghi nh`n và Čã ghi nh`n thanh toán ti+n. Môt": M t khách hàng sau khi Čã chn các m@t hàng, mang gil hàng Čn qu4y thu ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng, thông báo t(ng s ti+n, thu ti+n và trC ti+n còn li cho khách hàng. Khách hàng mang hàng Či. 7-Aug-07 Phân tích và thit k h thng hng Či tng 136 w8
- @c tC ca s9 d:ng Ngoài ra, Či vi mti ca s9 d:ng ta có th3 xây d>ng m t kmch bCn (scenario) hành Č ng môtC các s> kin xCy ra Kmch bCn: g7m các s> kin chính và các s> kin ngoi l Các s> kin chia làm hai lu7ng Lu7ng t=ng _ng vi các tác nhân Lu7ng t=ng _ng vi h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 137 @c tC ca s9 d:ng Các s> kin chính R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 1. M t 7hách hàng Ča hàng Čã chn mua Čn qu4y tính ti+n. 2. Ng8'i bán hàng ghi nh`n 3. Xác Čmnh m@t hàng, hi3n thm tvng m@t hàng. các thông tin và giá m@t hàng. Nu m t m@t hàng có s S này Čc hi3n thm. lng nhi+u h=n m t thì ng8'i bán hàng có th3 nh`p vào m t s. 7-Aug-07 Phân tích và thit k h thng hng Či tng 138 wO
- @c tC ca s9 d:ng Các s> kin chính (tip) R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 4. Sau khi Čã ghi nh`n tjt 5. Tính và hi3n thm t(ng s cC các m@t hàng, ng8'i bán ti+n. hàng báo hiu kt thúc vic ghi nh`n hàng. 6. Ng8'i bán hàng thông báo t(ng s ti+n phCi trC cho khách hàng. 7. Khách hàng trC ti+n cho ng8'i bán hàng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 139 @c tC ca s9 d:ng Các s> kin chính (tip) Hành Č(ng cOa tác nhân Hành Č(ng cOa h thng 8. Ng8'i bán hàng nh`p s 9. Hi3n thm ti+n dvà in phiu ti+n khách hàng trC. bán hàng 10. Ng8'i bán hàng xác 11. Ghi nh`n phiên bán hàng. nh`n s> trC ti+n, ljy ti+n d trC cho khách hàng và Ča cho khách hàng phiu bán hàng. 12. Khách hàng ri qu4y thu ti+n vi túi hàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 140 70
- @c tC ca s9 d:ng Các s> kin ph: R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 3. S> xác nh`n m@t hàng không Čúng. Hi3n thm lti. 7. Khách hàng không có Čk ti+n. Ng8'i bán hàng hky bl vic bán. Lu ð: Čmnh dng Č@c tC các ca s9 d:ng không c4n thit phCi ch@t ch•. 7-Aug-07 Phân tích và thit k h thng hng Či tng 141 Ca s9 d:ng Xác Čmnh càng nhi+u ca s9 d:ng m t cách có th3 Không Či vào quá chi tit, nhnm giCm Č ph_c tp M t môt" ngTn gUn v# mFi ca sM d4ng là Čk, có th3 bV qua ph8n kWch b"n, tham chiu Čn Č?c t" yêu c8u, Či#u kin trc và Či#u kin sau. BCo ČCm rnng các ca s9 d:ng bao quát ht các yêu c4u cka h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 142 71
- Bi3u Č7 ca s9 d:ng Bi3u Č7 ca s9 d:ng môtC quan h gi,a các tác nhân và các ca s9 d:ng cka m t h thng. Kí hiu Use case Tác nhân Kt hp ch• s> tham gia cka tác nhân vào ca s9 d:ng Gii hn cka h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 143 Bi3u Č7 ca s9 d:ng Ví d: Ghi nh`n Mua hàng Ngi bán hàng TrC hàng Khách hàng Ngi quCn lð Khsi Č ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 144 72
- Bi3u Č7 ca s9 d:ng Các tác nhân có th3 có quan h thva k Ví d: Khách hàng Cá nhân Công ty 7-Aug-07 Phân tích và thit k h thng hng Či tng 145 Quan h ms r ng Có th3 xCy ra trng hp: m t ca s9 d:ng t=ng t> vi m t ca s9 d:ng khác, tuy nhiên nó g7m thêm m t s hành Č ng Ví d: Ca sM d4ng: Mua hàng bng th tín dMng Các tác nhân: Khách hàng, Ng8'i bán hàng Môt": M t khách hàng sau khi Čã chn các m@t hàng, mang gil hàng Čn qu4y thu ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng, thông báo t(ng s ti+n. Khách hàng Ča th• vào máy và nh`p mã PIN. Khách hàng nh`n phiu bán hàng và mang hàng Či. 7-Aug-07 Phân tích và thit k h thng hng Či tng 146 7c
- fuan h ms r ng Ca s9 d:ng này là m t bin th3 cka ca s9 d:ng —mua hàng“, tuy nhiên thêm vào các hành Č ng liên quan Čn trC ti+n bnng th• Ca s9 d:ng —mua hàng bng th tín dMng“ là m t sE mA r(ng cka ca s9 d:ng —mua hàng“ 7-Aug-07 Phân tích và thit k h thng hng Či tng 147 Quan h ms r ng Kí hiu Mua hàng > Mua hàng bnng th• Quan h ms r ng Nu m t ca s9 d:ng kt hp vi m t tác nhân, thì tjt cC các ca s9 d:ng ms r ng Č+u kt hp vi tác nhân Čó 7-Aug-07 Phân tích và thit k h thng hng Či tng 148 74
- f"an h s9 d:ng Trng hp nhi+u ca s9 d:ng chia sY cùng m(t dãy các hành Č(ng. Nu ph4n chung là quan trng và hng ti m t m:c tiêu rõràng, nhth ta có th3 xây d>ng m t ca s9 d:ng riêng Ví d:: chúng ta mun chjp nh`n mua hàng tr tin m@t l c hin m t dãy các hành Č ng mà có th3 Čc môtC bsi ca s9 d:ng —ghi nh;n các mt hàng“ 7-Aug-07 Phân tích và thit k h thng hng Či tng 149 Quan h s9 d:ng @c tC cka ca s9 d:ng —ghi nh;n các mt hàng“ Ca sM d4ng: ghi nh;n các mt hàng Các tác nhân: ngi bán hàng, khách hàng Môt": Khách hàng mang các m@t hàng Čn qu4y tính ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng và thông báo t(ng s ti+n phCi trC. 7-Aug-07 Phân tích và thit k h thng hng Či tng 150 7h
- fuan h s9 d:ng Kí hiu Mua hàng trC > m t l4n Ghi nh`n > các m@t hàng Mua hàng trC góp Quan h s9 d:ng Ngc vi quan h ms r ng, các ca s9 d:ng trong quan h s9 d:ng không nhjt thit kt hp vi cùng tác nhân. 7-Aug-07 Phân tích và thit k h thng hng Či tng 151 Cách xác Čmnh các ca s9 d:ng Ph=ng pháp phlng vjn Khó kh^n, vì hai ngi khác nhau Čc phlng vjn có th3 Ča ra ð kin khác nhau Ph=ng pháp h i thCo (workshop) T`p hp tjt cC nh,ng ai liên quan Čn h thng Č3 thCo lu`n: các nhà tin hc và khách hàng (ngi s9 d:ng) Mti ngi Č+u Ča ra ð kin 7-Aug-07 Phân tích và thit k h thng hng Či tng 152 76
- Cách xác Čmnh các ca s9 d:ng Cách tin hành h i thCo Lit kê tjt cC các tác nhân có th3 Lit kê tjt cC các ca s9 d:ng có th3 Phân tích, bin ch_ng mti ca s9 d:ng bnng cách vit ra m t môtC Č=n giCn Môhình hóa các ca s9 d:ng và tác nhân 7-Aug-07 Phân tích và thit k h thng hng Či tng 153 Cách xác Čmnh các ca s9 d:ng Khuyn khích Không nên c gƒng tìm mi ca s9 d:ng, Trong quá trình phát tri3n các ca s9 d:ng s• l din d4n Nu không th3 bin ch_ng cho m t ca s9 d:ng Có th3 Čó không phCi là ca s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 154 77
- Sƒp xp các ca s9 d:ng Khi tjt cC các ca s9 d:ng Čã Čc xác Čmnh Tin trình phát tri3n g7m nhi+u bc l@p Mti bc l@p th>c hin thit k, mã hóa và ki3m th9 ch• m(t vài ca sM d4ng Làm sao chia các ca s9 d:ng vào các bc l@p? 7-Aug-07 Phân tích và thit k h thng hng Či tng 155 Sƒp xp các ca s9 d:ng L@p 1 L@p 2 L@p 3 A B D C Các ca s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 156 78
- Sƒp xp các ca s9 d:ng Các ca s9 d:ng nên Čc th>c hin trc Các ca s9 d:ng ch_a các nguy c= Các ca s9 d:ng kin trúc chính Các ca s9 d:ng Čòi hli nghiên c_u mi, công ngh mi Các ca s9 d:ng mà khách hàng quan tâm h=n 7-Aug-07 Phân tích và thit k h thng hng Či tng 157 Hoàn ch•nh các ca s9 d:ng Các ca s9 d:ng Čã Čc trình bày chi tit Ch• môtC ngƒn gn các ca s9 d:ng : tên ca s9 d:ng, các tác nhân, môtC ca s9 d:ng Hoàn ch•nh ca s9 d:ng : Thêm vào kmch bCn các lu7ng s> kin Thêm vào tham chiu Čn Č@c tC yêu c4u Thêm các Či+u kin trc và Či+u kin sau khi ca s9 d:ng xCy ra 7-Aug-07 Phân tích và thit k h thng hng Či tng 158 79
- Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng Ca sM d4ng: Mua hàng Các tác nhân: Khách hàng, Ng8'i bán hàng Môt": M t khách hàng sau khi Čã chn các m@t hàng, mang gil hàng Čn qu4y thu ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng, thông báo t(ng s ti+n, thu ti+n và trC ti+n còn li cho khách hàng. Khách hàng mang hàng Či. 7-Aug-07 Phân tích và thit k h thng hng Či tng 159 Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng hoàn ch•nh h=n Ca sM d4ng: Mua hàng Các tác nhân: Khách hàng, Ng8'i bán hàng Tham chiu: R1.2, R2.3 Qi#u kin trc: Ngi bán hàng Čã Č^ng nh`p thành công. Qi#u kin sau: Các m@t hàng bán Čã Čc ghi nh`n và Čã ghi nh`n thanh toán ti+n. Môt": M t khách hàng sau khi Čã chn các m@t hàng, mang gil hàng Čn qu4y thu ti+n. Ng8'i bán hàng ghi nh`n các m@t hàng, thông báo t(ng s ti+n, thu ti+n và trC ti+n còn li cho khách hàng. Khách hàng mang hàng Či. 7-Aug-07 Phân tích và thit k h thng hng Či tng 160 80
- Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng hoàn ch•nh h=n (2) Các sE kin chính R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 1. M t 7hách hàng Ča hàng Čã chn mua Čn qu4y tính ti+n. 2. Ng8'i bán hàng ghi nh`n 3. Xác Čmnh m@t hàng, hi3n thm tvng m@t hàng. các thông tin và giá m@t hàng. Nu m t m@t hàng có s S này Čc hi3n thm. lng nhi+u h=n m t thì ng8'i bán hàng có th3 nh`p vào m t s. 7-Aug-07 Phân tích và thit k h thng hng Či tng 161 Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng hoàn ch•nh h=n (3) Các sE kin chính Hành Č(ng cOa tác nhân Hành Č(ng cOa h thng 4. Sau khi Čã ghi nh`n tjt 5. Tính và hi3n thm t(ng s cC các m@t hàng, ng8'i bán ti+n. hàng báo hiu kt thúc vic ghi nh`n hàng. 6. Ng8'i bán hàng thông báo t(ng s ti+n phCi trC cho khách hàng. 7. Khách hàng trC ti+n cho ng8'i bán hàng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 162 81
- Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng hoàn ch•nh h=n (4) Các sE kin chính Hành Č(ng cOa tác nhân Hành Č(ng cOa h thng 8. Ig8'i bán hàng nh`p s 9. Hi3n thm ti+n dvà in phiu ti+n khách hàng trC. bán hàng 10. Ng8'i bán hàng xác 11. Ghi nh`n phiên bán hàng. nh`n s> trC ti+n, ljy ti+n d trC cho khách hàng và Ča cho khách hàng phiu bán hàng. 12. Khách hàng ri qu4y thu ti+n vi túi hàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 163 Hoàn ch•nh các ca s9 d:ng Ví d: ca s9 d:ng hoàn ch•nh h=n (5) Các sE kin ph4 Hành Č(ng cOa tác nhân Hành Č(ng cOa h thng 3. S> xác nh`n m@t hàng không Čúng. Hi3n thm lti. 7. Khách hàng không có Čk ti+n. Ng8'i bán hàng hky bl vic bán. 7-Aug-07 Phân tích và thit k h thng hng Či tng 164 82
- Bài t`p 1 Máy rút ti#n ATM có các ch_c n^ng chính nhsau: Cjp phát ti+n cho nh,ng ai có th• ngân hàng (cho phép rút m t s lng ti+n bsi h thng thông tin cka ngân hàng) và nh,ng ai có th• VISA (cho phép tv xa bsi h thng VISA) Cho xem ki3m tra s tin tài khoCn và bl ti+n vào tài khoCn bnng ti+n m@t ho@c ngân phiu Či vi nh,ng ai có th• ngân hàng Tjt cC các giao tác Č+u Čc ki3m tra an toàn Ki3m tra mã PIN Mã PIN nh`p sai 3 l4n thì th• s• bm —nut“ C4n phCi thng xuyên np ti+n vào máy, ljy ngân phiu và các th• bm nut ra Xác Čmnh các tác nhân, các ca s9 d:ng và v• bi3u Č7 ca s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 165 Bài t`p 1 Các tác nhân Ngi có th• ngân hàng (bankcard) Ngi có th• VISA (VISAcard) Ngi v`n hành máy (operator) H thng VISA (VISA) H thng thông tin ngân hàng (bank) 7-Aug-07 Phân tích và thit k h thng hng Či tng 166 83
- Bài t`p 1 Các ca s9 d:ng Rút ti+n vi th• ngân hàng (withdraw by bankcard) Rút ti+n vi th• VISA (withdraw by VISAcard) Ki3m tra mã PIN (identify) Xem s ti+n còn trong tài khoCn (balance) Bl ti+n vào tài khoCn bnng ngân phiu ho@c ti+n m@t (deposit) Np ti+n vào máy (put money) Ljy th• bm nut trong máy (get cards) Ljy ngân phiu trong máy (get cheques) 7-Aug-07 Phân tích và thit k h thng hng Či tng 167 Bài t`p 1 withdraw with VISA card VISAcard VISA withdraw with bank card balance bank bankcard deposit > > identify deposit by cheque deposit by cash 7-Aug-07 Phân tích và thit k h thng hng Či tng 168 84
- Bài t`p 1 put cash get cards operator get cheques 7-Aug-07 Phân tích và thit k h thng hng Či tng 169 Bài t`p 2 Qu"n lðČào t c hin hky bl. Cui khóa Čào to, nhân viên chuy3n phiu Čánh giá kt quC hc v+ cho công ty. Ngi quCn lðs• ki3m tra hóa Č=n thanh toán ti+n cka Č=n vm Čào to. Xây d>ng bi3u Č7 ca s9 d:ng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 170 85
- Bài t`p 3 Qu"n lðbán c m h(p: Công ty XXX có m t h thng nhà hàng XXX chuyên cung cjp c=m h p ti nhà. Hin ti các Č=n Č@t hàng Čc th>c hin bnng Čin thoi Čn các c9a hàng XXX. Công ty ch• có th3 x9 lðm t s có gii hn các Č=n Č@t hàng và mti khách hàng phCi bit rõth>c Č=n cung cjp bsi c9a hàng mà h liên lc (có th3 thay Č(i tùy theo c9a hàng). Công ty XXX mun tin hc hóa tin trình Č@t hàng / ch bin / giao hàng. Công ty mun xây d>ng ph4n m+m quCn lðtv xa các Č=n Č@t hàng, các nhà hàng, các nhân viên. Ph4n m+m cyng cho phép truy c`p xem các loi c=m h p qua internet, mti h p c=m có tên, giá và Cnh. i vi các h p c=m có món ^n nóng, m t khoCng thi gian tv lúc chuŠn bm Čn lúc giao hàng s• Čc gán cho h p c=m, nu khách hàng nh`n h p c=m trd h=n so vi thi gian quy Čmnh thì có th3 yêu c4u trC ti+n lui. Tuy nhiên, Č3 hn ch khC n^ng này, thì vic Č+ nghm trC lui không Čc th>c hin qua internet mà khách hành phCi vit Č=n Č+ nghm và g9i Čn ngi quCn lðcông ty. 7-Aug-07 Phân tích và thit k h thng hng Či tng 171 Bài t`p 3 Ngc li, Č=n Č@t hàng có th3 th>c hin bjt k’ lúc nào qua internet. Khách hàng c4n phCi có th• tín d:ng. Khi Č@t hàng, khách hàng c4n phCi cung cjp thông tin: h tên và Čma ch• giao hàng. M t Č=n Č@t hàng có th3 yêu c4u nhi+u h p c=m, loi h p c=m khác nhau và s lng tvng loi h p c=m. M t khi Čã Č@t hàng, khách hàng có th3 theo dõi Č=n Č@t hàng cka mình. Khi mà Č=n Č@t hàng cha Čc x9 lðthì khách hàng có th3 hky Č=n Č@t hàng. Các nhà hàng XXX ms c9a 24/24h. 3 bCo ČCm ph:c v: trên nhi+u Čma bàn và 24/24h, công ty hp Č7ng nhi+u nhân viên làm vic bán thi gian, chk yu là sinh viên. Mti nhân viên Čc cjp m t Čin thoi di Č ng Č3 tin liên lc. Khi c4n báo rnng nhân viên Čó rCnh rti, ch• c4n jn nút trên Čin thoi di Č ng ho@c ngc li jn m t nút khác Č3 thông báo nhân viên Čó b`n. Ngi quCn lðcó th3 xem trng thái cka toàn h thng thông qua Internet. Ngi quCn lðcó th3 giao nhim v: cho nhân viên làm vic s c9a hàng ho@c Či giao hàng. M t nhân viên có th3 thay Č(i Čma Či3m làm vic ho@c vai trò(làm vic ti c9a hàng hay Či giao hàng) nhi+u l4n trong m t ngày ph: thu c vào các Č=n Č@t hàng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 172 86
- Bài t`p 3 Khi Č@t hàng, khách hàng không ch• rl Č@t s c9a hàng nào, mà chính ngi quCn lðs• yêu c4u c9a hàng nào cung cjp và nhân viên nào giao hàng. M:c Čích là Č3 ngi quCn lðČ3 ti u thi gian, khoCng cách, hot Č ng gi,a các cka hàng và các nhân viên. Mti nhân viên giao hàng có ph=ng tin riêng Č3 Či giao hàng. H=n n,a, khi Či giao hàng nhân viên s• Čc cung cjp thit bm chuyên d:ng có tích hp GPS, cho phép Čmnh vm chính xác thông qua kt ni v tinh. Thit bm có m t màn hình cho phép nhân viên xem thông tin các Č=n Č@t hàng mà nhân viên Čó c4n th>c hin giao hàng, tra bCn Č7 và Čmnh vm các c9a hàng và Čma ch• khách hàng. Nhân viên giao hàng cyng s9 d:ng thit bm này Č3 thông báo khi nào anh ta th>c hin Č=n Č@t hàng nào và khi nào giao hàng cho khách hàng. Trong mti c9a hàng có m t nhân viên Čóng vai tròČi+u phi viên. Ti c9a hàng, ch• có Či+u phi viên là ngi duy nhjt s9 d:ng ph4n m+m còn các nhân viên khác chuŠn bm các món ^n. i+u phi viên xem các Č=n Č@t hàng c4n th>c hin, ch• rl khi nào bƒt Č4u chuŠn bm món ^n cho Č=n Č@t hàng, khi nào kt thúc và khi nào thì giao cho nhân viên giao hàng. Xây d>ng bi3u Č7 ca s9 d:ng, ch• xét các tác nhân là ngi s9 d:ng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 173 M.hình khái nim (5) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 174 87
- N i dung trình bày Môhình khái nim Xác Čmnh các khái nim Xác Čmnh các thu c tính Xác Čmnh các kt hp 7-Aug-07 Phân tích và thit k h thng hng Či tng 175 Môhình khái nim Xác Čmnh các —khái nim“ quan trng trong h thng Môhình khái nim (conceptual model) môtC các khái nim trong các quan h cka chúng UML không cung cjp môhình khái nim, tuy nhiên cung cjp kí hiu và cú pháp Č3 bi3u didn môhình Čó chính là bi7u ČK lp ™ giai Čon này, môhình khái nim còn Čc gi bi3u Č7 lp phân tích (analysis class diagram) œ lu ð, khác vi bi3u Č7 lp thit k (design class diagram) Ngoài ra, môhình khái nim cyng còn Čc gi là môhình l„nh v>c (domain model) 7-Aug-07 Phân tích và thit k h thng hng Či tng 176 88
- Môhình khái nim Môhình khái nim g7m: Các khái nim cka l„nh v>c nghiên c_u Các thu(c tính và các thao tác cka các khái nim này Các quan h cka các khái nim này M t khái nim là bi3u didn s m_c cao (trvu tng) v+ m t s> v`t M t khái nim là m t ph4n t9 cka l„nh v>c nghiên c_u, ch_ không phCi m t ph4n t9 cka ph4n m+m hay h thng 7-Aug-07 Phân tích và thit k h thng hng Či tng 177 Môhình khái nim Trong môhình khái nim, chúng ta s• nƒm bƒt các khái nim nh`n bit bsi khách hàng Ví d: các khái nim Čúng: khái nim gTn li#n vi v0n Č# Thang máy trong h thng Či+u khi3n thang máy Vé máy bay trong h thng Č@t vé máy may Q?t hàng trong h thng mua bán hàng qua mng Ví d: t7i v+ khái nim: khái nim gTn li#n vi gi"i pháp DanhSachKhachHang œ bCng các khách hàng EventTrigger œ tin trình th>c hin duyt h thng 10 phút m t l4n 7-Aug-07 Phân tích và thit k h thng hng Či tng 178 89
- Môhình khái nim Làm sao bit Čc m t khái nim là Čúng hay không? Nguyên tƒc: —Nu khách hàng không hi7u khái nim, r0t có th7 Čó không ph"i là khái nim“ Môhình khái nim s• Čc chuy3n d4n sang bi3u Č7 lp thit k trong giai Čon xây d>ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 179 Xác Čmnh các khái nim 3 xác Čmnh các khái nim, d>a vào Č@c tC yêu c4u, mà c: th3 h=n là d>a vào các ca s9 d:ng Ví d:: ca s9 d:ng —mua hàng“ Các khái nim có th3: KháchHàng, Ng8'iBánHàng, TínhTin, MuaHàng, MtHàng, 7-Aug-07 Phân tích và thit k h thng hng Či tng 180 O0
- Xác Čmnh các khái nim M t s _ng c9 viên cka khái nim tv Č@c tC ho@c ca s9 d:ng: Các Či tng v`t lð(xeôtô) Các vm trí, Čma Či3m (nhà ga) Các giao tác (thanh toán) Các vai tròcka con ngi (ngi bán) Các h thng khác s bên ngoài (c=ss d, liu tv xa) Danh tv trvu tng (s> khát, ^n ung) Các t( ch_c (Či hc) Các s> kin (cjp c_u) Nguyên tƒc/chính sách 7-Aug-07 Phân tích và thit k h thng hng Či tng 181 Xác Čmnh các khái nim Cách khác Č3 xác Čmnh các khái nim Các danh tv và c:m danh tv trong Č@c tC yêu c4u ho@c Č@c tC ca s9 d:ng có th3 là các khái nim D>a vào hi3u bit và kinh nghim loi bl các danh tv và c:m danh tv không là các khái nim Ví d:: d>a vào kmch bCn ca s9 d:ng —mua hàng“ Gch chân các danh tv và c:m danh tv 7-Aug-07 Phân tích và thit k h thng hng Či tng 182 O1
- ac Čmnh các khái nim Ví d: R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 1. M t 7hách hàng Ča hàng Čã chn mua Čn qu4y tính ti+n. 2. Ng8'i bán hàng ghi nh`n 3. Xác Čmnh m@t hàng, hi3n thm tvng m@t hàng. các thông tin và giá m@t hàng. Nu m t m@t hàng có s S này Čc hi3n thm. lng nhi+u h=n m t thì ng8'i bán hàng có th3 nh`p vào m t s. 7-Aug-07 Phân tích và thit k h thng hng Či tng 183 Xác Čmnh các khái nim Ví d: Hành Č(ng cOa tác nhân Hành Č(ng cOa h thng 4. Sau khi Čã ghi nh`n tjt 5. Tính và hi3n thm t(ng s cC các m@t hàng, ng8'i bán ti+n. hàng báo hiu kt thúc vic ghi nh`n hàng. 6. Ng8'i bán hàng thông báo t(ng s ti+n phCi trC cho khách hàng. 7. Khách hàng trC ti+n cho ng8'i bán hàng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 184 O2
- ac &mnh các khái nim Ví d: R nh Č(ng cOa tác nhân Hành Č(ng cOa h thng 8. Ig8'i bán hàng nh`p s 9. Hi3n thm ti+n dvà in phiu ti+n khách hàng trC. bán hàng 10. Ng8'i bán hàng xác 11. Ghi nh`n phiên bán hàng. nh`n s> trC ti+n, ljy ti+n d trC cho khách hàng và Ča cho khách hàng phiu bán hàng. 12. Khách hàng ri qu4y thu ti+n vi túi hàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 185 Xác Čmnh các khái nim Phân bit gi,a khái nim (concept) và thu c tính (attribut) Nu m t ph4n t9 cka l„nh v>c nghiên c_u không là m t con s ho@c m t chuti kí t> thì có th3 Čó là m t khái nim Ví d:: C4n xây d>ng ph4n m+m quCn lðcác chuyn bay. Yích cka m t chuyn bay là thu c tính cka m t chuyn bay hay là m t khái nim khác ? TrC li: Čích m t chuyn bay là m t sân bay, không phCi là m t con s hay v^n bCn, Čó là m t khái nim 7-Aug-07 Phân tích và thit k h thng hng Či tng 186 Oc
- ac Čmnh các khái nim Lp —MôTC“ Lp MôTC là lp ch_a thông tin môtC các Či tng khác Ví d:: Lp M@tHàng ch_a các thông tin v+ M@t Hàng M@tHàng mãMH tênMH: text giá sXêri màuSƒc Ph=ng án 1 (cha tt) 7-Aug-07 Phân tích và thit k h thng hng Či tng 187 Xác Čmnh các khái nim Lp —MôTC“ M@tHàng MôTCM@tHàng c môtC * 1 mãMH sXêri tênMH: text màuSƒc giá Ph=ng án 2 (tt h=n) 7-Aug-07 Phân tích và thit k h thng hng Či tng 188 O4
- ac &mnh các khái nim Lp —MôTC“ Khi nào s9 d:ng lp —MôTC“ Khi c4n giCm bt s> dthva, trùng l@p thông tin Khi c4n môtC v+ Či tng Č c l`p vi các Či tng c: th3 Khi c4n c4n duy trì thông tin v+ Či tng cho dù các Či tng c: th3 bm xóa 7-Aug-07 Phân tích và thit k h thng hng Či tng 189 Xác Čmnh các khái nim Lp —MôTC“ Ví d:: trong l„nh v>c hàng không, c4n môtC quan h gi,a các chuyn bay và các sân bay ChuynBay SânBay Bay Čn 1 ngày * tên gi sHiu Ph=ng án 1 7-Aug-07 Phân tích và thit k h thng hng Či tng 190 Oh
- ac &mnh các khái nim Lp —MôTC“ MôTCChuynBay SânBay Bay Čn * 1 tên sHiu 1 * ChuynBay Ph=ng án 2 ngày gi 7-Aug-07 Phân tích và thit k h thng hng Či tng 191 Bi3u didn khái nim S9 d:ng kí hiu cka bi3u Č7 lp MôtCM@tHàng Khái nim Các thu c tính Các thao tác (cha xét Čn s giai Čon này) 7-Aug-07 Phân tích và thit k h thng hng Či tng 192 Ow
- Thu c tính Các thu c tính (attribut) cka m t khái nim bi3u didn d, liu c4n thit cho các th3 hin (instance) cka khái nim Ví d: MôtCM@tHàng Khái nim mã Các thu c tính tên: text Ki3u (không bƒt bu c) 7-Aug-07 Phân tích và thit k h thng hng Či tng 193 Thu c tính M t thu c tính ch• Či din cho các d, liu liên quan Čn khái nim sA h5u thu c tính Čó Ví d: NgiBánHàng tên Sai sQu4y NgiBánHàng Qu4y úng tên s 7-Aug-07 Phân tích và thit k h thng hng Či tng 194 O7
- Thu c tính Cách xác Čmnh các thu c tính Các con s và chuti kí t> là các thu c tính Nu m t tính chjt cka m t khái nim không th3 làm Čc Či+u gì thì rjt có th3 Čó là thu c tính Nu nghi ng m t thu c tính là khái nim, thì Č=n giCn hãy coi Čó là khái nim Ví d:: l8Zng là thu c tính hay khái nim so vi khái nim công nhân ? Nu nghi ng Čó là khái nim thì coi nhl8Zng và công nhân là hai khái nim tách ri 7-Aug-07 Phân tích và thit k h thng hng Či tng 195 Thao tác Khái nim có th3 có các thao tác (operation) Thao tác cka khái nim chính là khC n^ng th>c hin cka m t th3 hin cka khái nim Ví d: M@tHàngBán Khái nim ngày Các thu c tính giBƒt4u: Time t(ngTi+n(): Integer Thao tác 7-Aug-07 Phân tích và thit k h thng hng Či tng 196 O8
- Thao tác ™ giai Čon elaboration, môhình khái nim có th3 không nh0t thit ph"i môt" các thao tác cka khái nim Giai Čon construction s• th>c hin công vic này m t cách chi tit và Č4y Čk 7-Aug-07 Phân tích và thit k h thng hng Či tng 197 Kt hp Kt hp (association) bi3u didn quan h gi,a các th3 hin cka các khái nim Ví d:: kt hp ch\a gi,a khái nim c2a hàng và khái nim mt hàng Kí hiu C9aHàng Ch_a > M@tHàng Kt hp 7-Aug-07 Phân tích và thit k h thng hng Či tng 198 OO
- Kt hp Có th3 t7n ti kt hp cka nhi+u h=n hai khái nim Ví d: Profession function Person work employ Company 7-Aug-07 Phân tích và thit k h thng hng Či tng 199 Kt hp B(i s (multiplicity) cka vai tròch• ra s th3 hin có th3 cka quan h tham gia vào quan h Các b i s có th3 1: ch• Čúng m t 1 *: tv m t Čn nhi+u *: tv 0 Čn nhi+u m n: tv m Čn n Ví d: 1 * C9aHàng Ch_a > M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 200 100
- Hn ch kt hp (qualificator) GiCm s th3 hin tham gia vào m t kt hp Kí hiu A key B qualificator Mti th3 hin A vi giá trm 7ey xác Čmnh m t t`p con các th3 hin B tham gia vào kt hp 7-Aug-07 Phân tích và thit k h thng hng Či tng 201 Hn ch kt hp (qualificator) Ví d: Phân bit các sinh viên hc ti m t Či hc d>a vào mã s sinh viên iHc No sinh viên SinhViên Phân bit các m@t hàng thu c vào m t danh m:c m@t hàng d>a vào mã s m@t hàng DanhM:cM@tHàng ID M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 202 101
- Chuyên bit hóa M t khái nim có th3 v+ c=bCn ging vi m t khái nim khác, ch• có m t vài s> khác nhau trên m t s tính chjt (thu c tính, thao tác, các kt hp) Khái nim th_ nhjt Čc gi là chuyên bit hóa (specialization) cka khái nim th_ hai Khái nim th_ nhjt Čc gi là khái nim chuyên bit hóa (specialized concept), khái nim th_ hai Čc gi là khái nim chung (general concept) 7-Aug-07 Phân tích và thit k h thng hng Či tng 203 Chuyên bit hóa Kí hiu general concept specialized concept specialized concept 7-Aug-07 Phân tích và thit k h thng hng Či tng 204 102
- Thva k Khái nim chuyên bit hóa thda k (inheritance) tjt cC các tính chjt cka cka khái nim chung. Các tính chjt này bao g7m: Các thu c tính Các thao tác Các kt hp vi khái nim khác 7-Aug-07 Phân tích và thit k h thng hng Či tng 205 Thva k Ví d: ThanhToán 1 thanh toán > 1 PhiênBánHàng t(ng: Integer ThanhToánBnngTi+nM@t ThanhToánBnngTh• Các khái nim —ThanhToánBnngTi+nM@t“ và —ThanhToánBnngTh•“ Č+u có thu c tính —t(ng“ và kt hp —thanh toán“ vi khái nim —PhiênBánHàng“ 7-Aug-07 Phân tích và thit k h thng hng Či tng 206 103
- Khái nim trvu tng T=ng t> nhlp, khái nim trvu tng không có các th3 hin Khái nim trvu tng ThanhToán 1 thanh toán > 1 PhiênBánHàng Čc vit in nghiêng t(ng: Integer ThanhToánBnngTi+nM@t ThanhToánBnngTh• Lu ð, trong tài liu vit tay có th3 vit {abstract} di tên khái nim trvu tng 7-Aug-07 Phân tích và thit k h thng hng Či tng 207 Quan h hp thành và quan h kt t`p Quan h hp thành (composition) và quan h kt t>p (agregation) là hai kt hp Č?c bit ch• sE sA hMu Quan h hp thành: m t khái nim thành ph4n ch• thu c vào m t khái nim toàn ph4n ToànPh4n M tPh4n Quan h kt t`p: m t khái nim thành ph4n có th3 thu c vào nhi+u khái nim toàn ph4n ToànPh4n M tPh4n 7-Aug-07 Phân tích và thit k h thng hng Či tng 208 104
- Quan h hp thành và quan h kt t`p Ví d: 3 1 Point Triangle Circle 1 Style 1 radius color isFilled M t th3 hin cka —Point“ không th3 Č7ng thi thu c vào m t th3 hin cka —Triangle“ và m t th3 hin cka —Circle“ 7-Aug-07 Phân tích và thit k h thng hng Či tng 209 Quan h hp thành và quan h kt t`p Quan h hp thành nh0n m<nh sE sA h5u: nu khái nim toàn ph4n bm hky bl thì khái nim thành ph4n cyng bm hky bl theo Trong trng hp, the tE cka các khái nim thành ph4n là quan trng, thì thêm vào kt hp Či+u kin {ordered} Ví d: {ordered} Point Polygon 3 * 7-Aug-07 Phân tích và thit k h thng hng Či tng 210 105
- Khái nim kt hp Có th3 môtC các tính ch0t cka m t kt hp gi,a hai khái nim bsi m t khái nim kt hp (association concept) Ví d: work employ Person 1 * * Company Employment Khái nim kt hp begin, end: Date 7-Aug-07 Phân tích và thit k h thng hng Či tng 211 Bài t`p 1 Xây d>ng môhình khái nim cka h thng/ph4n m+m bán hàng ti siêu thm Ph4n m+m bán hàng s9 d:ng ti siêu thm nhnm giúp ghi nh`n hot Č ng bán hàng, x9 lðcác thanh toán vi khách hàng. Ph4n m+m Čc s9 d:ng bsi ngi bán hàng và Čc quCn lðbsi ngi quCn lðsiêu thm. Ph4n m+m nhnm t> Č ng hóa công vic cka ngi bán hàng ti qu4y thu ti+n. 7-Aug-07 Phân tích và thit k h thng hng Či tng 212 106
- Bài t`p 1 1 MatHang * DongHang * 1 MoTaMatHang 1 * * * 1 1 1 1 * 1 * 1 PhienBanHang CuaHang DanhMucMatHang 1 1 * 1 1 * 1 1 1 * HeThongBanHang 1 1 QuayTinhTien 1 ThanhToan KháchHàng 1 1 1 NguoiQuanLy NgiBán NhânViên 7-Aug-07 Phân tích và thit k h thng hng Či tng 213 Bài t`p 2 Qu"n lðČào t c hin hky bl. Cui khóa Čào to, nhân viên chuy3n phiu Čánh giá kt quC hc v+ cho công ty. Ngi quCn lðs• ki3m tra hóa Č=n thanh toán ti+n cka Č=n vm Čào to. Xây d>ng bi3u môhình khái nim. 7-Aug-07 Phân tích và thit k h thng hng Či tng 214 107
- Bài t`p 3 Qu"n lðbán c m h(p: Công ty XXX có m t h thng nhà hàng XXX chuyên cung cjp c=m h p ti nhà. Hin ti các Č=n Č@t hàng Čc th>c hin bnng Čin thoi Čn các c9a hàng XXX. Công ty ch• có th3 x9 lðm t s có gii hn các Č=n Č@t hàng và mti khách hàng phCi bit rõth>c Č=n cung cjp bsi c9a hàng mà h liên lc (có th3 thay Č(i tùy theo c9a hàng). Công ty XXX mun tin hc hóa tin trình Č@t hàng / ch bin / giao hàng. Nh vào ph4n m+m Čó, công ty mun quCn lðtv xa các Č=n Č@t hàng, các nhà hàng, các nhân viên. Ph4n m+m cyng cho phép truy c`p xem các loi c=m h p qua internet, mti h p c=m có tên, giá và Cnh. i vi các h p c=m có món ^n nóng, m t khoCng thi gian tv lúc chuŠn bm Čn lúc giao hàng s• Čc gán cho h p c=m, nu khách hàng nh`n h p c=m trd h=n so vi thi gian quy Čmnh thì có th3 yêu c4u trC ti+n lui. Tuy nhiên, Č3 hn ch khC n^ng này, thì vic Č+ nghm trC lui không Čc th>c hin qua internet mà khách hành phCi vit Č=n Č+ nghm và g9i Čn ngi quCn lðcông ty. 7-Aug-07 Phân tích và thit k h thng hng Či tng 215 Bài t`p 3 Ngc li, Č=n Č@t hàng có th3 th>c hin bjt k’ lúc nào qua internet. Khách hàng c4n phCi có th• tín d:ng. Khi Č@t hàng, khách hàng c4n phCi cung cjp thông tin: h tên và Čma ch• giao hàng. M t Č=n Č@t hàng có th3 yêu c4u nhi+u h p c=m loi h p c=m khác nhau và s lng tvng loi h p c=m. M t khi Čã Č@t hàng, khách hàng có th3 theo dõi Č=n Č@t hàng cka mình. Khi mà Č=n Č@t hàng cha Čc x9 lðthì khách hàng có th3 hky Č=n Č@t hàng. Các nhà hàng XXX ms c9a 24/24h. 3 bCo ČCm ph:c v: trên nhi+u Čma bàn và 24/24h, công ty hp Č7ng nhi+u nhân viên làm vic bán thi gian, chk yu là sinh viên. Mti nhân viên Čc cjp m t Čin thoi di Č ng Č3 tin liên lc. Khi c4n báo rnng nhân viên Čó rCnh rti, ch• c4n jn nút trên Čin thoi di Č ng ho@c ngc li jn m t nút khác Č3 thông báo nhân viên Čó b`n. Ngi quCn lðcó th3 xem trng thái cka toàn h thng thông qua Internet. Ngi quCn lðcó th3 giao nhim v: cho nhân viên làm vic s c9a hàng ho@c Či giao hàng. M t nhân viên có th3 thay Č(i Čma Či3m làm vic ho@c vai trò(làm vic ti c9a hàng hay Či giao hàng) nhi+u l4n trong m t ngày ph: thu c vào các Č=n Č@t hàng. 7-Aug-07 Phân tích và thit k h thng hng Či tng 216 108
- Bài t`p 3 Khi Č@t hàng, khách hàng không ch• rl Č@t s c9a hàng nào, mà chính ngi quCn lðs• yêu c4u c9a hàng nào cung cjp và nhân viên nào giao hàng. M:c Čích là Č3 ngi quCn lðČ3 ti u thi gian, khoCng cách, hot Č ng gi,a các cka hàng và các nhân viên. Mti nhân viên giao hàng có ph=ng tin riêng Č3 Či giao hàng. H=n n,a, khi Či giao hàng nhân viên s• Čc cung cjp thit bm chuyên d:ng có tích hp GPS, cho phép Čmnh vm chính xác thông qua kt ni v tinh. Thit bm có m t màn hình cho phép nhân viên xem thông tin các Č=n Č@t hàng mà nhân viên Čó c4n th>c hin giao hàng, tra bCn Č7 và Čmnh vm các c9a hàng và Čma ch• khách hàng. Nhân viên giao hàng cyng s9 d:ng thit bm này Č3 thông báo khi nào anh ta th>c hin Č=n Č@t hàng nào và khi nào giao hàng cho khách hàng. Trong mti c9a hàng có m t nhân viên Čóng vai tròČi+u phi viên. Ti c9a hàng, ch• có Či+u phi viên là ngi duy nhjt s9 d:ng ph4n m+m còn các nhân viên khác chuŠn bm các món ^n. i+u phi viên xem các Č=n Č@t hàng c4n th>c hin, ch• rl khi nào bƒt Č4u chuŠn bm món ^n cho Č=n Č@t hàng, khi nào kt thúc và khi nào thì giao cho nhân viên giao hàng. Xây d>ng môhình khái nim. 7-Aug-07 Phân tích và thit k h thng hng Či tng 217 Bi7u ČK ho<t Č(ng (6) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 218 109
- Bi3u Č7 hot Č ng Ph=ng pháp phân tích và thit k truy+n thng Bi3u Č7 lu7ng d, liu (DFD œ Data-Flow Diagram) Ví d: Xem thôngtin Xét n6ngl>c Sinh viên 86ngkð mônhc sinh viên Mônhc 89nČ6ngkð Sinh viên 7-Aug-07 Phân tích và thit k h thng hng Či tng 219 Bi3u Č7 hot Č ng Ph=ng pháp phân tích và thit k HT Bi3u Č7 hot Č ng Xem thôngtin > mônhc 89nČ6ngkð 86ngkð > Sinh viên > Mônhc Xét n6ngl>c sinh viên 7-Aug-07 Phân tích và thit k h thng hng Či tng 220 110
- Bi3u Č7 hot Č ng Bi7u ČK ho c hin Ph4 thu(c có th3 gi,a các hot Č ng này M t hot Č ng t=ng _ng vi m t công vic s m_c trvu tng cao có m:c tiêu xác Čmnh 7-Aug-07 Phân tích và thit k h thng hng Či tng 221 Bi3u Č7 hot Č ng Các ho ng môhình khái nim D>a vào bi3u Č7 hot Č ng các thao tác s• Čc thêm vào môhình khái nim 7-Aug-07 Phân tích và thit k h thng hng Či tng 222 111
- Bi3u Č7 hot Č ng Kí hiu cka các hot Č ng Bƒt Č4u activity 1 Hot Č ng Chuy3n tip: activity 2 ch• activity 2 bƒt Č4u khi activity 1 kt thúc activity n Kt thúc 7-Aug-07 Phân tích và thit k h thng hng Či tng 223 Bi3u Č7 hot Č ng Ví d: các hot Č ng X9 lðhóa Č=n Hot Č ng @t hàng ^ng nh`p 7-Aug-07 Phân tích và thit k h thng hng Či tng 224 112
- Bi3u Č7 hot Č ng 7ng b hóa các hot Č ng activity 1 activity 2 activity n activity 1‘ activity n‘ Thanh Č7ng b ch• ra rnng các activity 1‘, , n‘ ch• bƒt Č4u khi tjt cC activity 1, , n kt thúc Các activity 1‘, , n‘ (cyng nh1, , n) có th3 th>c hin trong b0t ce the tE nào. Ho@c các activity này có th3 th>c hiên ČKng thPi. 7-Aug-07 Phân tích và thit k h thng hng Či tng 225 Bi3u Č7 hot Č ng 7ng b hóa có Či+u kin activity 1 activity 2 activity n [condition] activity 1‘ activity n‘ Ch• ra rnng condition phCi Čc Čánh giá mti khi m t trong các activity 1, , n kt thúc các activity 1‘, , n‘ ch• bƒt Č4u khi condition là Čúng 7-Aug-07 Phân tích và thit k h thng hng Či tng 226 113
- Bi3u Č7 hot Č ng Quyt Čmnh Ch• ra rnng cond. n phCi Čúng activity 0 trc khi bƒt Č4u activity n [cond. 1] [cond. 2] [cond. n] activity 1 activity 2 activity n 7-Aug-07 Phân tích và thit k h thng hng Či tng 227 Bi3u Č7 hot Č ng Quyt Čmnh kt hp: trong trng hp nu có nhi+u quyt Čmnh Či li+n nhau, thì c4n phCi bi3u didn bnng hot Č ng riêng Quyt Čmnh th_ nhjt activity 0 [cond. 1] [cond. 2] Hot Č ng bi3u didn activity 1 [cond. 3] quyt Čmnh th_ hai [cond. 4] activity 2 Quyt Čmnh th_ ba [cond. 5] [cond. 6] 7-Aug-07 Phân tích và thit k h thng hng Či tng 228 114
- Bi3u Č7 hot Č ng Ví d: Chn Čma Či3m L`p d> án ju th4u d> án [không chjp nh`n] [chjp nh`n] Xây d>ng thk công Xây d>ng ht tr máy móc Nghim thu 7-Aug-07 Phân tích và thit k h thng hng Či tng 229 Bi3u Č7 hot Č ng Hành lang (swimlane): dùng Č3 phân lu7ng các hot Č ng liên quan Čn các tác nhân ho@c h thng Khách hàng Ngi bán hàng Dmch v: ki3m duyt H thng Thanh toán bnng th• Nh`n th• Nh`p mã Ki3m duyt Trv vào th• 7-Aug-07 Phân tích và thit k h thng hng Či tng 230 115
- Bi3u Č7 hot Č ng Bài t`p: Máy rút ti+n ATM MôtC m t máy ATM. Các ch_c n^ng chính nhsau: Cjp phát ti+n cho nh,ng ai có th• ngân hàng (cho phép rút m t s lng ti+n bsi h thng thông tin cka ngân hàng) và nh,ng ai có th• VISA (cho phép tv xa bsi h thng VISA) Cho xem ki3m tra s tin tài khoCn và bl ti+n vào tài khoCn bnng ti+n m@t ho@c ngân phiu Či vi nh,ng ai có th• ngân hàng Tjt cC các giao tác Č+u Čc ki3m tra an toàn Ki3m tra mã PIN Mã PIN nh`p sai 3 l4n thì th• s• bm —nut“ C4n phCi thng xuyên np ti+n vào máy, ljy ngân phiu và các th• bm nut ra 7-Aug-07 Phân tích và thit k h thng hng Či tng 231 Bi3u Č7 hot Č ng Bài t`p MôtC vic rút ti+n vi m t th• VISA bnng bi3u Č7 hot Č ng. Th• có th3 là không hp l. Nu th• hp l, khách hàng có th3 nh`p mã PIN. Th• s• bm nut sau ba l4n nh`p không thành công. H thng ngân hàng cho phép rút m t s lng ti+n ti Ča ho@c tv chi vic rút ti+n. M t th• không Čc ljy li bsi khách hàng sau khi rút s• bm nut. Ti+n m@t không ljy bsi khách hàng s• bm máy thu h7i li. Phiu xác nh`n vic rút ti+n luôn Čc in trong khi khách hàng ch ljy ti+n. 7-Aug-07 Phân tích và thit k h thng hng Či tng 232 116
- Bi7u ČK tr<ng thái (7) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 233 Bi3u Č7 trng thái Bi3u Č7 trng thái (state diagram) môtC hành vi cka m t th3 hin cka m t khái nim (hay hành vi cka m t Či tng) Bi3u Č7 trng thái bao g7m: Các tr<ng thái cka m t th3 hin (Či tng) Các chuy7n tip cho phép chuy3n tv trng thái này sang trng thái khác Các sE kin cho phép vt qua các chuy3n tip 7-Aug-07 Phân tích và thit k h thng hng Či tng 234 117
- Trng thái M t tr c hin các hot Č ng và ch Či các s> kin Kí hiu tên Trng thái 7-Aug-07 Phân tích và thit k h thng hng Či tng 235 Chuy3n tip Các chuy7n tip (transition) gƒn li+n vi các hành Č ng kích hot bsi các s> kin Có hai loi chuy3n tip Chuy7n tip trong (interne transition) m t trng thái, cho phép trC li m t s> kin mà không ri trng thái Čó. Chuy7n tip gi5a các tr chuy3n trng thái. 7-Aug-07 Phân tích và thit k h thng hng Či tng 236 118
- Chuy3n tip Ví d:: các trng thái cka m t máy Či+u hòa LàmLnh Chuy3n tip trong HNhit /x9Lð() Chuy3n tip ngoài nhjnNútLnh LàmLnh Ssi•m nhjnNút•m 7-Aug-07 Phân tích và thit k h thng hng Či tng 237 Ví d: MôtC các trng thái cka khái nim —máy ATM“ ČaTh•Vào khsi ng i Hot Č ng tƒt ktThúc Trng thái bƒt Č4u S> kin Trng thái kt thúc 7-Aug-07 Phân tích và thit k h thng hng Či tng 238 119
- S> kin M t chuy3n tip có dng t(ng quát nhsau: S>Kin [i+uKin] / Hành ng —S>Kin“ là tên s> kin d“n Čn s> vt qua m t chuy3n tip —i+uKin“ là m t bi3u th_c logic phCi Čúng Č3 có th3 vt qua m t chuy3n tip —Hành ng“ Čmnh ngh„a m t thao tác Čc th>c hin khi vt qua chuy3n tip. 7-Aug-07 Phân tích và thit k h thng hng Či tng 239 S> kin Ví d:: các trng thái cka —bóng Čèn“ B`tCôngTƒc [ŸCƒmãNi] / b`tSáng() KhôngSáng Sáng 7-Aug-07 Phân tích và thit k h thng hng Či tng 240 120
- S> kin Č@c bit Có ba sE kin Č?c bit dành cho chuy3n tip trong m t trng thái entry và exit cho phép môtC các hot Č ng c4n phCi th>c hin lúc vào ho@c lúc ra trng thái do Č@c tC m t hot Č ng c4n phCi Čc th>c hin khi A trong trng thái Lu ð: khi các chuy3n tip trong có m t trong ba s> kin trên thì chúng không th3 có các bi3u th_c Či+u kin 7-Aug-07 Phân tích và thit k h thng hng Či tng 241 S> kin Č@c bit Ví d: Nh`pM`tKhŠu entry / không hi3n thm các kí t> nh`p vào exit / hi3n thm các kí t> nh`p vào do/ quCn lðnh`p vào cka ngi s9 d:ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 242 121
- Ví d: bi3u Č7 trng thái QuCn lði61Dcrj /chooseFirstProduct [notAllControled] [allControled and /chooseNextProduct Control allProductsAvailable] Delivery do / controlProduct() do / deliver() [allControled and allProductsNotAvailable] livered ReceptionProduct [allProductsAvailable] W aiting Delivered ReceptionProduct [allProductsNotAvailable] 7-Aug-07 Phân tích và thit k h thng hng Či tng 243 Trng thái ph_c hp Nhi+u trng thái và chuy3n tip ni các trng thái này có th3 nhóm li to nên m t tr<ng thái phec hp (composite state) M t trng thái ph_c hp ch_a m t trng thái Č4u Ví d: 7-Aug-07 Phân tích và thit k h thng hng Či tng 244 122
- Trng thái ph_c hp Active /chooseFirstProduct [notAllControled] [allControled and /chooseFirstProduct Control allAvailable] Delivery do / controlProduct() do / deliver() [allControled and allProductsNotAvailable] livered ReceptionProduct [allProductsNotAvailable] ReceptionProduct [allAvailable] W aiting cancel Delivered Cancel 7-Aug-07 Phân tích và thit k h thng hng Či tng 245 Trng thái cnh tranh Các tr<ng thái c<nh tranh (concurent state) t7n ti Č7ng thi bên trong m t trng thái ph_c hp Ví d:: x9 lðČ7ng thi —order“ và —payment“ W aiting Control Delivery Verification Payment 7-Aug-07 Phân tích và thit k h thng hng Či tng 246 123
- Trng thái lmch s9 ôi khi c4n ghi nh li trng thái cui cùng khi Či ra khli m t trng thái ph_c hp, ta s9 d:ng tr<ng thái lWch sM (history state) Ví d: Trng thái lmch s9 Ho<tQ(ng b`t H Tƒt nhjnNútLnh tƒt LàmLnh Ssi•m nhjnNút•m 7-Aug-07 Phân tích và thit k h thng hng Či tng 247 Ví d: Hãy môtC bi3u Č7 trng thái cka các khái nim sau: Hóa Č=n H thng bán hàng (ph4n m+m bán hàng s siêu thm) Thang máy 7-Aug-07 Phân tích và thit k h thng hng Či tng 248 124
- Ví d: H.a Č=n làmHóa=n thanhToán ChaThanhToán ãThanhToán 7-Aug-07 Phân tích và thit k h thng hng Či tng 249 Ví d: H thng bán hàng Nh`p m@t hàng tip theo Khánh Ča hàng Čn qu4y tính ti+n Nh`p m@t hàng ChBánHàng Nh`pM@tHàng Thanh toán Kt thúc nh`p ThanhToán 7-Aug-07 Phân tích và thit k h thng hng Či tng 250 125
- Ví d: Thang máy Lên(t)[t>t4ngHinTi và t ≤t4ngCaoNhjt] iLên [t=t4ngYêuC4u] Dvng Xung(t)[t ng bi3u Č7 trng thái môtC các trng thái cka xeh=i c4n s9a ch,a. 7-Aug-07 Phân tích và thit k h thng hng Či tng 252 126
- Bài t`p 2 MôtC các trng thái cka m t cun sách trong thvin Khi cun sách Čc nh`p vào thvin, nu cun sách Čó là bCn duy nhjt thì nó ch• Čc Čc ti ch(, nu có nhi+u bCn cka cun sách Čó thì nó có th3 dùng Č3 cho mn. Th`m chí có nhi+u bCn cka cun sách, ngi thk thcó quy+n thay Č(i các bCn Čó thành loi tài liu ch• Čc Čc ti ch(. Nu m t cun sách Čc cho mn m t thi gian xác Čmnh mà nó không Čc trC li thì coi nh là bm mjt và sau Čó 1 n^m thì bm xóa ra khli CSDL. Tuy nhiên, nu sau Čó tìm thjy thì nó li sn sàng Č3 cho mn. Trong trng hp cun sách quá cy và hhlng thì nó s• bm loi bl. Cun sách có th3 Čc thay th cun mi ho@c bm xóa khli CSDL. Không th3 Č@t trc sách mà hin ti không có trong thvin. 7-Aug-07 Phân tích và thit k h thng hng Či tng 253 Bi3u Č7 lp Nhƒc li: giai Čon elaboration Čã xây d>ng môhình khái nim hay còn gi là bi3u Č7 lp phân tích Giai Čon construction xây d>ng bi7u ČK lp (class diagram) chi tit hay còn gi là bi3u Č7 lp thit k (design class diagram) Bi3u Č7 lp nhth là m t bc chi tit hóa môhình khái nim 7-Aug-07 Phân tích và thit k h thng hng Či tng 254 127
- Bi7u ČK lp (8) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 255 Bi3u Č7 lp Bi3u Č7 lp Čmnh ngh„a: Các lp (class) Các thu(c tính (attribut) cka lp: các bin và ki3u cka chúng Các thao tác (operation) cka lp: các ph=ng th_c (method), các tham Či và có th3 giá trm trC v+ Các quan h gi,a các lp 7-Aug-07 Phân tích và thit k h thng hng Či tng 256 128
- Bi3u Č7 lp Bi3u Č7 lp có cùng quy tƒc cú pháp vi môhình khái nim Th>c ra, môhình khái nim s9 d:ng các cú pháp cka bi3u Č7 lp trong UML T0t c" các kí hiu và quy tTc (Čã trình bày) Či vi môhình khái nim Č#u Čc sM d4ng Č7 xây dEng bi7u ČK lp Bi3u Č7 lp Čc xây d>ng d>a trên môhình khái nim Các lp có th3 chk yu là các khái nim ho@c các thành ph8n khác Bi3u Č7 lp s• là n+n tCng cho bc mã hóa 7-Aug-07 Phân tích và thit k h thng hng Či tng 257 Bi3u Č7 lp i vi bi3u Č7 lp, mti thu c tính hay mti ph=ng th_c có th3 có thêm m_c khC kin œ khC n^ng nhìn thjy (visibility) Kí hiu —œ“ mec riêng (priviate), thu c tính hay ph=ng th_c ch• Čc nhìn thjy bsi Či tng cka lp Čó —#“ mec b"o v (protected), thu c tính hay ph=ng th_c ch• Čc nhìn thjy bsi Či tng cka lp Čó và Či tng cka các lp thva k lp Čó —+“ mec chung (public), thu c tính hay ph=ng th_c ch• Čc nhìn thjy bsi Či tng cka tjt cC các lp 7-Aug-07 Phân tích và thit k h thng hng Či tng 258 129
- Bi3u Č7 lp Ví d: Tên lp Shape Thu c tính J origin : Point n setOrigin(p : Point) Ph=ng th_c n getOrigin() : Point) n move(p : Point) n resize(s : Scale) n display() m pointInShape(p : Point) : Boolean 7-Aug-07 Phân tích và thit k h thng hng Či tng 259 Bi3u Č7 lp Thu c tính d“n xujt (derived attribut) là các thu c tính cka bi3u Č7 lp mà có th3 suy ra tv các thu c tính khác. Kí hiu: thu c tính d“n xujt bƒt Č4u bsi —o“, m t ràng bu c có th3 Či kèm Č3 giCi thích s> d“n xujt Ví d: Person Ràng bu c name Thu c tính d“n xujt birthDate {age = CurrentDateœ birthDate} o age 7-Aug-07 Phân tích và thit k h thng hng Či tng 260 130
- Bi3u Č7 lp Các quan h gi,a các lp Quan h kt hp (association) Quan h chuyên bit hóa/t(ng quát hóa (specialization/generalization) Quan h hp thành (composition) Quan h kt t`p (agregation) Quan h ph: thu c (dependence) 7-Aug-07 Phân tích và thit k h thng hng Či tng 261 Bi3u Č7 lp Quan h kt hp (association) Quan h kt hp 1 * Qu4yHàng Ch_a > M@tHàng Quan h chuyên bit hóa/t(ng quát hóa (specialization/generalization) NhânViên Quan h t(ng quát hóa NgiBánHàng NgiQuCnLð 7-Aug-07 Phân tích và thit k h thng hng Či tng 262 131
- Bi3u Č7 lp Quan h kt t`p (agregation) Quan h 0 * Company * Person Quan h hp thành (composition) Quan h DanhM:cM@tHàng 1 * M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 263 Bi3u Č7 lp Quan h ph: thu c (dependence): môtC m t lp ph4 thu(c vào lp khác Ví d: Quan h ph: th c Circle Point center : Point 7-Aug-07 Phân tích và thit k h thng hng Či tng 264 132
- Bi3u Č7 lp Ví d:: chuy7n ČGi môhình khái nim thành bi7u ČK lp GiC s9 môhình khái nim ThanhToán 1 thanh toán > 1 PhiênBánHàng ThanhToánBnngTi+nM@t ThanhToánBnngTh• 7-Aug-07 Phân tích và thit k h thng hng Či tng 265 Bi3u Č7 lp Chi tit các thu c tính ThanhToán 1 thanh toán > 1 PhiênBánHàng t(ng : Integer ThanhToánBnngTi+nM@t ThanhToánBnngTh• 7-Aug-07 Phân tích và thit k h thng hng Či tng 266 133
- Bi3u Č7 lp Chi tit các ph=ng th_c ThanhToán 1 thanh toán > 1 PhiênBánHàng t(ng : Integer tínhT(ng() : Integer ThanhToánBnngTi+nM@t ThanhToánBnngTh• nh`nTi+n() trvVàoTh•() 7-Aug-07 Phân tích và thit k h thng hng Či tng 267 Bi3u Č7 lp Xác Čmnh các m_c khC kin ThanhToán 1 thanh toán > 1 PhiênBánHàng m t(ng : Integer n tínhT(ng() : Integer ThanhToánBnngTi+nM@t ThanhToánBnngTh• n nh`nTi+n() n trvVàoTh•() 7-Aug-07 Phân tích và thit k h thng hng Či tng 268 134
- Bi3u Č7 lp Bài t`p 1: Trung tâm Čào to tin hc C4n xây d>ng ph4n m+m quCn lðČào to s m t trung tâm tin hc tnhân. M t chuyên Č+/môn hc Čc môtC bsi m t s thông tin nhtên, thi lng, Mti chuyên Č+ có th3 Čc ms nhi+u khóa trong m t n^m. Mti khóa mang m t s thông tin nhngày bƒt Č4u, giá, M t khóa hc thng Čc dy bsi nhi+u giáo viên, trong Čó có m t giáo viên chmu trách nhim chính. Mti giáo viên dy nhi+u khóa trong m t n^m. Ph4n m+m c4n ghi nh`n s gi dy mti giáo viên. Mti giáo viên có m t vài thông tin cá nhân, nhtên, Čma ch•, Mti khóa hc có m t s hc viên. Hc viên g7m hai loi: các hc viên t> do và các hc viên là nhân viên các công ty Či tác. Mti hc viên có m t s thông tin cá nhân, nhtên, Čma ch•, Nu hc viên là nhân viên các công ty Či tác c4n ghi nh`n thêm tên và Čma ch• công ty. Ph4n m+m c4n quCn lðriêng r• (Č@c bit là vic thu ti+n) cka hai loi hc viên trên. Xây d>ng bi3u Č7 lp. 7-Aug-07 Phân tích và thit k h thng hng Či tng 269 Bi3u Č7 lp Bài t`p 2: Công ty XXX có m t h thng nhà hàng XXX chuyên cung cjp c=m h p ti nhà. Chi tit môhình khái nim Čã xây d>ng bnng cách thêm các thu c tính 7-Aug-07 Phân tích và thit k h thng hng Či tng 270 135
- Bi7u ČK t ng tác (9) Nguyn Thanh Bình Khoa Công Ngh Thông Tin Trng i hc Bách khoa, i hc à Nng 7-Aug-07 Phân tích và thit k h thng hng Či tng 271 Bi3u Č7 t=ng tác Bi3u Č7 t=ng tác môtC hành vi cka h thng Mti bi3u Č7 t=ng tác t=ng _ng m t tác v4 Čc thEc hin bAi m(t s các Či tng Bi3u Č7 t=ng tác xây d>ng d>a trên n+n tCng cka bi3u Č7 hot Č ng và bi3u Č7 trng thái Bi3u Č7 t=ng tác môtC các hành Č ng cka các Či tng Č3 th>c hin m t tác v:. Các hành Č ng cka Či tng bao g7m: gMi các thông Čip (message) gi,a các Či tng t<o (create) và hOy (destroy) các Či tng 7-Aug-07 Phân tích và thit k h thng hng Či tng 272 136
- Bi3u Č7 t=ng tác Có hai loi bi3u Č7 t=ng tác: Bi3u Č7 tu4n t> Bi3u Č7 c ng tác 7-Aug-07 Phân tích và thit k h thng hng Či tng 273 Bi3u Č7 tu4n t> Bi3u Č7 tu4n t> (sequence diagram) bi3u didn s> t=ng tác gi,a các Či tng bnng vic nhjn mnh th_ t> trao Č(i thông Čip gi,a các Či tng Bi3u Č7 tu4n t> g7m: các Či tng các thông Čip trao Č(i gi,a các Či tng 7-Aug-07 Phân tích và thit k h thng hng Či tng 274 137
- Bi3u Č7 tu4n t> Mti i tng có m t Čng sinh t7n (lifeline) bi3u didn thi gian t7n ti cka nó. i tng Kí hiu object object:Class :Class ng sinh t7n 7-Aug-07 Phân tích và thit k h thng hng Či tng 275 Bi3u Č7 tu4n t> Thi gian hot Č ng (activation) là thi gian mà Či tng Čang th>c hin m t thao tác Kí hiu object Thi gian hot Č ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 276 138
- Bi3u Č7 tu4n t> M t thông Čip Č@c tC trao Č(i gi,a các Či tng Các loi thông Čip Gi (call) TrC v+ (return) G9i (send) To (create) Hky (destroy) 7-Aug-07 Phân tích và thit k h thng hng Či tng 277 Bi3u Č7 tu4n t> Thông Čip gi gi m t ph=ng th_c/thao tác trên Či tng i tng gi phCi Či thông Čip Čc th>c hin kt thúc mi có th3 th>c hin công vic khác (thông Čip Č7ng b ) M t Či tng có th3 g9i thông Čip cho chính nó Kí hiu object A object B object message() G9i thông Čip gi G9i cho chính nó 7-Aug-07 Phân tích và thit k h thng hng Či tng 278 139
- Bi3u Č7 tu4n t> Thông Čip trC v+ trC v+ m t giá trm cho Či tng gi Kí hiu Object A Object B message() value Thông Čip trC v+ 7-Aug-07 Phân tích và thit k h thng hng Či tng 279 Bi3u Č7 tu4n t> Thông Čip g9i g9i m t tín hiu Čn m t Či tng Khác vi thông Čip gi, khi Či t=ng g9i thông Čip g9i nó không ch Či, mà tip t:c th>c hin công vic khác (thông Čip không Č7ng b ) Kí hiu object A object B message() Thông Čip g9i 7-Aug-07 Phân tích và thit k h thng hng Či tng 280 140
- Bi3u Č7 tu4n t> Thông Čip to gi ph=ng th_c to m t Či tng Thông Čip hky gi ph=ng th_c hky m t Či tng Kí hiu Thông Čip to object A > object B > Thông Čip hky 7-Aug-07 Phân tích và thit k h thng hng Či tng 281 Bi3u Č7 tu4n t> Ví d: public class A { :A private B objB; public void msg1() msg1 > { :B objB= new B(); objB.msg2(); msg2 objB.msg3(); } } msg3 public class B { H public void msg2() { H } public void msg3() { H } } 7-Aug-07 Phân tích và thit k h thng hng Či tng 282 141
- Bi3u Č7 tu4n t> M t thông Čip có th3 Čc g9i l@p nhi+u l4n G9i l@p thông Čip 10 l4n Kí hiu object A object B *[1 10]message() for(i = 1; i M t thông Čip có th3 Čc g9i l@p nhi+u l4n ph: thu c vào m t Či+u kin G9i l@p thông Čip trong khi C Čúng Kí hiu object A object B *[C]message() while(C) { objectB.message() } 7-Aug-07 Phân tích và thit k h thng hng Či tng 284 142
- Bi3u Č7 tu4n t> M t thông Čip có th3 Čc g9i ph: thu c vào Či+u kin r• nhánh Kí hiu object A object B object C [C]message() if(C) objectB.message(); else [not C]message() objectC.message(); 7-Aug-07 Phân tích và thit k h thng hng Či tng 285 Bi3u Č7 tu4n t> M t thông Čip có th3 Čc gi Č quy Kí hiu Thông Čip Č quy :BinaryTree print() print() 7-Aug-07 Phân tích và thit k h thng hng Či tng 286 143
- Bi3u Č7 tu4n t> Ví d: :TàiLiu :MáyFax :DâyinThoi gi() nhjcMáy() âmMi bjmS(s) ČãKtNi ČãKtNi g9i(trang) chuy3n(trang) 7-Aug-07 Phân tích và thit k h thng hng Či tng 287 Bi3u Č7 tu4n t> Ví d: :NgiBán :MáyTínhTi+n :PhiênBánHàng thanhToán(sTi+n) thanhToán(sTi+n) > :ThanhToán thanhToán(sTi+n) ti+nD ti+nD trCTi+nD() > 7-Aug-07 Phân tích và thit k h thng hng Či tng 288 144
- Bi3u Č7 tu4n t> Gi,a bi3u Č7 t=ng tác và bi3u Č7 lp và có mi quan h ch@t ch• vi nhau Ví d: MáyTínhTi+n PhiênBánHàng msThanhToán() thanhToán() :MáyTínhTi+n :PhiênBánHàng msThanhToán(sTi+n) thanhToán(sTi+n) 7-Aug-07 Phân tích và thit k h thng hng Či tng 289 Bi3u Č7 t=ng tác Có hai loi bi3u Č7 t=ng tác: Bi3u Č7 tu4n t> Bi3u Č7 c ng tác 7-Aug-07 Phân tích và thit k h thng hng Či tng 290 145
- Bi3u Č7 c ng tác Bi3u Č7 c ng tác (collaboration diagram) môtC s> t=ng tác gi,a các Či tng bnng vic nhjn mnh cju trúc kt hp gi,a các Či tng và nh,ng thông Čip trao Č(i gi,a chúng Bi3u Č7 c ng tác là s> ms r ng cka bi3u Č7 Či tng Bi3u Č7 c ng tác ch• ra th_ t> g9i các thông Čip: mti thông Čip Čc gán m t s tu4n t> Či+u kin g9i các thông Čip 7-Aug-07 Phân tích và thit k h thng hng Či tng 291 Bi3u Č7 c ng tác Cju trúc thông Čip Čc môtC dng t(ng quát nhsau: precondition / condition sequence* *||iteration : result :=message(parameters) —precondition /“: danh sách s tu4n t> cka các thông Čip trc thông Čip c4n g9i. Thông Čip ch• Čc g9i Či khi tjt cC các thông Čip trc nó Čã Čc g9i Či. —condition“: thông Čip ch• Čc g9i Či khi Či+u kin Čc thla mãn. —sequence“: s tu4n t> cka thông Čip c4n g9i. Ví d:, vic g9i thông Čip 1.3.5 theo sau vic g9i thông Čip 1.3.4, cC hai thông Čip này nnm trong lu7ng 1.3. —*“: ch• ra thông Čip Čc g9i Či nhi+u l4n m t cách tu4n t>. —*||“: ch• ra thông Čip Čc g9i Či nhi+u l4n m t cách Č7ng thi. —iteration“: ch• ra s l4n g9i thông Čip m t cách tu4n t> ho@c Č7ng thi —result“: ch• ra giá trm trC v+ cka thông Čip. —message“: tên thông Čip —parameters“: danh sách các tham s cka thông Čip. 7-Aug-07 Phân tích và thit k h thng hng Či tng 292 146
- Bi3u Č7 c ng tác Ví d: N : hello() : thông Čip có s tu4n t> là 4. [time = 12h] 1 : lunch() : thông Čip này ch• Čc g9i Či nu là lúc 12h. 1.3.5 * call() : thông Čip này Čc g9i Či nhi+u l4n. 3 / *|| [i:= 1 5] 1.2 : close() : thông Čip này Čc g9i Či n^m l4n m t cách Č7ng thi và sau thông Čip s 3. 1.2, 2.3 / [t > 2 : trCTi+nD() 1.1.3 : ti+nD() 1.1.2 : thanhToán(sTi+n) 1.1.4 : > 1.2 ti+nD() :HThng :PhiênBánHàng 1.1 : thanhToán(sTi+n) 7-Aug-07 Phân tích và thit k h thng hng Či tng 294 147