1. Trang chủ
  2. » Giáo án - Bài giảng

công nghệ phần mềm chương 6 thiết kế kiến trúc

77 1,1K 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 1,24 MB

Nội dung

là một cấu trúc hay những cấu trúc của hệ thống mà bao gồm những thành phần phần mềm, tính chất có thể thấy được từ bên ngoài của những thành phần này và những quan hệ của chúng ƒ Phân t

Trang 2

Công Nghệ Phần Mềm 2

Analysis Model

use-cases - text use-case diagrams activity diagrams swim lane diagrams

data flow diagrams control-flow diagrams processing narratives

state diagrams sequence diagrams

Da t a / Cla ss De sign Arc hit e c t ura l De sign Int e rf a c e De sign

Com pone nt -

Le v e l De sign

Design Model

Trang 3

Chương 6: Thiết kế kiến trúc

• 6.1 Kiến trúc?

• 6.2 Loại kiến trúc (style)

• 6.3 Thiết kế kiến trúc

• 6.4 Ánh xạ data flow thành kiến trúc

• 6.5 Tạo mô hình điều khiển

• 6.6 Đánh giá kiến trúc

• 6.7 Một số mô hình ứng dụng

Trang 4

Công Nghệ Phần Mềm 4

6.1 Kiến trúc?

là một cấu trúc hay những cấu trúc của hệ thống

mà bao gồm những thành phần phần mềm, tính

chất có thể thấy được từ bên ngoài của những

thành phần này và những quan hệ của chúng

ƒ Phân tích hiệu quả việc đáp ứng các yêu cầu phần mềm

ƒ Dễ chọn lựa kiến trúc trong các giai đoạn kế tiếp

Trang 5

Tại sao kiến trúc là quan trọng

• Cho phép truyền thông giữa các stakeholder

• Kiến trúc rõ ràng giúp cho những quyết định thiết

kế dễ dàng

• Kiến trúc là mô hình cho biết cấu trúc của hệ thống các thành phần làm việc với nhau như thế nào

Trang 6

thể truy cập tới nhiều CSDL

Trang 7

Data mining và data warehourse

• Kỹ thuật data mining còn gọi là khám phá tri thức trong CSDL, sẽ trích dẫn thông tin cần thiết qua

Trang 8

ƒ Hiện thực những thuộc tính dữ liệu như

là một hay nhiều cấu trúc dữ liệu

ƒ Kiểm tra cấu trúc dữ liệu để đảm bảo rằng các quan hệ thích hợp đã được tạo

ƒ Đơn giản cấu trúc dữ liệu

Trang 9

Nguyên lý khi thiết kế dữ liệu ở mức thành phần

cho chức năng và hành vi cũng được áp dụng cho dữ liệu: biểu diễn luồng dữ liệu và nội dung phải được phát

triển và kiểm tra, xác định đối tượng dữ liệu, những tổ chức

dữ liệu thay thế, những tác động của mô hình dữ liệu trên thiết kế phần mềm sẽ được thẩm định

thực hiện trên mỗi cấu trúc

dữ liệu dùng để xác định dữ liệu và tác vụ được áp

dụng Dùng mô hình class với thuộc tính và phương thức

Trang 10

Công Nghệ Phần Mềm 10

hoãn cho đến cuối của quá trình thiết kế

những module trực tiếp sử dụng dữ liệu trong cấu trúc

tác vụ sử dụng chúng

trợ đặc tả và hiện thực những loại cấu trúc dữ liệu trừu tượng

Trang 11

ATM Kiến trúc ba tầng (tree-layer)

Data layer

CSDL

Business layer User interface layer

System software Middleware Data layer Business layer

User interface

layer

Trả lời tương tác người dùng: chuyển dịch những hành động của người dùng tới một tình huống xử lý phù hợp

Hiển thị các đối tượng tác nghiệp : trình bày một hình ảnh tốt nhất các đối tượng tác nghiệp tới người dùng trong một giao diện

Thực hiện các giao tác xử lý liên quan đến nghiệp vụ mà không quan tâm đến hiển thị chúng như thế nào? Và CSDL được lấy ở đâu?

Chuyển dịch yêu cầu: chuyển dịch tất cả các yêu cầu liên quan đến dữ liệu từ tầng tác nghiệp đến một phương thức truy cập

dữ liệu thích hợp (dạng SQL, truy xuất file,…)

Chuyển dịch kết quả

Trang 12

Xử lý

