Phân tích và Thiết kế hướng đối tượng dùng UML: THiết kế class
lượt xem 41
download
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
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Phân tích và Thiết kế hướng đối tượng dùng UML: THiết kế class
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ñò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
- 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
- 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
- Ñ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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Phân tích và thiết kế hướng đối tượng - Các mô hình cơ bản
221 p | 379 | 67
-
Đề thi môn: Phân tích và thiết kế hướng đối tượng - Đề 2 -ĐH Bách khoa Hà Nội
4 p | 525 | 43
-
Giáo trình Phân tích và thiết kế hướng đối tượng bằng UML: Thiết kế Class - Dương Anh Đức
131 p | 348 | 39
-
Bài giảng Phân tích và thiết kế hướng đối tượng với UML - Nguyễn Hữu Đức
32 p | 184 | 28
-
Đề thi môn: Phân tích và thiết kế hướng đối tượng - Đề 1
3 p | 218 | 15
-
Bài giảng Phân tích và thiết kế hướng đối tượng: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
79 p | 85 | 10
-
Bài giảng Phân tích và thiết kế hướng đối tượng: Bài giảng 3 - TS. Đào Nam Anh
54 p | 85 | 8
-
Các mô hình cơ bản trong phân tích và thiết kế hướng đối tượng - TS. Lê Văn Phùng
221 p | 40 | 8
-
Bài giảng Phân tích và thiết kế hệ thống thông tin: Chương 3 - PGS.TS. Nguyễn Mậu Hân
134 p | 54 | 7
-
Bài giảng Phân tích và thiết kế hướng đối tượng: Thiết kế kiến trúc - Đỗ Ngọc Như Loan
89 p | 52 | 6
-
Giáo trình môn học/mô đun: Phân tích và thiết kế hướng đối tượng (Ngành/nghề: Thiết kế trang web) - Phần 2
98 p | 59 | 5
-
Giáo trình môn học/mô đun: Phân tích và thiết kế hướng đối tượng (Ngành/nghề: Thiết kế trang web) - Phần 1
140 p | 53 | 5
-
Bài giảng Phân tích và thiết kế hướng đối tượng: Phân tích kiến trúc - Đỗ Ngọc Như Loan
30 p | 84 | 5
-
Bài giảng Phân tích và thiết kế hệ thống: Chương 4.1
30 p | 85 | 5
-
Mô hình phân tích và thiết kế hướng đối tượng: Phần 2
77 p | 9 | 5
-
Bài giảng Phân tích và thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
9 p | 103 | 4
-
Mô hình phân tích và thiết kế hướng đối tượng: Phần 1
144 p | 12 | 4
-
Bài giảng Phân tích và thiết kế hệ thống: Chương 1 - Nguyễn Nhật Quang
12 p | 22 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn