• Thông điệp là một nội dung dữ liệu được chuyễn giao giữa các lớp đối tượng, có thể cài đặt thành kiểu cơ bản hoặc lớp4. • Accessor: là một lớp thông điệp có các thuộc tinh.[r]
(1)Phân tích & thiết kế H.T.T.T
Phần 4: Thiết kế hệ thống
Nguyễn Anh Hào
(2)2
Thiết kế hệ thống
• Thiết hệ thống theo hướng đối tượng nhằm xây dựng mơ hình cho phần mềm giống với giới thực: lớp đối tượng gắn với thực tế (để dễ hình dung kết cấu phần mềm) • Các vấn đề thực tế có lời giải thực tế Sự mô
phỏng thực tế qua cách mơ hình hóa phần phân tích thể giải pháp áp dụng thực tế;
OOAD, việc phân tích đồng nghĩa với thiết kế xem xét vấn đề - giải pháp khía cạnh ý niệm (nội dung thông tin)
(3)3
Mục tiêu thiết kế hướng đối tượng
1 Phân rã hệ thống (sẽ xây dựng) thành hệ
thống thành phần dể làm.
2 Các thành phần sau làm dùng lại cho hệ
thống khác.
3 Nội dung thành phần hiểu một cách dể
dàng (dùng ý niệm phổ biến), không cần tham khảo thêm tài liệu.
4 Một chỉnh sửa cần thiết tiến hành
phạm vi hẹp (không cần sửa nhiều nơi).
5 Giảm thiểu tác hại lan truyền từ thành phần có
(4)4
Nguyên tắc thiết kế SOLID
1 Single Responsibility: lớp đối tượng có lý để thay đổi có trách nhiệm
2 Open/Closed: “mở” đ/v yêu cầu mở rộng, “đóng” đ/v yêu cầu sửa (mở rộng thêm, không sửa)
3 Liskov Substitution: lớp hoàn toàn thay cho lớp sở
4 Interface Segregation: không nên làm cho client phụ thuộc vào chức không cần hạn chế dùng “fat interface” chung cho nhiều client (chỉ cung cấp giao diện vừa đủ chức cho client)
(5)5
Nội dung thiết kế
1 ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ
2 CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ
3 THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE
(6)6
Ánh xạ thuộc tính
• Thuộc tính lớp phân tích cần có kiểu liệu lớp thiết kế:
– Kiểu (integer, float, char, ) – Kiểu class tự định nghĩa
– Kiểu class có sẵn, chọn để sử dụng
• Đặc tính visibility gây nhiều mức độ phụ thuộc:
1 Private ( - ): phụ thuộc (chỉ dùng nội bộ)
2 Protected ( # ) : gây phụ thuộc subclass
(7)7
Kiểu thơng điệp
• Thơng điệp nội dung liệu chuyễn giao giữa lớp đối tượng, cài đặt thành kiểu bản lớp
• Accessor: lớp thơng điệp có thuộc tinh
được ẩn để tránh gây phụ thuộc cấu trúc liệu Ví dụ:
{ private int count; // information hidding
(8)8
Nội dung thiết kế
1 ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ
2 CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ
3 THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE
(9)9
Cơ sở liệu
• Cơ sở liệu hướng đối tượng: liệu nằm
đối tượng, thừa kế từ lớp tổng quát, nên được truy xuất qua phương thức nó.
– CSDL: dựa lớp đối tượng & quan hệ lớp.
• Cơ sở liệu loại quan hệ (RDB): liệu nằm
các thuộc tính thực thể & quan hệ, phổ biến công khai.
– CSDL quan hệ ứng dụng rộng rãi; không đủ linh hoạt cho tiếp cận hướng đối tượng.
(10)10
RDB: cài đặt lớp thực thể (entity class)
Thuộc tính : bảng quan hệ RDBMS Thuộc tính khóa: số ngun (ID)
Lớp thực thể khơng có phương thức
Circle
X-coord Y-coord Radius Color
C_ID X_coord Y_coord Raius Color
001 5 red
002 blue
003 -8 10 yellow