Phân tích và thiết kế hệ thống hướng đối tượng

pdf 184 trang vanle 2450
Bạn đang xem 20 trang mẫu của tài liệu "Phân tích và thiết kế hệ thống hướng đối tượng", để 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:

  • pdfphan_tich_va_thiet_ke_he_thong_huong_doi_tuong.pdf

Nội dung text: Phân tích và thiết kế hệ thống hướng đối tượng

  1. Phân tích và thi t 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 ni m 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 ni m  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
  2. 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 li u 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
  3. 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
  4. 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, li u (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
  5. 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 Či p (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
  6. gng Či tng  Phân bi t  L`p trình cju trúc  Thu`t toán + cju trúc d, li u = 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, li u 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
  7. i tng  i tng (object) là khái ni m 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 hi n các ch_c n^ng cka Či tng  mnh danh th3 hi n 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
  8. 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 hi n bsi chính nó, ho@c th>c hi n khi có yêu c4u tv môi trng (thông Či p 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
  9. Diao tip gi,a các Či tng  Các Či tng giao tip vi nhau  G9i thông Či p (message) cho nhau Thông Či p i tng A i tng B  Các loi thông Či p  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
  10. Lp  Lp là khái ni m 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
  11. 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 hi n (instance) cka lp  Giá trm là th3 hi n cka thu c tính  Liên kt là th3 hi n 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
  12. Các tính chjt cka HT  Tính Čóng gói (encapsulation)  d, li u + x, lð d, li u = Č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 vi c 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 bi t 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 bi t 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
  13. 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 bi t: XeKhách  Lp chuyên bi t 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
  14. 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 ki m 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
  15. 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 hi n Č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 hi n 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
  16. )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 ni m 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 thi u t(ng quan UML  UML œ m t ngôn ng,  Các khái ni m c=bCn cka UML 7-Aug-07 Phân tích và thit k h thng hng Či tng 32 16
  17. Khái ni m 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 ni m 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 ti n 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 thi n 7-Aug-07 Phân tích và thit k h thng hng Či tng 34 17
  18. Khái ni m 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, li u: 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 hi n 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 ni m 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 hi n Č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
  19. 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
  20. 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 ni m)  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, li u 7-Aug-07 Phân tích và thit k h thng hng Či tng 40 20
  21. 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
  22. 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
  23. 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 ni m 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í hi u 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
  24. 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 hi n các môphlng 7-Aug-07 Phân tích và thit k h thng hng Či tng 48 24
  25. U01 œ ngôn ng, Č3 l`p tài li u  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 li u Č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 ni m 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
  26. 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 di n (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
  27. 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 di n (interface)  M t giao di n 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 di n Č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
  28. 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 hi n 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
  29. 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
  30. 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 Či p (message) trao Č(i gi,a các Či tng  M t thông Či p Č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
  31. 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
  32. 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 t p 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
  33. 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
  34. 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 hi n 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 hi n) 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
  35. 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
  36. 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 hi n cka lp tivi:M@tHàng Či nT9:Qu4yHàng tkLnh:M@tHàng 7-Aug-07 Phân tích và thit k h thng hng Či tng 72 cw
  37. 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
  38. 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> ki n 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
  39. 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 Či p 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àiLi u :MáyFax :Dâyi nThoi 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
  40. Bi3u Č7 t=ng tác  Bi3u Č7 c ng tác (collaboration diagram) môtC s> trao Č(i các thông Či p 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àiLi u :MáyFax :Dâyi nThoi 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 H Thng KháchHàng SCnPhŠm DB Interface 7-Aug-07 Phân tích và thit k h thng hng Či tng 80 40
  41. 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
  42. G.c nhìn h thng  H thng Čc th3 hi n 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
  43. 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 hi n 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
  44. 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
  45. 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
  46. 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 ti n 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
  47. N i dung trình bày  Khái ni m 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: hi u 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
  48. 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í hi u  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
  49. 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
  50. 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
  51. 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
  52. 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 hi n, 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
  53. Tin trình hp nhjt: góc nhìn quCn lð @t vjn Č+ Vjn Č+ GiCi quyt vjn Č+ GiCi pháp Th>c hi n KhAi Č8u So c hi n  á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 hi n và chi phí  Xây d>ng ph=ng án th>c hi n  á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
  54. Tin trình hp nhjt: góc nhìn quCn lð  Khsi Č4u  c th>c hi n bsi các các chuyên gia v+ thm trng và nhà tin hc  Quyt Čmnh th>c hi n 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 hi n 7-Aug-07 Phân tích và thit k h thng hng Či tng 108 hW
  55. Tin trình hp nhjt: góc nhìn quCn lð  Son thCo  Th>c hi n 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
  56. 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 hi n 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
  57. 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 luy n 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
  58. 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 vi c 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
  59. 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 ti n 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
  60. Tin trình hp nhjt: góc nhìn kŒ thu`t Bc l?p K t 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 K t 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
  61. 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
  62. 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 ni m 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
  63. 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
  64. 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
  65. 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 bi t 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
  66. 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
  67. 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 bi t: 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, li u 7-Aug-07 Phân tích và thit k h thng hng Či tng 134 w7
  68. @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 hi n  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 ki n trc và Či+u ki n sau khi th>c hi n 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 chi u: 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
  69. @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> ki n xCy ra  Kmch bCn: g7m các s> ki n chính và các s> ki n ngoi l  Các s> ki n 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> ki n 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
  70. @c tC ca s9 d:ng  Các s> ki n 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 hi u kt thúc vi c 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> ki n 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
  71. @c tC ca s9 d:ng  Các s> ki n 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 vi c 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 chi u Č 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
  72. 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í hi u 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
  73. 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
  74. 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í hi u 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
  75. 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 hi n 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
  76. fuan h s9 d:ng  Kí hi u 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
  77. Cách xác Čmnh các ca s9 d:ng  Cách tin hành h i thCo  Li t kê tjt cC các tác nhân có th3  Li t kê tjt cC các ca s9 d:ng có th3  Phân tích, bi n 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 di n d4n  Nu không th3 bi n 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
  78. 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 hi n 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
  79. Sƒp xp các ca s9 d:ng  Các ca s9 d:ng nên Čc th>c hi n 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> ki n  Thêm vào tham chiu Čn Č@c tC yêu c4u  Thêm các Či+u ki n trc và Či+u ki n 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
  80. 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 chi u: 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
  81. 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 hi u kt thúc vi c 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
  82. 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 vi c bán. 7-Aug-07 Phân tích và thit k h thng hng Či tng 164 82
  83. 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
  84. 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
  85. 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 hi n 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
  86. 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à. Hi n ti các Č=n Č@t hàng Čc th>c hi n bnng Či n 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ì vi c Č+ nghm trC lui không Čc th>c hi n 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 hi n 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 vi c bán thi gian, chk yu là sinh viên. Mti nhân viên Čc cjp m t Či n thoi di Č ng Č3 ti n liên lc. Khi c4n báo rnng nhân viên Čó rCnh rti, ch• c4n jn nút trên Či n 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 nhi m v: cho nhân viên làm vi c s c9a hàng ho@c Či giao hàng. M t nhân viên có th3 thay Č(i Čma Či3m làm vi c ho@c vai trò(làm vi c 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
  87. 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 ti n 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 hi n 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 hi n Č=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 hi n, 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
  88. N i dung trình bày  Môhình khái ni m  Xác Čmnh các khái ni m  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 ni m  Xác Čmnh các —khái ni m“ quan trng trong h thng  Môhình khái ni m (conceptual model) môtC các khái ni m trong các quan h cka chúng  UML không cung cjp môhình khái ni m, tuy nhiên cung cjp kí hi u 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 ni m 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 ni m 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
  89. Môhình khái ni m  Môhình khái ni m 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 ni m này  Các quan h cka các khái ni m này  M t khái ni m là bi3u didn s m_c cao (trvu tng) v+ m t s> v`t  M t khái ni m 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 ni m  Trong môhình khái ni m, chúng ta s• nƒm bƒt các khái ni m nh`n bit bsi khách hàng  Ví d: các khái ni m Čú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 ni m: 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 hi n duy t 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
  90. Môhình khái ni m  Làm sao bit Čc m t khái ni m là Čúng hay không?  Nguyên tƒc: —N u 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 ni m 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 ni m  3 xác Čmnh các khái ni m, 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 ni m 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
  91. Xác Čmnh các khái ni m  M t s _ng c9 viên cka khái ni m 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, li u tv xa)  Danh tv trvu tng (s> khát, ^n ung)  Các t( ch_c (Či hc)  Các s> ki n (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 ni m  Cách khác Č3 xác Čmnh các khái ni m  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 ni m  D>a vào hi3u bit và kinh nghi m loi bl các danh tv và c:m danh tv không là các khái ni m  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
  92. ac Čmnh các khái ni m  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 ni m  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 hi u kt thúc vi c 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
  93. ac &mnh các khái ni m  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 ni m  Phân bi t gi,a khái ni m (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 ni m  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 ni m 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 ni m 7-Aug-07 Phân tích và thit k h thng hng Či tng 186 Oc
  94. ac Čmnh các khái ni m  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 ni m  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
  95. ac &mnh các khái ni m  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 ni m  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 sHi u Ph=ng án 1 7-Aug-07 Phân tích và thit k h thng hng Či tng 190 Oh
  96. ac &mnh các khái ni m  Lp —MôTC“ MôTCChuynBay SânBay Bay Čn * 1 tên sHi u 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 ni m  S9 d:ng kí hi u cka bi3u Č7 lp MôtCM@tHàng Khái ni m 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
  97. Thu c tính  Các thu c tính (attribut) cka m t khái ni m bi3u didn d, li u c4n thit cho các th3 hi n (instance) cka khái ni m  Ví d: MôtCM@tHàng Khái ni m 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 di n cho các d, li u liên quan Čn khái ni m 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
  98. 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 ni m 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 ni m, thì Č=n giCn hãy coi Čó là khái ni m  Ví d:: l8Zng là thu c tính hay khái ni m so vi khái ni m công nhân ?  Nu nghi ng Čó là khái ni m thì coi nhl8Zng và công nhân là hai khái ni m tách ri 7-Aug-07 Phân tích và thit k h thng hng Či tng 195 Thao tác  Khái ni m có th3 có các thao tác (operation)  Thao tác cka khái ni m chính là khC n^ng th>c hi n cka m t th3 hi n cka khái ni m  Ví d: M@tHàngBán Khái ni m 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
  99. Thao tác  ™ giai Čon elaboration, môhình khái ni m có th3 không nh0t thi t ph"i môt" các thao tác cka khái ni m  Giai Čon construction s• th>c hi n công vi c 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  K t hp (association) bi3u didn quan h gi,a các th3 hi n cka các khái ni m  Ví d:: kt hp ch\a gi,a khái ni m c2a hàng và khái ni m mt hàng  Kí hi u 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
  100. Kt hp  Có th3 t7n ti kt hp cka nhi+u h=n hai khái ni m  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 hi n 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
  101. Hn ch kt hp (qualificator)  GiCm s th3 hi n tham gia vào m t kt hp  Kí hi u A key B qualificator  Mti th3 hi n A vi giá trm 7ey xác Čmnh m t t`p con các th3 hi n 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 bi t 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 bi t 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
  102. Chuyên bi t hóa  M t khái ni m có th3 v+ c=bCn ging vi m t khái ni m 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 ni m th_ nhjt Čc gi là chuyên bit hóa (specialization) cka khái ni m th_ hai  Khái ni m th_ nhjt Čc gi là khái ni m chuyên bi t hóa (specialized concept), khái ni m th_ hai Čc gi là khái ni m chung (general concept) 7-Aug-07 Phân tích và thit k h thng hng Či tng 203 Chuyên bi t hóa  Kí hi u general concept specialized concept specialized concept 7-Aug-07 Phân tích và thit k h thng hng Či tng 204 102
  103. Thva k  Khái ni m chuyên bi t hóa thda k (inheritance) tjt cC các tính chjt cka cka khái ni m 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 ni m 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 ni m —ThanhToánBnngTi+nM@t“ và —ThanhToánBnngTh•“ Č+u có thu c tính —t(ng“ và kt hp —thanh toán“ vi khái ni m —PhiênBánHàng“ 7-Aug-07 Phân tích và thit k h thng hng Či tng 206 103
  104. Khái ni m trvu tng  T=ng t> nhlp, khái ni m trvu tng không có các th3 hi n Khái ni m 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 li u vit tay có th3 vit {abstract} di tên khái ni m 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 k t t>p (agregation) là hai k t hp Č?c bit ch• sE sA hMu  Quan h hp thành: m t khái ni m thành ph4n ch• thu c vào m t khái ni m toàn ph4n ToànPh4n M tPh4n  Quan h kt t`p: m t khái ni m thành ph4n có th3 thu c vào nhi+u khái ni m toàn ph4n ToànPh4n M tPh4n 7-Aug-07 Phân tích và thit k h thng hng Či tng 208 104
  105. 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 hi n cka —Point“ không th3 Č7ng thi thu c vào m t th3 hi n cka —Triangle“ và m t th3 hi n 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 ni m toàn ph4n bm hky bl thì khái ni m thành ph4n cyng bm hky bl theo  Trong trng hp, the tE cka các khái ni m thành ph4n là quan trng, thì thêm vào kt hp Či+u ki n {ordered}  Ví d: {ordered} Point Polygon 3 * 7-Aug-07 Phân tích và thit k h thng hng Či tng 210 105
  106. Khái ni m kt hp  Có th3 môtC các tính ch0t cka m t kt hp gi,a hai khái ni m bsi m t khái nim k t hp (association concept)  Ví d: work employ Person 1 * * Company Employment Khái ni m 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 ni m 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 vi c 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
  107. 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 hi n 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 ni m. 7-Aug-07 Phân tích và thit k h thng hng Či tng 214 107
  108. 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à. Hi n ti các Č=n Č@t hàng Čc th>c hi n bnng Či n 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ì vi c Č+ nghm trC lui không Čc th>c hi n 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 hi n 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 vi c bán thi gian, chk yu là sinh viên. Mti nhân viên Čc cjp m t Či n thoi di Č ng Č3 ti n liên lc. Khi c4n báo rnng nhân viên Čó rCnh rti, ch• c4n jn nút trên Či n 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 nhi m v: cho nhân viên làm vi c s c9a hàng ho@c Či giao hàng. M t nhân viên có th3 thay Č(i Čma Či3m làm vi c ho@c vai trò(làm vi c 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
  109. 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 ti n 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 hi n 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 hi n Č=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 hi n, 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 ni m. 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
  110. Bi3u Č7 hot Č ng  Ph=ng pháp phân tích và thit k truy+n thng  Bi3u Č7 lu7ng d, li u (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
  111. Bi3u Č7 hot Č ng  Bi7u ČK ho c hi n  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 vi c 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 ni m  D>a vào bi3u Č7 hot Č ng các thao tác s• Čc thêm vào môhình khái ni m 7-Aug-07 Phân tích và thit k h thng hng Či tng 222 111
  112. Bi3u Č7 hot Č ng  Kí hi u 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
  113. 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 hi n 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 ki n 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
  114. 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
  115. 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 Nghi m 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 duy t H thng Thanh toán bnng th• Nh`n th• Nh`p mã Ki3m duy t Trv vào th• 7-Aug-07 Phân tích và thit k h thng hng Či tng 230 115
  116. 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 vi c 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 vi c 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 vi c 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
  117. 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 hi n cka m t khái ni m (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 hi n (Či tng)  Các chuy7n ti p 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
  118. Trng thái  M t tr c hi n các hot Č ng và ch Či các s> ki n  Kí hi u 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 ti p (transition) gƒn li+n vi các hành Č ng kích hot bsi các s> ki n  Có hai loi chuy3n tip  Chuy7n ti p trong (interne transition) m t trng thái, cho phép trC li m t s> ki n mà không ri trng thái Čó.  Chuy7n ti p 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
  119. Chuy3n tip  Ví d:: các trng thái cka m t máy Či+u hòa LàmLnh Chuy3n tip trong HNhi t /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 ni m —máy ATM“ ČaTh•Vào khsi ng i Hot Č ng tƒt ktThúc Trng thái bƒt Č4u S> ki n Trng thái kt thúc 7-Aug-07 Phân tích và thit k h thng hng Či tng 238 119
  120. S> ki n  M t chuy3n tip có dng t(ng quát nhsau: S>Ki n [i+uKi n] / Hành ng  —S>Ki n“ là tên s> ki n d“n Čn s> vt qua m t chuy3n tip  —i+uKi n“ 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 hi n khi vt qua chuy3n tip. 7-Aug-07 Phân tích và thit k h thng hng Či tng 239 S> ki n  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
  121. S> ki n Č@c bi t  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 hi n lúc vào ho@c lúc ra trng thái  do Č@c tC m t hot Č ng c4n phCi Čc th>c hi n khi A trong trng thái  Lu ð: khi các chuy3n tip trong có m t trong ba s> ki n trên thì chúng không th3 có các bi3u th_c Či+u ki n 7-Aug-07 Phân tích và thit k h thng hng Či tng 241 S> ki n Č@c bi t  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
  122. 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
  123. 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
  124. 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 ni m 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
  125. 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
  126. Ví d:  Thang máy Lên(t)[t>t4ngHi nTi 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
  127. 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 thvi n, 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 li u 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à hi n ti không có trong thvi n. 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 ni m 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 ni m 7-Aug-07 Phân tích và thit k h thng hng Či tng 254 127
  128. 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
  129. Bi3u Č7 lp  Bi3u Č7 lp có cùng quy tƒc cú pháp vi môhình khái ni m  Th>c ra, môhình khái ni m 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 ni m  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í hi u  —œ“ 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
  130. 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í hi u: 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
  131. Bi3u Č7 lp  Các quan h gi,a các lp  Quan h kt hp (association)  Quan h chuyên bi t 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 bi t 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
  132. 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
  133. 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 ni m 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
  134. 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
  135. 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 nhi m 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 bi t là vi c 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 ni m Čã 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
  136. 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 hi n 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
  137. 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 vi c nhjn mnh th_ t> trao Č(i thông Či p gi,a các Či tng  Bi3u Č7 tu4n t> g7m:  các Či tng  các thông Či p 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
  138. 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í hi u 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 hi n m t thao tác  Kí hi u object Thi gian hot Č ng 7-Aug-07 Phân tích và thit k h thng hng Či tng 276 138
  139. Bi3u Č7 tu4n t>  M t thông Či p Č@c tC trao Č(i gi,a các Či tng  Các loi thông Či p  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 Či p gi gi m t ph=ng th_c/thao tác trên Či tng  i tng gi phCi Či thông Či p Čc th>c hi n kt thúc mi có th3 th>c hi n công vi c khác (thông Či p Č7ng b )  M t Či tng có th3 g9i thông Či p cho chính nó  Kí hi u object A object B object message() G9i thông Či p gi G9i cho chính nó 7-Aug-07 Phân tích và thit k h thng hng Či tng 278 139
  140. Bi3u Č7 tu4n t>  Thông Či p trC v+ trC v+ m t giá trm cho Či tng gi  Kí hi u Object A Object B message() value Thông Či p trC v+ 7-Aug-07 Phân tích và thit k h thng hng Či tng 279 Bi3u Č7 tu4n t>  Thông Či p g9i g9i m t tín hi u Čn m t Či tng  Khác vi thông Či p gi, khi Či t=ng g9i thông Či p g9i nó không ch Či, mà tip t:c th>c hi n công vi c khác (thông Či p không Č7ng b )  Kí hi u object A object B message() Thông Či p g9i 7-Aug-07 Phân tích và thit k h thng hng Či tng 280 140
  141. Bi3u Č7 tu4n t>  Thông Či p to gi ph=ng th_c to m t Či tng  Thông Či p hky gi ph=ng th_c hky m t Či tng  Kí hi u Thông Či p to object A > object B > Thông Či p 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
  142. Bi3u Č7 tu4n t>  M t thông Či p có th3 Čc g9i l@p nhi+u l4n G9i l@p thông Či p 10 l4n  Kí hi u object A object B *[1 10]message() for(i = 1; i  M t thông Či p có th3 Čc g9i l@p nhi+u l4n ph: thu c vào m t Či+u ki n G9i l@p thông Či p trong khi C Čúng  Kí hi u 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
  143. Bi3u Č7 tu4n t>  M t thông Či p có th3 Čc g9i ph: thu c vào Či+u ki n r• nhánh  Kí hi u 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 Či p có th3 Čc gi Č quy  Kí hi u Thông Či p Č quy :BinaryTree print() print() 7-Aug-07 Phân tích và thit k h thng hng Či tng 286 143
  144. Bi3u Č7 tu4n t>  Ví d: :TàiLi u :MáyFax :Dâyi nThoi 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
  145. 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
  146. 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 vi c nhjn mnh cju trúc kt hp gi,a các Či tng và nh,ng thông Či p 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 Či p: mti thông Či p Čc gán m t s tu4n t>  Či+u ki n g9i các thông Či p 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 Či p Č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 Či p trc thông Či p c4n g9i. Thông Či p ch• Čc g9i Či khi tjt cC các thông Či p trc nó Čã Čc g9i Či.  —condition“: thông Či p ch• Čc g9i Či khi Či+u ki n Čc thla mãn.  —sequence“: s tu4n t> cka thông Či p c4n g9i. Ví d:, vi c g9i thông Či p 1.3.5 theo sau vi c g9i thông Či p 1.3.4, cC hai thông Či p này nnm trong lu7ng 1.3.  —*“: ch• ra thông Či p Čc g9i Či nhi+u l4n m t cách tu4n t>.  —*||“: ch• ra thông Či p Čc g9i Či nhi+u l4n m t cách Č7ng thi.  —iteration“: ch• ra s l4n g9i thông Či p m t cách tu4n t> ho@c Č7ng thi  —result“: ch• ra giá trm trC v+ cka thông Či p.  —message“: tên thông Či p  —parameters“: danh sách các tham s cka thông Či p. 7-Aug-07 Phân tích và thit k h thng hng Či tng 292 146
  147. Bi3u Č7 c ng tác  Ví d:  N : hello() : thông Či p có s tu4n t> là 4.  [time = 12h] 1 : lunch() : thông Či p này ch• Čc g9i Či nu là lúc 12h.  1.3.5 * call() : thông Či p này Čc g9i Či nhi+u l4n.  3 / *|| [i:= 1 5] 1.2 : close() : thông Či p này Čc g9i Či n^m l4n m t cách Č7ng thi và sau thông Či p 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() :H Thng :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