Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về hướng đối tượng

pdf 64 trang hapham 2320
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về 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:

  • pdfbai_giang_phan_tich_va_thiet_ke_huong_doi_tuong_su_dung_uml.pdf

Nội dung text: Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Giới thiệu về hướng đối tượng

  1. Phân Tích & Thiết Kế Hướng Đối Tượng Sử Dụng UML Giới Thiệu Về Hướng Đối Tượng OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 1
  2. Mục tiêu: Giới thiệu về Hướng Đối Tượng ?Tìm hiểu các nguyên tắc cơ bản của hướng đối tượng (object orientation – OO) ?Tìm hiểu các khái niệm cơ bản và các thuật ngữ của hướng đối tượng kết hợp với hệ thống ký hiệu của UML ?Đánh giá chính xác sức mạnh của OO ?Tìm hiểu một số cơ chế mô hình hoá cơ bản của UML OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 2
  3. Giới thiệu về Hướng Đối Tượng: Các chủ đề ?Các nguyên tắc cơ bản của OO ?Các khái niệm cơ bản của OO ?Sức mạnh của OO ?Các cơ chế mô hình hoá cơ bản của UML OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 3
  4. Các nguyên tắc cơ bản của OO Hướng Đối Tượng Hierarchy Modularity Abstraction Tính đơn thể Tính đóng gói Encapsulation Tính phân cấp Trừu tượng hoá OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 4
  5. Thế nào là trừu tượng hoá ? Người bán hàng Sản phẩm Khách hàng Quản lý được độ phức tạp OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 5
  6. Encapsulation là gì? ?Che dấu cài đặt bên trong với clients ?Clients phụ thuộc vào interface Tăng tính mềm dẻo OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 6
  7. Tính đơn thể là gì ? ?Phân chia nhỏ một vấn đề phức tạp thành nhiều phần nhỏ, đơn giản hơn quản lý được Nhận Đơn đặt hàng Hệ thống xử lý đơn đặt hàng Thực hiện đơn đặt hàng Tính tiền Quản lý được độ phức tạp OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 7
  8. Sự phân cấp (Hierarchy) là gì ? ?Mức độ trừu tượng hoá Tài sản Tăng mức độ Trừu tượng BankAccount Chứng khoán Bất động sản Tài khoản Tài khoản Cổ phiếu Trái phiếu Tiết kiệm Thanh toán Giảm mức độ Các phần tử trên cùng một mức phải có cùng Trừu tượng mức độ trừu tượng OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 8
  9. Giới thiệu về Hướng Đối Tượng: Các chủ đề ?Các nguyên tắc cơ bản của OO ?Các khái niệm cơ bản của OO ?Sức mạnh của OO ?Các cơ chế mô hình hoá cơ bản của UML OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 9
  10. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 10
  11. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 11
  12. Object là gì ? ?Một cách không hình thức, một đối tượng biểu diễn một thực thể, dạng vật lý, khái niệm, hoặc phần mềm ?Thực thể vật lý Truck ?Thực thể khái niệm Chemical Process ?Thực thể phần mềm Linked List OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 12
  13. Một định nghĩa hiệu quả hơn ?Một đối tượng là một khái niệm, sự trừu tượng, hoặc một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể ?Một đối tượng có: ?Trạng thái ?Hành vi ?Định danh (Identity) OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 13
  14. Biểu diễn đối tượng ?Một đối tượng được biểu diễn bởi một hình chữ nhật với tên được gạch dưới : Professor a + b = 10 ProfessorClark Chỉ có tên Class Professor Clark ProfessorClark : Professor Chỉ có tên đối tượng Tên class và tên đối tượng OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 14
  15. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 15
  16. Class là gì? ?Class là mô tả của một nhóm đối tượng có chung các thuộc tính (attributes), hành vi (operations), các mối quan hệ và ngữ nghĩa ?Một đối tượng là một thể hiện của class ?Một class là sự trừu tượng mà trong đó: ?Nhấn mạnh các tính chất quan trọng ?Bỏ qua các tính chất khác Nguyên tắc OO : Trừu tượng hoá OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 16
  17. Ví dụ về Class Class Course Properties Behavior Tên Thêm một sinh viên Địa điểm Huỷ một sinh viên a + b = 10 Thời gian Lấy danh sách giáo sư Số tín chỉ Xác định hết chỗ chưa Giờ bắt đầu Giờ kết thúc OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 17
  18. Biểu diễn Class ?Một class biểu diễn bằng một hình chữ nhật gồm ba phần a + b = 10 Professor Professor Clark OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 18
  19. Các phần trong một Class ?Một class bao gồm ba phần ?Phần đầu chứa tên class ?Phần thứ hai cho thấy cấu trúc của lớp (attributes) ?Phần thứ ba cho thấy các hành vi của lớp (operations) Tên class Professor name Attributes empID Operations create( ) save( ) delete( ) change( ) OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 19
  20. Các lớp đối tượng ?Bạn nhìn thấy bao nhiêu class? OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 20
  21. Quan hệ giữa class và đối tượng ?Một class là một định nghĩa trừu tượng của một đối tượng ?Nó định nghĩa cấu trúc và hành vi của mỗi đối tượng trong lớp ?Nó được dùng như khuôn mẫu để tạo đối tượng ?Các đối tượng được nhóm thành các class Objects Class Professor Professor Smith Professor Mellon Professor Jones OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 21
  22. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 22
  23. Thuộc tính (Attribute) là gì? Object Class Attribute Attribute Value :CourseOffering number = 101 startTime = 900 CourseOffering endTime = 1100 number startTime endTime :CourseOffering number = 104 startTime = 1300 endTime = 1500 OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 23
  24. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 24
  25. Hành vi (Operation) là gì? CourseOffering Class addStudent deleteStudent getStartTime Operation getEndTime OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 25
  26. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 26
  27. Polymorphism là gì? ?Khả năng che dấu nhiều cài đặt khác nhau bên dưới một giao diện (interface) duy nhất Nhà SX B Nhà SX A Nhà SX C Nguyên tắc OO: Đóng gói OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 27
  28. Interface là gì? ?Interface hình thức hoá polymorphism ?Interface hỗ trợ kiến trúc “plug-and-play” Tube > Shape Pyramid Draw Move Scale Rotate Cube Quan hệ Realization OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 28
  29. Biểu diễn Interface Tube Biểu diễn rút gọn Pyramid Shape Cube Biểu diễn chính tắc Tube (Class/Stereotype) > Shape Pyramid Draw Move Scale Rotate Cube OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 29
  30. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 30
  31. Component là gì? ?Một phần không tầm thường của hệ thống, gần như độc lập và có thể thay thế được, giữ một chức năng rõ ràng trong hệ thống ?Một component có thể là ?Một source code component ?Một run time components hoặc Nguyên tắc OO: Đóng gói ?Một executable component Source File > > Name Executable Component Name Component Name Interface OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 31
  32. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 32
  33. Package là gì? ?Một package là một cơ chế để tổ chức các phần tử vào thành các nhóm ?Một phần tử trong mô hình có thể chứa các phần tử khác Nguyên tắc OO: Package Name Tính đơn thể ?Dùng để ?Tổ chức mô hình đang phát triển ?Một đơn vị trong quản trị cấu hình OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 33
  34. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 34
  35. Subsystem là gì? ?Tổ hợp của một package (có thể chứa các phần tử khác trong mô hình) và một class (có hành vi) ?Hiện thực hoá một hoặc nhiều interface định nghĩa cho hành vi của nó Realization Subsystem > Interface Subsystem Name Interface Nguyên tắc OO: Đóng gói và Tính đơn thể OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 35
  36. Subsystem và Component ?Component là thể hiện ở mức vật lý của một khái niệm trừu tượng trong thiết kế ?Subsystem có thể dùng để biểu diễn các component trong thiết kế Design Model Implementation Model > Component Component Name Name Component Component Interface Interface Nguyên tắc OO: Đóng gói và Tính đơn thể OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 36
  37. Các khái niệm cơ bản của Hướng đối tượng ?Object ?Class ?Attribute ?Operation ?Interface (Polymorphism) ?Component ?Package ?Subsystem ?Relationships OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 37
  38. Các mối quan hệ ?Association (Kết hợp) ?Aggregation (Thu nạp) ?Composition (Cấu thành) ?Dependency (Phụ thuộc) ?Generalization (Tổng quát hóa) ?Realization (Hiện thực hoá) OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 38
  39. Mối quan hệ: Association ?Mô hình hoá một liên kết ngữ nghĩa giữa các class Tên Association Professor Dạy cho University Association Tên Role Class Professor University Employee Employer OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 39
  40. Mối quan hệ: Aggregation ?Một dạng đặc biệt của association mô hình hoá mối quan hệ toàn thể-bộ phận giữa một thực thể và các bộ phận của nó Whole Part Student Schedule Aggregation OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 40
  41. Mối quan hệ: Composition ?Một dạng aggregation có tính sở hữu cao và cùng chu kỳ sống ?Các bộ phận không thể sống lâu hơn thực thể Whole Part Student Schedule Aggregation OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 41
  42. Association: Bản số và Chiều ?Bản số xác định số đối tượng tham gia vào một mối quan hệ ?Số các thể hiện của một class quan hệ với MỘT thể hiện của một class khác ?Được chỉ ra ở mỗi đầu của quan hệ association ?Association và aggregation mặc định là hai chiều, nhưng người ta thường giới hạn theo một chiều ?Mũi tên được thêm vào để chỉ chiều của mối quan hệ OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 42
  43. Association: Bản số ?Không xác định ?Chỉ một 1 ?Không hoặc nhiều 0 * * ?Một hoặc nhiều 1 * ?Không hoặc một 0 1 ?Khoảng được chỉ định 2 4 ?Các khoảng không liên tục 2, 4 6 OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 43
  44. Ví dụ: Bản số và Chiều Multiplicity Student 1 0 * Schedule Navigation OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 44
  45. Mối quan hệ: Dependency ?Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tử này có thể gây ra thay đổi ở phần tử kia ?Quan hệ “sử dụng”, không cấu trúc Client Supplier Component Class Client Supplier Package Dependency relationship ClientPackage SupplierPackage Dependency relationship OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 45
  46. Mối quan hệ: Generalization ?Quan hệ giữa các class trong đó một lớp chia sẻ cấu trúc và/hoặc hành vi của một hoặc nhiều class khác ?Xác định một sự phân cấp các mức độ trừu tượng trong đó một subclass kế thừa từ một hoặc nhiều superclass ?Đơn kế thừa ?Đa kế thừa ?Generalization là quan hệ “là một dạng của” OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 46
  47. Ví dụ: Đơn kế thừa ?Một class kế thừa từ một class khác Tổ tiên Account balance name Superclass number (cha) Withdraw() CreateStatement() Generalization Relationship Checking Savings Subclasses Withdraw() GetInterest() Withdraw() Hậu duệ OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 47
  48. Ví dụ: Đa kế thừa ?Một class kế thừa từ nhiều class khác FlyingThing Animal Đa kê thừa Airplane Helicopter Bird Wolf Horse Chỉ sử dụng đa kế thừa khi thật cần, và luôn phải cẩn thận ! OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 48
  49. Cái gì được kế thừa? ?Một subclass kế thừa các thuộc tính, hành vi và các mối quan hệ từ cha nó ?Một subclass có thể: ?Bổ sung thuộc tính, hành vi và các mối quan hệ ?Định nghĩa lại các hành vi (nên cẩn thận!) ?Các thuộc tính, hành vi và các mối quan hệ chung được đặt ở mức cao nhất có thể trong cấu trúc phân cấp Sự kế thừa làm nổi bật các điểm tương đồng giữa các class OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 49
  50. Ví dụ: Cái gì được kế thừa GroundVehicle owner Person Superclass weight (cha) licenseNumber 0 * 1 register( ) generalization Car Truck Trailer Subclass size tonnage getTax( ) OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 50
  51. Mối quan hệ: Realization ?Một classifier đóng vai trò một hợp đồng mà một classifier khác đồng ý thực hiện ?Xuất hiện giữa: ?Các Interface và các classifier hiện thực chúng Class Component Subsystem Interface Interface Interface Dạng tắt ?Các Use case và các collaboration hiện thực chúng Dạng chính tắc Use Case Use-Case Realization OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 51
  52. Giới thiệu về Hướng Đối Tượng: Các chủ đề ?Các nguyên tắc cơ bản của OO ?Các khái niệm cơ bản của OO ?Sức mạnh của OO ?Các cơ chế mô hình hoá cơ bản của UML OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 52
  53. Sức mạnh của Hướng đối tượng ?Một mô hình chung ?Có tính dễ dùng lại ?Mô hình phản ánh chính xác thế giơi thực ?Mô tả chính xác hơn các tập dữ liệu và các xử lý ?Được phân rã dựa trên các phân chia tự nhiên ?Dễ hiểu và dễ bảo trì ?Tính ổn định ?Một thay đổi nhỏ trong yêu cầu không gây ra sự thay đổi lớn trong hệ thống đang phát triển OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 53
  54. Một ví dụ đơn giản: Sales Order System Đặt hàng Sản xuất Vận chuyển bằng OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 54
  55. Class Diagram của ví dụ “bán hàng” Sale seller buyer item sold shipping mechanism Salesperson Customer Product Vehicle Corporate Individual Truck Train OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 55
  56. Hiệu ứng của sự thay đổi yêu cầu Giả sử bạn cần phương tiện vận chuyển mới Sale seller buyer item sold shipping mechanism Salesperson Customer Product Vehicle Corporate Individual Truck Train Airplane Việc thay đổi liên quan đến việc thêm 1 subclass mới OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 56
  57. Giới thiệu về Hướng Đối Tượng: Các chủ đề ?Các nguyên tắc cơ bản của OO ?Các khái niệm cơ bản của OO ?Sức mạnh của OO ?Các cơ chế mô hình hoá cơ bản của UML OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 57
  58. Các khuôn mẫu (Stereotype) ?Phân lớp và mở rộng các phần tử trong hệ thống ký hiệu UML ?Định nghĩa một phần tử của mô hình mới dựa trên một phần tử khác ?Có thể áp dụng cho mọi phần tử mô hình ?Được biểu diễn với tên đặt trong dấu > hoặc bằng các icon khác > MyBoundaryClass MyBoundaryClass OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 58
  59. Ví dụ: Stereotype > > > DesignClass > Processor #1 Processor #1 OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 59
  60. Các ghi chú (note) ?Có thể đặt ghi chú cho mọi phần tử UML ?Ghi chú dùng để thêm thông tin cho các lược đồ ?Nó là hình chữ nhật bị bẻ góc ?Ghi chú có thể móc nối với một phần tử bằng một đường đứt nét There can be up to one MaintainScheduleForm per MaintainScheduleForm user session. OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 60
  61. Các giá trị đính (Tagged Values) ?Là sự mở rộng của các thuộc tính hoặc của các phần tử UML ?Là một số thuộc tính được định nghĩa sẵn bởi UML ?Persistence ?Location (chẳng hạn client, server) ?Là các thuộc tính có thể được tạo bởi các nhà mô hình hoá UML phục vụ cho mục đích bất kỳ PersistentClass {persistence} anObject : ClassA {location=server} OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 61
  62. Các ràng buộc (Constraints) ?Hỗ trợ việc thêm các luật mới hoặc hiệu chỉnh các luật đang tồn tại Member 1 Professor Department 1 * {subset} Department Head 1 1 OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 62
  63. Câu hỏi ôn tập ?Bốn nguyên tắc cơ bản của OO là gì ? Mô tả ngắn gọn về mối nguyên tắc. ?Đối tượng là gì ? Class là gì ? Những điểm khác nhau giữa chúng ? ?Thuộc tính (Attribute) là gì ? ?Hành vi (Operation) là gì ? ?Interface là gì ? Polymorphism là gì ? ?Component là gì ? (còn tiếp) OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 63
  64. Câu hỏi ôn tập (tt) ?Package là gì? ?Subsystem là gì ? Nó có quan hệ như thế nào với Component? Nó có quan hệ như thế nào với package? Nó có quan hệ như thế nào với class? ?Tên của 4 quan hệ UML cơ bản ? Mô tả từng quan hệ. ?Mô tả sức mạnh của OO. ?Cho biết tên và mô tác một số cơ chế tổng quát trong UML. ?Stereotype là gì? Cho biết tên của một số stereotype dùng chung. OOAD Sử dụng UML – Giới thiệu về Hướng Đối Tượng Dương Anh Đức, 9/2000 64