SlideShare a Scribd company logo
1 of 77
Download to read offline
Thi t k hÆ° ng ñ i
     tÆ° ng - S d ng
     UML (7)
     Nguy n Thanh BĂŹnh
     Khoa CĂŽng ngh ThĂŽng tin
     TrÆ° ng Ă° i h c BĂĄch khoa
     Ă° i h c Ă°Ă  N ng




N i dung

    KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng
    Bi u ñ ca s d ng
    Thi t k c u trĂșc tÄ©nh
    Thi t k c u trĂșc ñ ng
    Sinh mĂŁ




2




                                       1
Hư ng ch c năng

      D a vào cåc ch c năng c a h th ng
        H th ng là t p h p cåc ch c năng

      Chia nh cåc ch c năng và làm m n d n
        H th ng g m cĂĄc h th ng con
        Làm ch ñ ph c t p

      Cåc ch c năng trao ñ i v i nhau b ng
      truy n tham s ho c d li u (ch ng h n
      bi n toĂ n c c) dĂčng chung
  3




  Hư ng ch c năng

      Phùn c p ch c năng

                         H th ng


         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




  4




                                                                      2
Hư ng ch c năng

    ÆŻu ñi m
      PhĂąn tĂ­ch Ă±Æ° c cĂĄc ch c năng c a h th ng
      Ă°Æ°a l i k t qu mong ñ i


    NhÆ° c ñi m
      Ch c năng     c u trĂșc
      Thay ñ i v ch c năng khĂł khăn thay ñ i c u trĂșc
      TĂ­nh m c a h th ng th p
      KhĂł tĂĄi s d ng
      Chi phĂ­ s a ch a l i l n


5




HÆ° ng ñ i tÆ° ng

    L y ñ i tÆ° ng lĂ m trung tĂąm
    H th ng = t p h p cĂĄc ñ i tÆ° ng + quan
    h gi a cĂĄc ñ i tÆ° ng
    CĂĄc ñ i tÆ° ng trao ñ i b ng thĂŽng ñi p
    (message)
      KhĂŽng s d ng bi n toĂ n c c
    Ă°Ăłng gĂłi
    Th a k



6




                                                        3
HÆ° ng ñ i tÆ° ng

    PhĂąn bi t
      L p trĂŹnh c u trĂșc
       ‱ Thu t toĂĄn + c u trĂșc d li u = chÆ°ÆĄng
         trĂŹnh
      L p trĂŹnh HĂ°T
       ‱ Σñ i tÆ° ng = chÆ°ÆĄng trĂŹnh
       ‱ ñ i tÆ° ng = thu t toĂĄn + c u trĂșc d li u



7




HÆ° ng ñ i tÆ° ng

    ÆŻu ñi m chĂ­nh
      G n gƩi v i th gi i th c
      TĂĄi s d ng d dĂ ng
      Ă°Ăłng gĂłi, che d u thĂŽng tin lĂ m cho
      h th ng tin c y hÆĄn
      Th a k lĂ m gi m chi phĂ­, h th ng cĂł
      tĂ­nh m cao hÆĄn
      XĂąy d ng h th ng l n vĂ  ph c t p

8




                                                    4
Ă° i tÆ° ng

     Ă° i tÆ° ng (object) lĂ  khĂĄi ni m cho
     phép mÎ t cåc s v t/th c th trong
     th gi i th c
     CĂĄc ñ i tÆ° ng duy trĂŹ cĂĄc quan h
     gi a chĂșng
     Nguy n Văn A lĂ  m t ñ i tÆ° ng



9




Ă° i tÆ° ng

     CĂĄc tĂ­nh ch t c a ñ i tÆ° ng
       Ă° i tÆ° ng = tr ng thĂĄi + hĂ nh vi +
       ñ nh danh
        ‱ Tr ng thĂĄi lĂ  cĂĄc ñ c tĂ­nh c a ñ i tÆ° ng
          t i m t th i ñi m
        ‱ HĂ nh vi th hi n cĂĄc ch c năng c a ñ i
          tÆ° ng
        ‱ ð nh danh th hi n s t n t i duy nh t
          c a ñ i tÆ° ng

10




                                                     5
Ă° i tÆ° ng : tr ng thĂĄi

     Tr ng thĂĄi = t p h p cĂĄc thu c tĂ­nh
       M i thu c tính mÎ t m t ñ c tính
       T i m t th i ñi m c th , cåc thu c
       tĂ­nh mang cĂĄc giĂĄ tr trong mi n xĂĄc
       ñ nh
       VĂ­ d
        ‱ M t chi c xe máy: màu xanh, 110 cm3,
          dream, 12000km, ñ ng yĂȘn, 



11




Ă° i tÆ° ng : hĂ nh vi

     HĂ nh vi = t p h p cĂĄc phÆ°ÆĄng th c
       PhÆ°ÆĄng th c: lĂ  m t thao tĂĄc ho c
       Ă±Æ° c th c hi n b i chĂ­nh nĂł, ho c
       th c hi n khi cĂł yĂȘu c u t mĂŽi
       trÆ° ng (thĂŽng ñi p t ñ i tÆ° ng khĂĄc)
       HĂ nh vi ph thu c vĂ o tr ng thĂĄi
       VĂ­ d :
        ‱ m t xe mĂĄy cĂł cĂĄc hĂ nh vi: kh i ñ ng,
          ch y, 

12




                                                  6
Giao ti p gi a cĂĄc ñ i tÆ° ng

     CĂĄc ñ i tÆ° ng giao ti p v i nhau
       G i thÎng ñi p (message) cho nhau
                      ThÎng ñi p
       Ă° i tÆ° ng A                    Ă° i tÆ° ng B

       Cåc lo i thÎng ñi p
         ‱   hàm d ng (constructor)
         ‱   hàm h y (destructor)
         ‱   hàm ch n l a (get)
         ‱   hĂ m s a ñ i (set)
         ‱   các hàm ch c năng khác

13




Ă° i tÆ° ng

     Gi a cĂĄc ñ i tÆ° ng cĂł m i liĂȘn k t
     (link) v i nhau
     VĂ­ d

     Nguy n Văn A      H c         ð i h c ðà N ng




14




                                                     7
L p

     L p lĂ  khĂĄi ni m dĂčng ñ mĂŽ t m t
     t p h p cĂĄc ñ i tÆ° ng cĂł cĂčng m t
     c u trĂșc, cĂčng hĂ nh vi vĂ  cĂł cĂčng
     nh ng m i quan h v i cĂĄc ñ i tÆ° ng
     khĂĄc
     L p = cĂĄc thu c tĂ­nh + cĂĄc phÆ°ÆĄng
     th c


15




L p
     L p lĂ  m t bÆ° c tr u tÆ° ng hĂła
       TÏm ki m cåc ñi m gi ng nhau, b qua cåc
       ñi m khĂĄc nhau c a ñ i tÆ° ng


                                            Person

                                            Name
                                             Age

                                         changeAge
       Tr u tÆ° ng hĂła lĂ m gi m ñ ph c t p

16




                                                     8
L p

     Quan h gi a cĂĄc l p: k t h p
     M t k t h p lĂ  m t t p h p cĂĄc m i
     liĂȘn k t gi a cĂĄc ñ i tÆ° ng

                       h c
       Sinh viĂȘn                Ă° ih c




17




L p & Ă° i tÆ° ng

     Ă° i tÆ° ng lĂ  th hi n (instance) c a l p
     GiĂĄ tr lĂ  th hi n c a thu c tĂ­nh
     LiĂȘn k t lĂ  th hi n c a k t h p
     L p                          Ă° i tÆ° ng
     Thu c tĂ­nh                   GiĂĄ tr
     K th p                       LiĂȘn k t




18




                                               9
CĂĄc tĂ­nh ch t c a HĂ°T

     Tính ñóng gói (encapsulation)
       d li u + x lĂœ d li u = ñ i tÆ° ng
       thu c tĂ­nh + phÆ°ÆĄng th c = l p
     ÆŻu ñi m
       H n ch nh hÆ° ng khi cĂł s thay ñ i c p
       nh t
       Ngăn c n s truy c p thĂŽng tin t bĂȘn ngoĂ i
       Che d u thĂŽng tin


19




CĂĄc tĂ­nh ch t c a HĂ°T

     TĂ­nh th a k (inheritance)
       M t l p Ă±Æ° c xĂąy d ng t m t ho c nhi u
       l p khĂĄc b ng vi c chia s cĂĄc thu c tĂ­nh vĂ 
       phÆ°ÆĄng th c
       L p con th a k cĂĄc thu c tĂ­nh vĂ  phÆ°ÆĄng
       th c t l p 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 ch t
          chung c a cĂĄc l p khĂĄc nhau vĂ o m t l p cha
        ‱ ChuyĂȘn bi t hĂła (specialization): t o ra m t l p
          con cĂł cĂĄc tĂ­nh ch t riĂȘng t l p cha
20




                                                              10
CĂĄc tĂ­nh ch t c a HĂ°T
     Ă°ÆĄn th a k : m t l p con ch th a k t m t l p cha duy
     nh t
                            XeÔtî




                                                ChuyĂȘn bi t hĂła

                                                                  T ng quĂĄt hĂła
                  XeKhĂĄch            XeT i
     L p tr u tÆ° ng hay l p chung: XeÔtĂŽ
     L p c th hay l p chuyĂȘn bi t: XeKhĂĄch
     L p chuyĂȘn bi t cĂł th thay th l p chung trong t t c
     các ng d ng. Ví d : Ôtî t i là m t îtî.



21




CĂĄc tĂ­nh ch t c a HĂ°T

     Ă°a th a k : m t l p con th a k t
     nhi u l p cha khĂĄc nhau

                            Person


           Personnel                     Student


      Reseacher         Teacher


                                      Phd candidate
22




                                                                                  11
CĂĄc tĂ­nh ch t c a HĂ°T

     Ă°a th a k
       Ă° ng ñ tĂȘn cĂĄc thu c tĂ­nh
                 X                 Y
                 a                 a


                       Z
                     ac aX
                     ac aY
       Ă°a th a k khĂŽng Ă±Æ° c ch p nh n b i m t
       s ngĂŽn ng : Java

23




CĂĄc tĂ­nh ch t c a HĂ°T

     ÆŻu ñi m c a th a k
       PhĂąn lo i cĂĄc l p: cĂĄc l p Ă±Æ° c phĂąn
       lo i, s p x p theo m t th b c ñ d
       qu n lĂ­
       XĂąy d ng cĂĄc l p: cĂĄc l p con Ă±Æ° c
       xĂąy d ng t cĂĄc l p cha
       Ti t ki m th i gian xĂąy d ng, trĂĄnh
       l p l i thĂŽng tin

24




                                                12
CĂĄc tĂ­nh ch t c a HĂ°T
     TĂ­nh ña hĂŹnh (polymorphism): c a phÆ°ÆĄng th c, t c
     lĂ  kh năng cĂĄc phÆ°ÆĄng th c khĂĄc nhau Ă±Æ° c th c
     hi n ñ tr l i cĂčng m t yĂȘu c u

     M i l p con th a k ñ c t cĂĄc phÆ°ÆĄng th c t l p
     cha, vĂ  cĂĄc phÆ°ÆĄng th c nĂ y cĂł th Ă±Æ° c s a ñ i
     trong l p con ñ th c hi n cĂĄc ch c năng riĂȘng
     trong l p ñó

     M t phÆ°ÆĄng th c (cĂčng m t tĂȘn phÆ°ÆĄng th c) cĂł
     nhi u d ng (ñ nh nghĩa) khåc nhau trong cåc l p
     khĂĄc nhau

25




CĂĄc tĂ­nh ch t c a HĂ°T

     Ví d tính ña hÏnh
                       Ă°aGiĂĄc


                      dienTich()




        HĂŹnhVuĂŽng                  HĂŹnhTamGiĂĄc


         dienTich()                 dienTich()



26




                                                         13
N i dung

     KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng
     Bi u ñ ca s d ng
     Thi t k c u trĂșc tÄ©nh
     Thi t k c u trĂșc ñ ng
     Sinh mĂŁ




27




Ca s d ng (Use case)

     BÆ° c ñ u tiĂȘn c a phĂąn tĂ­ch yĂȘu c u
     là xåc ñ nh cåc ca s d ng c a h
     th ng
     M t ca s d ng lĂ  m t tÆ°ÆĄng tĂĄc
     gi a h th ng vĂ  mĂŽi trÆ° ng
     T p h p cĂĄc ca s d ng lĂ  mĂŽ t toĂ n
     b h th ng c n xĂąy d ng


28




                                           14
Ca s d ng

     VĂ­ d : phĂĄt tri n m t ph n m m th o
     văn b n
     CĂĄc ca s d ng cĂł th :
       Nh p văn b n m i
       S a văn b n ñã t n t i
       T om cl c
       Chép ño n văn b n
       


29




Ca s d ng

     M t ca s d ng tÆ°ÆĄng ng v i m t ch c
     năng c a h th ng dÆ° i gĂłc nhĂŹn c a
     ngÆ° i s d ng
     M t ca s d ng cĂł th l n ho c nh
     M t ca s d ng ch ra lĂ m th nĂ o m t m c
     tiĂȘu c a ngÆ° i s d ng Ă±Æ° c th a mĂŁn
     b i h th ng




30




                                              15
Ca s d ng
     C n phĂąn bi t cĂĄc m c tiĂȘu c a ngÆ° i s d ng vĂ 
     cĂĄc tÆ°ÆĄng tĂĄc c a h v i h th ng
        M c tiĂȘu: cĂĄi mĂ  ngÆ° i s 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Ăł Ă±Æ° c m t văn b n trĂŹnh bĂ y ñ p
        TÆ°ÆĄng tĂĄc: ch n ñ nh d ng trang, ch n font ch , ñ nh
        nghÄ©a cĂĄc ki u tiĂȘu ñ (heading), 

     Th c t , chĂșng ta xĂĄc ñ nh cĂĄc m c tiĂȘu trÆ° c, sau
     ñó ch n t p h p cĂĄc tÆ°ÆĄng tĂĄc ñåp ng cĂĄc m c
     tiĂȘu ñó


31




Ca s d ng
     VĂ­ d : c n xĂąy d ng m t h th ng ATM cho phĂ©p rĂșt
     ti n
     CĂł th cĂł vĂ i tÆ°ÆĄng tĂĄc chung trong m t k ch b n sau:
        Ă°Æ°a th vĂ o
        Nh p mĂŁ PIN
        Ch n s ti n rĂșt
        Kh ng ñ nh s ti n rĂșt
        L y th ra
        L y ti n
        L y phi u rĂșt ti n
     CĂĄc tÆ°ÆĄng tĂĄc trĂȘn cĂł lĂ  cĂĄc ca s d ng khĂŽng ?

32




                                                               16
Ca s d ng
     CĂąu tr l i: khĂŽng.
     T i sao ?
     VĂŹ ch ng h n “Nh p mĂŁ PIN” khĂŽng ñåp ng m t m c
     tiĂȘu nĂ o c a ngÆ° i s d ng.
     M c tiĂȘu c a ngÆ° i s d ng lĂ  “RĂșt ti n”, v y ñó nĂȘn
     lĂ  m t ca s d ng.




33




TĂĄc nhĂąn (Actor)
     TĂĄc nhĂąn ñóng vai trĂČ m t ngÆ° i s d ng ho c m t
     th c th bĂȘn ngoĂ i tÆ°ÆĄng tĂĄc v i h th ng
     VĂ­ d : C n phĂĄt tri n h th ng tĂ­nh ti n siĂȘu th
        CĂĄc tĂĄc nhĂąn cĂł th lĂ : KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng,
        NgÆ° i qu n lĂœ, Kho hĂ ng
     C n phĂąn bi t: tĂĄc nhĂąn (actor) vĂ  ngÆ° i s d ng
     (user)
        Nhi u ngÆ° i s d ng cĂł th tÆ°ÆĄng ng m t tĂĄc nhĂąn:
        nhi u ngÆ° i bĂĄn hĂ ng khĂĄc nhau ñóng cĂčng vai trĂČ
        ñ i v i h th ng
        M t ngÆ° i s d ng cĂł th tÆ°ÆĄng ng v i nhi u tĂĄc
        nhĂąn khĂĄc nhau: cĂčng m t ngÆ° i cĂł th ñ ng th i
        ñóng hai vai trĂČ lĂ  ngÆ° i bĂĄn hĂ ng vĂ  ngÆ° i qu n lĂœ
34




                                                              17
TĂĄc nhĂąn

     TĂĄc nhĂąn khĂŽng nh t thi t luĂŽn luĂŽn lĂ 
     con ngÆ° i
     TĂĄc nhĂąn cĂł th lĂ  mĂŽi trÆ° ng, h
     th ng khĂĄc, th c th bĂȘn ngoĂ i tÆ°ÆĄng
     tĂĄc v i h th ng
     VĂ­ d
        Kho hĂ ng lĂ  cĂł th m t cÆĄ s d li u


35




Ă° c t ca s d ng
     ð c t ñi n hÏnh c a m t ca s d ng:
        Ca s d ng: tĂȘn ca s d ng thÆ° ng b t ñ u b i m t
        ñ ng t
        CĂĄc tĂĄc nhĂąn: danh sĂĄch cĂĄc tĂĄc nhĂąn liĂȘn quan
        MĂŽ t : tĂłm t t cĂĄc x lĂœ c n th c hi n
     VĂ­ d
        Ca s d ng: Mua hĂ ng
        CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
        MÎ t : M t khåch hàng sau khi ñã ch n cåc m t hàng,
        mang gi hĂ ng ñ n qu y thu ti n. NgÆ° 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Ă  tr ti n
        cĂČn l i cho khĂĄch hĂ ng. KhĂĄch hĂ ng mang hĂ ng ñi.



36




                                                                   18
Ă° c t ca s d ng
     Ă° c t ca s d ng cĂł th thĂȘm:
        Tham chi u (reference) ñ n m c liĂȘn quan trong ñ c t yĂȘu c u
        Ă°i u ki n trÆ° c vĂ  ñi u ki n sau khi th c hi n ca s d ng
     VĂ­ d
        Ca s d ng: Mua hĂ ng
        CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
        Tham chi u: R1.2, R2.3
        Ă°i u ki n trÆ° c: NgÆ° i bĂĄn hĂ ng ñã ñăng nh p thĂ nh cĂŽng.
        Ă°i u ki n 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 ñã ch n cåc m t hàng, mang gi
        hĂ ng ñ n qu y thu ti n. NgÆ° 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Ă  tr ti n cĂČn l i cho khĂĄch hĂ ng.
        Khåch hàng mang hàng ñi.



37




Ă° c t ca s d ng

     Ngoài ra, ñ i v i m i ca s d ng ta có th xùy d ng
     m t k ch b n (scenario) hành ñ ng mÎ t cåc s
     ki n x y ra
     K ch b n: g m cĂĄc s ki n chĂ­nh vĂ  cĂĄc s ki n
     ngo i l
     CĂĄc s ki n chia lĂ m hai lu ng
        Lu ng tÆ°ÆĄng ng v i cĂĄc tĂĄc nhĂąn
        Lu ng tÆ°ÆĄng ng v i h th ng




38




                                                                             19
Ă° c t ca s d ng

     CĂĄc s ki n chĂ­nh
 Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng
1. M t khĂĄch hĂ ng Ă±Æ°a
hàng ñã ch n mua ñ n qu y
tĂ­nh ti n.
2. NgÆ° i bĂĄn hĂ ng ghi nh n    3. XĂĄc ñ nh m t hĂ ng, hi n th
t ng m t hĂ ng.                cĂĄc thĂŽng tin vĂ  giĂĄ m t hĂ ng.

N u m t m t hĂ ng cĂł s         S nĂ y Ă±Æ° c hi n th .
lÆ° ng nhi u hÆĄn m t thĂŹ
ngÆ° i bĂĄn hĂ ng cĂł th nh p
vĂ o m t s .
39




