Bài giảng Nhập môn Công nghệ phần mềm: Tuần 9 - Nguyễn Thị Minh Tuyền

56 104 1
Bài giảng Nhập môn Công nghệ phần mềm: Tuần 9 - Nguyễn Thị Minh Tuyền

Đ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 Nhập môn Công nghệ phần mềm - Tuần 9: Thiết kế kiến trúc phần mềm Cung cấp cho người học các kiến thức: Quyết định chọn kiến trúc thiết kế, các góc nhìn về kiến trúc, các kiến trúc mẫu, các kiến trúc ứng dụng. Mời các bạn cùng tham khảo.

Nhập môn Công nghệ phần mềm Tuần 9: Thiết kế kiến trúc phần mềm Nội dung slide dịch hiệu chỉnh dựa vào slides Ian Sommerville CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Quyết định chọn kiến trúc thiết kế Các góc nhìn kiến trúc Các kiến trúc mẫu Các kiến trúc ứng dụng NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc phần mềm £ Thiết kế kiến trúc liên quan đến việc hiểu hệ thống tổ chức thiết kế toàn kiến trúc hệ thống £ Đầu ra: mơ hình kiến trúc NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết kế kiến trúc £ Là giai đoạn quy trình thiết kế hệ thống £ Là cầu nối yêu cầu phần mềm thiết kế £ Thực tế: Thiết kế kiến trúc thường tiến hành song song với hoạt động đặc tả £ Bước giúp nhận diện component hệ thống cách thức giao tiếp component NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mức trừu tượng kiến trúc £ Kiến trúc phần mềm nhỏ p Liên quan đến kiến trúc chương trình đơn lẻ p Một chương trình phân thành component £ Kiến trúc hệ thống lớn p Liên quan đến kiến trúc hệ thống phức tạp gồm nhiều hệ thống khác, chương trình component chương trình p Những hệ thống phân tán nhiều máy tính khác nhau, sở hữu quản lý nhiều công ty khác NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Ưu điểm kiến trúc £ Giao tiếp với stakeholder p Kiến trúc biểu diễn mức cao hệ thống p Được sử dụng để thảo luận với stakeholder £ Phân tích hệ thống p Là cách để phân tích xem liệu hệ thống có đáp ứng yêu cầu phi chức hay khơng £ Tái sử dụng p Kiến trúc tái sử dụng cho nhiều hệ thống khác NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Biểu diễn kiến trúc £ Sử dụng biểu đồ khối [Hofmeister et al., 2000] p Đơn giản, khơng mang tính hình thức để thực thể quan hệ chúng p Biểu diễn góc nhìn tồn cảnh cấu trúc hệ thống: người thuộc lĩnh vực khác hiểu £ Việc sử dụng loại kiến trúc bị trích thời gian dài p Thiếu ngữ nghĩa, không loại quan hệ thực thể không thuộc tính thực thể kiến trúc [Bass et al., 2003] NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc hệ thống điều khiển robot Vision system Object identification system Arm controller Gripper controller Packaging selection system Packing system Conveyor controller NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Sử dụng mơ hình kiến trúc £ Là phương tiện để thảo luận thiết kế hệ thống p Thiết kế kiến trúc mức cao có ích giao tiếp với stakeholder lên kế hoạch dự án khơng sâu vào chi tiết p Các stakeholder hiểu mơ hình trừu tượng hệ thống è hỗ trợ việc thảo luận tồn hệ thống mà khơng bị rối việc sâu vào chi tiết £ Là cách để viết tài liệu kiến trúc thiết kế p Mục tiêu: tạo mơ hình hệ thống hồn chỉnh component khác hệ thống, giao diện kết nối chúng NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Quyết định chọn kiến trúc thiết kế Các góc nhìn kiến trúc Các kiến trúc mẫu Các kiến trúc ứng dụng 10 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ loại ứng dụng £ Tập trung vào hệ thống xử lý giao tác xử lý ngôn ngữ £ Hệ thống xử lý giao tác p Hệ thống thương mại điện tử; p Hệ thống đặt chỗ £ Hệ thống xử lý ngơn ngữ p Trình biên dịch; p Thơng dịch lệnh 42 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống xử lý giao tác £ Xử lý yêu cầu người dùng thông tin từ CSDL yêu cầu cập nhật CSDL £ Từ góc độ người sử dụng, giao tác là: p Một chuỗi liên tục thao tác để thỏa mãn mục tiêu; p Ví dụ: tìm thời gian chuyến bay từ London tới Paris £ Người dùng thực u cầu khơng đồng dịch vụ sau xử lý quản lý giao tác 43 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Cấu trúc ứng dụng xử lý giao tác I/O processing Application logic Transaction manager Database 44 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc hệ thống ATM Input Process Get customer account id Output Print details Query account Return card Validate card Update account Dispense cash Select service ATM Database ATM 45 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc hệ thống thơng tin £ Các hệ thống thơng tin có cấu trúc tổng quát tổ chức theo kiểu cấu trúc phân tầng £ Đây hệ thống dựa vào giao tác p tương tác với CSDL chia sẻ £ Các tầng bao gồm: p p p p The user interface User communications Information retrieval System database 46 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc phân tầng hệ thống thông tin User interface User communications Authentication and authorization Information retrieval and modification Transaction management Database 47 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc hệ thống MHC-PMS Web browser Login Role checking Form and menu Data manager validation Security Patient info management manager Data import and export Report generation Transaction management Patient database 48 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Các hệ thống thông tin dựa vào web £ Hệ thống quản lý tài nguyên thông tin thường hệ thống dựa vào web p Giao diện người dùng cài đặt web browser £ Ví dụ: hệ thống thương mại điện tử hệ thống quản trị tài nguyên dựa vào internet p Các đơn đặt hàng điện tử hàng hóa hay dịch vụ chấp nhận, đơn hàng sau lên lịch giao cho khách hàng £ Trong hệ thống thương mại điện tử, tầng ứng dụng chứa tính bổ sung hỗ trợ “giỏ hàng” người dùng đặt nhiều hàng giao tác khác sau tính tiền chung giao tác đơn 49 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Cài đặt phía server £ Những hệ thống thường cài đặt theo kiểu kiến trúc đa tầng client-server p Web server chịu trách nhiệm giao tiếp với người dùng, giao diện người dùng cài đặt sử dụng web browser; p Server ứng dụng chịu trách nhiệm cài đặt chức ứng dụng cụ thể lưu trữ thông tin truy vấn yêu cầu; p Server sở liệu chuyển thông tin từ đến sở liệu nắm quyền quản lý giao tác 50 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống xử lý ngôn ngữ £ Đầu vào ngôn ngữ tự nhiên ngôn ngữ nhân tạo đầu dạng biểu diễn khác ngơn ngữ £ Có thể chứa diễn giải để thực dẫn lệnh ngôn ngữ xử lý £ Ví dụ: p Trình biên dịch chuyển chương trình (C, Java, ) thành mã máy p Hệ thống dịch mô tả CML thành lệnh để truy vấn sở liệu thành dạng biểu diễn XML khác p Hệ thống từ điển 51 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc hệ thống xử lý ngôn ngữ Source language instructions Translator Check syntax Check semantics Generate Abstract m/c instructions Interpreter Data Fetch Execute Results 52 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Các component trình biên dịch £ Bộ phân tích từ vựng p Lấy token đầu vào, chuyển đổi chúng thành hình thức trung gian £ Bảng ký hiệu p Lưu giữ thông tin tên thực thể (biến, tên lớp, tên đối tượng, ) sử dụng văn cần biên dịch £ Bộ phân tích cú pháp p Kiểm tra cú pháp ngôn ngữ cần biên dịch £ Cây cú pháp p Là biểu diễn cấu trúc bên mà chương trình dịch 53 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Các component trình biên dịch £ Bộ phân tích ngữ nghĩa: p Sử dụng thơng tin từ cú pháp bảng ký hiệu để kiểm tra tính đắn ngữ nghĩa văn ngôn ngữ đầu vào £ Bộ phát sinh mã : p Duyệt qua cú pháp sinh mã máy trừu tượng 54 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc pipe and filter trình biên dịch Symbol table Syntax tree Lexical analysis Syntactic analysis Semantic analysis Code generation 55 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc repository cho hệ thống xử lý ngôn ngữ Lexical analyzer Syntax analyzer Semantic analyzer Prettyprinter Abstract syntax tree Grammar definition Optimizer Editor Symbol table Output definition Code generator Repository 56 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Pipe and filter NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình MVC Tên Mơ hình MVC (Model-View-Controller) Mơ tả Tách riêng phần biểu diễn phần tương tác khỏi... diễn sử dụng bảng mô tả đồ họa 19 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Một số mơ hình kiến trúc mẫu £ £ £ £ £ Model-View-Controller (MVC) Kiến trúc phân... tài liệu: cần biểu diễn hệ thống phần mềm nhiều góc nhìn khác 16 NGUYỄN Thị Minh Tuyền CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình kiến trúc phần mềm + use case CuuDuongThanCong.com

Ngày đăng: 11/01/2020, 19:53