Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
1,09 MB
Nội dung
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 của slide này dịch hiệu chỉnh dựa vào slides của Ian Sommerville 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 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 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 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 Ư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 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 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 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 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 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 41 NGUYỄN Thị Minh Tuyền 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 yêu cầu không đồng dịch vụ sau xử lý quản lý giao tác 42 NGUYỄN Thị Minh Tuyền Cấu trúc ứng dụng xử lý giao tác I/O processing Application logic Transaction manager Database 43 NGUYỄN Thị Minh Tuyền 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 44 NGUYỄN Thị Minh Tuyền 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 45 NGUYỄN Thị Minh Tuyền 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 46 NGUYỄN Thị Minh Tuyền 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 47 NGUYỄN Thị Minh Tuyền 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 48 NGUYỄN Thị Minh Tuyền 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 49 NGUYỄN Thị Minh Tuyền 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 50 NGUYỄN Thị Minh Tuyền 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 51 NGUYỄN Thị Minh Tuyền 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 52 NGUYỄN Thị Minh Tuyền 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 53 NGUYỄN Thị Minh Tuyền 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 54 NGUYỄN Thị Minh Tuyền 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 55 NGUYỄN Thị Minh Tuyền