Ă° c t ca s d ng

     CĂĄc s ki n chĂ­nh (ti p)
 Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng

4. Sau khi ñã ghi nh n t t    5. Tính và hi n th t ng s
c cĂĄc m t hĂ ng, ngÆ° i bĂĄn     ti n.
hĂ ng bĂĄo hi u k t thĂșc vi c
ghi nh n hĂ ng.
6. NgÆ° i bĂĄn hĂ ng thĂŽng
bĂĄo t ng s ti n ph i tr cho
khĂĄch hĂ ng.
7. KhĂĄch hĂ ng tr ti n cho
ngÆ° i bĂĄn hĂ ng.
40




                                                               20
Ă° c t ca s d ng

      CĂĄc s ki n chĂ­nh (ti p)
  Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng
 8. NgÆ° i bĂĄn hĂ ng nh p s      9. Hi n th ti n dÆ° vĂ  in phi u
 ti n khĂĄch hĂ ng tr .          bĂĄn hĂ ng

 10. NgÆ° i bĂĄn hĂ ng xĂĄc        11. Ghi nh n phiĂȘn bĂĄn hĂ ng.
 nh n s tr ti n, l y ti n dÆ°
 tr cho khĂĄch hĂ ng vĂ  Ă±Æ°a
 cho khĂĄch hĂ ng phi u bĂĄn
 hĂ ng.
 12. KhĂĄch hĂ ng r i qu y
 thu ti n v i tĂși hĂ ng
 41




 Ă° c t ca s d ng

      CĂĄc s ki n ph

  Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng
                               3. S xĂĄc nh n m t hĂ ng
                               khĂŽng ñĂșng. Hi n th l i.

 7. Khåch hàng khÎng có ñ
 ti n. NgÆ° i bĂĄn hĂ ng h y
 b vi c bĂĄn.

LÆ°u Ăœ: ñ nh d ng ñ c t cĂĄc ca s d ng khĂŽng c n
thi t ph i ch t ch .
 42




                                                                21
Ca s d ng                       giai ño n
     Elaboration
           Xåc ñ nh càng nhi u ca s d ng m t cåch có th
           KhÎng ñi vào quå chi ti t, nh m gi m ñ ph c t p
           M t mÎ t ng n g n v m i ca s d ng là ñ , có
           th b qua ph n k ch b n, tham chi u ñ n ñ c t
           yĂȘu c u, ñi u ki n trÆ° c vĂ  ñi u ki n sau.
           B o ñ m r ng cĂĄc ca s d ng bao quĂĄt h t cĂĄc yĂȘu
           c u c a h th ng




     43




     Bi u ñ ca s d ng

           Bi u ñ ca s d ng mÎ t quan h gi a cåc
           tĂĄc nhĂąn vĂ  cĂĄc ca s d ng c a m t h
           th ng.
           KĂ­ hi u

                                                        Use case


TĂĄc nhĂąn        K t h p ch s
                tham gia c a tĂĄc
                nhĂąn vĂ o ca s d ng       Gi i h n c a
                                         h th ng
     44




                                                                   22
Bi u ñ ca s d ng

       VĂ­ d
                         Ghi nh n


                         Mua hĂ ng
NgÆ° i bĂĄn hĂ ng


                         Tr hĂ ng
                                               KhĂĄch hĂ ng

NgÆ° i qu n lĂœ            Kh i ñ ng

  45




  Bi u ñ ca s d ng

       CĂĄc tĂĄc nhĂąn cĂł th cĂł quan h th a
       k
       VĂ­ d
                     KhĂĄch hĂ ng




           CĂĄ nhĂąn                   CĂŽng ty
  46




                                                            23
Quan h m r ng

     CĂł th x y ra trÆ° ng h p: m t ca s d ng
     tÆ°ÆĄng t v i m t ca s d ng khĂĄc, tuy
     nhiĂȘn nĂł g m thĂȘm m t s hĂ nh ñ ng
     VĂ­ d
       Ca s d ng: Mua hĂ ng b ng th tĂ­n d ng
       CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
       MÎ t : M t khåch hàng sau khi ñã ch n cåc m t
       hĂ ng, mang gi hĂ ng ñ n qu y thu ti n. NgÆ° 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 phi u bån hàng và mang hàng ñi.

47




Quan h m r ng

     Ca s d ng nĂ y lĂ  m t bi n th c a ca s
     d ng “mua hĂ ng”, tuy nhiĂȘn thĂȘm vĂ o cĂĄc
     hĂ nh ñ ng liĂȘn quan ñ n tr ti n b ng th
     Ca s d ng “mua hàng b ng th tín d ng”
     là m t s m r ng c a ca s d ng “mua
     hàng”




48




                                                            24
Quan h m r ng
     KĂ­ hi u


       Mua hĂ ng      << extends >> Mua hĂ ng b ng th



                      Quan h m
                         r ng

     N u m t ca s d ng k t h p v i m t tĂĄc
     nhĂąn, thĂŹ t t c cĂĄc ca s d ng m r ng
     ñ u k t h p v i tåc nhùn ñó

49




Quan h s d ng
     TrÆ° ng h p nhi u ca s d ng chia s cĂčng m t dĂŁy
     cåc hành ñ ng. N u ph n chung là quan tr ng và
     hÆ° ng t i m t m c tiĂȘu rĂ” rĂ ng, nhÆ° th ta cĂł th xĂąy
     d ng m t ca s d ng riĂȘng
     VĂ­ d : chĂșng ta mu n ch p nh n mua hĂ ng tr ti n
     m t l n vĂ  mua hĂ ng tr gĂłp
     Hai ca s d ng “mua hàng tr ti n m t l n” và “mua
     hĂ ng tr gĂłp” th c hi n m t dĂŁy cĂĄc hĂ nh ñ ng mĂ  cĂł
     th Ă±Æ° c mĂŽ t b i ca s d ng “ghi nh n cĂĄc m t
     hàng”



50




                                                           25
Quan h s d ng

       ð c t c a ca s d ng “ghi nh n các m t
       hàng”
          Ca s d ng: ghi nh n cĂĄc m t hĂ ng
          CĂĄc tĂĄc nhĂąn: ngÆ° i bĂĄn hĂ ng, khĂĄch hĂ ng
          MÎ t : Khåch hàng mang cåc m t hàng ñ n
          qu y tĂ­nh ti n. NgÆ° i bĂĄn hĂ ng ghi nh n cĂĄc
          m t hĂ ng vĂ  thĂŽng bĂĄo t ng s ti n ph i tr .




  51




  Quan h s d ng

       KĂ­ hi u
       Mua hĂ ng tr
                       << use >>
         m tl n
                                      Ghi nh n
                       << use >>     cĂĄc m t hĂ ng


   Mua hĂ ng tr gĂłp

                        Quan h s
                          d ng

NgÆ° c v i quan h m r ng, cĂĄc ca s d ng trong quan h s d ng khĂŽng
nh t thi t k t h p v i cĂčng tĂĄc nhĂąn.
  52




                                                                   26
Cåch xåc ñ nh cåc ca s
d ng
     PhÆ°ÆĄng phĂĄp ph ng v n
       KhĂł khăn, vĂŹ hai ngÆ° i khĂĄc nhau Ă±Æ° c
       ph ng v n cĂł th Ă±Æ°a ra Ăœ ki n khĂĄc nhau


     PhÆ°ÆĄng phĂĄp h i th o (workshop)
       T p h p t t c nh ng ai liĂȘn quan ñ n h
       th ng ñ th o lu n: cåc nhà tin h c và khåch
       hĂ ng (ngÆ° i s d ng)
       M i ngÆ° i ñ u Ă±Æ°a ra Ăœ ki n

53




Cåch xåc ñ nh cåc ca s
d ng
     CĂĄch ti n hĂ nh h i th o
       Li t kĂȘ t t c cĂĄc tĂĄc nhĂąn cĂł th
       Li t kĂȘ t t c cĂĄc ca s d ng cĂł th
       PhĂąn tĂ­ch, bi n ch ng m i ca s d ng
       b ng cĂĄch vi t ra m t mĂŽ t Ă±ÆĄn gi n
       MĂŽ hĂŹnh hĂła cĂĄc ca s d ng vĂ  tĂĄc
       nhĂąn


54




                                                     27
Cåch xåc ñ nh cåc ca s
d ng
     Khuy n khĂ­ch
       KhĂŽng nĂȘn c g ng tĂŹm m i ca s
       d ng,
        ‱ Trong quá trình phát tri n các ca s d ng
          s l di n d n
       N u khĂŽng th bi n ch ng cho m t ca
       s d ng
        ‱ CĂł th ñó khĂŽng ph i lĂ  ca s d ng


55




S p x p cĂĄc ca s d ng

     Khi t t c cĂĄc ca s d ng ñã Ă±Æ° c xĂĄc ñ nh
     Ti n trĂŹnh phĂĄt tri n g m nhi u bÆ° c l p
     M i bÆ° c l p th c hi n thi t k , mĂŁ hĂła vĂ 
     ki m th ch m t vĂ i ca s d ng
     LĂ m sao chia cĂĄc ca s d ng vĂ o cĂĄc bÆ° c
     l p?




56




                                                     28
S p x p cĂĄc ca s d ng


       L p1          L p2    L p3     



         A            B       D

                      C


     CĂĄc ca s d ng



57




S p x p cĂĄc ca s d ng

     CĂĄc ca s d ng nĂȘn Ă±Æ° c th c hi n trÆ° c
        CĂĄc ca s     d ng ch a cĂĄc r i ro/nguy cÆĄ
        CĂĄc ca s     d ng ki n trĂșc chĂ­nh
        CĂĄc ca s     d ng ñĂČi h i nghiĂȘn c u m i,
        cĂŽng ngh     m i
        CĂĄc ca s     d ng mĂ  khĂĄch hĂ ng quan tĂąm
        hÆĄn




58




                                                    29
BĂ i t p 1
     MĂĄy rĂșt ti n ATM cĂł cĂĄc ch c năng chĂ­nh nhÆ° sau:
         C p phĂĄt ti n cho nh ng ai cĂł th ngĂąn hĂ ng (cho
         phĂ©p rĂșt m t s lÆ° ng ti n b i h th ng thĂŽng tin c a
         ngùn hàng) và nh ng ai có th VISA (cho phép t xa
         b i h th ng VISA)
         Cho xem ki m tra s ti n tĂ i kho n vĂ  b ti n vĂ o tĂ i
         kho n b ng ti n m t ho c ngùn phi u ñ i v i nh ng
         ai cĂł th ngĂąn hĂ ng
     T t c cĂĄc giao tĂĄc ñ u Ă±Æ° c ki m tra an toĂ n
         Ki m tra mĂŁ PIN
         Mã PIN nh p sai 3 l n thì th s b “nu t”
     C n ph i thÆ° ng xuyĂȘn n p ti n vĂ o mĂĄy, l y ngĂąn phi u vĂ 
     cĂĄc th b nu t ra
     Xåc ñ nh cåc tåc nhùn, cåc ca s d ng và v bi u ñ ca s
59
     d ng




BĂ i t p 1
     CĂĄc tĂĄc nhĂąn
        NgÆ° i cĂł th ngĂąn hĂ ng (bankcard)
        NgÆ° i cĂł th VISA (VISAcard)
        NgÆ° i v n hĂ nh mĂĄy (operator)
        H th ng VISA (VISA)
        H th ng thĂŽng tin ngĂąn hĂ ng (bank)




60




                                                                 30
BĂ i t p 1
       CĂĄc ca s d ng
           RĂșt ti n v i th ngĂąn hĂ ng (withdraw by bankcard)
           RĂșt ti n v i th VISA (withdraw by VISAcard)
           Ki m tra mĂŁ PIN (identify)
           Xem s ti n cĂČn trong tĂ i kho n (balance)
           B ti n vĂ o tĂ i kho n b ng ngĂąn phi u ho c ti n m t
           (deposit)
           N p ti n vĂ o mĂĄy (put money)
           L y th b nu t trong mĂĄy (get cards)
           L y ngĂąn phi u trong mĂĄy (get cheques)



  61




  BĂ i t p 1

                withdraw with VISA card

VISAcard                                             VISA
                 withdraw with bank card

                       balance

bankcard                                                bank
                       deposit
                                       <<include>>
                     <<extend>>                        identify
        deposit by cheque        deposit by cash


  62




                                                                  31
BĂ i t p 1


                               put cash


                              get cards
operator

                             get cheques




63




BĂ i t p 2
     Qu n lĂœ ñào t o nhĂąn viĂȘn: M t cĂŽng ty mu n mĂŽ t b ng UML
     vi c ñào t o nhĂąn viĂȘn ñ tin h c hĂła m t s cĂŽng vi c. Vi c ñào
     t o Ă±Æ° c b t ñ u khi ngÆ° i qu n lĂœ ñào t o nh n Ă±Æ° c yĂȘu c u
     ñào t o c a m t nhĂąn viĂȘn. NhĂąn viĂȘn nĂ y cĂł th xem danh m c
     cĂĄc chuyĂȘn ñ ñào t o c a cĂĄc Ă±ÆĄn v ñào t o kĂœ k t v i cĂŽng ty.
     YĂȘu c u c a nhĂąn viĂȘn Ă±Æ° c xem xĂ©t b i ngÆ° i qu n lĂœ ñào t o vĂ 
     ngÆ° i qu n lĂœ s tr l i lĂ  ch p nh n hay t ch i ñ ngh ñó. Trong
     trÆ° ng h p ch p nh n, ngÆ° i qu n lĂœ s xĂĄc ñ nh chuyĂȘn ñ phĂč
     h p trong danh m c cĂĄc chuyĂȘn ñ , sau ñó g i cho nhĂąn viĂȘn n i
     dung c a chuyĂȘn ñ vĂ  danh sĂĄch cĂĄc khĂła ñào t o. NhĂąn viĂȘn s
     ch n khĂła ñào t o vĂ  ngÆ° i qu n lĂœ s ñăng kĂœ khĂła h c v i Ă±ÆĄn
     v ñào t o cho nhĂąn viĂȘn. Trong trÆ° ng h p mu n h y b ñăng kĂœ
     khĂła ñào t o, nhĂąn viĂȘn ph i thĂŽng bĂĄo s m cho ngÆ° i qu n lĂœ
     bi t ñ ngÆ° i qu n lĂœ th c hi n h y b . Cu i khĂła ñào t o, nhĂąn
     viĂȘn chuy n phi u ñånh giĂĄ k t qu h c v cho cĂŽng ty. NgÆ° i
     qu n lĂœ s ki m tra hĂła Ă±ÆĄn thanh toĂĄn ti n c a Ă±ÆĄn v ñào t o.
     Xùy d ng bi u ñ ca s d ng.

64




                                                                       32
N i dung

     KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng
     Bi u ñ ca s d ng
     Thi t k c u trĂșc tÄ©nh
     Thi t k c u trĂșc ñ ng
     Sinh mĂŁ




65




C u trĂșc tÄ©nh

     MĂŽ hĂŹnh khĂĄi ni m
     Bi u ñ l p
     Bi u ñ ñ i tÆ° ng




66




                                        33
MĂŽ hĂŹnh khĂĄi ni m
     XĂĄc ñ nh cĂĄc “khĂĄi ni m” quan tr ng trong h th ng
     MĂŽ hĂŹnh khĂĄi ni m (conceptual model) mĂŽ t cĂĄc khĂĄi
     ni m trong cĂĄc quan h c a chĂșng
     UML khĂŽng cung c p mĂŽ hĂŹnh khĂĄi ni m, tuy nhiĂȘn
     cung c p kĂ­ hi u vĂ  cĂș phĂĄp ñ bi u di n mĂŽ hĂŹnh ñó
     chính là bi u ñ l p
        giai ño n nĂ y, mĂŽ hĂŹnh khĂĄi ni m cĂČn Ă±Æ° c g i bi u
     ñ l p phĂąn tĂ­ch (analysis class diagram) – lÆ°u Ăœ, khĂĄc
     v i bi u ñ l p thi t k (design class diagram)
     NgoĂ i ra, mĂŽ hĂŹnh khĂĄi ni m cĆ©ng cĂČn Ă±Æ° c g i lĂ  mĂŽ
     hÏnh lĩnh v c (domain model)



67




MĂŽ hĂŹnh khĂĄi ni m

     MĂŽ hĂŹnh khĂĄi ni m g m:
        CĂĄc khĂĄi ni m c a lÄ©nh v c nghiĂȘn c u
        CĂĄc thu c tĂ­nh vĂ  cĂĄc thao tĂĄc c a cĂĄc
        khĂĄi ni m nĂ y
        CĂĄc quan h c a cĂĄc khĂĄi ni m nĂ y
     M t khĂĄi ni m lĂ  bi u di n m c cao (tr u
     tÆ° ng) v m t s v t
     M t khåi ni m là m t ph n t c a lĩnh v c
     nghiĂȘn c u, ch khĂŽng ph i m t ph n t
     c a ph n m m hay h th ng

68




                                                              34
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 bi t b i khĂĄch hĂ ng
     VĂ­ d cĂĄc khĂĄi ni m ñĂșng: khĂĄi ni m g n li n v i v n ñ
        Thang måy trong h th ng ñi u khi n thang måy
        Vé måy bay trong h th ng ñ t vé måy may
        Ă° t hĂ ng trong h th ng mua bĂĄn hĂ ng qua m ng
     VĂ­ d t i v khĂĄi ni m: khĂĄi ni m g n li n v i gi i phĂĄp
        DanhSachKhachHang – b ng các khách hàng
        EventTrigger – ti n trĂŹnh th c hi n duy t h th ng 10 phĂșt
        m tl n




69




MĂŽ hĂŹnh khĂĄi ni m

     LĂ m sao bi t Ă±Æ° c m t khĂĄi ni m lĂ  ñĂșng
     hay khĂŽng?
     NguyĂȘn t c: “N u khĂĄch hĂ ng khĂŽng hi u
     khåi ni m, r t có th ñó khÎng ph i là
     khái ni m”

     MĂŽ hĂŹnh khĂĄi ni m s Ă±Æ° c chuy n d n
     sang bi u ñ l p thi t k trong giai ño n
     xĂąy d ng

70




                                                                    35
Xåc ñ nh cåc khåi ni m

     ð xåc ñ nh cåc khåi ni m, d a vào
     ñ c t yĂȘu c u, mĂ  c th hÆĄn lĂ  d a
     vĂ o cĂĄc ca s d ng
     Ví d : ca s d ng “mua hàng”
       CĂĄc khĂĄi ni m cĂł th : KhĂĄchHĂ ng,
       NgÆ° iBĂĄnHĂ ng, TĂ­nhTi n, MuaHĂ ng,
       M tHàng, 



71




Xåc ñ nh cåc khåi ni m

     M ts    ng c viĂȘn c a khĂĄi ni m t ñ c t
     ho c ca s d ng:
       CĂĄc ñ i tÆ° ng v t lĂœ (xe ĂŽtĂŽ)
       Cåc v trí, ñ a ñi m (nhà ga)
       CĂĄc giao tĂĄc (thanh toĂĄn)
       CĂĄc vai trĂČ c a con ngÆ° i (ngÆ° i bĂĄn)
       CĂĄc h th ng khĂĄc bĂȘn ngoĂ i (cÆĄ s d li u t xa)
       Danh t tr u tÆ° ng (s khĂĄt, ăn u ng)
       Cåc t ch c (ñ i h c)
       CĂĄc s ki n (c p c u)
       NguyĂȘn t c/chĂ­nh sĂĄch


72




                                                       36
Xåc ñ nh cåc khåi ni m

     Cåch khåc ñ xåc ñ nh cåc khåi ni m
       CĂĄc danh t vĂ  c m danh t trong ñ c t yĂȘu c u
       ho c ñ c t ca s d ng có th là cåc khåi ni m
       D a vĂ o hi u bi t vĂ  kinh nghi m lo i b cĂĄc danh t
       vĂ  c m danh t khĂŽng lĂ  cĂĄc khĂĄi ni m

     Ví d : d a vào k ch b n ca s d ng “mua hàng”
       G ch chĂąn cĂĄc danh t vĂ  c m danh t




