際際滷

際際滷Share a Scribd company logo
CH働NG 2. CC M HNH
 PHT TRI畛N PH畉N M畛M

      B畛 m担n C担ng ngh畛 th担ng tin
      Tr動畛ng 畉i h畛c Th動董ng m畉i




                                   1
N畛i dung
2.1. V嘆ng 畛i ph叩t tri畛n ph畉n m畛m
2.2. C叩c ho畉t 畛ng ph叩t tri畛n ph畉n m畛m
2.3. C叩c m担 h狸nh ph叩t tri畛n ph畉n m畛m
    2.3.1. M担 h狸nh th叩c n動畛c (Water Fall Model)
    2.3.2. M担 h狸nh V
    2.3.3. M担 h狸nh b畉n m畉u
    2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh
    2.3.5. C叩c m担 h狸nh ti畉n h坦a
        2.3.5.1. M担 h狸nh gia tng
        2.3.5.2. M担 h狸nh xo畉n 畛c
        2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN
    2.3.6. M担 h狸nh ph叩t tri畛n 畛ng th畛i
    2.3.7. M担 h狸nh h動畛ng thnh ph畉n
    2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i
    2.3.8. M担 h狸nh h畛p nh畉t
2.4. M畛t s畛 l動u 箪

                                                  2
2.1. V嘆ng 畛i ph叩t tri畛n PM

   L kho畉ng th畛i gian t鱈nh t畛 khi ph畉n m畛m
   動畛c 畛 xu畉t cho 畉n khi b畛 i: c畛 th畛 l
   t畛 khi 動畛c 畉t hng, ph叩t tri畛n, s畛 d畛ng
   畉n khi b畛 lo畉i b畛.
   V嘆ng 畛i ph畉n m畛m 動畛c ph但n chia thnh
   c叩c pha ch鱈nh nh動 x叩c 畛nh y棚u c畉u, tri畛n
   khai, ki畛m th畛, b畉o tr狸 (v畉n hnh)... Ph畉m
   vi, th畛 t畛 c叩c pha kh叩c nhau t湛y theo t畛ng
   m担 h狸nh, d畛 叩n c畛 th畛

                                                3
2.1. V嘆ng 畛i ph叩t tri畛n PM(2)

    T湛y m担 h狸nh 叩p d畛ng m vi畛c ph但n chia c叩c
    pha, c叩c b動畛c c坦 th畛 c坦 s畛 kh叩c nhau: t畛 3
    畉n 20 pha.
      X叩c 畛nh y棚u c畉u         Tri畛n khai        Ki畛m th畛



                            (Vn h袖nh) B畉o tr狸


                         V嘆ng 畛i ph畉n m畛m



                                                            4
2.2. C叩c ho畉t 畛ng ph叩t tri畛n PM
    Ph但n t鱈ch t鱈nh kh畉 thi
    Ph但n t鱈ch v 畉c t畉 y棚u c畉u
    Thi畉t k畉
    M達 h坦a
    Ki畛m th畛
    B畉o tr狸




                                   5
Ph但n t鱈ch t鱈nh kh畉 thi
 Ph但n t鱈ch t鱈nh kh畉 thi
     X叩c 畛nh v畉n 畛 c畉n gi畉i quy畉t
     Xem x辿t c叩c gi畉i ph叩p v k畛 thu畉t kh叩c nhau (叩nh
      gi叩 動u nh動畛c i畛m c畛a t畛ng gi畉i ph叩p)
     叩nh gi叩 v畛 th畛i gian, gi叩 thnh, ngu畛n ti nguy棚n
      c畉n thi畉t
     S畉n ph畉m: ti li畛u ph但n t鱈ch




                                                           6
Ph但n t鱈ch v 畉c t畉 y棚u c畉u
 Ph但n t鱈ch v 畉c t畉 y棚u c畉u




                               7
Ph但n t鱈ch v 畉c t畉 y棚u c畉u
 畉c t畉 y棚u c畉u (hay c嘆n g畛i l k畛 thu畉t x叩c 畛nh y棚u c畉u) l quy
 tr狸nh t狸m hi畛u v 畛nh ngh挑a nh畛ng d畛ch v畛 no 動畛c y棚u c畉u v
 c叩c rng bu畛c trong qu叩 tr狸nh v畉n hnh v x但y d畛ng h畛 th畛ng.
 Quy tr狸nh x叩c 畛nh y棚u c畉u bao g畛m b畛n pha ch鱈nh:
 1.   Nghi棚n c畛u kh畉 thi: Nghi棚n c畛u kh畉 thi gi炭p x叩c 畛nh nh畛ng y棚u
      c畉u c畛a ng動畛i s畛 d畛ng c坦 tho畉 m達n nh畛ng c担ng ngh畛 hi畛n t畉i hay
      kh担ng. V畛 g坦c 畛 kinh doanh, nghi棚n c畛u kh畉 thi nh畉m x叩c 畛nh h畛
      th畛ng 動a ra c坦 mang l畉i l畛i nhu畉n kh担ng. Vi畛c nghi棚n c畛u kh畉 thi
      n棚n 動畛c th畛c hi畛n m畛t c叩ch nhanh ch坦ng v kh担ng qu叩 t畛n k辿m.
      K畉t qu畉 c畛a vi畛c nghi棚n c畛u kh畉 thi s畉 x叩c 畛nh c坦 n棚n ti畉p t畛c x但y
      d畛ng h畛 th畛ng n畛a hay kh担ng.
 2.   Ph但n t鱈ch v r炭t ra c叩c y棚u c畉u: 但y l quy tr狸nh 動a ra c叩c y棚u c畉u
      h畛 th畛ng th担ng qua m畛t s畛 ph動董ng ph叩p nh動: quan s叩t h畛 th畛ng
      hi畛n t畉i, ph畛ng v畉n v th畉o lu畉n v畛i ng動畛i s畛 d畛ng, ph但n t鱈ch
      nhi畛m v畛, ph但n t鱈ch ti li畛u ho畉c h畛 th畛ng c滴  Trong pha ny,
      ch炭ng ta c坦 th畛 ph畉i x但y d畛ng m畛t ho畉c nhi畛u m担 h狸nh h畛 th畛ng v
      c叩c m畉u th畛.



                                                                             8
3. 畉c t畉 y棚u c畉u: Pha ny s畉 t動 li畛u ho叩 nh畛ng th担ng tin thu th畉p
    動畛c. C坦 hai lo畉i y棚u c畉u c畉n 動畛c x叩c 畛nh:
    * Y棚u c畉u c畛a ng動畛i s畛 d畛ng: l nh畛ng y棚u c畉u b畉ng ng担n ng畛 t畛
        nhi棚n b畛 sung th棚m cho c叩c bi畛u 畛 c畛a c叩c d畛ch v畛 m h畛 th畛ng
        cung c畉p v c叩c rng bu畛c v畉n hnh c畛a n坦. Ki畛u y棚u c畉u ny
        動畛c vi畉t b畛i ng動畛i s畛 d畛ng.
    * Y棚u c畉u h畛 th畛ng: l nh畛ng ti li畛u c坦 c畉u tr炭c m担 t畉 chi ti畉t v畛 c叩c
        ch畛c nng, d畛ch v畛 v c叩c rng bu畛c v畉n hnh c畛a h畛 th畛ng. Y棚u
        c畉u h畛 th畛ng s畉 畛nh ngh挑a nh畛ng g狸 c畉n ph畉i x但y d畛ng, cho n棚n
        n坦 c坦 th畛 tr畛 thnh b畉n h畛p 畛ng gi畛a kh叩ch hng v nh th畉u.
4. 叩nh gi叩 y棚u c畉u: pha ny s畉 ki畛m tra l畉i c叩c y棚u c畉u xem
    ch炭ng c坦 炭ng th畛c t畉 hay kh担ng, c坦 th畛ng nh畉t kh担ng, c坦 畉y
    畛 kh担ng. N畉u ph叩t hi畛n ra l畛i th狸 ta ph畉i ch畛nh s畛a c叩c l畛i ny.




                                                                              9
Ph但n t鱈ch v 畉c t畉 y棚u c畉u
 Ph但n t鱈ch v 畉c t畉 y棚u c畉u
    X叩c 畛nh nhu c畉u c畛a kh叩ch hng/ng動畛i s畛 d畛ng
       X叩c 畛nh bi to叩n, ch畛 kh担ng ph畉i l gi畉i ph叩p
    Kh坦 khn
       Kh叩ch hng kh担ng bi畉t r探 c叩i h畛 c畉n
       Kh叩ch hng kh担ng tr狸nh by r探 c叩i h畛 mu畛n thay 畛i
    S畉n ph畉m: ti li畛u 畉c t畉 y棚u c畉u




                                                            10
Ph但n t鱈ch v 畉c t畉 y棚u c畉u
 Ph但n t鱈ch v 畉c t畉 y棚u c畉u




                               11
Thi畉t k畉 ph畉n m畛m
 Thi畉t k畉 ph畉n m畛m l qu叩 tr狸nh thi畉t k畉 c畉u tr炭c ph畉n m畛m d畛a
 tr棚n nh畛ng ti li畛u 畉c t畉. Ho畉t 畛ng thi畉t k畉 bao g畛m nh畛ng
 c担ng vi畛c ch鱈nh sau:
    Thi畉t k畉 ki畉n tr炭c: C叩c h畛 th畛ng con c畉u thnh l棚n h畛 th畛ng c畉n x但y
     d畛ng v m畛i quan h畛 gi畛a ch炭ng 動畛c x叩c 畛nh v t動 li畛u ho叩.
    畉c t畉 tr畛u t動畛ng: v畛i m畛i h畛 th畛ng con, ph畉i c坦 m畛t b畉n 畉c t畉 v畛
     c叩c d畛ch v畛 c畛a n坦 v nh畛ng rng bu畛c khi n坦 v畉n hnh.
    Thi畉t k畉 giao di畛n: v畛i m畛i h畛 th畛ng con, c叩c giao di畛n c畛a n坦 v畛i
     nh畛ng h畛 th畛ng con kh叩c ph畉i 動畛c thi畉t k畉 v t動 li畛u ho叩.
    Thi畉t k畉 thnh ph畉n: c叩c d畛ch v畛 cung c畉p cho c叩c thnh ph畉n kh叩c
     v c叩c giao di畛n t動董ng t叩c v畛i ch炭ng ph畉i 動畛c thi畉t k畉.
    Thi畉t k畉 c畉u tr炭c d畛 li畛u: c畉u tr炭c d畛 li畛u 動畛c s畛 d畛ng 畛 ci 畉t
     h畛 th畛ng ph畉i 動畛c thi畉t k畉 m畛t c叩ch chi ti畉t v c畛 th畛.
    Thi畉t k畉 thu畉t to叩n: C叩c thu畉t to叩n 動畛c s畛 d畛ng 畛 cung c畉p c叩c
     d畛ch v畛 ph畉i 動畛c thi畉t k畉 chi ti畉t v ch鱈nh x叩c.


                                                                       12
Thi畉t k畉 ph畉n m畛m
 C叩c c担ng vi畛c trong thi畉t k畉 ph畉n m畛m




                                         13
Thi畉t k畉 ph畉n m畛m
 C叩c ph動董ng ph叩p thi畉t k畉
     H動畛ng ch畛c nng
     H動畛ng 畛i t動畛ng




                            14
M達 h坦a v g畛 r畛i
 M達 h坦a v g畛 r畛i
    M達 h坦a: ci 畉t c叩c thi畉t k畉 b畉ng ng担n ng畛 l畉p
     tr狸nh kh担ng 董n thu畉n ch畛 l l畉p tr狸nh
        Vi畉t ti li畛u
        Chu畉n l畉p tr狸nh
        L畉p tr狸nh theo c畉p
        C担ng c畛
        Qu畉n l箪 phi棚n b畉n
    G畛 r畛i: ph叩t hi畛n c叩c l畛i trong qu叩 tr狸nh l畉p tr狸nh
    S畉n ph畉m: ch動董ng tr狸nh


                                                           15
Ki畛m th畛
 Ki畛m th畛 - 叩nh gi叩 ph畉n m畛m hay c嘆n g畛i l
 th畉m tra v 叩nh gi叩 (V&V - Verification and
 validation) 動畛c s畛 d畛ng 畛 ch畛 ra r畉ng h畛
 th畛ng 達 th畛c hi畛n theo 炭ng c叩c 畉c t畉 v
 tho畉 m達n m畛i y棚u c畉u c畛a kh叩ch hng.
 Ki畛m th畛 bao g畛m c叩c c担ng o畉n: ki畛m tra,
 xem x辿t l畉i, v ki畛m th畛 h畛 th畛ng. Ki畛m th畛
 h畛 th畛ng t畛c l cho h畛 th畛ng th畛c hi畛n tr棚n
 nh畛ng tr動畛ng h畛p c坦 d畛 li畛u th畉t 動畛c l畉y t畛
 ti li畛u 畉c t畉 h畛 th畛ng. Quy tr狸nh ki畛m th畛
 g畛m c叩c pha sau:
                                            16
   Ki畛m th畛 thnh ph畉n (董n v畛): c叩c thnh ph畉n
    動畛c ki畛m th畛 m畛t c叩ch 畛c l畉p, thnh ph畉n c坦
    th畛 l m畛t ch畛c nng ho畉c m畛t 畛i t動畛ng ho畉c
    m畛t nh坦m c叩c th畛c th畛 g畉n k畉t v畛i nhau.
   Ki畛m th畛 h畛 th畛ng: ki畛m th畛 ton b畛 h畛 th畛ng.
   Ki畛m th畛 ch畉p thu畉n: ki畛m th畛 tr棚n d畛 li畛u c畛a
    kh叩ch hng 畛 ki畛m tra h畛 th畛ng c坦 叩p 畛ng t畉t
    c畉 c叩c y棚u c畉u c畛a kh叩ch hng hay kh担ng.




                                                     17