Truy cập dữ liệu

Trang 15

Thiết kế tầng giao diện hệ thống ATM

• Thiết kế mẫu giao diện:

Trang 16

Công Nghệ Phần Mềm 16

GiaoDịchGD (Rút tiền)

Trang 17

Thiết kế tầng giao diện hệ thống ATM

: KháchHàng : MáyATM_GD : GiaoDịchGD : ĐiềuKhiểnGiaoDịch : KháchHàng : TàiKhoản : GiaoDịch : NgânHàngDBChọn nút rút tiền

rútTiền()

Rút thành công

Rút không thành công Kết quả

Trang 18

Công Nghệ Phần Mềm 18

6.2 Loại kiến trúc (style)

database, computational modules)

“communication, coordination and cooperation”

giữa các thành phần

hợp hệ thống

Cho phép người thiết kế hiểu những thuộc tính

tổng thể của hệ thống

Trang 19

Loại kiến trúc (style)

• Data-centered architectures

• Data flow architectures

• Call and return architectures

• Object-oriented architectures

• Layered architectures

• Có thể kết hợp nhiều loại kiến trúc:

• Vd: kiến trúc tầng kết hợp với kiến trúc trung

tâm dữ liệu trong nhiều ứng dụng CSDL

Trang 20

Công Nghệ Phần Mềm 20

Trang 21

Kiến trúc luồng dữ liệu

Trang 23

Chương trình chính/chương trình con

Trang 24

Công Nghệ Phần Mềm 24

Kiến trúc tầng

Trang 25

Mẫu kiến trúc (Pattern)

ƒ Mẫu quản lý quá trình hệ điều hành (operating

system process management )

ƒ Định thời tác vụ (task scheduler)

còn khi quá trình tạo ra nó chấm dứt Có 2 mẫu:

ƒ Hệ thống quản lý CSDL

ƒ Mẫu tồn tại mức ứng dụng ( application level

persistence), Vd: xử lý từ

Trang 26

Công Nghệ Phần Mềm 26

Mẫu kiến trúc (Pattern)

thống hay là những thành phần trong hệthống truyền thông với những thánh

phần khác qua môi trường phân bố

ƒ Người môi giới (broker) Giữa thành phần client và server

Trang 27

6.3 Thiết kế kiến trúc

• Các vấn đề Thiết kế kiến trúc

ƒ Trong giai đoạn thiết kế, các kết quả của quá trình phân tích được mở rộng thành một giải pháp kỹ

thuật, gồm thiết kế: Kiến trúc, giao diện…

ƒ Quy trình thiết kế kiến trúc nhằm xác định hệ

thống gồm các hệ thống con cùng một framework giúp điều khiển các hệ thống con và giao tiếp giữa chúng

Trang 28

Công Nghệ Phần Mềm 28

• Kết quả của quy trình thiết kế này là đặc tả về kiến trúc phần mềm

• Thiết kế kiến trúc thường được thực hiện song

song với việc đặc tả

• Kiến trúc có thể được tái sử dụng trong nhiều hệ

thống

• Kiến trúc tạo điều kiện giao tiếp cho các

stakeholder

Trang 29

Yêu cầu của kiến trúc hệ thống

thiểu hoá giao tiếp, tiện dụng

kiểm soát chặt chẽ ở các lớp sâu hơn

toàn

Trang 30

ƒ Nếu dữ liệu bị dư thừa thì sẽ cải thiện tính sẵn

dùng nhưng làm cho việc bảo mật khó khăn hơn.

ƒ Tăng cường tính an toàn và bảo mật sẽ làm giảm hiệu năng.

Trang 31

Những câu hỏi thông thường

• Thiết kế kiến trúc là một quy trình sáng tạo, nhưng các quy trình thiết kế thường dựa vào những câu hỏi:

ƒ Kiến trúc ứng dụng chung có được sử dụng lại hay không?

ƒ Hệ thống sẽ được phân bố như thế nào?

nào?

ƒ Chiến lược điều khiển nào sẽ được sử dụng?

ƒ Kiến trúc sẽ được tư liệu hoá như thế nào?

Trang 32

Công Nghệ Phần Mềm 32

Các lưu ý thiết kế

Phải có sự lựa chọn dựa vào yêu cầu, tài nguyên,

phản ảnh được vấn đề thực tế

Có thể truy ngược lại những yêu cầu đã phân tích

Tiết kiệm thời gian bằng cách dùng thành phần có

sẵn

