Tải bản đầy đủ (.pdf) (64 trang)

Phân tích thiết kế hệ thống hướng đối tượng bằng UML - Giới thiệu về hướng đối tượng potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.63 MB, 64 trang )

Phân Tích & Thiết Kế
Hướng Đối Tượng Sử Dụng UML
Giới Thiệu Về
Hướng Đối Tượng

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

1


Mục tiêu: Giới thiệu về Hướng Đối Tượng
?Tìm hiểu các nguyên tắc cơ bản của hướng
đối tượng (object orientation – OO)
?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
?Đánh giá chính xác sức mạnh của OO
?Tìm hiểu một số cơ chế mô hình hoá cơ bản
của UML

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

2


Giới thiệu về Hướng Đối Tượng: Các chủ đề
?Các nguyên tắc cơ bản của OO
?Các khái niệm cơ bản của OO
?Sức mạnh của OO


?Các cơ chế mô hình hoá cơ bản của UML

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

3


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

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

4

Tính phân cấp
Hierarchy

Tính đơn thể
Modularity

Tính đóng gói
Encapsulation

Trừu tượng hoá
Abstraction

Hướng Đối Tượng



Thế nào là trừu tượng hoá ?

Người bán hàng

Sản phẩm

Khách hàng

Quản lý được độ phức tạp
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

5


Encapsulation là gì?
?Che dấu cài đặt bên trong với clients
?Clients phụ thuộc vào interface

Tăng tính mềm dẻo
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

6


Tính đơn thể là gì ?
?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
Nhận

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

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

Tính tiền
Quản lý được độ phức tạp
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

7


Sự phân cấp (Hierarchy) là gì ?
?Mức độ trừu tượng hoá

Tài sản

Tăng mức độ
Trừu tượng

Chứng khoán Bất động sản

BankAccount

Tài khoản Tài khoản Cổ phiếu
Tiết kiệm Thanh toán
Giảm mức độ

Trừu tượng
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

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
8


Giới thiệu về Hướng Đối Tượng: Các chủ đề
?Các nguyên tắc cơ bản của OO
?Các khái niệm cơ bản của OO
?Sức mạnh của OO
?Các cơ chế mô hình hoá cơ bản của UML

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

9


Các khái niệm cơ bản của Hướng đối tượng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component

?Package
?Subsystem
?Relationships
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

10


Các khái niệm cơ bản của Hướng đối tượng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component
?Package
?Subsystem
?Relationships
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

11


Object là gì ?
?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ý

Truck

?Thực thể khái niệm
Chemical Process

?Thực thể phần mềm
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

Linked List

12


Một định nghóa hiệu quả hơn
?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ể
?Một đối tượng có:
?Trạng thái
?Hành vi
?Định danh (Identity)

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

13


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

?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
: Professor
a + b = 10

ProfessorClark
Chỉ có tên Class
Professor Clark

ProfessorClark :
Professor

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

Tên class và tên đối tượng
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

14


Các khái niệm cơ bản của Hướng đối tượng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component
?Package
?Subsystem

?Relationships
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

15


Class là gì?
?Class là mô tả của một nhóm đối tượng có
chung các thuộc tí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

?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

Nguyên tắc OO : Trừu tượng hoá
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

16


Ví dụ về Class
Class
Course
Properties
Tên
Địa điểm

Thời gian
Số tín chỉ
Giờ bắt đầu
Giờ kết thúc

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

Behavior
Thêm một sinh viên
Huỷ một sinh viên
Lấy danh sách giáo sư
Xác định hết chỗ chưa

a + b = 10

17


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

a + b = 10

Professor

Professor Clark

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng

Dương Anh Đức, 9/2000

18


Các phần trong một Class
?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)
Tên class
Attributes
Operations

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

Professor
name
empID
create( )
save( )
delete( )
change( )

19



Các lớp đối tượng
?Bạn nhìn thấy bao nhiêu class?

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

20


Quan hệ giữa class và đối tượng
?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

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

Class

Professor
Professor Smith

Professor Mellon

Professor Jones
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000


21


Các khái niệm cơ bản của Hướng đối tượng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component
?Package
?Subsystem
?Relationships
OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

22


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

Class
Attribute

Attribute Value

:CourseOffering

CourseOffering


number = 101
startTime = 900
endTime = 1100

number
startTime
endTime

:CourseOffering
number = 104
startTime = 1300
endTime = 1500

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

23


Các khái niệm cơ bản của Hướng đối tượng
?Object
?Class
?Attribute
?Operation
?Interface (Polymorphism)
?Component
?Package
?Subsystem
?Relationships

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

24


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

CourseOffering
Class

Operation

OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng
Dương Anh Đức, 9/2000

addStudent
deleteStudent
getStartTime
getEndTime

25


×