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