Phải đồng nhất và hợp thành khối

Phù hợp với những biến đổi

Thiết kế có mức trừu tượng cao, không phải là tạo

Trang 33

Các bước thiết kế kiến trúc

• Phần mềm phải đặt trong ngữ cảnh

ƒ Xác định thực thể ngoài (con người, hệ thống

khác, thiết bị) và bản chất của tương tác

• Xác định một tập nguyên mẫu (archetype) kiến trúc

class) mà biểu diễn cho một thành phần của hành

Trang 34

Công Nghệ Phần Mềm 34

Nguyên mẫu (Archetype)

Figure 10.7 UML relationships for SafeHome security function archetypes (adapted from [BOS00])

Controller

Node

communicates with

Detector Indicator

Trang 35

Internet-based system

surveillance function

Trang 36

Công Nghệ Phần Mềm 36

Thành phần

SafeHome Execut ive

Ext ernal Communicat ion Management

GUI Int ernet

Int erface

Funct ion select ion

Securit y Surveillance Home

management

Cont rol panel processing

det ect or management

alarm processing

Trang 38

Công Nghệ Phần Mềm 38

• Thu thập kịch bản (scenarios)

• Đưa ra những mô tả môi trường, ràng buộc, yêu cầu

• Mô tả những mẫu (styles/patterns) kiến trúc được chọn

theo kịch bản và yêu cầu

ƒ Khung nhìn module

ƒ Khung nhìn Xử lý

ƒ Khung nhìn luồng dữ liệu

mỗi thuộc tính được cô lập

những thuộc tính kiến trúc khác nhau cho những mẫu kiến trúc đặc trưng

tính nhạy (b5)

Trang 39

"four bedrooms, three baths, lots of glass "

customer requirements

architectural design

6.4 Ánh xạ data flow thành kiến trúc

Trang 40

Công Nghệ Phần Mềm 40

Chuyển thành kiến trúc chương trình

Program Architecture

Trang 41

Đặc trưng luồng

Transform flow

Transaction

flow

Trang 43

Ánh xạ biến đổi (Transform)

data flow model

h j

Trang 44

Công Nghệ Phần Mềm 44

Phân tách (Factoring) mức 1

main program controller

input controller processingcontroller

output controller

Trang 47

Giao dịch (Transaction)

operator commands process

operator commands

fixture setting

report

robot control

fixture servos

display screen

robot control software

in reality, other commands would also be shown assembly

record

Trang 48

Công Nghệ Phần Mềm 48

data flow model

a b

t

g

h i j

k l

m

b a

x1

t x2

d e f

x3

g h x3.1

i j k

x4

l m n

Trang 49

Ánh xạ DFD

process operator commands

command input controller

read command commandvalidate

produce error message

determine type

fixture status controller

report generation controller

send control value

each of the action paths must be expanded further

Trang 50

Công Nghệ Phần Mềm 50

process operator commands

command input controller

read

command commandvalidate

produce error message

determine type

send control value

read fixture status

determine setting format setting

read record

calculate output values

format report

fixture status controller

report generation controller

Trang 51

Module tương tác người dùng

Trang 52

Công Nghệ Phần Mềm 52

Tinh chế module tương tác người dùng

Trang 53

6.5 Tạo mô hình điều khiển

• Để hệ thống làm việc tốt, ta phải điều khiển được các hệ thống con, làm cho các dịch vụ của chúng phải được thực hiện đúng chỗ và đúng thời điểm

• Có 2 loại điều khiển:

ƒ Điều khiển tập trung: một hệ thống con chịu trách nhiệm kiểm soát, khởi tạo hoặc dừng các hệ thống con khác.

ƒ Điều khiển hướng sự kiện: mỗi hệ thống đáp ứng với các sự kiện xảy ra từ các hệ thống con khác

hoặc từ môi trường của hệ thống.

Trang 54

Công Nghệ Phần Mềm 54

Điều khiển tập trung

• Một phân hệ được thiết kế như bộ điều khiển chịu trách nhiệm quản lý việc thực hiện của các hệ

thống con khác

• Điều khiển tập trung gồm 2 loại mô hình:

ƒ Mô hình gọi - trả lời (call-return)

ƒ Mô hình quản lý

Trang 55

Mô hình gọi - trả lời (call-return)

• Gồm các thủ tục con được sắp xếp phân cấp, thủ

tục điều khiển nằm ở đỉnh của cấu trúc phân cấp

