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

Giáo trình UML - Chương 9: Lược đồ lớp thiết kế

Chia sẻ: Khach Venduong | Ngày: | Loại File: PPT | Số trang:40

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

Trong UML, lơṕ thiêt́ kê ́ bao gôm̀ 2 thaǹ h phâǹ chiń h: ◦Thuôc̣ tính (attribute) ◦Thao tać (operation)

Chủ đề:
Lưu

Nội dung Text: Giáo trình UML - Chương 9: Lược đồ lớp thiết kế

  1. CHƯƠNG 8: CH Lược đồ lớp thiêt kế ́ (Design class diagram – DCD) 1 PTTKHT bang UML ­ BM HTTT
  2. ̣ Nôi dung Nôi Lớp thiêt kế ́ ̣ ́ Phân loai cac operation Cac loai lớp thiêt kế ́ ̣ ́ Cach tao lược đồ DCD ́ ̣ 2 PTTKHT bang UML ­ BM HTTT
  3. Lớp thiêt kế ́ UML, lơp thiêt kế ́ ́ Trong ̀ ̀ ̀ bao gôm 2 thanh phân ́ chinh: ̣́ ◦ Thuôc tinh (attribute) ́ ◦ Thao tac (operation) 3 PTTKHT bang UML ­ BM HTTT
  4. ́ Thao tac (Operation) hành vi (behavior) liên quan đến 1 Là lớp. Một operation có 4 thành phần: ̀ ̀ ◦ Tâm nhin (visibility) ́ ◦ Tên thao tac (Operation name) ◦ Cac tham số ngõ vao: argument1, ́ ̀ argument2 .. ◦ Giá trị trả về (return type) hiệu: Ký 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 nhin (visibility) Bôn (+) cho phep tât cả cac lớp ́ ́ ́ Public khac bên ngoai được xem và sử ́ ̀ ̣ ̀ dung operation nay. Private (-) giới han viêc truy xuât ̣ ̣ ́ chỉ trong pham vi cua class. Ví dụ ̣ ̉ chỉ có cac operation cua class mới ́ ̉ được truy xuât đên thuôc tinh riêng ́ ́ ̣́ (private) cua lớp đó ̉ 5 PTTKHT bang UML ­ BM HTTT
  6. ́ ̉ ̀ ̀ Bôn kiêu tâm nhin (visibility) Bôn (#) cho phep chỉ cac lớp ́ ́ Protected con (subclass) cua lớp đó mới ̉ được xem và sử dung operation. ̣ Do tinh kế thừa cac lớp con phai ́ ́ ̉ truy xuât được đên cac thuôc tinh ́ ́ ́ ̣́ và thao tac cua lớp cha. ́ ̉ ́ ́ ́ Package (~) cho phep cac đôi tượng khac trong cung goi ́ ̀ ́ (package) được phep xem và sử́ ̣ dung operation. 6 PTTKHT bang UML ­ BM HTTT
  7. Vií dụ về thao tac ́ V + 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 4 loại operations: Có 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 loai nay 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 PTTKHT bang UML ­ BM HTTT
  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 điêp có tên là create trong UML là dang ̣ ̣ Thông đôc lâp ngôn ngữ dung để chỉ sự khởi đâu. Khi ̣ ̣ ̀ ̀ chuyên sang ngôn ngữ lâp trinh, chung thuôc ̉ ̣ ̀ ́ ̣ ̣ loai Manager Operation Loai operation nay 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 dich khac nhau tuy theo ̀ ̣ ́ ̀ ngôn ngữ và vì sự khởi đâu/huy cua 1 lớp quá ̀ ̉ ̉ thông dung nên cac operation loai nay đêu bị ̣ ́ ̣ ̀ ̀ 11 PTTKHT bang UML ­ BM HTTT
  12. Access Operations thường các attribute đều thuộc Thông loại private hay protected. Tuy nhiên có thể 1 lớp nay cân xem hay thay đôi ̀ ̀ ̉ thuôc tinh cua 1 lớp khac, điêu nay ̣́ ̉ ́ ̀ ̀ 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 tinh đêu có phương thức ̣ ̣́ ̀ get và set để nhân hay đăt giá trị cho ̣ ̣ ̣́ ́ thuôc tinh đo. 12 PTTKHT bang UML ­ BM HTTT
  13. Access Operations Access ́ operation get và set thường quá Cac thông dung, không cân đưa vao lược ̣ ̀ ̀ đồ class để tranh gây rườm ra. ́ ̀ Ví dụ với n thuôc tinh thì có tới 2n ̣́ method loai nay. Vì vây trong lược đồ ̣ ̀ ̣ class cua hệ thông POS , ta bỏ qua ̉ ́ không đưa method getPrice() vao lớp ̀ Product-Specification. 13 PTTKHT bang UML ­ BM HTTT
  14. Helper Operations các operation mà 1 class cần thực Là 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 ́ ̣ Khai bao loai operation ́ ̣ Khai bao loai (stereotypes) operation giup nhân biêt nó thuôc loai nao để ́ ̣ ́ ̣ ̣ ̀ hiêu được muc đich sử dung no. ̉ ̣ ́ ̣ ́ ́ ́ ̣ Cach khai bao loai: operationName Ví du: thao tac Promote thuôc loai ̣ ̣ ̣ implementor Promote() 15 PTTKHT bang UML ­ BM HTTT
  16. Tao lược đồ lớp thiêt kế ̣ ́ Tao Design Class Diagram- DCD có thể được thực hiên tiêp theo ̣ ́ DCD ngay sau khi tao lược đồ tuân tự ̣ ̀ nhưng trong thực tế thì DCD thường được tao song song với lược đồ tuân ̣ ̀ tự. 16 PTTKHT bang UML ­ BM HTTT
  17. Interface Interface lâp trinh OO thì cân tach rời ̣ ̀ ̀ ́ Theo phân thực thi cua 1 lớp ra khoi giao ̀ ̉ ̉ ̣ ̉ ́ diên cua no. Hâu hêt ngôn ngữ OO ngay nay có hỗ ̀ ́ ̀ trợ khai niêm về interface. ́ ̣ Interface chỉ chứa cac khai bao ́ ́ phương thức (operation signature), không chưa mã thực thi. ́ 17 PTTKHT bang UML ­ BM HTTT
  18. Vií dụ về interface V ́ môt lớp chuyên về bao mât, có ̣ ̉ ̣ Xet cac operation như sau CheckID, ́ CheckPassword, ́ LogSecurityViolation. Trong đo: ◦ CheckID có user ID như tham số và trả về giá trị Boolean bao cho biêt ID có hợp lệ ́ ́ hay không. ◦ CheckPassword có tham số đâu vao là ̀ ̀ password, giá trị trả về là kiêu Boolean. ̉ ◦ LogSecurityViolation không có tham sô. ́ 18 PTTKHT bang UML ­ BM HTTT
  19. Vií dụ về interface V cach thông thường, lớp ́ Theo SecurityImplementer được tao 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 bao ́ ́ ̀ ̉ mât, hệ thông sẽ goi trực tiêp cac ̣ ́ ̣ ́ ́ phương thức cua lớp̉ SecurityImplementer Vân đề là nêu muôn thay đôi cac ́ ́ ́ ̉ ́ phương thức nay thì sẽ lam anh ̀ ̀ ̉ 19 PTTKHT bang UML ­ BM HTTT
  20. Vií dụ về interface V ́ khac: tao lớp ́ ̣ Cach SecurityImplementer vơi cac phương ́ ́ thưc và mã thực thi. Tao thêm 1 lớp ́ ̣ khac có tên là SecurityInterface chỉ để ́ chưa cac khai bao phương thức ́ ́ ́ (operation signatures). Cac lớp khac 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ônglam anh 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