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]
Trang 1Phân tích thiết kế hướng đối tượng
Trang 2Nộ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
Trang 3Nộ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
Trang 4Giớ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
Trang 5Lịch sử phát triển OOAD
Trang 6Lịch sử của UML
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
Trang 7Giới thiệu
Thiết kế cấu trúc và thiết kế hướng đối tượng
Student Account
Đăng ký học phần
v v…
Thi cử
Đóng học phí
Nhập học
Thiết kế cấu trúc
Trang 8Giới thiệu
Thiết kế cấu trúc và thiết kế hướng đối tượng
Student Account
v v…
Messege
Messege
Messege
Messege
Thiết kế hướng đối tượng
Trang 9Nguyên tắc cơ bản của OO
Trang 10Trừu tượng hoá – Abstraction
Người bán hàng
Sản phẩm
Trang 11Tính đóng gói – Encapsulation
Clients phụ thuộc vào interface
Trang 12Tí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
Nhận đơn đặt hàng
Thực hiện đơ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
…Các đơn thể quản lý tồn kho
Trang 13Tính phân cấp – Hierarchy
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
Trang 14Cá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
Trang 15Object
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ể
Truck
Trang 16Objects & 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ì
Trang 17Biể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
ProfressorJohn
ProfressorJohn:
Professor
A x B = 10
Profressor John
Chỉ có tên Object Chỉ có tên Class
Trang 18Class - Example
Class Course
A x B = 10
Profressor John
Properties
Tên
Địa điểm
Thời gian
Số tín chỉ
Giờ bắt đầu
Giờ kết thúc
Behavior
Thêm một sinh viên Huỷ một sinh viên Lấy danh sách giáo sư
…
Trang 19Class & Object
Trang 20Method & 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