Giáo trình Phân tích thiết kế hướng đối tượng

pdf 31 trang huongle 7680
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phân tích thiết kế hướng đối tượ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:

  • pdfgiao_trinh_phan_tich_thiet_ke_huong_doi_tuong.pdf

Nội dung text: Giáo trình Phân tích thiết kế hướng đối tượng

  1. Phân tích thiết kế hướng đối tượng
  2. Thông tin Tên môn học: Phân tích thiết kế hướng đối tượng (UML) Giảng viên: Trương Ninh Thuận Email: thuantn@vnu.edu.vn Addr: Bộ môn CNPM, Khoa CNTT
  3. Nội dung môn học Tổng quan về phân tích thiết kế hướng đối tượng Giới thiệu về ngôn ngữ mô hình hóa UML Biểu đồ ca sử dụng Khái niệm về lớp, đối tượng và các biểu đồ Các mô hình động Các biểu đồ cài đặt và thành phần Ngôn ngữ ràng buộc OCL A case study
  4. Tài liệu tham khảo G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 482 pp, 1999. Đặ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. Bertrand Meyer. Object-oriented software construction. Prentice Hall, 1997. Phần mềm: Rational Rose Enterprise Edition 2002, IBM Rational Software. 2002.
  5. Đánh giá Điểm thực hành: 30% Điểm chuyên cần: 10% Điểm thi học kỳ: 60%
  6. Tổng quan về phân tích thiết kế hướng đối tượng Trương Ninh Thuận
  7. Công nghệ phần mềm hướng đối tượng  Công nghệ phần mềm hướng đối tượng là việc sử dụng kỹ thuật đối tượng (object technologies) trong xây dựng phần mềm
  8. Kỹ nghệ đối tượng  Pressman, 1997  Kỹ nghệ đối tượng thường được sử dụng để biểu diễn tất cả các khía cạnh của cách nhìn hướng đối tượng và bao gồm các phương pháp phân tích, thiết kế và kiểm thử, các ngôn ngữ lập trình, công cụ, CSDL, và các ứng dụng tạo bởi phương pháp hướng đối tượng  Taylor, 1997  Kỹ nghệ đối tượng là một tập các nguyên tắc hướng dẫn để xây dựng phần mềm cùng với ngôn ngữ, CSDL và công cụ hỗ trợ các nguyên tắc này
  9. Lợi ích của kỹ nghệ đối tượng  Cho phép tái sử dụng  Phát triển phần mềm nhanh và chất lượng  Dễ dàng bảo trì các modules  Dễ dàng mở rộng
  10. Đối tượng  Sự biểu diễn của một thực thể vật lý, một khái niệm, hoặc phần mềm Airplane  Cho phép người phát triển phần mềm biểu diễn Chemical các khái niệm thế giới Process thực trong thiết kế phần mềm của họ Linked List
  11. Đối tượng  Là một thực thể hoàn Operations toàn xác định về ranh giới và định danh (id), nó chứa các trạng thái và phương thức Attributes
  12. Trạng thái của đối tượng  Các điều kiện có thể để đối tượng có thể AthleteID: 3556 tồn tại Name: Joel Santos Status:NEW  Giá trị lưu giữ trong Squad:None các thuộc tính (attributes),
  13. Phương thức của đối tượng  Chỉ ra làm thế nào đối tượng phản ứng và phản ứng lại Enrolls()  Biểu diễn bởi các thao tác đối tượng có thể thực hiện updateSquad() Joel Santos
  14. Định danh của đối tượng  Mặc dù hai đối tượng có thể chia sẻ cùng trạng thái, hai đối tượng là riêng biệt và có định danh khác nhau AthleteID: 3556 AthleteID: 3557 Name Joel Santos Name: Arjay Solamo Status:NEW Status:NEW Squad:None Squad:None
  15. Bốn nguyên tắc cơ bản của hướng đối tượng  Trừu tượng hóa,  Đóng gói  Mođun hóa  Phân cấp
  16. Trừu tượng hóa  Trừu tượng hóa là một kiểu biểu diễn những gì liên quan và quan trọng của một cách nhìn riêng biệt  Cho phép quản lý sự phức tạp của hệ thống bằng cách tập trung vào các đặc điểm cần thiết
  17. Ví dụ về trừu tượng hóa  Một ứng viên đến đăng ký và CLB thể thao  CLB thử việc ứng viên  HLV đưa ứng viên vào đội hình CLB  Đội hình CLB có thể là đội chính thức hoặc dự bị  Đội hình thi đấu được thành lập từ đội hình CLB
  18. Đóng gói  Đóng gói quy tụ các đặc trưng của một thực thể vào trong một hộp đen trừu tượng, cất giấu sự cài đặt các đặc trưng này sau một giao diện  Thường được biết đến bởi khái niệm “cất giấu thông tin”, cho phép người sử dụng dùng đối tượng mà không cần biết sự cài đặt của giao diện
  19. Minh họa đóng gói  Joel Santos được tuyển vào Training Squad. submitApplication()  Gọi phương thức của giao diện (message interface). UpdateSquad() updateSquad(“Training”)
  20. Mođun hóa  Môđun hóa là sự phân rã về mặt vật lý hoặc logic một hệ thống lớn và phức tạp thành các thành phần quản lý được  Phân rã hệ thống thành các hệ thống con. Các hệ thống con này được phát triển độc lập và có thể tương tác được với nhau.
  21. Sự phân cấp (Hierarchy)  Sự phân thứ tự sự trừu tượng hóa thành các cấu trúc cây.  Các kiểu phân cấp Lớp Chứa nhau Kế thừa Riêng biệt hóa Kiểu
  22. Minh họa sự phân cấp Squad Training Competing Squad Squad
  23. Sự kế thừa  Cơ chế các phần tử Squad Name Coach riêng biệt hợp thành MemberList kiến trúc và hành vi listMembers() của phần tử tổng quát changeCoach()  Kế thừa thuộc tính, Training Squad Competing phương thức và quan Squad hệ
  24. Đa hình  Khả năng ẩn sự thực > thi sau một giao diện Asset  Cho phép một thống getValue(); điệp xử lý khác nhau bởi các đối tượng khác nhau. Stock Bond Mutual Fund getValue() ; getValue(); getValue();
  25. Phân tích hướng đối tượng  Mục đích chính của phân tích hướng đối tượng là phát triển một chuỗi các mô hình mô tả phần mềm máy tính có thể làm việc thỏa mãn yêu cầu người dùng  Định hướng của phân tích hướng đối tượng là định nghĩa một tập các lớp, các quan hệ và các hành vi liên quan đển hệ thống  Bởi vì yêu cầu khách hàng ảnh hưởng đến việc xây dựng các mô hình, giai đoạn này cũng được gọi là kỹ nghệ yêu cầu (requirements engineering)
  26. Năm nguyên tắc cơ bản của phân tích  Phạm vi thông tin được mô hình hóa  Chức năng các modules được mô tả  Hành vi mô hình được thể hiện  Mô hình được phân hoạch để biểu diễn chi tiết  Mô hình ban đầu biểu diễn sự cần thiết của vấn đề, các mô hình sau cung cấp sự thực thi chi tiết.
  27. Các bước cơ bản của các phương pháp phân tích đối tượng  Bước 1: Xác định các yêu cầu người sử dụng cho hệ thống hướng đối tượng  Bước 2: Chọn các lớp và đối tượng sử dụng hướng dẫn của mô hình yêu cầu.  Bước 3: Xác định các thuộc tính và phương thức của mỗi lớp.  Bước 4: Định nghĩa cấu trúc và phân cấp tổ chức các lớp.  Bước 5: Xây dựng mô hình quan hệ đối tượng  Bước 6: Xây dựng mô hình hành vi đối tượng  Bước 7: Xem xét lại mô hình phân tích hướng đối tượng với các yêu cầu và các chuẩn.
  28. Các sản phẩm của công việc phân tích hướng đối tượng  Mô hình yêu cầu Mô hình use cases Các yêu cầu tăng thêm Glossary  Mô hình phân tích Mô hình đối tượng Mô hình hành vi
  29. Thiết kế hướng đối tượng - Mô hình thiết kế  Chuyển mô hình phân tích tạo ra từ phân tích hướng đối tượng sang mô hình thiết kế.  Mô tả tổ chức dữ liệu, các thuộc tính, thủ tục chi tiết của các hành vi riêng biệt.
  30. Các bước chính của thiết kế hướng đối tượng  Bước 1: Thiết kế các hệ thống con của phần mềm  Các hệ thống con liên quan dữ liệu (entity design)  Các hệ thống con liên quan đến điều khiển (controller design)  Các hệ thống con liên quan đến tương tác với con người (boundary design)  Bước 2: Thiết kế lớp và đối tượng  Bước 3: Thiết kế thông điệp giữa các đối tượng
  31. Các sản phẩm của thiết kế hướng đối tượng  Kiến trúc phần mềm  Thiết kế dữ liệu  Thiết kế giao diện  Thiết kế thành phần  Thiết kế cài đặt