メインコンテンツまでスキップ

D3. アーキテクチャを設計する

ソフトウェアアーキテクチャ設計では次の設計ができます。

  • アーキテクチャレベルのコンポーネント構成と関連性
  • ソフトウェア要求のコンポーネントへの割り当てとコンポーネントごとの仕様
  • コンポーネント間のインタフェース
  • 実行単位(タスク/プロセス/割り込みなど)とインタフェース関数の割り当て
  • シーケンス図・ステートマシン図・DFDによる動的振る舞い
  • CPU負荷やROM/RAMサイズなどのリソース分析
  • インタフェースの関連付けに基づく影響範囲分析

以下では、ユースケースごとに、設計時の画面イメージと編集対象のモデル、利用するビューやエクステンション機能について説明します。

ユースケース画面イメージモデルとビュー説明
D3.1. コンポーネント構成を設計する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[静的構造図]
Ⓢサブエディタ
・なし
レイヤなどのグループの中にコンポーネントを配置できます。グループ化やコンポーネントの階層化が可能です。
D3.2. コンポーネント仕様を導出する
└ D3.2.1. ソフトウェア要求からコンポーネント仕様を導出する
Ⓜメインエディタ
・モデル:[ソフトウェア要求分析]/[ソフトウェア要求グループ]
・ビュー:[要求一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[コンポ・仕様一覧]
2画面構成で [ソフトウェア要求] からコンポーネントごとの [コンポーネント仕様] を導出することで、[ソフトウェア要求] をコンポーネントに割り当てられます。
[コンポーネント仕様] を個別に追加してから [ソフトウェア要求] と関連付けることもできます。
└ D3.2.2. コンポーネント仕様をサブコンポーネントに分配する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、[ソフトウェアコンポーネント] のいずれか
・ビュー:[コンポ・仕様一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアアーキテクチャ設計グループ]、[ソフトウェアコンポーネント] のいずれか
・ビュー:[コンポ・仕様一覧]
上位の [コンポーネント仕様] をサブコンポーネントの責務に応じて分割して割り当てられます。上位の [コンポーネント仕様] とサブコンポーネントの [コンポーネント仕様] との間に導出関連を結んでおくことで、上位仕様との対応関係を追跡できます。
D3.3. コンポーネント間のインタフェースを設計する
└ D3.3.1. インタフェースに必要な型を設計する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[型定義一覧]
Ⓢサブエディタ
・表示モード:[詳細]
グループやコンポーネントごとに型定義を追加できます。
└ D3.3.2. コンポーネントのインタフェース(関数/データ)を設計する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[インタフェース一覧]
Ⓢサブエディタ
・表示モード:[詳細]
コンポーネントごとにインタフェース関数やインタフェースデータを追加できます。
└ D3.3.3. コンポーネント間でインタフェースを関連付ける
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、[ソフトウェアコンポーネント] のいずれか
・ビュー:[静的構造図]
Ⓢサブエディタ
・なし
コンポーネントのインタフェース間をコネクタで結線することでインタフェースを関連付けられます。
D3.4. 動的設計を行う
└ D3.4.1. 実行タイミングを設計する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、[ソフトウェアコンポーネント] のいずれか
・ビュー:[詳細]
Ⓢサブエディタ
・表示モード:[詳細]
グループやコンポーネントごとに定期タスクや割り込みイベントなどの実行単位を設計できます。
└ D3.4.2. アーキテクチャレベルの振る舞いを設計する
Ⓜメインエディタ
・モデル:[動的設計]
・ビュー:[詳細]
Ⓢサブエディタ
・表示モード:[詳細]
・ビュー:[シーケンス図]、[ステートマシン図]、[状態遷移表]、[DFD] のいずれか
グループやコンポーネントに [動的設計] モデルを追加すると、最適な設計手法で動的設計ができます。
D3.5. リソース分析をする
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[リソース分析]
Ⓢサブエディタ
・表示モード:[詳細]
グループやコンポーネントに [リソース分析] モデルを追加すると、CPU負荷やROM/RAMサイズの見積値を記載できます。
D3.6. 影響範囲を分析する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、[ソフトウェアコンポーネント] のいずれか
・ビュー:[静的構造図]
Ⓢサブエディタ
・なし
図上でインタフェースやコンポーネントを1つ選択して、リボンタブの [設計支援] > [影響分析] > [IFの影響箇所を抽出] ボタンを押下すると、エクステンション機能によりインタフェースの関連先を判別できます。