và di chuyển dần xuống dưới Mô hình này thường được áp dụng cho các hệ thống tuần tự

Trang 56

Công Nghệ Phần Mềm 56

Mô hình quản lý

• Thường áp dụng cho các hệ thống xử lý đồng thời Một thành phần hệ thống điều khiển việc khởi tạo, ngừng, hoặc cộng tác với các quy trình hệ thống

khác

Trang 57

Điều khiển hướng sự kiện

• Điều khiển hướng sự kiện

ƒ Mô hình lan truyền (Broadcast)

ƒ Mô hình hướng ngắt (Interrupt-driven)

Trang 58

Công Nghệ Phần Mềm 58

Mô hình lan truyền (Broadcast)

Trong mô hình lan truyền, sự kiện được lan truyền

tới tất cả các hệ thống con Hệ thống con được thiết

kế để điều khiển sự kiện này sẽ đáp ứng sự kiện.

Mô hình này có hiệu quả đối với các hệ thống con

phân bố trên nhiều máy tính khác nhau trong cùng một mạng.

Phát triển tương đối đơn giản

Không biết sự kiện có được xử lý không và khi nào

được xử lý

Hai phân hệ cùng sinh sự kiện có thể gây xung đột

Trang 59

Mô hình hướng ngắt (Interrupt-driven)

Mô hình hướng ngắt được sử dụng trong các hệ

thống thời gian thực trong đó các sự kiện được phát hiện bởi bộ bắt ngắt (interrupt handler) và được

truyền cho một số các thành phần khác để xử lý

Mô hình này cho phép đáp ứng rất nhanh, nhưng lập trình khá phức tạp và khó đánh giá.

Trang 60

Công Nghệ Phần Mềm 60

• Đích của việc đánh giá:

ƒ Thỏa mãn thuộc tính chất lượng

ƒ Hỗ trợ cho software product line

Trang 61

Đánh giá kiến trúc

architecture assessment

architecture

stakeholders expert (comparing)qualitative quantitative(predicting)

Trang 62

Công Nghệ Phần Mềm 62

Trang 64

Công Nghệ Phần Mềm 64

Trang 65

Xử lý XSLT với ASP

Trang 66

Công Nghệ Phần Mềm 66

Kiến trúc LIBSYS

Trang 67

LIBSYS

Trang 68

Công Nghệ Phần Mềm 68

• Hệ thống thương mại điện tử dựa vào hệ

thống quản lý tài nguyên dựa vào Internet,

chấp nhận đặt hàng điện tử cho hàng hóa

hay dịch vụ băng

• Chúng được tổ chức dùng một kiến trúc đa

tầng tầng ứng dụng được kết hợp với mỗi

tầng

Trang 70

Công Nghệ Phần Mềm 70

• Hệ thống soạn thảo theo hướng đối tượng

ƒ Screen - monitors screen memory and detects

events;

ƒ Event - recognises events and passes them for

processing;

ƒ Editor data - manages the editor data structure;

ƒ Ancillary data - manages other data such as styles and preferences;

ƒ File system - manages file I/O;

ƒ Display - updates the screen display.

Trang 71

Kiến trúc hệ thống soạn thảo

Trang 72

Công Nghệ Phần Mềm 72

Kiến trúc 3 tầng

• Trong kiến trúc 3 tầng mỗi tầng ứng dụng có thể

thực thi trên một bộ xử lý riêng biệt

• Dễ mở rộng

Trang 73

Kiến trúc client server 3 tầng

Trang 74

Công Nghệ Phần Mềm 74

Trang 75

Dùng kiến trúc client - server

Applications where computationally-intensive processing of data (e.g.

data visualisation) is required.

Applications with relatively stable end-user functionality used in an environment with well-established system management.

Trang 76

Công Nghệ Phần Mềm 76

Trang 77

Hệ thống khai khoáng dữ liệu

• Mô hình logic của hệ thống không là một hệ thống cung cấp dịch vụ mà có những dịch vụ quản lý dữliệu phân biệt

• Cho phép số CSDL để truy cập được gia tăng mà

không phá hủy hệ thống

• Cho phép những loại mới của quan hệ được khai

thác bằng cách cộng thêm những đối tượng tích

hợp mới

Ngày đăng: 01/07/2014, 12:34

HÌNH ẢNH LIÊN QUAN

Sơ đồ lớp - công nghệ phần mềm chương 6 thiết kế kiến trúc
Sơ đồ l ớp (Trang 13)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w