Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Thiết kế kiến trúc phần mềm
Nội dung
1.Quyết định chọn kiến trúc thiết kế
2.Các góc nhìn vềkiến trúc
3.Các kiến trúc mẫu
4.Các kiến trúc ứng dụng
Tóm tắt nội dung Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Thiết kế kiến trúc phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
năng chung (dịch vụ in ấn chẳng hạn) có thể có sẵn cho tất cả các khách hàng và không cần thiết phải cài đặt toàn bộ các dịch vụ. / Nhược điểm" Mỗi dịch vụ là một điểm đơn gây lỗi vì vậy dễ bị tấn công từ chối dịch vụ hoặc lỗi server. Hiệu năng có thể không dự đoán trước được do nó phụ thuộc vào mạng cũng như hệ thống. Có thể có các vấn đề về quản lý nếu server được sở hữu bởi các tổ chức khác nhau./ 35 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc client–server cho một thư viện phim ảnh Catalog server Library catalogue Video server Film store Picture server Photo store Web server Film and photo info. Client 1 Client 2 Client 3 Client 4 Internet 36 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc pipe and filter v Các chuyển đổi chức năng xử lý các đầu vào và tạo ra các đầu ra. v Các biến thể của phương pháp này rất phổ biến. Khi các chuyển đổi là tuần tự, đây là mô hình xử lý khối tuần tự mà các hệ thống xử lý dữ liệu sử dụng. v Không thật sự phù hợp với các hệ thống tương tác. 37 Nguyễn Thị Minh Tuyền Nhập môn CNPM Mô hình pipe and filter Tên" Mô hình pipe and filter" Mô tả" Việc xử lý dữ liệu trong một hệ thống được tổ chức sao cho mỗi component xử lý (filter) là rời rạc và tiến hành một loại xử lý dữ liệu. Dòng dữ liệu (pipe) đi từ một component đến một component khác để xử lý. / Khi nào sử dụng" Thường sử dụng trong các ứng dụng xử lý dữ liệu ( cả ứng dụng xử lý khối và xử lý giao tác) trong đó các đầu vào được xử lý ở các giai đoạn rời rạc để tạo ra các đầu ra tương ứng./ Ưu điểm" Dễ hiểu và hỗ trợ việc tái sử dụng chuyển đổi. Kiểu dòng dữ liệu phù hợp với cấu trúc của của nhiều quy trình công việc. Tiến hóa bằng cách thêm vào các chuyển đổi là dễ dàng. Có thể cài đặt theo kiểu hệ thống tuần tự hoặc song song./ Nhược điểm" Format của dữ liệu truyền đi phải được chấp thuận trong việc giao tiếp giữa các chuyển đổi. Mỗi chuyển đổi phải phân tích cú pháp đầu vào của nó và chuyển nó thành đầu ra ở dạng được chấp nhận. Điều này gây khó khăn trong việc tái sử dụng các chuyển đổi hàm mà cấu trúc dữ liệu không tương thích./ 38 Nguyễn Thị Minh Tuyền Nhập môn CNPM Ví dụ về kiến trúc pipe and filter Read issued invoices Identify payments Issue receipts Find payments due Receipts Issue payment reminder Reminders Invoices Payments 39 Nguyễn Thị Minh Tuyền Nhập môn CNPM Nội dung 1. Quyết định chọn kiến trúc thiết kế 2. Các góc nhìn về kiến trúc 3. Các kiến trúc mẫu 4. Các kiến trúc ứng dụng 40 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các kiến trúc ứng dụng v Các hệ thống ứng dụng được thiết kế để đáp ứng nhu cầu của một tổ chức. v Vì công việc có nhiều điểm chung, các hệ thống ứng dụng cũng có xu hướng có kiến trúc chung phản ánh các yêu cầu ứng dụng. v Kiến trúc ứng dụng tổng quát là một kiến trúc cho một loại hệ thống phần mềm được cấu hình và điều chỉnh để tạo ra một hệ thống đáp ứng các yêu cầu cụ thể. 41 Nguyễn Thị Minh Tuyền Nhập môn CNPM Sử dụng các kiến trúc ứng dụng v Như là điểm khởi đầu của thiết kế kiến trúc. v Như là một checklist về thiết kế. v Như một cách để tổ chức công việc của nhóm phát triển phần mềm. v Như là một phương tiện để đánh giá việc tái sử dụng các component. v Như là kho từ vựng để bàn về các loại ứng dụng. 42 Nguyễn Thị Minh Tuyền Nhập môn CNPM Ví dụ về loại ứng dụng v Ứng dụng xử lý dữ liệu § Các ứng dụng hướng dữ liệu trong đó xử lý dữ liệu khối mà không có sự can thiệp của người dùng trong suốt quá trình xử lý. v Ứng dụng xử lý giao tác § Ứng dụng dữ liệu trung tâm trong đó xử lý các yêu cầu người dùng và cập nhật thông tin trong một cơ sở dữ liệu hệ thống. v Hệ thống xử lý sự kiện § Ứng dụng trong đó các hoạt động của hệ thống phụ thuộc vào việc diễn giải các sự kiện từ môi trường hệ thống. v Hệ thống xử lý ngôn ngữ § Ứng dụng trong đó ý định của người dùng được đặc tả trong các ngôn ngữ hình thức và được xử lý, diễn giải bởi hệ thống. 43 Nguyễn Thị Minh Tuyền Nhập môn CNPM Ví dụ về loại ứng dụng v Tập trung vào hệ thống xử lý giao tác và xử lý ngôn ngữ. v Hệ thống xử lý giao tác § Hệ thống thương mại điện tử; § Hệ thống đặt chỗ. v Hệ thống xử lý ngôn ngữ § Trình biên dịch; § Diễn giải lệnh. 44 Nguyễn Thị Minh Tuyền Nhập môn CNPM Hệ thống xử lý giao tác v Xử lý các yêu cầu người dùng về thông tin từ một cơ sở dữ liệu hoặc các yêu cầu cập nhật cơ sở dữ liệu. v Từ góc độ của một người sử dụng, một giao tác là: § Một chuỗi liên tục các thao tác để thỏa mãn một mục tiêu; § Ví dụ: tìm thời gian của các chuyến bay từ London tới Paris. v Người dùng thực hiện các yêu cầu không đồng bộ về dịch vụ sau đó được xử lý bởi một bộ quản lý giao tác. 45 Nguyễn Thị Minh Tuyền Nhập môn CNPM Cấu trúc của ứng dụng xử lý giao tác I/O processing Application logic Transaction manager Database 46 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc phần mềm của hệ thống ATM Input Process Output ATM Database ATM Get customer account id Query account Print details Return card Dispense cash Update account Validate card Select service 47 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc hệ thống thông tin v Các hệ thống thông tin có cấu trúc tổng quát có thể được tổ chức theo kiểu cấu trúc phân tầng. v Đây là những hệ thống dựa vào giao tác vì tương tác với hệ thống này thường là các giao tác cơ sở dữ liệu. v Các tầng bao gồm: § The user interface § User communications § Information retrieval § System database 48 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc phân tầng của hệ thống thông tin User interface User communications Information retrieval and modification Transaction management Database Authentication and authorization 49 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc của hệ thống MHC-PMS Web browser Report generation Transaction management Patient database Login Form and menumanager Data validationRole checking Security management Patient info. manager Data import and export 50 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các hệ thống thông tin dựa vào web v Hệ thống quản lý tài nguyên và thông tin thường là các hệ thống dựa vào web trong đó giao diện người dùng được cài đặt trên web browser. v Ví dụ, các hệ thống thương mại điện tử là các hệ thống quản trị tài nguyên dựa vào internet mà trong đó các đơn đặt hàng điện tử về hàng hóa hay dịch vụ được chấp nhận, các đơn hàng này sau đó được lên lịch giao cho khách hàng. v Trong hệ thống thương mại điện tử, tầng ứng dụng chứa các tính năng bổ sung hỗ trợ “giỏ hàng” trong đó người dùng có thể đặt nhiều món hàng trên các giao tác khác nhau sau đó tính tiền chung trong một giao tác đơn. 51 Nguyễn Thị Minh Tuyền Nhập môn CNPM Cài đặt phía server v Những hệ thống này thường được cài đặt theo kiểu kiến trúc đa tầng client- server § 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 cài đặt sử dụng web browser; § Server ứng dụng chịu trách nhiệm cài đặt các chức năng ứng dụng cụ thể cũng như lưu trữ thông tin và truy vấn yêu cầu; § Server cơ sở dữ liệu chuyển thông tin từ và đến cơ sở dữ liệu và nắm quyền quản lý giao tác. 52 Nguyễn Thị Minh Tuyền Nhập môn CNPM Hệ thống xử lý ngôn ngữ v Chấp nhận một ngôn ngữ tự nhiên hoặc ngôn ngữ nhân tạo làm đầu vào và tạo ra một biểu diễn khác của ngôn ngữ đó. v Có thể chứa một bộ diễn giải để thực hiện các chỉ dẫn lệnh trong ngôn ngữ được xử lý. v Được dùng trong các tình huống trong đó cách dễ nhất để xử lý vấn đề là mô tả một thuật toán hoặc mô tả dữ liệu hệ thống. 53 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc của một hệ thống xử lý ngôn ngữ Source language instructions Data Results Translator Interpreter Abstract m/c instructions Check syntax Check semantics Generate Fetch Execute 54 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các component của trình biên dịch v Bộ phân tích từ vựng, lấy các token đầu vào, chuyển đổi chúng thành một hình thức trung gian. v Bảng ký hiệu, lưu giữ thông tin về tên thực thể (biến, tên lớp, tên đối tượng, ...) được sử dụng trong văn bản cần biên dịch. v Bộ phân tích cú pháp, kiểm tra cú pháp của ngôn ngữ cần biên dịch. v Cây cú pháp là một biểu diễn cấu trúc bên trong mà chương trình được dịch. 55 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các component của trình biên dịch v Bộ phân tích ngữ nghĩa: sử dụng thông tin từ cây cú pháp và bảng ký hiệu để kiểm tra tính đúng đắn về ngữ nghĩa của văn bản ngôn ngữ đầu vào. v Bộ phát sinh mã : duyệt qua cây cú pháp và sinh ra mã máy trừu tượng. 56 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc pipe and filter của trình biên dịch Lexical analysis Syntactic analysis Semantic analysis Code generation Symbol table Syntax tree 57 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiến trúc repository cho hệ thống xử lý ngôn ngữ Syntax analyzer Lexical analyzer Semantic analyzer Abstract syntax tree Grammar definition Symbol table Output definition Pretty- printer Editor Optimizer Code generator Repository 58 Nguyễn Thị Minh Tuyền Nhập môn CNPM Tổng kết v Các mô hình của kiến trúc hệ thống ứng dụng hỗ trợ việc hiểu và so sánh các ứng dụng, thẩm định thiết kế hệ thống ứng dụng và đánh giá việc tái sử dụng các component. v Các hệ thống xử lý giao tác là các hệ thống tương tác mà nó cho phép thông tin trong một cơ sở dữ liệu được truy cập và cập nhật từ xa bởi một số lượng người dùng. v Hệ thống xử lý ngôn ngữ được dùng để dịch văn bản từ một ngôn ngữ sang một ngôn ngữ khác và thực hiện các chỉ dẫn lệnh cụ thể của ngôn ngữ đầu vào. Các hệ thống này chứa một bộ biên dịch và một máy trừu tượng để chạy ngôn ngữ được sinh ra. 59
File đính kèm:
- Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Thiết kế kiến trúc phần mềm.pdf