SlideShare a Scribd company logo
1 of 15
Download to read offline
Lập trình hướng đối tượng
C++
Extra part - UML
Giảng viên giảng dạy: Nguyễn Hữu Vân Long
BM MMT&TT 2
Chương 2 Extra
Lập trình hướng đối tượng OOP
p Sơ lược về UML
p Một số biểu đồ trong UML
p Sơ đồ lớp và ví dụ minh họa trong StarUML
BM MMT&TT 3
 Lớp
 Khai báo
 Định nghĩa
 Thuộc tính và Hàm thành viên
 Đối tượng
 Khai báo
 Sử dụng
 Sơ lược hàm xây dựng và hàm hủy
 Dữ liệu hàm thành viên tĩnh
 Khai thác 1 lớp trong ứng dụng
Nội dung bài giảng
BM MMT&TT 4
 Giới thiệu UML
 Các loại biểu đồ trong UML
 Sơ đồ lớp
 Một số ví dụ minh họa
 Giới thiệu StarUML
Nội dung bài giảng
BM MMT&TT 5
 UML: Unified Modeling Language
 Là một ngôn ngữ dùng để mô hình hóa các hệ thống thông
tin theo Hướng đối tượng theo hướng thống nhất.
 Ra đời năm 1997 -> phổ biến đến nay.
 Bao gồm một hệ thống các ký hiệu (symbol), sơ đồ
(diagram) thống nhất để thiết kế các IS theo OO.
 Được sử dụng trong nhiều giai đoạn của qui trình phát triển
phần mềm: phân tích, thiết kế, triển khai, kiểm thử….
 Một số công cụ: Rational Rose, Visio, StartUML,
ArgoUML,…phát sinh tự động cho các ngôn ngữ
OOP
Giới thiệu UML
BM MMT&TT 6
 UML bao gồm 9 loại sơ đồ
 Use case disgram: Sơ đồ use case
 Class diagram: Sơ đồ lớp.
 Object diagram: Sơ đồ đối tượng.
 Sequence diagram: Sơ đồ trình tự.
 State diagram: Sơ đồ trạng thái.
 Collaboration diagram: Sơ đồ cộng tác.
 Component disgram: Sơ đồ thành phần.
 Deployment diagram: Sơ đồ triển khai.
 Activity diagram: Sơ đồ hoạt động.
Giới thiệu UML
BM MMT&TT 7
 Class diagram (sơ đồ lớp)
 Mô tả cấu trúc của hệ thống theo hướng đối tượng.
 Cấu trúc của một hệ thống được xây dựng từ các lớp và
mối quan hệ giữa chúng.
 Ký hiệu (notation)
 Lớp
 Giao diện
 Quan hệ
 Kết hợp (Association), tập hợp (Aggregation) và tổng hợp
(Composition).
 Hiện thực hóa (Realization).
 Thừa kế/Tổng quát hóa (Generalization).
Sơ đồ lớp (Class Diagram)
BM MMT&TT 8
 Lớp
Sơ đồ lớp (Class Diagram)
BM MMT&TT 9
 Giao diện và quan hệ Realization: là quan hệ giữa giao
diện và lớp cài đặt nó
Sơ đồ lớp (Class Diagram)
Quan hệ
Realization
BM MMT&TT 10
 Quan hệ kết hợp (Association): Mô tả mối liên hệ ngữ
nghĩa giữa các lớp.
Sơ đồ lớp (Class Diagram)
Quan hệ
Association
Tên
Association
Lớp
Tên
role
BM MMT&TT 11
 Quan hệ kết hợp (Association)
 Quan hệ kết hợp nhiều chiều (n-ary)
 Lớp kết hợp (association class): Được xem là thuộc
tính của một quan hệ kết hợp.
Sơ đồ lớp (Class Diagram)
Lớp kết
hợp
BM MMT&TT 12
 Quan hệ tập hợp (Aggregation): Là một dạng đặc biệt của
quan hệ kết hợp, mô tả mối quan hệ toàn thể-bộ phận giữa một
thực thể và các bộ phận của một thực thể.
Sơ đồ lớp (Class Diagram)
Toàn thể Bộ phận
BM MMT&TT 13

Quan hệ tổng hợp (Composition): Là một dạng đặc biệt
của quan hệ tập hợp, có tính sở hữu cao. Trong đó, các bộ phận
của một thực thể không thể sống lâu hơn thực thể.
 Cái tổng thể sẽ được cấu thành hoặc hủy bỏ từ những
