1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng phân tích thiết kế phần mềm chương 10 trường đh ngoại ngữ tin học tp hcm

8 0 0

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

THÔNG TIN TÀI LIỆU

Nội dung

2/28/2019 NỘI DUNG Click to edit Master subtitle style Software Architecture (Kiến trúc phần mềm) Client-Server Architecture 3-Tier / Multi-Tier Architectures MVC (Model-View-Controller) Thiết kế kiến trúc Tổng quan TỔNG QUAN 2/28/2019 Kiến trúc phần mềm Kiến trúc phần mềm Kiến trúc phần mềm  Kiến trúc phần mềm – Software architecture thiết kế kĩ thuật giúp giải thích cách thức phần mềm xây dựng Kiến trúc phần mềm  Kiến trúc hệ thống mô tả:      Cách thức hệ thống phân tách thành hệ thống (modules) Trách nhiệm module Giao tiếp module Platforms kĩ thuật dùng Mỗi module thực mơ hình/mẫu kiến trúc Kiến trúc phần mềm CLIENT - SERVER 2/28/2019 Client - Server Client - Server Thường bao gồm:  Server: máy/ứng dụng cung cấp dịch vụ (services) cho nhiều clients     IIS based Web server WCF based service Các dịch vụ tảng cloud Clients: phần mềm ứng dụng cung cấp UI để truy xuất service server  WPF, HTML5, Silverlight, ASP.NET, 10 Client - Server 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  BitTorrent Tracker – Torrent client (μTorrent) Ví dụ:  DNS server (bind) – DNS client (resolver)  DHCP server (wireless router firmware) – DHCP client (mobile phone /Android DHCP client/)  SMB server (Windows) – SMB client (Windows) 11 12 2/28/2019 3-Tier/Multi-Tier Architectures Mơ hình phân lớp truyền thống: 3-TIER / MULTI-TIER ARCHITECTURES 13 14 3-Tier Data Tier (Back-End) 3-Tier Middle Tier (Business Tier) Client Tier (Front-End) Client Machine Mobile Client Database Business Logic Desktop Client 15 16 2/28/2019 1-tier, 3-layer 2-tier, 3-layer 17 18 Middle Tier 3-tier, 3-layer Middle tier thường chứa logic liên quan đến front-end, business logic back-end Presentation Logic Implements the UI of the application (HTML5, Silverlight, WPF, …) Business Logic Implements the core processes / services of the application Data Access Logic Implements the data access functionality (usually ORM framework) 19 20 2/28/2019 MVC Mơ hình MVC: MVC ARCHITECTURES 21 22 MVC MVC Tổng quan:  Phân tách business logic khỏi liệu ứng dụng (application data) giao diện  Model   View   Biểu thị liệu đến người dùng (UI) Controller  23 Lưu giữ trạng thái ứng dụng (data) Xử lý tương tác với người dùng 24 2/28/2019 MVC MVC Model:  Mơ hình hóa liệu hành vi sau business process  Quản lý thông tin – có thay đổi  Lưu trữ liệu hàm chức  Ánh xạ thực thể giới thực  Thực truy vấn CSDL  Bao đóng domain logic độc lập với presentation View:  Lấy liệu từ model hiển thị cho user  Đại diện cho Input/Ouputs chương trình  Thể kết tính tốn cho logic nghiệp vụ  Tự truy xuất Model  Đọc liệu từ Model – Sử dụng phương thức truy vấn 25 26 MVC Mối liên hệ thành phần Controller:  Đóng vai trị lớp kết nối luận lý hành vi người dùng qui trình nghiệp vụ  Nhận chuyển đổi input thành request tới model / view  Nhận Input từ phía user xây dựng model view để thực hành động tương ứng  Lựa chọn nhiều cách hiển thị khác View Controller: Controller đóng vai trị tạo chọn lựa View Model Controller: Controller phụ thuộc vào Model, có u cầu thay đổi Model nhiều khả có yêu cầu thay đổi song song Controller Model and View: View phụ thuộc vào Model, có u cầu thay đổi Model nhiều khả có yêu cầu thay đổi song song View 27 28 2/28/2019 MVC Một số framework bản: NET  ASP.NET MVC, MonoRail Java  JavaServer Faces (JSF), Struts, Spring Web MVC, Tapestry, JBoss Seam, Swing PHP  CakePHP, Symfony, Zend, Joomla, Yii, Mojavi 29

Ngày đăng: 23/08/2023, 15:07