intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng: Chương 2 - ĐH Công nghiệp TP.HCM

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PPTX | Số trang:90

97
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Phân tích và thiết kế hệ thống hướng đối tượng - Chương 2: Các khái niệm cơ bản trong hướng đối tượng" trình bày các nội dung: Tổng quan về phân tích thiết kế hướng đối tượng OOAD, các đặc trưng của phương pháp hướng đối tượng, giới thiệu về hướng đối tượng,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng: Chương 2 - ĐH Công nghiệp TP.HCM

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Chương II CÁC KHÁI NIỆM CƠ BẢN  TRONG HƯỚNG ĐỐI TƯỢNG
  2. NỘI DUNG 2.1. Tổng quan về phân tích thiết kế hướng đối tượng  OOAD (Object­Oriented Analysis and Design) 2.2.  Các  đăc ̣ trưng  cua  ̉ phương  pháp  hướng  đối  tượng 2.3.  Giới  thiêu  ̣ về  hướng  đối  tượng:  Object  và  ̣ trưng  cua  class,  các  đăc  ̉ class:  kế  thừa,  đóng  gói và đa hình 2.4. Unified Modeling Language (UML) 2.5. Tiến trình RUP  
  3. TỔNG QUAN VỀ OOAD • Mô hình hướng đối tượng giới thiệu một quan điểm lập  trình và phân tích/thiết kế khác hẳn so với trường phái cổ  điển (có cấu trúc) • Bắt đầu nhen nhóm vào những năm cuối 60s và đến đầu 90s  trở nên rất phổ biến trong công nghiệp phần mềm • Những ngôn ngữ hướng đối tượng đầu tiên: Smalltalk,  Eiffel. Sau đó xuất hiện thêm: Object Pascal, C++, Java… • Hình thành các phương pháp phân tích/thiết kế hướng đối  tượng.  
  4. TỔNG QUAN VỀ OOAD • Chiến lược phát triển phần mềm hướng đối tượng là quan  sát thế giới thực như tập các đối tượng • Các tính chất của đối tuợ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   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
  5. TỔNG QUAN VỀ OOAD • 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 • 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 đóng gói –  Kế thừa –  Ða hình
  6. TỔNG QUAN VỀ OOAD • Class Model • Data­Oriented – static structure – what objects are in the  system? – how are they related? • Action­Oriented • Dynamic Model – behavioral aspects – what events occur in the  system – when do they occur and in  • Both Data and Actions what order? • Functional Model – data transformations – “what” does the system do
  7. TỔNG QUAN VỀ OOAD Static Diagrams Class Use-Case Diagrams Sequence Diagrams Object Diagrams Diagrams Communication Component Models Diagrams Diagrams Dynamic  Diagrams State Machine Deployment Diagrams Diagrams Activity Diagrams
  8. TỔNG QUAN VỀ OOAD Các bước phân tích và thiết kế theo hướng đối tượng • Class Modeling • Dynamic Modeling • Functional Modeling • Add Operations to the Class Model • Iterate and refine the models – After the first iteration, steps may occur in parallel or out of order – All models must be kept in synch as changes are made
  9. CÁC ĐẶC TRƯNG CỦA HƯỚNG ĐỐI  TƯỢNG 
  10. Lớp trừu tượng và lớp cu thê (Abstract and Concrete  ̣ ̉ Class) 
  11. Review: Encapsulation Illustrated • Professor Clark  Professor Clark needs to be able to  teach four classes  Ac cep tC in the next  ou () rse es Of rad fer i ng semester. lG () in a Name: J Clark it F bm Employee ID: 567138 Su HireDate: 07/25/1991 Status: Tenured Set Discipline: Finance SetMaxLoad(4) M MaxLoad: 4 axL o ad () TakeSabbatical()
  12. MODULARITY  • For example, break  complex systems into  Billing smaller modules. System Course Catalog System Course Registration System Student Management System
  13. HIERARCHY Increasing Asset abstraction BankAccount Security RealEstate Decreasing  Savings Checking Stock Bond abstraction Elements at the same level of the hierarchy  should be at the same level of abstraction.
  14. GIỚ I THIÊU VÊ ̣ ̀  HƯỚ NG ĐỐ I TƯỢNG • Lớp và đối tượng, sự đóng bao • Thuộc tính, tác vụ, thông điệp • Bao gộp, thừa kế • Tính đa hình, tính vĩnh cửu
  15. ĐỐI TƯỢNG (OBJECT) Đối tượng (Object): • Mô  hình  đối  tượng  quan  niệm  thế  giới  bao  gồm  các  đối  tượng(object) sinh sống và tương tác với nhau. • Đối tượng bao gồm: – Dữ liệu: mang một giá trị nhất định – Tác vụ: thực hiện một công việc nào đó • VD:
  16. ĐỐI TƯỢNG (OBJECT) Đối tượng (Object): • VD: (Person) Person Joe Smith name age=39 age weight=158 weight (Person) Mary Wilson age=27 weight=121
  17. LỚP (CLASS) • Lớp định nghĩa một tập hợp các tác vụ và thuộc tính mà đặc  tả đầy đủ cấu trúc và hành vi của đối tượng • Đối tượng(instance) được cụ thể hóa từ lớp • Đóng bao: gộp thuộc tính và tác vụ trong  một đối tượng đồng thời giới hạn cách truy  xuất các thuộc tính đó(thường phải thông  qua tác vụ get, set) Class Attributes Operations ball radius, weight catch, throw football air pressure pass, kick, hand-off baseball liveness hit, pitch, tag
  18. LỚP (CLASS) • Thuộc tính:  là một vùng có thể chứa dữ liệu (đơn hoặc tổ  hợp) của lớp • Dữ liệu mà thuộc tính thể hiện nằm trong một khoảng giá  trị nào đó được xác định bởi kiểu • Giá trị của tất cả các thuộc tính xác định trạng thái của đối  tượng – VD:  một  đối  tượng  của  Circle    có  (Radius,  x,  y)  =  (2,  1.8,6.4) • Thuộc  tính  có  thể  bị  che  dấu  hoặc  truy  xuất  được  từ  bên  ngoài: public, protected, private
  19. LỚP (CLASS) Professor ­ name ­ employeeID : UniqueID ­ hireDate ­ status ­ discipline ­ maxLoad + submitFinalGrade() + acceptCourseOffering() Professor J Clark + setMaxLoad() + takeSabbatical() + teachClass()
  20. LỚP (CLASS) • Có 2 loại tầm vực:  – Tầm vực lớp: thuộc tính chung cho tất cả đối tượng của  1 lớp – Tầm vực đối tượng: thuộc tính của từng đối tượng (có  thể mang giá trị khác nhau) • Bậc của thuộc tính chỉ ra số lượng dữ liệu mà bản thân  thuộc tính có thể nắm giữ: 0..1, 1..*, 10…20.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0