Ki畛m th畛
    Khi chuy畛n giao h畛 th畛ng cho kh叩ch hng th狸 quy
     tr狸nh ki畛m th畛 beta s畉 動畛c th畛c hi畛n. Kh叩ch
     hng s畉 th担ng b叩o c叩c l畛i cho 畛i d畛 叩n. Nh畛ng l畛i
     ny s畉 動畛c ch畛nh s畛a v ti畉p t畛c ki畛m th畛 beta
     ho畉c chuy畛n giao th畛c s畛 cho kh叩ch hng.
    C叩c c担ng vi畛c c畉n lm trong qu叩 tr狸nh ki畛m th畛
       Ph叩t hi畛n l畛i trong ch動董ng tr狸nh
       L畉p k畉 ho畉ch th畛c hi畛n ki畛m th畛
            T畉o c叩c tr動畛ng h畛p ki畛m th畛
            Ti棚u chu畉n ki畛m th畛
            Ngu畛n ti nguy棚n ki畛m th畛
       M達 ngu畛n 動畛c ki畛m th畛 theo ti li畛u thi畉t k畉
       S畉n ph畉m: b叩o c叩o ki畛m th畛

                                                       18
Ki畛m th畛
 C叩c ph動董ng ph叩p ki畛m th畛
    Ki畛m th畛 t挑nh
    Ki畛m th畛 畛ng
       Ki畛m th畛 h畛p en
       Ki畛m th畛 h畛p tr畉ng




                            19
B畉o tr狸 h畛 th畛ng
 B畉o tr狸 h畛 th畛ng:
     B畉o 畉m ch動董ng tr狸nh v畉n hnh t畛t
     Ci 畉t c叩c thay 畛i
     Ci 畉t c叩c y棚u c畉u m畛i
     X畛 l箪 c叩c l畛i khi v畉n hnh
     S畉n ph畉m: ch動董ng tr狸nh




                                          20
C畉i ti畉n ph畉n m畛m
 C畉i ti畉n ph畉n m畛m
    Khi c叩c y棚u c畉u h畛 th畛ng thay 畛i theo s畛 thay 畛i
     c畛a c叩c y棚u c畉u nghi畛p v畛 th狸 ph畉n m畛m ph畉i c畉i
     ti畉n v thay 畛i 畛 h畛 tr畛 kh叩ch hng. Th担ng
     th動畛ng chi ph鱈 畛 b畉o tr狸 v c畉i ti畉n th動畛ng 畉t
     h董n nhi畛u so v畛i chi ph鱈 x但y d畛ng ph畉n m畛m.




                                                      21
2.3. C叩c m担 h狸nh ph叩t tri畛n PM
 Hi畛n nay c坦 r畉t nhi畛u m担 h狸nh ph叩t tri畛n ph畉n
 m畛m, v th動畛ng 動畛c ph但n thnh 2 lo畉i: m担
 h狸nh tuy畉n t鱈nh v m担 h狸nh l畉p.
    M担 h狸nh tuy畉n t鱈nh: c叩c b動畛c 動畛c th畛c hi畛n tu畉n
     t畛, kh担ng l畉p l畉i.
       M担 h狸nh th叩c n動畛c
       M担 h狸nh V
    M担 h狸nh l畉p: c叩c b動畛c c坦 th畛 th畛c hi畛n song song,
     c坦 th畛 l畉p l畉i m畛t s畛 b動畛c.
       M担 h狸nh ti畉n h坦a
       M担 h狸nh xo畉n 畛c
       M担 h狸nh h畛p nh畉t

                                                     22
2.3.2. M担 h狸nh Th叩c n動畛c
 M担 h狸nh th叩c n動畛c (Water Fall Model)




                                        23
C叩c pha c畛a m担 h狸nh th叩c n動畛c bao g畛m:
   Ph但n t鱈ch v x叩c 畛nh c叩c y棚u c畉u
   Thi畉t k畉 h畛 th畛ng v ph畉n m畛m
   Ci 畉t v ki畛m th畛 董n v畛
   T鱈ch h畛p v ki畛m th畛 h畛 th畛ng
   V畉n hnh v b畉o tr狸.




                                         24
2.3.1. M担 h狸nh Th叩c n動畛c
 L m担 h狸nh c畛 i畛n
 Ph動董ng ph叩p 叩p d畛ng 1 l畉n
 i畛u khi畛n hi畛u qu畉
 Ph畉m vi gi畛i h畉n c畛a v嘆ng l畉p
 V嘆ng 畛i di
 Kh担ng th鱈ch h畛p v畛i c叩c h畛 th畛ng kh担ng r探
 rng



                                         25
Trong m担 h狸nh th叩c n動畛c, nm pha tr棚n ph畉i 動畛c
th畛c hi畛n m畛t c叩ch tu畉n t畛; k畉t th炭c pha tr動畛c, r畛i
m畛i 動畛c th畛c hi畛n pha ti畉p theo. Do 坦, nh動畛c
i畛m ch鱈nh c畛a m担 h狸nh th叩c n動畛c l r畉t kh坦 khn
trong vi畛c thay 畛i c叩c pha 達 動畛c th畛c hi畛n. Gi畉
s畛, pha ph但n t鱈ch v x叩c 畛nh y棚u c畉u 達 hon t畉t v
chuy畛n sang pha k畉 ti畉p, nh動ng l炭c ny l畉i c坦 s畛 thay
畛i y棚u c畉u c畛a ng動畛i s畛 d畛ng; th狸 ch畛 c嘆n c叩ch l
ph畉i th畛c hi畛n l畉i t畛 畉u.
M担 h狸nh ny ch畛 th鱈ch h畛p khi c叩c y棚u c畉u 達 動畛c
t狸m hi畛u r探 rng v nh畛ng thay 畛i s畉 動畛c gi畛i h畉n
m畛t c叩ch r探 rng trong su畛t qu叩 tr狸nh thi畉t k畉. Tuy
nhi棚n, trong th畛c t畉 c坦 r畉t 鱈t nh畛ng h畛 th畛ng nghi畛p
v畛 c坦 c叩c y棚u c畉u 畛n 畛nh.

                                                    26
働u i畛m:
   Ch畛 ph湛 h畛p v畛i c叩c d畛 叩n nh畛 ho畉c
   Y棚u c畉u x叩c 畛nh
Nh動畛c i畛m:
   Kh担ng ph湛 h畛p v畛i d畛 叩n l畛n
   Th畛i gian th畛c hi畛n l但u




                                         27
2.3.2. M担 h狸nh V
                                             B畉o tr狸

 Ph但n t鱈ch y棚u                        Ki畛m th畛 ch畉p
     c畉u                                  nh畉n

    Thi畉t k畉 h畛                    Ki畛m th畛 h畛
      th畛ng                           th畛ng

         Thi畉t k畉             Ki畛m th畛 董n v畛 v
       ch動董ng tr狸nh                t鱈ch h畛p


                      L畉p tr狸nh
                                                       28
2.3.2. M担 h狸nh V

 Trong m担 h狸nh V:
     C叩c ti畉n tr狸nh ki畛m th畛 動畛c th棚m vo

     K畉t n畛i ki畛m th畛 v畛i ph但n t鱈ch v thi畉t k畉

     Th鱈ch h畛p v畛i nh畛ng tr動畛ng h畛p bi to叩n kh担ng
      nh畉t qu叩n




                                                   29
2.3.3. M担 h狸nh b畉n m畉u


     Nghe Kh叩ch                    T畉o / s畛a
      tr狸nh by                    b畉n m畉u




                 Kh叩ch ki畛m tra
                   b畉n m畉u
        M担 h狸nh b畉n m畉u (Prototyping model)
                                               30
2.3.3. M担 h狸nh b畉n m畉u
 M畛c 鱈ch
    Xem x辿t y棚u c畉u ng動畛i s畛 d畛ng 畛 giai o畉n ban
     畉u
    Gi畉m b畛t r畛i ro v kh担ng ch畉c ch畉n
    Ki畛m ch畛ng thi畉t k畉 v th畛c thi
 N棚n th動畛ng xuy棚n tr畉 l畛i c叩c c但u h畛i chuy棚n
 bi畛t; m畛c 鱈ch ph畉i 動畛c x叩c 畛nh




                                                 31
L畛i 鱈ch c畛a b畉n m畉u
 H畛c b畉ng c叩ch lm vi畛c
 Tng c動畛ng giao ti畉p
 Tng s畛 tham gia c畛a ng動畛i d湛ng vo d畛 叩n
 Lm r探 c叩c y棚u c畉u ch畛 bi畉t m畛t ph畉n




                                             32
Tu畉n t畛 lm b畉n m畉u
 T畉p h畛p y棚u c畉u
 Thi畉t k畉 nhanh
 X但y d畛ng b畉n m畉u
 叩nh gi叩 c畛a kh叩ch hng
 Lm m畛n
 Quay l畉i thi畉t k畉 nhanh 畛 i畛u ch畛nh
 X但y d畛ng s畉n ph畉m



                                         33
働u i畛m: ph湛 h畛p v畛i
   H畛 th畛ng r畛i ro cao
   Y棚u c畉u kh担ng ch畉c ch畉n
   Giao di畛n ch動a r探 rng
   Chi畉n l動畛c ci 畉t ch動a r探 rng




                                      34
H畉n ch畉:
   Kh叩ch hng c坦 th畛 cho r畉ng nguy棚n m畉u l h畛
    th畛ng th畛c
      Mong 畛i kh担ng th畛c t畉 v畛 ti畉n tri畛n c畛a d畛 叩n
   Ng動畛i ph叩t tri畛n c坦 s畛 ch畛n l畛a kh担ng t畛t
      Ph湛 h畛p cho nguy棚n m畉u, nh動ng kh担ng ph湛 h畛p cho h畛
      th畛ng th畛c
   Nguy棚n m畉u kh担ng gi畛ng hon ton h畛 th畛ng cu畛i
    c湛ng
      Kh叩ch hng s畉 c坦 c叩c ph畉n 畛ng kh叩c nhau



                                                       35
2.3.3. M担 h狸nh b畉n m畉u
 M担 h狸nh b畉n m畉u th動畛ng 動畛c s畛 d畛ng khi:
    Khi m畛i r探 m畛c 鱈ch chung chung c畛a ph畉n m畛m, ch動a r探 chi ti畉t
     畉u vo hay x畛 l箪 ra sao ho畉c ch動a r探 y棚u c畉u 畉u ra
    D湛ng nh動 H畛 s董 khai 畛 thu th畉p y棚u c畉u ng動畛i d湛ng qua c叩c
     thi畉t k畉 nhanh
    C叩c gi畉i thu畉t, k畛 thu畉t d湛ng lm b畉n m畉u c坦 th畛 ch動a nhanh,
     ch動a t畛t, mi畛n l c坦 m畉u 畛 th畉o lu畉n g畛i y棚u c畉u c畛a ng動畛i d湛ng




                                                                    36
2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh

 M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh (Rapid Application
 Development: RAD) l m担 h狸nh ph叩t tri畛n ph畉n m畛m gia
 tng, tng d畉n t畛ng b動畛c (Incrimental software
 development) v畛i m畛i chu tr狸nh ph叩t tri畛n r畉t ng畉n (60-
 90 ngy)
 X但y d畛ng d畛a tr棚n h動畛ng thnh ph畉n (Component-
 based construction) v畛i kh畉 nng t叩i s畛 d畛ng (reuse)
 G畛m m畛t s畛 nh坦m (teams), m畛i nh坦m lm 1 RAD theo
 c叩c pha: M担 h狸nh nghi畛p v畛, M担 h狸nh d畛 li畛u, M担 h狸nh
 x畛 l箪, T畉o 畛ng d畛ng, Ki畛m th畛 v 叩nh gi叩 (Business,
 Data, Process, Appl. Generation, Test)


                                                       37
2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh
                             Team #3
                           Business
                            Business
                           Modeling
                            Modeling
                 Team #2            Data
                                     Data
                                  Modeling
                                   Modeling
                 Business
                  Business               Process
                                          Process
                 Modeling
                  Modeling               Modeling
                                          Modeling
          Team #1         Data
                           Data               Application
                                               Application
                        Modeling              Generation
                                               Generation
          Business       Modeling
           Business              Process
                                  Process
                                                     Testing &
                                                      Testing &
                                                     Turnover
          Modeling
           Modeling             Modeling
                                Modeling
                                                       Turnover

                    Data            Application
                                     Application
                     Data           Generation
                   Modeling
                   Modeling          Generation
                                           Testing &
                                            Testing &
                          Process
                           Process          Turnover
                                             Turnover
                            Modeling
                            Modeling
                                 Application
                                  Application
                                 Generation
                                  Generation
                                            Testing &
                                            Testing &
                                            Turnover
                                             Turnover
                        60 - 90 days                              38
RAD: M担 h狸nh nghi畛p v畛
Lu畛ng th担ng tin 動畛c m担 h狸nh h坦a 畛 tr畉 l畛i c叩c c但u
h畛i:
      Th担ng tin no i畛u khi畛n x畛 l箪 nghi畛p v畛 ?
      Th担ng tin g狸 動畛c sinh ra?
      Ai sinh ra n坦 ?
      Th担ng tin i 畉n 但u ?
      Ai x畛 l箪 ch炭ng ?




                                                    39
