【ソフトウェア方式設計・詳細設計】ソフトウェア構造とコンポーネントの設計など

ソフトウェア方式設計・詳細設計についてまとめました。

【ソフトウェア構造とコンポーネントの設計】

ソフトウェア構造とコンポーネントの設計
ソフトウェア方式設計 「ソフトウェア要件定義書」を基にして、必要な内部機能を開発部門が設計することです。

【インタフェース設計】

【ソフトウェアユニットのテストの設計】

ソフトウェアユニットのテストの設計
UT(Unit Test) 「単体テスト」のことです。1つの「関数」「モジュール」が正常に動作するかテストします。

【ソフトウェア結合テストの設計】

ソフトウェア結合テストの設計
IT(Integration Test) 「結合テスト」のことです。複数の「関数」「モジュール」を組み合わせて、正常に動作するかテストします。

【ソフトウェア品質】

【レビュー】

レビュー
インスペクション(Inspection) 和訳すると「診断」という意味です。ソフトウェア開発においては、事前に役割を決められた参加者が責任のある第三者(モデレータ)の下で成果物を確認することを意味します。
ウォークスルー 作成者を含めた複数人の関係者が参加して会議形式で行い、レビュー対象となる成果物を作成者が説明して参加者が質問やコメントをします。
ラウンドロビン 参加者が順番に司会者とレビュアになります。そして、司会者の進行によってレビュア全員が順番にコメントをして、全員が発言したら司会者を交代して次のテーマに移ります。
パスアラウンド レビュー対象となる成果物を複数のレビュアに配布又は回覧し、レビュアがコメントします。

【ウォークスルー】

【ソフトウェア設計の評価】

【プロセス中心設計】

【データ中心設計】

【構造化設計】

【オブジェクト指向設計】

用語 概要
サブクラス 基本クラス(スーパークラス)から派生して新しく定義されたクラス。基本クラスの属性やメソッドを継承し、それを基にサブクラス独自の特性を追加できます。(例:基本クラスが”車”ならサブクラスは”トラック”などに相当)
プロパゲーション あるオブジェクトに対して操作を適用したとき、関連するオブジェクトに対してもその操作が自動的に適用される仕組み(伝搬)。
デリゲーション あるオブジェクトに対する操作をその内部で他のオブジェクトに依頼する仕組み(委譲)。
インヘリタンス 下位のクラスが上位のクラスの属性や操作を引き継ぐ仕組み(継承)。
コンポジション 複数のオブジェクトを部分として用いて、新たな一つのオブジェクトを生成する仕組み(合成)。

【モジュールの設計】

モジュール強度

モジュール強度とは、モジュール内部の関連性の強さを表し、以下の7種類があります。
モジュール強度が高いほど、他の影響を受けにくくなるので再利用や拡張がしやすくなります。

種別 概要
暗合的強度(低) 関係のない機能をまとめたモジュールです。
論理的強度 関連する複数の機能をまとめたモジュールです。
時間的強度 特定の時期に実行する機能をまとめたモジューです。
手順的強度 関連ある逐次的な機能をまとめたモジュールです。
連絡的強度 関連ある逐次的な機能で要素が連絡し合うものをまとめたモジュールです。
情報的強度 同じデータ構造や資源を扱う機能を一つにまとめたモジュールです。
機能的強度(高) 一つの機能を実現するためだけのモジュールです。単一の機能を実行するモジュールが最も独立性が高い、つまりモジュール機能的強度が高くなります。

モジュール結合度

モジュール結合度とは、モジュール同士の関連性の強さを表します。
モジュール結合度が弱いほど関連するモジュールに変更があった場合の影響を受けにくくなり、モジュールの独立性が高まり保守性が向上します。

モジュール結合度は、データの受け渡し方法などにより以下の6段階のレベルに分類されます。
(上にいくほど結合度が弱く独立性が高いため保守しやすい)

種別 概要
①データ結合 処理に必要なデータのみを単一のパラメータとして受け渡している。
②スタンプ結合 処理に必要なデータのみをレコードや構造体などのデータ構造として受け渡し。
③制御結合 もう1つのモジュールの制御要素を受け渡し。
④外部結合 外部宣言された共通データを参照。
⑤共通結合 共通域に宣言された共通データを参照。
⑥内容結合 お互いのモジュール内部を直接参照・分析。

【部品化と再利用】

【アーキテクチャパターン】

【デザインパターン】

関連記事
1 【情報処理入門】基礎用語・原理・資格まとめ
関連記事