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

42 78 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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.

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 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ô 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) • Việc thiết kế hướng đối tượng tập trung vào khía cạnh cài đặt ý niệm thành phần mềm có đặc điểm dể sửa, để dùng lại cho nhiều ứng dụng khác Mục tiêu thiết kế hướng đối tượng Phân rã hệ thống (sẽ xây dựng) thành hệ thống thành phần dể làm Các thành phần sau làm dùng lại cho hệ thống khác Nội dung thành phần hiểu 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 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) Giảm thiểu tác hại lan truyền từ thành phần có lỗi sang thành phần khác Nguyên tắc thiết kế SOLID Single Responsibility: lớp đối tượng có lý để thay đổi  có trách nhiệm 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) Liskov Substitution: lớp hồn tồn thay cho lớp sở 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) Dependency Inversion: mô đun mức cao phụ thuộc vào mô đun mức thấp Nội dung thiết kế ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG Á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: Private ( - ): phụ thuộc (chỉ dùng nội bộ) Protected ( # ) : gây phụ thuộc subclass Public ( + ) : gây phụ thuộc nhiều chổ, cần hạn chế (chỉ dùng cho thuộc tính readonly) Kiểu thơng điệp • Thơng điệp nội dung liệu chuyễn giao lớp đối tượng, cài đặt thành kiểu lớp • Accessor: lớp thơng điệp có thuộc tinh ẩn để tránh gây phụ thuộc cấu trúc liệu Ví dụ: { private int count; // information hidding public int setcount(int c) ( count = c; } // setter public int getcount() ( return count; } // getter } Nội dung thiết kế ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG 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 truy xuất qua phương thức – 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 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 – Vấn đề: sử dụng CSDL quan hệ (Relational DB, RDB) cho OOAD ? RDB: cài đặt lớp thực thể (entity class) 10 Circle X-coord Y-coord Radius Color CIRCLE C_ID 001 002 003 X_coord 5 Y_coord -8 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 Raius 10 Color red blue yellow SubSystem X Interface SubSystem A 28 SubSystem B Component C Dependency Hệ thống phần mềm Use case X B A Class Y C Use case Y Thiết kế SubSystem-1 29 Phân hoạch hệ thống thành SubSystem, dựa lược đồ use case hệ thống – – Gộp SubSystem = hệ thống Tương tự lớp đối tượng, SubSystem có nhiệm vụ riêng biệt, xử lý trọn vẹn vài use case gắn kết theo quan hệ , includes extendes Thiết kế SubSystem-2 30 Thiết kế interface cho SubSystem – – – – Boundary class sử dụng cho interface Chỉ có boundary class nhìn thấy từ bên ngoài; để ngăn chặn truy xuất từ vào SubSystem Là lớp đối tượng cung cấp tương tác (giao tiếp) cố định & tuân thủ nguyên lý SOLID Khộng có lớp đối tượng bên SubSystem phụ thuộc vào lớp Kiểu liệu trừu tượng (ADT) cho liệu tương tác (thơng điệp) khai báo bên ngồi SubSystem Thiết kế SubSystem-3 31 Thiết kế tương tác SubSystem – – – – Tương tự use case, xử lý tương tác interface diễn tả lược đồ chức (tuần tự, cộng tác, hoạt động) SubSystem có lớp đối tượng bên Tất lớp bên SubSystem ẩn môi trường bên Tất tham chiếu từ SubSystem phụ thuộc cần cân nhắc kỹ Gói (Package) • Là chế nhóm thành tố thiết kế (lớp, giao tiếp) thành cấu trúc vật lý (vd: “mô đun”) để tiện cài đặt sử dụng • Nội dung Package – Một vài SubSystem; – Một thư viện thành phần dùng lại; – Những lớp cần cài đặt chung với (do chúng phụ thuộc nhau) • Thiết kế Package: tổ chức lớp (code, data) để dể phát triễn, sử dụng bảo trì 32 A B Package dependency 33 Dependency Client Package (A) Supplier Package (B) • Package A phụ thuộc package B A có lớp phụ thuộc vào lớp B • Hệ lụy tất yếu là: – Sự thay đổi Supplier Package ảnh hưởng đến Client Package – Client Package khơng thể sử dụng lại riêng lẻ, bị phụ thuộc vào Supplier Package Package Visibility & Access 34 PackageA Class A1 Class A2 Class A3 Public visibility Chỉ có lớp loại “public” truy xuất từ bên PackageB + Class B1 - Class B2 Private visibility Package Coupling Packages should not be cross-coupled Packages in lower layers should not be dependent upon packages in upper layers In general, dependencies should not skip layers A Upper Layer Lower Layer 35 X B A X X B C X = Coupling violation Nội dung thiết kế 36 ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG Thiết kế kiến trúc 37 • Phân hoạch ứng dụng thành phần tương đối độc lập (subsystem, package) theo chiều dọc (layers,tiers) chiều ngang (partition) • Giải vấn đề sử dụng liệu (cập nhật, bảo mật, ) PC networking Stand alone PC: Not sharing 38 Client-server: The same application domain Peer to peer: Different Application domain “Thinner client, thicker server” Work station Presentation Client Presentation Client 39 Presentation (HTML) Business Logic Business Logic Database Network: WAN Web & App Server Network: LAN Business Logic (Web API) Network: LAN DB Server DBMS DB Server DBMS Client Server N-tier 1st tier 2nd tier Concurency data update: → Design for Concurency 1st tier 2nd tier Undefined client: → Design for Security 40 3rd tier Design for Concurency 41 Do có nhiều truy cập đồng thời vào CSDL, việc thiết kế phải bảo đảm liệu lấy sử dụng phải xác; ie, liệu cập nhật không truy cập cập nhật xong Bảo đảm liệu khơng thay đổi đọc; ie, khơng xóa mẫu tin có đọc Ví dụ: có vé máy bay mà có khách hàng hỏi để mua, hệ thống hổ trợ đại lý bán vé giải ? Design for Security 42 • mức độ an ninh: Privacy: bảo mật cho thông tin riêng (vd: tài khoản) Authentication: xác thực nguồn gốc thông tin Irrefutabiliy: bác bỏ (chối) Integrity: bảo đảm toàn vẹn liệu, từ nguồn → đích Safety: bảo đảm an tồn cho tài ngun (dữ liệu, chương trình, thiết bị) ... dung thiết kế 20 ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG Thiết kế. .. dung thiết kế 36 ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG Thiết kế. .. Nội dung thiết kế ÁNH XẠ LỚP PHÂN TÍCH THÀNH LỚP THIẾT KẾ CSDL: ÁNH XẠ MƠ HÌNH ĐỐI TƯỢNG SANG MƠ HÌNH QUAN HỆ THIẾT KẾ CÁC THÀNH PHẦN, SUBSYSTEM VÀ PACKAGE THIẾT KẾ KIẾN TRÚC CHO HỆ THỐNG Ánh

Ngày đăng: 31/10/2020, 15:21

Hình ảnh liên quan

• 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) - 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

hi.

ế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) Xem tại trang 2 của tài liệu.
HÌNH QUAN HỆ - 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
HÌNH QUAN HỆ Xem tại trang 5 của tài liệu.
HÌNH QUAN HỆ - 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
HÌNH QUAN HỆ Xem tại trang 8 của tài liệu.
Thuộc tín h: bảng quan hệ trong RDBMS. Thuộc tính khóa: là số nguyên (ID)  - 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

hu.

ộc tín h: bảng quan hệ trong RDBMS. Thuộc tính khóa: là số nguyên (ID) Xem tại trang 10 của tài liệu.
HÌNH QUAN HỆ - 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
HÌNH QUAN HỆ Xem tại trang 20 của tài liệu.
HÌNH QUAN HỆ - 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
HÌNH QUAN HỆ Xem tại trang 36 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan