SlideShare a Scribd company logo
1 of 32
Download to read offline
Phân tích và thiết kế
  hướng đối tượng với UML


Bài   1.   Mô hình hoá   hướng đối tượng
Bài   2.   Mô hình hoá   môi trường và nhu cầu
Bài   3.   Mô hình hoá   cấu trúc
Bài   4.   Mô hình hoá   hành vi
Bài   5.   Thiết kế


                                                 1
Giới thiệu môn học
 Giảng viên : Nguyễn Hữu Đức
    Điện thoại : 0975651915
    Email: ducnh-fit@mail.hut.edu.vn
    Email: ducnh.hut@gmail.com
 Thời gian:
 Tài liệu tham khảo:
    Nguyễn Văn Ba, “Phát triển hệ thống hướng đối tượng với UML
     2.0 và C++”
    Grady Booch, “Object Oriented Analysis and Design with
     Applications”
    Philippe Kruchten, “The Rational Unified Process – an
     introduction”
    Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,
     “Design Patterns – Elements of Reusable Object Oriented
     Software”                                                     2
Bài 1


 MÔ HÌNH HOÁ HƯỚNG ĐỐI TƯỢNG

1. Giới thiệu môn học
2. Đại cương về tiếp cận hướng đối
   tượng
3. Đại cương về mô hình hoá
4. Ngôn ngữ UML
5. Tiến trình RUP
                                     3
Tiếp cận hướng đối tượng
 Đối tượng (object)
   Là thực thể đóng gói cả dữ liệu và hành vi
   Đối tượng được phân loại thành các lớp (class)
   Mỗi đối tượng là một cá thể (instance) của lớp
 Lớp
   Là một “loại” các đối tượng có chung thuộc
    tính, thao tác, quan hệ và ngữ nghĩa
   Tất cả các đối tượng đều là cá thể của lớp nào
    đó

                                                     4
Tiếp cận hướng đối tượng


            báchkhoa: TrườngĐH
Đối tượng

            sưphạm: TrườngĐH




 Lớp            TrườngĐH




                                 5
Tiếp cận hướng đối tượng
 Thuộc tính
   Là tên chung được đặt cho một dữ kiện về
    trạng thái của các đối tượng trong một lớp
   Thông thường được che dấu
 Thao tác
   Mô tả hành vi của đối tượng thuộc lớp
   Được xây dựng như các phương thức
    Tham số vào
    Kết quả trả về
    …

                                                 6
Tiếp cận hướng đối tượng
 Tính đóng gói (encapsulation)
   Dữ liệu và hành vi được giữ bên trong lớp và
    được che giấu đối với thế giới bên ngoài
   Liên kết bên trong : mạnh
   Liên kết bên ngoài : yếu




                                                   7
Tiếp cận hướng đối tượng
 Khái quát hóa (generalization)
   Là quan hệ giữa lớp khái quát và lớp cụ thể
   Lớp cụ thể thường có thêm các thuộc tính và
    hành vi so với lớp khái quát
 Kế thừa (Inheritance)
   Là kỹ thuật để thực hiện việc khái quát hóa




                                                  8
Tiếp cận hướng đối tượng
                        MathematicalObj ect



               Shape           Point          Matrix



              Shape2D             Shape3D



    Ellipse      Polygon           Line         Plane



    Circle     Quadrilateral



                Rectangle


                                                        9
Tiếp cận hướng đối tượng
 Đa hình (polymorphism)
   Là khả năng đối tượng thuộc nhiều lớp khác
    nhau có thể trả lời khác nhau cho cùng một
    thông điệp
   Poly = nhiều, morphism = hình thái




                                                 10
Tiếp cận hướng đối tượng




                           11
1. Đại cương về mô hình hoá
1.1 Mô hình
Mô hình là một dạng biểu diễn trừu tượng của một
  hệ thống thực, được diễn tả:
    ở một mức độ trừu tượng hoá nào đó,
    theo một góc nhìn nào đó,
    bởi một hình thức diễn tả hiểu được (chẳng
    hạn văn bản, đồ thị)
