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

pdf60 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2090 | Lượt tải: 1download
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:

  • pdfNhậ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
Tài liệu liên quan