Software-quality-management-measuring-structure

提供:Dev Guides
移動先:案内検索

構造の測定

ソフトウェアの構造特性の測定は、製品のメンテナンスだけでなく、開発作業の見積もりにも重要です。 要件、設計、およびコードの構造は、ある製品から別の製品への変換、製品のテスト、または初期の内部製品測定から外部ソフトウェア属性を予測する際に生じる困難を理解するのに役立ちます。

構造物対策の種類

ソフトウェアの構造には3つの部分があります。 彼らは-

  • 制御フロー構造-プログラム内で命令が実行されるシーケンスです。
  • データフロー構造-それはプログラムと対話するときのデータの動作です。
  • データ構造-リスト、キュー、スタック、またはその他の明確に定義された構造の形式のデータ要素と、それらを作成、変更、または削除するためのアルゴリズムの編成です。

制御フロー構造の測定

制御フロー測定は通常、各ノードまたはポイントがプログラムステートメントに対応し、各アークまたは有向エッジがステートメント間の制御フローを示す有向グラフでモデル化されます。 これらのグラフは、制御フローグラフまたは有向グラフと呼ばれます。

*'m'* がフローグラフモデルに関して定義された構造メジャーであり、プログラム *A* がプログラム *B* より構造的に複雑な場合、メジャー* m(A)*は* mより大きくなければなりません。 (B)*。

データフロー構造の測定

データフローまたは情報フローは、モジュール間(モジュール内の情報の流れ)またはモジュール内(個々のモジュールとシステムの他の部分との間の情報の流れ)になります。

データがシステムを移動する方法に応じて、次のように分類することができます-

  • ローカルダイレクトフロー-モジュールが2番目のモジュールを呼び出して情報を渡すか、呼び出されたモジュールが呼び出し元に結果を返す場合。
  • ローカル間接フロー-呼び出されたモジュールが情報を返し、その情報が次に2番目に呼び出されたモジュールに渡される場合。
  • グローバルフロー-グローバルデータ構造を介して情報が1つのモジュールから別のモジュールに流れる場合。

情報フローの複雑さは、ヘンリーとカフラによると、

  • 情報フローの複雑さ(M)=長さ(M)×ファンイン(M)×(ファンアウト(M))^ 2 ^ *

どこで、

  • ファンイン(M)-Mで終了するローカルフローの数+ Mが情報を取得するデータ構造の数
  • ファンアウト(M)-Mから発生するローカルフローの数+ Mによって更新されるデータ構造の数

データ構造の測定

データ構造は localglobal の両方にすることができます。

ローカル、各データ項目の構造の量が測定されます。 グラフ理論的アプローチを使用して、個々のデータ構造のプロパティを分析および測定できます。 その中で、整数、文字、ブールなどの単純なデータ型は素数と見なされ、より複雑なデータ構造を構築できるさまざまな操作が考慮されます。 データ構造のメジャーは、さまざまな操作に関連付けられた素数と値の値に関して階層的に定義できます。

  • グローバル*では、ユーザー定義変数の総数が測定されます。