Chuong2 extra c_

15
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

Transcript of Chuong2 extra c_

Page 1: Chuong2 extra c_

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

Page 2: Chuong2 extra c_

BM MMT&TT 2

Chương 2 ExtraLậ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

Page 3: Chuong2 extra c_

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

Page 4: Chuong2 extra c_

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

Page 5: Chuong2 extra c_

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

Page 6: Chuong2 extra c_

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

Page 7: Chuong2 extra c_

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)

Page 8: Chuong2 extra c_

BM MMT&TT 8

Lớp

Sơ đồ lớp (Class Diagram)

Page 9: Chuong2 extra c_

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

Page 10: Chuong2 extra c_

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

Page 11: Chuong2 extra c_

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

Page 12: Chuong2 extra c_

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

Page 13: Chuong2 extra c_

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)

Page 14: Chuong2 extra c_

BM MMT&TT 14

Quan hệ thừa kế (Inheritance):

Phụ lục UML

Lớp cha

Lớp con

Page 15: Chuong2 extra c_

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