SlideShare a Scribd company logo
1 of 283
Download to read offline
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
             Khoa Coâng Ngheä Thoâng Tin




                           Moân hoïc

COÂNG NGHEÄ PHAÀN MEÀM



                            - Trang 1 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
GIÔÙI THIEÄU MOÂN HOÏC



Ñaëc ñieåm
     Maõ soá: 501095              Soá tín chæ: 2                Phaân phoái giôø: 2(2.1.4)
     Moân hoïc tröôùc: Toaùn Tin Hoïc (501302)
Toùm taét noäi dung
     Caùc khaùi nieäm cô baûn cuûa Coâng Ngheä Phaàn Meàm: caùc moâ hình phaùt trieån
  phaàn meàm, phaân tích yeâu caàu, thieát keá, kieåm tra…
     2 tröôøng phaùi chính: coù caáu truùc (coå ñieån) & höôùng ñoái töôïng
     Chuaån UML vaø vieäc aùp duïng noù trong phöông phaùp höôùng ñoái töôïng
     Thöïc haønh taïi phoøng Lab: laøm quen vôùi coâng cuï Rational Rose

                                         - Trang 2 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
GIÔÙI THIEÄU MOÂN HOÏC (t.t)

Taøi lieäu tham khaûo
     [1] Software Engineering - A practitioner’s approach, R.S.
  Pressman, McGraw-Hill, 1997
     [2] OMG Unified Modeling Language Specification, version 1.3,
  Object Management Group (www.omg.org), 1999
     [3]UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998
     [4] Object-Oriented Software Engineering, A Use-Case Driven
  Approach, I. Jacobson, ACM Press/Addison-Wesley, 1992
     [5] Object-Oriented Analysis and Design with Applications, G.
  Booch, The Benjamin Cummings Publishing Company, 1994

                             - Trang 3 -
      Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
GIÔÙI THIEÄU MOÂN HOÏC (t.t)

         Hình thöùc ñaùnh giaù

                    Thi giöõa kyø: traéc nghieäm khoâng söû duïng

                taøi lieäu, chieám 20 % keát quaû cuoái cuøng

                    Thi cuoái kyø: traéc nghieäm khoâng söû duïng

                taøi lieäu, chieám 80 % keát quaû cuoái cuøng



                          - Trang 4 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
ÑEÀ CÖÔNG
Chöông 1: Giôùi thieäu veà Coâng Ngheä Phaàn Meàm
Chöông 2: Phaân tích yeâu caàu theo phöông phaùp coå ñieån
Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
Chöông 6: Cô sôû cuûa thieát keá phaàn meàm vaø phöông phaùp thieát keá coå ñieån
Chöông 7: Thieát keá höôùng ñoái töôïng
Chöông 8: Hieän thöïc vaø trieån khai heä thoáng
Chöông 9: Kyõ thuaät kieåm tra phaàn meàm
Chöông 10: Chieán thuaät kieåm tra phaàn meàm

                                         - Trang 5 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
                         Khoa Coâng Ngheä Thoâng Tin




                                      Chöông 1

    GIÔÙI THIEÄU VEÀ
COÂNG NGHEÄ PHAÀN MEÀM
           ✦ Moät soá khaùi nieäm
           ✦ Caùc moâ hình phaùt trieån phaàn meàm



                                          - Trang 6 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
NOÄI DUNG
1.1. Moät soá khaùi nieäm
    1.1.1. Khuûng hoaûng phaàn meàm
    1.1.2. Ñònh nghóa
    1.1.3. Chu trình (process), phöông phaùp (method), coâng cuï (tool)
    1.1.4. Moät caùch nhìn toång quan veà coâng ngheä phaàn meàm
    1.1.5. Moâ hình CMM
1.2. Caùc moâ hình phaùt trieån phaàn meàm
    1.2.1. Moâ hình tuaàn töï tuyeán tính
    1.2.2. Moâ hình prototype
    1.2.3. Moâ hình xoaén oác
    1.2.4. Moâ hình taêng daàn
    1.2.3. Moâ hình RAD
                                               - Trang 7 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
KHUÛNG HOAÛNG PHAÀN MEÀM

                                 Phaàn meàm ñöôïc vieát ngay töø khi

                             xuaát hieän caùc heä maùy tính vaø ngoân

                             ngöõ laäïp trình ñaàu tieân

                                 Treân thöïc teá saûn xuaát phaàn meàm

                             khoâng ñaùp öùng kòp yeâu caàu cuûa

                             ngöôøi söû duïng


                                        - Trang 8 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
KHUÛNG HOAÛNG PHAÀN MEÀM (t.t)
Caùc döõ lieäu quan saùt ñöôïc
        Cöù 6 ñeà aùn trieån khai thì coù 2 bò huyû boû
        Trung bình thôøi gian thöïc hieän thöïc teá bò keùo daøi 50 % (caù bieät 200-
     300%)
        Caùc ñeà aùn lôùn deã thaát baïi
        3/4 caùc heä thoáng lôùn coù loãi khi thöïc thi
        Quaù trình phaân tích yeâu caàu (5 % coâng söùc): ñeå laïi 55 % loãi, coù 18 %
     phaùt hieän ñöôïc
        Quaù trình thieát keá (25 % coâng söùc): ñeå laïi 30 % loãi, coù 10 % phaùt hieän
     ñöôïc
        Quaù trình maõ hoaù, kieåm tra vaø baûo trì: ñeå laïi 15 % loãi, coù 72 % phaùt hieän
     ñöôïc

                                                - Trang 9 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
KHUÛNG HOAÛNG PHAÀN MEÀM (t.t)
Nguyeân nhaân
      Phaùt trieån phaàn meàm gioáng nhö moät ngheä thuaät, chöa ñöôïc xem nhö moät

   ngaønh khoa hoïc

     Quaù trình phaùt trieån phaàn meàm chöa ñöôïc thoáng nhaát

      Phaûi vieát laïi s/w moãi khi coù söï thay ñoåi veà ngoân ngöõ, h/w hoaëc o/s

      Chöa ñaït ñöôïc 1 chuaån cho vieäc ño löôøng hieäu suaát vaø saûn phaåm

     Ñoä phöùc taïp cuûa phaàn meàm quaù cao ñoái vôùi 1 “kieán truùc sö”

     Kyõ thuaät ñaëc taû ñeå laïi söï nhaäp nhaèng trong caùc yeâu caàu phaàn meàm

      Laøm vieäc nhoùm khoâng ñuùng kyû luaät gaây ra caùc loãi

                                              - Trang 10 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
KHUÛNG HOAÛNG PHAÀN MEÀM (t.t)

Höôùng tôùi coâng ngheä saûn xuaát phaàn meàm chuyeân nghieäp

                                                      science
                production                                                professional
                                                                          engineering
                                      commercialization
              craft




                                              - Trang 11 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
ÑÒNH NGHÓA

Ñònh nghóa coå ñieån (cuûa Fritz Bauer)

Coâng Ngheä Phaàn Meàm laø söï thieát laäp vaø söû duïng caùc nguyeân taéc

khoa hoïc nhaèm muïc ñích taïo ra caùc phaàn meàm moät caùch kinh teá maø

caùc phaàn meàm ñoù hoaït ñoäng hieäu quaû vaø tin caäy treân caùc maùy tính.




                                               - Trang 12 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
ÑÒNH NGHÓA (t.t)

Ñònh nghóa khaùc: Coâng Ngheä Phaàn Meàm
      Laø caùc quy trình ñuùng kyû luaät vaø coù ñònh löôïng ñöôïc aùp duïng
    cho söï phaùt trieån, thöïc thi vaø baûo trì caùc heä thoáng thieân veà phaàn
    meàm
      Taäp trung vaøo quy trình, söï ño löôøng, saûn phaåm, tính ñuùng
    thôøi gian vaø chaát löôïng




                                             - Trang 13 -
      Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
CHU TRÌNH

Chu trình (process) ñònh nghóa moät boä khung caùc tieâu

chuaån phaûi ñöôïc thieát laäp ñeå trieån khai coâng ngheä phaàn

meàm.




                                               - Trang 14 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
PHÖÔNG PHAÙP

Phöông phaùp (method) chæ ra caùch thöïc hieän nhöõng coâng
vieäc cuï theå (“how to”):
       phaân tích yeâu caàu
       thieát keá
       xaây döïng chöông trình
       kieåm tra
       söûa loãi
       ...
                                               - Trang 15 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
COÂNG CUÏ

                              Coâng cuï (tool) cung caáp caùc hoã trôï töï

                          ñoäng hay baùn töï ñoäng ñoái vôùi chu trình vaø

                          phöông phaùp

                              Caùc coâng cuï ñöôïc tích hôïp taïo thaønh

                          CASE (Computer Aided Software

                          Engineering)


                                       - Trang 16 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÄT CAÙCH NHÌN TOÅNG QUAN VEÀ CNPM

 Goàm 3 giai ñoaïn lôùn
        Giai ñoaïn ñònh nghóa: Phaân tích heä thoáng (system engineering), Hoaïch

     ñònh ñeà taøi (software project management), Phaân tích yeâu caàu (requirement

     analysis).

        Giai ñoaïn phaùt trieån: Thieát keá phaàn meàm (software design), sinh maõ

     (code generation), kieåm tra phaàn meàm (software testing)

        Giai ñoaïn baûo trì: Söûa loãi (correction), thay ñoåi moâi tröôøng thöïc thi

     (adaptation), taêng cöôøng (enhancement)


                                               - Trang 17 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH CMM

                                                                            Optimized
                                                                             (Level 5)

              Risk                                        Managed
                                                          (Level 4)
                                       Defined
                                      (Level 3)
                  Repeatable
                   (Level 2)
  Initial                                            Competitiveness
(Level 1)


                                       - Trang 18 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
CAÙC MOÂ HÌNH PHAÙT TRIEÅN PHAÀN MEÀM

   Moâ hình tuaàn töï tuyeán tính: coå ñieån

   Moâ hình prototyping: prototype

   Moâ hình xoaén oác: ñaùnh giaù ruûi ro

   Moâ hình taêng daàn: caùc böôùc laëp

   Moâ hình RAD: thôøi gian phaùt trieån ngaén


                                           - Trang 19 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH TUAÀN TÖÏ TUYEÁN TÍNH

                           Requirement            Software
System Engineering                                                   Coding          Test         Maintenance
                             Analysis              Design




     Moâ hình phaùt trieån phaàn meàm ñaàu tieân

     Caùc coâng vieäc tieáp noái nhau moät caùch tuaàn töï

     Ñaët neàn moùng cho caùc phöông phaùp phaân tích, thieát keá, kieåm

  tra…


                                                  - Trang 20 -
           Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH TUAÀN TÖÏ TUYEÁN TÍNH (t.t)

Boäc loä moät soá khuyeát ñieåm
       Baûn chaát cuûa phaùt trieån phaàn meàm laø quaù trình laëp ñi laëp laïi chöù khoâng

    phaûi tuaàn töï

       Baét buoäc khaùch haøng ñaëc taû taát caû yeâu caàu moät caùch chính xaùc vaø ñaày ñuû

    ngay töø ban ñaàu

       Khaùch haøng thöôøng phaûi chôø ñôïi raát laâu ñeå thaáy ñöôïc phieân baûn ñaàu tieân

    cuûa saûn phaåm

       Toàn taïi “delay” trong nhoùm laøm vieäc



                                              - Trang 21 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH PROTOTYPING
                                                         Prototype nhö laø moät cô cheá ñeå
                            Xaây döïng
                            prototype                  nhaän dieän chính xaùc yeâu caàu cuûa
                                                       khaùch haøng
Thaûo luaän vôùi
                                                         Prototype coù theå bò “throw-away”
 khaùch haøng                                            Moät soá khuyeát ñieåm
                                                               Khaùch haøng hoái thuùc nhaø
                                                            phaùt trieån hoaøn thaønh saûn phaåm
                        Ñaùnh giaù cuûa                     moät khi thaáy ñöôïc caùc prototype
                         khaùch haøng
                                                            ñaàu tieân
                                                               Caùc prototype thöôøng khoâng
                                                            hoaït ñoäng hieäu quaû
                                                    - Trang 22 -
             Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH XOAÉN OÁC
                                                        R



                                         Ñònh nghóa          Ñaùnh giaù
                                          quy trình            ruûi ro
                                                                                       R
                                          Hoaïch ñònh       Phaùt trieån saûn phaåm
                                            ñeà taøi         ôû laàn laëp tieáp theo


                                                        R



  Ñöôïc thöïc hieän theo moät chuoãi laëp kieåu xoaén oác, moãi laàn laëp caûi
thieän saûn phaåm
  Coù phöông phaùp ñaùnh giaù ruûi ro
  Coù theå aùp duïng prototype
  Moãi laàn laëp ñöôïc caûi thieän cho thích nghi vôùi baûn chaát cuûa ñeà aùn
                                              - Trang 23 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH TAÊNG DAÀN

Phaân tích yeâu caàu


                                                                              Thieát keá kieán truùc
   1
                                                                              Phaùt trieån module

                  2                                                                Tích hôïp


                                  3


                                                  4



                                                      Kieåm tra heä thoáng




                                                - Trang 24 -
         Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH TAÊNG DAÀN (t.t)
  Caùc böôùc (iteration) ñaàu taäp trung vaøo yeâu caàu cuûa phaàn meàm vaø
thieát laäp moät kieán truùc oån ñònh cho heä thoáng (ít phaûi thay ñoåi sau
naøy)
  Caùc böôùc sau taäp trung vaøo vieäc xaây döïng saûn phaåm ñeå cuoái
cuøng chuyeån sang giai ñoaïn kieåm tra heä thoáng
  Moãi böôùc hieän thöïc moät phaàn cuï theå trong toaøn boä yeâu caàu cuûa
heä thoáng
  Quaù trình xaây döïng vaø chieán thuaät kieåm tra theo kieåu taêng daàn
vaø döïa treân phöông phaùp kieåm tra hoài quy.
                                               - Trang 25 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
MOÂ HÌNH RAD

                                                                              Application         Testing &
Business modeling         Data modeling           Process modeling
                                                                              generation          Turnover



   Rapid Application Development laø moâ hình tuaàn töï tuyeán tính coù

thôøi gian phaùt trieån raát ngaén

   Söû duïng caùc thaønh phaàn coù saün caøng nhieàu caøng toát

   Söû duïng coâng cuï laäp trình ôû daïng töï ñoäng sinh maõ chöù khoâng

phaûi caùc ngoân ngöõ truyeàn thoáng

                                                  - Trang 26 -
           Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
                            Khoa Coâng Ngheä Thoâng Tin




                                          Chöông 2

PHAÂN TÍCH YEÂU CAÀU THEO
 PHÖÔNG PHAÙP COÅ ÑIEÅN
                          ✦ Moâ hình phaân tích
                          ✦ DFD & STD
                          ✦ Töø ñieån döõ lieäu




                                               - Trang 27 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
GIÔÙI THIEÄU
                         Khaùch haøng vaø nhaø phaùt trieån gaëp nhau ñeå thaûo

                     luaän veà yeâu caàu cuûa heä thoáng phaàn meàm caàn xaây

                     döïng

                         Nhaø phaùt trieån kieåm chöùng laïi (validate) yeâu caàu

                     vaø bieåu dieãn noù baèng moâ hình phaân tích

                         Moâ hình phaân tích (WHAT?): caùc chöùc naêng, döõ

                     lieäu input & output, caùc traïng thaùi khaùc nhau...

                                              - Trang 28 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
NOÄI DUNG
2.1. Caùc yeáu toá caên baûn cuûa moâ hình phaân tích
2.2. Moâ hình chöùc naêng vaø doøng thoâng tin
    2.2.1. Löôïc ñoà doøng chaûy döõ lieäu vôùi caùc kyù hieäu cô baûn
    2.2.2. Môû roäng cuûa Ward vaø Mellor
    2.2.3. Môû roäng cuûa Hatley & Pirbhai
2.3. Moâ hình haønh vi phaàn meàm
2.4. Kyõ thuaät phaân tích yeâu caàu
    2.4.1. Xaây döïng DFD
    2.4.2. Vieát PSPEC
2.5. Töø ñieån döõ lieäu
                                                  - Trang 29 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
CAÙC YEÁU TOÁ CAÊN BAÛN CUÛA MOÂ HÌNH PHAÂN TÍCH
 Ñaëc taû                                               Process Specification (PSPEC)
ñoái töôïng
 döõ lieäu

                                                                                Moâ hình chöùc naêng vaø

                                                                            doøng thoâng tin: DFD, PSPEC
                  Löu ñoà                        Löu ñoà
                  quan heä                      doøng chaûy
                  thöïc theå      Töø ñieån
                                                  döõ lieäu
                                                                                Moâ hình döõ lieäu: ERD,
                                  döõ lieäu

                                                                            ñaëc taû ñoái töôïng döõ lieäu
                                  Löu ñoà
                               dòch chuyeån
                                 traïng thaùi                                   Moâ hình haønh vi: STD,

                      Control Specification (CSPEC)                         CSPEC

                                                            - Trang 30 -
              Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
MOÂ HÌNH CHÖÙC NAÊNG VAØ DOØNG THOÂNG TIN

   Moâ taû doøng thoâng tin di chuyeån (flow) xuyeân qua caùc heä thoáng

 thieân veà phaàn meàm.

   Thoâng tin input cuõng nhö output coù theå ôû nhieàu daïng khaùc nhau:

 file, baøn phím, treân maïng, töø thieát bò, keát xuaát ra maøn hình vaø maùy

 in…

   Caùc giaûi thuaät xöû lyù cuõng raát ña daïng



                                                     - Trang 31 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
MOÂ HÌNH CHÖÙC NAÊNG VAØ DOØNG THOÂNG TIN (t.t)

   Löu ñoà doøng chaûy döõ lieäu DFD (Data Flow Diagram) cung caáp 4

 kyù hieäu cô baûn ñeå moâ hình söï di chuyeån cuûa doøng thoâng tin


   DFD ñöôïc môû roäng ñeå moâ hình caùc heä thoáng thôøi gian thöïc

         Môû roäng cuûa Ward vaø Mellor (töï ñoïc: [1], trang 312)

         Môû roäng cuûa Hatley & Pirbhai (töï ñoïc: [1], trang 315)




                                                   - Trang 32 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