73




Xåc ñ nh cåc khåi ni m

     VĂ­ d
 Hành ñ ng c a tåc nhùn       Hành ñ ng c a h th ng
1. M t khĂĄch hĂ ng Ă±Æ°a
hàng ñã ch n mua ñ n qu y
tĂ­nh ti n.
2. NgÆ° i bĂĄn hĂ ng ghi nh n   3. XĂĄc ñ nh m t hĂ ng, hi n th
t ng m t hĂ ng.               cĂĄc thĂŽng tin vĂ  giĂĄ m t hĂ ng.

N u m t m t hĂ ng cĂł s        S nĂ y Ă±Æ° c hi n th .
lÆ° ng nhi u hÆĄn m t thĂŹ
ngÆ° i bĂĄn hĂ ng cĂł th nh p
vĂ o m t s .
74




                                                              37
Xåc ñ nh cåc khåi ni m

     VĂ­ d
 Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng

4. Sau khi ñã ghi nh n t t    5. Tính và hi n th t ng s
c cĂĄc m t hĂ ng, ngÆ° i bĂĄn     ti n.
hĂ ng bĂĄo hi u k t thĂșc vi c
ghi nh n hĂ ng.
6. NgÆ° i bĂĄn hĂ ng thĂŽng
bĂĄo t ng s ti n ph i tr cho
khĂĄch hĂ ng.
7. KhĂĄch hĂ ng tr ti n cho
ngÆ° i bĂĄn hĂ ng.
75




Xåc ñ nh cåc khåi ni m

  VĂ­ d
 Hành ñ ng c a tåc nhùn         Hành ñ ng c a h th ng
8. NgÆ° i bĂĄn hĂ ng nh p s      9. Hi n th ti n dÆ° vĂ  in phi u
ti n khĂĄch hĂ ng tr .          bĂĄn hĂ ng

10. NgÆ° i bĂĄn hĂ ng xĂĄc        11. Ghi nh n phiĂȘn bĂĄn hĂ ng.
nh n s tr ti n, l y ti n dÆ°
tr cho khĂĄch hĂ ng vĂ  Ă±Æ°a
cho khĂĄch hĂ ng phi u bĂĄn
hĂ ng.
12. KhĂĄch hĂ ng r i qu y
thu ti n v i tĂși hĂ ng
76




                                                               38
Xåc ñ nh cåc khåi ni m

 PhĂąn bi t gi a khĂĄi ni m (concept) vĂ  thu c tĂ­nh (attribut)
      N u m t ph n t c a lÄ©nh v c nghiĂȘn c u khĂŽng lĂ  m t con
      s ho c m t chu i kí t thÏ có th ñó là m t khåi ni m
      VĂ­ d : C n xĂąy d ng ph n m m qu n lĂœ cĂĄc chuy n bay.
      Ă°Ă­ch c a m t chuy n bay lĂ  thu c tĂ­nh c a m t chuy n bay
      hay lĂ  m t khĂĄi ni m khĂĄc ?
      Tr l i: ñích m t chuy n bay là m t sùn bay, khÎng ph i là
      m t con s hay văn b n, ñó là m t khåi ni m




77




Xåc ñ nh cåc khåi ni m

     L p “MîT ”
       L p MĂŽT lĂ  l p ch a thĂŽng tin mĂŽ t cĂĄc
       ñ i tÆ° ng khĂĄc
        ‱ Ví d : L p M tHàng ch a các thîng tin v M t
          HĂ ng
                 M tHĂ ng
                   mĂŁMH
                   tĂȘnMH: text
                   giĂĄ
                   s XĂȘri
                   mĂ uS c

             PhÆ°ÆĄng ĂĄn 1 (chÆ°a t t)
78




                                                                  39
Xåc ñ nh cåc khåi ni m

     L p “MîT ”

     M tHĂ ng                             MĂŽT M tHĂ ng
                         Ă°Æ° c mĂŽ t   1
                   *                       mĂŁMH
     s XĂȘri                                tĂȘnMH: text
     mĂ uS c                                giĂĄ



                 PhÆ°ÆĄng ĂĄn 2 (t t hÆĄn)




79




Xåc ñ nh cåc khåi ni m

     L p “MîT ”
        Khi nào s d ng l p “MîT ”
          ‱ Khi c n gi m b t s dÆ° th a, trĂčng l p thĂŽng tin
          ‱ Khi c n mĂŽ t v ñ i tÆ° ng ñ c l p v i cĂĄc ñ i
            tÆ° ng c th
          ‱ Khi c n c n duy trĂŹ thĂŽng tin v ñ i tÆ° ng cho dĂč
            cĂĄc ñ i tÆ° ng c th b xĂła




80




                                                               40
Xåc ñ nh cåc khåi ni m

     L p “MîT ”
        Ví d : trong lĩnh v c hàng khÎng, c n mÎ t
        quan h gi a cĂĄc chuy n bay vĂ  cĂĄc sĂąn
        bay

      Chuy nBay                              SĂąnBay
                         Bay ñ n       1
       ngĂ y          *                       tĂȘn
       gi
       s Hi u


                         PhÆ°ÆĄng ĂĄn 1

81




Xåc ñ nh cåc khåi ni m

     L p “MîT ”

     MĂŽT Chuy nBay                           SĂąnBay
                         Bay ñ n       1
                     *                       tĂȘn
       s Hi u

                1


                *
       Chuy nBay               PhÆ°ÆĄng ĂĄn 2
       ngĂ y
       gi
82




                                                      41
Bi u di n khĂĄi ni m

      S d ng kí hi u c a bi u ñ l p

                          MĂŽt M tHĂ ng               KhĂĄi ni m

   CĂĄc thu c tĂ­nh

   CĂĄc thao tĂĄc
   (chÆ°a xĂ©t ñ n
   giai ño n này)




 83




 Thu c tĂ­nh
      CĂĄc thu c tĂ­nh (attribut) c a m t khĂĄi ni m bi u di n
      d li u c n thi t cho cĂĄc th hi n (instance) c a khĂĄi
      ni m
      VĂ­ d

                       MĂŽt M tHĂ ng              KhĂĄi ni m

                         mĂŁ
CĂĄc thu c tĂ­nh
                         tĂȘn: text
                                            Ki u (khĂŽng b t bu c)




 84




                                                                    42
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 s h u thu c tính ñó
     VĂ­ d
                                  NgÆ° iBĂĄnHĂ ng

                                      tĂȘn
                 Sai                  s Qu y



                       NgÆ° iBĂĄnHĂ ng                Qu y

     Ă°Ășng                 tĂȘn                       s
85




Thu c tĂ­nh

     Cåch xåc ñ nh cåc thu c tính
            CĂĄc con s vĂ  chu i kĂ­ t lĂ  cĂĄc thu c tĂ­nh
            N u m t tĂ­nh ch t c a m t khĂĄi ni m khĂŽng
            th lĂ m Ă±Æ° c ñi u gĂŹ thĂŹ r t cĂł th ñó lĂ 
            thu c tĂ­nh
            N u nghi ng m t thu c tĂ­nh lĂ  khĂĄi ni m, thĂŹ
            Ă±ÆĄn gi n hĂŁy coi ñó lĂ  khĂĄi ni m
             ‱ VĂ­ d : lÆ°ÆĄng lĂ  thu c tĂ­nh hay khĂĄi ni m so v i
               khĂĄi ni m cĂŽng nhĂąn ?
             ‱ N u nghi ng ñó lĂ  khĂĄi ni m thĂŹ coi nhÆ° lÆ°ÆĄng vĂ 
               cĂŽng nhĂąn lĂ  hai khĂĄi ni m tĂĄch r i
86




                                                                  43
Thao tĂĄc

      KhĂĄi ni m cĂł th cĂł cĂĄc thao tĂĄc (operation)
      Thao tåc c a khåi ni m chính là kh năng
      th c hi n c a m t th hi n c a khĂĄi ni m
      VĂ­ d

                    M tHĂ ngBĂĄn          KhĂĄi ni m

                  ngĂ y
CĂĄc thu c tĂ­nh
                  gi B tĂ° u: Time

                  t ngTi n(): Integer    Thao tĂĄc


 87




 Thao tĂĄc

         giai ño n elaboration, mÎ hÏnh khåi ni m
      cĂł th khĂŽng nh t thi t ph i mĂŽ t cĂĄc
      thao tĂĄc c a khĂĄi ni m
      Giai ño n construction s th c hi n cÎng
      vi c này m t cåch chi ti t và ñ y ñ




 88




                                                    44
K th p
     K t h p (association) bi u di n quan h gi a cĂĄc th
     hi n c a cĂĄc khĂĄi ni m
     VĂ­ d : k t h p ch a gi a khĂĄi ni m c a hĂ ng vĂ  khĂĄi
     ni m m t hĂ ng
     KĂ­ hi u



           C aHĂ ng       Ch a >        M tHĂ ng



                         K th p


89




K th p
     CĂł th t n t i k t h p c a nhi u hÆĄn hai khĂĄi ni m
     VĂ­ d


                      Profession
                            function



      Person   work                employ   Company




90




                                                           45
K th p
     B i s (multiplicity) c a vai trĂČ ch ra s th hi n cĂł
     th c a quan h tham gia vĂ o quan h
     CĂĄc b i s cĂł th
        1: ch ñĂșng m t
        1..*: t m t ñ n nhi u
        *: t 0 ñ n nhi u
        m..n: t m ñ n n
     VĂ­ d

                           1    Ch a > *
              C aHĂ ng                           M tHĂ ng


91




H n ch k t h p
(qualificator)
     Gi m s th hi n tham gia vĂ o m t k t h p
     KĂ­ hi u

              A      key                        B

                                 qualificator

     M i th hi n A v i giå tr key xåc ñ nh m t t p con cåc
     th hi n B tham gia vĂ o k t h p




92




                                                             46
H n ch k t h p
(qualificator)
     VĂ­ d
        PhĂąn bi t cĂĄc sinh viĂȘn h c t i m t ñ i h c d a vĂ o
        mĂŁ s sinh viĂȘn

       Ă° iH c      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


93




ChuyĂȘn bi t hĂła
     M t khĂĄi ni m cĂł th v cÆĄ b n gi ng v i 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 ch t (thu c tĂ­nh, thao tĂĄc, cĂĄc k t h p)
     KhĂĄi ni m th nh t Ă±Æ° c g i lĂ  chuyĂȘn bi t hĂła
     (specialization) c a khĂĄi ni m th hai
     KhĂĄi ni m th nh t Ă±Æ° c g i lĂ  khĂĄi ni m chuyĂȘn bi t
     hĂła (specialized concept), khĂĄi ni m th hai Ă±Æ° c g i
     lĂ  khĂĄi ni m chung (general concept)




94




                                                              47
ChuyĂȘn bi t hĂła
     KĂ­ hi u


                   general concept




 specialized concept                 specialized concept




95




Th a k
     KhĂĄi ni m chuyĂȘn bi t hĂła th a k (inheritance) t t c
     cĂĄc tĂ­nh ch t c a c a khĂĄi ni m chung. CĂĄc tĂ­nh ch t
     nĂ y bao g m:
        CĂĄc thu c tĂ­nh
        CĂĄc thao tĂĄc
        CĂĄc k t h p v i khĂĄi ni m khĂĄc




96




                                                            48
Th a k
           VĂ­ d
                          ThanhToĂĄn       1   thanh toĂĄn >   1 PhiĂȘnBĂĄnHĂ ng

                          t ng: Integer



   ThanhToĂĄnB ngTi nM t                       ThanhToĂĄnB ngTh

           Các khái ni m “ThanhToánB ngTi nM t” và
           “ThanhToĂĄnB ngTh ” ñ u cĂł thu c tĂ­nh “t ng” vĂ  k t
           h p “thanh toĂĄn” v i khĂĄi ni m “PhiĂȘnBĂĄnHĂ ng”



      97




      KhĂĄi ni m tr u tÆ° ng
           TÆ°ÆĄng t nhÆ° l p, khĂĄi ni m tr u tÆ° ng khĂŽng cĂł cĂĄc
           th hi n

                              ThanhToĂĄn       1   thanh toĂĄn >   1 PhiĂȘnBĂĄnHĂ ng
KhĂĄi ni m tr u tÆ° ng
Ă±Æ° c vi t in nghiĂȘng          t ng: Integer



       ThanhToĂĄnB ngTi nM t                       ThanhToĂĄnB ngTh


           LÆ°u Ăœ, trong tĂ i li u vi t tay cĂł th vi t {abstract} dÆ° i
           tĂȘn khĂĄi ni m tr u tÆ° ng


      98




                                                                                  49
Quan h h p thĂ nh vĂ  quan
h k tt p
      Quan h h p thĂ nh (composition) vĂ  quan h k t
      t p (agregation) là hai k t h p ñ c bi t ch s s
      h u
         Quan h h p thĂ nh: m t khĂĄi ni m thĂ nh ph n ch
         thu c vĂ o m t khĂĄi ni m toĂ n ph n

              ToĂ nPh n                     M tPh n


         Quan h k t t p: m t khĂĄi ni m thĂ nh ph n cĂł th
         thu c vĂ o nhi u khĂĄi ni m toĂ n ph n

              ToĂ nPh n                     M tPh n

99




Quan h h p thĂ nh vĂ  quan
h k tt p
                          3            1
                              Point
      VĂ­ d

             Triangle                                Circle

                         1     Style       1         radius

                                color
                              isFilled
      M t th hi n c a “Point” khĂŽng th ñ ng th i thu c
      vào m t th hi n c a “Triangle” và m t th hi n c a
      “Circle”


100




                                                              50
Quan h h p thĂ nh vĂ  quan
h k tt p
      Quan h h p thĂ nh nh n m nh s s h u: n u khĂĄi
      ni m toĂ n ph n b h y b thĂŹ khĂĄi ni m thĂ nh ph n
      cƩng b h y b theo
      Trong trÆ° ng h p, th t c a cĂĄc khĂĄi ni m thĂ nh
      ph n lĂ  quan tr ng, thĂŹ thĂȘm vĂ o k t h p ñi u ki n
      {ordered}
      VĂ­ d
                                 {ordered}
               Polygon                 3..*
                                              Point




101




KhĂĄi ni m k t h p

      CĂł th mĂŽ t cĂĄc tĂ­nh ch t c a m t k t h p
      gi a hai khĂĄi ni m b i m t khĂĄi ni m k t
      h p (association concept)
      VĂ­ d

                work                  employ
         Person 1..*                       * Company


                        Employment
                                                      KhĂĄi ni m k t h p

                       begin, end: Date

102




                                                                          51
BĂ i t p 1

               XĂąy d ng mĂŽ hĂŹnh khĂĄi ni m c a h
               th ng/ph n m m bĂĄn hĂ ng t i siĂȘu th
                    Ph n m m bĂĄn hĂ ng s d ng t i siĂȘu th
                    nh m giĂșp ghi nh n ho t ñ ng bĂĄn hĂ ng, x
                    lĂœ cĂĄc thanh toĂĄn v i khĂĄch hĂ ng. Ph n
                    m m Ă±Æ° c s d ng b i ngÆ° i bĂĄn hĂ ng vĂ 
                    Ă±Æ° c qu n lĂœ b i ngÆ° i qu n lĂœ siĂȘu th .
                    Ph n m m nh m t ñ ng hóa cÎng vi c c a
                    ngÆ° i bĂĄn hĂ ng t i qu y thu ti n.



         103




         BĂ i t p 1

                                                                 1
                      DongHang *                MatHang *                MoTaMatHang
                                           1
                      1..*                        *                            *

                         1                        1                            1
                                 1..*      1               *         1
                    PhienBanHang                 CuaHang                  DanhMucMatHang
                1        1                          1    1..*
                              *                                               1

                                           1     1..*           HeThongBanHang
     1                  1                                             1
                                        QuayTinhTien
ThanhToan             KhĂĄchHĂ ng                                           1
                                           1
                                                    1
                                                                     NguoiQuanLy
                                               NgÆ° iBĂĄn



                                                            NhĂąnViĂȘn
         104




                                                                                           52
BĂ i t p 2
      Qu n lĂœ ñào t o trung tĂąm tin h c: M t cĂŽng ty mu n mĂŽ t
      b ng UML vi c ñào t o nhĂąn viĂȘn ñ tin h c hĂła m t s cĂŽng vi c.
      Vi c ñào t o Ă±Æ° c b t ñ u khi ngÆ° i qu n lĂœ ñào t o nh n Ă±Æ° c
      yĂȘu c u ñào t o c a m t nhĂąn viĂȘn. NhĂąn viĂȘn nĂ y cĂł th xem
      danh m c cĂĄc chuyĂȘn ñ ñào t o c a cĂĄc Ă±ÆĄn v ñào t o kĂœ k t v i
      cĂŽng ty. YĂȘu c u c a nhĂąn viĂȘn Ă±Æ° c xem xĂ©t b i ngÆ° i qu n lĂœ
      ñào t o vĂ  ngÆ° i qu n lĂœ s tr l i lĂ  ch p nh n hay t ch i ñ
      ngh ñó. Trong trÆ° ng h p ch p nh n, ngÆ° i qu n lĂœ s xĂĄc ñ nh
      chuyĂȘn ñ phĂč h p trong danh m c cĂĄc chuyĂȘn ñ , sau ñó g i cho
      nhĂąn viĂȘn n i dung c a chuyĂȘn ñ vĂ  danh sĂĄch cĂĄc khĂła ñào t o.
      NhĂąn viĂȘn s ch n khĂła ñào t o vĂ  ngÆ° i qu n lĂœ s ñăng kĂœ khĂła
      h c v i Ă±ÆĄn v ñào t o cho nhĂąn viĂȘn. Trong trÆ° ng h p mu n h y
      b ñăng kĂœ khĂła ñào t o, nhĂąn viĂȘn ph i thĂŽng bĂĄo s m cho ngÆ° i
      qu n lĂœ bi t ñ ngÆ° i qu n lĂœ th c hi n h y b . Cu i khĂła ñào t o,
      nhĂąn viĂȘn chuy n phi u ñånh giĂĄ k t qu h c v cho cĂŽng ty.
      NgÆ° i qu n lĂœ s ki m tra hĂła Ă±ÆĄn thanh toĂĄn ti n c a Ă±ÆĄn v ñào
      t o.
      XĂąy d ng bi u mĂŽ hĂŹnh khĂĄi ni m.
105




Bi u ñ l p

      Bi u ñ l p ñ nh nghĩa:
          CĂĄc l p (class)
           ‱ Các thu c tính (attribut) c a l p: các
             bi n vĂ  ki u c a chĂșng
           ‱ Các thao tác (operation) c a l p: các
             phÆ°ÆĄng th c (method), cĂĄc tham ñ i vĂ 
             cĂł th giĂĄ tr tr v
          CĂĄc quan h gi a cĂĄc l p


106




                                                                          53
Bi u ñ l p
      Bi u ñ l p cĂł cĂčng quy t c cĂș phĂĄp v i mĂŽ hĂŹnh khĂĄi
      ni m
         Th c ra, mĂŽ hĂŹnh khĂĄi ni m s d ng cĂĄc cĂș phĂĄp c a
         bi u ñ l p trong UML
         T t c cåc kí hi u và quy t c (ñã trÏnh bày) ñ i v i
         mĂŽ hĂŹnh khĂĄi ni m ñ u Ă±Æ° c s d ng ñ xĂąy
         d ng bi u ñ l p
      Bi u ñ l p Ă±Æ° c xĂąy d ng d a trĂȘn mĂŽ hĂŹnh khĂĄi
      ni m
      CĂĄc l p cĂł th ch y u lĂ  cĂĄc khĂĄi ni m ho c cĂĄc
      thĂ nh ph n khĂĄc
      Bi u ñ l p s lĂ  n n t ng cho bÆ° c mĂŁ hĂła
