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