64
Gii thiu vhướng đối tượng Khoa CNTT - ĐHKHTN 1 Công cvà môi trường phát trin phn mm Gii thiu vhướng đối tượng

Ccmtptpm 03 gioithieuvehuongdoituong

Embed Size (px)

Citation preview

Page 1: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 1

Công cụ và môi trường phát triển phần mềm

Giới thiệu về hướng đối tượng

Page 2: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 2

Mục tiêu

w Tìm hiểu các nguyên tắc cơ bản của hướng đối tượng (objectorientation – OO)

w Tìm hiểu các khái niệm cơ bản và các thuật ngữ của hướng đối tượng kết hợp với hệ thống ký hiệu của UML

w Đánh giá chính xác sức mạnh của OOw Tìm hiểu một số cơ chế mô hình hoá cơ bản của UML

Page 3: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 3

Giới thiệu về Hướng đối tượng: Các chủ đề

w Các nguyên tắc cơ bản của OOw Các khái niệm cơ bản của OOw Sức mạnh của OOw Các cơ chế mô hình hoá cơ bản của UML

Page 4: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 4

Hướng đối tượng

Tính

đón

g gó

iEn

caps

ulat

ion

Trừ

u tượ

ng h

óaA

bstr

actio

n

Tính

phâ

n cấ

pH

iera

rchy

Tính

đơ

n thể

Mod

ular

ity

Các nguyên tắc cơ bản của OO

Page 5: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 5

Người bán hàng

Khách hàngSản phẩm

Quản lý được độ phức tạp

Thế nào là trừu tượng hóa?

Page 6: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 6

Tăng tính mềm dẻo

Đóng gói (Encapsulation) là gì?

w Che dấu cài đặt bên trong với clients§ Clients phụ thuộc vào interface

Page 7: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 7

Hệ thống xử lý đơn đặt hàng

Tính tiền

Nhậnđơn đặt hàng

Thực hiện đơn đặt hàng

Quản lý được độ phức tạp

Tính đơn thể là gì?

w Phân chia nhỏ một vấn đề phức tạp thành nhiều phần nhỏ, đơn giản hơn quản lý được

Page 8: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 8

Tài sản

Bất động sản

Tài khoảnTiết kiệm

Tài khoản

Tài khoảnThanh toán

Cổ phiếu

Chứng khoán

Trái phiếu

Các phần tử trên cùng một mức phải có cùng mức độ trừu tượng

Sự phân cấp (Hierarchy) là gì?

w Mức độ trừu tượng hoáTăng mức độ trừu

tượng

Giảm mức độ trừu tượng

Page 9: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 9

Giới thiệu về Hướng đối tượng: Các chủ đề

w Các nguyên tắc cơ bản của OOw Các khái niệm cơ bản của OOw Sức mạnh của OOw Các cơ chế mô hình hoá cơ bản của UML

Page 10: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 10

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 11: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 11

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 12: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 12

w Một cách không hình thức, một đối tượng biểu diễn một thực thể, dạng vật lý, khái niệm, hoặc phần mềm§ Thực thể vật lý

§ Thực thể khái niệm

§ Thực thể phần mềm

Truck

Chemical Process

Object là gì?

Linked List

Page 13: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 13

Một định nghĩa hiệu quả hơn

w Một đối tượng là một khái niệm, sự trừu tượng, hoặc một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụthể

w Một đối tượng có:§ Trạng thái§ Hành vi§ Định danh (Identity)

Page 14: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 14

: Professor

Professor Clark

a + b = 10

ProfessorClark : Professor

ProfessorClarkChỉ có tên Class

Chỉ có tên đối tượng

Tên class và tên đối tượng

Biểu diễn đối tượng

w Một đối tượng được biểu diễn bởi một hình chữ nhật với tên được gạch dưới

Page 15: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 15

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 16: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 16

Nguyên tắc OO: Trừu tượng hóa

Class là gì?

w Class là mô tả của một nhóm đối tượng có chung các thuộctính (attributes), hành vi (operations), các mối quan hệ và ngữnghĩa§ Một đối tượng là một thể hiện của class

w Một class là sự trừu tượng mà trong đó:§ Nhấn mạnh các tính chất quan trọng§ Bỏ qua các tính chất khác

Page 17: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 17

a + b = 10

ClassCourse

PropertiesTênĐịa điểmThời gianSố tín chỉGiờ bắt đầuGiờ kết thúc