RAD: M担 h狸nh ti畉n tr狸nh v d畛 li畛u
  Data modeling: c叩c 畛i t動畛ng d畛 li畛u c畉n 畛
  h畛 tr畛 nghi畛p v畛 (business). 畛nh ngh挑a c叩c
  thu畛c t鱈nh c畛a t畛ng 畛i t動畛ng v x叩c l畉p
  quan h畛 gi畛a c叩c 畛i t動畛ng
  Process modeling: C叩c 畛i t動畛ng d畛 li畛u
  動畛c chuy畛n sang lu畛ng th担ng tin th畛c hi畛n
  ch畛c nng nghi畛p v畛. T畉o m担 t畉 x畛 l箪 畛 c畉p
  nh畉t (th棚m, s畛a, x坦a, kh担i ph畛c) t畛ng 畛i
  t動畛ng d畛 li畛u
                                                40
RAD: T畛 sinh 畛ng d畛ng v ki畛m th畛

 Application Generation: D湛ng c叩c k畛 thu畉t
 th畉 h畛 4 畛 t畉o ph畉n m畛m t畛 c叩c thnh
 ph畉n c坦 s畉n ho畉c t畉o ra c叩c thnh ph畉n c坦
 th畛 t叩i d畛ng l畉i sau ny. D湛ng c叩c c担ng c畛
 t畛 畛ng 畛 x但y d畛ng ph畉n m畛m
 Testing and Turnover: Ki畛m th畛 c叩c thnh
 ph畉n m畛i v ki畛m ch畛ng m畛i giao di畛n
 (c叩c thnh ph畉n c滴 達 動畛c ki畛m th畛 v
 d湛ng l畉i)
                                              41
RAD: H畉n ch畉 ?
 C畉n ngu畛n nh但n l畛c d畛i do 畛 t畉o c叩c nh坦m cho c叩c ch畛c nng
 ch鱈nh
 Y棚u c畉u hai b棚n giao k竪o trong th畛i gian ng畉n ph畉i c坦 ph畉n
 m畛m hon ch畛nh, thi畉u tr叩ch nhi畛m c畛a m畛t b棚n d畛 lm d畛 叩n
 畛 v畛
 RAD kh担ng ph畉i t畛t cho m畛i 畛ng d畛ng, nh畉t l v畛i 畛ng d畛ng
 kh担ng th畛 m担un h坦a ho畉c 嘆i h畛i t鱈nh nng cao
 M畉o hi畛m k畛 thu畉t cao th狸 kh担ng n棚n d湛ng RAD




                                                            42
2.3.5. M担 h狸nh ti畉n h坦a
 Ph畉n l畛n c叩c h畛 ph畉n m畛m ph畛c t畉p 畛u ti畉n h坦a
 theo th畛i gian: m担i tr動畛ng thay 畛i, y棚u c畉u ph叩t
 sinh th棚m, hon thi畛n th棚m ch畛c nng, t鱈nh nng
 C叩c m担 h狸nh ti畉n h坦a (evolutionary models) c坦 t鱈nh
 l畉p l畉i. K畛 s動 ph畉n m畛m t畉o ra c叩c phi棚n b畉n
 (versions) ngy cng hon thi畛n h董n, ph畛c t畉p h董n
 C叩c m担 h狸nh: gia tng (incremental), xo畉n 畛c
 (spiral), xo畉n WINWIN (WINWIN spiral) m担 h狸nh
 ph叩t tri畛n 畛ng th畛i (concurrent development model)


                                                       43
M担 h狸nh ti畉n h坦a


                   44
2.3.5.   M担 h狸nh ti畉n h坦a
  働u i畛m: ph湛 h畛p v畛i
     D畛 叩n v畛a v nh畛
     C叩c ph畉n c畛a d畛 叩n ph畛c t畉p
     C叩c h畛 th畛ng c坦 th畛i gian s畛ng ng畉n
  H畉n ch畉
     C畉u tr炭c h畛 th畛ng t畛i
     Ti畉n tr狸nh kh担ng r探 rng




                                            45
2.3.5.1. M担 h狸nh gia tng
 M担 h狸nh gia tng (The incremental model): K畉t
 h畛p m担 h狸nh tu畉n t畛 v 箪 t動畛ng l畉p l畉i c畛a ch畉 b畉n
 m畉u
 S畉n ph畉m l探i v畛i nh畛ng y棚u c畉u c董 b畉n nh畉t c畛a
 h畛 th畛ng 動畛c ph叩t tri畛n
 C叩c ch畛c nng v畛i nh畛ng y棚u c畉u kh叩c 動畛c ph叩t
 tri畛n th棚m sau (gia tng)
 L畉p l畉i quy tr狸nh 畛 hon thi畛n d畉n


                                                  46
2.3.5.1. M担 h狸nh gia tng
                            Gia tng 1

Ph息n tch   Thit k   Lp trnh Kim th旦              Xu畉t x動畛ng 1
   System/info.
   Engineering


 Gia tng 2    Ph息n tch    Thit k      Lp trnh    Kim th旦      Xu畉t x動畛ng 2



               Gia tng 3     Ph息n tch     Thit k     Lp trnh   Kim th旦 Xu畉t x動畛ng 3



                            Gia tng 4       Ph息n tch   Thit k    Lp trnh   Kim th旦
                                                                                            XX 4


                               Calendar time


                                                                                            47
M担 h狸nh ny 動畛c 畛 xu畉t d畛a tr棚n 箪 t動畛ng
thay v狸 ph畉i x但y d畛ng v chuy畛n giao h畛
th畛ng m畛t l畉n th狸 s畉 動畛c chia thnh nhi畛u
giai o畉n, tng d畉n. M畛i giai o畉n l m畛t ph畉n
k畉t qu畉 c畛a m畛t ch畛c nng 動畛c y棚u c畉u.
C叩c y棚u c畉u c畛a ng動畛i s畛 d畛ng 動畛c 叩nh
th畛 t畛 動u ti棚n. Y棚u c畉u no c坦 th畛 t畛 動u ti棚n
cng cao th狸 cng 畛 trong nh畛ng giai o畉n
ph叩t tri畛n s畛m h董n.

                                             48
M担 h狸nh gia tng



                   49
働u i畛m c畛a m担 h狸nh ph叩t tri畛n gia tng:
   Sau m畛i l畉n tng v嘆ng th狸 c坦 th畛 chuy畛n giao k畉t
    qu畉 th畛c hi畛n 動畛c cho kh叩ch hnh n棚n c叩c ch畛c
    nng c畛a h畛 th畛ng c坦 th畛 nh狸n th畉y s畛m h董n.
   C叩c v嘆ng tr動畛c 坦ng vai tr嘆 l m畉u th畛 畛 gi炭p
    t狸m hi畛u th棚m c叩c y棚u c畉u 畛 nh畛ng v嘆ng ti畉p theo.
   Nh畛ng ch畛c nng c畛a h畛 th畛ng c坦 th畛 t畛 動u ti棚n
    cng cao th狸 s畉 動畛c ki畛m th畛 cng k畛.




                                                    50
2.3.5.2. M担 h狸nh xo畉n 畛c
                           L畉p k畉 ho畉ch
                                             Ph但n t鱈ch r畛i ro


              Giao ti畉p
              kh叩ch hng
  Kh叩i ni畛m                                            Thi畉t k畉


  Lm m畛i

  N但ng c畉p
                    Kh叩ch hng              X但y d畛ng &
                    叩nh gi叩                Xu畉t x動畛ng
  B畉o tr狸
                 M担 h狸nh xo畉n 畛c (spiral)
                                                                  51
2.3.5.2. M担 h狸nh xo畉n 畛c                                                              (Boehm
   1987)

                              Chi ph鱈 tng th棚m

X叩c 畛nh m畛c 鱈ch,                                                                     叩nh gi叩 l畛a ch畛n;
l畛a ch畛n v rng                                                Ph但n t鱈ch
                                                                                          x叩c 畛nh v gi畉i
bu畛c                                                            r畛i ro                        quy畉t r畛i ro
                                                    Ph但n t鱈ch
                                                    r畛i ro
                                           Ph但n t鱈ch
                                           r畛i ro                                   B畉n m畉u

                                                                     B畉n m畉u
                                                       B畉n m畉u
                        L畉p k畉 ho畉ch    Ch畛c nng      Y棚u c畉u ph畉n Thi畉t k畉         Thi畉t k畉
                             y棚u c畉u                   m畛m          h畛               chi ti畉t
                                                                    th畛ng
                        L畉p k畉 ho畉ch    Ki畛m th畛 y棚u
                           ph叩t tri畛n   c畉u                                 L畉p
                       K畉 ho畉ch ki畛m                                        tr狸nh
                      th畛 v t鱈ch h畛p   Ki畛m th畛
                                        thi畉t k畉                      Ki畛m
                                                                      th畛               Ph叩t tri畛n v ki畛m
K畉 ho畉ch cho giai o畉n ti畉p                            T鱈ch h畛p v    董n v畛             ch畛ng s畉n ph畉m
                                        Ki畛m th畛       ki畛m th畛
                                        ch畉p nh畉n                                           m畛c ti畉p theo

                                                                                                        52
Trong m担 h狸nh xo畉n 畛c, quy tr狸nh ph叩t tri畛n ph畉n
m畛m 動畛c bi畛u di畛n nh動 m畛t v嘆ng xo畉n 畛c. C叩c pha
trong quy tr狸nh ph叩t tri畛n xo畉n 畛c bao g畛m:
   Thi畉t l畉p m畛c ti棚u: x叩c 畛nh m畛c ti棚u cho t畛ng pha c畛a d畛
    叩n.
   叩nh gi叩 v gi畉m thi畛u r畛i ro: r畛i ro 動畛c 叩nh gi叩 v th畛c
    hi畛n c叩c hnh 畛ng 畛 gi畉m thi畛u r畛i ro.
   Ph叩t tri畛n v 叩nh gi叩: sau khi 叩nh gi叩 r畛i ro, m畛t m担 h狸nh
    x但y d畛ng h畛 th畛ng s畉 動畛c l畛a ch畛n t畛 nh畛ng m担 h狸nh
    chung.
   L畉p k畉 ho畉ch: 叩nh gi叩 d畛 叩n v pha ti畉p theo c畛a m担 h狸nh
    xo畉n 畛c s畉 動畛c l畉p k畉 ho畉ch.


                                                               53
2.3.5.2. M担 h狸nh xo畉n 畛c
 Nh畉n m畉nh vi畛c 叩nh gi叩 c叩c r畛i ro
 Ph畉n m畛m 動畛c x但y d畛ng theo nhi畛u chu k畛.
 M畛i chu k畛 t動董ng 畛ng v畛i m畛t s畉n ph畉m c畛a
 1 giai 畛an ph叩t tri畛n
     X叩c 畛nh c叩c m畛c ti棚u, gi畉i ph叩p, rng bu畛c
     叩nh gi叩 c叩c gi畉i ph叩p, x叩c 畛nh c叩c nguy c董 v
      t狸m c叩ch gi畉i quy畉t ch炭ng
     Ph叩t tri畛n v ki畛m th畛 s畉n ph畉m c畛a chu k畛 ny
     L畉p k畉 ho畉ch cho chu k畛 ti畉p theo


                                                    54
2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p)
 Giao ti畉p kh叩ch hng: gi畛a ng動畛i ph叩t tri畛n v kh叩ch
 hng 畛 t狸m hi畛u y棚u c畉u, 箪 ki畉n
 L畉p k畉 ho畉ch: X叩c l畉p ti nguy棚n, th畛i h畉n v nh畛ng
 th担ng tin kh叩c
 Ph但n t鱈ch r畛i ro: Xem x辿t m畉o hi畛m k畛 thu畉t v m畉o
 hi畛m qu畉n l箪
 Thi畉t k畉: X但y d畛ng m畛t hay m畛t s畛 bi畛u di畛n c畛a 畛ng
 d畛ng




                                                        55
2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p)
 X但y d畛ng v xu畉t x動畛ng: x但y d畛ng, ki畛m
 th畛, ci 畉t v cung c畉p h畛 tr畛 ng動畛i d湛ng
 (t動 li畛u, hu畉n luy畛n, . . .)
 叩nh gi叩 c畛a kh叩ch hng: Nh畉n c叩c ph畉n h畛i
 c畛a ng動畛i s畛 d畛ng v畛 bi畛u di畛n ph畉n m畛m
 trong giai o畉n k畛 ngh畛 v ci 畉t




                                              56
2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p)
 働u i畛m
     H畉n ch畉 r畛i ro s畛m
     Nh畉n 動畛c ph畉n h畛i (feedbacks) t畛 kh叩ch hng
      s畛m
     D畛 ki畛m so叩t c叩c m畉o hi畛m 畛 t畛ng m畛c ti畉n h坦a
 H畉n ch畉
     Kh坦 thuy畉t ph畛c kh叩ch hng l ph動董ng ph叩p ti畉n
      h坦a xo畉n 畛c c坦 th畛 ki畛m so叩t 動畛c
     Ch動a 動畛c d湛ng r畛ng r達i nh動 c叩c m担 h狸nh tuy畉n
      t鱈nh ho畉c ch畉 th畛.
                                                      57
2.3.5.2. M担 h狸nh xo畉n 畛c
 M担 h狸nh xo畉n 畛c ph湛 h畛p v畛i
     C叩c h畛 ph畉n m畛m quy m担 l畛n, c叩c d畛 叩n l畛n,
      ph畛c t畉p
     H畛 th畛ng c畉n ph叩t tri畛n nhi畛u phi棚n b畉n
     C叩c h畛 th畛ng c坦 y棚u c畉u ch動a x叩c 畛nh r探 rng




                                                      58
