アーキテクチャ設計
サブシステム分割
レイヤー化
(
直交化
)
システムの直交性
は 『
新装版 達人プログラマー 職人から名匠への道
』 で述べられた考え方
関連 :
レイヤ化アーキテクチャ
設計モデル
の一種
ソフトウェアの主要な構成要素の関係、システムが要求を満たすために利用するアーキテクチャスタイルやパターン、
アーキテクチャ
の実現方法に影響する制約を定義するもの
4 段階の手順で実現
1. システムを文脈の中で表現
アーキテクチャ設計をする際には、文脈を確立する必要 (外部エンティティと、やりとりの性質)
アーキテクチャコンテキスト図
など
2.
原型
と呼ばれる最上位の抽象を特定する
3. 設計の抽象度を、より実装に近づける
コンポーネントを特定し、アーキテクチャの文脈に組み込む
4. 具体的な方法でアーキテクチャをインスタンス化する
アーキテクチャ設計の一部として具体化すべき一連の特性 (Mary Shaw、David Garlan による)
アーキテクチャ設計のためのモデル
アジャイル開発
の実践者の中には
アーキテクチャ設計
を
事前の大規模設計
(
Big Design Up Front
) と同一視する人もいるが、アーキテクチャ設計は重要 →
アジャイル開発におけるアーキテクティング
アーキテクチャスタイル
、
アーキテクチャパターン
関連
アーキテクチャ設計の原則
ソフトウェアアーキテクチャ設計
初期アーキテクチャ設計
システムアーキテクチャ設計プロセス
参考文献
実践ソフトウェアエンジニアリング 第 9 版