Professional Documents
Culture Documents
GV : TS. Trương Quốc Định
Giới thiệu môn học
9 The objectoriented development của Tom Rowlett, NXB Prentice Hall PTR, 2001
process
10 A introducton to objectoriented của David Willia Brown, NXB John Wileys &
analysis Objects in plain English Sons, 2002
11 Objects¸ components and frameworks của Desmond Francis D’Souza, Alan Cameron
with UML Wills, NXB Addison – Wesley, 1999
13 La démarche objet Concepts et outils của Max Bouché, NXB Afnor, 1994
14 Object models strategies, patterns & của Peter Coad, NXB PrenticeHall, 1997
applications
15 Modern system analysis & design của Jeffrey Hoffer, Joey F.George, Joseph S.
Valacich, NXB PrenticeHall, 2002
4
Lịch sử phương pháp luận PTHT
• Phương pháp hướng cấu trúc được xem là phương
pháp chuẩn phát triển phần mềm vào thập niên 70-
80.
• Tuy nhiên phương pháp này tỏ ra kém hiệu quả đối
với những dự án phần mềm lớn và tính tái sử dụng
thấp
• Phương pháp luận phát triển phần mềm hướng đối
tượng ra đời vào thập niên 90 và nhanh chóng trở
nên phổ biến.
5
Lịch sử phương pháp luận PTHT (tt)
• Phương pháp hướng cấu trúc
– Là phương pháp thiết kế từ trên xuống (top-down) : Chia bài
toán lớn thành các bài toán con, mỗi bài toán con giải quyết
một vấn đề nhất định.
– Cách tiếp cận
• Hướng dữ liệu : phân rã phần mềm theo các chức năng cần
đáp ứng và dữ liệu cho các chức năng đó.
• Hướng xử lý : phân tích phần mềm dựa trên các hoạt động thực
thi, không quan tâm đến định nghĩa dữ liệu.
– Ưu điểm
• Tư duy phân tích rõ rang, chương trình dễ hiểu
– Hạn chế
• Không hỗ trợ việc sử dụng lại do từng modul phụ thuộc chặt chẽ
vào bài toán và cấu trúc dữ liệu cụ thể.
• Không thích hợp giải quyết các bài toán lớn vì có sự phức tạp
trong phân rã và tích hợp.
6
Lịch sử phương pháp luận PTHT (tt)
• Hướng đối tượng
– Tư duy theo cách ánh xạ các thành phần của hệ thống
vào các đối tượng ngoài đời thực.
– Ứng dụng được chia thành các thành phần nhỏ, gọi là
các đối tượng, chúng tương đối độc lập với nhau.
– Mỗi đối tượng bao gồm đầy đủ dữ liệu và các hoạt động
của nó.
– Hệ thống được xây dựng bằng cách ghép nối các đối
tượng lại với nhau thông qua các mối quan hệ cũng như
sự tương tác giữa chúng.
– Ưu điểm:
• Hỗ trợ sử dụng lại mã nguồn do tính đặc thù của phương
pháp lập trình hướng đối tượng.
• Phù hợp với các hệ thống lớn do chỉ chú trọng việc xác định
đối tượng và các hành vi có liên quan.
7
Lịch sử phương pháp luận PTHT (tt)
• Các nguyên tắc cơ bản của hướng đối tượng
– Trừu tượng hóa
• Thực thể phần mềm được trừu tượng hóa thành các đối
tượng, các đối tượng được trừu tượng hóa thành các lớp
với thuộc tính và phương thức tương ứng. Các lớp được
trừu tượng hóa thành cac lớp kế thừa.
– Tính đóng gói
• Các đối tượng có những phương thức và thuộc tính riêng.
• Việc Cài đặt các đối tượng độc lập với nhau.
• Cài đặt hệ thống độc lập với người sử dụng
– Tính phân cấp
• Phân cấp theo các cấp độ trừu tượng từ cao đến thấp
8
Lịch sử phương pháp luận PTHT
• Các khái niệm cơ bản của hướng đối tượng
– Đối tượng : biểu diễn cho một thực thể vật lý, một thực
thể khái niệm hay một thực thể phần mềm.
– Lớp : là mô tả của một nhóm đối tượng có chung các
thuộc tính, hành vi và các mối quan hệ. Đối tượng là thể
hiện của một lớp và lớp là định nghĩa trừu tượng của đối
tượng.
– Thành phần : là một phần của hệ thống hoạt động độc
lập và giữ vai trò nhất định trong hệ thống.
– Gói : là cách tổ chức các thành phần, phần tử hệ thống
thành các nhóm. Tập hợp các gói có thể tạo nên một hệ
thống con.
– Kế thừa : một lớp có thể sử dụng lại thuộc tính, phương
9 thức của một hoặc nhiều lớp khác.
Mô hình hóa hệ thống phần mềm
• Mục tiêu của giai đoạn PTHT là xây dựng nên mô
hình tổng thể cho hệ thống cần xây dựng.
• Mô hình này cần được trình bày theo hướng nhìn
(View) của người sử dụng và quan trọng là họ
phải hiểu được.
• Mô hình này cũng được sử dụng để xác định các
yêu cầu của người dùng đối với hệ thống và giúp
chúng đánh giá tính khả thi của dự án.
• Mô hình thường được mô tả bằng ngôn ngữ trực
quan, có nghĩa là đa phần các thông tin được thể
hiện bằng các ký hiệu đồ họa và các kết nối giữa
chúng.
10