【中編】FP法の基本ステップBy gyz / 2024年10月21日 システム開発でのコスト見積もりを正確に行うための手法として、「FP(ファンクションポイント)法」があります。この手法の要となるのは、システムが提供する機能に基づいて規模を把握し、それに応じたリソースを割り当てることです。今回は、FP法を使うための基本ステップについて解説します。 Attention FP法には手法がいくつかありますが、今回はIFPUG法を基にしたFP計測手法の一例をご紹介します。 目次 Toggle 1.機能の分類データ関係機能トランザクション関係機能2.「機能の複雑さ」についての評価※複雑さの評価について3. ファンクションポイントの重み付け4.合計ファンクションポイントの計算4.調整係数の適応まとめ 1.機能の分類 FP法を使う最初のステップは、システム内の全機能を「データ関係機能」と「トランザクション関係機能」に分類することです。これにより、システムの規模をより正確に評価できるようになります。 データ関係機能 データ関係機能は、システム内で扱われるデータや外部システムから取り込まれるデータを管理する部分を指します。この分類には2つの主要な要素があります。内部論理ファイル(ILF)システム内で自分のシステム内で作成、更新、参照、削除するデータのこと。(例)顧客データや商品情報のような、システムが直接保管・処理するデータ外部インターフェースファイル(EIF)他システムで作成したファイル(参照のみ)のこと。(例)販売管理システムが在庫システムからデータを参照するようなケース トランザクション関係機能 トランザクション関係機能は、ユーザーがシステムに対して行う操作を意味します。これには次の3つの機能があります。外部入力(EI)ユーザーがシステムにデータを入力する操作を指します。(例)新しい顧客情報を登録する場合の入力フォームなど外部出力(EO)システムからユーザーに対して情報を提供する機能のこと。(ILFやEIFのデータをもとに、画面・帳票など他のアプリケーションなどにデータを出力する処理)(例)レポート表示やデータのエクスポートなど外部照会(EQ)ユーザーがシステム内のデータを検索し、結果を得る操作を指します。(ILFやEIFのデータをもとに、内部論理ファイル(ILF)を更新せず、画面や帳票、他のアプリケーションなどにデータを出力する処理)(例)顧客情報の検索機能など 2.「機能の複雑さ」についての評価 次に、分類された機能ごとにその「複雑さ」を評価します。FP法では、各機能を「単純」「中程度」「複雑」の3段階で評価します。複雑さの判断基準としては、データの量や処理の内容、ユーザーの操作の複雑さが挙げられます。例えば、シンプルな入力フォームは「単純」に分類されますが、複数のデータをまとめて処理するような機能は「複雑」と評価されます。 ※複雑さの評価について FP法における「重み付けの三段階(単純、中程度、複雑)」の判断は、主に機能の特性・データの構造・処理内容などによって定められます。しかし、システムや業界に応じて柔軟に適用される場合があるため、絶対的な定量基準が全てのケースに当てはまるとは限りません。また、システムの特性により、評価が異なることもあります。(企業によってノウハウが違う場合もある)そのため今回は、IFPUGの基準に倣った一例をここに示します。データファンクションの重み付け データ・ファンクションの複雑さ(重み付け)は、LIF(内部理論ファイル)とEIF(外部インターフェイスファイル)ごとに「レコード種類(RET)数」と「データ項目(DET)数」で評価し、「単純」「中程度」「複雑」を判定します。 〇「レコード種類(RET)数」と「データ項目(DET)数」で評価 〇重み付けを基に未調整FPを求める トランザクションファンクションの重み付けこちらもデータファンクションと同様に判定を行いますが、「関連ファイル(FTR)数」と「データ項目(DET)数」で評価し、「単純」「中程度」「複雑」を判定します。 〇EI(外部入力)の評価 〇EO(外部出力)の評価 〇EQ(外部照会)の評価 〇重み付けを基に未調整FPを求める 3. ファンクションポイントの重み付け 重み付けで判定した複雑さに応じて、FPを計測します。今回の例に示した評価基準によると以下のように計測を行います。内部論理ファイル(ILF)の場合単純な内部論理ファイル(ILF):7 FP中程度の内部論理ファイル(ILF):10 FP複雑な内部論理ファイル(ILF):15 FP外部インターフェースファイル(EIF)の場合単純な外部インターフェースファイル(EIF):7FP中程度の外部インターフェースファイル(EIF)7 FP複雑な外部インターフェースファイル(EIF):10 FP外部入力(EI)の場合単純な外部入力(EI):3 FP中程度の外部入力(EI):4 FP複雑な外部入力(EI):6 FP外部出力(EO)の場合単純な外部出力(EO):4 FP中程度の外部出力(EO):5 FP複雑な外部出力(EO):7 FP外部照会(EQ)の場合単純な外部照会(EQ):3 FP中程度の外部照会(EQ):4 FP複雑な外部照会(EQ):6 FPこのように、各機能に重み付けを行うことで、システム全体の規模を把握できます。 4.合計ファンクションポイントの計算 各機能のFPを割り当てたら、それらを合計してシステム全体の未調整ファンクションポイント数を算出します。例えば、以下のような機能を持つ在庫管理システムがあるとします。在庫商品情報ファイル(内部理論ファイル,中程度):10FP在庫商品の登録(外部入力, 単純):3 FP在庫情報の更新(外部入力, 中程度):4 FP在庫リストの表示(外部出力, 中程度):5 FP在庫商品の検索(外部照会, 単純):3 FPこの場合、システム全体のFPは次のようになります。合計未調整FP数 = 7+3 + 4 + 5 + 3 = 22 FP この合計未調整FP数を使って、開発にかかる工数やコストの見積もりを行います。 4.調整係数の適応 最後に、プロジェクトの特定の要件や条件を考慮して、調整係数を適用します。これにより、システムの特性や要件を反映した見積もりが可能です。このためこのステップでは、先ほどまでに計測した未調整FPと調整係数をかけ合わせることによって該当プロジェクトのファンクションポイントを計測することが可能になります。調整係数についてシステム特性は以下の14項目ごとに0~5までのランクをつけ、それらを合計してTDI(システム特性の合計値)を計算します。それを踏まえて未調整FPにかけ合わせるVAF(システム特性係数)を算出します。VAF=(TDI×0.01)+0.65 〇14項目のシステム特性 〇0~5のスケール0:存在しない・影響がない1:影響度が軽微2:影響度が小さい3:影響度が中程度4:影響度が大きい5:システム全体で大きな影響があるしかしながら、こちらの調整係数に関しても環境やシステムごとに考慮するべき項目が異なるため、それらを考慮した調整係数をかけ合わせる必要があります。 工数換算のやり方について 取得したFPを基として工数換算を行いますが、主には「FP/人月の生産性から工数を算出する」「COCOMO/COCOMOⅡモデルを利用してSLOCを算出する」が用いられています。本記事はFP法の大まかな流れをご紹介する内容としているため、工数換算の詳しいやり方については割愛させていただきます。 まとめ FP法は、システムの規模を測定するためのシンプルで効果的な手法です。今回紹介した基本ステップを理解し、実際のプロジェクトに適用することで、より正確なコスト見積もりが可能になります。次回は、実際のプロジェクトでFP法をどのように使うのか、具体例を交えながら解説します。 システム開発の見積もりサポートサービス よいまるのシステム開発の見積もりサポートサービス「ProQuoFS」はこのような方にお勧めです。 ぜひ一度お問い合わせください。 来期の予算取りのために見積もりを出したい 開発を進める中で再設計する必要が出てきた 要件定義後に第三者視点からの見積もりを見てみたい 構築したいシステムの知識がないため見積もりの見当がつかない お問い合わせ この記事を書いた人 gyz 最新の投稿 2024年10月21日FP法【中編】FP法の基本ステップ 2024年10月4日FP法【前編】FP法とは?システム見積もりでの重要性