BehaviorThêm một sinh viênHuỷ một sinh viênLấy danh sách giáo sưXác định hết chỗ chưa

Ví dụ về Class

Page 18: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 18

Professor

Professor Clark

a + b = 10

Biểu diễn Class

w Một class biểu diễn bằng một hình chữ nhật gồm ba phần

Page 19: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 19

ProfessornameempID

create( )save( )delete( )change( )

Tên class

Attributes

Operations

Các phần trong một Class

w Một class bao gồm ba phần§ Phần đầu chứa tên class§ Phần thứ hai cho thấy cấu trúc của lớp (attributes)§ Phần thứ ba cho thấy các hành vi của lớp (operations)

Page 20: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 20

Các lớp đối tượng

w Bạn nhìn thấy có bao nhiêu class?

Page 21: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 21

w Một class là một định nghĩa trừu tượng của một đối tượng§ Nó định nghĩa cấu trúc và hành vi của mỗi đối tượng trong

lớp§ Nó được dùng như khuôn mẫu để tạo đối tượng

w Các đối tượng được nhóm thành các class

Objects Class

Professor Smith

Professor Jones

Professor Mellon

Professor

Quan hệ giữa class và đối tượng

Page 22: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 22

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 23: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 23

:CourseOfferingnumber = 101startTime = 900endTime = 1100

:CourseOfferingnumber = 104startTime = 1300endTime = 1500

CourseOfferingnumberstartTime endTime

Class

Attribute

Object

Attribute Value

Thuộc tính (Attribute) là gì?

Page 24: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 24

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 25: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 25

CourseOffering

addStudent deleteStudentgetStartTimegetEndTime

Class

Operation

Hành vi (Operation) là gì?

Page 26: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 26

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 27: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 27

Nhà SX ANhà SX B

Nhà SX C

Nguyên tắc OO:Đóng gói

Polymorphism là gì?

w Khả năng che dấu nhiều cài đặt khác nhau bên dưới một giao diện duy nhất

Page 28: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 28

Tube

Pyramid

Cube

Shape

DrawMoveScaleRotate

<<interface>>

Quan hệ Realization

Interface là gì?

w Interface hình thức hoá polymorphismw Interface hỗ trợ kiến trúc “plug-and-play”

Page 29: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 29

Tube

Pyramid

Cube

ShapeDrawMoveScaleRotate

<<interface>>

Tube

Pyramid

CubeShape

Biểu diễn rút gọn

Biểu diễn chính tắcClass/Stereotype)

Biểu diễn Interface

Page 30: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 30

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 31: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 31

w Một phần không tầm thường của hệ thống, gần như độc lập vàcó thể thay thế được, giữ một chức năng rõ ràng trong hệ thống

w Một component có thể lৠMột source code component§ Một run time components hoặc§ Một executable component

Nguyên tắc OO:Đóng gói

Component là gì?

Source FileName

<<EXE>>ExecutableName

<<DLL>>ComponentNameComponent

Interface

Page 32: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 32

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 33: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 33

w Một package là một cơ chế để tổ chức các phần tử vào thành các nhóm

w Một phần tử trong mô hình có thể chứa các phần tử khác

w Dùng để§ Tổ chức mô hình đang phát triển§ Một đơn vị trong quản trị cấu hình

Package NameNguyên tắc OO:

Tính đơn thể

Package là gì?

Page 34: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 34

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 35: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 35

Nguyên tắc OO: Đóng gói và Tính đơn thể

<<subsystem>>Subsystem Name

InterfaceInterface

RealizationSubsystem

Subsystem là gì?

w Tổ hợp của một package (có thể chứa các phần tử khác trong mô hình) và một class (có hành vi)

w Hiện thực hoá một hoặc nhiều interface định nghĩa cho hành vicủa nó

Page 36: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 36

w Component là thể hiện ở mức vật lý của một khái niệm trừu tượng trong thiết kế

w Subsystem có thể dùng để biểu diễn các component trong thiết kế

ComponentName

Design Model Implementation Model

<<subsystem>>Component Name

Component Interface

ComponentInterface

Nguyên tắc OO: Đóng gói và Tính đơn thể

Subsystem và Component

Page 37: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 37

Các khái niệm cơ bản của Hướng đối tượng

w Objectw Classw Attributew Operationw Interface (Polymorphism)w Componentw Packagew Subsystemw Relationships

Page 38: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 38

Các mối quan hệ

w Association (Kết hợp)§ Aggregation (Thu nạp)§ Composition (Cấu thành)

