intTypePromotion=1
ADSENSE

Chương 8 : Lược đồ lớp thiết kế

Chia sẻ: Muay Thai | Ngày: | Loại File: PDF | Số trang:40

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

Lớp thiết kế Phân loại các operation Các loại lớp thiết kế Cách tạo lược đồ DCD Trong UML, lớp thiết kế bao gồm 2 thành phần chính: Thuộc tính (attribute) Thao tác (operation)

Chủ đề:
Lưu

Nội dung Text: Chương 8 : Lược đồ lớp thiết kế

  1. CHƯƠNG 8: Lược đồ lớp thiết kế (Design (Design class diagram – DCD) PTTKHT bang UML - BM HTTT 1
  2. Nội dung dung Lớp thiết kế   Phân loại các operation  Các loại lớp thiết kế  Cách tạo lược đồ DCD 2 PTTKHT bang UML - BM HTTT
  3. Lớp thiết kế Trong UML, lớp thiết kế  bao gồm 2 thành phần chính: ◦ Thuộc tính (attribute) ◦ Thao tác (operation) 3 PTTKHT bang UML - BM HTTT
  4. Thao tác (Operation) Là hành vi (behavior) liên quan đến 1 lớp.   Một operation có 4 thành phần: ◦ Tầm nhìn (visibility) ◦ Tên thao tác (Operation name) ◦ Các tham số ngõ vào: argument1, argument2 .. ◦ Giá trị trả về (return type) Ký hiệu:  Visibility Operation Name(argument1 : argument1 data type, argument2 : argument2 data type, …) : return type 4 PTTKHT bang UML - BM HTTT
  5. Bốn kiểu tầm nhìn (visibility) (+) cho phép tất cả các lớp  Public khác bên ngoài được xem và sử dụng operation này.  Private (-) giới hạn việc truy xuất chỉ trong phạm vi của class. Ví dụ chỉ có các operation của class mới được truy xuất đến thuộc tính riêng (private) của lớp đó 5 PTTKHT bang UML - BM HTTT
  6. Bốn kiểu tầm nhìn (visibility) (#) cho phép chỉ các lớp  Protected con (subclass) của lớp đó mới được xem và sử dụng operation. Do tính kế thừa các lớp con phải truy xuất được đến các thuộc tính và thao tác của lớp cha.  Package (~) cho phép các đối tượng khác trong cùng gói (package) được phép xem và sử dụng operation. 6 PTTKHT bang UML - BM HTTT
  7. Ví dụ về thao tác Vi du + totalOrderAmount (order : Order) : Dollar {The total is the sum of all line items less the volume discount. Each line item is the product of the unit price and quantity} 7 PTTKHT bang UML - BM HTTT
  8. Operation Có 4 loại operations:  ◦ implementor ◦ manager ◦ access ◦ helper. 8 PTTKHT bang UML - BM HTTT
  9. Implementor Operations Thực thi 1 số chức năng nghiệp vụ.   Operation loại này thường được tìm thấy trong lược đồ Interaction vì lược đồ này tập trung chủ yếu vào chức năng nghiệp vụ. Mỗi message trong lược đồ có thể ánh xạ thành 1 implementor operation.  Mỗi implementor operation cũng có thể lần ngược về lại yêu cầu ban đầu. 9 TTKHT bang UML - BM HTTT P
  10. Implementor Operations Vì mỗi operation được suy từ message trên lược đồ interaction, mà lược đồ này lại được suy từ flow of events, và flow of event đến từ use case và use case thì suy được từ requirement. Khả năng lần theo vết này (trace) bảo đảm  rằng mỗi requirement đều đuợc hiện thực hoá thành code và mỗi đoạn code đều có thể suy ngược về lại requirement. 10 PTTKHT bang UML - BM HTTT
  11. Manager Operations Thông điệp có tên là create trong UML là dạng  độc lập ngôn ngữ dùng để chỉ sự khởi đầu. Khi chuyển sang ngôn ngữ lập trình, chúng thuộc loại Manager Operation Loại operation này quản lý việc tạo và huỷ các  đối tượng. Có hai loại điển hình là constructor và destructor. Thường thì các manager operation này được tạo tự động cho mỗi class. Do có nhiều thông dịch khác nhau tùy theo ngôn  ngữ và vì sự khởi đầu/hủy của 1 lớp quá thông dụng nên các operation loại này đều bị bỏ qua không xét đến trong DCD. 11 bang UML - BM HTTT PTTKHT
  12. Access Operations Thông thường các attribute đều thuộc  loại private hay protected. Tuy nhiên có thể 1 lớp này cần xem hay thay đổi thuộc tính của 1 lớp khác, điều này thực hiện được thông qua access operation.  Một số ngôn ngữ như Java thì mỗi một thuộc tính đều có phương thức get và set để nhận hay đặt giá trị cho thuộc tính đó. 12 PTTKHT bang UML - BM HTTT
  13. Access Access Operations Các operation get và set thường quá  thông dụng, không cần đưa vào lược đồ class để tránh gây rườm rà.  Ví dụ với n thuộc tính thì có tới 2n method loại này. Vì vậy trong lược đồ class của hệ thống POS , ta bỏ qua không đưa method getPrice() vào lớp Product- Specification. 13 PTTKHT bang UML - BM HTTT
  14. Helper Operations Là các operation mà 1 class cần thực thi  nhiệm vụ của nó mà các lớp khác không cần biết đến các operation này.  Thường là private và protected.  Tương tự như implementor operation, helper operation được tìm từ các reflexive message trong lược đồ interaction. 14 PTTKHT bang UML - BM HTTT
  15. Khai báo loại operation Khai Khai báo loại (stereotypes) operation giúp  nhận biết nó thuộc loại nào để hiểu được mục đích sử dụng nó.  Cách khai báo loại: operationName  Ví dụ: thao tac Promote thuộc loại implementor Promote() 15 PTTKHT bang UML - BM HTTT
  16. Tạo lược đồ lớp thiết kế Ta Design Class Diagram- DCD DCD có thể được thực hiện tiếp theo  ngay sau khi tạo lược đồ tuần tự nhưng trong thực tế thì DCD thường được tạo song song với lược đồ tuần tự. 16 PTTKHT bang UML - BM HTTT
  17. Interface Interface Theo lập trình OO thì cần tách rời phần  thực thi của 1 lớp ra khỏi giao diện của nó.  Hầu hết ngôn ngữ OO ngày nay có hỗ trợ khái niệm về interface.  Interface chỉ chứa các khai báo phương thức (operation signature), không chứa mã thực thi. 17 PTTKHT bang UML - BM HTTT
  18. Ví dụ về interface Vi du Xét một lớp chuyên về bảo mật, có các  operation như sau CheckID, CheckPassword, LogSecurityViolation. Trong đó: ◦ CheckID có user ID như tham số và trả về giá trị Boolean báo cho biết ID có hợp lệ hay không. ◦ CheckPassword có tham số đầu vào là password, giá trị trả về là kiểu Boolean. ◦ LogSecurityViolation không có tham số. 18 PTTKHT bang UML - BM HTTT
  19. Ví dụ về interface Vi du Theo cách thông thường, lớp  SecurityImplementer được tạo ra chứa cả ba phương thức security và phần mã thực thi chức năng.  Nếu hệ thống cần chức năng bảo mật, hệ thống sẽ gọi trực tiếp các phương thức của lớp SecurityImplementer  Vấn đề là nếu muốn thay đổi các phương thức này thì sẽ làm ảnh hưởng cả hệ thống. 19 PTTKHT bang UML - BM HTTT
  20. Ví dụ về interface Vi du Cách khác: tạo lớp SecurityImplementer  với các phương thức và mã thực thi. Tạo thêm 1 lớp khác có tên là SecurityInterface chỉ để chứa các khai báo phương thức (operation signatures).  Các lớp khác sẽ tham chiếu đến lớp interface thay vì tham chiếu đến lớp thực thi. Nhờ đó lớp implementor khi bị thay đổi sẽ khônglàm ảnh hưởng cho cả hệ thống. 20 PTTKHT bang UML - BM HTTT
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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