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

Bài giảng Phân tích và thiết kế hệ thống thông tin: Phần 4 - Nguyễn Anh Hào

Chia sẻ: Minh Nhân | Ngày: | Loại File: PDF | Số trang:42

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

Bài giảng "Phân tích và thiết kế hệ thống thông tin - Phần 4: Thiết kế hệ thống" cung cấp cho người học các kiến thức: Thiết kế hệ thống, mục tiêu của thiết kế hướng đối tượng, nội dung thiết kế, kiểu của thông điệp,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Phân tích và thiết kế hệ thống thông tin: Phần 4 - Nguyễn Anh Hào

  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 Khoa CNTT2 – HV CNBCVT Cơ sở Tp.HCM 0913609730 – nahao@ptithcm.edu.vn
  2. Thiết kế hệ thống 2 • 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 thế giới thực: các lớp đối tượng đều gắn với thực tế (để dễ hình dung ra kết cấu của phần mềm). • Các vấn đề trong thực tế đều có lời giải trong thực tế. Sự mô phỏng thực tế qua cách mô hình hóa ở phần phân tích cũng đã thể hiện giải pháp được áp dụng trong thực tế; do đó trong OOAD, việc phân tích cũng đồng nghĩa với thiết kế khi xem xét vấn đề - giải pháp ở khía cạnh ý niệm (nội dung thông tin). • Việc thiết kế hướng đối tượng tập trung vào khía cạnh cài đặt các ý niệm thành phần mềm có đặc điểm dể sửa, và để dùng lại cho nhiều ứng dụng khác nhau.
  3. Mục tiêu của thiết kế hướng đối tượng 3 1. Phân rã hệ thống (sẽ xây dựng) thành những hệ thống con hoặc thành phần rất dể làm. 2. Các thành phần sau khi làm ra có thể dùng lại cho hệ thống khác. 3. Nội dung của mỗi thành phần được 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 sự chỉnh sửa cần thiết sẽ được tiến hành trong phạm vi hẹp (không cần sửa nhiều nơi). 5. Giảm thiểu được tác hại lan truyền từ thành phần có lỗi sang thành phần khác.
  4. Nguyên tắc thiết kế SOLID 4 1. Single Responsibility: lớp đối tượng chỉ có 1 lý do để thay đổi  nó chỉ có duy nhất 1 trách nhiệm. 2. Open/Closed: “mở” đ/v yêu cầu mở rộng, và “đóng” đ/v yêu cầu sửa (mở rộng thêm, không sửa). 3. Liskov Substitution: lớp con hoàn toàn thay thế được cho lớp cơ sở. 4. Interface Segregation: không nên làm cho client phụ thuộc vào chức năng 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 năng cho từng client). 5. Dependency Inversion: mô đun mức cao không thể phụ thuộc vào mô đun ở mức thấp hơn.
  5. Nội dung thiết kế 5 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 4. THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG
  6. Ánh xạ các thuộc tính 6 • Thuộc tính của lớp phân tích cần có kiểu dữ liệu trong lớp thiết kế: – Kiểu cơ bản (integer, float, char,..) – Kiểu class tự định nghĩa – Kiểu class có sẵn, được chọn để sử dụng • Đặc tính visibility gây ra nhiều mức độ phụ thuộc: 1. Private ( - ): ít phụ thuộc (chỉ dùng nội bộ) 2. Protected ( # ) : gây phụ thuộc ở các subclass 3. Public ( + ) : gây phụ thuộc nhiều chổ, cần hạn chế (chỉ dùng cho thuộc tính readonly).
  7. Kiểu của thông điệp 7 • 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ớp • Accessor: là một lớp thông điệp có các thuộc tinh được ẩn để tránh gây phụ thuộc trên cấu trúc dữ liệu. Ví dụ: { private int count; // information hidding public int setcount(int c) ( count = c; } // setter public int getcount() ( return count; } // getter }
  8. Nội dung thiết kế 8 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 4. THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG
  9. Cơ sở dữ liệu 9 • Cơ sở dữ liệu hướng đối tượng: dữ liệu nằm trong các đối tượng, được thừa kế từ các lớp tổng quát, và nên được truy xuất qua các phương thức của nó. – CSDL: dựa trên lớp đối tượng & quan hệ giữa các lớp. • Cơ sở dữ liệu loại quan hệ (RDB): dữ liệu nằm trong các thuộc tính của thực thể & quan hệ, được phổ biến công khai. – CSDL quan hệ được ứng dụng rộng rãi; nhưng không đủ linh hoạt cho tiếp cận hướng đối tượng. – Vấn đề: sử dụng CSDL quan hệ (Relational DB, RDB) cho OOAD như thế nào ?
  10. RDB: cài đặt lớp thực thể (entity class) 10 Circle CIRCLE X-coord C_ID X_coord Y_coord Raius Color Y-coord 001 5 5 7 red Radius 002 5 7 3 blue Color 003 8 -8 10 yellow Thuộc tính : bảng quan hệ trong RDBMS. Thuộc tính khóa: là số nguyên (ID) Lớp thực thể không có phương thức
  11. RDB: Quan hệ kế thừa 11 Cá nhân -tên, tuổi Cá nhân (ID, tên, tuổi) (ISA) Nhân viên -tên,tuổi Nhân viên (ID, vai trò, nhiệm vụ) -Vai trò - Nhiệm vụ (ISA) Bác sỹ -tên,tuổi Bác sỹ (ID, Chuyên môn) -Vai trò -Nhiệm vụ -Chuyên môn
  12. RDB: Quan hệ kế thừa (2) 12
  13. RDB : Association (1 - *) 13 Điều trị Bác sỹ Bệnh nhân 1 * Bác Sỹ Bệnh Nhân -My Patients[ ]: BN -My doctor : BS +ĐieuTri (x:BN) Bác sỹ ( ID# ) điều trị Bệnh nhân ( ID# , BS )
  14. RDB : Association (2) 14
  15. RDB : Association (* - *) 15 Employee Project * * Work_on Work_on Hours -E: Employee Start_date -P: Project -Hours -Start_date Employee( EID# ) Project( PID# ) Work_on (ID, E#, P#, Hours, Start_date)
  16. RDB : Association (2) 16
  17. RDB : Aggregation ( Association 1-*)17 Bike Bike ( ID# ) Bike -List of (Wheel) (BELONG TO) Wheel Wheel Wheel ( ID# , Bike) -Is of: Bike A "uses" B = Aggregation : B exists independently (conceptually) from A
  18. RDB : Composition 18 Person Person -MyLeftArm : Arm -MyRightArm : Arm -MyLeftLeg : Leg -MyRightLeg : Leg Leg Arm Arm ( ID# ) Leg ( ID# ) Person ( ID# , L_Arm, R_Arm, L_Leg, R_Leg) A "owns" B = Composition : B has no meaning or purpose in the system without A
  19. RDB : Composition (2) 19
  20. Nội dung thiết kế 20 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 4. THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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