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

Phân tích và Thiết kế hướng đối tượng dùng UML: THiết kế class

Chia sẻ: Vo Van Tien | Ngày: | Loại File: PDF | Số trang:131

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

Tìm hiểu mục đích của bước thiết kế class và vị trí của công đoạn này trong qui trình. Xác định bổ sung các class và quan hệ của chúng cần để hỗ trợ cho việc cài đăth các cơ chế kiến trúc đã chọn. Xác định và phân tích việc chuyển đổi trạng thái các đối tượng trong các class kiểm soát được trạng thái

Chủ đề:
Lưu

Nội dung Text: Phân tích và Thiết kế hướng đối tượng dùng UML: THiết kế class

  1. Phaân tích vaø Thieát keá Höôùng ñoái töôïng duøng UML Module 13: Thieát keá Class PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 1 Döông Anh Ñöùc
  2. Muïc tieâu w Tìm hieåu muïc ñích cuûa böôùc thieát keá Class vaø vò trí cuûa coâng ñoaïn naøy trong qui trình w Xaùc ñònh boå sung caùc class vaø quan heä cuûa chuùng caàn ñeå hoã trôï cho vieäc caøi ñaët caùc cô cheá kieán truùc ñaõ choïn w Xaùc ñònh vaø phaân tích vieäc chuyeån ñoåi traïng thaùi caùc ñoái töôøng trong caùc class kieåm soaùt ñöôïc traïng thaùi w Tinh chænh caùc quan heä, operation, vaø thuoäc tính PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 2 Döông Anh Ñöùc
  3. Vò trí cuûa Thieát keá Class Architectural Analysis Review the Architecture Describe Architectural Describe Architecture Reviewer Architect Design Concurrency Distribution Subsystem Design Use-Case Analysis Review the Use-Case Design Design Design Designer Reviewer Class Design PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 3 Döông Anh Ñöùc
  4. Toång quan veà Class Design Architecture Document Guidelines Design Classes Class Design Design Classes Use-Case Realization Design Model Supplementary PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc Specifications 4 Döông Anh Ñöùc
  5. Caùc böôùc thieát keá Class Taïo caùc Design Class ban ñaàu w Xaùc ñònh caùc Persistent Class w Ñònh nghóa caùc Operation w Ñònh nghóa Class Visibility w Ñònh nghóa caùc Method w Ñònh nghóa caùc traïng thaùi w Ñònh nghóa caùc thuoäc tính w Ñònh nghóa caùc phuï thuoäc w Ñònh nghóa caùc moãi keát hôïp w Ñònh nghóa caùc quan heä toång quaùt hoùa w Giaûi quyeát ñuïng ñoä giöõa caùc Use-Case w Xöû lyù caùc yeâu caàu phi chöùc naêng noùi chung w Checkpoints w PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 5 Döông Anh Ñöùc
  6. Caùc böôùc thieát keá Class Taïo caùc Design Class ban ñaàu w Xaùc ñònh caùc Persistent Class w Ñònh nghóa caùc Operation w Ñònh nghóa Class Visibility w Ñònh nghóa caùc Method w Ñònh nghóa caùc traïng thaùi w Ñònh nghóa caùc thuoäc tính w Ñònh nghóa caùc phuï thuoäc w Ñònh nghóa caùc moãi keát hôïp w Ñònh nghóa caùc quan heä toång quaùt hoùa w Giaûi quyeát ñuïng ñoä giöõa caùc Use-Case w Xöû lyù caùc yeâu caàu phi chöùc naêng noùi chung w Checkpoints w PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 6 Döông Anh Ñöùc
  7. Caùc khaûo saùt khi thieát keá Class w Class stereotype § Boundary § Entity § Control w Caùc design pattern khaû duïng w Caùc cô cheá kieán truùc § Persistence § Distribution §… PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 7 Döông Anh Ñöùc
  8. Caàn bao nhieâu Class ? w Neáu nhieàu class ñôn giaûn. Nghóa laø moãi class: § Ñoùng goùi moät phaàn ít hôn treân toaøn boä heä thoáng § Nhieàu khaû naêng duøng laïi hôn § Deã caøi ñaët hôn w Neáu nhieàu class phöùc taïp. Nghóa laø moãi class: § Ñoùng goùi moät phaàn nhieàu hôn treân toaøn boä heä thoáng § Ít khaû naêng duøng laïi hôn § Khoù caøi ñaët hôn Moät class phaûi coù moät muïc tieâu roõ raøng. Moät class phaûi laøm moät vieäc gì ñoù vaø phaûi laøm toát ñieàu naøy ! PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 8 Döông Anh Ñöùc
  9. Thieát keá caùc Boundary Class w Caùc User interface (UI) boundary class § Coâng cuï xaây döïng giao dieän ngöôøi duøng naøo seõ ñöôïc söû duïng? § Bao nhieâu giao dieän coù theå ñöôïc xaây döïng bôûi coâng cuï? w Caùc External system interface boundary class § Thöôøng ñöôïc moâ hình nhö subsystem MainWindow SubWindow MainForm Button DropDownList PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 9 Döông Anh Ñöùc
  10. Thieát keá caùc Entity Class w Caùc Entity object thöôøng thuï ñoäng vaø persistent w Caùc yeâu caàu veà hieäu naêng coù theå buoäc ta phaûi taùi xaây döïng w Xem theâm böôùc xaùc ñònh Persistent Class Analysis Design > FatClass FatClass - transientBookeeping - transientBookeeping + getCommonlyUsedAtt1() + commonlyUsedAtt1 + getCommonlyUsedAtt2() + commonlyUsedAtt2 + getRarelyUsedAtt3() + rarelyUsedAtt3 + getRarelyUsedAtt4() + rarelyUsedAtt4 1 1 FatClassLazyDataHelper FatClassDataHelper + rarelyUsedAtt3 + commonlyUsedAtt1 + rarelyUsedAtt4 + commonlyUsedAtt2 PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 10 Döông Anh Ñöùc
  11. Thieát keá Control Class w Chuyeän gì xaûy ra vôùi caùc Control Class? § Chuùng thaät söï caàn thieát? § Coù phaûi taùch chuùng ra khoâng? w Döïa vaøo ñaâu ñeå quyeát ñònh? Ñoä phöùc taïp § Khaû naêng thay ñoåi § Tính phaân taùn vaø hieäu naêng § Transaction management § PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 11 Döông Anh Ñöùc
  12. Caùc böôùc thieát keá Class Taïo caùc Design Class ban ñaàu w Xaùc ñònh caùc Persistent Class w Ñònh nghóa caùc Operation w Ñònh nghóa Class Visibility w Ñònh nghóa caùc Method w Ñònh nghóa caùc traïng thaùi w Ñònh nghóa caùc thuoäc tính w Ñònh nghóa caùc phuï thuoäc w Ñònh nghóa caùc moãi keát hôïp w Ñònh nghóa caùc quan heä toång quaùt hoùa w Giaûi quyeát ñuïng ñoä giöõa caùc Use-Case w Xöû lyù caùc yeâu caàu phi chöùc naêng noùi chung w Checkpoints w PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 12 Döông Anh Ñöùc
  13. Xaùc ñònh Persistent Class w Moïi theå hieän cuûa class ñeàu ñoøi hoûi phaûi löu giöõ traïng thaùi cuûa noù w Caùc Persistent class ñöôïc gaùn vôùi cô cheá persistence Client Analysis Design Implementation Class Mechanism Mechanism Mechanism (Conceptual) (Concrete) (Actual) Legacy Data Persistency RDBMS JDBC to Ingres Course New Data Student ObjectStore OODBMS Persistency PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 13 Döông Anh Ñöùc
  14. Database Design Preview w Persistence strategy must be coordinated w ÔÛ ñaây, nhôù raèng caùc class ñeàu persistent Class Class Design Designer Database Design Database Designer Data Model PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 14 Döông Anh Ñöùc
  15. Caùc böôùc thieát keá Class Taïo caùc Design Class ban ñaàu w Xaùc ñònh caùc Persistent Class w Ñònh nghóa caùc Operation w Ñònh nghóa Class Visibility w Ñònh nghóa caùc Method w Ñònh nghóa caùc traïng thaùi w Ñònh nghóa caùc thuoäc tính w Ñònh nghóa caùc phuï thuoäc w Ñònh nghóa caùc moãi keát hôïp w Ñònh nghóa caùc quan heä toång quaùt hoùa w Giaûi quyeát ñuïng ñoä giöõa caùc Use-Case w Xöû lyù caùc yeâu caàu phi chöùc naêng noùi chung w Checkpoints w PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 15 Döông Anh Ñöùc
  16. Ñònh nghóa caùc Operation w Muïc ñích § AÙnh xaï caùc nhieäm vuï ñaõ xaùc ñònh ô möùc phaân tích thaønh caùc operation thöïc hieän chuùng w Nhöõng caùi caàn xem xeùt: § Teân Operation, signature, vaø moâ taû § Operation visibility § Taàm vöïc Operation • Class operation hay instance operation PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 16 Döông Anh Ñöùc
  17. Nhaéc laïi: Operation laø gì ? CourseOffering Class addStudent deleteStudent getStartTime Operation getEndTime PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 17 Döông Anh Ñöùc
  18. Operation: Tìm chuùng ôû ñaâu? w Caùc thoâng ñieäp trong caùc interaction diagram :ClassB :ClassB :ClassA :ClassA // Perform responsibility performResponsibility():result w Caùc chöùc naêng phuï thuoäc vaøo caøi ñaët khaùc § Caùc chöùc naêng quaûn trò § Caùc nhu caàu sao cheùp class § Caùc nhu caàu kieåm tra baèng, khaùc nhau, … PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 18 Döông Anh Ñöùc
  19. Ñaët teân vaø moâ taû caùc Operation w Caùc teân thích hôïp cho operation § Chæ roõ keát quaû cuûa operation § Ñöùng döôùi goùc nhìn cuûa client § Nhaát quaùn qua taát caû caùc class w Ñònh nghóa operation signature § operationName(parameter : class,..) : returnType w Cung caáp moät moâ taû ngaén, bao goàm yù nghóa cuûa taát caû caùc tham soá PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 19 Döông Anh Ñöùc
  20. Guidelines: Thieát keá Operation Signatures w Khi thieát keá operation signatures phaûi baûo ñaûm haøm chöùa: Caùc tham soá truyeàn theo giaù trò hay tham soá? § Caùc tham soá coù bò thay ñoåi bôûi operation? § Caùc tham soá laø optional? § Tham soá coù giaù trò maëc ñònh? § Mieàn tham soá hôïp leä? § w Caøng ít tham soá caøng toát w Truyeàn caùc object thay vì “data bits” PT & TK Höôùng ñoái töôïng – Thieát keá kieán truùc 20 Döông Anh Ñöùc
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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