thành phần của nó.
Sơ đồ lớp (Class Diagram)
Chú ý: Nếu không có sinh viên => không có schedule. Hoặc, nếu
không tồn tại quyển sách (book) thì không có các chương sách
(chapter)
BM MMT&TT 14
 Quan hệ thừa kế (Inheritance):
Phụ lục UML
Lớp cha
Lớp con
BM MMT&TT 15
1. Hãy cho biết trong trò
chơi trên, bao gồm
những đối tượng/sự
vật nào?
2. Mỗi đối tượng có thể
thực hiện các thao
tác/hành động nào?
3. Liệt kê thuộc tính của
từng đối tượng.
Phụ lục UML

More Related Content

Viewers also liked

Bài tập CTDL và GT 3
Bài tập CTDL và GT 3Bài tập CTDL và GT 3
Bài tập CTDL và GT 3Hồ Lợi
 
FPT Polytechnic Profile 2016
FPT Polytechnic Profile 2016FPT Polytechnic Profile 2016
FPT Polytechnic Profile 2016FPT Polytechnic
 
Danh Sach Lien Ket
Danh Sach Lien KetDanh Sach Lien Ket
Danh Sach Lien KetTony Nhân
 
Bài tập CTDL và GT 1
Bài tập CTDL và GT 1Bài tập CTDL và GT 1
Bài tập CTDL và GT 1Hồ Lợi
 
Bài tập CTDL và GT 12
Bài tập CTDL và GT 12Bài tập CTDL và GT 12
Bài tập CTDL và GT 12Hồ Lợi
 
bai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitbai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitMit Rin
 
BÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTBÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTMasterCode.vn
 
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTBài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTMasterCode.vn
 
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPT
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPTBài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPT
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPTMasterCode.vn
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiTrung Thanh Nguyen
 
Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnMr Giap
 

Viewers also liked (20)

Chuong7
Chuong7Chuong7
Chuong7
 
Chuong6 (2)
Chuong6 (2)Chuong6 (2)
Chuong6 (2)
 
Bài tập CTDL và GT 3
Bài tập CTDL và GT 3Bài tập CTDL và GT 3
Bài tập CTDL và GT 3
 
FPT Polytechnic Profile 2016
FPT Polytechnic Profile 2016FPT Polytechnic Profile 2016
FPT Polytechnic Profile 2016
 
Chuong1
Chuong1Chuong1
Chuong1
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
Chuong2 c
Chuong2 c Chuong2 c
Chuong2 c
 
Chuong8 (2)
Chuong8 (2)Chuong8 (2)
Chuong8 (2)
 
Chuong4 (2)
Chuong4 (2)Chuong4 (2)
Chuong4 (2)
 
Chuong5 (2)
Chuong5 (2)Chuong5 (2)
Chuong5 (2)
 
Danh Sach Lien Ket
Danh Sach Lien KetDanh Sach Lien Ket
Danh Sach Lien Ket
 
Bài tập CTDL và GT 1
Bài tập CTDL và GT 1Bài tập CTDL và GT 1
Bài tập CTDL và GT 1
 
Bài tập CTDL và GT 12
Bài tập CTDL và GT 12Bài tập CTDL và GT 12
Bài tập CTDL và GT 12
 
bai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitbai tap cau truc du lieu ptit
bai tap cau truc du lieu ptit
 
BÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTBÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPT
 
Web201 slide 1
Web201   slide 1Web201   slide 1
Web201 slide 1
 
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTBài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
 
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPT
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPTBài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPT
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPT
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiển
 

Similar to Chuong2 extra c_

T+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umlT+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umllam lythanh
 
Giới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramGiới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramHuy Vũ
 
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
 
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
 
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khối
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khốiLuận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khối
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khốihttps://www.facebook.com/garmentspace
 
Composite pattern
Composite patternComposite pattern
Composite patternmentallog
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 NguynMinh294
 
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ề umlTráng Hà Viết
 
61 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth0761 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth07thanhdanh9000
 
61 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth0761 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth07thanhdanh9000
 

Similar to Chuong2 extra c_ (20)

Bai11 ooad bieu_dolop
Bai11 ooad bieu_dolopBai11 ooad bieu_dolop
Bai11 ooad bieu_dolop
 
T+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp umlT+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp uml
 
Giới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramGiới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagram
 
Phân tích
Phân tíchPhân tích
Phân tích
 