2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN
 L m担 h狸nh xo畉n 畛c nh畉m th畛a hi畛p gi畛a ng動畛i ph叩t tri畛n
 v kh叩ch hng, c畉 hai c湛ng Th畉ng (win-win)
    Kh叩ch th狸 c坦 ph畉n m畛m th畛a m達n y棚u c畉u ch鱈nh
    Ng動畛i ph叩t tri畛n th狸 c坦 kinh ph鱈 th畛a 叩ng v th畛i gian h畛p l箪
 C叩c ho畉t 畛ng ch鱈nh trong vi畛c x叩c 畛nh h畛 th畛ng:
    X叩c 畛nh c畛 担ng (stakeholders)
    X叩c 畛nh i畛u ki畛n th畉ng c畛a c畛 担ng
    Th畛a hi畛p i畛u ki畛n th畉ng c畛a c叩c b棚n li棚n quan




                                                                      59
2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN
                        2. X叩c 畛nh i畛u ki畛n   3a. H嘆a h畛p i畛u ki畛n th畉ng
                           th畉ng c畛a c畛 担ng    3b. Thi畉t l畉p m畛c ti棚u m畛c ti畉p
                                                    v c叩c rng bu畛c, d畛 ki畉n

  1. X叩c 畛nh m畛c
     ti畉p c畛a c畛 担ng

                                                              4. 叩nh gi叩 ti畉n tr狸nh v
                                                                 d畛 ki畉n s畉n ph畉m,
                                                                 gi畉i quy畉t r畛i ro




             7. X辿t duy畛t v 叩nh gi叩
                 6. Ki畛m 畛nh s畉n ph畉m          5. X叩c 畛nh m畛c ti畉p c畛a
                    v quy tr狸nh                   s畉n ph但m v quy tr狸nh,
                                                   k畛 c畉 ph但n chia nh畛



                                                                                          60
2.3.6. M担 h狸nh ph叩t tri畛n 畛ng th畛i
  M担 h狸nh ph叩t tri畛n 畛ng th畛i (The concurrent
  development model):
      X叩c 畛nh m畉ng l動畛i nh畛ng ho畉t 畛ng 畛ng th畛i (Network of
       concurrent activities)
      C叩c s畛 ki畛n (events) xu畉t hi畛n theo i畛u ki畛n v畉n 畛ng tr畉ng
       th叩i trong t畛ng ho畉t 畛ng
      D湛ng cho m畛i lo畉i 畛ng d畛ng v cho h狸nh 畉nh kh叩 ch鱈nh x叩c
       v畛 tr畉ng th叩i hi畛n tr畉ng c畛a d畛 叩n
      Th動畛ng d湛ng trong ph叩t tri畛n c叩c 畛ng d畛ng kh叩ch/ch畛
       (client/server applications): h畛 th畛ng v c叩c thnh ph畉n
       (componets) trong h畛 th畛ng 動畛c ph叩t tri畛n 畛ng th畛i.


                                                                      61
2.3.7. M担 h狸nh h動畛ng thnh ph畉n

M担 h狸nh h動畛ng thnh ph畉n (Component-based model):
G畉n v畛i nh畛ng c担ng ngh畛 h動畛ng 畛i t動畛ng (Object-
oriented technologies) qua vi畛c t畉o c叩c l畛p (classes) c坦
ch畛a c畉 d畛 li畛u v gi畉i thu畉t x畛 l箪 d畛 li畛u
C坦 nhi畛u t動董ng 畛ng v畛i m担 h狸nh xo畉n 畛c
V畛i 動u i畛m t叩i s畛 d畛ng c叩c thnh ph畉n qua Th動 vi畛n /
kho c叩c l畛p: ti畉t ki畛m 70% th畛i gian, 80% gi叩 thnh.
M担 h狸nh h動畛ng thnh ph畉n s畛 d畛ng UML nh動 m畛t
chu畉n c担ng nghi畛p


                                                       62
2.3.7. M担 h狸nh h動畛ng thnh ph畉n
             L畉p k畉 ho畉ch
                            Ph但n t鱈ch r畛i ro                X叩c 畛nh
                                                          thnh ph畉n
                                                            畛ng vi棚n
Giao ti畉p
kh叩ch hng
                                                 X但y d畛ng              T狸m
                                               b動畛c l畉p th畛 n     thnh ph畉n
                                                c畛a h畛 th畛ng       t畛 th動 vi畛n



                                                    畉t                L畉y
                                                thnh ph畉n         thnh ph畉n
                                                vo th動 vi畛n          n畉u c坦
                            K畛 ngh畛
      Kh叩ch hng            X但y d畛ng &                     X但y d畛ng
      叩nh gi叩              Xu畉t x動畛ng                    thnh ph畉n
                                                           n畉u kh.c坦



                                                                                 63
2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i
 M担 h狸nh ny ph叩t tri畛n 畛nh h動畛ng s畛 d畛ng l畉i
 (Reuse)
    H畛 th畛ng 動畛c t鱈ch h畛p t畛 c叩c thnh ph畉n
    達 t畛n t畉i hay h畛 th畛ng phi th動董ng m畉i
    C叩c giai o畉n c畛a ti畉n tr狸nh
        Ph但n t鱈ch thnh ph畉n
        C畉i bi畉n c叩c y棚u c畉u
        Thi畉t k畉 h畛 th畛ng h動畛ng s畛 d畛ng l畉i
        Ph叩t tri畛n v t鱈ch h畛p

                                               64
2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i
    Ph叩t tri畛n 畛nh h動畛ng s畛 d畛ng l畉i (2)


畉c t畉 y棚u          Ph但n t鱈ch   Thay 畛i               Thi畉t k畉 HT
                   thnh ph畉n   y棚u c畉u                 d湛ng l畉i
   c畉u



                                       Ph叩t tri畛n v             Th畉m 畛nh
                                         t鱈ch h畛p                 h畛 th畛ng


             H動畛ng ph叩t tri畛n ny r畉t quan tr畛ng nh動ng
             kinh nghi畛m v c担ng c畛 c嘆n h畉n ch畉

                                                                        65
2.3.8. M担 h狸nh h畛p nh畉t
 M担 h狸nh h畛p nh畉t s畛 d畛ng C叩c k畛 thu畉t th畉 h畛 4
 (Fourth generation techniques): T畉p h畛p c叩c c担ng
 c畛 cho ph辿p x叩c 畛nh 畉c t鱈nh ph畉n m畛m 畛 m畛c
 cao, sau 坦 t畛 畛ng sinh m達 ngu畛n d畛a theo 畉c t畉
 坦.
 C叩c c担ng c畛 4GT i畛n h狸nh: ng担n ng畛 phi th畛 t畛c
 cho truy v畉n CSDL, t畉o b叩o c叩o, x畛 l箪 d畛 li畛u, t動董ng
 t叩c mn h狸nh, t畉o m達 ngu畛n, kh畉 nng 畛 h畛a b畉c
 cao, kh畉 nng b畉ng t鱈nh, kh畉 nng giao di畛n Web.
 T畛 thu th畉p y棚u c畉u cho 畉n s畉n ph畉m: 畛i tho畉i
 gi畛a kh叩ch v ng動畛i ph叩t tri畛n l quan tr畛ng.
 Kh担ng n棚n b畛 qua kh但u thi畉t k畉: 4GT ch畛 叩p d畛ng 畛
 tri畛n khai thi畉t k畉 qua 4GL

                                                        66
2.3.8. M担 h狸nh h畛p nh畉t
 Ti畉n tr狸nh h畛p nh畉t c坦 th畛 動畛c nh狸n d動畛i hai
 g坦c nh狸n kh叩c nhau
     G坦c nh狸n qu畉 l箪: quan t但m 畉n l挑nh v畛c kinh t畉,
      chi畉n thu畉t, con ng動畛i.
        Ti畉n tr狸nh g畛m 4 giai o畉n.
     G坦c nh狸n k畛 thu畉t: quan t但m 畉n c担ng ngh畛, ki畛m
      tra ch畉t l動畛ng, ph動董ng ph叩p.
        Ti畉n tr狸nh g畛m nhi畛u b動畛c l畉p.




                                                    67
2.3.8. M担 h狸nh h畛p nh畉t
 G坦c nh狸n qu畉n l箪




                          68
2.3.8. M担 h狸nh h畛p nh畉t
 G坦c nh狸n k畛 thu畉t: c叩c b動畛c l畉p
     M畛i b動畛c l畉p g畛m c叩c ho畉t 畛ng
         畉c t畉
         Ph但n t鱈ch
         Thi畉t k畉
         M達 h坦a
         Ki畛m th畛
         Ci 畉t
     M畛i b動畛c l畉p l m畛t ti畉n tr狸nh th叩c 畛



                                               69
2.3.8. M担 h狸nh h畛p nh畉t
 G坦c nh狸n k畛 thu畉t




                          70
2.3.8. M担 h狸nh h畛p nh畉t
 K畉t h畛p hai g坦c nh狸n




                          71
2.3.8. M担 h狸nh h畛p nh畉t
 M担 h狸nh h畛p nh畉t v UML




                           72
2.3.8. M担 h狸nh h畛p nh畉t
 働u i畛m: gi畉m th畛i gian ph叩t tri畛n v tng
 nng su畉t lao 畛ng.
 Nh動畛c i畛m: 4GT kh坦 d湛ng h董n ng担n ng畛
 l畉p tr狸nh, m達 kh坦 t畛i 動u v kh坦 b畉o tr狸 cho h畛
 th畛ng l畛n  c畉n k畛 nng c畛a k畛 s動 ph畉n
 m畛m
 Trong t動董ng lai: k畉t h畛p 4GT v畛i m担 h狸nh
 h動畛ng thnh ph畉n.



                                              73
K畉t lu畉n
 Trong th畛c t畉, ng動畛i ta th動畛ng k畉t h畛p
 nhi畛u m担 h狸nh cho m畛t d畛 叩n
    畛i v畛i H畛 th畛ng ph畛c t畉p, c畉n chia d畛 叩n thnh
     c叩c h畛 th畛ng con
    p d畛ng m担 h狸nh xo畉n 畛c hay m担 h狸nh h畛p nh畉t
     cho ton b畛 d畛 叩n.
    M畛i h畛 th畛ng con c坦 th畛 叩p d畛ng m畛t m担 h狸nh
     kh叩c nhau
       p d畛ng m担 h狸nh nguy棚n m畉u cho c叩c h畛 th畛ng con
       ph畛c t畉p
       p d畛ng m担 h狸nh th叩c n動畛c cho c叩c h畛 th畛ng con kh叩c

                                                             74
2.4. M畛t s畛 l動u 箪

   L畛a ch畛n m担 h狸nh
  Ph畛 thu畛c vo bi to叩n, vo m担i tr動畛ng c畛 th畛
  Y棚u c畉u r探 rng: => M担 h狸nh th叩c n動畛c


  Y棚u c畉u ch動a r探 rng, 畛 ph畛c t畉p cao
  Y棚u c畉u c坦 kh畉 nng thay 畛i
  Kh担ng ch畉c ch畉n v畛 t鱈nh hi畛u qu畉, t鱈nh kh畉 thi

       => Lm b畉n m畉u, m担 h狸nh xo畉n 畛c

                                                   75
2.4. M畛t s畛 l動u 箪


 T畛 h畛p c叩c m担 h狸nh:
C坦 th畛 t畛 h畛p c叩c m担 h狸nh 畛 em l畉i hi畛u qu畉




                                            76
2.4. M畛t s畛 l動u 箪

   L畉p ti畉n tr狸nh:
  M畛i ph畉n c畛a ti畉n tr狸nh 動畛c l畉p theo 2
  c叩ch ti畉p c畉n
       Ph叩t tri畛n tng
       Ph叩t tri畛n xo畉n 畛c




                                            77
2.4. M畛t s畛 l動u 箪

  Chu畉n h坦a ti畉n tr狸nh:
 Tng nng l畛c c畛a t畛 ch畛c ph叩t tri畛n ph畉n
 m畛m
   ISO 9000-03 (International Standards Organization )
  CMM (Software Engineering Institute)



                                                   78
2.4. M畛t s畛 l動u 箪

 Gi畉m chi ph鱈 ph叩t tri畛n:
S畛 d畛ng c叩c ph動董ng ph叩p, c担ng c畛 ti棚n ti畉n
 t叩i s畛 d畛ng: th動 vi畛n th動董ng m畉i,...
 t畛 sinh m達: c担ng c畛 t畉o giao di畛n,...
 h動畛ng 畛i t動畛ng: k畉 th畛a, b畉o tr狸
 ng担n ng畛 b畉c cao: nng l畛c bi畛u di畛n cao


                                             79
2.4. M畛t s畛 l動u 箪
Th畛c hi畛n c叩c pha ph叩t tri畛n:
 Pha x叩c 畛nh y棚u c畉u v thi畉t k畉 c坦 vai tr嘆 quy畉t 畛nh
 畉n ch畉t l動畛ng ph畉n m畛m, chi畉m ph畉n l畛n c担ng s畛c
 so v畛i m達 h坦a, ki畛m th畛
 Khi chuy畛n ti畉p gi畛a c叩c pha ph叩t tri畛n ph畉i th畉m
 畛nh 畛 畉m b畉o l畛i kh担ng 畉nh h動畛ng 畉n pha sau
 Ti li畛u t畉o ra 畛 m畛i pha kh担ng ch畛 d湛ng cho pha k畉
 ti畉p m c嘆n d湛ng 畛 畉m b畉o ch畉t l動畛ng c畛a ph畉n
 m畛m v d湛ng trong kh但u b畉o tr狸
 C畉n chu畉n h坦a m畉u bi畛u, c叩ch th畛c ghi ch辿p, t畉o ti
 li畛u nh畉m 畉m b畉o ch畉t l動畛ng ph畉n m畛m.
                                                          80
