アーキテクチャ設計は、複数の視点(ビュー)で製品像を明確にして、製品開発を牽引するものです。私たちは、組込みソフトウェアアーキテクチャとして、(1)目論見、(2)設計方針、(3)静的構造、(4)動的構造、(5)実装構造の5つの視点を定義しています。

目論見は、製品の特徴や売りを明確にして、トップリストとして明記したものです。事業責任者の承認を得ることで、開発プロジェクトを先導します。

設計方針は、目論見を実現するための、ソフトウェアの構造と振る舞いの目標を定めたものです。設計意図がソースコードに埋もれないよう明記しておくことが大切です。

静的構造は、製品の全体像を把握できるように、責務構造を明記したものです。製品の構成要素が数えられて、名前で管理できるので、プロジェクト管理にも利用できます。

動的構造は、組込みソフトウェアの特徴である、タイミングや同期の設計意図を明記したものです。タスク構造やスレッド設計の要点です。

実装構造は、成果物となるソースコードの調達方法と構成管理方法の定義、そして、設計ルールを定めてソースコードを資産として管理するものです。

上記5つの視点で、それぞれ図表を作成し、それを一冊のドキュメントに統合したものが「アーキテクチャドキュメント」です。アーキテクトは、アーキテクチャドキュメントをコミュニケーション道具として、全体が進むべき方向を示しつつ、様々な関係者と交渉・調整し、適切な判断をすることが仕事です。