107




Bi u ñ l p
      Ă° i v i bi u ñ l p, m i thu c tĂ­nh hay m i phÆ°ÆĄng
      th c cĂł th cĂł thĂȘm m c kh ki n – kh năng nhĂŹn
      th y (visibility)
      KĂ­ hi u
         “–” m c riĂȘng (priviate), thu c tĂ­nh hay phÆ°ÆĄng th c
         ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó
         “#” m c b o v (protected), thu c tĂ­nh hay phÆ°ÆĄng
         th c ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó vĂ 
         ñ i tÆ° ng c a cĂĄc l p th a k l p ñó
         “+” m c chung (public), thu c tĂ­nh hay phÆ°ÆĄng th c
         ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a t t c cĂĄc l p



108




                                                                54
Bi u ñ l p

       VĂ­ d                                                 TĂȘn l p

                                     Shape
                                                                Thu c tĂ­nh

                      – origin : Point

                      + setOrigin(p : Point)                     PhÆ°ÆĄng th c
                      + getOrigin() : Point)
                      + move(p : Point)
                      + resize(s : Scale)
                      + display()
                      # pointInShape(p : Point) : Boolean


 109




 Bi u ñ l p
       Thu c tĂ­nh d n xu t (derived attribut) lĂ  cĂĄc thu c tĂ­nh
       c a bi u ñ l p mà có th suy ra t cåc thu c tính
       khĂĄc.
       KĂ­ hi u: thu c tĂ­nh d n xu t b t ñ u b i “/”, m t rĂ ng
       bu c có th ñi kÚm ñ gi i thích s d n xu t
       VĂ­ d
                                           Person
          RĂ ng bu c
                                         name               Thu c tĂ­nh d n xu t
                                         birthDate
{age = CurrentDate – birthDate}          / age



 110




                                                                                  55
Bi u ñ l p

      CĂĄc quan h gi a cĂĄc l p
         Quan h k t h p (association)
         Quan h chuyĂȘn bi t hĂła/t ng quĂĄt hĂła
         (specialization/generalization)
         Quan h h p thĂ nh (composition)
         Quan h k t t p (agregation)
         Quan h ph thu c (dependence)




111




Bi u ñ l p
      Quan h k t h p (association)          Quan h k t h p


                         1   Ch a > * M tHĂ ng
             Qu yHĂ 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




        NgÆ° iBĂĄnHĂ ng              NgÆ° iQu nLĂœ


112




                                                                   56
Bi u ñ l p

      Quan h k t t p (agregation)
                                     Quan h


                    0..*
         Company               *   Person

      Quan h h p thĂ nh (composition)
                                                Quan h


                           1
         DanhM cM tHĂ ng                  *    M tHĂ ng


113




Bi u ñ l p

      Quan h ph thu c (dependence): mĂŽ t
      m t l p ph thu c vĂ o l p khĂĄc
      VĂ­ d
                                            Quan h ph th c



           Circle                     Point

         center : Point




114




                                                             57
Bi u ñ l p

        Ví d : chuy n ñ i mÎ hÏnh khåi ni m
        thành bi u ñ l p
        Gi s mĂŽ hĂŹnh khĂĄi ni m


                       ThanhToĂĄn        1   thanh toĂĄn >   1 PhiĂȘnBĂĄnHĂ ng



ThanhToĂĄnB ngTi nM t                        ThanhToĂĄnB ngTh




  115




  Bi u ñ l p

        Chi ti t cĂĄc thu c tĂ­nh


                       ThanhToĂĄn        1   thanh toĂĄn >   1 PhiĂȘnBĂĄnHĂ ng

                       t ng : Integer



ThanhToĂĄnB ngTi nM t                        ThanhToĂĄnB ngTh




  116




                                                                            58
Bi u ñ l p

             Chi ti t 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ĂĄnB ngTi nM t                        ThanhToĂĄnB ngTh

nh nTi n()                                  tr VĂ oTh ()



      117




      Bi u ñ l p

             Xåc ñ nh cåc m c kh ki n


                     ThanhToĂĄn          1   thanh toĂĄn >    1      PhiĂȘnBĂĄnHĂ ng

                    # t ng : Integer                            + tĂ­nhT ng() : Integer


ThanhToĂĄnB ngTi nM t                        ThanhToĂĄnB ngTh

+ nh nTi n()                                + tr VĂ oTh ()



      118




                                                                                         59
N i dung

      KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng
      Bi u ñ ca s d ng
      Thi t k c u trĂșc tÄ©nh
      Thi t k c u trĂșc ñ ng
      Sinh mĂŁ




119




C u trĂșc ñ ng

      Bi u ñ tÆ°ÆĄng tĂĄc
        Bi u ñ tu n t
        Bi u ñ c ng tåc




120




                                         60
Bi u ñ tÆ°ÆĄng tĂĄc
      Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t hĂ nh vi c a h th ng
      M i bi u ñ tÆ°ÆĄng tĂĄc tÆ°ÆĄng ng m t tĂĄc v Ă±Æ° c
      th c hi n b i m t s cĂĄc ñ i tÆ° ng
      Bi u ñ tÆ°ÆĄng tĂĄc xĂąy d ng d a trĂȘn n n t ng c a
      bi u ñ ho t ñ ng và bi u ñ tr ng thåi
      Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t cĂĄc hĂ nh ñ ng c a cĂĄc ñ i
      tÆ° ng ñ th c hi n m t tĂĄc v . CĂĄc hĂ nh ñ ng c a
      ñ i tÆ° ng bao g m:
           g i cĂĄc thĂŽng ñi p (message) gi a cĂĄc ñ i tÆ° ng
           t o (create) vĂ  h y (destroy) cĂĄc ñ i tÆ° ng




121




Bi u ñ tu n t

      Bi   u ñ tu n t (sequence diagram) bi u
      di   n s tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng
      vi   c nh n m nh th t trao ñ i thÎng ñi p
      gi   a cĂĄc ñ i tÆ° ng
      Bi   u ñ tu n t g m:
           cĂĄc ñ i tÆ° ng
           cĂĄc thĂŽng ñi p trao ñ i gi a cĂĄc ñ i tÆ° ng




122




                                                             61
Bi u ñ tu n t
      M i ñ i tÆ° ng cĂł m t Ă±Æ° ng sinh t n (lifeline) bi u di n
      th i gian t n t i c a nĂł.
      KĂ­ hi u               Ă° i tÆ° ng



           object         object:Class                :Class




                            Ă°Æ° ng sinh t n

123




Bi u ñ tu n t

      Th i gian ho t ñ ng (activation) là
      th i gian mĂ  ñ i tÆ° ng ñang th c
      hi n m t thao tĂĄc
      KĂ­ hi u
                         object


                                             Th i gian ho t ñ ng




124




                                                                   62
Bi u ñ tu n t

      M t thÎng ñi p ñ c t trao ñ i gi a
      cĂĄc ñ i tÆ° ng
      Cåc lo i thÎng ñi p
         G i (call)
         Tr v (return)
         G i (send)
         T o (create)
         H y (destroy)

125




Bi u ñ tu n t
      ThĂŽng ñi p g i g i m t phÆ°ÆĄng th c/thao tĂĄc trĂȘn ñ i tÆ° ng
         Ă° i tÆ° ng g i ph i ñ i thĂŽng ñi p Ă±Æ° c th c hi n k t thĂșc
         m i có th th c hi n cÎng vi c khåc (thÎng ñi p ñ ng b )
      M t ñ i tÆ° ng cĂł th g i thĂŽng ñi p cho chĂ­nh nĂł
      KĂ­ hi u


            object A                    object B      object

                         message()



                       G i thÎng ñi p g i             G i cho chính nó
126




                                                                         63
Bi u ñ tu n t

      ThÎng ñi p tr v tr v m t giå tr
      cho ñ i tÆ° ng g i
      KĂ­ hi u
                Object A                      Object B

                             message()

                                value


                           ThÎng ñi p tr v

127




Bi u ñ tu n t
      ThĂŽng ñi p g i g i m t tĂ­n hi u ñ n m t ñ i tÆ° ng
         KhĂĄc v i thĂŽng ñi p g i, khi ñ i tÆ°ÆĄng g i thĂŽng ñi p
         g i nó khÎng ch ñ i, mà ti p t c th c hi n cÎng vi c
         khåc (thÎng ñi p khÎng ñ ng b )
      KĂ­ hi u
                object A                      object B

                              message()



                             ThÎng ñi p g i


128




                                                                 64
Bi u ñ tu n t
       ThĂŽng ñi p t o g i phÆ°ÆĄng th c t o m t ñ i tÆ° ng
       ThĂŽng ñi p h y g i phÆ°ÆĄng th c h y m t ñ i tÆ° ng
       KĂ­ hi u
                                          ThÎng ñi p t o
                 object A

                            <<create>>
                                             object B

                            <<destroy>>

                                             ThÎng ñi p h y

 129




 Bi u ñ tu n t

       VĂ­ d
                                           public class A
                                           {
        :A                                  private B objB;
                                            public void msg1()
                                            {
msg1          <<create>>                       objB = new B();
                               :B
                                               objB.msg2();
                 msg2                          objB.msg3();
                                             }
                                           }
                 msg3
                                           public class B
                                           {
                                            

                                             public void msg2() { 
 }
                                             public void msg3() { 
 }
                                           }


 130




                                                                        65
Bi u ñ tu n t

          M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p
          nhi u l n
          Kí hi u                G i l p thÎng ñi p 10 l n



                                   object A                   object B

                                              *[1..10]message()
for(i = 1; i<= 10; i++)
{
           objectB.message()
}


    131




    Bi u ñ tu n t

          M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p
          nhi u l n ph thu c vào m t ñi u ki n
          KĂ­ hi u               G i l p thĂŽng ñi p trong khi C ñĂșng



                                   object A                   object B

                                              *[C]message()
while(C)
{
             objectB.message()
}


    132




                                                                         66
Bi u ñ tu n t

             M t thĂŽng ñi p cĂł th Ă±Æ° c g i 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();



       133




       Bi u ñ tu n t

             M t thĂŽng ñi p cĂł th Ă±Æ° c g i ñ
             quy
             KĂ­ hi u
                                                     ThÎng ñi p ñ quy

                               :BinaryTree

                     print()
                                           print()




       134




                                                                                   67
Bi u ñ tu n t

             VĂ­ d
            :TĂ iLi u                 :MĂĄyFax            :DĂąyĂ°i nTho i

                         g i()
                                                nh cMĂĄy()
                                                ĂąmM i
                                                b mS (s )
                       ñãK tN i                 ñãK tN i
                       g i(trang)
                                                chuy n(trang)


       135




       Bi u ñ tu n t

             VĂ­ d
:NgÆ° iBĂĄn                :MĂĄyTĂ­nhTi n           :PhiĂȘnBĂĄnHĂ ng

       thanhToĂĄn(s Ti n)
                                    thanhToĂĄn(s Ti n)      <<create>> :ThanhToĂĄn

                                                            thanhToĂĄn(s Ti n)

                                                              ti nDÆ°
                                       ti nDÆ°
       tr Ti nDÆ°()                                           <<destroy>>


       136




                                                                                   68
Bi u ñ tu n t
      Gi a bi u ñ tÆ°ÆĄng tĂĄc vĂ  bi u ñ l p vĂ  cĂł m i quan
      h ch t ch v i nhau
      VĂ­ d
            MĂĄyTĂ­nhTi n                    PhiĂȘnBĂĄnHĂ ng

           m ThanhToĂĄn()                   thanhToĂĄn()

                       :MĂĄyTĂ­nhTi n       :PhiĂȘnBĂĄnHĂ ng


        m ThanhToĂĄn(s Ti n)   thanhToĂĄn(s Ti n)




137




Bi u ñ c ng tåc
      Bi u ñ c ng tåc (collaboration diagram) mÎ t s
      tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng vi c nh n m nh
      c u trĂșc k t h p gi a cĂĄc ñ i tÆ° ng vĂ  nh ng thĂŽng
      ñi p trao ñ i gi a chĂșng
      Bi u ñ c ng tĂĄc lĂ  s m r ng c a bi u ñ ñ i tÆ° ng
      Bi u ñ c ng tåc ch ra
         th t g i cĂĄc thĂŽng ñi p: m i thĂŽng ñi p Ă±Æ° c gĂĄn
         m t s tu n t
         ñi u ki n g i cåc thÎng ñi p




138




                                                            69
Bi u ñ c ng tåc
      C u trĂșc thĂŽng ñi p Ă±Æ° c mĂŽ t d ng t ng quĂĄt nhÆ° sau:
       precondition / condition sequence * *|| iteration : result := message(parameters)
           “precondition /”: danh sĂĄch s tu n t c a cĂĄc thĂŽng ñi p trÆ° c
           thĂŽng ñi p c n g i. ThĂŽng ñi p ch Ă±Æ° c g i ñi khi t t c cĂĄc thĂŽng
           ñi p trÆ° c nĂł ñã Ă±Æ° c g i ñi.
           “condition”: thĂŽng ñi p ch Ă±Æ° c g i ñi khi ñi u ki n Ă±Æ° c th a
           mĂŁn.
           “sequence”: s tu n t c a thĂŽng ñi p c n g i. VĂ­ d , vi c g i
           thÎng ñi p 1.3.5 theo sau vi c g i thÎng ñi p 1.3.4, c hai thÎng
           ñi p này n m trong lu ng 1.3.
           “*”: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch tu n t .
           “*||”: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch ñ ng th i.
           “iteration”: ch ra s l n g i thĂŽng ñi p m t cĂĄch tu n t ho c ñ ng
           th i
           “result”: ch ra giĂĄ tr tr v c a thĂŽng ñi p.
           “message”: tĂȘn thĂŽng ñi p
           “parameters”: danh sĂĄch cĂĄc tham s c a thĂŽng ñi p.
139




Bi u ñ c ng tåc

      VĂ­ d
           4 : hello() : thÎng ñi p có s tu n t là 4.
           [time = 12h] 1 : lunch() : thÎng ñi p này ch
           Ă±Æ° c g i ñi n u lĂ  lĂșc 12h.
           1.3.5 * call() : thĂŽng ñi p nĂ y Ă±Æ° c g i ñi
           nhi u l n.
           3 / *|| [i:= 1..5] 1.2 : close() : thÎng ñi p này
           Ă±Æ° c g i ñi năm l n m t cĂĄch ñ ng th i vĂ 
           sau thÎng ñi p s 3.
           1.2, 2.3 / [t < 10] 3.1 name = getName() :
           thĂŽng ñi p nĂ y Ă±Æ° c g i ñi sau cĂĄc thĂŽng
           ñi p 1.2, 2.3 và v i ñi u ki n t<10.
140




                                                                                           70
Bi u ñ c ng tåc

                Ví d bi u ñ c ng tåc


                  :NgÆ° iBĂĄn                    :ThanhToĂĄn

                       1 : thanhToĂĄn(s Ti n)
                                                       1.1.1 : <<create>>
2 : tr Ti nDÆ°()
                                    1.1.3 : ti nDÆ°()   1.1.2 : thanhToĂĄn(s Ti n)
                                                       1.1.4 : <<desstroy>>
                              1.2 ti nDÆ°()
                  :H Th ng                   :PhiĂȘnBĂĄnHĂ ng
                         1.1 : thanhToĂĄn(s Ti n)

          141




          Bi u ñ tÆ°ÆĄng tĂĄc

                BĂ i t p 1: MĂĄy rĂșt ti n ATM
                  Xùy d ng bi u ñ tu n t cho ca s d ng
                  rĂșt ti n trong trÆ° ng h p thĂ nh cĂŽng

                  Xùy d ng bi u ñ tu n t cho ca s d ng
                  xem s ti n dÆ° trong tĂ i kho n




          142




                                                                                   71
N i dung

      KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng
      Bi u ñ ca s d ng
      Thi t k c u trĂșc tÄ©nh
      Thi t k c u trĂșc ñ ng
      Sinh mĂŁ




143




Sinh mĂŁ
      Chuy n cĂĄc mĂŽ hĂŹnh thi t k sang mĂŁ chÆ°ÆĄng trĂŹnh
      (C++, Java, 
)
      MĂŁ chÆ°ÆĄng trĂŹnh hÆ° ng ñ i tÆ° ng
        ð nh nghĩa cåc l p và giao di n
        Ă° nh nghÄ©a cĂĄc phÆ°ÆĄng th c
      CĂĄc bi u ñ l p s Ă±Æ° c chuy n sang mĂŁ
      chÆ°ÆĄng trĂŹnh ñ nh nghÄ©a cĂĄc l p tÆ°ÆĄng ng
      CĂĄc bi u ñ tÆ°ÆĄng tĂĄc s Ă±Æ° c chuy n thĂ nh mĂŁ
      chÆ°ÆĄng trĂŹnh ñ nh nghÄ©a cĂĄc phÆ°ÆĄng th c
      Cåc bi u ñ khåc s h tr cho quå trÏnh mã hóa



144




                                                        72
Sinh mĂŁ

        Ví d : bi u ñ l p

                 orderListe        OneOrder                contains >
                        1..*                           *
                               − quantity: Integer
         1                                                          1
  ListOfOrders                                                     AirPlane
                               + subtotal() : double
  − datePlaced                                                − price : float
  − clientID

 + total() : double                                          + getPrice() : float



  145




  Sinh mĂŁ

        MĂŁ l p OneOrder


                                             public class OneOrder
    OneOrder
                                             {
                                                public double subtotal()
− quantity: Integer                             {

                                                 }
+ subtotal() : double                            private int quantity;
                                             }




  146




                                                                                    73
Sinh mĂŁ

                     MĂŁ l p OneOrder

     OneOrder               contains >
                                                     public class OneOrder
                         *                           {
 − quantity: Integer                                    public double subtotal()
                                    1
                                                        {
                                   AirPlane
                                                         }
+ subtotal() : double
                              − price : float            private int quantity;
                                                         private AirPlane airPlane;
                                                     }

                              + getPrice() : float



              147




              Sinh mĂŁ

                     MĂŁ l p ListOfOrders

               orderListe        OneOrder
                      1..*                           public class ListOfOrder
                                                     {
                             − quantity: Integer        public double total()
       1
                                                        {
ListOfOrders
                                                         }
                             + subtotal() : double
− datePlaced                                             private Date datePlaced;
                                                         private int clientID;
− clientID                                               private Vector orderList;
                                                     }
+ total() : double



              148




                                                                                      74
Sinh mĂŁ

          Bi u ñ c ng tĂĄc th c hi n phÆ°ÆĄng th c
          total()

     1 : total()                   2 : *[for each] subtotal()
                   :ListOfOrders                                :OneOrder


                                                       3 : getPrice()



                                                                :AirPlane


    149




    Sinh mĂŁ

          MĂŁ phÆ°ÆĄng th c total()


     1 : total()                   2 : *[for each] subtotal()
                   :ListOfOrders                                :OneOrder


                                                       3 : getPrice()
public double total()
{

}                                                               :AirPlane


    150




                                                                            75
Sinh mĂŁ

               MĂŁ phÆ°ÆĄng th c total()


       1 : total()                   2 : *[for each] subtotal()
                     :ListOfOrders                                :OneOrder



public double total()                                    3 : getPrice()
{
  double sum = 0;
  for (int i=0; i<orderList.size(); i++)
    sum += orderList.elementAt(i).subtotal();
  return sum;                                                     :AirPlane
}


         151




         Sinh mĂŁ

               MĂŁ phÆ°ÆĄng th c subTotal()


       1 : total()                   2 : *[for each] subtotal()
                     :ListOfOrders                                :OneOrder



    public double subtotal()                             3 : getPrice()
    {
      return (quantity * airplane.getPrice());
    }
                                                                  :AirPlane


         152




                                                                              76
Sinh mĂŁ

        MĂŁ phÆ°ÆĄng th c getPrice()


