Bài giảng Phân tích thiết kế hệ thống - Chương 4: Phân tích kiến trúc (Architecture)

Chương 4  
Phâ n
 
tí ch
kiến
trúc  
(
Architecture
)  
Kiến trúc - Architecture  
• Kiến trúc liên quan đến việc xá c định  
• Cá c thành phần chí nh của hệ thống  
• Cá ch mà cá c thành phần này liên kết với nhau  
• Kiến trúc thể hiện  
• Tổ chức cấu trúc của hệ thống từ cá c thành phần của nó  
• Cá ch cá c phần tử tương tá c với nhau để cung cấp cá c hành vi tổng thể  
của hệ thống hoặc yêu cầu chức năng  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
2
Hiền  
Định nghĩa kiến trúc  
• Kiến trúc là một tập hợp cá c quyết định quan trọng về việc tổ  
chức một hệ thống phần mềm. Quyết định này bao gồm:  
• Việc lựa chọn cá c yếu tố cấu trúc và giao diện của hệ thống  
• Sự kết hợp của yếu tố cấu trúc và hành vi thành subsystem  
• Phong cá ch kiến trúc bao gồm cá c phần tử, giao diện, và sự hợp tá c  
của chúng.  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
3
Hiền  
Cá c khá i niệm trong kiến trúc  
• Hệ thống con - Subsystems  
• Cá c lớp - Classes  
• Cá c dịch vụ - Services  
• Nguyên tắc xá c định subsystems  
• Coupling  
• Cohesion  
• Chiến lược phâ n lớp cho việc xá c định subsystems  
• Theo hướng trá ch nhiệm - Responsibility driven  
• Theo hướng tá i sữ dụng - Reuse driven  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
4
Hiền  
Subsystems: Classes  
• Một giải phá p về phạm vi bằng cá ch chia hệ thống thành những  
thành phần nhỏ hơn gọi là subsystems.  
• Subsystems có thể được chia nhỏ một cá ch đệ quy thành  
những subsystems đơn giản hơn.  
• Subsystems được cấu tạo từ cá c lớp thiết kế. (design  
classes).  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
5
Hiền  
Subsystems: Services  
• Một subsystem được đặc trưng bởi cá c dịch vụ nó cung cấp  
cho subsystems khá c.  
• Dịch vụ là:  
• Một tập hợp cá c hoạt động có liên quan chia sẻ một mục đích chung  
• Một tập hợp cá c hoạt động của một subsystem có sẵn với subsystem  
khá c thô ng qua interface của subsystem  
Subsystems: Services  
• Coupling và Cohesion  
• Khả năng đóng gó i dữ liệu (Data encapsulation), kế thừa (Inheritance)  
và đa hì nh (Polymorphism) là nền tảng của lập trì nh hướng đối tượng.  
• Một chương trì nh thiết kế theo hướng đối tượng đòi hỏi chia nhỏ bài  
toá n thành cá c phần, sao cho chúng vừa có đặc tí nh liên kết (giao  
tiếp giữa cá c phần) lại vừa có khả năng tá ch biệt riêng rẽ để thay  
đổi, kiểm tra mà khô ng ảnh hưổng đến thành phần khá c  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
7
Hiền  
Subsystems: Services  
• Coupling:  
• Mức độ phụ thuộc của một phần tử vào một phần tử khá c trong hệ  
thống, phần tử có thể là class, sub-systems, system.  
• Loose coupling (khô ng phụ thuộc nhiều vào phần tử khá c):  
• Sub-system độc lập  
• Dễ hiểu hơn khi sub-systems độc lập  
• Sửa đổi và bảo trì dễ dàng hơn  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
8
Hiền  
Subsystems: Services  
• Cohesion:  
• Mức độ phụ thuộc bên trong của một phần tử (class, subsystem), mức  
độ liên quan về chức năng giữa cá c nhiệm vụ của một phần tử.  
• High cohesion:  
• Subsystem chứa cá c đối tượng liên quan  
• Tất cả cá c phần tử hướng tới việc thực hiện cùng một tá c vụ.  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
9
Hiền  
Phâ n lớp - Layering  
• Layering là chiến lược chia hệ thống (system) thành cá c hệ  
thống con (subsystems).  
• Layering  
• Chia một hệ thống thành hệ thống phâ n cấp của cá c hệ thống con  
(subsystems)  
• Có hai cá ch:  
• Hướng trá ch nhiệm - Responsibility driven  
• Hướng tá i sử dụng - Reuse driven  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
10  
Hiền  
Kiểu phâ n lớp  
• Hướng trá ch nhiệm - Responsibility driven:  
• Lớp có trá ch nhiệm được xá c định rõ ràng  
• Lớp thực hiện vai trò cụ thể  
• Hướng tá i sử dụng - Reuse driven  
• Cá c lớp được thiết kế để cho phé p tá i sử dụng tối đa cá c thành phần  
hệ thống.  
• Cá c lớp ở mức cao hơn sử dụng dịch vụ của cá c lớp cấp dưới  
Kiểu phâ n lớp  
• Ví dụ:  
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân  
Hiền  
12  
Kiến trúc Client-Server  
Mô hì nh clienservebao gồm:  
• Servemộmá y đơn hoặc mộứng dụng mà nó cung cấp cá c dịch vụ  
cho nhiều clients  
• Có thể là IIS (Internet Information Servicesdựa trên má y chủ Web  
• Có thể là WCF (Windows Communication Foundatio)  
• Có thể là mộdịch vụ trong đám mâ y  
• Clientphần mềm ứng dụng cung cấp giao diện ngườdùng cuốUI  
để truy cập cá c dịch vụ từ server  
• WPHTMSilverlightASNET…  
Mô hì nh Client-Server  
Client  
Machine  
Mobile  
Client  
Server  
Desktop  
Client  
Mô hì nh Client-Server – Ví dụ  
• Web server (IIS) – Web browser (Firefox)  
• FTP server (ftpd) – FTP client (FileZilla)  
• Email server (qmail) – email client (Outlook)  
• SQL Server – SQL Server Management Studio  
• Bit Torrent Tracker – Torrent client (μTorrent)  
• DNS server (bind) – DNS client (resolver)  
• DHCP server (wireless router firmware) – DHCP client (mobile  
phone /Android DHCP client/)  
• SMB server (Windows) – SMB client (Windows)  
Kiến trúc 3-Tier / Multi-Tier  
• Front-end (client layer)  
• Client software: cung cấp giao diện (UI) của hệ thống  
• Middle tier (business layer)  
• Server software: cung cấp lõ i logic của hệ thống.  
• Hiện thực cá c quy trì nh nghiệp vụ hoặc cá c dịch vụ  
• Back-end (data layer)  
• Quản lý dữ liệu của hệ thống(database / cloud)  
Kiến trúc 3-Tier / Multi-Tier  
Mô hì nh kiến trúc 3-Tier / Multi-Tier  
Data Tier  
Middle Tier  
Client Tier (FronEnd)  
(BacEnd)  
(Business Tier)  
Client  
Machine  
Mobile  
Client  
Database  
Business  
Logic  
Desktop  
Client  
Kiến trúc Model-View-Controller  
• Tá ch riêng logic nghiệp vụ với dữ liệu của ứng dụng và cá ch  
trì nh bày  
• Model  
• Giữ trạng thá i của ứng dụng (data)  
• View  
• Hiển thị dữ liệu cho người sử dụng (shows UI)  
• Controller  
• Điều khiển sự tương tá c với người sử dụng  
Kiến trúc Model-View-Controller  
Tải về để xem bản đầy đủ
pptx 33 trang Mãnh Khiết 12/01/2024 15100 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống - Chương 4: Phân tích kiến trúc (Architecture)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_phan_tich_thiet_ke_he_thong_chuong_4_phan_tich_kie.pptx