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)[r]
(1)2 – Phân tích thiết kế hướng đối tượng
GV: Phan Thị Kim Loan
Phân tích thiết kế hướng đối tượng
(2)2 – Phân tích thiết kế hướng đối tượng
Nội dung trước
2
Giới thiệu
Tiến trình phát triển hệ thống
(3)2 – Phân tích thiết kế hướng đối tượng
Nội dung
3
Hệ thống hướng chức vs Hệ thống hướng đối tượng Các đặc điểm hệ thống hướng đối tượng
Giới thiệu UML – UML 2.0
(4)2 – Phân tích thiết kế hướng đối tượng
Giới thiệu
Lịch sử phát triển 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
(5)2 – Phân tích thiết kế hướng đối tượng
Lịch sử phát triển OOAD
(6)2 – Phân tích thiết kế hướng đối tượng
Lịch sử UML
6 OOSE OMT Booch method Others method Unified method UML 0.9 UML 1.0 UML 1.1 UML 1.3 UML 2.0 OOPSLA ‘95 Web – Jun ‘96 UML Partners
OMG Acceptance, Nov ‘97
Final submission to OMG, Sep ’97 First submission to OMG, Jan ‘97
Pu
bl
ic & F
ee
db
(7)2 – Phân tích thiết kế hướng đối tượng
Giới thiệu
Thiết kế cấu trúc thiết kế hướng đối tượng
7
Student Account
Đăng ký học phần
v v…
Thi cử Đóng học phí
Nhập học
(8)2 – Phân tích thiết kế hướng đối tượng
Giới thiệu
Thiết kế cấu trúc thiết kế hướng đối tượng
8
Student Account
v v… Messege
Messege
Messege
Messege
(9)2 – Phân tích thiết kế hướng đối tượng
Nguyên tắc 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
(10)2 – Phân tích thiết kế hướng đối tượng
Trừu tượng hoá – Abstraction
Quản lý độ phức tạp
10
Người bán hàng
Sản phẩm
(11)2 – Phân tích thiết kế hướng đối tượng
Tính đóng gói – Encapsulation
Che dấu cài đặt bên với clients
Clients phụ thuộc vào interface
Tăng tính mềm dẻo
(12)2 – Phân tích thiết kế hướng đối tượng
Tính đơn thể - Modularity
Phân chia nhỏ vấn đề phức tạp thành nhiều
phần nhỏ, đơn giản để quản lý độ phức tạp
12 Hệ thống xử lý mua bán hàng hoá
Nhận đơn đặt hàng
Thực đơn đặt hàng
Thanh toán đơn đặt hàng
Lập hoá đơn bán hàng Thanh toán hoá đơn
Xuất hoá đơn
(13)2 – Phân tích thiết kế hướng đối tượng
Tính phân cấp – Hierarchy
13
Bất động sản Chứng khoán
Tài khoản ngân hàng
Tài sản
Cổ phiếu Trái phiếu Tài khoản
Tiết kiệm Tài khoản Thanh toán
Tăng mức độ trừu tượng Giảm mức độ
trừu tượng
(14)2 – Phân tích thiết kế hướng đối tượng
Các khái niệm HĐT
Objects & Class
Attributes (Properties) & Operation (Behavior) Method & Message
Interface (Polymorphism) Component
Package Subsystem Relationship
(15)2 – Phân tích thiết kế hướng đối tượng
Object
Một cách khơng hình thức, đối tượng biểu diễn thực
thể, dạng vật lý, khái niệm phần mềm
15
Thực thể vật lý
Thực thể Khái niệm
Thực thể
Phần mềm Chemical Process
Truck
(16)2 – Phân tích thiết kế hướng đối tượng
Objects & Class
Một đối tượng đối tượng trừu tượng, vật với
giới hạn rõ ràng có ý nghĩa với ứng dụng cụ thể
Lớp (Class) – khuôn mẫu cho thể object Đối tượng (Object) – Thể class
Thuộc tính (Attributes)
Hành vi (Behaviors) – chi tiết đối tượng làm
(17)2 – Phân tích thiết kế hướng đối tượng
Biểu diễn đối tượng
Một đối tượng biểu diễn hình chữ
nhật với tên gạch
17
: Profressor
ProfressorJohn
ProfressorJohn: Professor
A x B = 10
Profressor John
Chỉ có tên Object
(18)2 – Phân tích thiết kế hướng đối tượng
Class - Example
Class Course
18
A x B = 10
Profressor John
Properties
Tên
Địa điểm Thời gian Số tín Giờ bắt đầu Giờ kết thúc
Behavior
Thêm sinh viên Huỷ sinh viên
(19)2 – Phân tích thiết kế hướng đối tượng
Class & Object
(20)2 – Phân tích thiết kế hướng đối tượng
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