LÖÔÏC ÑOÀ DOØNG CHAÛY DÖÕ LIEÄU (DFD)
 4 phaàn töû chính
       Thöïc theå: taïo ra hoaëc tieâu thuï thoâng tin, naèm beân ngoaøi bieân giôùi cuûa
   phaïm vi thoâng tin heä thoáng
        Chöùc naêng xöû lyù: thöïc hieän chöùc naêng naøo ñoù, tieâu thuï vaø taïo ra thoâng
   tin, naèm beân trong phaïm vi thoâng tin heä thoáng
       Thoâng tin hay döõ lieäu
       Kho döõ lieäu: löu tröõ döõ lieäu maø ñöôïc söû duïng bôûi nhieàu chöùc naêng xöû lyù



                             Chöùc naêng                                                Kho döõ lieäu
  Thöïc theå
                               xöû lyù                       Döõ lieäu




                                                 - Trang 33 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
LÖÔÏC ÑOÀ DOØNG CHAÛY DÖÕ LIEÄU (t.t)
DFD ñöôïc xaây döïng qua nhieàu möùc khaùc nhau: möùc 0, 1, 2…
DFD möùc sau chi tieát hôn möùc tröôùc
Process Specification (PSPEC) boå sung cho DFD
Tính lieân tuïc cuûa doøng döõ lieäu




                                                - Trang 34 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
MOÂ HÌNH HAØNH VI PHAÀN MEÀM
   Ñaày giaáy vaø saün saøng                             Raûnh
    ————————
       Yeâu caàu copy
                                                   ————————
                                                   Yeâu caàu ñoïc leänh
                                                                                   Löôïc ñoà dòch chuyeån
                               Ñoïc leänh

           Copy xong
                                                                               traïng thaùi (STD) theå hieän
        ————————                                    Ñaày giaáy
        Yeâu caàu ñoïc leänh                   ————————                                   Caùc traïng thaùi khaùc
                                               Yeâu caàu ñoïc leänh
                                                                                      nhau cuûa heä thoáng
Thöïc hieän                                               Naïp giaáy
  copy                          Heát giaáy
                                                                                          Söï dòch chuyeån giöõa
                           ————————
                           Yeâu caàu naïp giaáy                                       caùc traïng thaùi ñoù

                                                                                   Ví duï: mieâu taû hoaït
          Keït giaáy                                      Heát keït giaáy
      ————————                                          ————————               ñoäng cuûa maùy photocopy
      Yeâu caàu xöû lyù loãi                            Yeâu caàu ñoïc leänh
                                Xöû lyù loãi


                                                        - Trang 35 -
          Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
KYÕ THUAÄT PHAÂN TÍCH YEÂU CAÀU
  Thieát laäp ñoaïn vaên mieâu taû chöùc naêng (processing narrative) cho

heä thoáng caàn xaây döïng

  Xaây döïng DFD ôû caùc möùc khaùc nhau
        Thieát laäp sô ñoà ngöõ caûnh (DFD möùc 0)

        Phaân hoaïch DFD vaøo caùc möùc cao hôn

        Söû duïng phöông phaùp duyeät vaên phaïm.

        Luoân luoân tuaân theo tính lieân tuïc cuûa doøng döõ lieäu

  Vieát PSPEC cho caùc chöùc naêng cuûa DFD möùc cao nhaát

                                                  - Trang 36 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
XAÂY DÖÏNG DFD
Phaàn meàm SafeHome: Thieát laäp ñoaïn vaên mieâu taû xöû lyù
DFD möùc ngöõ caûnh: nhaän dieän caùc thöïc theå vaø döõ lieäu input, output

Baûng ñieàu khieån
                            Leänh vaø döõ lieäu               Thoâng tin hieån thò            Maøn hình




                                           SafeHome                Kieåu baùo ñoäng
                                                                                            Chuoâng
            Traïng thaùi caûm öùng
                                                                       Taàn soá cuûa soá ñieän thoaïi

  Boä caûm öùng
                                                                                      Ñöôøng ñieän thoaïi

                                                   - Trang 37 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
XAÂY DÖÏNG DFD (t.t)
Baûng ñieàu khieån                                                                                    DFD möùc 1:
                                  Yeâu caàu
                                                  Caáu hình
Leänh vaø döõ lieäu               caáu hìnhh      heä thoáng
                                                                                                    hình thaønh
                                                                                                    moät soá chöùc
                       Töông taùc
                        vôùi user
                                                                         Thoâng soá caáu hình       naêng chính
                                     Start/stop
                                                                                                          Maøn hình
                                                   Caám/
               Maät maõ                           Cho pheùp
                                                                  Thoâng baùo a/d
                                                                                                     Thoâng tin hieån thò
                       Xöû lyù                    Xaùc nhaän maät maõ              Hieån thò
                      maät maõ
                                                        Thoâng tin caûm öùng

                                          Theo doõi                                      Kieåu baùo ñoäng
                                                                                                                Chuoâng
         Traïng thaùi caûm öùng           caûm öùng
                                                                        Taàn soá cuûa soá ñieän thoaïi
 Boä caûm öùng
                                                                                                  Ñöôøng ñieän thoaïi

                                                         - Trang 38 -
           Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
XAÂY DÖÏNG DFD (t.t)
                                                                              Thoâng tin caûm öùng
                                                                                                          DFD möùc 2:
                                                              Ñònh daïng                             tinh cheá chöùc
      Thoâng soá caáu hình                                     hieån thò
                                                                                                     naêng “Theo
                                           Id, type, vò trí
                   Döõ lieäu caáu hình                                                               doõi caûm öùng”
                                            Thieát laäp
                                                                   Id, type        Taïo tín hieäu
                                            ñieàu kieän
                                                                                     chuoâng      Kieåu baùo ñoäng
                               Id, type     baùo ñoäng
                                                              Soá ñieän thoaïi
                                                                                                                  Chuoâng
                     Ñoïc döõ lieäu
                      caûm öùng                                            Quay soá
Traïng thaùi caûm öùng
                                                                                         Taàn soá cuûa soá ñieän thoaïi


  Boä caûm öùng
                                                                                              Ñöôøng ñieän thoaïi

                                                           - Trang 39 -
             Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
VIEÁT PSPEC

Coù theå vieát PSPEC baèng moät trong 2 caùch
     Ngoân ngöõ töï nhieân (töông töï processing narrative)

      Ngoân ngöõ PDL - laø ngoân ngöõ giaû giuùp theå hieän kieán truùc vaø

 giao tieáp cuûa chöùc naêng xöû lyù




                                               - Trang 40 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
TÖØ ÑIEÅN DÖÕ LIEÄU
    Nhieàu phaàn töû ñöôïc taïo ra trong moâ hình phaân tích: döõ lieäu, chöùc
naêng, ñieàu khieån…
    Phaûi coù moät caùch thöùc quaûn lyù caùc phaàn töû ñoù sao cho hieäu quaû:
töø ñieån döõ lieäu
    Ñònh nghóa:
     Töø ñieån döõ lieäu laø moät danh saùch coù toå chöùc cuûa taát caû caùc phaàn töû döõ lieäu caàn thieát
     cho heä thoáng. Caùc phaàn töû ñöôïc ñònh nghóa chính xaùc vaø chaët cheõ sao cho caû phaân
     tích vieân vaø khaùch haøng cuøng chia seû moät suy nghó veà chuùng.
   Töø ñieån döõ lieäu thöôøng ñöôïc hieän thöïc nhö laø moät phaàn cuûa coâng
cuï CASE.
   Moãi phaàn töû bao goàm nhöõng thoâng tin: teân, bí danh, ñöôïc duøng ôû
ñaâu/nhö theá naøo, ñaëc taû noäi dung vaø thoâng tin phuï trôï
                                                   - Trang 41 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
TÖØ ÑIEÅN DÖÕ LIEÄU (t.t)
Ví duï phaàn töû döõ lieäu soá ñieän thoaïi
        Teân: Soá ñieän thoaïi
        Bí danh: Khoâng
        Ñöôïc duøng ôû ñaâu/nhö theá naøo: output cuûa Thieát laäp ñieàu kieän baùo ñoäng
                                           input cuûa Quay soá
        Ñaëc taû noäi dung:
              soá ñieän thoaïi = [ môû roäng ñòa phöông | soá beân ngoaøi ]
              môû roäng ñòa phöông = [ 2001 | 2002 … | 2009 ]
              soá beân ngoaøi = 9 + [ soá ñòa phöông | soá ñöôøng daøi ]
              soá ñòa phöông = tieàn toá + <chuoãi 4 kyù soá>
              soá ñöôøng daøi = (1) + maõ vuøng + soá ñòa phöông
              tieàn toá = [ 795 | 799 | 874 | 877 ]


                                                  - Trang 42 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
TOÅNG KEÁT
                     Phaân tích yeâu caàu theo pp coå ñieån bao goàm: moâ
                 hình chöùc naêng vaø doøng thoâng tin (DFD), moâ hình döõ
                 lieäu (ERD) vaø moâ hình haønh vi (STD)
                     Löôïc ñoà DFD cô baûn coù 4 kyù hieäu vaø noù ñöôïc môû
                 roäng ñeå bieåu dieãn ñöôïc caùc heä thoáng thôøi gian thöïc
                     Xaây döïng DFD möùc 0 roài ñeán caùc möùc cao hôn;
                 chuù yù baûo toaøn tính lieân tuïc cuûa doøng döõ lieäu
                     Töø ñieån döõ lieäu giuùp quaûn lyù vaø tra cöùu caùc phaàn töû
                 döõ lieäu
                                              - Trang 43 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
                  Khoa Coâng Ngheä Thoâng Tin



                                  Chöông 3

CAÙC KHAÙI NIEÄM CÔ BAÛN CUÛA
MOÂ HÌNH HÖÔÙNG ÑOÁI TÖÔÏNG
    ✦ Lôùp vaø ñoái töôïng, söï ñoùng bao
    ✦ Thuoäc tính, taùc vuï, thoâng ñieäp
    ✦ Bao goäp, thöøa keá
    ✦ Tính ña hình, tính vónh cöûu



                                   - Trang 44 -
          Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
         Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
NOÄI DUNG

3.1. Ñoái töôïng vaø lôùp, ñoùng bao
3.2. Thuoäc tính
3.3. Taùc vuï
3.4. Thoâng ñieäp
3.5. Bao goäp
3.6. Thöøa keá vaø override
3.7. Tính ña hình
3.8. Tính vónh cöûu
                                      - Trang 45 -
             Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
            Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
GIÔÙI THIEÄU
   Moâ hình höôùng ñoái töôïng giôùi thieäu moät quan ñieåm laäp trình (vaø

phaân tích/thieát keá) khaùc haún so vôùi tröôøng phaùi coå ñieån (coù caáu

truùc)

   Baét ñaàu nhen nhoùm vaøo nhöõng naêm cuoái 60s vaø ñeán ñaàu 90s trôû

neân raát phoå bieán trong coâng nghieäp phaàn meàm

   Nhöõng ngoân ngöõ höôùng ñoái töôïng ñaàu tieân: Smalltalk, Eiffel. Sau

ñoù xuaát hieän theâm: Object Pascal, C++, Java…

   Hình thaønh caùc phöông phaùp phaân tích/thieát keá höôùng ñoái töôïng
                                           - Trang 46 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                 Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
ÑOÁI TÖÔÏNG vaø LÔÙP
  Moâ hình höôùng ñoái töôïng quan nieäm theá giôùi bao goàm caùc ñoái

töôïng (object) sinh soáng vaø töông taùc vôùi nhau

  Ñoái töôïng bao goàm
       döõ lieäu: mang moät giaù trò nhaát ñònh

       taùc vuï: thöïc hieän moät coâng vieäc naøo ñoù




                                            - Trang 47 -
                   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                  Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
ÑOÁI TÖÔÏNG vaø LÔÙP (t.t)

   Lôùp (class) ñònh nghóa moät taäp hôïp caùc taùc vuï vaø thuoäc tính maø

ñaëc taû ñaày ñuû caáu truùc vaø haønh vi cuûa caùc ñoái töôïng.

  Ñoái töôïng (coøn goïi laø minh duï (instance) ) ñöôïc cuï theå hoaù töø lôùp

  Caùc ngoân ngöõ laäp trình höôùng ñoái töôïng

        Khai baùo lôùp: töông töï nhö khai baùo moät kieåu do ngöôøi duøng ñònh nghóa

        Khai baùo ñoái töôïng: bieán cuûa kieåu lôùp


                                             - Trang 48 -
                    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                   Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
ÑOÙNG BAO
             Circle                                                c1 : Circle
    # Radius: float                                         Radius = 1.3
    - x: float                                              x = 3.2
    - y: float                                              y = 1.7
    + Draw( w: Window)
    + GetClass( ): String

  Ñoùng bao: vieäc goäp thuoäc tính vaø taùc vuï trong moät ñoái töôïng

ñoàng thôøi giôùi haïn caùch truy xuaát caùc thuoäc tính ñoù (thöôøng phaûi

thoâng qua caùc taùc vuï get/set)
                                           - Trang 49 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                 Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THUOÄC TÍNH

   Thuoäc tiùnh (attribute) laø moät vuøng coù theå chöùa döõ lieäu (ñôn hoaëc

toå hôïp) cuûa lôùp.

   Döõ lieäu maø thuoäc tính theå hieän naèm trong moät khoaûng giaù trò naøo

ñoù ñöôïc xaùc ñònh bôûi kieåu.

   Giaù trò cuûa taát caû thuoäc tính xaùc ñònh traïng thaùi cuûa ñoái töôïng

        Ví duï: moät ñoái töôïng cuûa Circle coù (Radius, x, y) = (1.2, 3.4, 5.3)


                                            - Trang 50 -
                   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                  Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THUOÄC TÍNH (t.t)
  Thuoäc tính coù theå bò che daáu hoaëc truy xuaát ñöôïc töø beân ngoaøi

         Moät soá ngoân ngöõ laäp trình (vaø UML): public, protected, private

  Coù 2 loaïi taàm vöïc
        Taàm vöïc lôùp: thuoäc tính chung cho taát caû caùc ñoái töôïng cuûa moät lôùp

        Taàm vöïc ñoái töôïng: thuoäc tính cuûa töøng ñoái töôïng (coù theå mang giaù trò

     khaùc nhau)

  Baäc cuûa thuoäc tính chæ ra soá löôïng döõ lieäu maø baûn thaân thuoäc tính

coù theå naém giöõ: 0..1, 1, *, 5..8
                                             - Trang 51 -
                    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                   Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TAÙC VUÏ

  Taùc vuï (operation) laø moät dòch vuï coù theå yeâu caàu töø phía ñoái

töôïng ñeå thöïc hieän haønh vi.

  Daáu hieäu nhaän daïng cuûa taùc vuï (signature) xaùc ñònh caùc thoâng soá

coù theå truyeàn cuõng nhö keát quaû traû veà.

  Phöông thöùc (method) laø phaàn hieän thöïc cuûa taùc vuï



                                           - Trang 52 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                 Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TAÙC VUÏ (t.t)
Taùc vuï coù theå bò che daáu hoaëc truy xuaát ñöôïc töø beân ngoaøi
     Moät soá ngoân ngöõ laäp trình (vaø UML): public, protected, private

Taùc vuï coù theå ñöôïc override trong caùc lôùp con thöøa keá
     Tröøu töôïng (abstract): khoâng coù hieän thöïc

Moät soá ngoân ngöõ laäp trình cho pheùp ñònh nghóa

     Taùc vuï khôûi taïo (constructor): ñöôïc goïi khi ñoái töôïng môùi taïo ra

     Taùc vuï huûy (destructor): ñöôïc goïi khi ñoái töôïng saép bò huyû boû


                                          - Trang 53 -
                 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
VÍ DUÏ veà LÔÙP/ÑOÁI TÖÔÏNG - JAVA
class abstract HTMLObject {
    protected static final int LEFT = 0;
    protected static final int MIDDLE = 1;
    protected static final int RIGHT = 2;
    private int alignment = LEFT;
    protected Vector objects = null;
    HTMLObject( ){         // constructor
        objects = new Vector ( 5 );
    }
    public void setAlignment( int algnmt ) {
        alignment = algnmt;
    }
    public int getAlignment( ) {
        return alignment;
    }
    public abstract String toHTML( ); // abstract operation
}

                                       - Trang 54 -
              Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
             Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THOÂNG ÑIEÄP

   Thoâng ñieäp laø moät pheùp goïi taùc vuï ñeán moät ñoái töôïng

cuï theå.

   Thoâng ñieäp bao goàm 3 phaàn

       Ñoái töôïng ñích

        Daáu hieäu nhaän daïng cuûa taùc vuï muoán goïi

        Danh saùch thoâng soá goïi

                                          - Trang 55 -
                 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THOÂNG ÑIEÄP (t.t)
Ñoái vôùi caùc ngoân ngöõ laäp trình

     Ñoái töôïng ñích: bieán ñoái töôïng hoaëc baûn thaân ñoái töôïng muoán göûi thoâng

  ñieäp (self, this)

     Daáu hieäu nhaän daïng cuûa taùc vuï muoán goïi: teân taùc vuï truøng nhau           xem caùc

  thoâng soá goïi

     Danh saùch thoâng soá goïi: nhö pheùp goïi haøm bình thöôøng, chuù yù kieåu khi

  truyeàn vaø gaùn keát quaû traû veà

     Ví duï: aCircle.SetRadius( 3 );                   aCircle.Draw( pWnd );

                                              - Trang 56 -
                     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                    Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
BAO GOÄP

Bao goäp (aggregation) laø quan heä giöõa hai ñoái töôïng

Moät ñoái töôïng bao laáy ñoái töôïng kia

Quan heä naøy thöôøng xaûy ra trong theá giôùi thöïc, ví duï

     Xe hôi bao goàm: baùnh xe, ñoäng cô, khung xe...

     Trang HTML bao goàm: text, hình aûnh, tieâu ñeà, caùc lieân keát...

     Checkbox, ComboBox, Slider… naèm trong moät hoäp thoaïi


                                         - Trang 57 -
                Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
               Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
BAO GOÄP (t.t)

Hai daïng lieân keát giöõa ñoái töôïng nguoàn vaø ñoái töôïng ñích

     Chaët cheõ: ñoái töôïng ñích ñöôïc taïo ra vaø huyû ñi ñoàng thôøi vôùi ñoái töôïng

  nguoàn

     Loûng leûo: chu kyø soáng cuûa hai ñoái töôïng ñoäc laäp nhau


