Bài giảng Phân tích thiết kế hướng đối tượng - Bài 1: Các khái niệm cơ bản về hướng đối tượng - Vũ Thị Dương

pdf 21 trang phuongnguyen 5730
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hướng đối tượng - Bài 1: Các khái niệm cơ bản về hướng đối tượng - Vũ Thị Dương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_huong_doi_tuong_bai_1_cac_khai.pdf

Nội dung text: Bài giảng Phân tích thiết kế hướng đối tượng - Bài 1: Các khái niệm cơ bản về hướng đối tượng - Vũ Thị Dương

  1. Trường Đại học công nghiệp Hà Nội KHOA CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Gv: Vũ Thị Dương Email: duongvt01@gmail.com
  2. Nội dung môn học  Thời lượng: 4 tín chỉ, 2 tín chỉ lt+ 2 tín chỉ TH  Giáo viên: Vũ Thị Dương  Khoa: Công nghệ phần mềm  Email: duongvt01@gmail.com  Điện thoại: 0904.755.919 2010 Phân tích thiết kế hướng đối tượng Bài 1 – 2/21
  3. Nộ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  Mục tiêu của học phần:  Cung cấp cho sinh viên cách tiếp cận hướng đối tượng giúp để có được những công cụ, phương pháp mới, phù hợp để tạo ra những hệ thống phần mềm chất lượng cao nhằm đáp ứng được những nhu cầu thường xuyên thay đổi, ngày một phức tạp của thực tế.  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
  4. Nội dung chi tiết 1. Các khái niệm hướng đối tượng 2. Tổng quan về ngôn ngữ mô hình hóa UML 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 7. Mô hình hóa dữ liệu 2010 Phân tích thiết kế hướng đối tượng Bài 1 – 4/21
  5. 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 Phân tích thiết kế hướng đối tượng Bài 1 - 5/21
  6. Bài 1 Các khái niệm cơ bản về hướng đối tượng
  7. Nội dung trình bày  Phương pháp hướng chức năng  Phương pháp hướng đối tượng  Đối tượng  Lớp  Các tính chất cơ bản của hệ thống hướng đối tượng 2010 Phân tích thiết kế hướng đối tượng Bài 1 - 7/21
  8. 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 F1 F2 F 1.1 F 1.2 F 2.1 F 2.2 dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 8/59
  9. 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 dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 9/59
  10. Phương pháp hướng chức năng  Công nghệ hướng chức năng có các hạn chế sau  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. dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 10/59
  11. 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 dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 11/59
  12. 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  Tính gói  Kế thừa  Đa trị Lake Model Natural Model dvduc-2004 Phân tích thiết kế hướng đối tượng Bài 1 - 12/59
  13. Phân biệt 2 hệ thống HĐT và HCN  Phân biệt 2 hệ thống  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
  14. Đối tượng  Đối tượng (object) là khái niện cho phép mô tả các sự vật/thực thể trong thế giới thực  Các đối tượng duy trì các mối quan hệ giữa chúng  Ví dụ: Sách – là 1 đối tượng 2010 Phân tích thiết kế hướng đối tượng Bài 1 - 14/21
  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
  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  Hàm dựng (constructor)  Hàm hủy (destructor)  Hàm chọn lựa –get  Hàm sửa đổi- set  Các hàm khác  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
  17. Lớp  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= các thuộc tính + phương thứ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 Người Tên Tuổi Đổi tuổi() 2010 Phân tích thiết kế hướng đối tượng Bài 1 - 17/21
  18. Lớp  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 Sinh viên Học Đại học 2010 Phân tích thiết kế hướng đối tượng Bài 1 – 18/21
  19. Lớ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
  20. Các tính chất của lập trình HĐT  Tính đóng gói  Dữ liệu + xử lý dữ liệu = đối tượng  Thuộc tính + phương thức = lớp  Ưu điểm  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
  21. Các tính chất của lập trình HĐT  Tính đa hình  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