You are on page 1of 41

Chương 8

Xác định cơ chế thiết kế


Nội dung
Mục đích của “Identify Design Mechanisms”
Giải thích cơ chế thiết kế và hiện thực và cách
ánh xạ từ cơ chế phân tích sang cơ chế thiết kế
Mô tả một số cơ chế quan trọng sẽ được sử
dụng trong case study
Identify Design Mechanisms in Context
Identify Design Mechanisms in Context

Identify Design Mechanisms là hoạt động tinh


chỉnh lại chi tiết trong kiến trúc
Identify Design Mechanisms: tinh chỉnh các cơ
chế phân tích thành các cơ chế thiết kế dựa trên
những ràng buộc áp đặt bởi các môi trường thực
hiện.
Identify Design Mechanisms Overview
Identify Design Mechanisms Overview
Input Artifacts
 Supplementary Specifications
 Software Architecture Document
 Analysis Class
 Design Model
Identify Design Mechanisms Overview
Resulting Artifacts
 Design Model elements
− Classes
− Packages
− Subsystems
 Software Architecture Document
Các bước xác định cơ chế thiết kế
Tổ chức các client của cơ chế phân tích
(analysis mechanisms – gồm mô hình của cấu
trúc, mô hình của hành vi, hoặc cả hai. được sử
dụng trong quá trình phân tích để làm giảm sự
phức tạp, và để cải thiện tính nhất quán)
Ghi nhận các cơ chế kiến trúc (architectural
mechanisms)
Patterns và Frameworks
Pattern
 Cung cấp giải pháp chung cho vấn đề chung tùy thuộc
vào ngữ cảnh.
Analysis/Design Pattern
 Cung cấp giải pháp về kỹ thuật trong phạm vi hẹp
Framework
 Xác định phương pháp để giải quyết vấn đề
 Cung cấp giải pháp chung, chi tiết có thể là các mẫu
phân tích và thiết kế
Design Pattern
Design Pattern cung cấp lược đồ cho việc tinh chỉnh
subsystems, components của hệ thống phần mềm hoặc
mối quan hệ giữa chúng.
Nó mô tả một cấu trúc chung của các thành phần giao
tiếp nhau để giải quyết một vấn đề thiết kế chung trong
một bối cảnh cụ thể.
Ví dụ: các Pattern
Detailing the Command Pattern
Detailing the Command Pattern
Detailing the Command Pattern
Detailing the Command Pattern
Detailing the Command Pattern
Representing Design Patterns in UML
A design pattern is a parameterized
collaboration
Describing Analysis Mechanisms

Tập hợp các cơ chế phan tích trong danh sách


Ánh xạ các lớp vào sơ đồ phân tích
Xác định tính chất của từng cơ chế phân tích
Phân loại các cơ chế phân tích
Mục đích
Tinh chỉnh thông tin được tập hợp từ cơ chế phân tích
Các bước thực hiện
Xác định các clients của mỗi cơ chế phân tích
Xác định các tính chất (characteristic) của mỗi cơ chế
phân tích, mỗi tính chất có thể có nhiều profile khác nhau
Nhóm các clients có cùng cơ chế phân tích và tính chất
giống nhau.
Các nhóm này sẽ cho ý tưởng để xác định cơ chế thiết kế
Design and Implementation Mechanisms

Cơ chế thiết kế (Design mechanism) giả định một


số chi tiết của môi trường thực hiện, nhưng nó
không được gắn với thực hiện cụ thể,
Ví dụ cơ chế thiết kế bao gồm:
 Persistency: RDBMS, OODBMS, flash card, in-memory
storage.
 Inter-process communication (IPC): Shared memory,
function-call-like IPC, semaphore-based IPC.
Design and Implementation Mechanisms

Cơ chế hiện thực(Implementation mechanisms)


Được sử dụng trong quá trình hiện thực. Họ là những cải
tiến cơ chế thiết kế, và chỉ định chính xác cơ chế hiện thực
 Ví dụ:
Với RDBMS persistency thì chọn JDBC.
Với OODBMS persistency, chọn ObjectStore,
Với Distribution, thì chọn RMI
Design and Implementation Mechanisms
Documenting Architectural mechanisms

Cơ chế thiết kế cung cấp một sự


trừu tượng của cơ chế thực hiện,
thu hẹp khoảng cách giữa các cơ
chế phân tích và cơ chế thực hiện
Documenting Architectural Mechanisms

Cơ chế kiến trúc có thể được coi là mô hình


Review: Course Registration Analysis
Review: Course Registration Analysis
Cơ chế phân tích được chọn cho Course
Registration system
Persistency: yếu tố bền, tồn tại sau khi các ứng
dụng tạo ra nó không còn tồn tại.
Distribution: phân phối một phần tử trên nút hiện có
của hệ thống.
Security: kiểm soát quyền truy cập vào một phần tử.
Legacy Interface: để truy cập vào hệ thống
Mechanism: Persistency: RDBMS: JDBC

Các đặc điểm của Persistency:


Granularity
Volume
Duration
Access mechanism
Access frequency
Reliability
Ví dụ: Persistency: RDBMS: JDBC
Ví dụ: Persistency: RDBMS: JDBC: Initialize
Ví dụ: Persistency: RDBMS: JDBC: Create
Combined Fragment
Combined Fragment phản ánh các khía cạnh
của sự tương tác gọi là toán hạng tương tác
(interaction operands) được điều khiển bởi toán
tử tương tác (interaction operator) với các điều
kiện tương ứng gọi là interaction constraints.
Interaction Operand
Mỗi fragment chứa một hoặc nhiều toán hạng tương
tác.
Số lượng các toán hạng phụ thuộc vào loại Combined
Fragment .
Ví dụ, một vòng lặp có một toán hạng (thân vòng lặp) và
một điều kiện có một hoặc nhiều toán hạng (các nhánh
của các điều kiện).
Một toán hạng là một phân mảnh lồng trong sơ đồ tương
tác..
Interaction Operand
 Giá trị của Interaction Operand gồm:
 alt - alternatives
 opt - option
 loop - iteration
 break - break
 par - parallel
 strict - strict sequencing
 seq - weak sequencing
 critical - critical region
Ví dụ:

Một Loop fragment


biểu diễn số lần mua
hàng không biết trước.
Sau đó thu ngân yêu
cầu thanh toán.

Một fragment biểu


diễn sự tùy chọn
phương thức thanh
tóa
Interaction Expression
Xác định phạm vi của số lần lặp của vòng lặp.
Phạm vi được xác định bởi giá trị min và max
Điều kiện được đặt trong cặp dấu []
Interaction Expression
• Ví dụ:
• loop Minimum = 0, unlimited maximum
• loop (repeat) Minimum = maximum = repeat
• loop (minimum, maximum) Explicit minimum and
maximum bounds
Persistency: RDBMS: JDBC: Read
Persistency: RDBMS: JDBC: Update
Persistency: RDBMS: JDBC: Delete
Incorporating JDBC
Review: Identify Design Mechanisms
What does an analysis mechanism do?
What is a pattern? What makes a framework different
from a pattern?
Why should you categorize analysis mechanisms?
Identify the steps

You might also like