Bai1
Bai1Bai1
Bai1
 
Bai1
Bai1Bai1
Bai1
 
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
 
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
 
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khối
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khốiLuận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khối
Luận án tiến sĩ toán học các phụ thuộc logic trong mô hình dữ liệu dạng khối
 
Chuong 07 lop
Chuong 07 lopChuong 07 lop
Chuong 07 lop
 
Composite pattern
Composite patternComposite pattern
Composite pattern
 
Uml diagram type
Uml diagram typeUml diagram type
Uml diagram type
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5
 
SE
SE SE
SE
 
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
 
OOP_Bai13(vi).pdf
OOP_Bai13(vi).pdfOOP_Bai13(vi).pdf
OOP_Bai13(vi).pdf
 
Ch4.phan tich(1)
Ch4.phan tich(1)Ch4.phan tich(1)
Ch4.phan tich(1)
 
4a domain model
4a domain model4a domain model
4a domain model
 
61 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth0761 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth07
 
61 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth0761 de thi_dapan_hkp_pttkhdtuml_cdth07
61 de thi_dapan_hkp_pttkhdtuml_cdth07
 

More from Hồ Lợi

Lect04 functions
Lect04 functionsLect04 functions
Lect04 functionsHồ Lợi
 
Ky thuatkhudequy
Ky thuatkhudequyKy thuatkhudequy
Ky thuatkhudequyHồ Lợi
 
Itt epc assignment
Itt epc assignmentItt epc assignment
Itt epc assignmentHồ Lợi
 
Huong danontapc
Huong danontapcHuong danontapc
Huong danontapcHồ Lợi
 
H hai epc_baitap
H hai epc_baitapH hai epc_baitap
H hai epc_baitapHồ Lợi
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhHồ Lợi
 
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Hồ Lợi
 
Giao trinh c c++
Giao trinh c c++Giao trinh c c++
Giao trinh c c++Hồ Lợi
 
Epc assignment
Epc assignmentEpc assignment
Epc assignmentHồ Lợi
 
Epc test practical
Epc test practicalEpc test practical
Epc test practicalHồ Lợi
 
De thic++ --th
De thic++ --thDe thic++ --th
De thic++ --thHồ Lợi
 

More from Hồ Lợi (20)

T4
T4T4
T4
 
Lect04 functions
Lect04 functionsLect04 functions
Lect04 functions
 
Ky thuatkhudequy
Ky thuatkhudequyKy thuatkhudequy
Ky thuatkhudequy
 
Itt epc assignment
Itt epc assignmentItt epc assignment
Itt epc assignment
 
Huong danontapc
Huong danontapcHuong danontapc
Huong danontapc
 
H hai epc_baitap
H hai epc_baitapH hai epc_baitap
H hai epc_baitap
 
Gtrinh oop
Gtrinh oopGtrinh oop
Gtrinh oop
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
Giaotrinhbaitapkythuatlaptrinh
 
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2
 
Giao trinh c c++
Giao trinh c c++Giao trinh c c++
Giao trinh c c++
 
File trong c_
File trong c_File trong c_
File trong c_
 
Epc assignment
Epc assignmentEpc assignment
Epc assignment
 
Epc test practical
Epc test practicalEpc test practical
Epc test practical
 
De thic++ --th
De thic++ --thDe thic++ --th
De thic++ --th
 
Dethi c++ -lt
Dethi c++ -ltDethi c++ -lt
Dethi c++ -lt
 
Debug trong c
Debug trong cDebug trong c
Debug trong c
 
D05 stl
D05 stlD05 stl
D05 stl
 
Cpl test3
Cpl test3Cpl test3
Cpl test3
 
Cpl test2
Cpl test2Cpl test2
Cpl test2
 
Cpl test1
Cpl test1Cpl test1
Cpl test1
 