Quan heä bao goäp cuõng ñöôïc aùp duïng cho lôùp

Moät soá ngoân ngöõ laäp trình hoã trôï caû 2 daïng lieân keát: bieán & con troû


                                          - Trang 58 -
                 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
VÍ DUÏ veà BAO GOÄP - C++
class Geometry {         // abstract base class
public:
    Geometry( );
    ~Geometry( );
    virtual void Draw( Window *pWnd ) = 0; // abstract operation

protected:
    int      xPos, yPos;
    double xScale, yScale;
    COLORREF     color;
};
class Group : public Geometry {
public:
    Group( );
    ~Group( );
    virtual void Draw( Window *pWnd ); // override
private:
    Geometry     **ppGeo;    // pointer container
    int      geoCount;
};
                                       - Trang 59 -
              Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
             Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THÖØA KEÁ vaø OVERRIDE
  Thöøa keá (inheritance) laø quan heä giöõa hai lôùp
  Lôùp con thöøa höôûng taát caû thuoäc tính vaø taùc vuï cuûa lôùp cha
  Lôùp con (subclass) laø cuï theå hoaù cuûa lôùp cha (superclass); lôùp cha
laø toång quaùt hoaù cuûa lôùp con
  Quan heä naøy cuõng thöôøng ñöôïc ghi nhaän trong theá giôùi thöïc, ví
duï
        Hoå, baùo, soùi ñeàu laø thuù
        Button, Checkbox vaø Dialog ñeàu laø Window
        Hình troøn, hình chöõ nhaät, hình ellipse ñeàu laø hình veõ 2D.

                                              - Trang 60 -
                     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                    Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THÖØA KEÁ vaø OVERRIDE (t.t)

Hai loaïi thöøa keá: ñôn thöøa keá vaø ña thöøa keá

Ñôn thöøa keá: moãi lôùp con coù nhieàu nhaát laø moät lôùp cha

Ña thöøa keá:

     Moãi lôùp con coù moät hoaëc nhieàu lôùp cha

     Naûy sinh hai vaán ñeà: ñuïng ñoä giöõa teân caùc thaønh phaàn (member) cuûa lôùp

  cha vaø thöøa keá laïi



                                           - Trang 61 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                 Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
THÖØA KEÁ vaø OVERRIDE (t.t)

  Lôùp con coù theå override laïi moät soá taùc vuï cuûa lôùp cha.

  Phaûi giöõa nguyeân daáu veát nhaän daïng (signature) cuûa taùc vuï bò

override; chæ ñöôïc thay ñoåi phöông thöùc (phaàn hieän thöïc) cuûa noù

  Ña soá ngoân ngöõ laäp trình höôùng ñoái töôïng hoã trôï thöøa keá

  Moät soá ngoân ngöõ ñöa ra khaùi nieäm phöông thöùc aûo (virtual)



                                          - Trang 62 -
                 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
VÍ DUÏ veà THÖØA KEÁ vaø OVERRIDE - JAVA
class HTMLDocument extends HTMLObject {
    private String title = null;
    // other attributes...
    HTMLDocument( ){
    }
    public void setTitle( String ttl ) {
        if ( ttl != null )
            title = ttl;
    }
    public String getTitle( ) {
        return title;
    }
    public String toHTML( ) { // override
        StringBuffer   html = new StringBuffer;
        // additional implementation...
        return html.toString( );
    }
}
                                       - Trang 63 -
              Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
             Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TÍNH ÑA HÌNH
  Moät ñoái töôïng mang nhieàu boä maët khaùc nhau: cuûa chính lôùp ñaëc

taû noù vaø cuûa caùc lôùp cha            tính ña hình (polymorphism)

  Töông hôïp kieåu: kieåu cuûa lôùp con luoân töông hôïp vôùi kieåu lôùp

cha

  Moät soá ngoân ngöõ laäp trình ñònh nghóa khaùi nieäm lieân keát muoän
         Haøm ñöôïc goïi ñeå ñaùp öùng caùc thoâng ñieäp ñöôïc xaùc ñònh trong thôøi gian

      thöïc thi chöù khoâng phaûi bieân dòch

         Moãi ñoái töôïng coù moät baûng phöông thöùc aûo

                                              - Trang 64 -
                     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                    Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TÍNH ÑA HÌNH (t.t)
                     Window
          # hWnd: HWND                                                 Ví duï: ñoái töôïng http
         + MoveWindow( )                                               ñöôïc xem nhö thuoäc
         + GetClass( ): String
                                                                       kieåu cuûa HttpView,
         View                              http : HttpView
                                                                       View vaø Window
+ GetClass( ): String
+ GetDocument( ): Document

              HttpView

    + GetClass( ): String

                                          - Trang 65 -
                 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TÍNH VÓNH CÖÛU


  Chu kyø soáng cuûa ñoái töôïng: khoaûng thôøi gian töø luùc ñoái töôïng

ñöôïc taïo ra ñeán luùc noù bò huyû ñi.


  Thoâng thöôøng chu kyø soáng cuûa ñoái töôïng goùi goïn trong thôøi gian

chöông trình thöïc thi




                                           - Trang 66 -
                  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                 Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TÍNH VÓNH CÖÛU (t.t)

  Chu kyø soáng cuûa ñoái töôïng coù theå vöôït ra khoûi söï thöïc thi cuûa

chöông trình       tính vónh cöûu (persistence)

       Ñoái töôïng ñöôïc caát vaøo boä nhôù vónh cöûu khi chöông trình keát thuùc

       Khi caàn thieát coù theå khoâi phuïc laïi ñoái töôïng vaøo boä nhôù chính

       Chæ löu tröõ traïng thaùi cuûa ñoái töôïng

       Ngoân ngöõ C++ vaø Java: streaming



                                            - Trang 67 -
                   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                  Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
TOÅNG KEÁT
  Moâ hình höôùng ñoái töôïng quan nieäm theá giôùi bao goàm caùc ñoái

töôïng soáng chung vaø töông taùc vôùi nhau:
  Caùc ñaëc ñieåm chính
       Ñoùng bao: moãi ñoái töôïng bao goàm döõ lieäu vaø taùc vuï. Caùc taùc vuï thieát laäp
    neân haønh vi cuûa ñoái töôïng. Caùc ñoái töôïng ñöôïc phaân loaïi baèng lôùp
       Caùc ñoái töôïng töông taùc vôùi nhau baèng caùch göûi thoâng ñieäp
       Giöõa caùc lôùp/ñoái töôïng coù theå toàn taïi quan heä bao goäp vaø thöøa keá
       Tính ña hình: ñoái töôïng mang nhieàu boä maët
       Tính vónh cöûu: ñoái töôïng coù theå “nguû”

                                            - Trang 68 -
                   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm -
                  Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
                            Khoa Coâng Ngheä Thoâng Tin




                                          Chöông 4

   MOÂ HÌNH NGHIEÄP VUÏ
  VAØ THU THAÄP YEÂU CAÀU
                          ✦ Actor & use-case
                          ✦ Moâ hình use-case




                                               - Trang 69 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                   caàu
NOÄI DUNG
4.1. Nhaän dieän caùc vai troø (actor)
    4.1.1. Khaùi nieäm actor
    4.1.2. Nhaän dieän actor
    4.1.3. Actor trong UML
4.2. Nhaän dieän caùc tröôøng hôïp söû duïng (use-case)
    4.1.1. Khaùi nieäm use-case
    4.1.2. Tìm kieám use-case
    4.1.3. Use-case trong UML
4.3. Thieát laäp caùc moái quan heä
    4.3.1. Quan heä lieân keát (association)
    4.3.2. Quan heä giao tieáp, goäp vaø môû roäng
4.4. Xaây döïng moâ hình use-case
                                                  - Trang 70 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                      caàu
GIÔÙI THIEÄU
                          Khaùch haøng vaø nhaø phaùt trieån gaëp nhau cuøng

                      thaûo luaän veà yeâu caàu cuûa heä thoáng phaàn meàm caàn

                      xaây döïng

                          Moâ hình nghieäp vuï ñöôïc thieát laäp ñeå hoã trôï caû

                      nhaø phaùt trieån laãn khaùch haøng trong vieäc kieåm

                      chöùng laïi vaø thoáng nhaát yeâu caàu phaàn meàm vaø vai

                      troø caùc taùc nhaân beân ngoaøi

                                               - Trang 71 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                   caàu
KHAÙI NIEÄM ACTOR
  Actor xaùc ñònh moät boä vai troø maø ngöôøi hoaëc vaät seõ ñoùng vai khi

töông taùc vôùi heä thoáng phaàn meàm

  Actor naèm ngoaøi phaïm vi cuûa heä thoáng
         Chæ quan taâm caùc thoâng ñieäp maø actor göûi hay nhaän

         Khoâng quan taâm caáu truùc beân trong cuûa actor

  Phaân loaïi actor
         Chuû yeáu / Thöù yeáu

         Tích cöïc / Thuï ñoäng


                                                   - Trang 72 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
NHAÄN DIEÄN CAÙC ACTOR
Traû lôøi moät soá caâu hoûi nhö
      Ai laø ngöôøi söû duïng chöùc naêng chính cuûa heä thoáng ?
      Ai caàn söï hoã trôï töø heä thoáng ñeå thöïc hieän coâng vieäc thöôøng nhaät cuûa hoï ?
      Ai phaûi thöïc hieän coâng vieäc baûo döôõng, quaûn trò vaø giöõ cho heä thoáng
  hoaït ñoäng ?
      Heä thoáng seõ kieåm soaùt thieát bò phaàn cöùng naøo ?
      Heä thoáng ñang xaây döïng caàn töông taùc vôùi nhöõng heä thoáng khaùc hay
  khoâng ?
      Ai hoaëc vaät theå naøo quan taâm ñeán hay chòu aûnh höôûng bôûi keát quaû maø heä
  thoáng phaàn meàm taïo ra ?

                                                - Trang 73 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
ACTOR trong UML

Actor ñöôïc bieåu dieãn baèng kyù hieäu hình ngöôøi

Actor ñöôïc xem laø moät lôùp (class) coù stereotype laø <<actor>>

Giöõa caùc actor coù theå coù quan heä toång quaù hoaù
        Ví duï: Sinh vieân, giaûng vieân vaø khaùch ñeàu laø ñoäc giaû cuûa heä thoáng

    quaûn lyù thö vieän

Ví duï: moät heä thoáng ñaêng kyù moân hoïc trong tröôøng ñaïi hoïc



                                               - Trang 74 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                   caàu
ACTOR trong UML (t.t)



Sinh vieân                                                                           Phoøng Ñaøo Taïo



                                              Heä thoáng
                                              ñaêng kyù
                                              moân hoïc


 Giaûng vieân                                                                            Phoøng Taøi Vuï


                                                    - Trang 75 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                        caàu
ACTOR trong UML (t.t)



                                                                                       Quaûn trò vieân


Ngöôøi ñaêng kyù mailbox                   Heä thoáng
                                          göûi nhaän mail




                                                    - Trang 76 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                        caàu
KHAÙI NIEÄM USE-CASE
  Use-case bieåu dieãn moät chöùc naêng cuûa heä thoáng phaàn meàm
  Use-case ñöôïc bieåu dieãn baèng moät chuoãi caùc thoâng ñieäp trao ñoåi
beân trong heä thoáng vaø moät hoaëc moät soá thoâng ñieäp trao ñoåi vôùi
actor
  Moät soá quy öôùc
         Use-case luoân luoân ñöôïc baét ñaàu baèng thoâng ñieäp ñeán töø actor
         Use-case phaûi hoaøn taát: chuoãi thoâng ñieäp phaûi keát thuùc baèng keát quaû cuï
     theå.
         Loãi thöôøng gaëp: chia nhoû use-case trôû thaønh nhöõng chöùc naêng vuïn vaët


                                                   - Trang 77 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
KHAÙI NIEÄM USE-CASE (t.t)

   Ñieåm môû roäng laø moät vò trí trong use-case maø taïi ñoù coù theå cheøn

chuoãi söï kieän cuûa moät use-case khaùc

   Use-case coù theå chöùa ñieàu kieän reõ nhaùnh, xöû lyù loãi, ngoaïi leä...

   Minh duï cuûa use-case laø kòch baûn (scenario): mieâu taû cuï theå trình

töï caùc söï kieän



                                                   - Trang 78 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
TÌM KIEÁM USE-CASE
Traû lôøi moät soá caâu hoûi nhö

      Actor yeâu caàu chöùc naêng gì cuûa heä thoáng ?

      Actor caàn phaûi ñoïc, taïo, xoaù, söûa ñoåi hoaëc löu tröõ thoâng tin naøo ñoù cuûa heä

  thoáng khoâng ?

      Actor caàn thieát phaûi ñöôïc caûnh baùo veà nhöõng söï kieän trong heä thoáng, hay

  actor caàn phaûi baùo hieäu cho heä thoáng veà vaán ñeà naøo ñoù khoâng ?

      Heä thoáng coù theå hoã trôï moät soá coâng vieäc thöôøng nhaät cuûa actor naøo ñoù hay

  khoâng ?

                                                 - Trang 79 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                     caàu
TÌM KIEÁM USE-CASE (t.t)

Moät soá caâu hoûi khaùc caàn chuù yù

      Heä thoáng caàn döõ lieäu input/ouput naøo ? Döõ lieäu ñoù ñeán töø ñaâu ?

      Nhöõng khoù khaên naøo lieân quan ñeán hieän thöïc cuûa heä thoáng hieän taïi (chaúng

  haïn heä thoáng quaûn lyù baèng giaáy tôø neân ñöôïc thay theá baèng heä thoáng quaûn lyù

  treân maùy tính) ?




                                                 - Trang 80 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                     caàu
USE-CASE trong UML

  Use-case ñöôïc bieåu dieãn baèng hình ellipse

  Giöõa use-case vaø actor thöôøng coù quan heä lieân keát

  Giöõa caùc use-case cuõng coù quan heä lieân keát hoaëc toång quaùt hoaù

  Ví duï: moät heä thoáng ñaêng kyù moân hoïc theo tín chæ trong tröôøng

ñaïi hoïc




                                                  - Trang 81 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                      caàu
USE-CASE trong UML (t.t)

                   <<communicate>>


Sinh vieân                                                                                   Phoøng Ñaøo Taïo
                                                        Quaûn lyù MH
                              Ñaêng kyù hoïc



                                                             <<extend>>
                       Ñaêng kyù daïy
                                            Quaûn lyù SV
                                                                        Theâm SV môùi

Giaûng vieân


                                                     - Trang 82 -
      Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                         caàu
THIEÁT LAÄP CAÙC MOÁI QUAN HEÄ

Quan heä giöõa actor vôùi actor

Quan heä giöõa actor vôùi use-case

Quan heä giöõa use-case vôùi use-case

UML ñöa ra quan heä lieân keát (association)




                                                - Trang 83 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
QUAN HEÄ LIEÂN KEÁT

Quan heä lieân keát chæ ra moät quan heä coù yù nghóa giöõa hai beân

      Trong thöïc teá: haønh khaùch vôùi laùi xe, sinh vieân vôùi giaùo vieân, giaûng vieân

  vôùi moân hoïc…

Moät soá tính chaát lieân quan

      Teân cuûa lieân keát

      Moät chieàu hay 2 chieàu

      Baäc: soá löôïng thöïc theå tham gia vaøo lieân keát taïi moãi beân


                                                - Trang 84 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
QUAN HEÄ LIEÂN KEÁT trong UML

  UML bieåu dieãn lieân keát nhö laø moät ñoaïn thaúng (hai chieàu) hoaëc

muõi teân (moät chieàu)

  Coù theå aùp duïng stereotype:

         <<include>>

         <<extend>>

         <<communicate>>

         ...


                                                   - Trang 85 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
LIEÂN KEÁT trong MOÂ HÌNH NGHIEÄP VUÏ

 Lieân keát laø quan heä duy nhaát giöõa actor vaø use-case

 Coù theå laø moät chieàu hoaëc hai chieàu

       actor kích hoaït use-case vaø nhaän keát quaû veà: lieân keát 2 chieàu

       actor kích hoaït use-case, khoâng quan taâm keát quaû veà: lieân keát 1 chieàu


                                   1                                   *

                                                                            Ñaët haøng
             Ngöôøi baùn haøng


                                                 - Trang 86 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                     caàu
QUAN HEÄ GIAO TIEÁP

Laø quan heä lieân keát coù stereotype laø <<communicate>>

Duøng ñeå lieân keát giöõa actor vôùi use-case maø noù kích hoaït




                                       <<communicate>>
                                                                    Ñaêng kyù daïy



                   Giaûng vieân


                                                - Trang 87 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
QUAN HEÄ GOÄP

  Laø quan heä lieân keát coù stereotype laø <<include>>

  Duøng ñeå lieân keát giöõa 2 use-case

  Trong use-case nguoàn coù moät ñieåm môû roäng maø taïi ñoù baét buoäc

phaûi cheøn use-case ñích vaøo




                                                  - Trang 88 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                      caàu
QUAN HEÄ GOÄP (t.t)
   Taïi ñieåm môû roäng, dieãn tieán cuûa use-case nguoàn taïm thôøi ngöøng

laïi ñeå chuyeån sang dieãn tieán cuûa use-case ñích

   Khi keát thuùc use-case ñích, dieãn tieán cuûa use-case nguoàn laïi tieáp

tuïc


                                                 <<include>>


                         Tìm kieám                                           Ñaêng nhaäp


                                                      - Trang 89 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                          caàu
QUAN HEÄ MÔÛ ROÄNG

  Laø quan heä lieân keát coù stereotype laø <<extend>>

  Duøng ñeå lieân keát giöõa 2 use-case

  Trong use-case nguoàn coù moät ñieåm môû roäng maø taïi ñoù coù theå

(hoaëc khoâng) phaûi cheøn use-case ñích vaøo

  Cheøn hay khoâng phuï thuoäc vaøo ñieàu kieän reõ nhaùnh hoaëc töông

taùc töø phía actor

                                                   - Trang 90 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
QUAN HEÄ MÔÛ ROÄNG (t.t)
   Taïi ñieåm môû roäng, neáu ñöôïc môû roäng thì dieãn tieán cuûa use-case

nguoàn taïm thôøi ngöøng laïi ñeå chuyeån sang dieãn tieán cuûa use-case