CU H畛I N T畉P
1. Ph但n bi畛t c叩c m担 h狸nh ti畉n tr狸nh
2. Khi c坦 y棚u c畉u ph叩t tri畛n m畛t h畛 th畛ng:
      C畉n l動u 箪 g狸 trong vi畛c l畛a ch畛n m担 h狸nh ti畉n tr狸nh
      L畛a ch畛n m担 h狸nh ph湛 h畛p b畉ng c叩ch no
      C坦 nh畛ng ch畛 d畉n g狸 trong vi畛c l畛a ch畛n m担 h狸nh
3. X叩c 畛nh ti畉n tr狸nh ph叩t tri畛n nh動 th畉 no?
4. V畉n 畛 chu畉n h坦a ti畉n tr狸nh
      T狸m hi畛u v vi畉t b叩o c叩o, tr狸nh by v畛 m担 h狸nh ph叩t
       tri畛n ph畉n m畛m (m畛i nh坦m 1 m担 h狸nh)




                                                             81

More Related Content

Chuong 2. cnpm

  • 1. CH働NG 2. CC M HNH PHT TRI畛N PH畉N M畛M B畛 m担n C担ng ngh畛 th担ng tin Tr動畛ng 畉i h畛c Th動董ng m畉i 1
  • 2. N畛i dung 2.1. V嘆ng 畛i ph叩t tri畛n ph畉n m畛m 2.2. C叩c ho畉t 畛ng ph叩t tri畛n ph畉n m畛m 2.3. C叩c m担 h狸nh ph叩t tri畛n ph畉n m畛m 2.3.1. M担 h狸nh th叩c n動畛c (Water Fall Model) 2.3.2. M担 h狸nh V 2.3.3. M担 h狸nh b畉n m畉u 2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh 2.3.5. C叩c m担 h狸nh ti畉n h坦a 2.3.5.1. M担 h狸nh gia tng 2.3.5.2. M担 h狸nh xo畉n 畛c 2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN 2.3.6. M担 h狸nh ph叩t tri畛n 畛ng th畛i 2.3.7. M担 h狸nh h動畛ng thnh ph畉n 2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i 2.3.8. M担 h狸nh h畛p nh畉t 2.4. M畛t s畛 l動u 箪 2
  • 3. 2.1. V嘆ng 畛i ph叩t tri畛n PM L kho畉ng th畛i gian t鱈nh t畛 khi ph畉n m畛m 動畛c 畛 xu畉t cho 畉n khi b畛 i: c畛 th畛 l t畛 khi 動畛c 畉t hng, ph叩t tri畛n, s畛 d畛ng 畉n khi b畛 lo畉i b畛. V嘆ng 畛i ph畉n m畛m 動畛c ph但n chia thnh c叩c pha ch鱈nh nh動 x叩c 畛nh y棚u c畉u, tri畛n khai, ki畛m th畛, b畉o tr狸 (v畉n hnh)... Ph畉m vi, th畛 t畛 c叩c pha kh叩c nhau t湛y theo t畛ng m担 h狸nh, d畛 叩n c畛 th畛 3
  • 4. 2.1. V嘆ng 畛i ph叩t tri畛n PM(2) T湛y m担 h狸nh 叩p d畛ng m vi畛c ph但n chia c叩c pha, c叩c b動畛c c坦 th畛 c坦 s畛 kh叩c nhau: t畛 3 畉n 20 pha. X叩c 畛nh y棚u c畉u Tri畛n khai Ki畛m th畛 (Vn h袖nh) B畉o tr狸 V嘆ng 畛i ph畉n m畛m 4
  • 5. 2.2. C叩c ho畉t 畛ng ph叩t tri畛n PM Ph但n t鱈ch t鱈nh kh畉 thi Ph但n t鱈ch v 畉c t畉 y棚u c畉u Thi畉t k畉 M達 h坦a Ki畛m th畛 B畉o tr狸 5
  • 6. Ph但n t鱈ch t鱈nh kh畉 thi Ph但n t鱈ch t鱈nh kh畉 thi X叩c 畛nh v畉n 畛 c畉n gi畉i quy畉t Xem x辿t c叩c gi畉i ph叩p v k畛 thu畉t kh叩c nhau (叩nh gi叩 動u nh動畛c i畛m c畛a t畛ng gi畉i ph叩p) 叩nh gi叩 v畛 th畛i gian, gi叩 thnh, ngu畛n ti nguy棚n c畉n thi畉t S畉n ph畉m: ti li畛u ph但n t鱈ch 6
  • 7. Ph但n t鱈ch v 畉c t畉 y棚u c畉u Ph但n t鱈ch v 畉c t畉 y棚u c畉u 7
  • 8. Ph但n t鱈ch v 畉c t畉 y棚u c畉u 畉c t畉 y棚u c畉u (hay c嘆n g畛i l k畛 thu畉t x叩c 畛nh y棚u c畉u) l quy tr狸nh t狸m hi畛u v 畛nh ngh挑a nh畛ng d畛ch v畛 no 動畛c y棚u c畉u v c叩c rng bu畛c trong qu叩 tr狸nh v畉n hnh v x但y d畛ng h畛 th畛ng. Quy tr狸nh x叩c 畛nh y棚u c畉u bao g畛m b畛n pha ch鱈nh: 1. Nghi棚n c畛u kh畉 thi: Nghi棚n c畛u kh畉 thi gi炭p x叩c 畛nh nh畛ng y棚u c畉u c畛a ng動畛i s畛 d畛ng c坦 tho畉 m達n nh畛ng c担ng ngh畛 hi畛n t畉i hay kh担ng. V畛 g坦c 畛 kinh doanh, nghi棚n c畛u kh畉 thi nh畉m x叩c 畛nh h畛 th畛ng 動a ra c坦 mang l畉i l畛i nhu畉n kh担ng. Vi畛c nghi棚n c畛u kh畉 thi n棚n 動畛c th畛c hi畛n m畛t c叩ch nhanh ch坦ng v kh担ng qu叩 t畛n k辿m. K畉t qu畉 c畛a vi畛c nghi棚n c畛u kh畉 thi s畉 x叩c 畛nh c坦 n棚n ti畉p t畛c x但y d畛ng h畛 th畛ng n畛a hay kh担ng. 2. Ph但n t鱈ch v r炭t ra c叩c y棚u c畉u: 但y l quy tr狸nh 動a ra c叩c y棚u c畉u h畛 th畛ng th担ng qua m畛t s畛 ph動董ng ph叩p nh動: quan s叩t h畛 th畛ng hi畛n t畉i, ph畛ng v畉n v th畉o lu畉n v畛i ng動畛i s畛 d畛ng, ph但n t鱈ch nhi畛m v畛, ph但n t鱈ch ti li畛u ho畉c h畛 th畛ng c滴 Trong pha ny, ch炭ng ta c坦 th畛 ph畉i x但y d畛ng m畛t ho畉c nhi畛u m担 h狸nh h畛 th畛ng v c叩c m畉u th畛. 8
  • 9. 3. 畉c t畉 y棚u c畉u: Pha ny s畉 t動 li畛u ho叩 nh畛ng th担ng tin thu th畉p 動畛c. C坦 hai lo畉i y棚u c畉u c畉n 動畛c x叩c 畛nh: * Y棚u c畉u c畛a ng動畛i s畛 d畛ng: l nh畛ng y棚u c畉u b畉ng ng担n ng畛 t畛 nhi棚n b畛 sung th棚m cho c叩c bi畛u 畛 c畛a c叩c d畛ch v畛 m h畛 th畛ng cung c畉p v c叩c rng bu畛c v畉n hnh c畛a n坦. Ki畛u y棚u c畉u ny 動畛c vi畉t b畛i ng動畛i s畛 d畛ng. * Y棚u c畉u h畛 th畛ng: l nh畛ng ti li畛u c坦 c畉u tr炭c m担 t畉 chi ti畉t v畛 c叩c ch畛c nng, d畛ch v畛 v c叩c rng bu畛c v畉n hnh c畛a h畛 th畛ng. Y棚u c畉u h畛 th畛ng s畉 畛nh ngh挑a nh畛ng g狸 c畉n ph畉i x但y d畛ng, cho n棚n n坦 c坦 th畛 tr畛 thnh b畉n h畛p 畛ng gi畛a kh叩ch hng v nh th畉u. 4. 叩nh gi叩 y棚u c畉u: pha ny s畉 ki畛m tra l畉i c叩c y棚u c畉u xem ch炭ng c坦 炭ng th畛c t畉 hay kh担ng, c坦 th畛ng nh畉t kh担ng, c坦 畉y 畛 kh担ng. N畉u ph叩t hi畛n ra l畛i th狸 ta ph畉i ch畛nh s畛a c叩c l畛i ny. 9
  • 10. Ph但n t鱈ch v 畉c t畉 y棚u c畉u Ph但n t鱈ch v 畉c t畉 y棚u c畉u X叩c 畛nh nhu c畉u c畛a kh叩ch hng/ng動畛i s畛 d畛ng X叩c 畛nh bi to叩n, ch畛 kh担ng ph畉i l gi畉i ph叩p Kh坦 khn Kh叩ch hng kh担ng bi畉t r探 c叩i h畛 c畉n Kh叩ch hng kh担ng tr狸nh by r探 c叩i h畛 mu畛n thay 畛i S畉n ph畉m: ti li畛u 畉c t畉 y棚u c畉u 10
  • 11. Ph但n t鱈ch v 畉c t畉 y棚u c畉u Ph但n t鱈ch v 畉c t畉 y棚u c畉u 11
  • 12. Thi畉t k畉 ph畉n m畛m Thi畉t k畉 ph畉n m畛m l qu叩 tr狸nh thi畉t k畉 c畉u tr炭c ph畉n m畛m d畛a tr棚n nh畛ng ti li畛u 畉c t畉. Ho畉t 畛ng thi畉t k畉 bao g畛m nh畛ng c担ng vi畛c ch鱈nh sau: Thi畉t k畉 ki畉n tr炭c: C叩c h畛 th畛ng con c畉u thnh l棚n h畛 th畛ng c畉n x但y d畛ng v m畛i quan h畛 gi畛a ch炭ng 動畛c x叩c 畛nh v t動 li畛u ho叩. 畉c t畉 tr畛u t動畛ng: v畛i m畛i h畛 th畛ng con, ph畉i c坦 m畛t b畉n 畉c t畉 v畛 c叩c d畛ch v畛 c畛a n坦 v nh畛ng rng bu畛c khi n坦 v畉n hnh. Thi畉t k畉 giao di畛n: v畛i m畛i h畛 th畛ng con, c叩c giao di畛n c畛a n坦 v畛i nh畛ng h畛 th畛ng con kh叩c ph畉i 動畛c thi畉t k畉 v t動 li畛u ho叩. Thi畉t k畉 thnh ph畉n: c叩c d畛ch v畛 cung c畉p cho c叩c thnh ph畉n kh叩c v c叩c giao di畛n t動董ng t叩c v畛i ch炭ng ph畉i 動畛c thi畉t k畉. Thi畉t k畉 c畉u tr炭c d畛 li畛u: c畉u tr炭c d畛 li畛u 動畛c s畛 d畛ng 畛 ci 畉t h畛 th畛ng ph畉i 動畛c thi畉t k畉 m畛t c叩ch chi ti畉t v c畛 th畛. Thi畉t k畉 thu畉t to叩n: C叩c thu畉t to叩n 動畛c s畛 d畛ng 畛 cung c畉p c叩c d畛ch v畛 ph畉i 動畛c thi畉t k畉 chi ti畉t v ch鱈nh x叩c. 12
  • 13. Thi畉t k畉 ph畉n m畛m C叩c c担ng vi畛c trong thi畉t k畉 ph畉n m畛m 13
  • 14. Thi畉t k畉 ph畉n m畛m C叩c ph動董ng ph叩p thi畉t k畉 H動畛ng ch畛c nng H動畛ng 畛i t動畛ng 14
  • 15. M達 h坦a v g畛 r畛i M達 h坦a v g畛 r畛i M達 h坦a: ci 畉t c叩c thi畉t k畉 b畉ng ng担n ng畛 l畉p tr狸nh kh担ng 董n thu畉n ch畛 l l畉p tr狸nh Vi畉t ti li畛u Chu畉n l畉p tr狸nh L畉p tr狸nh theo c畉p C担ng c畛 Qu畉n l箪 phi棚n b畉n G畛 r畛i: ph叩t hi畛n c叩c l畛i trong qu叩 tr狸nh l畉p tr狸nh S畉n ph畉m: ch動董ng tr狸nh 15
  • 16. Ki畛m th畛 Ki畛m th畛 - 叩nh gi叩 ph畉n m畛m hay c嘆n g畛i l th畉m tra v 叩nh gi叩 (V&V - Verification and validation) 動畛c s畛 d畛ng 畛 ch畛 ra r畉ng h畛 th畛ng 達 th畛c hi畛n theo 炭ng c叩c 畉c t畉 v tho畉 m達n m畛i y棚u c畉u c畛a kh叩ch hng. Ki畛m th畛 bao g畛m c叩c c担ng o畉n: ki畛m tra, xem x辿t l畉i, v ki畛m th畛 h畛 th畛ng. Ki畛m th畛 h畛 th畛ng t畛c l cho h畛 th畛ng th畛c hi畛n tr棚n nh畛ng tr動畛ng h畛p c坦 d畛 li畛u th畉t 動畛c l畉y t畛 ti li畛u 畉c t畉 h畛 th畛ng. Quy tr狸nh ki畛m th畛 g畛m c叩c pha sau: 16
  • 17. Ki畛m th畛 thnh ph畉n (董n v畛): c叩c thnh ph畉n 動畛c ki畛m th畛 m畛t c叩ch 畛c l畉p, thnh ph畉n c坦 th畛 l m畛t ch畛c nng ho畉c m畛t 畛i t動畛ng ho畉c m畛t nh坦m c叩c th畛c th畛 g畉n k畉t v畛i nhau. Ki畛m th畛 h畛 th畛ng: ki畛m th畛 ton b畛 h畛 th畛ng. Ki畛m th畛 ch畉p thu畉n: ki畛m th畛 tr棚n d畛 li畛u c畛a kh叩ch hng 畛 ki畛m tra h畛 th畛ng c坦 叩p 畛ng t畉t c畉 c叩c y棚u c畉u c畛a kh叩ch hng hay kh担ng. 17
  • 18. Ki畛m th畛 Khi chuy畛n giao h畛 th畛ng cho kh叩ch hng th狸 quy tr狸nh ki畛m th畛 beta s畉 動畛c th畛c hi畛n. Kh叩ch hng s畉 th担ng b叩o c叩c l畛i cho 畛i d畛 叩n. Nh畛ng l畛i ny s畉 動畛c ch畛nh s畛a v ti畉p t畛c ki畛m th畛 beta ho畉c chuy畛n giao th畛c s畛 cho kh叩ch hng. C叩c c担ng vi畛c c畉n lm trong qu叩 tr狸nh ki畛m th畛 Ph叩t hi畛n l畛i trong ch動董ng tr狸nh L畉p k畉 ho畉ch th畛c hi畛n ki畛m th畛 T畉o c叩c tr動畛ng h畛p ki畛m th畛 Ti棚u chu畉n ki畛m th畛 Ngu畛n ti nguy棚n ki畛m th畛 M達 ngu畛n 動畛c ki畛m th畛 theo ti li畛u thi畉t k畉 S畉n ph畉m: b叩o c叩o ki畛m th畛 18
  • 19. Ki畛m th畛 C叩c ph動董ng ph叩p ki畛m th畛 Ki畛m th畛 t挑nh Ki畛m th畛 畛ng Ki畛m th畛 h畛p en Ki畛m th畛 h畛p tr畉ng 19
  • 20. B畉o tr狸 h畛 th畛ng B畉o tr狸 h畛 th畛ng: B畉o 畉m ch動董ng tr狸nh v畉n hnh t畛t Ci 畉t c叩c thay 畛i Ci 畉t c叩c y棚u c畉u m畛i X畛 l箪 c叩c l畛i khi v畉n hnh S畉n ph畉m: ch動董ng tr狸nh 20
  • 21. C畉i ti畉n ph畉n m畛m C畉i ti畉n ph畉n m畛m Khi c叩c y棚u c畉u h畛 th畛ng thay 畛i theo s畛 thay 畛i c畛a c叩c y棚u c畉u nghi畛p v畛 th狸 ph畉n m畛m ph畉i c畉i ti畉n v thay 畛i 畛 h畛 tr畛 kh叩ch hng. Th担ng th動畛ng chi ph鱈 畛 b畉o tr狸 v c畉i ti畉n th動畛ng 畉t h董n nhi畛u so v畛i chi ph鱈 x但y d畛ng ph畉n m畛m. 21
  • 22. 2.3. C叩c m担 h狸nh ph叩t tri畛n PM Hi畛n nay c坦 r畉t nhi畛u m担 h狸nh ph叩t tri畛n ph畉n m畛m, v th動畛ng 動畛c ph但n thnh 2 lo畉i: m担 h狸nh tuy畉n t鱈nh v m担 h狸nh l畉p. M担 h狸nh tuy畉n t鱈nh: c叩c b動畛c 動畛c th畛c hi畛n tu畉n t畛, kh担ng l畉p l畉i. M担 h狸nh th叩c n動畛c M担 h狸nh V M担 h狸nh l畉p: c叩c b動畛c c坦 th畛 th畛c hi畛n song song, c坦 th畛 l畉p l畉i m畛t s畛 b動畛c. M担 h狸nh ti畉n h坦a M担 h狸nh xo畉n 畛c M担 h狸nh h畛p nh畉t 22
  • 23. 2.3.2. M担 h狸nh Th叩c n動畛c M担 h狸nh th叩c n動畛c (Water Fall Model) 23
  • 24. C叩c pha c畛a m担 h狸nh th叩c n動畛c bao g畛m: Ph但n t鱈ch v x叩c 畛nh c叩c y棚u c畉u Thi畉t k畉 h畛 th畛ng v ph畉n m畛m Ci 畉t v ki畛m th畛 董n v畛 T鱈ch h畛p v ki畛m th畛 h畛 th畛ng V畉n hnh v b畉o tr狸. 24
  • 25. 2.3.1. M担 h狸nh Th叩c n動畛c L m担 h狸nh c畛 i畛n Ph動董ng ph叩p 叩p d畛ng 1 l畉n i畛u khi畛n hi畛u qu畉 Ph畉m vi gi畛i h畉n c畛a v嘆ng l畉p V嘆ng 畛i di Kh担ng th鱈ch h畛p v畛i c叩c h畛 th畛ng kh担ng r探 rng 25
  • 26. Trong m担 h狸nh th叩c n動畛c, nm pha tr棚n ph畉i 動畛c th畛c hi畛n m畛t c叩ch tu畉n t畛; k畉t th炭c pha tr動畛c, r畛i m畛i 動畛c th畛c hi畛n pha ti畉p theo. Do 坦, nh動畛c i畛m ch鱈nh c畛a m担 h狸nh th叩c n動畛c l r畉t kh坦 khn trong vi畛c thay 畛i c叩c pha 達 動畛c th畛c hi畛n. Gi畉 s畛, pha ph但n t鱈ch v x叩c 畛nh y棚u c畉u 達 hon t畉t v chuy畛n sang pha k畉 ti畉p, nh動ng l炭c ny l畉i c坦 s畛 thay 畛i y棚u c畉u c畛a ng動畛i s畛 d畛ng; th狸 ch畛 c嘆n c叩ch l ph畉i th畛c hi畛n l畉i t畛 畉u. M担 h狸nh ny ch畛 th鱈ch h畛p khi c叩c y棚u c畉u 達 動畛c t狸m hi畛u r探 rng v nh畛ng thay 畛i s畉 動畛c gi畛i h畉n m畛t c叩ch r探 rng trong su畛t qu叩 tr狸nh thi畉t k畉. Tuy nhi棚n, trong th畛c t畉 c坦 r畉t 鱈t nh畛ng h畛 th畛ng nghi畛p v畛 c坦 c叩c y棚u c畉u 畛n 畛nh. 26
  • 27. 働u i畛m: Ch畛 ph湛 h畛p v畛i c叩c d畛 叩n nh畛 ho畉c Y棚u c畉u x叩c 畛nh Nh動畛c i畛m: Kh担ng ph湛 h畛p v畛i d畛 叩n l畛n Th畛i gian th畛c hi畛n l但u 27
  • 28. 2.3.2. M担 h狸nh V B畉o tr狸 Ph但n t鱈ch y棚u Ki畛m th畛 ch畉p c畉u nh畉n Thi畉t k畉 h畛 Ki畛m th畛 h畛 th畛ng th畛ng Thi畉t k畉 Ki畛m th畛 董n v畛 v ch動董ng tr狸nh t鱈ch h畛p L畉p tr狸nh 28
  • 29. 2.3.2. M担 h狸nh V Trong m担 h狸nh V: C叩c ti畉n tr狸nh ki畛m th畛 動畛c th棚m vo K畉t n畛i ki畛m th畛 v畛i ph但n t鱈ch v thi畉t k畉 Th鱈ch h畛p v畛i nh畛ng tr動畛ng h畛p bi to叩n kh担ng nh畉t qu叩n 29
  • 30. 2.3.3. M担 h狸nh b畉n m畉u Nghe Kh叩ch T畉o / s畛a tr狸nh by b畉n m畉u Kh叩ch ki畛m tra b畉n m畉u M担 h狸nh b畉n m畉u (Prototyping model) 30
  • 31. 2.3.3. M担 h狸nh b畉n m畉u M畛c 鱈ch Xem x辿t y棚u c畉u ng動畛i s畛 d畛ng 畛 giai o畉n ban 畉u Gi畉m b畛t r畛i ro v kh担ng ch畉c ch畉n Ki畛m ch畛ng thi畉t k畉 v th畛c thi N棚n th動畛ng xuy棚n tr畉 l畛i c叩c c但u h畛i chuy棚n bi畛t; m畛c 鱈ch ph畉i 動畛c x叩c 畛nh 31
  • 32. L畛i 鱈ch c畛a b畉n m畉u H畛c b畉ng c叩ch lm vi畛c Tng c動畛ng giao ti畉p Tng s畛 tham gia c畛a ng動畛i d湛ng vo d畛 叩n Lm r探 c叩c y棚u c畉u ch畛 bi畉t m畛t ph畉n 32
  • 33. Tu畉n t畛 lm b畉n m畉u T畉p h畛p y棚u c畉u Thi畉t k畉 nhanh X但y d畛ng b畉n m畉u 叩nh gi叩 c畛a kh叩ch hng Lm m畛n Quay l畉i thi畉t k畉 nhanh 畛 i畛u ch畛nh X但y d畛ng s畉n ph畉m 33
  • 34. 働u i畛m: ph湛 h畛p v畛i H畛 th畛ng r畛i ro cao Y棚u c畉u kh担ng ch畉c ch畉n Giao di畛n ch動a r探 rng Chi畉n l動畛c ci 畉t ch動a r探 rng 34
  • 35. H畉n ch畉: Kh叩ch hng c坦 th畛 cho r畉ng nguy棚n m畉u l h畛 th畛ng th畛c Mong 畛i kh担ng th畛c t畉 v畛 ti畉n tri畛n c畛a d畛 叩n Ng動畛i ph叩t tri畛n c坦 s畛 ch畛n l畛a kh担ng t畛t Ph湛 h畛p cho nguy棚n m畉u, nh動ng kh担ng ph湛 h畛p cho h畛 th畛ng th畛c Nguy棚n m畉u kh担ng gi畛ng hon ton h畛 th畛ng cu畛i c湛ng Kh叩ch hng s畉 c坦 c叩c ph畉n 畛ng kh叩c nhau 35
  • 36. 2.3.3. M担 h狸nh b畉n m畉u M担 h狸nh b畉n m畉u th動畛ng 動畛c s畛 d畛ng khi: Khi m畛i r探 m畛c 鱈ch chung chung c畛a ph畉n m畛m, ch動a r探 chi ti畉t 畉u vo hay x畛 l箪 ra sao ho畉c ch動a r探 y棚u c畉u 畉u ra D湛ng nh動 H畛 s董 khai 畛 thu th畉p y棚u c畉u ng動畛i d湛ng qua c叩c thi畉t k畉 nhanh C叩c gi畉i thu畉t, k畛 thu畉t d湛ng lm b畉n m畉u c坦 th畛 ch動a nhanh, ch動a t畛t, mi畛n l c坦 m畉u 畛 th畉o lu畉n g畛i y棚u c畉u c畛a ng動畛i d湛ng 36
  • 37. 2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh (Rapid Application Development: RAD) l m担 h狸nh ph叩t tri畛n ph畉n m畛m gia tng, tng d畉n t畛ng b動畛c (Incrimental software development) v畛i m畛i chu tr狸nh ph叩t tri畛n r畉t ng畉n (60- 90 ngy) X但y d畛ng d畛a tr棚n h動畛ng thnh ph畉n (Component- based construction) v畛i kh畉 nng t叩i s畛 d畛ng (reuse) G畛m m畛t s畛 nh坦m (teams), m畛i nh坦m lm 1 RAD theo c叩c pha: M担 h狸nh nghi畛p v畛, M担 h狸nh d畛 li畛u, M担 h狸nh x畛 l箪, T畉o 畛ng d畛ng, Ki畛m th畛 v 叩nh gi叩 (Business, Data, Process, Appl. Generation, Test) 37
  • 38. 2.3.4. M担 h狸nh ph叩t tri畛n 畛ng d畛ng nhanh Team #3 Business Business Modeling Modeling Team #2 Data Data Modeling Modeling Business Business Process Process Modeling Modeling Modeling Modeling Team #1 Data Data Application Application Modeling Generation Generation Business Modeling Business Process Process Testing & Testing & Turnover Modeling Modeling Modeling Modeling Turnover Data Application Application Data Generation Modeling Modeling Generation Testing & Testing & Process Process Turnover Turnover Modeling Modeling Application Application Generation Generation Testing & Testing & Turnover Turnover 60 - 90 days 38
  • 39. RAD: M担 h狸nh nghi畛p v畛 Lu畛ng th担ng tin 動畛c m担 h狸nh h坦a 畛 tr畉 l畛i c叩c c但u h畛i: Th担ng tin no i畛u khi畛n x畛 l箪 nghi畛p v畛 ? Th担ng tin g狸 動畛c sinh ra? Ai sinh ra n坦 ? Th担ng tin i 畉n 但u ? Ai x畛 l箪 ch炭ng ? 39
  • 40. RAD: M担 h狸nh ti畉n tr狸nh v d畛 li畛u Data modeling: c叩c 畛i t動畛ng d畛 li畛u c畉n 畛 h畛 tr畛 nghi畛p v畛 (business). 畛nh ngh挑a c叩c thu畛c t鱈nh c畛a t畛ng 畛i t動畛ng v x叩c l畉p quan h畛 gi畛a c叩c 畛i t動畛ng Process modeling: C叩c 畛i t動畛ng d畛 li畛u 動畛c chuy畛n sang lu畛ng th担ng tin th畛c hi畛n ch畛c nng nghi畛p v畛. T畉o m担 t畉 x畛 l箪 畛 c畉p nh畉t (th棚m, s畛a, x坦a, kh担i ph畛c) t畛ng 畛i t動畛ng d畛 li畛u 40
  • 41. RAD: T畛 sinh 畛ng d畛ng v ki畛m th畛 Application Generation: D湛ng c叩c k畛 thu畉t th畉 h畛 4 畛 t畉o ph畉n m畛m t畛 c叩c thnh ph畉n c坦 s畉n ho畉c t畉o ra c叩c thnh ph畉n c坦 th畛 t叩i d畛ng l畉i sau ny. D湛ng c叩c c担ng c畛 t畛 畛ng 畛 x但y d畛ng ph畉n m畛m Testing and Turnover: Ki畛m th畛 c叩c thnh ph畉n m畛i v ki畛m ch畛ng m畛i giao di畛n (c叩c thnh ph畉n c滴 達 動畛c ki畛m th畛 v d湛ng l畉i) 41
  • 42. RAD: H畉n ch畉 ? C畉n ngu畛n nh但n l畛c d畛i do 畛 t畉o c叩c nh坦m cho c叩c ch畛c nng ch鱈nh Y棚u c畉u hai b棚n giao k竪o trong th畛i gian ng畉n ph畉i c坦 ph畉n m畛m hon ch畛nh, thi畉u tr叩ch nhi畛m c畛a m畛t b棚n d畛 lm d畛 叩n 畛 v畛 RAD kh担ng ph畉i t畛t cho m畛i 畛ng d畛ng, nh畉t l v畛i 畛ng d畛ng kh担ng th畛 m担un h坦a ho畉c 嘆i h畛i t鱈nh nng cao M畉o hi畛m k畛 thu畉t cao th狸 kh担ng n棚n d湛ng RAD 42
  • 43. 2.3.5. M担 h狸nh ti畉n h坦a Ph畉n l畛n c叩c h畛 ph畉n m畛m ph畛c t畉p 畛u ti畉n h坦a theo th畛i gian: m担i tr動畛ng thay 畛i, y棚u c畉u ph叩t sinh th棚m, hon thi畛n th棚m ch畛c nng, t鱈nh nng C叩c m担 h狸nh ti畉n h坦a (evolutionary models) c坦 t鱈nh l畉p l畉i. K畛 s動 ph畉n m畛m t畉o ra c叩c phi棚n b畉n (versions) ngy cng hon thi畛n h董n, ph畛c t畉p h董n C叩c m担 h狸nh: gia tng (incremental), xo畉n 畛c (spiral), xo畉n WINWIN (WINWIN spiral) m担 h狸nh ph叩t tri畛n 畛ng th畛i (concurrent development model) 43
  • 44. M担 h狸nh ti畉n h坦a 44
  • 45. 2.3.5. M担 h狸nh ti畉n h坦a 働u i畛m: ph湛 h畛p v畛i D畛 叩n v畛a v nh畛 C叩c ph畉n c畛a d畛 叩n ph畛c t畉p C叩c h畛 th畛ng c坦 th畛i gian s畛ng ng畉n H畉n ch畉 C畉u tr炭c h畛 th畛ng t畛i Ti畉n tr狸nh kh担ng r探 rng 45
  • 46. 2.3.5.1. M担 h狸nh gia tng M担 h狸nh gia tng (The incremental model): K畉t h畛p m担 h狸nh tu畉n t畛 v 箪 t動畛ng l畉p l畉i c畛a ch畉 b畉n m畉u S畉n ph畉m l探i v畛i nh畛ng y棚u c畉u c董 b畉n nh畉t c畛a h畛 th畛ng 動畛c ph叩t tri畛n C叩c ch畛c nng v畛i nh畛ng y棚u c畉u kh叩c 動畛c ph叩t tri畛n th棚m sau (gia tng) L畉p l畉i quy tr狸nh 畛 hon thi畛n d畉n 46
  • 47. 2.3.5.1. M担 h狸nh gia tng Gia tng 1 Ph息n tch Thit k Lp trnh Kim th旦 Xu畉t x動畛ng 1 System/info. Engineering Gia tng 2 Ph息n tch Thit k Lp trnh Kim th旦 Xu畉t x動畛ng 2 Gia tng 3 Ph息n tch Thit k Lp trnh Kim th旦 Xu畉t x動畛ng 3 Gia tng 4 Ph息n tch Thit k Lp trnh Kim th旦 XX 4 Calendar time 47
  • 48. M担 h狸nh ny 動畛c 畛 xu畉t d畛a tr棚n 箪 t動畛ng thay v狸 ph畉i x但y d畛ng v chuy畛n giao h畛 th畛ng m畛t l畉n th狸 s畉 動畛c chia thnh nhi畛u giai o畉n, tng d畉n. M畛i giai o畉n l m畛t ph畉n k畉t qu畉 c畛a m畛t ch畛c nng 動畛c y棚u c畉u. C叩c y棚u c畉u c畛a ng動畛i s畛 d畛ng 動畛c 叩nh th畛 t畛 動u ti棚n. Y棚u c畉u no c坦 th畛 t畛 動u ti棚n cng cao th狸 cng 畛 trong nh畛ng giai o畉n ph叩t tri畛n s畛m h董n. 48
  • 49. M担 h狸nh gia tng 49
  • 50. 働u i畛m c畛a m担 h狸nh ph叩t tri畛n gia tng: Sau m畛i l畉n tng v嘆ng th狸 c坦 th畛 chuy畛n giao k畉t qu畉 th畛c hi畛n 動畛c cho kh叩ch hnh n棚n c叩c ch畛c nng c畛a h畛 th畛ng c坦 th畛 nh狸n th畉y s畛m h董n. C叩c v嘆ng tr動畛c 坦ng vai tr嘆 l m畉u th畛 畛 gi炭p t狸m hi畛u th棚m c叩c y棚u c畉u 畛 nh畛ng v嘆ng ti畉p theo. Nh畛ng ch畛c nng c畛a h畛 th畛ng c坦 th畛 t畛 動u ti棚n cng cao th狸 s畉 動畛c ki畛m th畛 cng k畛. 50
  • 51. 2.3.5.2. M担 h狸nh xo畉n 畛c L畉p k畉 ho畉ch Ph但n t鱈ch r畛i ro Giao ti畉p kh叩ch hng Kh叩i ni畛m Thi畉t k畉 Lm m畛i N但ng c畉p Kh叩ch hng X但y d畛ng & 叩nh gi叩 Xu畉t x動畛ng B畉o tr狸 M担 h狸nh xo畉n 畛c (spiral) 51
  • 52. 2.3.5.2. M担 h狸nh xo畉n 畛c (Boehm 1987) Chi ph鱈 tng th棚m X叩c 畛nh m畛c 鱈ch, 叩nh gi叩 l畛a ch畛n; l畛a ch畛n v rng Ph但n t鱈ch x叩c 畛nh v gi畉i bu畛c r畛i ro quy畉t r畛i ro Ph但n t鱈ch r畛i ro Ph但n t鱈ch r畛i ro B畉n m畉u B畉n m畉u B畉n m畉u L畉p k畉 ho畉ch Ch畛c nng Y棚u c畉u ph畉n Thi畉t k畉 Thi畉t k畉 y棚u c畉u m畛m h畛 chi ti畉t th畛ng L畉p k畉 ho畉ch Ki畛m th畛 y棚u ph叩t tri畛n c畉u L畉p K畉 ho畉ch ki畛m tr狸nh th畛 v t鱈ch h畛p Ki畛m th畛 thi畉t k畉 Ki畛m th畛 Ph叩t tri畛n v ki畛m K畉 ho畉ch cho giai o畉n ti畉p T鱈ch h畛p v 董n v畛 ch畛ng s畉n ph畉m Ki畛m th畛 ki畛m th畛 ch畉p nh畉n m畛c ti畉p theo 52
  • 53. Trong m担 h狸nh xo畉n 畛c, quy tr狸nh ph叩t tri畛n ph畉n m畛m 動畛c bi畛u di畛n nh動 m畛t v嘆ng xo畉n 畛c. C叩c pha trong quy tr狸nh ph叩t tri畛n xo畉n 畛c bao g畛m: Thi畉t l畉p m畛c ti棚u: x叩c 畛nh m畛c ti棚u cho t畛ng pha c畛a d畛 叩n. 叩nh gi叩 v gi畉m thi畛u r畛i ro: r畛i ro 動畛c 叩nh gi叩 v th畛c hi畛n c叩c hnh 畛ng 畛 gi畉m thi畛u r畛i ro. Ph叩t tri畛n v 叩nh gi叩: sau khi 叩nh gi叩 r畛i ro, m畛t m担 h狸nh x但y d畛ng h畛 th畛ng s畉 動畛c l畛a ch畛n t畛 nh畛ng m担 h狸nh chung. L畉p k畉 ho畉ch: 叩nh gi叩 d畛 叩n v pha ti畉p theo c畛a m担 h狸nh xo畉n 畛c s畉 動畛c l畉p k畉 ho畉ch. 53
  • 54. 2.3.5.2. M担 h狸nh xo畉n 畛c Nh畉n m畉nh vi畛c 叩nh gi叩 c叩c r畛i ro Ph畉n m畛m 動畛c x但y d畛ng theo nhi畛u chu k畛. M畛i chu k畛 t動董ng 畛ng v畛i m畛t s畉n ph畉m c畛a 1 giai 畛an ph叩t tri畛n X叩c 畛nh c叩c m畛c ti棚u, gi畉i ph叩p, rng bu畛c 叩nh gi叩 c叩c gi畉i ph叩p, x叩c 畛nh c叩c nguy c董 v t狸m c叩ch gi畉i quy畉t ch炭ng Ph叩t tri畛n v ki畛m th畛 s畉n ph畉m c畛a chu k畛 ny L畉p k畉 ho畉ch cho chu k畛 ti畉p theo 54
  • 55. 2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p) Giao ti畉p kh叩ch hng: gi畛a ng動畛i ph叩t tri畛n v kh叩ch hng 畛 t狸m hi畛u y棚u c畉u, 箪 ki畉n L畉p k畉 ho畉ch: X叩c l畉p ti nguy棚n, th畛i h畉n v nh畛ng th担ng tin kh叩c Ph但n t鱈ch r畛i ro: Xem x辿t m畉o hi畛m k畛 thu畉t v m畉o hi畛m qu畉n l箪 Thi畉t k畉: X但y d畛ng m畛t hay m畛t s畛 bi畛u di畛n c畛a 畛ng d畛ng 55
  • 56. 2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p) X但y d畛ng v xu畉t x動畛ng: x但y d畛ng, ki畛m th畛, ci 畉t v cung c畉p h畛 tr畛 ng動畛i d湛ng (t動 li畛u, hu畉n luy畛n, . . .) 叩nh gi叩 c畛a kh叩ch hng: Nh畉n c叩c ph畉n h畛i c畛a ng動畛i s畛 d畛ng v畛 bi畛u di畛n ph畉n m畛m trong giai o畉n k畛 ngh畛 v ci 畉t 56
  • 57. 2.3.5.2. M担 h狸nh xo畉n 畛c (ti畉p) 働u i畛m H畉n ch畉 r畛i ro s畛m Nh畉n 動畛c ph畉n h畛i (feedbacks) t畛 kh叩ch hng s畛m D畛 ki畛m so叩t c叩c m畉o hi畛m 畛 t畛ng m畛c ti畉n h坦a H畉n ch畉 Kh坦 thuy畉t ph畛c kh叩ch hng l ph動董ng ph叩p ti畉n h坦a xo畉n 畛c c坦 th畛 ki畛m so叩t 動畛c Ch動a 動畛c d湛ng r畛ng r達i nh動 c叩c m担 h狸nh tuy畉n t鱈nh ho畉c ch畉 th畛. 57
  • 58. 2.3.5.2. M担 h狸nh xo畉n 畛c M担 h狸nh xo畉n 畛c ph湛 h畛p v畛i C叩c h畛 ph畉n m畛m quy m担 l畛n, c叩c d畛 叩n l畛n, ph畛c t畉p H畛 th畛ng c畉n ph叩t tri畛n nhi畛u phi棚n b畉n C叩c h畛 th畛ng c坦 y棚u c畉u ch動a x叩c 畛nh r探 rng 58
  • 59. 2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN L m担 h狸nh xo畉n 畛c nh畉m th畛a hi畛p gi畛a ng動畛i ph叩t tri畛n v kh叩ch hng, c畉 hai c湛ng Th畉ng (win-win) Kh叩ch th狸 c坦 ph畉n m畛m th畛a m達n y棚u c畉u ch鱈nh Ng動畛i ph叩t tri畛n th狸 c坦 kinh ph鱈 th畛a 叩ng v th畛i gian h畛p l箪 C叩c ho畉t 畛ng ch鱈nh trong vi畛c x叩c 畛nh h畛 th畛ng: X叩c 畛nh c畛 担ng (stakeholders) X叩c 畛nh i畛u ki畛n th畉ng c畛a c畛 担ng Th畛a hi畛p i畛u ki畛n th畉ng c畛a c叩c b棚n li棚n quan 59
  • 60. 2.3.5.3. M担 h狸nh xo畉n 畛c WINWIN 2. X叩c 畛nh i畛u ki畛n 3a. H嘆a h畛p i畛u ki畛n th畉ng th畉ng c畛a c畛 担ng 3b. Thi畉t l畉p m畛c ti棚u m畛c ti畉p v c叩c rng bu畛c, d畛 ki畉n 1. X叩c 畛nh m畛c ti畉p c畛a c畛 担ng 4. 叩nh gi叩 ti畉n tr狸nh v d畛 ki畉n s畉n ph畉m, gi畉i quy畉t r畛i ro 7. X辿t duy畛t v 叩nh gi叩 6. Ki畛m 畛nh s畉n ph畉m 5. X叩c 畛nh m畛c ti畉p c畛a v quy tr狸nh s畉n ph但m v quy tr狸nh, k畛 c畉 ph但n chia nh畛 60
  • 61. 2.3.6. M担 h狸nh ph叩t tri畛n 畛ng th畛i M担 h狸nh ph叩t tri畛n 畛ng th畛i (The concurrent development model): X叩c 畛nh m畉ng l動畛i nh畛ng ho畉t 畛ng 畛ng th畛i (Network of concurrent activities) C叩c s畛 ki畛n (events) xu畉t hi畛n theo i畛u ki畛n v畉n 畛ng tr畉ng th叩i trong t畛ng ho畉t 畛ng D湛ng cho m畛i lo畉i 畛ng d畛ng v cho h狸nh 畉nh kh叩 ch鱈nh x叩c v畛 tr畉ng th叩i hi畛n tr畉ng c畛a d畛 叩n Th動畛ng d湛ng trong ph叩t tri畛n c叩c 畛ng d畛ng kh叩ch/ch畛 (client/server applications): h畛 th畛ng v c叩c thnh ph畉n (componets) trong h畛 th畛ng 動畛c ph叩t tri畛n 畛ng th畛i. 61
  • 62. 2.3.7. M担 h狸nh h動畛ng thnh ph畉n M担 h狸nh h動畛ng thnh ph畉n (Component-based model): G畉n v畛i nh畛ng c担ng ngh畛 h動畛ng 畛i t動畛ng (Object- oriented technologies) qua vi畛c t畉o c叩c l畛p (classes) c坦 ch畛a c畉 d畛 li畛u v gi畉i thu畉t x畛 l箪 d畛 li畛u C坦 nhi畛u t動董ng 畛ng v畛i m担 h狸nh xo畉n 畛c V畛i 動u i畛m t叩i s畛 d畛ng c叩c thnh ph畉n qua Th動 vi畛n / kho c叩c l畛p: ti畉t ki畛m 70% th畛i gian, 80% gi叩 thnh. M担 h狸nh h動畛ng thnh ph畉n s畛 d畛ng UML nh動 m畛t chu畉n c担ng nghi畛p 62
  • 63. 2.3.7. M担 h狸nh h動畛ng thnh ph畉n L畉p k畉 ho畉ch Ph但n t鱈ch r畛i ro X叩c 畛nh thnh ph畉n 畛ng vi棚n Giao ti畉p kh叩ch hng X但y d畛ng T狸m b動畛c l畉p th畛 n thnh ph畉n c畛a h畛 th畛ng t畛 th動 vi畛n 畉t L畉y thnh ph畉n thnh ph畉n vo th動 vi畛n n畉u c坦 K畛 ngh畛 Kh叩ch hng X但y d畛ng & X但y d畛ng 叩nh gi叩 Xu畉t x動畛ng thnh ph畉n n畉u kh.c坦 63
  • 64. 2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i M担 h狸nh ny ph叩t tri畛n 畛nh h動畛ng s畛 d畛ng l畉i (Reuse) H畛 th畛ng 動畛c t鱈ch h畛p t畛 c叩c thnh ph畉n 達 t畛n t畉i hay h畛 th畛ng phi th動董ng m畉i C叩c giai o畉n c畛a ti畉n tr狸nh Ph但n t鱈ch thnh ph畉n C畉i bi畉n c叩c y棚u c畉u Thi畉t k畉 h畛 th畛ng h動畛ng s畛 d畛ng l畉i Ph叩t tri畛n v t鱈ch h畛p 64
  • 65. 2.3.7. M担 h狸nh h動畛ng s畛 d畛ng l畉i Ph叩t tri畛n 畛nh h動畛ng s畛 d畛ng l畉i (2) 畉c t畉 y棚u Ph但n t鱈ch Thay 畛i Thi畉t k畉 HT thnh ph畉n y棚u c畉u d湛ng l畉i c畉u Ph叩t tri畛n v Th畉m 畛nh t鱈ch h畛p h畛 th畛ng H動畛ng ph叩t tri畛n ny r畉t quan tr畛ng nh動ng kinh nghi畛m v c担ng c畛 c嘆n h畉n ch畉 65
  • 66. 2.3.8. M担 h狸nh h畛p nh畉t M担 h狸nh h畛p nh畉t s畛 d畛ng C叩c k畛 thu畉t th畉 h畛 4 (Fourth generation techniques): T畉p h畛p c叩c c担ng c畛 cho ph辿p x叩c 畛nh 畉c t鱈nh ph畉n m畛m 畛 m畛c cao, sau 坦 t畛 畛ng sinh m達 ngu畛n d畛a theo 畉c t畉 坦. C叩c c担ng c畛 4GT i畛n h狸nh: ng担n ng畛 phi th畛 t畛c cho truy v畉n CSDL, t畉o b叩o c叩o, x畛 l箪 d畛 li畛u, t動董ng t叩c mn h狸nh, t畉o m達 ngu畛n, kh畉 nng 畛 h畛a b畉c cao, kh畉 nng b畉ng t鱈nh, kh畉 nng giao di畛n Web. T畛 thu th畉p y棚u c畉u cho 畉n s畉n ph畉m: 畛i tho畉i gi畛a kh叩ch v ng動畛i ph叩t tri畛n l quan tr畛ng. Kh担ng n棚n b畛 qua kh但u thi畉t k畉: 4GT ch畛 叩p d畛ng 畛 tri畛n khai thi畉t k畉 qua 4GL 66
  • 67. 2.3.8. M担 h狸nh h畛p nh畉t Ti畉n tr狸nh h畛p nh畉t c坦 th畛 動畛c nh狸n d動畛i hai g坦c nh狸n kh叩c nhau G坦c nh狸n qu畉 l箪: quan t但m 畉n l挑nh v畛c kinh t畉, chi畉n thu畉t, con ng動畛i. Ti畉n tr狸nh g畛m 4 giai o畉n. G坦c nh狸n k畛 thu畉t: quan t但m 畉n c担ng ngh畛, ki畛m tra ch畉t l動畛ng, ph動董ng ph叩p. Ti畉n tr狸nh g畛m nhi畛u b動畛c l畉p. 67
  • 68. 2.3.8. M担 h狸nh h畛p nh畉t G坦c nh狸n qu畉n l箪 68
  • 69. 2.3.8. M担 h狸nh h畛p nh畉t G坦c nh狸n k畛 thu畉t: c叩c b動畛c l畉p M畛i b動畛c l畉p g畛m c叩c ho畉t 畛ng 畉c t畉 Ph但n t鱈ch Thi畉t k畉 M達 h坦a Ki畛m th畛 Ci 畉t M畛i b動畛c l畉p l m畛t ti畉n tr狸nh th叩c 畛 69
  • 70. 2.3.8. M担 h狸nh h畛p nh畉t G坦c nh狸n k畛 thu畉t 70
  • 71. 2.3.8. M担 h狸nh h畛p nh畉t K畉t h畛p hai g坦c nh狸n 71
  • 72. 2.3.8. M担 h狸nh h畛p nh畉t M担 h狸nh h畛p nh畉t v UML 72
  • 73. 2.3.8. M担 h狸nh h畛p nh畉t 働u i畛m: gi畉m th畛i gian ph叩t tri畛n v tng nng su畉t lao 畛ng. Nh動畛c i畛m: 4GT kh坦 d湛ng h董n ng担n ng畛 l畉p tr狸nh, m達 kh坦 t畛i 動u v kh坦 b畉o tr狸 cho h畛 th畛ng l畛n c畉n k畛 nng c畛a k畛 s動 ph畉n m畛m Trong t動董ng lai: k畉t h畛p 4GT v畛i m担 h狸nh h動畛ng thnh ph畉n. 73
  • 74. K畉t lu畉n Trong th畛c t畉, ng動畛i ta th動畛ng k畉t h畛p nhi畛u m担 h狸nh cho m畛t d畛 叩n 畛i v畛i H畛 th畛ng ph畛c t畉p, c畉n chia d畛 叩n thnh c叩c h畛 th畛ng con p d畛ng m担 h狸nh xo畉n 畛c hay m担 h狸nh h畛p nh畉t cho ton b畛 d畛 叩n. M畛i h畛 th畛ng con c坦 th畛 叩p d畛ng m畛t m担 h狸nh kh叩c nhau p d畛ng m担 h狸nh nguy棚n m畉u cho c叩c h畛 th畛ng con ph畛c t畉p p d畛ng m担 h狸nh th叩c n動畛c cho c叩c h畛 th畛ng con kh叩c 74
  • 75. 2.4. M畛t s畛 l動u 箪 L畛a ch畛n m担 h狸nh Ph畛 thu畛c vo bi to叩n, vo m担i tr動畛ng c畛 th畛 Y棚u c畉u r探 rng: => M担 h狸nh th叩c n動畛c Y棚u c畉u ch動a r探 rng, 畛 ph畛c t畉p cao Y棚u c畉u c坦 kh畉 nng thay 畛i Kh担ng ch畉c ch畉n v畛 t鱈nh hi畛u qu畉, t鱈nh kh畉 thi => Lm b畉n m畉u, m担 h狸nh xo畉n 畛c 75
  • 76. 2.4. M畛t s畛 l動u 箪 T畛 h畛p c叩c m担 h狸nh: C坦 th畛 t畛 h畛p c叩c m担 h狸nh 畛 em l畉i hi畛u qu畉 76
  • 77. 2.4. M畛t s畛 l動u 箪 L畉p ti畉n tr狸nh: M畛i ph畉n c畛a ti畉n tr狸nh 動畛c l畉p theo 2 c叩ch ti畉p c畉n Ph叩t tri畛n tng Ph叩t tri畛n xo畉n 畛c 77
  • 78. 2.4. M畛t s畛 l動u 箪 Chu畉n h坦a ti畉n tr狸nh: Tng nng l畛c c畛a t畛 ch畛c ph叩t tri畛n ph畉n m畛m ISO 9000-03 (International Standards Organization ) CMM (Software Engineering Institute) 78
  • 79. 2.4. M畛t s畛 l動u 箪 Gi畉m chi ph鱈 ph叩t tri畛n: S畛 d畛ng c叩c ph動董ng ph叩p, c担ng c畛 ti棚n ti畉n t叩i s畛 d畛ng: th動 vi畛n th動董ng m畉i,... t畛 sinh m達: c担ng c畛 t畉o giao di畛n,... h動畛ng 畛i t動畛ng: k畉 th畛a, b畉o tr狸 ng担n ng畛 b畉c cao: nng l畛c bi畛u di畛n cao 79
  • 80. 2.4. M畛t s畛 l動u 箪 Th畛c hi畛n c叩c pha ph叩t tri畛n: Pha x叩c 畛nh y棚u c畉u v thi畉t k畉 c坦 vai tr嘆 quy畉t 畛nh 畉n ch畉t l動畛ng ph畉n m畛m, chi畉m ph畉n l畛n c担ng s畛c so v畛i m達 h坦a, ki畛m th畛 Khi chuy畛n ti畉p gi畛a c叩c pha ph叩t tri畛n ph畉i th畉m 畛nh 畛 畉m b畉o l畛i kh担ng 畉nh h動畛ng 畉n pha sau Ti li畛u t畉o ra 畛 m畛i pha kh担ng ch畛 d湛ng cho pha k畉 ti畉p m c嘆n d湛ng 畛 畉m b畉o ch畉t l動畛ng c畛a ph畉n m畛m v d湛ng trong kh但u b畉o tr狸 C畉n chu畉n h坦a m畉u bi畛u, c叩ch th畛c ghi ch辿p, t畉o ti li畛u nh畉m 畉m b畉o ch畉t l動畛ng ph畉n m畛m. 80
  • 81. CU H畛I N T畉P 1. Ph但n bi畛t c叩c m担 h狸nh ti畉n tr狸nh 2. Khi c坦 y棚u c畉u ph叩t tri畛n m畛t h畛 th畛ng: C畉n l動u 箪 g狸 trong vi畛c l畛a ch畛n m担 h狸nh ti畉n tr狸nh L畛a ch畛n m担 h狸nh ph湛 h畛p b畉ng c叩ch no C坦 nh畛ng ch畛 d畉n g狸 trong vi畛c l畛a ch畛n m担 h狸nh 3. X叩c 畛nh ti畉n tr狸nh ph叩t tri畛n nh動 th畉 no? 4. V畉n 畛 chu畉n h坦a ti畉n tr狸nh T狸m hi畛u v vi畉t b叩o c叩o, tr狸nh by v畛 m担 h狸nh ph叩t tri畛n ph畉n m畛m (m畛i nh坦m 1 m担 h狸nh) 81