Chuong2 extra c_

  • 1. Lập trình hướng đối tượng C++ Extra part - UML Giảng viên giảng dạy: Nguyễn Hữu Vân Long
  • 2. BM MMT&TT 2 Chương 2 Extra Lập trình hướng đối tượng OOP p Sơ lược về UML p Một số biểu đồ trong UML p Sơ đồ lớp và ví dụ minh họa trong StarUML
  • 3. BM MMT&TT 3  Lớp  Khai báo  Định nghĩa  Thuộc tính và Hàm thành viên  Đối tượng  Khai báo  Sử dụng  Sơ lược hàm xây dựng và hàm hủy  Dữ liệu hàm thành viên tĩnh  Khai thác 1 lớp trong ứng dụng Nội dung bài giảng
  • 4. BM MMT&TT 4  Giới thiệu UML  Các loại biểu đồ trong UML  Sơ đồ lớp  Một số ví dụ minh họa  Giới thiệu StarUML Nội dung bài giảng
  • 5. BM MMT&TT 5  UML: Unified Modeling Language  Là một ngôn ngữ dùng để mô hình hóa các hệ thống thông tin theo Hướng đối tượng theo hướng thống nhất.  Ra đời năm 1997 -> phổ biến đến nay.  Bao gồm một hệ thống các ký hiệu (symbol), sơ đồ (diagram) thống nhất để thiết kế các IS theo OO.  Được sử dụng trong nhiều giai đoạn của qui trình phát triển phần mềm: phân tích, thiết kế, triển khai, kiểm thử….  Một số công cụ: Rational Rose, Visio, StartUML, ArgoUML,…phát sinh tự động cho các ngôn ngữ OOP Giới thiệu UML
  • 6. BM MMT&TT 6  UML bao gồm 9 loại sơ đồ  Use case disgram: Sơ đồ use case  Class diagram: Sơ đồ lớp.  Object diagram: Sơ đồ đối tượng.  Sequence diagram: Sơ đồ trình tự.  State diagram: Sơ đồ trạng thái.  Collaboration diagram: Sơ đồ cộng tác.  Component disgram: Sơ đồ thành phần.  Deployment diagram: Sơ đồ triển khai.  Activity diagram: Sơ đồ hoạt động. Giới thiệu UML
  • 7. BM MMT&TT 7  Class diagram (sơ đồ lớp)  Mô tả cấu trúc của hệ thống theo hướng đối tượng.  Cấu trúc của một hệ thống được xây dựng từ các lớp và mối quan hệ giữa chúng.  Ký hiệu (notation)  Lớp  Giao diện  Quan hệ  Kết hợp (Association), tập hợp (Aggregation) và tổng hợp (Composition).  Hiện thực hóa (Realization).  Thừa kế/Tổng quát hóa (Generalization). Sơ đồ lớp (Class Diagram)
  • 8. BM MMT&TT 8  Lớp Sơ đồ lớp (Class Diagram)
  • 9. BM MMT&TT 9  Giao diện và quan hệ Realization: là quan hệ giữa giao diện và lớp cài đặt nó Sơ đồ lớp (Class Diagram) Quan hệ Realization
  • 10. BM MMT&TT 10  Quan hệ kết hợp (Association): Mô tả mối liên hệ ngữ nghĩa giữa các lớp. Sơ đồ lớp (Class Diagram) Quan hệ Association Tên Association Lớp Tên role
  • 11. BM MMT&TT 11  Quan hệ kết hợp (Association)  Quan hệ kết hợp nhiều chiều (n-ary)  Lớp kết hợp (association class): Được xem là thuộc tính của một quan hệ kết hợp. Sơ đồ lớp (Class Diagram) Lớp kết hợp
  • 12. BM MMT&TT 12  Quan hệ tập hợp (Aggregation): Là một dạng đặc biệt của quan hệ kết hợp, mô tả mối quan hệ toàn thể-bộ phận giữa một thực thể và các bộ phận của một thực thể. Sơ đồ lớp (Class Diagram) Toàn thể Bộ phận
  • 13. BM MMT&TT 13  Quan hệ tổng hợp (Composition): Là một dạng đặc biệt của quan hệ tập hợp, có tính sở hữu cao. Trong đó, các bộ phận của một thực thể không thể sống lâu hơn thực thể.  Cái tổng thể sẽ được cấu thành hoặc hủy bỏ từ những thành phần của nó. Sơ đồ lớp (Class Diagram) Chú ý: Nếu không có sinh viên => không có schedule. Hoặc, nếu không tồn tại quyển sách (book) thì không có các chương sách (chapter)
  • 14. BM MMT&TT 14  Quan hệ thừa kế (Inheritance): Phụ lục UML Lớp cha Lớp con
  • 15. BM MMT&TT 15 1. Hãy cho biết trong trò chơi trên, bao gồm những đối tượng/sự vật nào? 2. Mỗi đối tượng có thể thực hiện các thao tác/hành động nào? 3. Liệt kê thuộc tính của từng đối tượng. Phụ lục UML