ñích

   Khi keát thuùc use-case ñích, dieãn tieán cuûa use-case nguoàn laïi tieáp

tuïc

                                                 <<extend>>


                         Tìm kieám                                      Ñaêng kyù ñaët choã


                                                      - Trang 91 -
       Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                          caàu
XAÂY DÖÏNG MOÂ HÌNH USE-CASE
  Caùc yeâu caàu cuûa phaàn meàm ñöôïc mieâu taû trong moâ hình use-case

  Moâ hình use-case bao goàm caùc löôïc ñoà use-case (use-case

diagram) vaø (coù theå) moät soá package

  Moãi löôïc ñoà use-case bao goàm caùc actor, use-case vaø caùc moái

quan heä

  Coù theå söû duïng package ñeå gom moät soá use-case lieân quan taïo

thaønh moät boä chöùc naêng con cuûa heä thoáng

                                                   - Trang 92 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                       caàu
XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t)
Caùc quan heä coù theå xaûy ra trong löôïc ñoà use-case
     Quan heä lieân keát giöõa actor vaø use-case: moät chieàu hoaëc hai chieàu, thöôøng

  coù stereotype laø <<communicate>>

     Quan heä môû roäng hay goäp giöõa 2 use-case: quan heä lieân keát vôùi stereotype

  <<extend>> hay <<include>>

     Quan heä toång quaùt hoaù (generalization) giöõa caùc actor: nhieàu actor coù vai

  troø cuûa moät actor tröøu töôïng

     Quan heä toång quaùt hoaù giöõa caùc use-case: nhieàu use-case laø tröôøng hôïp cuï

  theå cuûa moät use-case tröøu töôïng

                                                 - Trang 93 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                     caàu
XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t)
                                                                          fee summary
                     Prints timetable                Makes timetable
 Student
                                     print request <<communicate>>                           Finance
                                   <<communicate>> timetable command
                     Registers courses
                                                                                       Removes students
        People
                                                    Administration
                           <<include>> Manages course
                                                                                           <<extend>>
                                     <<include>>
Lecturer Reads courses
                 <<include>>                     Manages lecturers
                                          <<include>>         Adds students
                                                                       <<extend>>
             <<include>>
                                  Login                     <<include>>
                                                                                        Manages students
Undertakes
 courses

                                                - Trang 94 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t)
               <<communicate>>


                                                     Forwards
                                                                       Removes mailbox
   Subcriber                                                                <<communicate>>
                                                   <<extend>>
                            <<extend>>

                                                  Views mail <<include>>                    Administrator
              Replies
                                                                                      <<communicate>>
<<communicate>>        <<extend>>                <<include>>



                                                                        <<include>>
                                                                                        Adds mailbox
                                                        Login

  Composes

                                                 - Trang 95 -
  Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                     caàu
XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t)
                          <<include>>
                                                           <<extend>>

                                             models
        imports
                                       <<communicate>>                  initializes
              <<communicate>>           model command
              import command
                                                     run command
                    <<communicate>>
                     export command
                                                                                      sets appearance
       exports
                  <<communicate>>
                   save command          Viewer
                                                               toggles light

    saves model <<communicate>>
     <<extend>> close command
                                             toggles mode




          exits
                          sets eye
                                                         sets viewing

                                                - Trang 96 -
 Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                    caàu
TOÅNG KEÁT
                                Moâ hình nghieäp vuï theå hieän caùc chöùc naêng

                            cuûa heä thoáng phaàn meàm vaø caùc thöïc theå lieân

                            quan

                                UML ñònh nghóa moâ hình use-case bao goàm

                            caùc actor, caùc use-case vaø caùc löôïc ñoà use-case

                                Tieáp theo moâ hình nghieäp vuï laø moâ hình caùc

                            ñoái töôïng phaân tích

                                               - Trang 97 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu
                                                   caàu
Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh
                           Khoa Coâng Ngheä Thoâng Tin




                                         Chöông 5

      PHAÂN TÍCH YEÂU CAÀU
      HÖÔÙNG ÑOÁI TÖÔÏNG
                         ✦ Nhaän dieän ñoái töôïng/lôùp
                         ✦ Löôïc ñoà lôùp




                                               - Trang 98 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NOÄI DUNG
5.1. Nhaän dieän caùc ñoái töôïng/lôùp
    5.1.1. Ñoái töôïng/lôùp thöïc theå
    5.1.2. Ñoái töôïng/lôùp bieân
    5.1.3. Ñoái töôïng/lôùp ñieàu khieån
5.2. Nhaän dieän caùc thuoäc tính
    5.2.1. Kieåu döõ lieäu cuûa thuoäc tính
    5.2.2. Baäc cuûa thuoäc tính
    5.2.3. Möùc ñoä truy xuaát thuoäc tính
5.3. Nhaän dieän caùc taùc vuï
                                                   - Trang 99 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NOÄI DUNG (t.t)
5.4. Nhaän dieän lôùp cô sôû
    5.4.1. Nhaän dieän caùc thuoäc tính/taùc vuï chung
    5.4.2. Quan heä toång quaùt hoùa (generalization)

5.5. Nhaän dieän caùc moái quan heä
    5.5.1. Quan heä lieân keát (association)
    5.5.2. Quan heä bao goäp (aggregation)

5.6. Xaây döïng löôïc ñoà lôùp
5.7. Thieát laäp caùc package

                                                  - Trang 100 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
GIÔÙI THIEÄU

                             Moâ hình nghieäp vuï bieåu dieãn caùc chöùc naêng
ñoáii töôïng/lôùp
ñoá töôïng/lôùp
 -- quan heä
     quan heä            phaàn meàm caàn xaây döïng döôùi daïng caùc use-case

                             Moâ hình phaân tích seõ tìm kieám caùc ñoái töôïng

                         “soáng” trong ngöõ caûnh cuûa phaàn meàm

                             Caùc ñoái töôïng seõ töông taùc vôùi nhau ñeå taïo neân

                         caùc chöùc naêng moâ taû bôûi use-case


                                                  - Trang 101 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
GIÔÙI THIEÄU (t.t)

  Moâ hình phaân tích taäp trung moâ taû vai troø vaø caáu truùc cuûa caùc ñoái

töôïng

  Chöa quan taâm ñeán haønh vi cuï theå vaø nhieäm vuï chi tieát cuûa

chuùng trong ngöõ caûnh cuûa heä thoáng

  Nguyeân taéc: moâ hình phaân tích phaûi ñoäc laäp vôùi o/s, ngoân ngöõ

laäp trình, coâng cuï phaùt trieån



                                                   - Trang 102 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP

Döïa vaøo ñaëc taû cuûa töøng use-case ñeå tìm kieám caùc ñoái töôïng

Caùc ñoái töôïng thöôøng xuaát hieän trong caùc danh töø hay nhoùm danh töø

Moät soá löu yù
     Khoâng neân duøng ñoái töôïng ñeå bieåu dieãn moät döõ lieäu ñôn (neân xem laø thuoäc

  tính cuûa ñoái töôïng khaùc)

     Ñoái töôïng/lôùp phaûi thöïc söï caàn thieát cho söï hoaït ñoäng cuûa heä thoáng

     Ñoái töôïng/lôùp ≠ baûng cô sôû döõ lieäu

     Ñoái töôïng/lôùp ≠ actor

                                                 - Trang 103 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t)

                   Phaân loaïi ñoái töôïng/lôùp

                           Ñoái töôïng thöïc theå (entity): bieåu dieãn caùc thoâng tin thieát

                       yeáu cuûa heä thoáng, coù theå ñöôïc löu trong cô sôû döõ lieäu

                           Ñoái töôïng bieân (boundary): thöïc hieän chöùc naêng giao

                       tieáp vôùi actor

                           Ñoái töôïng ñieàu khieån (control): ñieàu khieån caùc ñoái

                       töôïng khaùc

                                              - Trang 104 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t)
  Trong UML, lôùp ñöôïc bieåu dieãn baèng moät hình chöõ nhaät goàm 3

phaàn: teân, caùc thuoäc tính vaø caùc taùc vuï

  Coù theå aùp duïng stereotype cho lôùp: <<entity>>, <<boundary>>,

<<control>>...

  Ñoái töôïng cuõng ñöôïc bieåu dieãn baèng hình chöõ nhaät, thoâng

thöôøng goàm 2 phaàn: teân ñoái töôïng + teân lôùp (ñöôïc gaïch chaân), giaù

trò caùc thuoäc tính (traïng thaùi cuûa ñoái töôïng)

                                                   - Trang 105 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t)

                                          HTMLObject
                               # alignment: int
                              + GetAlignment( ): int
                              + toHTML( ): String


                        HTMLDocument                            doc : HTMLDocument
                                                                alignment = MIDDLE
               - title: String
                                                                title = “A document”
              + GetTitle( ): String
              + toHTML( ): String



                                              - Trang 106 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP THÖÏC THEÅ

  Bieåu dieãn cho caùc thöïc theå xuaát hieän moät caùch töï nhieân trong heä

thoáng

  Thoâng tin veà caùc ñoái töôïng thöïc theå coù theå phaûi ñöôïc löu tröõ laâu

daøi (database, file...)

  Trong UML, ñöôïc gaùn stereotype <<entity>>

  Deã nhaän dieän caùc thuoäc tính cuûa chuùng

                                                  - Trang 107 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP THÖÏC THEÅ (t.t)
                                             Ví duï:
           Message                                  Ñoái vôùi heä thoáng ñaêng kyù moân hoïc heä tín
          <<entity>>
                                                chæ qua WEB, nhaän dieän caùc ñoái töôïng thöïc
# subject: String
# sent: Date                                    theå nhö: thoâng tin SV, thoâng tin GV, nhoùm
# content: String                               lôùp hoïc, ñaêng kyù nhoùm, soå tay sinh vieân…

+ GetSubject( ): String                              Ñoái vôùi heä thoáng mail, nhaän dieän caùc ñoái
+ toString( ): String
                                                töôïng thöïc theå nhö: hoäp thö, thoâng ñieäp mail…

                                                    Ñoái töôïng ñöôøng ñoàng möùc, ñöùt gaõy vaø

                                                baûn ñoà trong chöông trình veõ beà maët ñòa hình

                                                   - Trang 108 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP BIEÂN

  Thöïc hieän chöùc naêng giao tieáp vôùi actor

  Thöôøng chöùa caùc phaàn töû hoaëc ñieàu khieån giao dieän ngöôøi duøng

(nuùt nhaán, hoäp danh saùch, tuyø choïn, menu...)

  Trong UML, ñöôïc gaùn stereotype <<boundary>>

  Khoù nhaän bieát caùc thuoäc tính vaø taùc vuï trong moâ hình phaân tích




                                                  - Trang 109 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP BIEÂN (t.t)

                                          Ví duï:
      MailView
                                                 Ñoái vôùi heä thoáng ñaêng kyù moân hoïc heä
    <<boundary>>
                                             tín chæ qua WEB, nhaän dieän caùc ñoái töôïng

                                             bieân nhö: RegisterForm, StudentForm…

                                                  Ñoái vôùi heä thoáng mail, nhaän dieän caùc

                                             ñoái töôïng bieân nhö: MailView,

                                             MailCompose...



                                              - Trang 110 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP ÑIEÀU KHIEÅN

  Coù nhieäm vuï ñieàu khieån caùc lôùp khaùc hoaëc

  (Ñôn giaûn hôn) Nhöõng lôùp khoâng phaûi laø lôùp thöïc theå vaø lôùp bieân

  Trong UML, ñöôïc gaùn stereotype <<control>>

  Lôùp bieân thöôøng coù quan heä lieân keát hoaëc phuï thuoäc vôùi caùc lôùp

khaùc


                                                  - Trang 111 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
ÑOÁI TÖÔÏNG/LÔÙP ÑIEÀU KHIEÅN (t.t)
                Command
               <<control>>                                               Ví duï:
                                                                                Ñoái töôïng bieåu dieãn
   + Execute( )
   + Reexecute( )                                                           moät soá leänh thoâng
   + Unexecute( )
   # Do( )                                                                  thöôøng nhö caét, daùn,

                                                                            thay ñoåi thoâng soá nhìn
 PasteCommand                        BgCommand
  <<control>>                        <<control>>                            trong hieån thò ñoà hoaï…

+ Execute( )                     + Execute( )
+ Reexecute( )                   + Reexecute( )
+ Unexecute( )                   + Unexecute( )
# Do( )                          # Do( )

                                              - Trang 112 -
Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN CAÙC THUOÄC TÍNH

  Döïa vaøo ñaëc taû cuûa töøng use-case, tìm kieám caùc danh töø hoaëc

nhoùm danh töø lieân quan ñeán ñoái töôïng ñang xeùt

  Traû lôøi caâu hoûi: nhöõng thaønh phaàn naøo caáu thaønh ñoái töôïng ñang

xeùt ?

  Löu yù: cuøng moät ñoái töôïng trong caùc ngöõ caûnh khaùc nhau chuùng

ta coù theå tìm ñöôïc caùc thuoäc tính khaùc nhau



                                                   - Trang 113 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN CAÙC THUOÄC TÍNH (t.t)

   Neân xaùc ñònh (tuy nhieân khoâng baét buoäc) trong moâ hình phaân

tiùch
            Kieåu cuûa thuoäc tính: moät soá kieåu cô baûn

            Baäc cuûa thuoäc tính: soá ít hoaëc soá nhieàu

            Visibility cuûa thuoäc tính: möùc ñoä cho pheùp truy xuaát thuoäc tiùnh töø beân

        ngoaøi

   UML: thuoäc tính ñöôïc mieâu taû töôøng minh hoaëc thoâng qua quan

heä vôùi caùc lôùp khaùc

                                                      - Trang 114 -
        Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
KIEÅU DÖÕ LIEÄU CUÛA THUOÄC TÍNH

  Moät soá kieåu cô baûn cuûa caùc ngoân ngöõ laäp trình: integer, float,

double, long, char...


  Moät soá kieåu cô baûn khaùc: string, date, time...

  UML cho pheùp ñònh nghóa taát caû caùc kieåu döõ lieäu treân




                                                  - Trang 115 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
BAÄC CUÛA THUOÄC TÍNH

  Baäc cuûa thuoäc tính: soá ít hay soá nhieàu

  Neáu thuoäc tính ñöôïc ñaëc taû töôøng minh: duøng daáu [] ñeå chæ soá

nhieàu hoaëc soá löôïng chính xaùc

  Tröôøng hôïp thuoäc tính ñöôïc mieâu taû thoâng qua quan heä vôùi caùc

lôùp khaùc: UML cho pheùp theå hieän baäc treân quan heä (ví duï: 1, 0, *,

2..9, 0..n)


                                                  - Trang 116 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