1 : total()                   2 : *[for each] subtotal()
              :ListOfOrders                                :OneOrder


         public float getPrice()                  3 : getPrice()
         {
           return price;
         }

                                                           :AirPlane


  153




  CĂŽng c

        Ph n m m Rational Rose, Poisedon
        for UML, Umbrello
              Thi t k cåc bi u ñ UML
              Sinh mĂŁ chÆ°ÆĄng trĂŹnh
              ‱   C++
              ‱   Java
              ‱   VB
              ‱   Ada

  154




                                                                       77

More Related Content

Similar to Thiet ke HDT

Quan tri chien luoc -03 Internal Environment
Quan tri chien luoc -03 Internal EnvironmentQuan tri chien luoc -03 Internal Environment
Quan tri chien luoc -03 Internal EnvironmentChuong Nguyen
 
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄoQuáșŁng Văn HáșŁi
 
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quy
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quyPhĂąn tĂ­ch tÆ°ÆĄng quan hồi quy
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quySi Thinh Hoang
 
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)Si Thinh Hoang
 
7 module7 h_dhoctapvoitrogiup_cn
7 module7 h_dhoctapvoitrogiup_cn7 module7 h_dhoctapvoitrogiup_cn
7 module7 h_dhoctapvoitrogiup_cnhoangtv
 
Android program 6167
Android program 6167Android program 6167
Android program 6167PhongSPKT
 
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangGiai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangNGUYEN VAN LUONG
 
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰nataliej4
 
Bai giang ky thuat do luong
Bai giang ky thuat do luongBai giang ky thuat do luong
Bai giang ky thuat do luongle quangthuan
 
Kiểm thá»­ pháș§n mềm
Kiểm thá»­ pháș§n mềm Kiểm thá»­ pháș§n mềm
Kiểm thá»­ pháș§n mềm Nguyen Vu
 
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệp
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệpPhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệp
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệpBáș±ng Tráș§n
 
Chuan bi thuyet_trinh
Chuan bi thuyet_trinhChuan bi thuyet_trinh
Chuan bi thuyet_trinhTin Tin
 
Ky Nang Lanh Dao
Ky Nang Lanh DaoKy Nang Lanh Dao
Ky Nang Lanh DaoThuong HL
 
Dam phan trong kinh doanh
Dam phan trong kinh doanhDam phan trong kinh doanh
Dam phan trong kinh doanhTranNam94
 
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄy
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄyKinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄy
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄyNguyen Van Nghiem
 
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy học
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy họcChia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy học
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy họcQuáșŁng Văn HáșŁi
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdfLuanvan84
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvansatthu127
 

Similar to Thiet ke HDT (20)

Quan tri chien luoc -03 Internal Environment
Quan tri chien luoc -03 Internal EnvironmentQuan tri chien luoc -03 Internal Environment
Quan tri chien luoc -03 Internal Environment
 
Os php-7oohabits
Os php-7oohabitsOs php-7oohabits
Os php-7oohabits
 
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo
101 Ăœ tưởng giĂĄo viĂȘn sĂĄng táșĄo
 
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quy
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quyPhĂąn tĂ­ch tÆ°ÆĄng quan hồi quy
PhĂąn tĂ­ch tÆ°ÆĄng quan hồi quy
 
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)
Spss lesson 5.3 TÆ°ÆĄng quan hồi quy (hồi quy tuyáșżn tĂ­nh đa biáșżn)
 
7 module7 h_dhoctapvoitrogiup_cn
7 module7 h_dhoctapvoitrogiup_cn7 module7 h_dhoctapvoitrogiup_cn
7 module7 h_dhoctapvoitrogiup_cn
 
Android program 6167
Android program 6167Android program 6167
Android program 6167
 
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangGiai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
 
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰
TĂŽÌ‰ chức điĂȘ̀u hành hoaÌŁt Ä‘ĂŽÌŁng cĂŽng sÆĄÌ‰
 
Bai giang ky thuat do luong
Bai giang ky thuat do luongBai giang ky thuat do luong
Bai giang ky thuat do luong
 
Kiểm thá»­ pháș§n mềm
Kiểm thá»­ pháș§n mềm Kiểm thá»­ pháș§n mềm
Kiểm thá»­ pháș§n mềm
 
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệp
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệpPhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệp
PhĂąn tĂ­ch tĂ i chĂ­nh doanh nghiệp
 
Chuan bi thuyet_trinh
Chuan bi thuyet_trinhChuan bi thuyet_trinh
Chuan bi thuyet_trinh
 
Quan ly bo nho
Quan ly bo nhoQuan ly bo nho
Quan ly bo nho
 
Ky Nang Lanh Dao
Ky Nang Lanh DaoKy Nang Lanh Dao
Ky Nang Lanh Dao
 
Dam phan trong kinh doanh
Dam phan trong kinh doanhDam phan trong kinh doanh
Dam phan trong kinh doanh
 
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄy
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄyKinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄy
Kinh nghiệm ứng dỄng CNTT trong giáșŁng dáșĄy
 
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy học
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy họcChia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy học
Chia sáșœ kinh nghiệm ứng dỄng cĂŽng nghệ thĂŽng tin trong dáșĄy học
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdf
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 