Diễn tả hệ thống bằng mô hình (bao gồm cả khi
  phân tích và khi thiết kế) được gọi là mô hình
  hoá.


                                                   12
1. Đại cương về mô hình hoá



1.2 Phương pháp mô hình hoá
Là sự kết hợp của ba thành phần:
   một ký pháp,
   một tiến trình,
   một (hay một số) công cụ hỗ trợ (CASE).
1.3 Hai xu hướng mô hình hoá
   hướng chức năng,
   hướng đối tượng.


                                              13
2. Ngôn ngữ mô hình hoá UML

2.1 Xuất xứ
   1/94 hình thành dự án (Booch, Rumbaugh),
   10/95 UML 0.,
   6/97 UML 0.9,
   1/97 UML 1.1, OMG công nhận là chuẩn,
   6/98 UML 1.2,
   10/98 UML 1.3,
   5/2001 UML 1.4,
   2004 UML 2.0



                                               14
2. Ngôn ngữ mô hình hoá UML


2.2 Các góc nhìn của UML

     Góc nhìn                 Góc nhìn
     thiết kế                 thực thi
                  Góc nhìn
                 ca sử dụng
     Góc nhìn                 Góc nhìn
     quá trình                 bố trí



                                         15
2. Ngôn ngữ mô hình hoá UML


2.3 Các biểu đồ của UML
   Các biểu đồ về cấu trúc:
     Biểu đồ lớp,                    Biểu đồ đối tượng,
     Biểu đồ bố trí,                       Biểu đồ gói,
     Biểu đồ thành phần,             Biểu đồ cấu trúc đa hợp,
   Các biểu đồ về hành vi:
       Biểu   đồ   ca sử dụng,       Biểu đồ hoạt động,
       Biểu   đồ   máy trạng thái,  Biểu đồ trình tự
       Biểu   đồ   giao tiếp,        Biểu đồ thời khắc,
       Biểu   đồ   bao quát tương tác.
                                                                  16
Biểu đồ lớp (class diagram)

   Cấu trúc tĩnh của lớp
       Thuộc tính
       Phương thức
       Quan hệ giữa các lớp
          Liên kết
          Khái quát hóa         Person
                                                    use
                                                                Computer

          Phụ thuộc           +name: String                  +model: String
                               +age: Integer 0..1         *   +memory: Integer




                                                                                 17
Biểu đồ đối tượng (Object diagram)

   Ảnh của hệ thống tại một thời điểm


                                 pc1 : Computer
                               model = IBM X40
           director : Person   memory = 1000

           name = John Smith
           age = 40


                               pc2 : Computer
                               model = Dell
                               memory = 512




                                                  18
Biểu đồ thành phần (component diagram)

   Cấu trúc vật lý của chương trình
       Thành phần
       Mối liên quan

             <<document>>   <<executable>>   <<library>>
               find.html      find.exe       nateng.dll




             <<document>>     <<library>>
              index.html       dbacs.dll




                                                           19
Biểu đồ bố trí (deployment diagram)

   Bố trí, trình bày kiến trúc vật lý


                                  Console




           WebClient   W Server
                        eb                  DB Server




                                                        20
Biểu đồ gói (Package Diagram)

   Gom nhóm các phần tử
   Phân rã hệ thống

         User Service   Business Service   Data Service




                                                          21
Biểu đồ cấu trúc đa hợp (composite structure
       diagram)

   Diễn tả cấu trúc bên trong của một loài

                                   Car
             +rearWheels
             +engine


                                 connect
                    rearWheels             engine




                                                      22
Biểu đồ ca sử dụng (Use case diagram)

   Trình bày chức năng hệ thống dưới góc
    độ người sử dụng
                       KyHopDong




                       ThongKeBan
         KhachHang                      NhanVienBanHang




                     ThongKeKhachHang




                                                          23
