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

Phân tích và thiết kế hướng đối tượng

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 (1.94 MB, 79 trang )

Phân tích thiết kế hướng đối tượng

Đỗ Ngọc
GV: Phan
ThịNhư
KimLoan
Loan
2 – Phân tích thiết kế hướng đối tượng


Nội dung trước
 Giới thiệu

 Tiến trình phát triển hệ thống
 Các phương pháp phát triển hệ thống

2 – Phân tích thiết kế hướng đối tượng

2


Nội dung
 Hệ thống hướng chức năng vs. Hệ thống hướng đối tượng

 Các đặc điểm cơ bản của hệ thống hướng đối tượng
 Giới thiệu UML – UML 2.0

 Phân tích thiết kế hướng đối tượng với UML 2.0

2 – Phân tích thiết kế hướng đối tượng


3


Giới thiệu
Lịch sử phát triển của ngôn ngữ lập trình:
 First Generation (1954 – 1958)
• Fortran I

 Second Generation (1959 – 1961)
• Fortran II, Algol, Cobol

 Third Generation (1962 – 1970)
• PL/I, Pascal

 Object Oriented Languages
• Smalltalk, C++, Java
2 – Phân tích thiết kế hướng đối tượng

4


Lịch sử phát triển OOAD

2 – Phân tích thiết kế hướng đối tượng

5


Lịch sử của UML
UML 2.0


OMG Acceptance, Nov ‘97

Public & Feedback

Final submission to OMG, Sep ’97

UML 1.3

First submission to OMG, Jan ‘97
UML Partners

UML 1.0

Web – Jun ‘96

OOPSLA ‘95

Others method

UML 1.1

UML 0.9

Unified method

Booch method

2 – Phân tích thiết kế hướng đối tượng


OMT

OOSE
6


Giới thiệu
Thiết kế cấu trúc và thiết kế hướng đối tượng
Đăng ký học
phần

Nhập học

Đóng học phí

Student
Account

Thi cử

v..v…

Thiết kế cấu trúc
2 – Phân tích thiết kế hướng đối tượng

7


Giới thiệu
Thiết kế cấu trúc và thiết kế hướng đối tượng


Messege
Messege

Messege

Student
Account
Messege
v..v…

Thiết kế hướng đối tượng

2 – Phân tích thiết kế hướng đối tượng

8


Nguyên tắc cơ bản của OO
 Hướng đối tượng – Object-Oriented
 Trừu tượng hoá – Abstraction

 Tính đóng gói – Encapsulation
 Tính đơn thể - Modularity
 Tính phân cấp – Hierarchy

2 – Phân tích thiết kế hướng đối tượng

9



Trừu tượng hoá – Abstraction
 Quản lý độ phức tạp

Người bán hàng

Sản phẩm

Khách hàng
2 – Phân tích thiết kế hướng đối tượng

10


Tính đóng gói – Encapsulation
 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

2 – Phân tích thiết kế hướng đối tượng

11


Tính đơn thể - Modularity
Phân chia nhỏ 1 vấn đề phức tạp thành nhiều
phần nhỏ, đơn giản hơn để có thể quản lý được
độ phức tạp

Lập hoá đơn bán hàng


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

Thanh toán hoá đơn
Xuất hoá đơn

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

…Các đơn thể quản lý tồn kho

Hệ thống xử lý mua bán hàng hoá
2 – Phân tích thiết kế hướng đối tượng

12


Tính phân cấp – Hierarchy
Giảm mức độ
trừu tượng

Tài sản

Tài khoản ngân hàng

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

Tài khoản
Tiết kiệm


Chứng khoán

Tài khoản
Cổ phiếu
Thanh toán

Bất động sả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
2 – Phân tích thiết kế hướng đối tượng

13


Các khái niệm cơ bản của HĐT
 Objects & Class

 Attributes (Properties) & Operation (Behavior)
 Method & Message

 Interface (Polymorphism)
 Component

 Package
 Subsystem

 Relationship

2 – Phân tích thiết kế hướng đối tượng

14


Object
 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ể
Khái niệm

Thực thể
vật lý
Truck

Thực thể
Phần mềm

Chemical Process

Linked-list
2 – Phân tích thiết kế hướng đối tượng

15


Objects & Class
 Một đối tượng là một đối tượng 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ể
 Lớp (Class) – khuôn mẫu cho các thể hiện của object

 Đối tượng (Object) – Thể hiện của một class
 Thuộc tính (Attributes)

 Hành vi (Behaviors) – chi tiết đối tượng có thể làm gì

2 – Phân tích thiết kế hướng đối tượng

16


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
: Profressor
A x B = 10

Chỉ có tên Class
ProfressorJohn

ProfressorJohn:
Professor

Profressor John

Chỉ có tên Object

Tên Class và tên Object

2 – Phân tích thiết kế hướng đối tượng

17


Class - Example
Class
Course
Properties

Behavior

Tên

Thêm một sinh viên

Địa điểm

A x B = 10

Thời gian
Số tín chỉ

Huỷ một sinh viên

Lấy danh sách giáo sư
Profressor John




Giờ bắt đầu
Giờ kết thúc

2 – Phân tích thiết kế hướng đối tượng

18


Class & Object

2 – Phân tích thiết kế hướng đối tượng

19


Method & Message
 Phương thức (Methods) implement an object’s behavior

 Messages are sent to trigger methods
 Procedure call from one object to the next

2 – Phân tích thiết kế hướng đối tượng

20


Phương thức và message

2 – Phân tích thiết kế hướng đối tượng


21


Polymorphism
Khả năng che dấu nhiều cài đặt khác nhau
bên dưới một giao diện (interface) duy nhất
 Nguyên tắc OO đóng gói
Nhà sản xuất A
Nhà sản xuất B

Nhà sản xuất C
2 – Phân tích thiết kế hướng đối tượng

22


Polymorphism – Interface
 Interface là hình thức hoá polymorphism
 Interface hỗ trợ kiến trúc “plug & play”

Tube

<<interface>>

Shape

Pyramid

Draw
Move

Scale
Rotate

Cube

Quan hệ Realizzation

2 – Phân tích thiết kế hướng đối tượng

23


Component
 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
 Một component có thể là
 Một source code component
 Một run time components hoặc
 Một executable component
Source File
Name

<<EXE>>
Executable name

2 – Phân tích thiết kế hướng đối tượng

<<DLL>>

Component name

24


Package
 Một package là một cơ chế để tổ chức các phần tử vào
thành các nhóm
 Một phần tử trong mô hình có thể chứa các phần tử khác

Package
Name

Nguyên tắc OO
Tính đơn thể

 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
2 – Phân tích thiết kế hướng đối tượng

25


×