Thiet ke HDT

  • 1. Thi t k hÆ° ng ñ i tÆ° ng - S d ng UML (7) Nguy n Thanh BĂŹnh Khoa CĂŽng ngh ThĂŽng tin TrÆ° ng Ă° i h c BĂĄch khoa Ă° i h c Ă°Ă  N ng N i dung KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng Bi u ñ ca s d ng Thi t k c u trĂșc tÄ©nh Thi t k c u trĂșc ñ ng Sinh mĂŁ 2 1
  • 2. HÆ° ng ch c năng D a vĂ o cĂĄc ch c năng c a h th ng H th ng lĂ  t p h p cĂĄc ch c năng Chia nh cĂĄc ch c năng vĂ  lĂ m m n d n H th ng g m cĂĄc h th ng con LĂ m ch ñ ph c t p CĂĄc ch c năng trao ñ i v i nhau b ng truy n tham s ho c d li u (ch ng h n bi n toĂ n c c) dĂčng chung 3 HÆ° ng ch c năng PhĂąn c p ch c năng H th ng 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 4 2
  • 3. HÆ° ng ch c năng ÆŻu ñi m PhĂąn tĂ­ch Ă±Æ° c cĂĄc ch c năng c a h th ng Ă°Æ°a l i k t qu mong ñ i NhÆ° c ñi m Ch c năng c u trĂșc Thay ñ i v ch c năng khĂł khăn thay ñ i c u trĂșc TĂ­nh m c a h th ng th p KhĂł tĂĄi s d ng Chi phĂ­ s a ch a l i l n 5 HÆ° ng ñ i tÆ° ng L y ñ i tÆ° ng lĂ m trung tĂąm H th ng = t p h p cĂĄc ñ i tÆ° ng + quan h gi a cĂĄc ñ i tÆ° ng CĂĄc ñ i tÆ° ng trao ñ i b ng thĂŽng ñi p (message) KhĂŽng s d ng bi n toĂ n c c Ă°Ăłng gĂłi Th a k 6 3
  • 4. HÆ° ng ñ i tÆ° ng PhĂąn bi t L p trĂŹnh c u trĂșc ‱ Thu t toĂĄn + c u trĂșc d li u = chÆ°ÆĄng trĂŹnh L p trĂŹnh HĂ°T ‱ Σñ i tÆ° ng = chÆ°ÆĄng trĂŹnh ‱ ñ i tÆ° ng = thu t toĂĄn + c u trĂșc d li u 7 HÆ° ng ñ i tÆ° ng ÆŻu ñi m chĂ­nh G n gĆ©i v i th gi i th c TĂĄi s d ng d dĂ ng Ă°Ăłng gĂłi, che d u thĂŽng tin lĂ m cho h th ng tin c y hÆĄn Th a k lĂ m gi m chi phĂ­, h th ng cĂł tĂ­nh m cao hÆĄn XĂąy d ng h th ng l n vĂ  ph c t p 8 4
  • 5. Ă° i tÆ° ng Ă° i tÆ° ng (object) lĂ  khĂĄi ni m cho phĂ©p mĂŽ t cĂĄc s v t/th c th trong th gi i th c CĂĄc ñ i tÆ° ng duy trĂŹ cĂĄc quan h gi a chĂșng Nguy n Văn A lĂ  m t ñ i tÆ° ng 9 Ă° i tÆ° ng CĂĄc tĂ­nh ch t c a ñ i tÆ° ng Ă° i tÆ° ng = tr ng thĂĄi + hĂ nh vi + ñ nh danh ‱ Tr ng thĂĄi lĂ  cĂĄc ñ c tĂ­nh c a ñ i tÆ° ng t i m t th i ñi m ‱ HĂ nh vi th hi n cĂĄc ch c năng c a ñ i tÆ° ng ‱ Ă° nh danh th hi n s t n t i duy nh t c a ñ i tÆ° ng 10 5
  • 6. Ă° i tÆ° ng : tr ng thĂĄi Tr ng thĂĄi = t p h p cĂĄc thu c tĂ­nh M i thu c tĂ­nh mĂŽ t m t ñ c tĂ­nh T i m t th i ñi m c th , cĂĄc thu c tĂ­nh mang cĂĄc giĂĄ tr trong mi n xĂĄc ñ nh VĂ­ d ‱ M t chi c xe mĂĄy: mĂ u xanh, 110 cm3, dream, 12000km, ñ ng yĂȘn, 
 11 Ă° i tÆ° ng : hĂ nh vi HĂ nh vi = t p h p cĂĄc phÆ°ÆĄng th c PhÆ°ÆĄng th c: lĂ  m t thao tĂĄc ho c Ă±Æ° c th c hi n b i chĂ­nh nĂł, ho c th c hi n khi cĂł yĂȘu c u t mĂŽi trÆ° ng (thĂŽng ñi p t ñ i tÆ° ng khĂĄc) HĂ nh vi ph thu c vĂ o tr ng thĂĄi VĂ­ d : ‱ m t xe mĂĄy cĂł cĂĄc hĂ nh vi: kh i ñ ng, ch y, 
 12 6
  • 7. Giao ti p gi a cĂĄc ñ i tÆ° ng CĂĄc ñ i tÆ° ng giao ti p v i nhau G i thĂŽng ñi p (message) cho nhau ThĂŽng ñi p Ă° i tÆ° ng A Ă° i tÆ° ng B CĂĄc lo i thĂŽng ñi p ‱ hĂ m d ng (constructor) ‱ hĂ m h y (destructor) ‱ hĂ m ch n l a (get) ‱ hĂ m s a ñ i (set) ‱ cĂĄc hĂ m ch c năng khĂĄc 13 Ă° i tÆ° ng Gi a cĂĄc ñ i tÆ° ng cĂł m i liĂȘn k t (link) v i nhau VĂ­ d Nguy n Văn A H c Ă° i h c Ă°Ă  N ng 14 7
  • 8. L p L p lĂ  khĂĄi ni m dĂčng ñ mĂŽ t m t t p h p cĂĄc ñ i tÆ° ng cĂł cĂčng m t c u trĂșc, cĂčng hĂ nh vi vĂ  cĂł cĂčng nh ng m i quan h v i cĂĄc ñ i tÆ° ng khĂĄc L p = cĂĄc thu c tĂ­nh + cĂĄc phÆ°ÆĄng th c 15 L p L p lĂ  m t bÆ° c tr u tÆ° ng hĂła TĂŹm ki m cĂĄc ñi m gi ng nhau, b qua cĂĄc ñi m khĂĄc nhau c a ñ i tÆ° ng Person Name Age changeAge Tr u tÆ° ng hĂła lĂ m gi m ñ ph c t p 16 8
  • 9. L p Quan h gi a cĂĄc l p: k t h p M t k t h p lĂ  m t t p h p cĂĄc m i liĂȘn k t gi a cĂĄc ñ i tÆ° ng h c Sinh viĂȘn Ă° ih c 17 L p & Ă° i tÆ° ng Ă° i tÆ° ng lĂ  th hi n (instance) c a l p GiĂĄ tr lĂ  th hi n c a thu c tĂ­nh LiĂȘn k t lĂ  th hi n c a k t h p L p Ă° i tÆ° ng Thu c tĂ­nh GiĂĄ tr K th p LiĂȘn k t 18 9
  • 10. CĂĄc tĂ­nh ch t c a HĂ°T TĂ­nh ñóng gĂłi (encapsulation) d li u + x lĂœ d li u = ñ i tÆ° ng thu c tĂ­nh + phÆ°ÆĄng th c = l p ÆŻu ñi m H n ch nh hÆ° ng khi cĂł s thay ñ i c p nh t Ngăn c n s truy c p thĂŽng tin t bĂȘn ngoĂ i Che d u thĂŽng tin 19 CĂĄc tĂ­nh ch t c a HĂ°T TĂ­nh th a k (inheritance) M t l p Ă±Æ° c xĂąy d ng t m t ho c nhi u l p khĂĄc b ng vi c chia s cĂĄc thu c tĂ­nh vĂ  phÆ°ÆĄng th c L p con th a k cĂĄc thu c tĂ­nh vĂ  phÆ°ÆĄng th c t l p 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 ch t chung c a cĂĄc l p khĂĄc nhau vĂ o m t l p cha ‱ ChuyĂȘn bi t hĂła (specialization): t o ra m t l p con cĂł cĂĄc tĂ­nh ch t riĂȘng t l p cha 20 10
  • 11. CĂĄc tĂ­nh ch t c a HĂ°T Ă°ÆĄn th a k : m t l p con ch th a k t m t l p cha duy nh t XeÔtĂŽ ChuyĂȘn bi t hĂła T ng quĂĄt hĂła XeKhĂĄch XeT i L p tr u tÆ° ng hay l p chung: XeÔtĂŽ L p c th hay l p chuyĂȘn bi t: XeKhĂĄch L p chuyĂȘn bi t cĂł th thay th l p chung trong t t c cĂĄc ng d ng. VĂ­ d : ÔtĂŽ t i lĂ  m t ĂŽtĂŽ. 21 CĂĄc tĂ­nh ch t c a HĂ°T Ă°a th a k : m t l p con th a k t nhi u l p cha khĂĄc nhau Person Personnel Student Reseacher Teacher Phd candidate 22 11
  • 12. CĂĄc tĂ­nh ch t c a HĂ°T Ă°a th a k Ă° ng ñ tĂȘn cĂĄc thu c tĂ­nh X Y a a Z ac aX ac aY Ă°a th a k khĂŽng Ă±Æ° c ch p nh n b i m t s ngĂŽn ng : Java 23 CĂĄc tĂ­nh ch t c a HĂ°T ÆŻu ñi m c a th a k PhĂąn lo i cĂĄc l p: cĂĄc l p Ă±Æ° c phĂąn lo i, s p x p theo m t th b c ñ d qu n lĂ­ XĂąy d ng cĂĄc l p: cĂĄc l p con Ă±Æ° c xĂąy d ng t cĂĄc l p cha Ti t ki m th i gian xĂąy d ng, trĂĄnh l p l i thĂŽng tin 24 12
  • 13. CĂĄc tĂ­nh ch t c a HĂ°T TĂ­nh ña hĂŹnh (polymorphism): c a phÆ°ÆĄng th c, t c lĂ  kh năng cĂĄc phÆ°ÆĄng th c khĂĄc nhau Ă±Æ° c th c hi n ñ tr l i cĂčng m t yĂȘu c u M i l p con th a k ñ c t cĂĄc phÆ°ÆĄng th c t l p cha, vĂ  cĂĄc phÆ°ÆĄng th c nĂ y cĂł th Ă±Æ° c s a ñ i trong l p con ñ th c hi n cĂĄc ch c năng riĂȘng trong l p ñó M t phÆ°ÆĄng th c (cĂčng m t tĂȘn phÆ°ÆĄng th c) cĂł nhi u d ng (ñ nh nghÄ©a) khĂĄc nhau trong cĂĄc l p khĂĄc nhau 25 CĂĄc tĂ­nh ch t c a HĂ°T VĂ­ d tĂ­nh ña hĂŹnh Ă°aGiĂĄc dienTich() HĂŹnhVuĂŽng HĂŹnhTamGiĂĄc dienTich() dienTich() 26 13
  • 14. N i dung KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng Bi u ñ ca s d ng Thi t k c u trĂșc tÄ©nh Thi t k c u trĂșc ñ ng Sinh mĂŁ 27 Ca s d ng (Use case) BÆ° c ñ u tiĂȘn c a phĂąn tĂ­ch yĂȘu c u lĂ  xĂĄc ñ nh cĂĄc ca s d ng c a h th ng M t ca s d ng lĂ  m t tÆ°ÆĄng tĂĄc gi a h th ng vĂ  mĂŽi trÆ° ng T p h p cĂĄc ca s d ng lĂ  mĂŽ t toĂ n b h th ng c n xĂąy d ng 28 14
  • 15. Ca s d ng VĂ­ d : phĂĄt tri n m t ph n m m th o văn b n CĂĄc ca s d ng cĂł th : Nh p văn b n m i S a văn b n ñã t n t i T om cl c ChĂ©p ño n văn b n 
 29 Ca s d ng M t ca s d ng tÆ°ÆĄng ng v i m t ch c năng c a h th ng dÆ° i gĂłc nhĂŹn c a ngÆ° i s d ng M t ca s d ng cĂł th l n ho c nh M t ca s d ng ch ra lĂ m th nĂ o m t m c tiĂȘu c a ngÆ° i s d ng Ă±Æ° c th a mĂŁn b i h th ng 30 15
  • 16. Ca s d ng C n phĂąn bi t cĂĄc m c tiĂȘu c a ngÆ° i s d ng vĂ  cĂĄc tÆ°ÆĄng tĂĄc c a h v i h th ng M c tiĂȘu: cĂĄi mĂ  ngÆ° i s 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Ăł Ă±Æ° c m t văn b n trĂŹnh bĂ y ñ p TÆ°ÆĄng tĂĄc: ch n ñ nh d ng trang, ch n font ch , ñ nh nghÄ©a cĂĄc ki u tiĂȘu ñ (heading), 
 Th c t , chĂșng ta xĂĄc ñ nh cĂĄc m c tiĂȘu trÆ° c, sau ñó ch n t p h p cĂĄc tÆ°ÆĄng tĂĄc ñåp ng cĂĄc m c tiĂȘu ñó 31 Ca s d ng VĂ­ d : c n xĂąy d ng m t h th ng ATM cho phĂ©p rĂșt ti n CĂł th cĂł vĂ i tÆ°ÆĄng tĂĄc chung trong m t k ch b n sau: Ă°Æ°a th vĂ o Nh p mĂŁ PIN Ch n s ti n rĂșt Kh ng ñ nh s ti n rĂșt L y th ra L y ti n L y phi u rĂșt ti n CĂĄc tÆ°ÆĄng tĂĄc trĂȘn cĂł lĂ  cĂĄc ca s d ng khĂŽng ? 32 16
  • 17. Ca s d ng CĂąu tr l i: khĂŽng. T i sao ? VĂŹ ch ng h n “Nh p mĂŁ PIN” khĂŽng ñåp ng m t m c tiĂȘu nĂ o c a ngÆ° i s d ng. M c tiĂȘu c a ngÆ° i s d ng lĂ  “RĂșt ti n”, v y ñó nĂȘn lĂ  m t ca s d ng. 33 TĂĄc nhĂąn (Actor) TĂĄc nhĂąn ñóng vai trĂČ m t ngÆ° i s d ng ho c m t th c th bĂȘn ngoĂ i tÆ°ÆĄng tĂĄc v i h th ng VĂ­ d : C n phĂĄt tri n h th ng tĂ­nh ti n siĂȘu th CĂĄc tĂĄc nhĂąn cĂł th lĂ : KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng, NgÆ° i qu n lĂœ, Kho hĂ ng C n phĂąn bi t: tĂĄc nhĂąn (actor) vĂ  ngÆ° i s d ng (user) Nhi u ngÆ° i s d ng cĂł th tÆ°ÆĄng ng m t tĂĄc nhĂąn: nhi u ngÆ° i bĂĄn hĂ ng khĂĄc nhau ñóng cĂčng vai trĂČ Ă± i v i h th ng M t ngÆ° i s d ng cĂł th tÆ°ÆĄng ng v i nhi u tĂĄc nhĂąn khĂĄc nhau: cĂčng m t ngÆ° i cĂł th ñ ng th i ñóng hai vai trĂČ lĂ  ngÆ° i bĂĄn hĂ ng vĂ  ngÆ° i qu n lĂœ 34 17
  • 18. TĂĄc nhĂąn TĂĄc nhĂąn khĂŽng nh t thi t luĂŽn luĂŽn lĂ  con ngÆ° i TĂĄc nhĂąn cĂł th lĂ  mĂŽi trÆ° ng, h th ng khĂĄc, th c th bĂȘn ngoĂ i tÆ°ÆĄng tĂĄc v i h th ng VĂ­ d Kho hĂ ng lĂ  cĂł th m t cÆĄ s d li u 35 Ă° c t ca s d ng Ă° c t ñi n hĂŹnh c a m t ca s d ng: Ca s d ng: tĂȘn ca s d ng thÆ° ng b t ñ u b i m t ñ ng t CĂĄc tĂĄc nhĂąn: danh sĂĄch cĂĄc tĂĄc nhĂąn liĂȘn quan MĂŽ t : tĂłm t t cĂĄc x lĂœ c n th c hi n VĂ­ d Ca s d ng: Mua hĂ ng CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng MĂŽ t : M t khĂĄch hĂ ng sau khi ñã ch n cĂĄc m t hĂ ng, mang gi hĂ ng ñ n qu y thu ti n. NgÆ° 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Ă  tr ti n cĂČn l i cho khĂĄch hĂ ng. KhĂĄch hĂ ng mang hĂ ng ñi. 36 18
  • 19. Ă° c t ca s d ng Ă° c t ca s d ng cĂł th thĂȘm: Tham chi u (reference) ñ n m c liĂȘn quan trong ñ c t yĂȘu c u Ă°i u ki n trÆ° c vĂ  ñi u ki n sau khi th c hi n ca s d ng VĂ­ d Ca s d ng: Mua hĂ ng CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng Tham chi u: R1.2, R2.3 Ă°i u ki n trÆ° c: NgÆ° i bĂĄn hĂ ng ñã ñăng nh p thĂ nh cĂŽng. Ă°i u ki n 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 ñã ch n cĂĄc m t hĂ ng, mang gi hĂ ng ñ n qu y thu ti n. NgÆ° 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Ă  tr ti n cĂČn l i cho khĂĄch hĂ ng. KhĂĄch hĂ ng mang hĂ ng ñi. 37 Ă° c t ca s d ng NgoĂ i ra, ñ i v i m i ca s d ng ta cĂł th xĂąy d ng m t k ch b n (scenario) hĂ nh ñ ng mĂŽ t cĂĄc s ki n x y ra K ch b n: g m cĂĄc s ki n chĂ­nh vĂ  cĂĄc s ki n ngo i l CĂĄc s ki n chia lĂ m hai lu ng Lu ng tÆ°ÆĄng ng v i cĂĄc tĂĄc nhĂąn Lu ng tÆ°ÆĄng ng v i h th ng 38 19
  • 20. Ă° c t ca s d ng CĂĄc s ki n chĂ­nh HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 1. M t khĂĄch hĂ ng Ă±Æ°a hĂ ng ñã ch n mua ñ n qu y tĂ­nh ti n. 2. NgÆ° i bĂĄn hĂ ng ghi nh n 3. XĂĄc ñ nh m t hĂ ng, hi n th t ng m t hĂ ng. cĂĄc thĂŽng tin vĂ  giĂĄ m t hĂ ng. N u m t m t hĂ ng cĂł s S nĂ y Ă±Æ° c hi n th . lÆ° ng nhi u hÆĄn m t thĂŹ ngÆ° i bĂĄn hĂ ng cĂł th nh p vĂ o m t s . 39 Ă° c t ca s d ng CĂĄc s ki n chĂ­nh (ti p) HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 4. Sau khi ñã ghi nh n t t 5. TĂ­nh vĂ  hi n th t ng s c cĂĄc m t hĂ ng, ngÆ° i bĂĄn ti n. hĂ ng bĂĄo hi u k t thĂșc vi c ghi nh n hĂ ng. 6. NgÆ° i bĂĄn hĂ ng thĂŽng bĂĄo t ng s ti n ph i tr cho khĂĄch hĂ ng. 7. KhĂĄch hĂ ng tr ti n cho ngÆ° i bĂĄn hĂ ng. 40 20
  • 21. Ă° c t ca s d ng CĂĄc s ki n chĂ­nh (ti p) HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 8. NgÆ° i bĂĄn hĂ ng nh p s 9. Hi n th ti n dÆ° vĂ  in phi u ti n khĂĄch hĂ ng tr . bĂĄn hĂ ng 10. NgÆ° i bĂĄn hĂ ng xĂĄc 11. Ghi nh n phiĂȘn bĂĄn hĂ ng. nh n s tr ti n, l y ti n dÆ° tr cho khĂĄch hĂ ng vĂ  Ă±Æ°a cho khĂĄch hĂ ng phi u bĂĄn hĂ ng. 12. KhĂĄch hĂ ng r i qu y thu ti n v i tĂși hĂ ng 41 Ă° c t ca s d ng CĂĄc s ki n ph HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 3. S xĂĄc nh n m t hĂ ng khĂŽng ñĂșng. Hi n th l i. 7. KhĂĄch hĂ ng khĂŽng cĂł ñ ti n. NgÆ° i bĂĄn hĂ ng h y b vi c bĂĄn. LÆ°u Ăœ: ñ nh d ng ñ c t cĂĄc ca s d ng khĂŽng c n thi t ph i ch t ch . 42 21
  • 22. Ca s d ng giai ño n Elaboration XĂĄc ñ nh cĂ ng nhi u ca s d ng m t cĂĄch cĂł th KhĂŽng ñi vĂ o quĂĄ chi ti t, nh m gi m ñ ph c t p M t mĂŽ t ng n g n v m i ca s d ng lĂ  ñ , cĂł th b qua ph n k ch b n, tham chi u ñ n ñ c t yĂȘu c u, ñi u ki n trÆ° c vĂ  ñi u ki n sau. B o ñ m r ng cĂĄc ca s d ng bao quĂĄt h t cĂĄc yĂȘu c u c a h th ng 43 Bi u ñ ca s d ng Bi u ñ ca s d ng mĂŽ t quan h gi a cĂĄc tĂĄc nhĂąn vĂ  cĂĄc ca s d ng c a m t h th ng. KĂ­ hi u Use case TĂĄc nhĂąn K t h p ch s tham gia c a tĂĄc nhĂąn vĂ o ca s d ng Gi i h n c a h th ng 44 22
  • 23. Bi u ñ ca s d ng VĂ­ d Ghi nh n Mua hĂ ng NgÆ° i bĂĄn hĂ ng Tr hĂ ng KhĂĄch hĂ ng NgÆ° i qu n lĂœ Kh i ñ ng 45 Bi u ñ ca s d ng CĂĄc tĂĄc nhĂąn cĂł th cĂł quan h th a k VĂ­ d KhĂĄch hĂ ng CĂĄ nhĂąn CĂŽng ty 46 23
  • 24. Quan h m r ng CĂł th x y ra trÆ° ng h p: m t ca s d ng tÆ°ÆĄng t v i m t ca s d ng khĂĄc, tuy nhiĂȘn nĂł g m thĂȘm m t s hĂ nh ñ ng VĂ­ d Ca s d ng: Mua hĂ ng b ng th tĂ­n d ng CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng MĂŽ t : M t khĂĄch hĂ ng sau khi ñã ch n cĂĄc m t hĂ ng, mang gi hĂ ng ñ n qu y thu ti n. NgÆ° 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 phi u bĂĄn hĂ ng vĂ  mang hĂ ng ñi. 47 Quan h m r ng Ca s d ng nĂ y lĂ  m t bi n th c a ca s d ng “mua hĂ ng”, tuy nhiĂȘn thĂȘm vĂ o cĂĄc hĂ nh ñ ng liĂȘn quan ñ n tr ti n b ng th Ca s d ng “mua hĂ ng b ng th tĂ­n d ng” lĂ  m t s m r ng c a ca s d ng “mua hĂ ng” 48 24
  • 25. Quan h m r ng KĂ­ hi u Mua hĂ ng << extends >> Mua hĂ ng b ng th Quan h m r ng N u m t ca s d ng k t h p v i m t tĂĄc nhĂąn, thĂŹ t t c cĂĄc ca s d ng m r ng ñ u k t h p v i tĂĄc nhĂąn ñó 49 Quan h s d ng TrÆ° ng h p nhi u ca s d ng chia s cĂčng m t dĂŁy cĂĄc hĂ nh ñ ng. N u ph n chung lĂ  quan tr ng vĂ  hÆ° ng t i m t m c tiĂȘu rĂ” rĂ ng, nhÆ° th ta cĂł th xĂąy d ng m t ca s d ng riĂȘng VĂ­ d : chĂșng ta mu n ch p nh n mua hĂ ng tr ti n m t l n vĂ  mua hĂ ng tr gĂłp Hai ca s d ng “mua hĂ ng tr ti n m t l n” vĂ  “mua hĂ ng tr gĂłp” th c hi n m t dĂŁy cĂĄc hĂ nh ñ ng mĂ  cĂł th Ă±Æ° c mĂŽ t b i ca s d ng “ghi nh n cĂĄc m t hĂ ng” 50 25
  • 26. Quan h s d ng Ă° c t c a ca s d ng “ghi nh n cĂĄc m t hĂ ng” Ca s d ng: ghi nh n cĂĄc m t hĂ ng CĂĄc tĂĄc nhĂąn: ngÆ° i bĂĄn hĂ ng, khĂĄch hĂ ng MĂŽ t : KhĂĄch hĂ ng mang cĂĄc m t hĂ ng ñ n qu y tĂ­nh ti n. NgÆ° i bĂĄn hĂ ng ghi nh n cĂĄc m t hĂ ng vĂ  thĂŽng bĂĄo t ng s ti n ph i tr . 51 Quan h s d ng KĂ­ hi u Mua hĂ ng tr << use >> m tl n Ghi nh n << use >> cĂĄc m t hĂ ng Mua hĂ ng tr gĂłp Quan h s d ng NgÆ° c v i quan h m r ng, cĂĄc ca s d ng trong quan h s d ng khĂŽng nh t thi t k t h p v i cĂčng tĂĄc nhĂąn. 52 26
  • 27. CĂĄch xĂĄc ñ nh cĂĄc ca s d ng PhÆ°ÆĄng phĂĄp ph ng v n KhĂł khăn, vĂŹ hai ngÆ° i khĂĄc nhau Ă±Æ° c ph ng v n cĂł th Ă±Æ°a ra Ăœ ki n khĂĄc nhau PhÆ°ÆĄng phĂĄp h i th o (workshop) T p h p t t c nh ng ai liĂȘn quan ñ n h th ng ñ th o lu n: cĂĄc nhĂ  tin h c vĂ  khĂĄch hĂ ng (ngÆ° i s d ng) M i ngÆ° i ñ u Ă±Æ°a ra Ăœ ki n 53 CĂĄch xĂĄc ñ nh cĂĄc ca s d ng CĂĄch ti n hĂ nh h i th o Li t kĂȘ t t c cĂĄc tĂĄc nhĂąn cĂł th Li t kĂȘ t t c cĂĄc ca s d ng cĂł th PhĂąn tĂ­ch, bi n ch ng m i ca s d ng b ng cĂĄch vi t ra m t mĂŽ t Ă±ÆĄn gi n MĂŽ hĂŹnh hĂła cĂĄc ca s d ng vĂ  tĂĄc nhĂąn 54 27
  • 28. CĂĄch xĂĄc ñ nh cĂĄc ca s d ng Khuy n khĂ­ch KhĂŽng nĂȘn c g ng tĂŹm m i ca s d ng, ‱ Trong quĂĄ trĂŹnh phĂĄt tri n cĂĄc ca s d ng s l di n d n N u khĂŽng th bi n ch ng cho m t ca s d ng ‱ CĂł th ñó khĂŽng ph i lĂ  ca s d ng 55 S p x p cĂĄc ca s d ng Khi t t c cĂĄc ca s d ng ñã Ă±Æ° c xĂĄc ñ nh Ti n trĂŹnh phĂĄt tri n g m nhi u bÆ° c l p M i bÆ° c l p th c hi n thi t k , mĂŁ hĂła vĂ  ki m th ch m t vĂ i ca s d ng LĂ m sao chia cĂĄc ca s d ng vĂ o cĂĄc bÆ° c l p? 56 28
  • 29. S p x p cĂĄc ca s d ng L p1 L p2 L p3 
 A B D C CĂĄc ca s d ng 57 S p x p cĂĄc ca s d ng CĂĄc ca s d ng nĂȘn Ă±Æ° c th c hi n trÆ° c CĂĄc ca s d ng ch a cĂĄc r i ro/nguy cÆĄ CĂĄc ca s d ng ki n trĂșc chĂ­nh CĂĄc ca s d ng ñĂČi h i nghiĂȘn c u m i, cĂŽng ngh m i CĂĄc ca s d ng mĂ  khĂĄch hĂ ng quan tĂąm hÆĄn 58 29
  • 30. BĂ i t p 1 MĂĄy rĂșt ti n ATM cĂł cĂĄc ch c năng chĂ­nh nhÆ° sau: C p phĂĄt ti n cho nh ng ai cĂł th ngĂąn hĂ ng (cho phĂ©p rĂșt m t s lÆ° ng ti n b i h th ng thĂŽng tin c a ngĂąn hĂ ng) vĂ  nh ng ai cĂł th VISA (cho phĂ©p t xa b i h th ng VISA) Cho xem ki m tra s ti n tĂ i kho n vĂ  b ti n vĂ o tĂ i kho n b ng ti n m t ho c ngĂąn phi u ñ i v i nh ng ai cĂł th ngĂąn hĂ ng T t c cĂĄc giao tĂĄc ñ u Ă±Æ° c ki m tra an toĂ n Ki m tra mĂŁ PIN MĂŁ PIN nh p sai 3 l n thĂŹ th s b “nu t” C n ph i thÆ° ng xuyĂȘn n p ti n vĂ o mĂĄy, l y ngĂąn phi u vĂ  cĂĄc th b nu t ra XĂĄc ñ nh cĂĄc tĂĄc nhĂąn, cĂĄc ca s d ng vĂ  v bi u ñ ca s 59 d ng BĂ i t p 1 CĂĄc tĂĄc nhĂąn NgÆ° i cĂł th ngĂąn hĂ ng (bankcard) NgÆ° i cĂł th VISA (VISAcard) NgÆ° i v n hĂ nh mĂĄy (operator) H th ng VISA (VISA) H th ng thĂŽng tin ngĂąn hĂ ng (bank) 60 30
  • 31. BĂ i t p 1 CĂĄc ca s d ng RĂșt ti n v i th ngĂąn hĂ ng (withdraw by bankcard) RĂșt ti n v i th VISA (withdraw by VISAcard) Ki m tra mĂŁ PIN (identify) Xem s ti n cĂČn trong tĂ i kho n (balance) B ti n vĂ o tĂ i kho n b ng ngĂąn phi u ho c ti n m t (deposit) N p ti n vĂ o mĂĄy (put money) L y th b nu t trong mĂĄy (get cards) L y ngĂąn phi u trong mĂĄy (get cheques) 61 BĂ i t p 1 withdraw with VISA card VISAcard VISA withdraw with bank card balance bankcard bank deposit <<include>> <<extend>> identify deposit by cheque deposit by cash 62 31
  • 32. BĂ i t p 1 put cash get cards operator get cheques 63 BĂ i t p 2 Qu n lĂœ ñào t o nhĂąn viĂȘn: M t cĂŽng ty mu n mĂŽ t b ng UML vi c ñào t o nhĂąn viĂȘn ñ tin h c hĂła m t s cĂŽng vi c. Vi c ñào t o Ă±Æ° c b t ñ u khi ngÆ° i qu n lĂœ ñào t o nh n Ă±Æ° c yĂȘu c u ñào t o c a m t nhĂąn viĂȘn. NhĂąn viĂȘn nĂ y cĂł th xem danh m c cĂĄc chuyĂȘn ñ ñào t o c a cĂĄc Ă±ÆĄn v ñào t o kĂœ k t v i cĂŽng ty. YĂȘu c u c a nhĂąn viĂȘn Ă±Æ° c xem xĂ©t b i ngÆ° i qu n lĂœ ñào t o vĂ  ngÆ° i qu n lĂœ s tr l i lĂ  ch p nh n hay t ch i ñ ngh ñó. Trong trÆ° ng h p ch p nh n, ngÆ° i qu n lĂœ s xĂĄc ñ nh chuyĂȘn ñ phĂč h p trong danh m c cĂĄc chuyĂȘn ñ , sau ñó g i cho nhĂąn viĂȘn n i dung c a chuyĂȘn ñ vĂ  danh sĂĄch cĂĄc khĂła ñào t o. NhĂąn viĂȘn s ch n khĂła ñào t o vĂ  ngÆ° i qu n lĂœ s ñăng kĂœ khĂła h c v i Ă±ÆĄn v ñào t o cho nhĂąn viĂȘn. Trong trÆ° ng h p mu n h y b ñăng kĂœ khĂła ñào t o, nhĂąn viĂȘn ph i thĂŽng bĂĄo s m cho ngÆ° i qu n lĂœ bi t ñ ngÆ° i qu n lĂœ th c hi n h y b . Cu i khĂła ñào t o, nhĂąn viĂȘn chuy n phi u ñånh giĂĄ k t qu h c v cho cĂŽng ty. NgÆ° i qu n lĂœ s ki m tra hĂła Ă±ÆĄn thanh toĂĄn ti n c a Ă±ÆĄn v ñào t o. XĂąy d ng bi u ñ ca s d ng. 64 32
  • 33. N i dung KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng Bi u ñ ca s d ng Thi t k c u trĂșc tÄ©nh Thi t k c u trĂșc ñ ng Sinh mĂŁ 65 C u trĂșc tÄ©nh MĂŽ hĂŹnh khĂĄi ni m Bi u ñ l p Bi u ñ ñ i tÆ° ng 66 33
  • 34. MĂŽ hĂŹnh khĂĄi ni m XĂĄc ñ nh cĂĄc “khĂĄi ni m” quan tr ng trong h th ng MĂŽ hĂŹnh khĂĄi ni m (conceptual model) mĂŽ t cĂĄc khĂĄi ni m trong cĂĄc quan h c a chĂșng UML khĂŽng cung c p mĂŽ hĂŹnh khĂĄi ni m, tuy nhiĂȘn cung c p kĂ­ hi u vĂ  cĂș phĂĄp ñ bi u di n mĂŽ hĂŹnh ñó chĂ­nh lĂ  bi u ñ l p giai ño n nĂ y, mĂŽ hĂŹnh khĂĄi ni m cĂČn Ă±Æ° c g i bi u ñ l p phĂąn tĂ­ch (analysis class diagram) – lÆ°u Ăœ, khĂĄc v i bi u ñ l p thi t k (design class diagram) NgoĂ i ra, mĂŽ hĂŹnh khĂĄi ni m cĆ©ng cĂČn Ă±Æ° c g i lĂ  mĂŽ hĂŹnh lÄ©nh v c (domain model) 67 MĂŽ hĂŹnh khĂĄi ni m MĂŽ hĂŹnh khĂĄi ni m g m: CĂĄc khĂĄi ni m c a lÄ©nh v c nghiĂȘn c u CĂĄc thu c tĂ­nh vĂ  cĂĄc thao tĂĄc c a cĂĄc khĂĄi ni m nĂ y CĂĄc quan h c a cĂĄc khĂĄi ni m nĂ y M t khĂĄi ni m lĂ  bi u di n m c cao (tr u tÆ° ng) v m t s v t M t khĂĄi ni m lĂ  m t ph n t c a lÄ©nh v c nghiĂȘn c u, ch khĂŽng ph i m t ph n t c a ph n m m hay h th ng 68 34
  • 35. 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 bi t b i khĂĄch hĂ ng VĂ­ d cĂĄc khĂĄi ni m ñĂșng: khĂĄi ni m g n li n v i v n ñ Thang mĂĄy trong h th ng ñi u khi n thang mĂĄy VĂ© mĂĄy bay trong h th ng ñ t vĂ© mĂĄy may Ă° t hĂ ng trong h th ng mua bĂĄn hĂ ng qua m ng VĂ­ d t i v khĂĄi ni m: khĂĄi ni m g n li n v i gi i phĂĄp DanhSachKhachHang – b ng cĂĄc khĂĄch hĂ ng EventTrigger – ti n trĂŹnh th c hi n duy t h th ng 10 phĂșt m tl n 69 MĂŽ hĂŹnh khĂĄi ni m LĂ m sao bi t Ă±Æ° c m t khĂĄi ni m lĂ  ñĂșng hay khĂŽng? NguyĂȘn t c: “N u khĂĄch hĂ ng khĂŽng hi u khĂĄi ni m, r t cĂł th ñó khĂŽng ph i lĂ  khĂĄi ni m” MĂŽ hĂŹnh khĂĄi ni m s Ă±Æ° c chuy n d n sang bi u ñ l p thi t k trong giai ño n xĂąy d ng 70 35
  • 36. XĂĄc ñ nh cĂĄc khĂĄi ni m Ă° xĂĄc ñ nh cĂĄc khĂĄi ni m, d a vĂ o ñ c t yĂȘu c u, mĂ  c th hÆĄn lĂ  d a vĂ o cĂĄc ca s d ng VĂ­ d : ca s d ng “mua hĂ ng” CĂĄc khĂĄi ni m cĂł th : KhĂĄchHĂ ng, NgÆ° iBĂĄnHĂ ng, TĂ­nhTi n, MuaHĂ ng, M tHĂ ng, 
 71 XĂĄc ñ nh cĂĄc khĂĄi ni m M ts ng c viĂȘn c a khĂĄi ni m t ñ c t ho c ca s d ng: CĂĄc ñ i tÆ° ng v t lĂœ (xe ĂŽtĂŽ) CĂĄc v trĂ­, ñ a ñi m (nhĂ  ga) CĂĄc giao tĂĄc (thanh toĂĄn) CĂĄc vai trĂČ c a con ngÆ° i (ngÆ° i bĂĄn) CĂĄc h th ng khĂĄc bĂȘn ngoĂ i (cÆĄ s d li u t xa) Danh t tr u tÆ° ng (s khĂĄt, ăn u ng) CĂĄc t ch c (ñ i h c) CĂĄc s ki n (c p c u) NguyĂȘn t c/chĂ­nh sĂĄch 72 36
  • 37. XĂĄc ñ nh cĂĄc khĂĄi ni m CĂĄch khĂĄc ñ xĂĄc ñ nh cĂĄc khĂĄi ni m CĂĄc danh t vĂ  c m danh t trong ñ c t yĂȘu c u ho c ñ c t ca s d ng cĂł th lĂ  cĂĄc khĂĄi ni m D a vĂ o hi u bi t vĂ  kinh nghi m lo i b cĂĄc danh t vĂ  c m danh t khĂŽng lĂ  cĂĄc khĂĄi ni m VĂ­ d : d a vĂ o k ch b n ca s d ng “mua hĂ ng” G ch chĂąn cĂĄc danh t vĂ  c m danh t 73 XĂĄc ñ nh cĂĄc khĂĄi ni m VĂ­ d HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 1. M t khĂĄch hĂ ng Ă±Æ°a hĂ ng ñã ch n mua ñ n qu y tĂ­nh ti n. 2. NgÆ° i bĂĄn hĂ ng ghi nh n 3. XĂĄc ñ nh m t hĂ ng, hi n th t ng m t hĂ ng. cĂĄc thĂŽng tin vĂ  giĂĄ m t hĂ ng. N u m t m t hĂ ng cĂł s S nĂ y Ă±Æ° c hi n th . lÆ° ng nhi u hÆĄn m t thĂŹ ngÆ° i bĂĄn hĂ ng cĂł th nh p vĂ o m t s . 74 37
  • 38. XĂĄc ñ nh cĂĄc khĂĄi ni m VĂ­ d HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 4. Sau khi ñã ghi nh n t t 5. TĂ­nh vĂ  hi n th t ng s c cĂĄc m t hĂ ng, ngÆ° i bĂĄn ti n. hĂ ng bĂĄo hi u k t thĂșc vi c ghi nh n hĂ ng. 6. NgÆ° i bĂĄn hĂ ng thĂŽng bĂĄo t ng s ti n ph i tr cho khĂĄch hĂ ng. 7. KhĂĄch hĂ ng tr ti n cho ngÆ° i bĂĄn hĂ ng. 75 XĂĄc ñ nh cĂĄc khĂĄi ni m VĂ­ d HĂ nh ñ ng c a tĂĄc nhĂąn HĂ nh ñ ng c a h th ng 8. NgÆ° i bĂĄn hĂ ng nh p s 9. Hi n th ti n dÆ° vĂ  in phi u ti n khĂĄch hĂ ng tr . bĂĄn hĂ ng 10. NgÆ° i bĂĄn hĂ ng xĂĄc 11. Ghi nh n phiĂȘn bĂĄn hĂ ng. nh n s tr ti n, l y ti n dÆ° tr cho khĂĄch hĂ ng vĂ  Ă±Æ°a cho khĂĄch hĂ ng phi u bĂĄn hĂ ng. 12. KhĂĄch hĂ ng r i qu y thu ti n v i tĂși hĂ ng 76 38
  • 39. XĂĄc ñ nh cĂĄc khĂĄi ni m PhĂąn bi t gi a khĂĄi ni m (concept) vĂ  thu c tĂ­nh (attribut) N u m t ph n t c a lÄ©nh v c nghiĂȘn c u khĂŽng lĂ  m t con s ho c m t chu i kĂ­ t thĂŹ cĂł th ñó lĂ  m t khĂĄi ni m VĂ­ d : C n xĂąy d ng ph n m m qu n lĂœ cĂĄc chuy n bay. Ă°Ă­ch c a m t chuy n bay lĂ  thu c tĂ­nh c a m t chuy n bay hay lĂ  m t khĂĄi ni m khĂĄc ? Tr l i: ñích m t chuy n bay lĂ  m t sĂąn bay, khĂŽng ph i lĂ  m t con s hay văn b n, ñó lĂ  m t khĂĄi ni m 77 XĂĄc ñ nh cĂĄc khĂĄi ni m L p “MĂŽT ” L p MĂŽT lĂ  l p ch a thĂŽng tin mĂŽ t cĂĄc ñ i tÆ° ng khĂĄc ‱ VĂ­ d : L p M tHĂ ng ch a cĂĄc thĂŽng tin v M t HĂ ng M tHĂ ng mĂŁMH tĂȘnMH: text giĂĄ s XĂȘri mĂ uS c PhÆ°ÆĄng ĂĄn 1 (chÆ°a t t) 78 39
  • 40. XĂĄc ñ nh cĂĄc khĂĄi ni m L p “MĂŽT ” M tHĂ ng MĂŽT M tHĂ ng Ă°Æ° c mĂŽ t 1 * mĂŁMH s XĂȘri tĂȘnMH: text mĂ uS c giĂĄ PhÆ°ÆĄng ĂĄn 2 (t t hÆĄn) 79 XĂĄc ñ nh cĂĄc khĂĄi ni m L p “MĂŽT ” Khi nĂ o s d ng l p “MĂŽT ” ‱ Khi c n gi m b t s dÆ° th a, trĂčng l p thĂŽng tin ‱ Khi c n mĂŽ t v ñ i tÆ° ng ñ c l p v i cĂĄc ñ i tÆ° ng c th ‱ Khi c n c n duy trĂŹ thĂŽng tin v ñ i tÆ° ng cho dĂč cĂĄc ñ i tÆ° ng c th b xĂła 80 40
  • 41. XĂĄc ñ nh cĂĄc khĂĄi ni m L p “MĂŽT ” VĂ­ d : trong lÄ©nh v c hĂ ng khĂŽng, c n mĂŽ t quan h gi a cĂĄc chuy n bay vĂ  cĂĄc sĂąn bay Chuy nBay SĂąnBay Bay ñ n 1 ngĂ y * tĂȘn gi s Hi u PhÆ°ÆĄng ĂĄn 1 81 XĂĄc ñ nh cĂĄc khĂĄi ni m L p “MĂŽT ” MĂŽT Chuy nBay SĂąnBay Bay ñ n 1 * tĂȘn s Hi u 1 * Chuy nBay PhÆ°ÆĄng ĂĄn 2 ngĂ y gi 82 41
  • 42. Bi u di n khĂĄi ni m S d ng kĂ­ hi u c a bi u ñ l p MĂŽt M tHĂ ng KhĂĄi ni m CĂĄc thu c tĂ­nh CĂĄc thao tĂĄc (chÆ°a xĂ©t ñ n giai ño n nĂ y) 83 Thu c tĂ­nh CĂĄc thu c tĂ­nh (attribut) c a m t khĂĄi ni m bi u di n d li u c n thi t cho cĂĄc th hi n (instance) c a khĂĄi ni m VĂ­ d MĂŽt M tHĂ ng KhĂĄi ni m mĂŁ CĂĄc thu c tĂ­nh tĂȘn: text Ki u (khĂŽng b t bu c) 84 42
  • 43. 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 s h u thu c tĂ­nh ñó VĂ­ d NgÆ° iBĂĄnHĂ ng tĂȘn Sai s Qu y NgÆ° iBĂĄnHĂ ng Qu y Ă°Ășng tĂȘn s 85 Thu c tĂ­nh CĂĄch xĂĄc ñ nh cĂĄc thu c tĂ­nh CĂĄc con s vĂ  chu i kĂ­ t lĂ  cĂĄc thu c tĂ­nh N u m t tĂ­nh ch t c a m t khĂĄi ni m khĂŽng th lĂ m Ă±Æ° c ñi u gĂŹ thĂŹ r t cĂł th ñó lĂ  thu c tĂ­nh N u nghi ng m t thu c tĂ­nh lĂ  khĂĄi ni m, thĂŹ Ă±ÆĄn gi n hĂŁy coi ñó lĂ  khĂĄi ni m ‱ VĂ­ d : lÆ°ÆĄng lĂ  thu c tĂ­nh hay khĂĄi ni m so v i khĂĄi ni m cĂŽng nhĂąn ? ‱ N u nghi ng ñó lĂ  khĂĄi ni m thĂŹ coi nhÆ° lÆ°ÆĄng vĂ  cĂŽng nhĂąn lĂ  hai khĂĄi ni m tĂĄch r i 86 43
  • 44. Thao tĂĄc KhĂĄi ni m cĂł th cĂł cĂĄc thao tĂĄc (operation) Thao tĂĄc c a khĂĄi ni m chĂ­nh lĂ  kh năng th c hi n c a m t th hi n c a khĂĄi ni m VĂ­ d M tHĂ ngBĂĄn KhĂĄi ni m ngĂ y CĂĄc thu c tĂ­nh gi B tĂ° u: Time t ngTi n(): Integer Thao tĂĄc 87 Thao tĂĄc giai ño n elaboration, mĂŽ hĂŹnh khĂĄi ni m cĂł th khĂŽng nh t thi t ph i mĂŽ t cĂĄc thao tĂĄc c a khĂĄi ni m Giai ño n construction s th c hi n cĂŽng vi c nĂ y m t cĂĄch chi ti t vĂ  ñ y ñ 88 44
  • 45. K th p K t h p (association) bi u di n quan h gi a cĂĄc th hi n c a cĂĄc khĂĄi ni m VĂ­ d : k t h p ch a gi a khĂĄi ni m c a hĂ ng vĂ  khĂĄi ni m m t hĂ ng KĂ­ hi u C aHĂ ng Ch a > M tHĂ ng K th p 89 K th p CĂł th t n t i k t h p c a nhi u hÆĄn hai khĂĄi ni m VĂ­ d Profession function Person work employ Company 90 45
  • 46. K th p B i s (multiplicity) c a vai trĂČ ch ra s th hi n cĂł th c a quan h tham gia vĂ o quan h CĂĄc b i s cĂł th 1: ch ñĂșng m t 1..*: t m t ñ n nhi u *: t 0 ñ n nhi u m..n: t m ñ n n VĂ­ d 1 Ch a > * C aHĂ ng M tHĂ ng 91 H n ch k t h p (qualificator) Gi m s th hi n tham gia vĂ o m t k t h p KĂ­ hi u A key B qualificator M i th hi n A v i giĂĄ tr key xĂĄc ñ nh m t t p con cĂĄc th hi n B tham gia vĂ o k t h p 92 46
  • 47. H n ch k t h p (qualificator) VĂ­ d PhĂąn bi t cĂĄc sinh viĂȘn h c t i m t ñ i h c d a vĂ o mĂŁ s sinh viĂȘn Ă° iH c 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 93 ChuyĂȘn bi t hĂła M t khĂĄi ni m cĂł th v cÆĄ b n gi ng v i 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 ch t (thu c tĂ­nh, thao tĂĄc, cĂĄc k t h p) KhĂĄi ni m th nh t Ă±Æ° c g i lĂ  chuyĂȘn bi t hĂła (specialization) c a khĂĄi ni m th hai KhĂĄi ni m th nh t Ă±Æ° c g i lĂ  khĂĄi ni m chuyĂȘn bi t hĂła (specialized concept), khĂĄi ni m th hai Ă±Æ° c g i lĂ  khĂĄi ni m chung (general concept) 94 47
  • 48. ChuyĂȘn bi t hĂła KĂ­ hi u general concept specialized concept specialized concept 95 Th a k KhĂĄi ni m chuyĂȘn bi t hĂła th a k (inheritance) t t c cĂĄc tĂ­nh ch t c a c a khĂĄi ni m chung. CĂĄc tĂ­nh ch t nĂ y bao g m: CĂĄc thu c tĂ­nh CĂĄc thao tĂĄc CĂĄc k t h p v i khĂĄi ni m khĂĄc 96 48
  • 49. Th a k VĂ­ d ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng t ng: Integer ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh CĂĄc khĂĄi ni m “ThanhToĂĄnB ngTi nM t” vĂ  “ThanhToĂĄnB ngTh ” ñ u cĂł thu c tĂ­nh “t ng” vĂ  k t h p “thanh toĂĄn” v i khĂĄi ni m “PhiĂȘnBĂĄnHĂ ng” 97 KhĂĄi ni m tr u tÆ° ng TÆ°ÆĄng t nhÆ° l p, khĂĄi ni m tr u tÆ° ng khĂŽng cĂł cĂĄc th hi n ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng KhĂĄi ni m tr u tÆ° ng Ă±Æ° c vi t in nghiĂȘng t ng: Integer ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh LÆ°u Ăœ, trong tĂ i li u vi t tay cĂł th vi t {abstract} dÆ° i tĂȘn khĂĄi ni m tr u tÆ° ng 98 49
  • 50. Quan h h p thĂ nh vĂ  quan h k tt p Quan h h p thĂ nh (composition) vĂ  quan h k t t p (agregation) lĂ  hai k t h p ñ c bi t ch s s h u Quan h h p thĂ nh: m t khĂĄi ni m thĂ nh ph n ch thu c vĂ o m t khĂĄi ni m toĂ n ph n ToĂ nPh n M tPh n Quan h k t t p: m t khĂĄi ni m thĂ nh ph n cĂł th thu c vĂ o nhi u khĂĄi ni m toĂ n ph n ToĂ nPh n M tPh n 99 Quan h h p thĂ nh vĂ  quan h k tt p 3 1 Point VĂ­ d Triangle Circle 1 Style 1 radius color isFilled M t th hi n c a “Point” khĂŽng th ñ ng th i thu c vĂ o m t th hi n c a “Triangle” vĂ  m t th hi n c a “Circle” 100 50
  • 51. Quan h h p thĂ nh vĂ  quan h k tt p Quan h h p thĂ nh nh n m nh s s h u: n u khĂĄi ni m toĂ n ph n b h y b thĂŹ khĂĄi ni m thĂ nh ph n cĆ©ng b h y b theo Trong trÆ° ng h p, th t c a cĂĄc khĂĄi ni m thĂ nh ph n lĂ  quan tr ng, thĂŹ thĂȘm vĂ o k t h p ñi u ki n {ordered} VĂ­ d {ordered} Polygon 3..* Point 101 KhĂĄi ni m k t h p CĂł th mĂŽ t cĂĄc tĂ­nh ch t c a m t k t h p gi a hai khĂĄi ni m b i m t khĂĄi ni m k t h p (association concept) VĂ­ d work employ Person 1..* * Company Employment KhĂĄi ni m k t h p begin, end: Date 102 51
  • 52. BĂ i t p 1 XĂąy d ng mĂŽ hĂŹnh khĂĄi ni m c a h th ng/ph n m m bĂĄn hĂ ng t i siĂȘu th Ph n m m bĂĄn hĂ ng s d ng t i siĂȘu th nh m giĂșp ghi nh n ho t ñ ng bĂĄn hĂ ng, x lĂœ cĂĄc thanh toĂĄn v i khĂĄch hĂ ng. Ph n m m Ă±Æ° c s d ng b i ngÆ° i bĂĄn hĂ ng vĂ  Ă±Æ° c qu n lĂœ b i ngÆ° i qu n lĂœ siĂȘu th . Ph n m m nh m t ñ ng hĂła cĂŽng vi c c a ngÆ° i bĂĄn hĂ ng t i qu y thu ti n. 103 BĂ i t p 1 1 DongHang * MatHang * MoTaMatHang 1 1..* * * 1 1 1 1..* 1 * 1 PhienBanHang CuaHang DanhMucMatHang 1 1 1 1..* * 1 1 1..* HeThongBanHang 1 1 1 QuayTinhTien ThanhToan KhĂĄchHĂ ng 1 1 1 NguoiQuanLy NgÆ° iBĂĄn NhĂąnViĂȘn 104 52
  • 53. BĂ i t p 2 Qu n lĂœ ñào t o trung tĂąm tin h c: M t cĂŽng ty mu n mĂŽ t b ng UML vi c ñào t o nhĂąn viĂȘn ñ tin h c hĂła m t s cĂŽng vi c. Vi c ñào t o Ă±Æ° c b t ñ u khi ngÆ° i qu n lĂœ ñào t o nh n Ă±Æ° c yĂȘu c u ñào t o c a m t nhĂąn viĂȘn. NhĂąn viĂȘn nĂ y cĂł th xem danh m c cĂĄc chuyĂȘn ñ ñào t o c a cĂĄc Ă±ÆĄn v ñào t o kĂœ k t v i cĂŽng ty. YĂȘu c u c a nhĂąn viĂȘn Ă±Æ° c xem xĂ©t b i ngÆ° i qu n lĂœ ñào t o vĂ  ngÆ° i qu n lĂœ s tr l i lĂ  ch p nh n hay t ch i ñ ngh ñó. Trong trÆ° ng h p ch p nh n, ngÆ° i qu n lĂœ s xĂĄc ñ nh chuyĂȘn ñ phĂč h p trong danh m c cĂĄc chuyĂȘn ñ , sau ñó g i cho nhĂąn viĂȘn n i dung c a chuyĂȘn ñ vĂ  danh sĂĄch cĂĄc khĂła ñào t o. NhĂąn viĂȘn s ch n khĂła ñào t o vĂ  ngÆ° i qu n lĂœ s ñăng kĂœ khĂła h c v i Ă±ÆĄn v ñào t o cho nhĂąn viĂȘn. Trong trÆ° ng h p mu n h y b ñăng kĂœ khĂła ñào t o, nhĂąn viĂȘn ph i thĂŽng bĂĄo s m cho ngÆ° i qu n lĂœ bi t ñ ngÆ° i qu n lĂœ th c hi n h y b . Cu i khĂła ñào t o, nhĂąn viĂȘn chuy n phi u ñånh giĂĄ k t qu h c v cho cĂŽng ty. NgÆ° i qu n lĂœ s ki m tra hĂła Ă±ÆĄn thanh toĂĄn ti n c a Ă±ÆĄn v ñào t o. XĂąy d ng bi u mĂŽ hĂŹnh khĂĄi ni m. 105 Bi u ñ l p Bi u ñ l p ñ nh nghÄ©a: CĂĄc l p (class) ‱ CĂĄc thu c tĂ­nh (attribut) c a l p: cĂĄc bi n vĂ  ki u c a chĂșng ‱ CĂĄc thao tĂĄc (operation) c a l p: cĂĄc phÆ°ÆĄng th c (method), cĂĄc tham ñ i vĂ  cĂł th giĂĄ tr tr v CĂĄc quan h gi a cĂĄc l p 106 53
  • 54. Bi u ñ l p Bi u ñ l p cĂł cĂčng quy t c cĂș phĂĄp v i mĂŽ hĂŹnh khĂĄi ni m Th c ra, mĂŽ hĂŹnh khĂĄi ni m s d ng cĂĄc cĂș phĂĄp c a bi u ñ l p trong UML T t c cĂĄc kĂ­ hi u vĂ  quy t c (ñã trĂŹnh bĂ y) ñ i v i mĂŽ hĂŹnh khĂĄi ni m ñ u Ă±Æ° c s d ng ñ xĂąy d ng bi u ñ l p Bi u ñ l p Ă±Æ° c xĂąy d ng d a trĂȘn mĂŽ hĂŹnh khĂĄi ni m CĂĄc l p cĂł th ch y u lĂ  cĂĄc khĂĄi ni m ho c cĂĄc thĂ nh ph n khĂĄc Bi u ñ l p s lĂ  n n t ng cho bÆ° c mĂŁ hĂła 107 Bi u ñ l p Ă° i v i bi u ñ l p, m i thu c tĂ­nh hay m i phÆ°ÆĄng th c cĂł th cĂł thĂȘm m c kh ki n – kh năng nhĂŹn th y (visibility) KĂ­ hi u “–” m c riĂȘng (priviate), thu c tĂ­nh hay phÆ°ÆĄng th c ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó “#” m c b o v (protected), thu c tĂ­nh hay phÆ°ÆĄng th c ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó vĂ  ñ i tÆ° ng c a cĂĄc l p th a k l p ñó “+” m c chung (public), thu c tĂ­nh hay phÆ°ÆĄng th c ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a t t c cĂĄc l p 108 54
  • 55. Bi u ñ l p VĂ­ d TĂȘn l p Shape Thu c tĂ­nh – origin : Point + setOrigin(p : Point) PhÆ°ÆĄng th c + getOrigin() : Point) + move(p : Point) + resize(s : Scale) + display() # pointInShape(p : Point) : Boolean 109 Bi u ñ l p Thu c tĂ­nh d n xu t (derived attribut) lĂ  cĂĄc thu c tĂ­nh c a bi u ñ l p mĂ  cĂł th suy ra t cĂĄc thu c tĂ­nh khĂĄc. KĂ­ hi u: thu c tĂ­nh d n xu t b t ñ u b i “/”, m t rĂ ng bu c cĂł th ñi kĂšm ñ gi i thĂ­ch s d n xu t VĂ­ d Person RĂ ng bu c name Thu c tĂ­nh d n xu t birthDate {age = CurrentDate – birthDate} / age 110 55
  • 56. Bi u ñ l p CĂĄc quan h gi a cĂĄc l p Quan h k t h p (association) Quan h chuyĂȘn bi t hĂła/t ng quĂĄt hĂła (specialization/generalization) Quan h h p thĂ nh (composition) Quan h k t t p (agregation) Quan h ph thu c (dependence) 111 Bi u ñ l p Quan h k t h p (association) Quan h k t h p 1 Ch a > * M tHĂ ng Qu yHĂ 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 NgÆ° iBĂĄnHĂ ng NgÆ° iQu nLĂœ 112 56
  • 57. Bi u ñ l p Quan h k t t p (agregation) Quan h 0..* Company * Person Quan h h p thĂ nh (composition) Quan h 1 DanhM cM tHĂ ng * M tHĂ ng 113 Bi u ñ l p Quan h ph thu c (dependence): mĂŽ t m t l p ph thu c vĂ o l p khĂĄc VĂ­ d Quan h ph th c Circle Point center : Point 114 57
  • 58. Bi u ñ l p VĂ­ d : chuy n ñ i mĂŽ hĂŹnh khĂĄi ni m thĂ nh bi u ñ l p Gi s mĂŽ hĂŹnh khĂĄi ni m ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh 115 Bi u ñ l p Chi ti t cĂĄc thu c tĂ­nh ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng t ng : Integer ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh 116 58
  • 59. Bi u ñ l p Chi ti t 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ĂĄnB ngTi nM t ThanhToĂĄnB ngTh nh nTi n() tr VĂ oTh () 117 Bi u ñ l p XĂĄc ñ nh cĂĄc m c kh ki n ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng # t ng : Integer + tĂ­nhT ng() : Integer ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh + nh nTi n() + tr VĂ oTh () 118 59
  • 60. N i dung KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng Bi u ñ ca s d ng Thi t k c u trĂșc tÄ©nh Thi t k c u trĂșc ñ ng Sinh mĂŁ 119 C u trĂșc ñ ng Bi u ñ tÆ°ÆĄng tĂĄc Bi u ñ tu n t Bi u ñ c ng tĂĄc 120 60
  • 61. Bi u ñ tÆ°ÆĄng tĂĄc Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t hĂ nh vi c a h th ng M i bi u ñ tÆ°ÆĄng tĂĄc tÆ°ÆĄng ng m t tĂĄc v Ă±Æ° c th c hi n b i m t s cĂĄc ñ i tÆ° ng Bi u ñ tÆ°ÆĄng tĂĄc xĂąy d ng d a trĂȘn n n t ng c a bi u ñ ho t ñ ng vĂ  bi u ñ tr ng thĂĄi Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t cĂĄc hĂ nh ñ ng c a cĂĄc ñ i tÆ° ng ñ th c hi n m t tĂĄc v . CĂĄc hĂ nh ñ ng c a ñ i tÆ° ng bao g m: g i cĂĄc thĂŽng ñi p (message) gi a cĂĄc ñ i tÆ° ng t o (create) vĂ  h y (destroy) cĂĄc ñ i tÆ° ng 121 Bi u ñ tu n t Bi u ñ tu n t (sequence diagram) bi u di n s tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng vi c nh n m nh th t trao ñ i thĂŽng ñi p gi a cĂĄc ñ i tÆ° ng Bi u ñ tu n t g m: cĂĄc ñ i tÆ° ng cĂĄc thĂŽng ñi p trao ñ i gi a cĂĄc ñ i tÆ° ng 122 61
  • 62. Bi u ñ tu n t M i ñ i tÆ° ng cĂł m t Ă±Æ° ng sinh t n (lifeline) bi u di n th i gian t n t i c a nĂł. KĂ­ hi u Ă° i tÆ° ng object object:Class :Class Ă°Æ° ng sinh t n 123 Bi u ñ tu n t Th i gian ho t ñ ng (activation) lĂ  th i gian mĂ  ñ i tÆ° ng ñang th c hi n m t thao tĂĄc KĂ­ hi u object Th i gian ho t ñ ng 124 62
  • 63. Bi u ñ tu n t M t thĂŽng ñi p ñ c t trao ñ i gi a cĂĄc ñ i tÆ° ng CĂĄc lo i thĂŽng ñi p G i (call) Tr v (return) G i (send) T o (create) H y (destroy) 125 Bi u ñ tu n t ThĂŽng ñi p g i g i m t phÆ°ÆĄng th c/thao tĂĄc trĂȘn ñ i tÆ° ng Ă° i tÆ° ng g i ph i ñ i thĂŽng ñi p Ă±Æ° c th c hi n k t thĂșc m i cĂł th th c hi n cĂŽng vi c khĂĄc (thĂŽng ñi p ñ ng b ) M t ñ i tÆ° ng cĂł th g i thĂŽng ñi p cho chĂ­nh nĂł KĂ­ hi u object A object B object message() G i thĂŽng ñi p g i G i cho chĂ­nh nĂł 126 63
  • 64. Bi u ñ tu n t ThĂŽng ñi p tr v tr v m t giĂĄ tr cho ñ i tÆ° ng g i KĂ­ hi u Object A Object B message() value ThĂŽng ñi p tr v 127 Bi u ñ tu n t ThĂŽng ñi p g i g i m t tĂ­n hi u ñ n m t ñ i tÆ° ng KhĂĄc v i thĂŽng ñi p g i, khi ñ i tÆ°ÆĄng g i thĂŽng ñi p g i nĂł khĂŽng ch ñ i, mĂ  ti p t c th c hi n cĂŽng vi c khĂĄc (thĂŽng ñi p khĂŽng ñ ng b ) KĂ­ hi u object A object B message() ThĂŽng ñi p g i 128 64
  • 65. Bi u ñ tu n t ThĂŽng ñi p t o g i phÆ°ÆĄng th c t o m t ñ i tÆ° ng ThĂŽng ñi p h y g i phÆ°ÆĄng th c h y m t ñ i tÆ° ng KĂ­ hi u ThĂŽng ñi p t o object A <<create>> object B <<destroy>> ThĂŽng ñi p h y 129 Bi u ñ tu n t VĂ­ d public class A { :A private B objB; public void msg1() { msg1 <<create>> objB = new B(); :B objB.msg2(); msg2 objB.msg3(); } } msg3 public class B { 
 public void msg2() { 
 } public void msg3() { 
 } } 130 65
  • 66. Bi u ñ tu n t M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p nhi u l n KĂ­ hi u G i l p thĂŽng ñi p 10 l n object A object B *[1..10]message() for(i = 1; i<= 10; i++) { objectB.message() } 131 Bi u ñ tu n t M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p nhi u l n ph thu c vĂ o m t ñi u ki n KĂ­ hi u G i l p thĂŽng ñi p trong khi C ñĂșng object A object B *[C]message() while(C) { objectB.message() } 132 66
  • 67. Bi u ñ tu n t M t thĂŽng ñi p cĂł th Ă±Æ° c g i 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(); 133 Bi u ñ tu n t M t thĂŽng ñi p cĂł th Ă±Æ° c g i ñ quy KĂ­ hi u ThĂŽng ñi p ñ quy :BinaryTree print() print() 134 67
  • 68. Bi u ñ tu n t VĂ­ d :TĂ iLi u :MĂĄyFax :DĂąyĂ°i nTho i g i() nh cMĂĄy() ĂąmM i b mS (s ) ñãK tN i ñãK tN i g i(trang) chuy n(trang) 135 Bi u ñ tu n t VĂ­ d :NgÆ° iBĂĄn :MĂĄyTĂ­nhTi n :PhiĂȘnBĂĄnHĂ ng thanhToĂĄn(s Ti n) thanhToĂĄn(s Ti n) <<create>> :ThanhToĂĄn thanhToĂĄn(s Ti n) ti nDÆ° ti nDÆ° tr Ti nDÆ°() <<destroy>> 136 68
  • 69. Bi u ñ tu n t Gi a bi u ñ tÆ°ÆĄng tĂĄc vĂ  bi u ñ l p vĂ  cĂł m i quan h ch t ch v i nhau VĂ­ d MĂĄyTĂ­nhTi n PhiĂȘnBĂĄnHĂ ng m ThanhToĂĄn() thanhToĂĄn() :MĂĄyTĂ­nhTi n :PhiĂȘnBĂĄnHĂ ng m ThanhToĂĄn(s Ti n) thanhToĂĄn(s Ti n) 137 Bi u ñ c ng tĂĄc Bi u ñ c ng tĂĄc (collaboration diagram) mĂŽ t s tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng vi c nh n m nh c u trĂșc k t h p gi a cĂĄc ñ i tÆ° ng vĂ  nh ng thĂŽng ñi p trao ñ i gi a chĂșng Bi u ñ c ng tĂĄc lĂ  s m r ng c a bi u ñ ñ i tÆ° ng Bi u ñ c ng tĂĄc ch ra th t g i cĂĄc thĂŽng ñi p: m i thĂŽng ñi p Ă±Æ° c gĂĄn m t s tu n t ñi u ki n g i cĂĄc thĂŽng ñi p 138 69
  • 70. Bi u ñ c ng tĂĄc C u trĂșc thĂŽng ñi p Ă±Æ° c mĂŽ t d ng t ng quĂĄt nhÆ° sau: precondition / condition sequence * *|| iteration : result := message(parameters) “precondition /”: danh sĂĄch s tu n t c a cĂĄc thĂŽng ñi p trÆ° c thĂŽng ñi p c n g i. ThĂŽng ñi p ch Ă±Æ° c g i ñi khi t t c cĂĄc thĂŽng ñi p trÆ° c nĂł ñã Ă±Æ° c g i ñi. “condition”: thĂŽng ñi p ch Ă±Æ° c g i ñi khi ñi u ki n Ă±Æ° c th a mĂŁn. “sequence”: s tu n t c a thĂŽng ñi p c n g i. VĂ­ d , vi c g i thĂŽng ñi p 1.3.5 theo sau vi c g i thĂŽng ñi p 1.3.4, c hai thĂŽng ñi p nĂ y n m trong lu ng 1.3. “*”: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch tu n t . “*||”: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch ñ ng th i. “iteration”: ch ra s l n g i thĂŽng ñi p m t cĂĄch tu n t ho c ñ ng th i “result”: ch ra giĂĄ tr tr v c a thĂŽng ñi p. “message”: tĂȘn thĂŽng ñi p “parameters”: danh sĂĄch cĂĄc tham s c a thĂŽng ñi p. 139 Bi u ñ c ng tĂĄc VĂ­ d 4 : hello() : thĂŽng ñi p cĂł s tu n t lĂ  4. [time = 12h] 1 : lunch() : thĂŽng ñi p nĂ y ch Ă±Æ° c g i ñi n u lĂ  lĂșc 12h. 1.3.5 * call() : thĂŽng ñi p nĂ y Ă±Æ° c g i ñi nhi u l n. 3 / *|| [i:= 1..5] 1.2 : close() : thĂŽng ñi p nĂ y Ă±Æ° c g i ñi năm l n m t cĂĄch ñ ng th i vĂ  sau thĂŽng ñi p s 3. 1.2, 2.3 / [t < 10] 3.1 name = getName() : thĂŽng ñi p nĂ y Ă±Æ° c g i ñi sau cĂĄc thĂŽng ñi p 1.2, 2.3 vĂ  v i ñi u ki n t<10. 140 70
  • 71. Bi u ñ c ng tĂĄc VĂ­ d bi u ñ c ng tĂĄc :NgÆ° iBĂĄn :ThanhToĂĄn 1 : thanhToĂĄn(s Ti n) 1.1.1 : <<create>> 2 : tr Ti nDÆ°() 1.1.3 : ti nDÆ°() 1.1.2 : thanhToĂĄn(s Ti n) 1.1.4 : <<desstroy>> 1.2 ti nDÆ°() :H Th ng :PhiĂȘnBĂĄnHĂ ng 1.1 : thanhToĂĄn(s Ti n) 141 Bi u ñ tÆ°ÆĄng tĂĄc BĂ i t p 1: MĂĄy rĂșt ti n ATM XĂąy d ng bi u ñ tu n t cho ca s d ng rĂșt ti n trong trÆ° ng h p thĂ nh cĂŽng XĂąy d ng bi u ñ tu n t cho ca s d ng xem s ti n dÆ° trong tĂ i kho n 142 71
  • 72. N i dung KhĂĄi ni m cÆĄ b n hÆ° ng ñ i tÆ° ng Bi u ñ ca s d ng Thi t k c u trĂșc tÄ©nh Thi t k c u trĂșc ñ ng Sinh mĂŁ 143 Sinh mĂŁ Chuy n cĂĄc mĂŽ hĂŹnh thi t k sang mĂŁ chÆ°ÆĄng trĂŹnh (C++, Java, 
) MĂŁ chÆ°ÆĄng trĂŹnh hÆ° ng ñ i tÆ° ng Ă° nh nghÄ©a cĂĄc l p vĂ  giao di n Ă° nh nghÄ©a cĂĄc phÆ°ÆĄng th c CĂĄc bi u ñ l p s Ă±Æ° c chuy n sang mĂŁ chÆ°ÆĄng trĂŹnh ñ nh nghÄ©a cĂĄc l p tÆ°ÆĄng ng CĂĄc bi u ñ tÆ°ÆĄng tĂĄc s Ă±Æ° c chuy n thĂ nh mĂŁ chÆ°ÆĄng trĂŹnh ñ nh nghÄ©a cĂĄc phÆ°ÆĄng th c CĂĄc bi u ñ khĂĄc s h tr cho quĂĄ trĂŹnh mĂŁ hĂła 144 72
  • 73. Sinh mĂŁ VĂ­ d : bi u ñ l p orderListe OneOrder contains > 1..* * − quantity: Integer 1 1 ListOfOrders AirPlane + subtotal() : double − datePlaced − price : float − clientID + total() : double + getPrice() : float 145 Sinh mĂŁ MĂŁ l p OneOrder public class OneOrder OneOrder { public double subtotal() − quantity: Integer { } + subtotal() : double private int quantity; } 146 73
  • 74. Sinh mĂŁ MĂŁ l p OneOrder OneOrder contains > public class OneOrder * { − quantity: Integer public double subtotal() 1 { AirPlane } + subtotal() : double − price : float private int quantity; private AirPlane airPlane; } + getPrice() : float 147 Sinh mĂŁ MĂŁ l p ListOfOrders orderListe OneOrder 1..* public class ListOfOrder { − quantity: Integer public double total() 1 { ListOfOrders } + subtotal() : double − datePlaced private Date datePlaced; private int clientID; − clientID private Vector orderList; } + total() : double 148 74
  • 75. Sinh mĂŁ Bi u ñ c ng tĂĄc th c hi n phÆ°ÆĄng th c total() 1 : total() 2 : *[for each] subtotal() :ListOfOrders :OneOrder 3 : getPrice() :AirPlane 149 Sinh mĂŁ MĂŁ phÆ°ÆĄng th c total() 1 : total() 2 : *[for each] subtotal() :ListOfOrders :OneOrder 3 : getPrice() public double total() { } :AirPlane 150 75
  • 76. Sinh mĂŁ MĂŁ phÆ°ÆĄng th c total() 1 : total() 2 : *[for each] subtotal() :ListOfOrders :OneOrder public double total() 3 : getPrice() { double sum = 0; for (int i=0; i<orderList.size(); i++) sum += orderList.elementAt(i).subtotal(); return sum; :AirPlane } 151 Sinh mĂŁ MĂŁ phÆ°ÆĄng th c subTotal() 1 : total() 2 : *[for each] subtotal() :ListOfOrders :OneOrder public double subtotal() 3 : getPrice() { return (quantity * airplane.getPrice()); } :AirPlane 152 76
  • 77. Sinh mĂŁ MĂŁ phÆ°ÆĄng th c getPrice() 1 : total() 2 : *[for each] subtotal() :ListOfOrders :OneOrder public float getPrice() 3 : getPrice() { return price; } :AirPlane 153 CĂŽng c Ph n m m Rational Rose, Poisedon for UML, Umbrello Thi t k cĂĄc bi u ñ UML Sinh mĂŁ chÆ°ÆĄng trĂŹnh ‱ C++ ‱ Java ‱ VB ‱ Ada 154 77