Biểu đồ trình tự (sequence diagram)

   Trình bày một hoạt cảnh (senario) giữa các đối tượng
   Giao tiếp giữa các đối tượng theo thời gian
                                         Máy BH
          Người                                                    Khách
          BH      kiểmhàng(mãsố,sốlượng
    Với mỗi       )
    mặt hàng            giá&môt                         giá&môt
                        ả                               ả
                      kếtthúcHàng()

                        tổngtiền                        tổngtiền

                                        tiềnphảitrả

                                   trảtiềnmặt(sốtiền)

                   nhậptiềntrả(sốtiền)

                     trảlại(sốtiền)

                                          tiềndư

                      phiếuthanhtoán

                                      phiếuthanhtoán

                                                                           24
Biểu đồ giao tiếp (communication diagram)

   Trình bày sự tương tác theo kết nối




                                                   25
Biểu đồ máy trạng thái ( Statechart diagram)

   Biểu diễn các phản ứng của hệ thống (đối
    tượng) trước các tình huống khác nhau




                                                     26
Biểu đồ hoạt động

   Trình bày luồng hoạt động dich chuyển
    (tuần tự, rẽ nhánh, song song




                                            27
Biểu đồ bao quát tương tác (Interaction
      overview diagram)

   Là biến thể của biểu đồ hoạt động với các
    nút là các biểu đồ tương tác khác




                                                28
Biểu đồ thời khắc (Timing diagram)

   Diễn tả các giai đoạn trải qua của 1 hay
    nhiều đối tượng




                                               29
2. Ngôn ngữ mô hình hoá UML


2.4 Mở rộng ý nghĩa của các yếu tố MH
    Đặc tả,
     Tô điểm,
     Khuôn dập,
     Tính chất và giá trị gắn nhãn,
     Ràng buộc.
2.5 Mô hình hoá với UML
    Theo nhiều góc nhìn,
   Theo nhiều mức độ trừu tượng.


                                        30
3. Tiến trình RUP
3.1 Các nguyên tắc cơ bản của RUP
    Lặp và tăng trưởng,
   Tập trung vào kiến trúc,
   Dẫn dắt theo các ca sử dụng,
   Khống chế bởi các nguy cơ.
3.2 Các pha và công đoạn của RUP
   RUP gồm 4 pha: Khởi đầu, Triển khai, Xây dựng,
    Chuyển giao.
   Mỗi pha gồm nhiều vòng lặp.
   Mỗi vòng lặp thường gồm năm công đoạn: Xác định
    nhu cầu, Phân tích, Thiết kế, Cài đặt, Đánh giá


                                                      31
Một tiến trình 10 bước
 Khởi đầu                     1. Nghiên cứu sơ bộ



              2. MHH ca sử dụng                      3. MHH lĩnh vực ứng dụng


Triển khai                        4. Tìm lớp tham gia Ca SD


                     5. MHH tương tác                   6. MHH ứng xử



              7. Làm nguyên mẫu                 8. Thiết kế hệ thống


Xây dựng và
                              9. Thiết kế chi tiết
chuyển giao


                                  10. Cài đặt


                                                                                32

More Related Content

What's hot

What's hot (18)

Lesson06
Lesson06Lesson06
Lesson06
 
Bai08 lap trinhtongquat
Bai08 lap trinhtongquatBai08 lap trinhtongquat
Bai08 lap trinhtongquat
 
Lecture02(1)
Lecture02(1)Lecture02(1)
Lecture02(1)
 
Chuong 6 rational rose slide
Chuong 6 rational rose slideChuong 6 rational rose slide
Chuong 6 rational rose slide
 
OOP Review - Ôn tập Hướng Đối Tượng
OOP Review - Ôn tập Hướng Đối TượngOOP Review - Ôn tập Hướng Đối Tượng
OOP Review - Ôn tập Hướng Đối Tượng
 
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn, 9đ
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn, 9đPhân loại giới tính người dùng mạng xã hội dựa vào tin nhắn, 9đ
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn, 9đ
 
Oop 0
Oop 0Oop 0
Oop 0
 
Hdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vbHdth01 ltudql2-lap tinhduongdoituong-vb
Hdth01 ltudql2-lap tinhduongdoituong-vb
 
4a domain model
4a domain model4a domain model
4a domain model
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Lesson07
Lesson07Lesson07
Lesson07
 
29421864 cosodulieu02
29421864 cosodulieu0229421864 cosodulieu02
29421864 cosodulieu02
 
Oop unit 13 tổng quan về uml
Oop unit 13 tổng quan về umlOop unit 13 tổng quan về uml
Oop unit 13 tổng quan về uml
 
Week04 review
Week04 reviewWeek04 review
Week04 review
 
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
Lập Trình Hướng Đối Tượng trong Java ( Vietnamese )
 
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGBÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
 
Oop unit 01 tổng quan lập trình hướng đối tượng
Oop unit 01 tổng quan lập trình hướng đối tượngOop unit 01 tổng quan lập trình hướng đối tượng
Oop unit 01 tổng quan lập trình hướng đối tượng
 
bai tap oop
bai tap oopbai tap oop
bai tap oop
 

Viewers also liked

13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...leethinh
 
[2012 02 03]clean_code 5장
[2012 02 03]clean_code 5장[2012 02 03]clean_code 5장
[2012 02 03]clean_code 5장Jong Pil Won
 
Games otd sales presentation
Games otd sales presentationGames otd sales presentation
Games otd sales presentationgamesotd
 
2b comparisons of inequality
2b comparisons of inequality2b comparisons of inequality
2b comparisons of inequalityLaura Riddle
 
Understanding Interest Rates June 2010
Understanding Interest Rates June 2010Understanding Interest Rates June 2010
Understanding Interest Rates June 2010WealthEngine
 
4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishraIBM
 
Libary 2.0
Libary 2.0Libary 2.0
Libary 2.0avanwert
 
The Hardest Thing To Say To Someone 1
The Hardest Thing To Say To Someone 1The Hardest Thing To Say To Someone 1
The Hardest Thing To Say To Someone 1pmizuo
 
Opportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonOpportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonIBM
 
200901011454110 當前學校品德教育之省思及我見
200901011454110 當前學校品德教育之省思及我見200901011454110 當前學校品德教育之省思及我見
200901011454110 當前學校品德教育之省思及我見Kuo-Yi Chen
 
Chapter 7 presentation
Chapter 7 presentationChapter 7 presentation
Chapter 7 presentationsheila77reyes
 
No Business is Boring! How to Create Exciting Content for Unglamorous Industries
No Business is Boring! How to Create Exciting Content for Unglamorous IndustriesNo Business is Boring! How to Create Exciting Content for Unglamorous Industries
No Business is Boring! How to Create Exciting Content for Unglamorous IndustriesSPROUT Content
 
The heart and circulatory system
The heart and circulatory systemThe heart and circulatory system
The heart and circulatory systemcpreis
 
Conception émergente
Conception émergenteConception émergente
Conception émergenteazeau
 
Blog writing presentation
Blog writing presentationBlog writing presentation
Blog writing presentationSPROUT Content
 
Thankful Journal- Mark
Thankful Journal- MarkThankful Journal- Mark
Thankful Journal- Markmicklethwait
 
New 2010 Presentation
New 2010 PresentationNew 2010 Presentation
New 2010 Presentationiaindavis
 

Viewers also liked (20)

13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
 
Lecture02(2)
Lecture02(2)Lecture02(2)
Lecture02(2)
 
[2012 02 03]clean_code 5장
[2012 02 03]clean_code 5장[2012 02 03]clean_code 5장
[2012 02 03]clean_code 5장
 
Games otd sales presentation
Games otd sales presentationGames otd sales presentation
Games otd sales presentation
 
2b comparisons of inequality
2b comparisons of inequality2b comparisons of inequality
2b comparisons of inequality
 
Understanding Interest Rates June 2010
Understanding Interest Rates June 2010Understanding Interest Rates June 2010
Understanding Interest Rates June 2010
 
4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra
 
Libary 2.0
Libary 2.0Libary 2.0
Libary 2.0
 
The Hardest Thing To Say To Someone 1
The Hardest Thing To Say To Someone 1The Hardest Thing To Say To Someone 1
The Hardest Thing To Say To Someone 1
 
Opportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonOpportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinson
 
200901011454110 當前學校品德教育之省思及我見
200901011454110 當前學校品德教育之省思及我見200901011454110 當前學校品德教育之省思及我見
200901011454110 當前學校品德教育之省思及我見
 
Chapter 7 presentation
Chapter 7 presentationChapter 7 presentation
Chapter 7 presentation
 
No Business is Boring! How to Create Exciting Content for Unglamorous Industries
No Business is Boring! How to Create Exciting Content for Unglamorous IndustriesNo Business is Boring! How to Create Exciting Content for Unglamorous Industries
No Business is Boring! How to Create Exciting Content for Unglamorous Industries
 
46fotosdanationalgeographic
46fotosdanationalgeographic46fotosdanationalgeographic
46fotosdanationalgeographic
 
The heart and circulatory system
The heart and circulatory systemThe heart and circulatory system
The heart and circulatory system
 
Conception émergente
Conception émergenteConception émergente
Conception émergente
 
Blog writing presentation
Blog writing presentationBlog writing presentation
Blog writing presentation
 
Thankful Journal- Mark
Thankful Journal- MarkThankful Journal- Mark
Thankful Journal- Mark
 
Пригороды Владимира: куда плыть?
Пригороды Владимира: куда плыть?Пригороды Владимира: куда плыть?
Пригороды Владимира: куда плыть?
 
New 2010 Presentation
New 2010 PresentationNew 2010 Presentation
New 2010 Presentation
 

Similar to Bai1

T+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umlT+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umllam lythanh
 
Các phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptxCác phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptxdong92356
 
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfBài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfNuioKila
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT NguynMinh294
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06xcode_esvn
 
Print_to_OOP.pdf
Print_to_OOP.pdfPrint_to_OOP.pdf
Print_to_OOP.pdfcLong52
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3NguynMinh294
 
Uml c4-bieudolop
Uml c4-bieudolopUml c4-bieudolop
Uml c4-bieudolopRoyal Sok
 
Chuong2 extra c_
Chuong2 extra c_Chuong2 extra c_
Chuong2 extra c_Hồ Lợi
 
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdt
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdtAttachment 183 544a70c9aa0c8_544a70c473f0c_hdt
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdtNguyễn Hải
 
Pplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09aPplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09aPix Nhox
 

Similar to Bai1 (20)

T+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umlT+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp uml
 
Thcb c3&4
Thcb c3&4Thcb c3&4
Thcb c3&4
 
Các phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptxCác phương pháp phân tích thiết kế phần.pptx
Các phương pháp phân tích thiết kế phần.pptx
 
Các mô hình dữ liệu
Các mô hình dữ liệuCác mô hình dữ liệu
Các mô hình dữ liệu
 
Lecture02
Lecture02Lecture02
Lecture02
 
Oose design
Oose designOose design
Oose design
 
Chapter1
Chapter1Chapter1
Chapter1
 
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfBài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT
 
OOP_Bai13(vi).pdf
OOP_Bai13(vi).pdfOOP_Bai13(vi).pdf
OOP_Bai13(vi).pdf
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
 
Chuong2 c
Chuong2 c Chuong2 c
Chuong2 c
 
Print_to_OOP.pdf
Print_to_OOP.pdfPrint_to_OOP.pdf
Print_to_OOP.pdf
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3
 
Lesson06
Lesson06Lesson06
Lesson06
 
Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
Uml c4-bieudolop
Uml c4-bieudolopUml c4-bieudolop
Uml c4-bieudolop
 
Chuong2 extra c_
Chuong2 extra c_Chuong2 extra c_
Chuong2 extra c_
 
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdt
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdtAttachment 183 544a70c9aa0c8_544a70c473f0c_hdt
Attachment 183 544a70c9aa0c8_544a70c473f0c_hdt
 
Pplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09aPplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09a
 

More from Giang Nguyễn

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comGiang Nguyễn
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlGiang Nguyễn
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Giang Nguyễn
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modelingGiang Nguyễn
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongGiang Nguyễn
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlGiang Nguyễn
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlGiang Nguyễn
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Giang Nguyễn
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameGiang Nguyễn
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuGiang Nguyễn
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release reviewGiang Nguyễn
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csauGiang Nguyễn
 

More from Giang Nguyễn (20)

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.com
 
Os xmldomphp
Os xmldomphpOs xmldomphp
Os xmldomphp
 
Os php-7oohabits
Os php-7oohabitsOs php-7oohabits
Os php-7oohabits
 
Os php-5.3new1
Os php-5.3new1Os php-5.3new1
Os php-5.3new1
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01
 
Php day4
Php day4Php day4
Php day4
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modeling
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
 
Chuong07 php
Chuong07 phpChuong07 php
Chuong07 php
 
Bai th08 php voi csdl
Bai th08 php voi csdlBai th08 php voi csdl
Bai th08 php voi csdl
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sql
 
Hd lap pttkht2008
Hd lap pttkht2008Hd lap pttkht2008
Hd lap pttkht2008
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
Canbanvethietkevalaptrinhgame
 
C1
C1C1
C1
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release review
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csau
 

Bai1

  • 1. Phân tích và thiết kế hướng đối tượng với UML Bài 1. Mô hình hoá hướng đối tượng Bài 2. Mô hình hoá môi trường và nhu cầu Bài 3. Mô hình hoá cấu trúc Bài 4. Mô hình hoá hành vi Bài 5. Thiết kế 1
  • 2. Giới thiệu môn học  Giảng viên : Nguyễn Hữu Đức  Điện thoại : 0975651915  Email: ducnh-fit@mail.hut.edu.vn  Email: ducnh.hut@gmail.com  Thời gian:  Tài liệu tham khảo:  Nguyễn Văn Ba, “Phát triển hệ thống hướng đối tượng với UML 2.0 và C++”  Grady Booch, “Object Oriented Analysis and Design with Applications”  Philippe Kruchten, “The Rational Unified Process – an introduction”  Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns – Elements of Reusable Object Oriented Software” 2
  • 3. Bài 1 MÔ HÌNH HOÁ HƯỚNG ĐỐI TƯỢNG 1. Giới thiệu môn học 2. Đại cương về tiếp cận hướng đối tượng 3. Đại cương về mô hình hoá 4. Ngôn ngữ UML 5. Tiến trình RUP 3
  • 4. Tiếp cận hướng đối tượng  Đối tượng (object)  Là thực thể đóng gói cả dữ liệu và hành vi  Đối tượng được phân loại thành các lớp (class)  Mỗi đối tượng là một cá thể (instance) của lớp  Lớp  Là một “loại” các đối tượng có chung thuộc tính, thao tác, quan hệ và ngữ nghĩa  Tất cả các đối tượng đều là cá thể của lớp nào đó 4
  • 5. Tiếp cận hướng đối tượng báchkhoa: TrườngĐH Đối tượng sưphạm: TrườngĐH Lớp TrườngĐH 5
  • 6. Tiếp cận hướng đối tượng  Thuộc tính  Là tên chung được đặt cho một dữ kiện về trạng thái của các đối tượng trong một lớp  Thông thường được che dấu  Thao tác  Mô tả hành vi của đối tượng thuộc lớp  Được xây dựng như các phương thức Tham số vào Kết quả trả về … 6
  • 7. Tiếp cận hướng đối tượng  Tính đóng gói (encapsulation)  Dữ liệu và hành vi được giữ bên trong lớp và được che giấu đối với thế giới bên ngoài  Liên kết bên trong : mạnh  Liên kết bên ngoài : yếu 7
  • 8. Tiếp cận hướng đối tượng  Khái quát hóa (generalization)  Là quan hệ giữa lớp khái quát và lớp cụ thể  Lớp cụ thể thường có thêm các thuộc tính và hành vi so với lớp khái quát  Kế thừa (Inheritance)  Là kỹ thuật để thực hiện việc khái quát hóa 8
  • 9. Tiếp cận hướng đối tượng MathematicalObj ect Shape Point Matrix Shape2D Shape3D Ellipse Polygon Line Plane Circle Quadrilateral Rectangle 9
  • 10. Tiếp cận hướng đối tượng  Đa hình (polymorphism)  Là khả năng đối tượng thuộc nhiều lớp khác nhau có thể trả lời khác nhau cho cùng một thông điệp  Poly = nhiều, morphism = hình thái 10
  • 11. Tiếp cận hướng đối tượng 11
  • 12. 1. Đại cương về mô hình hoá 1.1 Mô hình Mô hình là một dạng biểu diễn trừu tượng của một hệ thống thực, được diễn tả:  ở một mức độ trừu tượng hoá nào đó,  theo một góc nhìn nào đó,  bởi một hình thức diễn tả hiểu được (chẳng hạn văn bản, đồ thị) Diễn tả hệ thống bằng mô hình (bao gồm cả khi phân tích và khi thiết kế) được gọi là mô hình hoá. 12
  • 13. 1. Đại cương về mô hình hoá 1.2 Phương pháp mô hình hoá Là sự kết hợp của ba thành phần:  một ký pháp,  một tiến trình,  một (hay một số) công cụ hỗ trợ (CASE). 1.3 Hai xu hướng mô hình hoá  hướng chức năng,  hướng đối tượng. 13
  • 14. 2. Ngôn ngữ mô hình hoá UML 2.1 Xuất xứ  1/94 hình thành dự án (Booch, Rumbaugh),  10/95 UML 0.,  6/97 UML 0.9,  1/97 UML 1.1, OMG công nhận là chuẩn,  6/98 UML 1.2,  10/98 UML 1.3,  5/2001 UML 1.4,  2004 UML 2.0 14
  • 15. 2. Ngôn ngữ mô hình hoá UML 2.2 Các góc nhìn của UML Góc nhìn Góc nhìn thiết kế thực thi Góc nhìn ca sử dụng Góc nhìn Góc nhìn quá trình bố trí 15
  • 16. 2. Ngôn ngữ mô hình hoá UML 2.3 Các biểu đồ của UML  Các biểu đồ về cấu trúc:  Biểu đồ lớp,  Biểu đồ đối tượng,  Biểu đồ bố trí,  Biểu đồ gói,  Biểu đồ thành phần,  Biểu đồ cấu trúc đa hợp,  Các biểu đồ về hành vi:  Biểu đồ ca sử dụng,  Biểu đồ hoạt động,  Biểu đồ máy trạng thái,  Biểu đồ trình tự  Biểu đồ giao tiếp,  Biểu đồ thời khắc,  Biểu đồ bao quát tương tác. 16
  • 17. Biểu đồ lớp (class diagram)  Cấu trúc tĩnh của lớp  Thuộc tính  Phương thức  Quan hệ giữa các lớp  Liên kết  Khái quát hóa Person use Computer  Phụ thuộc +name: String +model: String +age: Integer 0..1 * +memory: Integer 17
  • 18. Biểu đồ đối tượng (Object diagram)  Ảnh của hệ thống tại một thời điểm pc1 : Computer model = IBM X40 director : Person memory = 1000 name = John Smith age = 40 pc2 : Computer model = Dell memory = 512 18
  • 19. Biểu đồ thành phần (component diagram)  Cấu trúc vật lý của chương trình  Thành phần  Mối liên quan <<document>> <<executable>> <<library>> find.html find.exe nateng.dll <<document>> <<library>> index.html dbacs.dll 19
  • 20. Biểu đồ bố trí (deployment diagram)  Bố trí, trình bày kiến trúc vật lý Console WebClient W Server eb DB Server 20
  • 21. Biểu đồ gói (Package Diagram)  Gom nhóm các phần tử  Phân rã hệ thống User Service Business Service Data Service 21
  • 22. Biểu đồ cấu trúc đa hợp (composite structure diagram)  Diễn tả cấu trúc bên trong của một loài Car +rearWheels +engine connect rearWheels engine 22
  • 23. Biểu đồ ca sử dụng (Use case diagram)  Trình bày chức năng hệ thống dưới góc độ người sử dụng KyHopDong ThongKeBan KhachHang NhanVienBanHang ThongKeKhachHang 23
  • 24. Biểu đồ trình tự (sequence diagram)  Trình bày một hoạt cảnh (senario) giữa các đối tượng  Giao tiếp giữa các đối tượng theo thời gian Máy BH Người Khách BH kiểmhàng(mãsố,sốlượng Với mỗi ) mặt hàng giá&môt giá&môt ả ả kếtthúcHàng() tổngtiền tổngtiền tiềnphảitrả trảtiềnmặt(sốtiền) nhậptiềntrả(sốtiền) trảlại(sốtiền) tiềndư phiếuthanhtoán phiếuthanhtoán 24
  • 25. Biểu đồ giao tiếp (communication diagram)  Trình bày sự tương tác theo kết nối 25
  • 26. Biểu đồ máy trạng thái ( Statechart diagram)  Biểu diễn các phản ứng của hệ thống (đối tượng) trước các tình huống khác nhau 26
  • 27. Biểu đồ hoạt động  Trình bày luồng hoạt động dich chuyển (tuần tự, rẽ nhánh, song song 27
  • 28. Biểu đồ bao quát tương tác (Interaction overview diagram)  Là biến thể của biểu đồ hoạt động với các nút là các biểu đồ tương tác khác 28
  • 29. Biểu đồ thời khắc (Timing diagram)  Diễn tả các giai đoạn trải qua của 1 hay nhiều đối tượng 29
  • 30. 2. Ngôn ngữ mô hình hoá UML 2.4 Mở rộng ý nghĩa của các yếu tố MH  Đặc tả,  Tô điểm,  Khuôn dập,  Tính chất và giá trị gắn nhãn,  Ràng buộc. 2.5 Mô hình hoá với UML  Theo nhiều góc nhìn,  Theo nhiều mức độ trừu tượng. 30
  • 31. 3. Tiến trình RUP 3.1 Các nguyên tắc cơ bản của RUP  Lặp và tăng trưởng,  Tập trung vào kiến trúc,  Dẫn dắt theo các ca sử dụng,  Khống chế bởi các nguy cơ. 3.2 Các pha và công đoạn của RUP  RUP gồm 4 pha: Khởi đầu, Triển khai, Xây dựng, Chuyển giao.  Mỗi pha gồm nhiều vòng lặp.  Mỗi vòng lặp thường gồm năm công đoạn: Xác định nhu cầu, Phân tích, Thiết kế, Cài đặt, Đánh giá 31
  • 32. Một tiến trình 10 bước Khởi đầu 1. Nghiên cứu sơ bộ 2. MHH ca sử dụng 3. MHH lĩnh vực ứng dụng Triển khai 4. Tìm lớp tham gia Ca SD 5. MHH tương tác 6. MHH ứng xử 7. Làm nguyên mẫu 8. Thiết kế hệ thống Xây dựng và 9. Thiết kế chi tiết chuyển giao 10. Cài đặt 32