Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Gv: Vũ Thị Dương Email: duongvt01@gmail.com
KHOA CÔNG NGHỆ THÔNG TIN
Trường Đại học công nghiệp Hà Nội
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Trang 2Nội dung môn học
Trang 3Nội dung môn học
Điều kiện tiên quyết:
Đã học môn Kỹ thuật lập trình, Phân tích và thiết kế hệ thống, Lập trình hướng đối tượng, Nhập môn công nghệ phần mềm
Kết thúc môn học, sinh viên có thể thực hiện các đồ án tốt nghiệp
và tham gia vào các dự án phát triển phần mềm ứng dụng
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 3/21
Trang 4Nội dung chi tiết
1. Các khái niệm hướng đối tượng
3. Mô hình hóa yêu cầu (biểu đồ ca sử dụng)
4. Mô hình hóa lĩnh vực ứng dụng (biểu đồ lớp lĩnh vực)
5. Mô hình hóa hành vi( biểu đồ tương tác, trạng thái)
6. Biểu đồ kiến trúc vật lý và phát sinh mã trình
2010 Phân tích thiết kế hướng đối tượng Bài 1 – 4/21
Trang 5Phân tích thiết kế hướng đối tượng Bài 1 - 5/21
Tài liệu tham khảo chính
1 Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng
UML, Nhà xuất bản Giáo dục, 287 trang 2002
2 Zhiming Liu, Object-Oriented Software Development with
UML, UNU/IIST, 169 pp, 2002
3 Phần mềm: Rational Rose Enterprise Edition 2002, IBM
Rational Software 2002
4 Nguyễn Văn Ba, Phát triển hệ thống hướng đối tượng với
UML 2.0 và C++, Nxb Đại học quốc gia hà nội, 2005
5 TS Dương Kiều Hoa – Tôn Thất Hoà An, Phân tích hệ
thống bằng UML, tài liệu đào tạo từ xa HCM, 2009
Trang 6Các khái niệm cơ bản về hướng
đối tượng
Bài 1
Trang 7Nội dung trình bày
Lớp
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 7/21
Trang 8dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 8/59
Phương pháp hướng chức năng
Cho đến giữa 1990: Phần lớn các kỹ sư phần mềm sử dụng phương pháp thiết kế chức năng top-down (thiết kế kiến trúc)
Bị ảnh hưởng bới các ngôn ngữ lập trình ALGOL, Pascal, C
Các hàm của hệ thống phần mềm được xem như tiêu chí cơ sở khi
phân rã
Tách chức năng khỏi dữ liệu
Chức năng có hành vi
Dữ liệu chứa thông tin bị các chức năng tác động
Phân tách top-down chia hệ thống thành các hàm để chuyển sang mã trình, dữ liệu được gửi giữa chúng
Main function
Trang 9dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 9/59
Phương pháp hướng chức năng
Tiến trình phát triển tập trung vào thông tin mà hệ
thống quản lý
Người phát triển hệ thống hỏi người sử dụng cần thông tin gì
Thiết kế CSDL để lưu trữ thông tin
Xây dựng màn hình nhập liệu
Hiển thị báo cáo
Chỉ tập trung vào thông tin, ít quan tâm đến cái gì thực hiện với thông tin hay hành vi hệ thống
Tiệm cận này gọi là tiệm cận hướng dữ liệu
Đã được áp dụng nhiều năm và tạo ra hàng ngàn hệ thống
Thuận tiện cho thiết kế CSDL
Bất tiện cho xây dựng các hệ thống tác nghiệp
yêu cầu hệ thống thay đổi theo thời gian
Trang 10dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 10/59
Phương pháp hướng chức năng
Sản phẩm hình thành từ giải pháp này khó bảo trì
Mọi chức năng đều chia sẻ khối dữ liệu lớn
Các chức năng phải hiểu rõ dữ liệu được lưu trữ thế nào
Khi thay đổi cấu trúc dữ liệu kéo theo thay đổi mọi hàm liên quan
Tiến trình phát triển không ổn định
Thay đổi yêu cầu kéo theo thay đổi các chức năng
Rất khó bảo toàn kiến trúc thiết kế ban đầu khi hệ thống tiến hóa
Tiệm cận này không hỗ trợ lập trình bằng ngôn ngữ hướng đối tượng như C++, Java, Smalltalk, Eiffel.
Trang 11dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 11/59
Phương pháp hướng đối tượng
Chiến lược phát triển phần mềm hướng đối tượng là quan sát thế giới như tập các đối tượng
Các đối tượng tương tác và cộng tác với nhau để hình thành hành vi mức cao
Các tính chất của đối tượng
Đối tượng có thể là
thực thể nhìn thấy được trong thế giới thực (trong pha phân tích yêu cầu)
biểu diễn thực thể hệ thống (trong pha thiết kế)
Đối tượng có trách nhiệm quản lý trạng thái của mình, cung cấp dịch vụ cho đối tượng khác khi có yêu cầu
do vậy, dữ liệu và hàm cùng gói trong đối tượng
Chức năng hệ thống:
các dịch vụ được yêu cầu và cung cấp như thế nào giữa các đối tượng, không quan tâm đến thay đổi trạng thái bên trong đối tượng
Các đối tượng được phân thành class
Các đối tượng thuộc cùng lớp đều có đặc tính (thuộc tính và thao tác) chung
Trang 12dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 12/59
Phương pháp hướng đối tượng
Tiệm cận hướng đối tượng tập trung vào cả thông tin và hành vi
Cho khả năng xây dựng hệ thống mềm dẻo, “co dãn”
Phương pháp này dựa trên các nguyên tắc sau
Trang 13Phân biệt 2 hệ thống HĐT và HCN
Lập trình cấu trúc
Chương trình= thuật toán + cấu trúc dữ liệu
Lập trình hướng đối tượng
Chương trình = ∑ đối tượng
Đối tượng = phương thức + thuộc tính
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 13/21
Trang 15Đối tượng
Các tính chất của đối tượng
Đối tượng = trạng thái + hành vi + định danh
Trạng thái là các đặc tính của đối tượng tại 1 thời điểm
TT = tập hợp các thuộc tính
Vd: xe máy: màu xanh,đứng yên, dream,…
Hành vi thể hiện chức năng của đối tượng
Tập hợp các phương thức= 1 thao tác hoặc được thực hiện = chính nó hoặc thực hiện khi có yêu cầu từ môi trường
Vd: xe máy: Khởi động, chạy
Định danh thể hiện sự tồn tại duy nhất của đối tượng
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 15/21
Trang 16Đối tượng
Các đối tượng giao tiếp:
Gửi thông điệp cho nhau
Các loại thông điệp
Giữa các đối tượng có mối liên kết với hau
Nguyễn văn a hoc tại đại học công nghiệp
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 16/21
Trang 17 Là khái niện dùng để mô tả 1 tập hợp các đối tượng có dùng 1 cấu trúc hành vi và có dùng mối quan hệ với các đối tượng khác
Lớp là 1 bước trừu tượng hóa
Tìm kiếm các điểm giống nhau, bỏ qua các điểm khác của đtượng
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 17/21
Người
Tên Tuổi Đổi tuổi()
Trang 18 Quan hệ giữa các lớp: kết hợp
Một kết hợp là một tập hợp các mối liên kết giữa các đối tượng
2010 Phân tích thiết kế hướng đối tượng Bài 1 – 18/21
Sinh viên Học Đại học
Trang 19Lớp và đối tượng
Đối tượng là thể hiện của lớp
Giá trị là thể hiện của thuộc tính
Liên kết là thể hiện của kết hợp
2010 Phân tích thiết kế hướng đối tượng Bài 1 – 19/21
Trang 20 Hạn chế ảnh hưởng khi có thay đổi cập nhật
Ngăn cản sự truy cập thông tin từ bên ngoài
Che dấu thông tin
Kết thừa: là việc lớp được xây dựng từ 1 hay nhiều lớp bằng việc chia sẻ các thuộc tính và phương thức
Đơn kế thừa
Đa kế thừa
2010 Phân tích thiết kế hướng đối tượng Bài 1 – 20/21
Trang 21Các tính chất của lập trình HĐT
Là khả năng các phương thức khác nhau được thực hiện để trả lời cùng 1 yêu cầu
Mỗi lớp con thừa kế đặc tả các phương thức từ lớp cha và các
phương thức này có thể được sửa đổi trong lớp con để thực hiện chức năng riêng trong lớp đó
Một phương thức có nhiều dạng khác nhau trong các lớp khác
nhau
2010 Phân tích thiết kế hướng đối tượng Bài 1 – 21/21