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
lượt xem 39
download
Giáo trình "Phân tích và thiết kế hướng đối tượng bằng UML: Thiết kế Class" cung cấp các kiến thức giúp người học có thể 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 đặt các cơ chế kiến trúc đã chọn,.... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: 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
- Giáo trình Phân tích và thiết kế hướng đối tượng bằng UML Thiết kế Class Thiết kế Class Dương Anh Đức 1
- Mục tiêu 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 đặt 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 Tinh chỉnh các quan hệ, operation, và thuộc tính Thiết kế Class Dương Anh Đức 2
- Vị trí của Thiết kế Class Architectural Analysis Architectural Describe Review the Architecture Describe Architecture Architect Design Concurrency Distribution Reviewer Subsystem Design Use-Case Analysis Review the Use-Case Design Design Designer Design Reviewer Class Design Thiết kế Class Dương Anh Đức 3
- Tổng quan về Class Design Architecture Document Guidelines Design Classes Class Design Design Classes Use-Case Realization Design Model Thiết kế Class Supplementary Dương Anh Đức 4 Specifications
- Các bước thiết kế Class Tạo các Design Class ban đầu Xác định các Persistent Class Định nghĩa các Operation Định nghĩa Class Visibility Định nghĩa các Method Định nghĩa các trạng thái Định nghĩa các thuộc tính Định nghĩa các phụ thuộc Định nghĩa các mỗi kết hợp Định nghĩa các quan hệ tổng quát hóa Giải quyết đụng độ giữa các Use-Case Xử lý các yêu cầu phi chức năng nói chung Checkpoints Thiết kế Class Dương Anh Đức 5
- Các bước thiết kế Class Tạo các Design Class ban đầu Xác định các Persistent Class Định nghĩa các Operation Định nghĩa Class Visibility Định nghĩa các Method Định nghĩa các trạng thái Định nghĩa các thuộc tính Định nghĩa các phụ thuộc Định nghĩa các mỗi kết hợp Định nghĩa các quan hệ tổng quát hóa Giải quyết đụng độ giữa các Use-Case Xử lý các yêu cầu phi chức năng nói chung Checkpoints Thiết kế Class Dương Anh Đức 6
- Các khảo sát khi thiết kế Class 1. Các khảo sát khi thiết kế Class: Class stereotype Boundary Entity Control Các design pattern khả dụng Các cơ chế kiến trúc Persistence Distribution … Thiết kế Class Dương Anh Đức 7
- Cần bao nhiêu Class ? 2. Cần bao nhiêu Class ? Nếu nhiều class đơn giản. Nghĩa là mỗi class: Đóng gói một phần ít hơn trên toàn bộ hệ thống Nhiều khả năng dùng lại hơn Dễ cài đặt hơn Nếu nhiều class phức tạp. Nghĩa là mỗi class: Đóng gói một phần nhiều hơn trên toàn bộ hệ thống Ít khả năng dùng lại hơn Khó cài đặt hơn Một class phải có một mục tiêu rõ ràng. Một class phải làm một việc gì đó và phải làm tốt điều này ! Thiết kế Class Dương Anh Đức 8
- Thiết kế các Boundary Class Các User interface (UI) boundary class Công cụ xây dựng giao diện người dùng nào sẽ được sử dụng? Bao nhiêu giao diện có thể được xây dựng bởi công cụ? Các External system interface boundary class Thường được mô hình như subsystem MainWindow SubWindow MainForm Button DropDownList Thiết kế Class Dương Anh Đức 9
- Thiết kế các Entity Class Các Entity object thường thụ động và persistent Các yêu cầu về hiệu năng có thể buộc ta phải tái xây dựng Xem thêm bước xác định Persistent Class Analysis Design > FatClass FatClass - transientBookeeping - transientBookeeping + commonlyUsedAtt1 + getCommonlyUsedAtt1() + commonlyUsedAtt2 + getCommonlyUsedAtt2() + rarelyUsedAtt3 + getRarelyUsedAtt3() + rarelyUsedAtt4 + getRarelyUsedAtt4() 1 1 FatClassDataHelper FatClassLazyDataHelper + commonlyUsedAtt1 + rarelyUsedAtt3 + commonlyUsedAtt2 + rarelyUsedAtt4 Thiết kế Class Dương Anh Đức 10
- Thiết kế Control Class Chuyện gì xảy ra với các Control Class? Chúng thật sự cần thiết? Có phải tách chúng ra không? Dựa vào đâu để quyết định? Độ phức tạp Khả năng thay đổi Tính phân tán và hiệu năng Transaction management Thiết kế Class Dương Anh Đức 11
- Các bước thiết kế Class Tạo các Design Class ban đầu Xác định các Persistent Class Định nghĩa các Operation Định nghĩa Class Visibility Định nghĩa các Method Định nghĩa các trạng thái Định nghĩa các thuộc tính Định nghĩa các phụ thuộc Định nghĩa các mỗi kết hợp Định nghĩa các quan hệ tổng quát hóa Giải quyết đụng độ giữa các Use-Case Xử lý các yêu cầu phi chức năng nói chung Checkpoints Thiết kế Class Dương Anh Đức 12
- Xác định Persistent Class Mọi thể hiện của class đều đòi hỏi phải lưu giữ trạng thái của nó Các Persistent class được gán với cơ chế persistence Client Analysis Design Implementation Class Mechanism Mechanism Mechanism (Conceptual) (Concrete) (Actual) Legacy Data Course Persistency RDBMS JDBC to Ingres New Data Student Persistency OODBMS ObjectStore Thiết kế Class Dương Anh Đức 13
- Database Design Preview Chiến lược Persistence phải nhất quán Ở đây, nhớ rằng các class đều persistent Class Class Design Designer Database Design Database Designer Data Model Thiết kế Class Dương Anh Đức 14
- Các bước thiết kế Class Tạo các Design Class ban đầu Xác định các Persistent Class Định nghĩa các Operation Định nghĩa Class Visibility Định nghĩa các Method Định nghĩa các trạng thái Định nghĩa các thuộc tính Định nghĩa các phụ thuộc Định nghĩa các mỗi kết hợp Định nghĩa các quan hệ tổng quát hóa Giải quyết đụng độ giữa các Use-Case Xử lý các yêu cầu phi chức năng nói chung Checkpoints Thiết kế Class Dương Anh Đức 15
- Định nghĩa các Operation Mục đích Ánh xạ các nhiệm vụ đã xác định ơ mức phân tích thành các operation thực hiện chúng Những cái cần xem xét: Tên Operation, signature, và mô tả Operation visibility Tầm vực Operation • Class operation hay instance operation Thiết kế Class Dương Anh Đức 16
- Nhắc lại: Operation là gì ? CourseOffering Class addStudent deleteStudent getStartTime Operation getEndTime Thiết kế Class Dương Anh Đức 17
- Operation: Tìm chúng ở đâu? Các thông điệp trong các interaction diagram :ClassA :ClassB :ClassA :ClassB // Perform responsibility performResponsibility():result Các chức năng phụ thuộc vào cài đặt khác Các chức năng quản trị Các nhu cầu sao chép class Các nhu cầu kiểm tra bằng, khác nhau, … Thiết kế Class Dương Anh Đức 18
- Đặt tên và mô tả các Operation Các tên thích hợp cho operation Chỉ rõ kết quả của operation Đứng dưới góc nhìn của client Nhất quán qua tất cả các class Định nghĩa operation signature operationName(parameter : class,..) : returnType Cung cấp một mô tả ngắn, bao gồm ý nghĩa của tất cả các tham số Thiết kế Class Dương Anh Đức 19
- Guidelines: Thiết kế Operation Signatures Khi thiết kế operation signatures phải bảo đảm hàm chứa: Các tham số truyền theo giá trị hay tham số? Các tham số có bị thay đổi bởi operation? Các tham số là optional? Tham số có giá trị mặc định? Miền tham số hợp lệ? Càng ít tham số càng tốt Truyền các object thay vì “data bits” Thiết kế Class Dương Anh Đức 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Phân tích và thiết kế hệ thống - PGS.TS. Phan Huy Khánh
170 p | 355 | 117
-
Giáo trình Phân tích và thiết kế một hệ thống thông tin
150 p | 311 | 103
-
Giáo trình Phân tích và thiết kế hệ thống thông tin: Phần 1 - Thạc Bình Cường
121 p | 392 | 80
-
Giáo trình Phân tích và thiết kế hệ thống thông tin
235 p | 499 | 79
-
Giáo trình Phân tích và thiết kế hệ thống thông tin: Phần 1
94 p | 558 | 50
-
Giáo trình Phân tích và thiết kế hệ thống hướng đối tượng sử dụng UML: Phần 2
104 p | 152 | 31
-
Giáo trình Phân tích và thiết kế hệ thống thông tin: Phần 2
59 p | 172 | 17
-
Giáo trình Phân tích và thiết kế mạng máy tính (Nghề: Truyền thông và mạng máy tính - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
136 p | 57 | 12
-
Giáo trình Phân tích và thiết kế hệ thống thông tin - Nghề: Quản trị mạng máy tính
97 p | 102 | 12
-
Giáo trình Phân tích và thiết kế hệ thống thông tin - Nguyễn Hoài Anh
155 p | 66 | 10
-
Giáo trình Phân tích và thiết kế hệ thống thông tin (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
90 p | 15 | 9
-
Giáo trình Phân tích và thiết kế hệ thống thông tin (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa
111 p | 47 | 9
-
Giáo trình Phân tích và thiết kế hệ thống thông tin - Trường CĐ Nông Lâm Đông Bắc
80 p | 22 | 9
-
Giáo trình Phân tích và thiết kế hệ thông thông tin (Nghề: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Cộng đồng Đồng Tháp
52 p | 38 | 8
-
Giáo trình Phân tích và thiết kế hệ thống thông tin (Nghề: Công nghệ thông tin - Trung cấp) - Trường Trung cấp Công nghệ và Du lịch Hà Nội
91 p | 27 | 7
-
Giáo trình Phân tích và thiết kế hệ thống thông tin (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
91 p | 17 | 6
-
Giáo trình Phân tích thiết kế hệ thống - Nghề: Lập trình máy tính - CĐ Kỹ Thuật Công Nghệ Bà Rịa-Vũng Tàu
133 p | 47 | 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