w Dependency (Phụ thuộc)w Generalization (Tổng quát hóa)w Realization (Hiện thực hoá)

Page 39: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 39

Professor UniversityDaïy cho

Class

Association

Teân Association

Professor UniversityEmployerEmployee

Tên Role

Mối quan hệ: Association

w Mô hình hoá một liên kết ngữ nghĩa giữa các class

Page 40: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 40

Student Schedule

Whole

Aggregation

Part

Mối quan hệ: Aggregation

w Một dạng đặc biệt của association mô hình hoá 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 nó

Page 41: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 41

Student Schedule

Whole

Aggregation

Part

Mối quan hệ: Composition

w Một dạng aggregation có tính sở hữu cao và cùng chu kỳ sống§ Các bộ phận không thể sống lâu hơn thực thể

Page 42: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 42

Association: Bản số và Chiều

w Bản số xác định số đối tượng tham gia vào một mối quan hệ§ Số các thể hiện của một class quan hệ với MỘT thể hiện

của một class khác§ Được chỉ ra ở mỗi đầu của quan hệ association

w Association và aggregation mặc định là hai chiều, nhưng người ta thường giới hạn theo một chiều§ Mũi tên được thêm vào để chỉ chiều của mối quan hệ

Page 43: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 43

Association: Bản số

2..4

0..1

1..*

0..*

1

*

w Không xác địnhw Chỉ mộtw Không hoặc nhiều

w Một hoặc nhiềuw Không hoặc mộtw Khoảng được chỉ địnhw Các khoảng không liên tục 2, 4..6

Page 44: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 44

Student Schedule1 0..*

Multiplicity

Navigation

Ví dụ: Bản số và Chiều

Page 45: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 45

Client Supplier

Package

ClientPackage SupplierPackage

Client Supplier

Class

Dependencyrelationship

Dependencyrelationship

Component

Mối quan hệ: Dependency

w Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tửnày có thể gây ra thay đổi ở phần tử kia

w Quan hệ “sử dụng”, không cấu trúc

Page 46: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 46

Mối quan hệ: Generalization

w Quan hệ giữa các class trong đó một lớp chia sẻ cấu trúc và/hoặc hành vi của một hoặc nhiều class khác

w Xác định một sự phân cấp các mức độ trừu tượng trong đó mộtsubclass kế thừa từ một hoặc nhiều superclass§ Đơn kế thừa§ Đa kế thừa

w Generalization là quan hệ “là một dạng của”

Page 47: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 47

Accountbalancenamenumber

Withdraw()CreateStatement()

Checking

Withdraw()

Savings

GetInterest()Withdraw()

Superclass (cha)

Subclasses

GeneralizationRelationship

Tổ tiên

Hậu duệ

Ví dụ: Đơn kế thừa

w Một class kế thừa từ một class khác

Page 48: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 48

Airplane Helicopter Wolf Horse

FlyingThing Animal

Bird

Đa kê thừa

Chỉ sử dụng đa kế thừa khi thật cần, và luôn phải cẩn thận !

Ví dụ: Đa kế thừa

w Một class kế thừa từ nhiều class khác

Page 49: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 49

Sự kế thừa làm nổi bật các điểm tương đồng giữa các class

Cái gì được kế thừa?

w Một subclass kế thừa các thuộc tính, hành vi và các mối quan hệ từ cha nó

w Một subclass có thể:§ Bổ sung thuộc tính, hành vi và các mối quan hệ§ Định nghĩa lại các hành vi (nên cẩn thận!)

w Các thuộc tính, hành vi và các mối quan hệ chung được đặt ởmức cao nhất có thể trong cấu trúc phân cấp

Page 50: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 50

Truck

tonnage

GroundVehicle

weightlicenseNumber

Car

owner

register( )

getTax( )

Person

0..*

Trailer

1Superclass

(cha)

Subclass

generalization

size

Ví dụ: Cái gì được kế thừa

Page 51: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 51

w Một classifier đóng vai trò một hợp đồng mà một classifier khác đồng ý thực hiện

w Xuất hiện giữa:§ Các Interface và các classifier hiện thực chúng

§ Các Use case và các collaboration hiện thực chúng

Component

Interface

Use Case Use-Case Realization

Dạng tắt

Class

InterfaceSubsystem

Interface

Dạng chính tắc

Mối quan hệ: Realization

Page 52: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 52

Giới thiệu về Hướng đối tượng: Các chủ đề

w Các nguyên tắc cơ bản của OOw Các khái niệm cơ bản của OOw Sức mạnh của OOw Các cơ chế mô hình hoá cơ bản của UML

Page 53: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 53

Sức mạnh của Hướng đối tượng

w Một mô hình chungw Có tính dễ dùng lạiw Mô hình phản ánh chính xác thế giơi thực§ Mô tả chính xác hơn các tập dữ liệu và các xử lý§ Được phân rã dựa trên các phân chia tự nhiên§ Dễ hiểu và dễ bảo trì

w Tính ổn định§ Một thay đổi nhỏ trong yêu cầu không gây ra sự thay đổi lớn

trong hệ thống đang phát triển

Page 54: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 54

Đặt hàng

Sản xuất

Vận chuyển bằng

Một ví dụ đơn giản: Sales Order System

Page 55: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 55

Class Diagram của ví dụ “bán hàng”

Salesperson Product

Sale

Corporate

Customer

Individual Truck

Vehicle

Train

seller buyer item sold shipping mechanism

Page 56: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 56

Hiệu ứng của sự thay đổi yêu cầuGiả sử bạn cần phươngtiện vận chuyển mới ...

Salesperson Product

Sale

Corporate

Customer

Individual Truck

Vehicle

Train

seller buyer item sold shipping mechanism

Việc thay đổi liên quan đến việc thêm 1 subclas mới

Airplane

Page 57: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 57

Giới thiệu về Hướng Đối Tượng: Các chủ đề

w Các nguyên tắc cơ bản của OOw Các khái niệm cơ bản của OOw Sức mạnh của OOw Các cơ chế mô hình hoá cơ bản của UML

Page 58: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 58

w Phân lớp và mở rộng các phần tử trong hệ thống ký hiệu UMLw Định nghĩa một phần tử của mô hình mới dựa trên một phần tử

khácw Có thể áp dụng cho mọi phần tử mô hìnhw Được biểu diễn với tên đặt trong dấu << >> hoặc bằng các icon

khác

<<boundary>>MyBoundaryClass

MyBoundaryClass

Các khuôn mẫu (Stereotype)

Page 59: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 59

<<boundary>>

<<boundary>>

<<trace>>

Processor #1<<Processor>>

DesignClass

Processor #1

Ví dụ: Stereotype

Page 60: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 60

There can be up to oneMaintainScheduleForm peruser session.MaintainScheduleForm

Các ghi chú (note)

w Có thể đặt ghi chú cho mọi phần tử UMLw Ghi chú dùng để thêm thông tin cho các lược đồw Nó là hình chữ nhật bị bẻ gócw Ghi chú có thể móc nối với một phần tử bằng một đường đứt

nét

Page 61: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 61

PersistentClass{persistence} anObject : ClassA

{location=server}

Các giá trị đính (Tagged Values)

w Là sự mở rộng của các thuộc tính hoặc của các phần tử UMLw Là một số thuộc tính được định nghĩa sẵn bởi UML§ Persistence§ Location (chẳng hạn client, server)

w Là các thuộc tính có thể được tạo bởi các nhà mô hình hoáUML phục vụ cho mục đích bất kỳ

Page 62: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 62

Professor DepartmentMember

Department Head{subset}

1..*

1

1

1

Các ràng buộc (Constraints)

w Hỗ trợ việc thêm các luật mới hoặc hiệu chỉnh các luật đang tồn tại

Page 63: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 63

w Bốn nguyên tắc cơ bản của OO là gì ? Mô tả ngắn gọn về mối nguyên tắc.

w Đối tượng là gì ? Class là gì ? Những điểm khác nhau giữa chúng ?

w Thuộc tính (Attribute) là gì ?w Hành vi (Operation) là gì ?w Interface là gì ? Polymorphism là gì ?

w Component là gì ?

Câu hỏi ôn tập

Page 64: Ccmtptpm 03 gioithieuvehuongdoituong

Giới thiệu về hướng đối tượngKhoa CNTT - ĐHKHTN 64

Câu hỏi ôn tập (tt)

w Package là gì?w Subsystem là gì ? Nó có quan hệ như thế nào với Component?

Nó có quan hệ như thế nào với package? Nó có quan hệ như thế nào với class?

w Tên của 4 quan hệ UML cơ bản ? Mô tả từng quan hệ.w Mô tả sức mạnh của OO.w Cho biết tên và mô tác một số cơ chế tổng quát trong UML.w Stereotype là gì? Cho biết tên của một số stereotype dùng

chung.