アルブレヒトのファンクションポイント法
ファンクションポイントメトリクスは、ソフトウェアアプリケーションのさまざまな機能を測定するための標準化された方法を提供します。これは、ユーザーの観点から、つまり、ユーザーが要求し、その見返りとして受け取るものに基づいて、機能を測定します。ファンクションポイント分析は、ユーザーの視点からソフトウェア開発を測定するための標準的な方法です。
もともとアルブレヒトによって考案されたファンクションポイント法は、1986年の国際ファンクションポイントユーザーグループ(IFPUG)の発足により人気が高まりました。2002年に、IFPUGファンクションポイントは国際ISO規格であるISO / IEC20926になりました。
ファンクションポイントとは何ですか?
FP (Function Point)は、ソフトウェアアプリケーションの定量化に適した最も普及している機能タイプのメトリックです。これは、2つのデータ関数タイプと3つのトランザクション関数タイプに分けられる5人のユーザーが識別可能な論理「関数」に基づいています。特定のソフトウェアアプリケーションでは、これらの各要素が定量化および重み付けされ、ファイル参照や論理フィールドなどの特徴的な要素がカウントされます。
結果の数値(未調整FP)は、追加、変更、または削除された関数セットにグループ化され、値調整係数(VAF)と組み合わされて、FPの最終的な数値が取得されます。アプリケーション、開発プロジェクト、または拡張プロジェクトの各カウントタイプには、個別の最終式が使用されます。
アルブレヒトのファンクションポイント法の適用
ここで、アルブレヒトのファンクションポイント法を適用する方法を理解しましょう。その手順は次のとおりです-
コンポーネントの数を決定します(EI、EO、EQ、ILF、およびELF)
EI−外部入力の数。これらは、派生データが境界を越えて外側から内側に渡される基本的なプロセスです。図書館データベースシステムの例では、既存の利用者の図書館カード番号を入力します。
EO−外部出力の数。これらは、派生データが境界を越えて内側から外側に渡される基本的なプロセスです。図書館データベースシステムの例では、常連客にチェックアウトされた本のリストを表示します。
EQ−外部クエリの数。これらは、1つ以上の内部論理ファイルおよび外部インターフェースファイルからデータを取得する、入力コンポーネントと出力コンポーネントの両方を備えた基本プロセスです。図書館データベースシステムの例で、現在どの本が常連客にチェックアウトされているかを確認します。
ILF−内部ログファイルの数。これらは、外部入力を通じて維持される、アプリケーションの境界内に完全に存在する、論理的に関連するデータのユーザー識別可能なグループです。図書館データベースシステムの例では、図書館内の本のファイル。
ELF−外部ログファイルの数。これらは、参照目的でのみ使用され、完全にシステムの外部に存在する、論理的に関連するデータのユーザー識別可能なグループです。図書館データベースシステムの例では、図書館の請求システムのトランザクションを含むファイル。
未調整のファンクションポイントカウント(UFC)を計算する
各コンポーネントを次のように評価します low, average, または high。
取引の場合 (EI, EO, and EQ)、評価はに基づいています FTR そして DET。
FTR −更新または参照されたファイルの数。
DET −ユーザーが認識できるフィールドの数。
次の表に基づいて、 EI 2つのファイルと10のデータ要素を参照するものは次のようにランク付けされます average。
FTR | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | 低 | 低 | 平均 | |
2-3 | 低 | 平均 | 高い | |
>3 | 平均 | 高い | 高い |
ファイルの場合 (ILF and ELF)、評価はに基づいています RET そして DET。
RET −ユーザーが認識できるデータ要素の数 ILF または ELF。
DET −ユーザーが認識できるフィールドの数。
次の表に基づいて、 ILF 10個のデータ要素と5個のフィールドを含むものは次のようにランク付けされます high。
RET | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | 低 | 低 | 平均 | |
2-5 | 低 | 平均 | 高い | |
>5 | 平均 | 高い | 高い |
評価をに変換する UFCs。
評価 | 値 | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
最終ファンクションポイントカウント(FPC)を計算する
値調整係数を計算する (VAF) 14の一般的なシステム特性に基づく (GSC)。
一般的なシステム特性 | 簡単な説明 | |
---|---|---|
GSC 1 | データ通信 | アプリケーションまたはシステムとの情報の転送または交換を支援するための通信設備はいくつありますか? |
GSC 2 | 分散データ処理 | 分散データと処理機能はどのように処理されますか? |
GSC 3 | パフォーマンス | ユーザーが応答時間またはスループットを要求しましたか? |
GSC 4 | 頻繁に使用される構成 | アプリケーションが実行される現在のハードウェアプラットフォームはどの程度使用されていますか? |
GSC 5 | 取引率 | トランザクションは毎日、毎週、毎月などどのくらいの頻度で実行されますか? |
GSC 6 | オンラインデータ入力 | 情報の何パーセントがオンラインで入力されていますか? |
GSC 7 | エンドユーザーの効率 | アプリケーションはエンドユーザーの効率を考慮して設計されましたか? |
GSC 8 | オンラインアップデート | オンライントランザクションによって更新されるILFはいくつですか? |
GSC 9 | 複雑な処理 | アプリケーションには広範な論理的または数学的処理がありますか? |
GSC 10 | 再利用性 | アプリケーションは、1つまたは複数のユーザーのニーズを満たすように開発されましたか? |
GSC 11 | インストールの容易さ | 変換とインストールはどのくらい難しいですか? |
GSC 12 | 操作のしやすさ | 起動、バックアップ、および回復の手順はどの程度効果的および/または自動化されていますか? |
GSC 13 | 複数のサイト | アプリケーションは、複数の組織の複数のサイトにインストールするように特別に設計、開発、およびサポートされていましたか? |
GSC 14 | 変更を促進する | アプリケーションは、変更を容易にするために特別に設計、開発、およびサポートされましたか? |
それぞれの重さを量る GSC 強い影響に影響がないかどうかに基づいて、0から5のスケールで。
を計算する FPC 次のように-
FPC = UFC * (0.65 +(合計(GSC)* .01))
複雑
複雑さは、サイズの別の要素です。2種類あります-
Complexity of a problem −問題の最適な解決に必要なリソースの量です。
Complexity of a solution−特定のソリューションを実装するために必要なリソースです。それには2つの側面があります。それらは次のとおりです-
Time complexity −リソースはコンピューター時間です。
Space complexity −リソースはコンピュータメモリです。
複雑さの測定
複雑さの1つの側面は、効率です。アルゴリズムとしてモデル化できるソフトウェア製品を測定します。
例:特定の問題のすべてのインスタンスを解決するためのアルゴリズムが必要な場合 f(n) 計算、そして f(n) 問題を解決する複雑さgを持つ他のすべてのアルゴリズムの場合、漸近的に最適です f です O(g)。次に、与えられた問題の複雑さは大きいです-O 問題の解決のための漸近的に最適なアルゴリズムの。