Designing Software Architectures: A Practical Approach, 2nd Edition – 4

O’REILLY Learning

4 The Architecture Design Process

Attribute-Driven Design (ADD) :属性駆動設計のステップ
Step 1: Review Inputs
 インプットの確認
Step 2: Establish the Iteration Goal by Selecting Drivers
 ドライバーを選択して反復の目標を設定する
Step 3: Choose One or More Elements of the System to Refine
 改良するシステムの要素を1つ以上選択する
Step 4: Choose One or More Design Concepts That Satisfy the Selected Drivers
 選択したドライバーを満たす1つ以上の設計コンセプトを選ぶ
Step 5: Instantiate Architectural Elements, Allocate Responsibilities, and Define Interfaces
 アーキテクチャ要素を具体化し、責任を割り当て、インターフェースを定義する
Step 6: Sketch Views and Record Design Decisions
 ビューをスケッチし、設計の決定を記録する
Step 7: Perform Analysis of Current Design and Review Iteration Goal and Achievement of Design Purpose
 現在の設計の分析を行い、反復の目標と設計目的の達成度を確認する

ソフトウェア工学のほとんどの活動と同様、「garbage in, garbage out」のプロセスである。
インプットが貧弱であれば、ADDの結果は良いものにはならない。

イギリスの物理学者、フリーマン・ダイソン
「優れたエンジニアとは、独創的なアイデアをできるだけ使わずに機能する設計をする人のことである」

CBAM(コスト/便益分析法)
SWOT(強み、弱み、機会、脅威)

memoO'REILLY Learning

Posted by shi-n