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

D4. コンポーネントとユニットを詳細設計する

ソフトウェアコンポーネント設計では、実装最小単位のユニットのみで構成される末端のコンポーネントとユニットを対象として、次の設計ができます。

  • コンポーネント単位の静的構造図によるユニットの構成と関連性
  • コンポーネント仕様に応じたユニット仕様
  • ユニット間およびユニット内部のインタフェース
  • シーケンス図・ステートマシン図・DFD・フローチャートによる動的振る舞い

以下では、ユースケースごとに、設計時の画面イメージと編集対象のモデル、利用するビューについて説明します。
なお、以下ではソフトウェアアーキテクチャ設計を「上位工程」、ソフトウェアコンポーネント設計を「本工程」と記します。

上位工程のコンポーネントと本工程のコンポーネント
  • ソフトウェアコンポーネント設計では、上位工程で階層化されたコンポーネントのうち末端のコンポーネントを対象として、本工程のコンポーネントを設計します。
  • 上位工程のコンポーネントと本工程のコンポーネントは別々のモデルとして扱い、導出関連によって対応関係を表します。
ユースケース画面イメージモデルとビュー説明
D4.1. アーキテクチャ設計からコンポーネントを導出する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]
・ビュー:[コンポ・仕様一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアコンポーネント設計グループ]
・ビュー:[ユニット・仕様一覧]
[ソフトウェアコンポーネント設計グループ] を追加したうえで、2画面構成で上位工程の [ソフトウェアコンポーネント] から本工程の [ソフトウェアコンポーネント] を導出できます。
[ソフトウェアコンポーネント] を個別に追加してから上位工程の [ソフトウェアコンポーネント] と関連付けることもできます。
D4.2. 各コンポーネントを構成するユニットを設計する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、上位工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[コンポ・仕様一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアコンポーネント設計グループ]、本工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[ユニット・仕様一覧]
サブエディタでもコンポーネントを構成するユニットを設計できます。ユニットは階層化できません。
D4.3. アーキテクチャ設計からユニット仕様を導出する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、上位工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[コンポ・仕様一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアコンポーネント設計グループ]、本工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[ユニット・仕様一覧]
2画面構成で上位工程の [コンポーネント仕様] から本工程の [ユニット仕様] を導出できます。
[ユニット仕様] を個別に追加してから上位工程の [コンポーネント仕様] と関連付けることもできます。
D4.4. ユニットのインタフェースを設計する
└ D4.4.1. インタフェースに必要な型を設計する
Ⓜメインエディタ
・モデル:[ソフトウェアコンポーネント設計グループ]、本工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[型定義一覧]
Ⓢサブエディタ
・表示モード:[詳細]
コンポーネントごとに型定義を追加できます。
└ D4.4.2. アーキテクチャ設計からユニットのインタフェースを導出する
Ⓜメインエディタ
・モデル:[ソフトウェアアーキテクチャ設計グループ]、上位工程の [ソフトウェアコンポーネント] のいずれか
・ビュー:[インタフェース一覧]
Ⓢサブエディタ
・表示モード:[手動]
・モデル:[ソフトウェアコンポーネント設計グループ]、本工程の [ソフトウェアコンポーネント]、[ソフトウェアユニット] のいずれか
・ビュー:[インタフェース一覧]
2画面構成で上位工程の [インタフェース関数] や [インタフェースデータ] から本工程のユニットのインタフェースを導出できます。
本工程のインタフェースを個別に追加してから上位工程のインタフェースと関連付けることもできます。
└ D4.4.3. ユニットのインタフェースを設計する
Ⓜメインエディタ
・モデル:[ソフトウェアコンポーネント設計グループ]、本工程の [ソフトウェアコンポーネント]、[ソフトウェアユニット] のいずれか
・ビュー:[インタフェース一覧]
Ⓢサブエディタ
・表示モード:[詳細]
ユニットごとにインタフェース関数や内部関数、インタフェースデータ、内部データを追加し、それらの詳細を設計できます。
└ D4.4.4. ユニット間でインタフェースを関連付ける
Ⓜメインエディタ
・モデル:本工程の [ソフトウェアコンポーネント]
・ビュー:[静的構造図]
Ⓢサブエディタ
・なし
ユニットのインタフェース間をコネクタで結線することでインタフェースを関連付けられます。
D4.5. 動的設計を行う
└ D4.5.1. コンポーネント内部の振る舞いを設計する
Ⓜメインエディタ
・モデル:本工程の [ソフトウェアコンポーネント]
・ビュー:[詳細]
Ⓢサブエディタ
・表示モード:[詳細]
・ビュー:[シーケンス図]、[ステートマシン図]、[状態遷移表]、[DFD] のいずれか
コンポーネントに [動的設計] モデルを追加すると、最適な設計手法で動的設計ができます。
└ D4.5.2. ユニットの振る舞いを設計する
Ⓜメインエディタ
・モデル:[ソフトウェアユニット]
・ビュー:[詳細]
Ⓢサブエディタ
・表示モード:[詳細]
・ビュー:[DFD]
ユニットに [動的設計] モデルを追加すると、DFDで動的設計ができます。
└ D4.5.3. インタフェース関数・内部関数の振る舞いを設計する
Ⓜメインエディタ
・モデル:本工程の [インタフェース関数]、[内部関数] のいずれか
・ビュー:[詳細]
Ⓢサブエディタ
・表示モード:[詳細]
・ビュー:[フローチャート]
インタフェース関数・内部関数に対してフローチャートで動的設計ができます。