推定手法-ファンクションポイント
A Function Point(FP)は、(製品としての)情報システムがユーザーに提供するビジネス機能の量を表す測定単位です。FPはソフトウェアのサイズを測定します。これらは、機能サイジングの業界標準として広く受け入れられています。
FPに基づくソフトウェアのサイジングについては、いくつかの認められた標準や公開仕様が存在します。2013年現在、これらは-
ISO規格
COSMIC− ISO / IEC 19761:2011ソフトウェアエンジニアリング。機能的なサイズの測定方法。
FiSMA − ISO / IEC 29881:2008情報技術-ソフトウェアおよびシステムエンジニアリング-FiSMA1.1機能サイズ測定方法。
IFPUG − ISO / IEC 20926:2009ソフトウェアおよびシステムエンジニアリング-ソフトウェア測定-IFPUG機能サイズ測定方法。
Mark-II − ISO / IEC 20968:2002ソフトウェアエンジニアリング-MlIIファンクションポイント分析-カウント実践マニュアル。
NESMA − ISO / IEC 24570:2005ソフトウェアエンジニアリング-NESMA関数サイズ測定方法バージョン2.1-ファンクションポイント分析のアプリケーションの定義とカウントガイドライン。
自動ファンクションポイントのオブジェクト管理グループ仕様
オープンメンバーシップで非営利のコンピューター業界標準コンソーシアムであるObjectManagement Group(OMG)は、ITソフトウェア品質コンソーシアムが主導する自動ファンクションポイント(AFP)仕様を採用しています。これは、International Function Point User Group(IFPUG)のガイドラインに従ってFPカウントを自動化するための標準を提供します。
Function Point Analysis (FPA) techniqueソフトウェアユーザーにとって意味のある用語でソフトウェアに含まれる機能を定量化します。FPは、要件仕様に基づいて開発中の機能の数を考慮します。
Function Points (FP) CountingInternational Function Point Users Group(IFPUG)によって定義された、標準のルール、プロセス、およびガイドラインのセットによって管理されます。これらは、Counting Practices Manual(CPM)で公開されています。
ファンクションポイント分析の歴史
ファンクションポイントの概念は、1979年にIBMのAlan Albrechtによって導入されました。1984年に、Albrechtはメソッドを改良しました。最初のファンクションポイントガイドラインは1984年に発行されました。国際ファンクションポイントユーザーグループ(IFPUG)は、米国を拠点とするファンクションポイント分析メトリックソフトウェアユーザーの世界的な組織です。ザ・International Function Point Users Group (IFPUG)は、1986年に設立された非営利の会員制組織です。IFPUGは、ISO標準20296:2009で定義されているファンクションポイント分析(FPA)を所有しており、IFPUGの機能サイズ測定(FSM)メソッドを適用するための定義、ルール、および手順を指定しています。IFPUGは、ファンクションポイントカウント実践マニュアル(CPM)を維持しています。CPM 2.0は1987年にリリースされ、それ以来、何度か繰り返されてきました。CPMリリース4.3は2010年のものでした。
ISO編集改訂が組み込まれたCPMリリース4.3.1は2010年のものでした。ISO標準(IFPUG FSM)-CPM 4.3.1の一部である機能サイズ測定は、ソフトウェアが提供する機能の観点からソフトウェアを測定するための手法です。CPMは、ISO / IEC 14143-1情報技術–ソフトウェア測定の下で国際的に承認された規格です。
エレメンタリープロセス(EP)
Elementary Processは、機能的なユーザー要件の最小単位です。
- ユーザーにとって意味があります。
- 完全なトランザクションを構成します。
- 自己完結型であり、アプリケーションのビジネスは一貫した状態でカウントされます。
関数
関数には2つのタイプがあります-
- データ関数
- トランザクション関数
データ関数
データ関数には2つのタイプがあります-
- 内部論理ファイル
- 外部インターフェースファイル
データ関数は、システムに影響を与える内部リソースと外部リソースで構成されています。
Internal Logical Files
内部論理ファイル(ILF)は、完全にアプリケーション境界内に存在する、論理的に関連するデータまたは制御情報のユーザー識別可能なグループです。ILFの主な目的は、カウントされるアプリケーションの1つ以上の基本プロセスを通じて維持されるデータを保持することです。ILFには、内部的に維持され、論理構造があり、ファイルに格納されるという固有の意味があります。(図1を参照)
External Interface Files
外部インターフェイスファイル(EIF)は、論理的に関連するデータまたは制御情報のユーザー識別可能なグループであり、参照目的でのみアプリケーションによって使用されます。データは完全にアプリケーションの境界の外側にあり、別のアプリケーションによってILFに保持されます。EIFには、外部で維持されるという固有の意味があります。ファイルからデータを取得するには、インターフェイスを開発する必要があります。(図1を参照)
トランザクション関数
トランザクション関数には3つのタイプがあります。
- 外部入力
- 外部出力
- 外部からのお問い合わせ
トランザクション機能は、ユーザー、外部アプリケーション、および測定対象のアプリケーションの間で交換されるプロセスで構成されます。
External Inputs
外部入力(EI)は、データが境界の外側から内側に向かってアプリケーションに「入る」トランザクション関数です。このデータはアプリケーションの外部に送られます。
- データは、データ入力画面または別のアプリケーションから取得される場合があります。
- EIは、アプリケーションが情報を取得する方法です。
- データは、制御情報またはビジネス情報のいずれかです。
- データは、1つ以上の内部論理ファイルを維持するために使用できます。
- データが制御情報である場合、内部論理ファイルを更新する必要はありません。(図1を参照)
External Outputs
外部出力(EO)は、データがシステムから「出力」されるトランザクション機能です。さらに、EOはILFを更新する場合があります。データは、他のアプリケーションに送信されるレポートまたは出力ファイルを作成します。(図1を参照)
External Inquiries
外部照会(EQ)は、データの取得をもたらす入力コンポーネントと出力コンポーネントの両方を備えたトランザクション関数です。(図1を参照)
RET、DET、FTRの定義
レコード要素タイプ
レコード要素タイプ(RET)は、ILFまたはEIF内の要素の最大のユーザー識別可能なサブグループです。データの論理的なグループ化を調べて、それらを識別しやすくするのが最善です。
データ要素タイプ
データ要素タイプ(DET)は、FTR内のデータサブグループです。それらは一意であり、ユーザーを識別できます。
参照されるファイルタイプ
参照されるファイルタイプ(FTR)は、参照されるEI、EO、またはEQ内の最大のユーザー識別可能なサブグループです。
トランザクション関数EI、EO、EQは、以下のカウントルールに含まれるFTRとDETをカウントすることによって測定されます。同様に、データ関数ILFおよびEIFは、以下のカウント規則に含まれるDETおよびRETをカウントすることによって測定されます。トランザクション関数とデータ関数の測定値は、FPカウントで使用され、関数サイズまたはファンクションポイントになります。