MÖÙC ÑOÄ TRUY XUAÁT THUOÄC TÍNH

  UML ñònh nghóa 3 möùc ñoä truy xuaát thuoäc tính (visibility)
        public (+): coù theå truy xuaát thuoäc tính töø taát caû caùc vò trí khaùc nhau

        protected (#): baûn thaân lôùp ñang xeùt vaø caùc lôùp con cuûa noù coù theå truy

     xuaát thuoäc tính

        private (-): chæ coù lôùp ñang xeùt coù theå truy xuaát thuoäc tính

  Thoâng thöôøng neân ñaët möùc ñoä truy xuaát thuoäc tính laø private

hoaëc protected (cho caùc lôùp cô sôû), khoâng neân laø public. Thuoäc tính

neân ñöôïc truy xuaát thoâng qua taùc vuï get/set

                                                  - Trang 117 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN CAÙC TAÙC VUÏ

  Döïa vaøo ñaëc taû cuûa töøng use-case, tìm kieám caùc ñoäng töø hoaëc

nhoùm ñoäng töø lieân quan ñeán ñoái töôïng ñang xeùt


  Chuù yù xem ñoái töôïng ñöôïc taïo ra vaø bò huyû boû ñi nhö theá naøo ?

Trong thôøi gian ñoù noù göûi/nhaän thoâng ñieäp ra sao ?

  Caùc ñoái töôïng bieân coù caùc taùc vuï nhaän leänh töø actor.



                                                  - Trang 118 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
NHAÄN DIEÄN CAÙC TAÙC VUÏ (t.t)

  Xem xeùt möùc ñoä truy xuaát cuûa taùc vuï töông töï nhö ñoái vôùi caùc

thuoäc tính; caùc taùc vuï thöôøng coù visibility laø + hoaëc #


  Moät soá taùc vuï khoâng xuaát hieän moät caùch töï nhieân trong moâ hình

phaân tích        moâ hình thieát keá seõ nghieân cöùu kyõ traùch nhieäm vaø

haønh vi cuûa töøng ñoái töôïng



                                                   - Trang 119 -
     Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
VÍ DUÏ veà NHAÄN DIEÄN THUOÄC TÍNH

    StudentInfo
    <<entity>>
                                          LecturerInfo
                                          <<entity>>
                                                                          Heä thoáng ñaêng kyù
- name: String                      - name: String                    moân hoïc heä tín chæ qua
- code: Long                        - code: String
- dateOfBirth: Date                 - dateOfBirth: String
- addr: String                      - addr: String                    WEB - Nhaän dieän caùc
- acaYear: Date                     - degree
- department                        - title: String                   thuoäc tính cho caùc ñoái
- home: String                      - division
                                                                      töôïng: StudentInfo,
- socialAid                         - health
                                    - experience: Date
+ GetName( ): String
+ GetCode( ): Long                  + GetName( ): String
                                    + GetCode( ): String
                                                                      LecturerInfo



                                                  - Trang 120 -
    Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
VÍ DUÏ veà NHAÄN DIEÄN THUOÄC TÍNH (t.t)

   CourseOfferring                           Catalog                      Heä thoáng ñaêng kyù
     <<entity>>                             <<entity>>
 - courseName: String                - acaYear: Date                  moân hoïc heä tín chæ qua
 - courseCode: String                - semester
 - offering: int                                                      WEB - Nhaän dieän caùc
 - session
 - credit: int
 - prerequisite                                                       thuoäc tính cho caùc ñoái

                                                                      töôïng: CourseOffering,

                                                                      Catalog



                                                 - Trang 121 -
   Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk
Cong Nghe Phan Mem   Dhbk

More Related Content

What's hot

Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNNguyen Van Toan
 
Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1laducqb
 
Bảo trì phần mềm
Bảo trì phần mềmBảo trì phần mềm
Bảo trì phần mềmNguyễn Anh
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmNguyễn Anh
 
Chuong7 linh
Chuong7 linhChuong7 linh
Chuong7 linhẢo Ảo
 
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...Nguyễn Anh
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcaseTrần Đức Anh
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Thuyet Nguyen
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAPopping Khiem - Funky Dance Crew PTIT
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan memTIen Le
 

What's hot (18)

Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTN
 
Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1Công nghệ phần mềm chuong 1
Công nghệ phần mềm chuong 1
 
Chuong 1. cnpm
Chuong 1. cnpmChuong 1. cnpm
Chuong 1. cnpm
 
Bảo trì phần mềm
Bảo trì phần mềmBảo trì phần mềm
Bảo trì phần mềm
 
Chuong 3. cnpm
Chuong 3. cnpmChuong 3. cnpm
Chuong 3. cnpm
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềm
 
Chuong7 linh
Chuong7 linhChuong7 linh
Chuong7 linh
 
Mở đầu
Mở đầuMở đầu
Mở đầu
 
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
 
Lecture01
Lecture01Lecture01
Lecture01
 
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đLuận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
 

Similar to Cong Nghe Phan Mem Dhbk

Giáo trình trắc địa ảnh viễn thám 1
Giáo trình trắc địa ảnh viễn thám 1Giáo trình trắc địa ảnh viễn thám 1
Giáo trình trắc địa ảnh viễn thám 1trankha8792
 
Giao trinh qlda tong hop
Giao trinh qlda tong hopGiao trinh qlda tong hop
Giao trinh qlda tong hopToan Nguyen
 
de tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.pptde tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.ppttuyen43ty
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdfLuanvan84
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvansatthu127
 
De cuong web2.0 cq-k37-2014
De cuong web2.0 cq-k37-2014De cuong web2.0 cq-k37-2014
De cuong web2.0 cq-k37-2014thaihoc2202
 
KẾ HOẠCH THỰC TẬP K42 ĐHKTQD
KẾ HOẠCH THỰC TẬP K42 ĐHKTQDKẾ HOẠCH THỰC TẬP K42 ĐHKTQD
KẾ HOẠCH THỰC TẬP K42 ĐHKTQDNgọc Hà
 
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQD
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQDKẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQD
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQDNgọc Hà
 
12. Chuong 12 - He thong thoat nuoc.pptx
12. Chuong 12 - He thong thoat nuoc.pptx12. Chuong 12 - He thong thoat nuoc.pptx
12. Chuong 12 - He thong thoat nuoc.pptxVU Cong
 
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...Trần Đức Anh
 
Quan tri hoc cb 2014 new (1)
Quan tri hoc cb 2014 new (1)Quan tri hoc cb 2014 new (1)
Quan tri hoc cb 2014 new (1)dyby
 
Qt 42-01chichau
Qt 42-01chichauQt 42-01chichau
Qt 42-01chichauTuoi Xinh
 
đTkh.ứng dụng tin học trong hoạt động kiểm toán nguyễn đình hựu[bookbooming...
đTkh.ứng dụng tin học trong hoạt động kiểm toán   nguyễn đình hựu[bookbooming...đTkh.ứng dụng tin học trong hoạt động kiểm toán   nguyễn đình hựu[bookbooming...
đTkh.ứng dụng tin học trong hoạt động kiểm toán nguyễn đình hựu[bookbooming...bookbooming1
 

Similar to Cong Nghe Phan Mem Dhbk (20)

Giáo trình trắc địa ảnh viễn thám 1
Giáo trình trắc địa ảnh viễn thám 1Giáo trình trắc địa ảnh viễn thám 1
Giáo trình trắc địa ảnh viễn thám 1
 
Se01b
Se01bSe01b
Se01b
 
Giao trinh qlda tong hop
Giao trinh qlda tong hopGiao trinh qlda tong hop
Giao trinh qlda tong hop
 
de tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.pptde tai nghien cuu khoa hoc giao duc.ppt
de tai nghien cuu khoa hoc giao duc.ppt
 
1. ATVSLD-TRONG-CO-KHI.pdf
1. ATVSLD-TRONG-CO-KHI.pdf1. ATVSLD-TRONG-CO-KHI.pdf
1. ATVSLD-TRONG-CO-KHI.pdf
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdf
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
De cuong web2.0 cq-k37-2014
De cuong web2.0 cq-k37-2014De cuong web2.0 cq-k37-2014
De cuong web2.0 cq-k37-2014
 
Đề tài: Xây dựng mới cầu Hiền Lương vượt qua sông Bến Hải, HAY
Đề tài: Xây dựng mới cầu Hiền Lương vượt qua sông Bến Hải, HAYĐề tài: Xây dựng mới cầu Hiền Lương vượt qua sông Bến Hải, HAY
Đề tài: Xây dựng mới cầu Hiền Lương vượt qua sông Bến Hải, HAY
 
Dt
DtDt
Dt
 
KẾ HOẠCH THỰC TẬP K42 ĐHKTQD
KẾ HOẠCH THỰC TẬP K42 ĐHKTQDKẾ HOẠCH THỰC TẬP K42 ĐHKTQD
KẾ HOẠCH THỰC TẬP K42 ĐHKTQD
 
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQD
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQDKẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQD
KẾ HOẠCH BÁO CÁO THỰC TẬP K42 KTQD
 
12. Chuong 12 - He thong thoat nuoc.pptx
12. Chuong 12 - He thong thoat nuoc.pptx12. Chuong 12 - He thong thoat nuoc.pptx
12. Chuong 12 - He thong thoat nuoc.pptx
 
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
 
Quan tri hoc cb 2014 new (1)
Quan tri hoc cb 2014 new (1)Quan tri hoc cb 2014 new (1)
Quan tri hoc cb 2014 new (1)
 
Qt 42-01chichau
Qt 42-01chichauQt 42-01chichau
Qt 42-01chichau
 
Quy dinh ve datn 2482
Quy dinh ve datn 2482Quy dinh ve datn 2482
Quy dinh ve datn 2482
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
đTkh.ứng dụng tin học trong hoạt động kiểm toán nguyễn đình hựu[bookbooming...
đTkh.ứng dụng tin học trong hoạt động kiểm toán   nguyễn đình hựu[bookbooming...đTkh.ứng dụng tin học trong hoạt động kiểm toán   nguyễn đình hựu[bookbooming...
đTkh.ứng dụng tin học trong hoạt động kiểm toán nguyễn đình hựu[bookbooming...
 
Luận văn: Trung tâm điều hành sân bay Cát Bi - Hải Phòng, HAY
Luận văn: Trung tâm điều hành sân bay Cát Bi - Hải Phòng, HAYLuận văn: Trung tâm điều hành sân bay Cát Bi - Hải Phòng, HAY
Luận văn: Trung tâm điều hành sân bay Cát Bi - Hải Phòng, HAY
 

Recently uploaded

Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGPHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGhoinnhgtctat
 

Recently uploaded (20)

Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANGPHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
PHÁT TRIỂN DU LỊCH BỀN VỮNG Ở TUYÊN QUANG
 

Cong Nghe Phan Mem Dhbk

  • 1. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Moân hoïc COÂNG NGHEÄ PHAÀN MEÀM - Trang 1 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
  • 2. GIÔÙI THIEÄU MOÂN HOÏC Ñaëc ñieåm Maõ soá: 501095 Soá tín chæ: 2 Phaân phoái giôø: 2(2.1.4) Moân hoïc tröôùc: Toaùn Tin Hoïc (501302) Toùm taét noäi dung Caùc khaùi nieäm cô baûn cuûa Coâng Ngheä Phaàn Meàm: caùc moâ hình phaùt trieån phaàn meàm, phaân tích yeâu caàu, thieát keá, kieåm tra… 2 tröôøng phaùi chính: coù caáu truùc (coå ñieån) & höôùng ñoái töôïng Chuaån UML vaø vieäc aùp duïng noù trong phöông phaùp höôùng ñoái töôïng Thöïc haønh taïi phoøng Lab: laøm quen vôùi coâng cuï Rational Rose - Trang 2 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
  • 3. GIÔÙI THIEÄU MOÂN HOÏC (t.t) Taøi lieäu tham khaûo [1] Software Engineering - A practitioner’s approach, R.S. Pressman, McGraw-Hill, 1997 [2] OMG Unified Modeling Language Specification, version 1.3, Object Management Group (www.omg.org), 1999 [3]UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [4] Object-Oriented Software Engineering, A Use-Case Driven Approach, I. Jacobson, ACM Press/Addison-Wesley, 1992 [5] Object-Oriented Analysis and Design with Applications, G. Booch, The Benjamin Cummings Publishing Company, 1994 - Trang 3 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
  • 4. GIÔÙI THIEÄU MOÂN HOÏC (t.t) Hình thöùc ñaùnh giaù Thi giöõa kyø: traéc nghieäm khoâng söû duïng taøi lieäu, chieám 20 % keát quaû cuoái cuøng Thi cuoái kyø: traéc nghieäm khoâng söû duïng taøi lieäu, chieám 80 % keát quaû cuoái cuøng - Trang 4 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
  • 5. ÑEÀ CÖÔNG Chöông 1: Giôùi thieäu veà Coâng Ngheä Phaàn Meàm Chöông 2: Phaân tích yeâu caàu theo phöông phaùp coå ñieån Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng Chöông 6: Cô sôû cuûa thieát keá phaàn meàm vaø phöông phaùp thieát keá coå ñieån Chöông 7: Thieát keá höôùng ñoái töôïng Chöông 8: Hieän thöïc vaø trieån khai heä thoáng Chöông 9: Kyõ thuaät kieåm tra phaàn meàm Chöông 10: Chieán thuaät kieåm tra phaàn meàm - Trang 5 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm
  • 6. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Chöông 1 GIÔÙI THIEÄU VEÀ COÂNG NGHEÄ PHAÀN MEÀM ✦ Moät soá khaùi nieäm ✦ Caùc moâ hình phaùt trieån phaàn meàm - Trang 6 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 7. NOÄI DUNG 1.1. Moät soá khaùi nieäm 1.1.1. Khuûng hoaûng phaàn meàm 1.1.2. Ñònh nghóa 1.1.3. Chu trình (process), phöông phaùp (method), coâng cuï (tool) 1.1.4. Moät caùch nhìn toång quan veà coâng ngheä phaàn meàm 1.1.5. Moâ hình CMM 1.2. Caùc moâ hình phaùt trieån phaàn meàm 1.2.1. Moâ hình tuaàn töï tuyeán tính 1.2.2. Moâ hình prototype 1.2.3. Moâ hình xoaén oác 1.2.4. Moâ hình taêng daàn 1.2.3. Moâ hình RAD - Trang 7 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 8. KHUÛNG HOAÛNG PHAÀN MEÀM Phaàn meàm ñöôïc vieát ngay töø khi xuaát hieän caùc heä maùy tính vaø ngoân ngöõ laäïp trình ñaàu tieân Treân thöïc teá saûn xuaát phaàn meàm khoâng ñaùp öùng kòp yeâu caàu cuûa ngöôøi söû duïng - Trang 8 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 9. KHUÛNG HOAÛNG PHAÀN MEÀM (t.t) Caùc döõ lieäu quan saùt ñöôïc Cöù 6 ñeà aùn trieån khai thì coù 2 bò huyû boû Trung bình thôøi gian thöïc hieän thöïc teá bò keùo daøi 50 % (caù bieät 200- 300%) Caùc ñeà aùn lôùn deã thaát baïi 3/4 caùc heä thoáng lôùn coù loãi khi thöïc thi Quaù trình phaân tích yeâu caàu (5 % coâng söùc): ñeå laïi 55 % loãi, coù 18 % phaùt hieän ñöôïc Quaù trình thieát keá (25 % coâng söùc): ñeå laïi 30 % loãi, coù 10 % phaùt hieän ñöôïc Quaù trình maõ hoaù, kieåm tra vaø baûo trì: ñeå laïi 15 % loãi, coù 72 % phaùt hieän ñöôïc - Trang 9 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 10. KHUÛNG HOAÛNG PHAÀN MEÀM (t.t) Nguyeân nhaân Phaùt trieån phaàn meàm gioáng nhö moät ngheä thuaät, chöa ñöôïc xem nhö moät ngaønh khoa hoïc Quaù trình phaùt trieån phaàn meàm chöa ñöôïc thoáng nhaát Phaûi vieát laïi s/w moãi khi coù söï thay ñoåi veà ngoân ngöõ, h/w hoaëc o/s Chöa ñaït ñöôïc 1 chuaån cho vieäc ño löôøng hieäu suaát vaø saûn phaåm Ñoä phöùc taïp cuûa phaàn meàm quaù cao ñoái vôùi 1 “kieán truùc sö” Kyõ thuaät ñaëc taû ñeå laïi söï nhaäp nhaèng trong caùc yeâu caàu phaàn meàm Laøm vieäc nhoùm khoâng ñuùng kyû luaät gaây ra caùc loãi - Trang 10 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 11. KHUÛNG HOAÛNG PHAÀN MEÀM (t.t) Höôùng tôùi coâng ngheä saûn xuaát phaàn meàm chuyeân nghieäp science production professional engineering commercialization craft - Trang 11 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 12. ÑÒNH NGHÓA Ñònh nghóa coå ñieån (cuûa Fritz Bauer) Coâng Ngheä Phaàn Meàm laø söï thieát laäp vaø söû duïng caùc nguyeân taéc khoa hoïc nhaèm muïc ñích taïo ra caùc phaàn meàm moät caùch kinh teá maø caùc phaàn meàm ñoù hoaït ñoäng hieäu quaû vaø tin caäy treân caùc maùy tính. - Trang 12 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 13. ÑÒNH NGHÓA (t.t) Ñònh nghóa khaùc: Coâng Ngheä Phaàn Meàm Laø caùc quy trình ñuùng kyû luaät vaø coù ñònh löôïng ñöôïc aùp duïng cho söï phaùt trieån, thöïc thi vaø baûo trì caùc heä thoáng thieân veà phaàn meàm Taäp trung vaøo quy trình, söï ño löôøng, saûn phaåm, tính ñuùng thôøi gian vaø chaát löôïng - Trang 13 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 14. CHU TRÌNH Chu trình (process) ñònh nghóa moät boä khung caùc tieâu chuaån phaûi ñöôïc thieát laäp ñeå trieån khai coâng ngheä phaàn meàm. - Trang 14 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 15. PHÖÔNG PHAÙP Phöông phaùp (method) chæ ra caùch thöïc hieän nhöõng coâng vieäc cuï theå (“how to”): phaân tích yeâu caàu thieát keá xaây döïng chöông trình kieåm tra söûa loãi ... - Trang 15 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 16. COÂNG CUÏ Coâng cuï (tool) cung caáp caùc hoã trôï töï ñoäng hay baùn töï ñoäng ñoái vôùi chu trình vaø phöông phaùp Caùc coâng cuï ñöôïc tích hôïp taïo thaønh CASE (Computer Aided Software Engineering) - Trang 16 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 17. MOÄT CAÙCH NHÌN TOÅNG QUAN VEÀ CNPM Goàm 3 giai ñoaïn lôùn Giai ñoaïn ñònh nghóa: Phaân tích heä thoáng (system engineering), Hoaïch ñònh ñeà taøi (software project management), Phaân tích yeâu caàu (requirement analysis). Giai ñoaïn phaùt trieån: Thieát keá phaàn meàm (software design), sinh maõ (code generation), kieåm tra phaàn meàm (software testing) Giai ñoaïn baûo trì: Söûa loãi (correction), thay ñoåi moâi tröôøng thöïc thi (adaptation), taêng cöôøng (enhancement) - Trang 17 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 18. MOÂ HÌNH CMM Optimized (Level 5) Risk Managed (Level 4) Defined (Level 3) Repeatable (Level 2) Initial Competitiveness (Level 1) - Trang 18 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 19. CAÙC MOÂ HÌNH PHAÙT TRIEÅN PHAÀN MEÀM Moâ hình tuaàn töï tuyeán tính: coå ñieån Moâ hình prototyping: prototype Moâ hình xoaén oác: ñaùnh giaù ruûi ro Moâ hình taêng daàn: caùc böôùc laëp Moâ hình RAD: thôøi gian phaùt trieån ngaén - Trang 19 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 20. MOÂ HÌNH TUAÀN TÖÏ TUYEÁN TÍNH Requirement Software System Engineering Coding Test Maintenance Analysis Design Moâ hình phaùt trieån phaàn meàm ñaàu tieân Caùc coâng vieäc tieáp noái nhau moät caùch tuaàn töï Ñaët neàn moùng cho caùc phöông phaùp phaân tích, thieát keá, kieåm tra… - Trang 20 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 21. MOÂ HÌNH TUAÀN TÖÏ TUYEÁN TÍNH (t.t) Boäc loä moät soá khuyeát ñieåm Baûn chaát cuûa phaùt trieån phaàn meàm laø quaù trình laëp ñi laëp laïi chöù khoâng phaûi tuaàn töï Baét buoäc khaùch haøng ñaëc taû taát caû yeâu caàu moät caùch chính xaùc vaø ñaày ñuû ngay töø ban ñaàu Khaùch haøng thöôøng phaûi chôø ñôïi raát laâu ñeå thaáy ñöôïc phieân baûn ñaàu tieân cuûa saûn phaåm Toàn taïi “delay” trong nhoùm laøm vieäc - Trang 21 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 22. MOÂ HÌNH PROTOTYPING Prototype nhö laø moät cô cheá ñeå Xaây döïng prototype nhaän dieän chính xaùc yeâu caàu cuûa khaùch haøng Thaûo luaän vôùi Prototype coù theå bò “throw-away” khaùch haøng Moät soá khuyeát ñieåm Khaùch haøng hoái thuùc nhaø phaùt trieån hoaøn thaønh saûn phaåm Ñaùnh giaù cuûa moät khi thaáy ñöôïc caùc prototype khaùch haøng ñaàu tieân Caùc prototype thöôøng khoâng hoaït ñoäng hieäu quaû - Trang 22 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 23. MOÂ HÌNH XOAÉN OÁC R Ñònh nghóa Ñaùnh giaù quy trình ruûi ro R Hoaïch ñònh Phaùt trieån saûn phaåm ñeà taøi ôû laàn laëp tieáp theo R Ñöôïc thöïc hieän theo moät chuoãi laëp kieåu xoaén oác, moãi laàn laëp caûi thieän saûn phaåm Coù phöông phaùp ñaùnh giaù ruûi ro Coù theå aùp duïng prototype Moãi laàn laëp ñöôïc caûi thieän cho thích nghi vôùi baûn chaát cuûa ñeà aùn - Trang 23 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 24. MOÂ HÌNH TAÊNG DAÀN Phaân tích yeâu caàu Thieát keá kieán truùc 1 Phaùt trieån module 2 Tích hôïp 3 4 Kieåm tra heä thoáng - Trang 24 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 25. MOÂ HÌNH TAÊNG DAÀN (t.t) Caùc böôùc (iteration) ñaàu taäp trung vaøo yeâu caàu cuûa phaàn meàm vaø thieát laäp moät kieán truùc oån ñònh cho heä thoáng (ít phaûi thay ñoåi sau naøy) Caùc böôùc sau taäp trung vaøo vieäc xaây döïng saûn phaåm ñeå cuoái cuøng chuyeån sang giai ñoaïn kieåm tra heä thoáng Moãi böôùc hieän thöïc moät phaàn cuï theå trong toaøn boä yeâu caàu cuûa heä thoáng Quaù trình xaây döïng vaø chieán thuaät kieåm tra theo kieåu taêng daàn vaø döïa treân phöông phaùp kieåm tra hoài quy. - Trang 25 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 26. MOÂ HÌNH RAD Application Testing & Business modeling Data modeling Process modeling generation Turnover Rapid Application Development laø moâ hình tuaàn töï tuyeán tính coù thôøi gian phaùt trieån raát ngaén Söû duïng caùc thaønh phaàn coù saün caøng nhieàu caøng toát Söû duïng coâng cuï laäp trình ôû daïng töï ñoäng sinh maõ chöù khoâng phaûi caùc ngoân ngöõ truyeàn thoáng - Trang 26 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 1: Giôùi thieäu veà CNPM
  • 27. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Chöông 2 PHAÂN TÍCH YEÂU CAÀU THEO PHÖÔNG PHAÙP COÅ ÑIEÅN ✦ Moâ hình phaân tích ✦ DFD & STD ✦ Töø ñieån döõ lieäu - Trang 27 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 28. GIÔÙI THIEÄU Khaùch haøng vaø nhaø phaùt trieån gaëp nhau ñeå thaûo luaän veà yeâu caàu cuûa heä thoáng phaàn meàm caàn xaây döïng Nhaø phaùt trieån kieåm chöùng laïi (validate) yeâu caàu vaø bieåu dieãn noù baèng moâ hình phaân tích Moâ hình phaân tích (WHAT?): caùc chöùc naêng, döõ lieäu input & output, caùc traïng thaùi khaùc nhau... - Trang 28 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 29. NOÄI DUNG 2.1. Caùc yeáu toá caên baûn cuûa moâ hình phaân tích 2.2. Moâ hình chöùc naêng vaø doøng thoâng tin 2.2.1. Löôïc ñoà doøng chaûy döõ lieäu vôùi caùc kyù hieäu cô baûn 2.2.2. Môû roäng cuûa Ward vaø Mellor 2.2.3. Môû roäng cuûa Hatley & Pirbhai 2.3. Moâ hình haønh vi phaàn meàm 2.4. Kyõ thuaät phaân tích yeâu caàu 2.4.1. Xaây döïng DFD 2.4.2. Vieát PSPEC 2.5. Töø ñieån döõ lieäu - Trang 29 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 30. CAÙC YEÁU TOÁ CAÊN BAÛN CUÛA MOÂ HÌNH PHAÂN TÍCH Ñaëc taû Process Specification (PSPEC) ñoái töôïng döõ lieäu Moâ hình chöùc naêng vaø doøng thoâng tin: DFD, PSPEC Löu ñoà Löu ñoà quan heä doøng chaûy thöïc theå Töø ñieån döõ lieäu Moâ hình döõ lieäu: ERD, döõ lieäu ñaëc taû ñoái töôïng döõ lieäu Löu ñoà dòch chuyeån traïng thaùi Moâ hình haønh vi: STD, Control Specification (CSPEC) CSPEC - Trang 30 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 31. MOÂ HÌNH CHÖÙC NAÊNG VAØ DOØNG THOÂNG TIN Moâ taû doøng thoâng tin di chuyeån (flow) xuyeân qua caùc heä thoáng thieân veà phaàn meàm. Thoâng tin input cuõng nhö output coù theå ôû nhieàu daïng khaùc nhau: file, baøn phím, treân maïng, töø thieát bò, keát xuaát ra maøn hình vaø maùy in… Caùc giaûi thuaät xöû lyù cuõng raát ña daïng - Trang 31 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 32. MOÂ HÌNH CHÖÙC NAÊNG VAØ DOØNG THOÂNG TIN (t.t) Löu ñoà doøng chaûy döõ lieäu DFD (Data Flow Diagram) cung caáp 4 kyù hieäu cô baûn ñeå moâ hình söï di chuyeån cuûa doøng thoâng tin DFD ñöôïc môû roäng ñeå moâ hình caùc heä thoáng thôøi gian thöïc Môû roäng cuûa Ward vaø Mellor (töï ñoïc: [1], trang 312) Môû roäng cuûa Hatley & Pirbhai (töï ñoïc: [1], trang 315) - Trang 32 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 33. LÖÔÏC ÑOÀ DOØNG CHAÛY DÖÕ LIEÄU (DFD) 4 phaàn töû chính Thöïc theå: taïo ra hoaëc tieâu thuï thoâng tin, naèm beân ngoaøi bieân giôùi cuûa phaïm vi thoâng tin heä thoáng Chöùc naêng xöû lyù: thöïc hieän chöùc naêng naøo ñoù, tieâu thuï vaø taïo ra thoâng tin, naèm beân trong phaïm vi thoâng tin heä thoáng Thoâng tin hay döõ lieäu Kho döõ lieäu: löu tröõ döõ lieäu maø ñöôïc söû duïng bôûi nhieàu chöùc naêng xöû lyù Chöùc naêng Kho döõ lieäu Thöïc theå xöû lyù Döõ lieäu - Trang 33 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 34. LÖÔÏC ÑOÀ DOØNG CHAÛY DÖÕ LIEÄU (t.t) DFD ñöôïc xaây döïng qua nhieàu möùc khaùc nhau: möùc 0, 1, 2… DFD möùc sau chi tieát hôn möùc tröôùc Process Specification (PSPEC) boå sung cho DFD Tính lieân tuïc cuûa doøng döõ lieäu - Trang 34 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 35. MOÂ HÌNH HAØNH VI PHAÀN MEÀM Ñaày giaáy vaø saün saøng Raûnh ———————— Yeâu caàu copy ———————— Yeâu caàu ñoïc leänh Löôïc ñoà dòch chuyeån Ñoïc leänh Copy xong traïng thaùi (STD) theå hieän ———————— Ñaày giaáy Yeâu caàu ñoïc leänh ———————— Caùc traïng thaùi khaùc Yeâu caàu ñoïc leänh nhau cuûa heä thoáng Thöïc hieän Naïp giaáy copy Heát giaáy Söï dòch chuyeån giöõa ———————— Yeâu caàu naïp giaáy caùc traïng thaùi ñoù Ví duï: mieâu taû hoaït Keït giaáy Heát keït giaáy ———————— ———————— ñoäng cuûa maùy photocopy Yeâu caàu xöû lyù loãi Yeâu caàu ñoïc leänh Xöû lyù loãi - Trang 35 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 36. KYÕ THUAÄT PHAÂN TÍCH YEÂU CAÀU Thieát laäp ñoaïn vaên mieâu taû chöùc naêng (processing narrative) cho heä thoáng caàn xaây döïng Xaây döïng DFD ôû caùc möùc khaùc nhau Thieát laäp sô ñoà ngöõ caûnh (DFD möùc 0) Phaân hoaïch DFD vaøo caùc möùc cao hôn Söû duïng phöông phaùp duyeät vaên phaïm. Luoân luoân tuaân theo tính lieân tuïc cuûa doøng döõ lieäu Vieát PSPEC cho caùc chöùc naêng cuûa DFD möùc cao nhaát - Trang 36 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 37. XAÂY DÖÏNG DFD Phaàn meàm SafeHome: Thieát laäp ñoaïn vaên mieâu taû xöû lyù DFD möùc ngöõ caûnh: nhaän dieän caùc thöïc theå vaø döõ lieäu input, output Baûng ñieàu khieån Leänh vaø döõ lieäu Thoâng tin hieån thò Maøn hình SafeHome Kieåu baùo ñoäng Chuoâng Traïng thaùi caûm öùng Taàn soá cuûa soá ñieän thoaïi Boä caûm öùng Ñöôøng ñieän thoaïi - Trang 37 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 38. XAÂY DÖÏNG DFD (t.t) Baûng ñieàu khieån DFD möùc 1: Yeâu caàu Caáu hình Leänh vaø döõ lieäu caáu hìnhh heä thoáng hình thaønh moät soá chöùc Töông taùc vôùi user Thoâng soá caáu hình naêng chính Start/stop Maøn hình Caám/ Maät maõ Cho pheùp Thoâng baùo a/d Thoâng tin hieån thò Xöû lyù Xaùc nhaän maät maõ Hieån thò maät maõ Thoâng tin caûm öùng Theo doõi Kieåu baùo ñoäng Chuoâng Traïng thaùi caûm öùng caûm öùng Taàn soá cuûa soá ñieän thoaïi Boä caûm öùng Ñöôøng ñieän thoaïi - Trang 38 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 39. XAÂY DÖÏNG DFD (t.t) Thoâng tin caûm öùng DFD möùc 2: Ñònh daïng tinh cheá chöùc Thoâng soá caáu hình hieån thò naêng “Theo Id, type, vò trí Döõ lieäu caáu hình doõi caûm öùng” Thieát laäp Id, type Taïo tín hieäu ñieàu kieän chuoâng Kieåu baùo ñoäng Id, type baùo ñoäng Soá ñieän thoaïi Chuoâng Ñoïc döõ lieäu caûm öùng Quay soá Traïng thaùi caûm öùng Taàn soá cuûa soá ñieän thoaïi Boä caûm öùng Ñöôøng ñieän thoaïi - Trang 39 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 40. VIEÁT PSPEC Coù theå vieát PSPEC baèng moät trong 2 caùch Ngoân ngöõ töï nhieân (töông töï processing narrative) Ngoân ngöõ PDL - laø ngoân ngöõ giaû giuùp theå hieän kieán truùc vaø giao tieáp cuûa chöùc naêng xöû lyù - Trang 40 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 41. TÖØ ÑIEÅN DÖÕ LIEÄU Nhieàu phaàn töû ñöôïc taïo ra trong moâ hình phaân tích: döõ lieäu, chöùc naêng, ñieàu khieån… Phaûi coù moät caùch thöùc quaûn lyù caùc phaàn töû ñoù sao cho hieäu quaû: töø ñieån döõ lieäu Ñònh nghóa: Töø ñieån döõ lieäu laø moät danh saùch coù toå chöùc cuûa taát caû caùc phaàn töû döõ lieäu caàn thieát cho heä thoáng. Caùc phaàn töû ñöôïc ñònh nghóa chính xaùc vaø chaët cheõ sao cho caû phaân tích vieân vaø khaùch haøng cuøng chia seû moät suy nghó veà chuùng. Töø ñieån döõ lieäu thöôøng ñöôïc hieän thöïc nhö laø moät phaàn cuûa coâng cuï CASE. Moãi phaàn töû bao goàm nhöõng thoâng tin: teân, bí danh, ñöôïc duøng ôû ñaâu/nhö theá naøo, ñaëc taû noäi dung vaø thoâng tin phuï trôï - Trang 41 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 42. TÖØ ÑIEÅN DÖÕ LIEÄU (t.t) Ví duï phaàn töû döõ lieäu soá ñieän thoaïi Teân: Soá ñieän thoaïi Bí danh: Khoâng Ñöôïc duøng ôû ñaâu/nhö theá naøo: output cuûa Thieát laäp ñieàu kieän baùo ñoäng input cuûa Quay soá Ñaëc taû noäi dung: soá ñieän thoaïi = [ môû roäng ñòa phöông | soá beân ngoaøi ] môû roäng ñòa phöông = [ 2001 | 2002 … | 2009 ] soá beân ngoaøi = 9 + [ soá ñòa phöông | soá ñöôøng daøi ] soá ñòa phöông = tieàn toá + <chuoãi 4 kyù soá> soá ñöôøng daøi = (1) + maõ vuøng + soá ñòa phöông tieàn toá = [ 795 | 799 | 874 | 877 ] - Trang 42 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 43. TOÅNG KEÁT Phaân tích yeâu caàu theo pp coå ñieån bao goàm: moâ hình chöùc naêng vaø doøng thoâng tin (DFD), moâ hình döõ lieäu (ERD) vaø moâ hình haønh vi (STD) Löôïc ñoà DFD cô baûn coù 4 kyù hieäu vaø noù ñöôïc môû roäng ñeå bieåu dieãn ñöôïc caùc heä thoáng thôøi gian thöïc Xaây döïng DFD möùc 0 roài ñeán caùc möùc cao hôn; chuù yù baûo toaøn tính lieân tuïc cuûa doøng döõ lieäu Töø ñieån döõ lieäu giuùp quaûn lyù vaø tra cöùu caùc phaàn töû döõ lieäu - Trang 43 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 2: Phaân tích yeâu caàu theo pp coå ñieån
  • 44. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Chöông 3 CAÙC KHAÙI NIEÄM CÔ BAÛN CUÛA MOÂ HÌNH HÖÔÙNG ÑOÁI TÖÔÏNG ✦ Lôùp vaø ñoái töôïng, söï ñoùng bao ✦ Thuoäc tính, taùc vuï, thoâng ñieäp ✦ Bao goäp, thöøa keá ✦ Tính ña hình, tính vónh cöûu - Trang 44 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 45. NOÄI DUNG 3.1. Ñoái töôïng vaø lôùp, ñoùng bao 3.2. Thuoäc tính 3.3. Taùc vuï 3.4. Thoâng ñieäp 3.5. Bao goäp 3.6. Thöøa keá vaø override 3.7. Tính ña hình 3.8. Tính vónh cöûu - Trang 45 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 46. GIÔÙI THIEÄU Moâ hình höôùng ñoái töôïng giôùi thieäu moät quan ñieåm laäp trình (vaø phaân tích/thieát keá) khaùc haún so vôùi tröôøng phaùi coå ñieån (coù caáu truùc) Baét ñaàu nhen nhoùm vaøo nhöõng naêm cuoái 60s vaø ñeán ñaàu 90s trôû neân raát phoå bieán trong coâng nghieäp phaàn meàm Nhöõng ngoân ngöõ höôùng ñoái töôïng ñaàu tieân: Smalltalk, Eiffel. Sau ñoù xuaát hieän theâm: Object Pascal, C++, Java… Hình thaønh caùc phöông phaùp phaân tích/thieát keá höôùng ñoái töôïng - Trang 46 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 47. ÑOÁI TÖÔÏNG vaø LÔÙP Moâ hình höôùng ñoái töôïng quan nieäm theá giôùi bao goàm caùc ñoái töôïng (object) sinh soáng vaø töông taùc vôùi nhau Ñoái töôïng bao goàm döõ lieäu: mang moät giaù trò nhaát ñònh taùc vuï: thöïc hieän moät coâng vieäc naøo ñoù - Trang 47 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 48. ÑOÁI TÖÔÏNG vaø LÔÙP (t.t) Lôùp (class) ñònh nghóa moät taäp hôïp caùc taùc vuï vaø thuoäc tính maø ñaëc taû ñaày ñuû caáu truùc vaø haønh vi cuûa caùc ñoái töôïng. Ñoái töôïng (coøn goïi laø minh duï (instance) ) ñöôïc cuï theå hoaù töø lôùp Caùc ngoân ngöõ laäp trình höôùng ñoái töôïng Khai baùo lôùp: töông töï nhö khai baùo moät kieåu do ngöôøi duøng ñònh nghóa Khai baùo ñoái töôïng: bieán cuûa kieåu lôùp - Trang 48 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 49. ÑOÙNG BAO Circle c1 : Circle # Radius: float Radius = 1.3 - x: float x = 3.2 - y: float y = 1.7 + Draw( w: Window) + GetClass( ): String Ñoùng bao: vieäc goäp thuoäc tính vaø taùc vuï trong moät ñoái töôïng ñoàng thôøi giôùi haïn caùch truy xuaát caùc thuoäc tính ñoù (thöôøng phaûi thoâng qua caùc taùc vuï get/set) - Trang 49 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 50. THUOÄC TÍNH Thuoäc tiùnh (attribute) laø moät vuøng coù theå chöùa döõ lieäu (ñôn hoaëc toå hôïp) cuûa lôùp. Döõ lieäu maø thuoäc tính theå hieän naèm trong moät khoaûng giaù trò naøo ñoù ñöôïc xaùc ñònh bôûi kieåu. Giaù trò cuûa taát caû thuoäc tính xaùc ñònh traïng thaùi cuûa ñoái töôïng Ví duï: moät ñoái töôïng cuûa Circle coù (Radius, x, y) = (1.2, 3.4, 5.3) - Trang 50 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 51. THUOÄC TÍNH (t.t) Thuoäc tính coù theå bò che daáu hoaëc truy xuaát ñöôïc töø beân ngoaøi Moät soá ngoân ngöõ laäp trình (vaø UML): public, protected, private Coù 2 loaïi taàm vöïc Taàm vöïc lôùp: thuoäc tính chung cho taát caû caùc ñoái töôïng cuûa moät lôùp Taàm vöïc ñoái töôïng: thuoäc tính cuûa töøng ñoái töôïng (coù theå mang giaù trò khaùc nhau) Baäc cuûa thuoäc tính chæ ra soá löôïng döõ lieäu maø baûn thaân thuoäc tính coù theå naém giöõ: 0..1, 1, *, 5..8 - Trang 51 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 52. TAÙC VUÏ Taùc vuï (operation) laø moät dòch vuï coù theå yeâu caàu töø phía ñoái töôïng ñeå thöïc hieän haønh vi. Daáu hieäu nhaän daïng cuûa taùc vuï (signature) xaùc ñònh caùc thoâng soá coù theå truyeàn cuõng nhö keát quaû traû veà. Phöông thöùc (method) laø phaàn hieän thöïc cuûa taùc vuï - Trang 52 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 53. TAÙC VUÏ (t.t) Taùc vuï coù theå bò che daáu hoaëc truy xuaát ñöôïc töø beân ngoaøi Moät soá ngoân ngöõ laäp trình (vaø UML): public, protected, private Taùc vuï coù theå ñöôïc override trong caùc lôùp con thöøa keá Tröøu töôïng (abstract): khoâng coù hieän thöïc Moät soá ngoân ngöõ laäp trình cho pheùp ñònh nghóa Taùc vuï khôûi taïo (constructor): ñöôïc goïi khi ñoái töôïng môùi taïo ra Taùc vuï huûy (destructor): ñöôïc goïi khi ñoái töôïng saép bò huyû boû - Trang 53 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 54. VÍ DUÏ veà LÔÙP/ÑOÁI TÖÔÏNG - JAVA class abstract HTMLObject { protected static final int LEFT = 0; protected static final int MIDDLE = 1; protected static final int RIGHT = 2; private int alignment = LEFT; protected Vector objects = null; HTMLObject( ){ // constructor objects = new Vector ( 5 ); } public void setAlignment( int algnmt ) { alignment = algnmt; } public int getAlignment( ) { return alignment; } public abstract String toHTML( ); // abstract operation } - Trang 54 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 55. THOÂNG ÑIEÄP Thoâng ñieäp laø moät pheùp goïi taùc vuï ñeán moät ñoái töôïng cuï theå. Thoâng ñieäp bao goàm 3 phaàn Ñoái töôïng ñích Daáu hieäu nhaän daïng cuûa taùc vuï muoán goïi Danh saùch thoâng soá goïi - Trang 55 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 56. THOÂNG ÑIEÄP (t.t) Ñoái vôùi caùc ngoân ngöõ laäp trình Ñoái töôïng ñích: bieán ñoái töôïng hoaëc baûn thaân ñoái töôïng muoán göûi thoâng ñieäp (self, this) Daáu hieäu nhaän daïng cuûa taùc vuï muoán goïi: teân taùc vuï truøng nhau xem caùc thoâng soá goïi Danh saùch thoâng soá goïi: nhö pheùp goïi haøm bình thöôøng, chuù yù kieåu khi truyeàn vaø gaùn keát quaû traû veà Ví duï: aCircle.SetRadius( 3 ); aCircle.Draw( pWnd ); - Trang 56 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 57. BAO GOÄP Bao goäp (aggregation) laø quan heä giöõa hai ñoái töôïng Moät ñoái töôïng bao laáy ñoái töôïng kia Quan heä naøy thöôøng xaûy ra trong theá giôùi thöïc, ví duï Xe hôi bao goàm: baùnh xe, ñoäng cô, khung xe... Trang HTML bao goàm: text, hình aûnh, tieâu ñeà, caùc lieân keát... Checkbox, ComboBox, Slider… naèm trong moät hoäp thoaïi - Trang 57 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 58. BAO GOÄP (t.t) Hai daïng lieân keát giöõa ñoái töôïng nguoàn vaø ñoái töôïng ñích Chaët cheõ: ñoái töôïng ñích ñöôïc taïo ra vaø huyû ñi ñoàng thôøi vôùi ñoái töôïng nguoàn Loûng leûo: chu kyø soáng cuûa hai ñoái töôïng ñoäc laäp nhau Quan heä bao goäp cuõng ñöôïc aùp duïng cho lôùp Moät soá ngoân ngöõ laäp trình hoã trôï caû 2 daïng lieân keát: bieán & con troû - Trang 58 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 59. VÍ DUÏ veà BAO GOÄP - C++ class Geometry { // abstract base class public: Geometry( ); ~Geometry( ); virtual void Draw( Window *pWnd ) = 0; // abstract operation protected: int xPos, yPos; double xScale, yScale; COLORREF color; }; class Group : public Geometry { public: Group( ); ~Group( ); virtual void Draw( Window *pWnd ); // override private: Geometry **ppGeo; // pointer container int geoCount; }; - Trang 59 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 60. THÖØA KEÁ vaø OVERRIDE Thöøa keá (inheritance) laø quan heä giöõa hai lôùp Lôùp con thöøa höôûng taát caû thuoäc tính vaø taùc vuï cuûa lôùp cha Lôùp con (subclass) laø cuï theå hoaù cuûa lôùp cha (superclass); lôùp cha laø toång quaùt hoaù cuûa lôùp con Quan heä naøy cuõng thöôøng ñöôïc ghi nhaän trong theá giôùi thöïc, ví duï Hoå, baùo, soùi ñeàu laø thuù Button, Checkbox vaø Dialog ñeàu laø Window Hình troøn, hình chöõ nhaät, hình ellipse ñeàu laø hình veõ 2D. - Trang 60 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 61. THÖØA KEÁ vaø OVERRIDE (t.t) Hai loaïi thöøa keá: ñôn thöøa keá vaø ña thöøa keá Ñôn thöøa keá: moãi lôùp con coù nhieàu nhaát laø moät lôùp cha Ña thöøa keá: Moãi lôùp con coù moät hoaëc nhieàu lôùp cha Naûy sinh hai vaán ñeà: ñuïng ñoä giöõa teân caùc thaønh phaàn (member) cuûa lôùp cha vaø thöøa keá laïi - Trang 61 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 62. THÖØA KEÁ vaø OVERRIDE (t.t) Lôùp con coù theå override laïi moät soá taùc vuï cuûa lôùp cha. Phaûi giöõa nguyeân daáu veát nhaän daïng (signature) cuûa taùc vuï bò override; chæ ñöôïc thay ñoåi phöông thöùc (phaàn hieän thöïc) cuûa noù Ña soá ngoân ngöõ laäp trình höôùng ñoái töôïng hoã trôï thöøa keá Moät soá ngoân ngöõ ñöa ra khaùi nieäm phöông thöùc aûo (virtual) - Trang 62 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 63. VÍ DUÏ veà THÖØA KEÁ vaø OVERRIDE - JAVA class HTMLDocument extends HTMLObject { private String title = null; // other attributes... HTMLDocument( ){ } public void setTitle( String ttl ) { if ( ttl != null ) title = ttl; } public String getTitle( ) { return title; } public String toHTML( ) { // override StringBuffer html = new StringBuffer; // additional implementation... return html.toString( ); } } - Trang 63 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 64. TÍNH ÑA HÌNH Moät ñoái töôïng mang nhieàu boä maët khaùc nhau: cuûa chính lôùp ñaëc taû noù vaø cuûa caùc lôùp cha tính ña hình (polymorphism) Töông hôïp kieåu: kieåu cuûa lôùp con luoân töông hôïp vôùi kieåu lôùp cha Moät soá ngoân ngöõ laäp trình ñònh nghóa khaùi nieäm lieân keát muoän Haøm ñöôïc goïi ñeå ñaùp öùng caùc thoâng ñieäp ñöôïc xaùc ñònh trong thôøi gian thöïc thi chöù khoâng phaûi bieân dòch Moãi ñoái töôïng coù moät baûng phöông thöùc aûo - Trang 64 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 65. TÍNH ÑA HÌNH (t.t) Window # hWnd: HWND Ví duï: ñoái töôïng http + MoveWindow( ) ñöôïc xem nhö thuoäc + GetClass( ): String kieåu cuûa HttpView, View http : HttpView View vaø Window + GetClass( ): String + GetDocument( ): Document HttpView + GetClass( ): String - Trang 65 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 66. TÍNH VÓNH CÖÛU Chu kyø soáng cuûa ñoái töôïng: khoaûng thôøi gian töø luùc ñoái töôïng ñöôïc taïo ra ñeán luùc noù bò huyû ñi. Thoâng thöôøng chu kyø soáng cuûa ñoái töôïng goùi goïn trong thôøi gian chöông trình thöïc thi - Trang 66 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 67. TÍNH VÓNH CÖÛU (t.t) Chu kyø soáng cuûa ñoái töôïng coù theå vöôït ra khoûi söï thöïc thi cuûa chöông trình tính vónh cöûu (persistence) Ñoái töôïng ñöôïc caát vaøo boä nhôù vónh cöûu khi chöông trình keát thuùc Khi caàn thieát coù theå khoâi phuïc laïi ñoái töôïng vaøo boä nhôù chính Chæ löu tröõ traïng thaùi cuûa ñoái töôïng Ngoân ngöõ C++ vaø Java: streaming - Trang 67 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 68. TOÅNG KEÁT Moâ hình höôùng ñoái töôïng quan nieäm theá giôùi bao goàm caùc ñoái töôïng soáng chung vaø töông taùc vôùi nhau: Caùc ñaëc ñieåm chính Ñoùng bao: moãi ñoái töôïng bao goàm döõ lieäu vaø taùc vuï. Caùc taùc vuï thieát laäp neân haønh vi cuûa ñoái töôïng. Caùc ñoái töôïng ñöôïc phaân loaïi baèng lôùp Caùc ñoái töôïng töông taùc vôùi nhau baèng caùch göûi thoâng ñieäp Giöõa caùc lôùp/ñoái töôïng coù theå toàn taïi quan heä bao goäp vaø thöøa keá Tính ña hình: ñoái töôïng mang nhieàu boä maët Tính vónh cöûu: ñoái töôïng coù theå “nguû” - Trang 68 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 3: Caùc khaùi nieäm cô baûn cuûa moâ hình höôùng ñoái töôïng
  • 69. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Chöông 4 MOÂ HÌNH NGHIEÄP VUÏ VAØ THU THAÄP YEÂU CAÀU ✦ Actor & use-case ✦ Moâ hình use-case - Trang 69 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 70. NOÄI DUNG 4.1. Nhaän dieän caùc vai troø (actor) 4.1.1. Khaùi nieäm actor 4.1.2. Nhaän dieän actor 4.1.3. Actor trong UML 4.2. Nhaän dieän caùc tröôøng hôïp söû duïng (use-case) 4.1.1. Khaùi nieäm use-case 4.1.2. Tìm kieám use-case 4.1.3. Use-case trong UML 4.3. Thieát laäp caùc moái quan heä 4.3.1. Quan heä lieân keát (association) 4.3.2. Quan heä giao tieáp, goäp vaø môû roäng 4.4. Xaây döïng moâ hình use-case - Trang 70 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 71. GIÔÙI THIEÄU Khaùch haøng vaø nhaø phaùt trieån gaëp nhau cuøng thaûo luaän veà yeâu caàu cuûa heä thoáng phaàn meàm caàn xaây döïng Moâ hình nghieäp vuï ñöôïc thieát laäp ñeå hoã trôï caû nhaø phaùt trieån laãn khaùch haøng trong vieäc kieåm chöùng laïi vaø thoáng nhaát yeâu caàu phaàn meàm vaø vai troø caùc taùc nhaân beân ngoaøi - Trang 71 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 72. KHAÙI NIEÄM ACTOR Actor xaùc ñònh moät boä vai troø maø ngöôøi hoaëc vaät seõ ñoùng vai khi töông taùc vôùi heä thoáng phaàn meàm Actor naèm ngoaøi phaïm vi cuûa heä thoáng Chæ quan taâm caùc thoâng ñieäp maø actor göûi hay nhaän Khoâng quan taâm caáu truùc beân trong cuûa actor Phaân loaïi actor Chuû yeáu / Thöù yeáu Tích cöïc / Thuï ñoäng - Trang 72 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 73. NHAÄN DIEÄN CAÙC ACTOR Traû lôøi moät soá caâu hoûi nhö Ai laø ngöôøi söû duïng chöùc naêng chính cuûa heä thoáng ? Ai caàn söï hoã trôï töø heä thoáng ñeå thöïc hieän coâng vieäc thöôøng nhaät cuûa hoï ? Ai phaûi thöïc hieän coâng vieäc baûo döôõng, quaûn trò vaø giöõ cho heä thoáng hoaït ñoäng ? Heä thoáng seõ kieåm soaùt thieát bò phaàn cöùng naøo ? Heä thoáng ñang xaây döïng caàn töông taùc vôùi nhöõng heä thoáng khaùc hay khoâng ? Ai hoaëc vaät theå naøo quan taâm ñeán hay chòu aûnh höôûng bôûi keát quaû maø heä thoáng phaàn meàm taïo ra ? - Trang 73 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 74. ACTOR trong UML Actor ñöôïc bieåu dieãn baèng kyù hieäu hình ngöôøi Actor ñöôïc xem laø moät lôùp (class) coù stereotype laø <<actor>> Giöõa caùc actor coù theå coù quan heä toång quaù hoaù Ví duï: Sinh vieân, giaûng vieân vaø khaùch ñeàu laø ñoäc giaû cuûa heä thoáng quaûn lyù thö vieän Ví duï: moät heä thoáng ñaêng kyù moân hoïc trong tröôøng ñaïi hoïc - Trang 74 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 75. ACTOR trong UML (t.t) Sinh vieân Phoøng Ñaøo Taïo Heä thoáng ñaêng kyù moân hoïc Giaûng vieân Phoøng Taøi Vuï - Trang 75 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 76. ACTOR trong UML (t.t) Quaûn trò vieân Ngöôøi ñaêng kyù mailbox Heä thoáng göûi nhaän mail - Trang 76 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 77. KHAÙI NIEÄM USE-CASE Use-case bieåu dieãn moät chöùc naêng cuûa heä thoáng phaàn meàm Use-case ñöôïc bieåu dieãn baèng moät chuoãi caùc thoâng ñieäp trao ñoåi beân trong heä thoáng vaø moät hoaëc moät soá thoâng ñieäp trao ñoåi vôùi actor Moät soá quy öôùc Use-case luoân luoân ñöôïc baét ñaàu baèng thoâng ñieäp ñeán töø actor Use-case phaûi hoaøn taát: chuoãi thoâng ñieäp phaûi keát thuùc baèng keát quaû cuï theå. Loãi thöôøng gaëp: chia nhoû use-case trôû thaønh nhöõng chöùc naêng vuïn vaët - Trang 77 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 78. KHAÙI NIEÄM USE-CASE (t.t) Ñieåm môû roäng laø moät vò trí trong use-case maø taïi ñoù coù theå cheøn chuoãi söï kieän cuûa moät use-case khaùc Use-case coù theå chöùa ñieàu kieän reõ nhaùnh, xöû lyù loãi, ngoaïi leä... Minh duï cuûa use-case laø kòch baûn (scenario): mieâu taû cuï theå trình töï caùc söï kieän - Trang 78 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 79. TÌM KIEÁM USE-CASE Traû lôøi moät soá caâu hoûi nhö Actor yeâu caàu chöùc naêng gì cuûa heä thoáng ? Actor caàn phaûi ñoïc, taïo, xoaù, söûa ñoåi hoaëc löu tröõ thoâng tin naøo ñoù cuûa heä thoáng khoâng ? Actor caàn thieát phaûi ñöôïc caûnh baùo veà nhöõng söï kieän trong heä thoáng, hay actor caàn phaûi baùo hieäu cho heä thoáng veà vaán ñeà naøo ñoù khoâng ? Heä thoáng coù theå hoã trôï moät soá coâng vieäc thöôøng nhaät cuûa actor naøo ñoù hay khoâng ? - Trang 79 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 80. TÌM KIEÁM USE-CASE (t.t) Moät soá caâu hoûi khaùc caàn chuù yù Heä thoáng caàn döõ lieäu input/ouput naøo ? Döõ lieäu ñoù ñeán töø ñaâu ? Nhöõng khoù khaên naøo lieân quan ñeán hieän thöïc cuûa heä thoáng hieän taïi (chaúng haïn heä thoáng quaûn lyù baèng giaáy tôø neân ñöôïc thay theá baèng heä thoáng quaûn lyù treân maùy tính) ? - Trang 80 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 81. USE-CASE trong UML Use-case ñöôïc bieåu dieãn baèng hình ellipse Giöõa use-case vaø actor thöôøng coù quan heä lieân keát Giöõa caùc use-case cuõng coù quan heä lieân keát hoaëc toång quaùt hoaù Ví duï: moät heä thoáng ñaêng kyù moân hoïc theo tín chæ trong tröôøng ñaïi hoïc - Trang 81 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 82. USE-CASE trong UML (t.t) <<communicate>> Sinh vieân Phoøng Ñaøo Taïo Quaûn lyù MH Ñaêng kyù hoïc <<extend>> Ñaêng kyù daïy Quaûn lyù SV Theâm SV môùi Giaûng vieân - Trang 82 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 83. THIEÁT LAÄP CAÙC MOÁI QUAN HEÄ Quan heä giöõa actor vôùi actor Quan heä giöõa actor vôùi use-case Quan heä giöõa use-case vôùi use-case UML ñöa ra quan heä lieân keát (association) - Trang 83 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 84. QUAN HEÄ LIEÂN KEÁT Quan heä lieân keát chæ ra moät quan heä coù yù nghóa giöõa hai beân Trong thöïc teá: haønh khaùch vôùi laùi xe, sinh vieân vôùi giaùo vieân, giaûng vieân vôùi moân hoïc… Moät soá tính chaát lieân quan Teân cuûa lieân keát Moät chieàu hay 2 chieàu Baäc: soá löôïng thöïc theå tham gia vaøo lieân keát taïi moãi beân - Trang 84 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 85. QUAN HEÄ LIEÂN KEÁT trong UML UML bieåu dieãn lieân keát nhö laø moät ñoaïn thaúng (hai chieàu) hoaëc muõi teân (moät chieàu) Coù theå aùp duïng stereotype: <<include>> <<extend>> <<communicate>> ... - Trang 85 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 86. LIEÂN KEÁT trong MOÂ HÌNH NGHIEÄP VUÏ Lieân keát laø quan heä duy nhaát giöõa actor vaø use-case Coù theå laø moät chieàu hoaëc hai chieàu actor kích hoaït use-case vaø nhaän keát quaû veà: lieân keát 2 chieàu actor kích hoaït use-case, khoâng quan taâm keát quaû veà: lieân keát 1 chieàu 1 * Ñaët haøng Ngöôøi baùn haøng - Trang 86 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 87. QUAN HEÄ GIAO TIEÁP Laø quan heä lieân keát coù stereotype laø <<communicate>> Duøng ñeå lieân keát giöõa actor vôùi use-case maø noù kích hoaït <<communicate>> Ñaêng kyù daïy Giaûng vieân - Trang 87 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 88. QUAN HEÄ GOÄP Laø quan heä lieân keát coù stereotype laø <<include>> Duøng ñeå lieân keát giöõa 2 use-case Trong use-case nguoàn coù moät ñieåm môû roäng maø taïi ñoù baét buoäc phaûi cheøn use-case ñích vaøo - Trang 88 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 89. QUAN HEÄ GOÄP (t.t) Taïi ñieåm môû roäng, dieãn tieán cuûa use-case nguoàn taïm thôøi ngöøng laïi ñeå chuyeån sang dieãn tieán cuûa use-case ñích Khi keát thuùc use-case ñích, dieãn tieán cuûa use-case nguoàn laïi tieáp tuïc <<include>> Tìm kieám Ñaêng nhaäp - Trang 89 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 90. QUAN HEÄ MÔÛ ROÄNG Laø quan heä lieân keát coù stereotype laø <<extend>> Duøng ñeå lieân keát giöõa 2 use-case Trong use-case nguoàn coù moät ñieåm môû roäng maø taïi ñoù coù theå (hoaëc khoâng) phaûi cheøn use-case ñích vaøo Cheøn hay khoâng phuï thuoäc vaøo ñieàu kieän reõ nhaùnh hoaëc töông taùc töø phía actor - Trang 90 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 91. QUAN HEÄ MÔÛ ROÄNG (t.t) Taïi ñieåm môû roäng, neáu ñöôïc môû roäng thì dieãn tieán cuûa use-case nguoàn taïm thôøi ngöøng laïi ñeå chuyeån sang dieãn tieán cuûa use-case ñích Khi keát thuùc use-case ñích, dieãn tieán cuûa use-case nguoàn laïi tieáp tuïc <<extend>> Tìm kieám Ñaêng kyù ñaët choã - Trang 91 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 92. XAÂY DÖÏNG MOÂ HÌNH USE-CASE Caùc yeâu caàu cuûa phaàn meàm ñöôïc mieâu taû trong moâ hình use-case Moâ hình use-case bao goàm caùc löôïc ñoà use-case (use-case diagram) vaø (coù theå) moät soá package Moãi löôïc ñoà use-case bao goàm caùc actor, use-case vaø caùc moái quan heä Coù theå söû duïng package ñeå gom moät soá use-case lieân quan taïo thaønh moät boä chöùc naêng con cuûa heä thoáng - Trang 92 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 93. XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t) Caùc quan heä coù theå xaûy ra trong löôïc ñoà use-case Quan heä lieân keát giöõa actor vaø use-case: moät chieàu hoaëc hai chieàu, thöôøng coù stereotype laø <<communicate>> Quan heä môû roäng hay goäp giöõa 2 use-case: quan heä lieân keát vôùi stereotype <<extend>> hay <<include>> Quan heä toång quaùt hoaù (generalization) giöõa caùc actor: nhieàu actor coù vai troø cuûa moät actor tröøu töôïng Quan heä toång quaùt hoaù giöõa caùc use-case: nhieàu use-case laø tröôøng hôïp cuï theå cuûa moät use-case tröøu töôïng - Trang 93 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 94. XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t) fee summary Prints timetable Makes timetable Student print request <<communicate>> Finance <<communicate>> timetable command Registers courses Removes students People Administration <<include>> Manages course <<extend>> <<include>> Lecturer Reads courses <<include>> Manages lecturers <<include>> Adds students <<extend>> <<include>> Login <<include>> Manages students Undertakes courses - Trang 94 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 95. XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t) <<communicate>> Forwards Removes mailbox Subcriber <<communicate>> <<extend>> <<extend>> Views mail <<include>> Administrator Replies <<communicate>> <<communicate>> <<extend>> <<include>> <<include>> Adds mailbox Login Composes - Trang 95 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 96. XAÂY DÖÏNG MOÂ HÌNH USE-CASE (t.t) <<include>> <<extend>> models imports <<communicate>> initializes <<communicate>> model command import command run command <<communicate>> export command sets appearance exports <<communicate>> save command Viewer toggles light saves model <<communicate>> <<extend>> close command toggles mode exits sets eye sets viewing - Trang 96 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 97. TOÅNG KEÁT Moâ hình nghieäp vuï theå hieän caùc chöùc naêng cuûa heä thoáng phaàn meàm vaø caùc thöïc theå lieân quan UML ñònh nghóa moâ hình use-case bao goàm caùc actor, caùc use-case vaø caùc löôïc ñoà use-case Tieáp theo moâ hình nghieäp vuï laø moâ hình caùc ñoái töôïng phaân tích - Trang 97 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 4: Moâ hình nghieäp vuï vaø thu thaäp yeâu caàu
  • 98. Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin Chöông 5 PHAÂN TÍCH YEÂU CAÀU HÖÔÙNG ÑOÁI TÖÔÏNG ✦ Nhaän dieän ñoái töôïng/lôùp ✦ Löôïc ñoà lôùp - Trang 98 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 99. NOÄI DUNG 5.1. Nhaän dieän caùc ñoái töôïng/lôùp 5.1.1. Ñoái töôïng/lôùp thöïc theå 5.1.2. Ñoái töôïng/lôùp bieân 5.1.3. Ñoái töôïng/lôùp ñieàu khieån 5.2. Nhaän dieän caùc thuoäc tính 5.2.1. Kieåu döõ lieäu cuûa thuoäc tính 5.2.2. Baäc cuûa thuoäc tính 5.2.3. Möùc ñoä truy xuaát thuoäc tính 5.3. Nhaän dieän caùc taùc vuï - Trang 99 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 100. NOÄI DUNG (t.t) 5.4. Nhaän dieän lôùp cô sôû 5.4.1. Nhaän dieän caùc thuoäc tính/taùc vuï chung 5.4.2. Quan heä toång quaùt hoùa (generalization) 5.5. Nhaän dieän caùc moái quan heä 5.5.1. Quan heä lieân keát (association) 5.5.2. Quan heä bao goäp (aggregation) 5.6. Xaây döïng löôïc ñoà lôùp 5.7. Thieát laäp caùc package - Trang 100 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 101. GIÔÙI THIEÄU Moâ hình nghieäp vuï bieåu dieãn caùc chöùc naêng ñoáii töôïng/lôùp ñoá töôïng/lôùp -- quan heä quan heä phaàn meàm caàn xaây döïng döôùi daïng caùc use-case Moâ hình phaân tích seõ tìm kieám caùc ñoái töôïng “soáng” trong ngöõ caûnh cuûa phaàn meàm Caùc ñoái töôïng seõ töông taùc vôùi nhau ñeå taïo neân caùc chöùc naêng moâ taû bôûi use-case - Trang 101 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 102. GIÔÙI THIEÄU (t.t) Moâ hình phaân tích taäp trung moâ taû vai troø vaø caáu truùc cuûa caùc ñoái töôïng Chöa quan taâm ñeán haønh vi cuï theå vaø nhieäm vuï chi tieát cuûa chuùng trong ngöõ caûnh cuûa heä thoáng Nguyeân taéc: moâ hình phaân tích phaûi ñoäc laäp vôùi o/s, ngoân ngöõ laäp trình, coâng cuï phaùt trieån - Trang 102 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 103. NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP Döïa vaøo ñaëc taû cuûa töøng use-case ñeå tìm kieám caùc ñoái töôïng Caùc ñoái töôïng thöôøng xuaát hieän trong caùc danh töø hay nhoùm danh töø Moät soá löu yù Khoâng neân duøng ñoái töôïng ñeå bieåu dieãn moät döõ lieäu ñôn (neân xem laø thuoäc tính cuûa ñoái töôïng khaùc) Ñoái töôïng/lôùp phaûi thöïc söï caàn thieát cho söï hoaït ñoäng cuûa heä thoáng Ñoái töôïng/lôùp ≠ baûng cô sôû döõ lieäu Ñoái töôïng/lôùp ≠ actor - Trang 103 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 104. NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t) Phaân loaïi ñoái töôïng/lôùp Ñoái töôïng thöïc theå (entity): bieåu dieãn caùc thoâng tin thieát yeáu cuûa heä thoáng, coù theå ñöôïc löu trong cô sôû döõ lieäu Ñoái töôïng bieân (boundary): thöïc hieän chöùc naêng giao tieáp vôùi actor Ñoái töôïng ñieàu khieån (control): ñieàu khieån caùc ñoái töôïng khaùc - Trang 104 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 105. NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t) Trong UML, lôùp ñöôïc bieåu dieãn baèng moät hình chöõ nhaät goàm 3 phaàn: teân, caùc thuoäc tính vaø caùc taùc vuï Coù theå aùp duïng stereotype cho lôùp: <<entity>>, <<boundary>>, <<control>>... Ñoái töôïng cuõng ñöôïc bieåu dieãn baèng hình chöõ nhaät, thoâng thöôøng goàm 2 phaàn: teân ñoái töôïng + teân lôùp (ñöôïc gaïch chaân), giaù trò caùc thuoäc tính (traïng thaùi cuûa ñoái töôïng) - Trang 105 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 106. NHAÄN DIEÄN ÑOÁI TÖÔÏNG/LÔÙP (t.t) HTMLObject # alignment: int + GetAlignment( ): int + toHTML( ): String HTMLDocument doc : HTMLDocument alignment = MIDDLE - title: String title = “A document” + GetTitle( ): String + toHTML( ): String - Trang 106 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 107. ÑOÁI TÖÔÏNG/LÔÙP THÖÏC THEÅ Bieåu dieãn cho caùc thöïc theå xuaát hieän moät caùch töï nhieân trong heä thoáng Thoâng tin veà caùc ñoái töôïng thöïc theå coù theå phaûi ñöôïc löu tröõ laâu daøi (database, file...) Trong UML, ñöôïc gaùn stereotype <<entity>> Deã nhaän dieän caùc thuoäc tính cuûa chuùng - Trang 107 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 108. ÑOÁI TÖÔÏNG/LÔÙP THÖÏC THEÅ (t.t) Ví duï: Message Ñoái vôùi heä thoáng ñaêng kyù moân hoïc heä tín <<entity>> chæ qua WEB, nhaän dieän caùc ñoái töôïng thöïc # subject: String # sent: Date theå nhö: thoâng tin SV, thoâng tin GV, nhoùm # content: String lôùp hoïc, ñaêng kyù nhoùm, soå tay sinh vieân… + GetSubject( ): String Ñoái vôùi heä thoáng mail, nhaän dieän caùc ñoái + toString( ): String töôïng thöïc theå nhö: hoäp thö, thoâng ñieäp mail… Ñoái töôïng ñöôøng ñoàng möùc, ñöùt gaõy vaø baûn ñoà trong chöông trình veõ beà maët ñòa hình - Trang 108 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 109. ÑOÁI TÖÔÏNG/LÔÙP BIEÂN Thöïc hieän chöùc naêng giao tieáp vôùi actor Thöôøng chöùa caùc phaàn töû hoaëc ñieàu khieån giao dieän ngöôøi duøng (nuùt nhaán, hoäp danh saùch, tuyø choïn, menu...) Trong UML, ñöôïc gaùn stereotype <<boundary>> Khoù nhaän bieát caùc thuoäc tính vaø taùc vuï trong moâ hình phaân tích - Trang 109 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 110. ÑOÁI TÖÔÏNG/LÔÙP BIEÂN (t.t) Ví duï: MailView Ñoái vôùi heä thoáng ñaêng kyù moân hoïc heä <<boundary>> tín chæ qua WEB, nhaän dieän caùc ñoái töôïng bieân nhö: RegisterForm, StudentForm… Ñoái vôùi heä thoáng mail, nhaän dieän caùc ñoái töôïng bieân nhö: MailView, MailCompose... - Trang 110 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 111. ÑOÁI TÖÔÏNG/LÔÙP ÑIEÀU KHIEÅN Coù nhieäm vuï ñieàu khieån caùc lôùp khaùc hoaëc (Ñôn giaûn hôn) Nhöõng lôùp khoâng phaûi laø lôùp thöïc theå vaø lôùp bieân Trong UML, ñöôïc gaùn stereotype <<control>> Lôùp bieân thöôøng coù quan heä lieân keát hoaëc phuï thuoäc vôùi caùc lôùp khaùc - Trang 111 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 112. ÑOÁI TÖÔÏNG/LÔÙP ÑIEÀU KHIEÅN (t.t) Command <<control>> Ví duï: Ñoái töôïng bieåu dieãn + Execute( ) + Reexecute( ) moät soá leänh thoâng + Unexecute( ) # Do( ) thöôøng nhö caét, daùn, thay ñoåi thoâng soá nhìn PasteCommand BgCommand <<control>> <<control>> trong hieån thò ñoà hoaï… + Execute( ) + Execute( ) + Reexecute( ) + Reexecute( ) + Unexecute( ) + Unexecute( ) # Do( ) # Do( ) - Trang 112 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 113. NHAÄN DIEÄN CAÙC THUOÄC TÍNH Döïa vaøo ñaëc taû cuûa töøng use-case, tìm kieám caùc danh töø hoaëc nhoùm danh töø lieân quan ñeán ñoái töôïng ñang xeùt Traû lôøi caâu hoûi: nhöõng thaønh phaàn naøo caáu thaønh ñoái töôïng ñang xeùt ? Löu yù: cuøng moät ñoái töôïng trong caùc ngöõ caûnh khaùc nhau chuùng ta coù theå tìm ñöôïc caùc thuoäc tính khaùc nhau - Trang 113 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 114. NHAÄN DIEÄN CAÙC THUOÄC TÍNH (t.t) Neân xaùc ñònh (tuy nhieân khoâng baét buoäc) trong moâ hình phaân tiùch Kieåu cuûa thuoäc tính: moät soá kieåu cô baûn Baäc cuûa thuoäc tính: soá ít hoaëc soá nhieàu Visibility cuûa thuoäc tính: möùc ñoä cho pheùp truy xuaát thuoäc tiùnh töø beân ngoaøi UML: thuoäc tính ñöôïc mieâu taû töôøng minh hoaëc thoâng qua quan heä vôùi caùc lôùp khaùc - Trang 114 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 115. KIEÅU DÖÕ LIEÄU CUÛA THUOÄC TÍNH Moät soá kieåu cô baûn cuûa caùc ngoân ngöõ laäp trình: integer, float, double, long, char... Moät soá kieåu cô baûn khaùc: string, date, time... UML cho pheùp ñònh nghóa taát caû caùc kieåu döõ lieäu treân - Trang 115 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 116. BAÄC CUÛA THUOÄC TÍNH Baäc cuûa thuoäc tính: soá ít hay soá nhieàu Neáu thuoäc tính ñöôïc ñaëc taû töôøng minh: duøng daáu [] ñeå chæ soá nhieàu hoaëc soá löôïng chính xaùc Tröôøng hôïp thuoäc tính ñöôïc mieâu taû thoâng qua quan heä vôùi caùc lôùp khaùc: UML cho pheùp theå hieän baäc treân quan heä (ví duï: 1, 0, *, 2..9, 0..n) - Trang 116 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 117. MÖÙC ÑOÄ TRUY XUAÁT THUOÄC TÍNH UML ñònh nghóa 3 möùc ñoä truy xuaát thuoäc tính (visibility) public (+): coù theå truy xuaát thuoäc tính töø taát caû caùc vò trí khaùc nhau protected (#): baûn thaân lôùp ñang xeùt vaø caùc lôùp con cuûa noù coù theå truy xuaát thuoäc tính private (-): chæ coù lôùp ñang xeùt coù theå truy xuaát thuoäc tính Thoâng thöôøng neân ñaët möùc ñoä truy xuaát thuoäc tính laø private hoaëc protected (cho caùc lôùp cô sôû), khoâng neân laø public. Thuoäc tính neân ñöôïc truy xuaát thoâng qua taùc vuï get/set - Trang 117 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 118. NHAÄN DIEÄN CAÙC TAÙC VUÏ Döïa vaøo ñaëc taû cuûa töøng use-case, tìm kieám caùc ñoäng töø hoaëc nhoùm ñoäng töø lieân quan ñeán ñoái töôïng ñang xeùt Chuù yù xem ñoái töôïng ñöôïc taïo ra vaø bò huyû boû ñi nhö theá naøo ? Trong thôøi gian ñoù noù göûi/nhaän thoâng ñieäp ra sao ? Caùc ñoái töôïng bieân coù caùc taùc vuï nhaän leänh töø actor. - Trang 118 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 119. NHAÄN DIEÄN CAÙC TAÙC VUÏ (t.t) Xem xeùt möùc ñoä truy xuaát cuûa taùc vuï töông töï nhö ñoái vôùi caùc thuoäc tính; caùc taùc vuï thöôøng coù visibility laø + hoaëc # Moät soá taùc vuï khoâng xuaát hieän moät caùch töï nhieân trong moâ hình phaân tích moâ hình thieát keá seõ nghieân cöùu kyõ traùch nhieäm vaø haønh vi cuûa töøng ñoái töôïng - Trang 119 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 120. VÍ DUÏ veà NHAÄN DIEÄN THUOÄC TÍNH StudentInfo <<entity>> LecturerInfo <<entity>> Heä thoáng ñaêng kyù - name: String - name: String moân hoïc heä tín chæ qua - code: Long - code: String - dateOfBirth: Date - dateOfBirth: String - addr: String - addr: String WEB - Nhaän dieän caùc - acaYear: Date - degree - department - title: String thuoäc tính cho caùc ñoái - home: String - division töôïng: StudentInfo, - socialAid - health - experience: Date + GetName( ): String + GetCode( ): Long + GetName( ): String + GetCode( ): String LecturerInfo - Trang 120 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng
  • 121. VÍ DUÏ veà NHAÄN DIEÄN THUOÄC TÍNH (t.t) CourseOfferring Catalog Heä thoáng ñaêng kyù <<entity>> <<entity>> - courseName: String - acaYear: Date moân hoïc heä tín chæ qua - courseCode: String - semester - offering: int WEB - Nhaän dieän caùc - session - credit: int - prerequisite thuoäc tính cho caùc ñoái töôïng: CourseOffering, Catalog - Trang 121 - Khoa Coâng Ngheä Thoâng Tin - Moân Coâng Ngheä Phaàn Meàm - Chöông 5: Phaân tích yeâu caàu höôùng ñoái töôïng