Xupper技術サポート部のページ

弊社開発手法やXupper(クロスアッパー)の活用法等について、ご説明させていただきます。

IFPUG法でのFP算出

2007年03月28日 | 見積り

あっ!肝心のIFPUG法でのFP見積りについて紹介するのを忘れていました・・・

これまで、IFPUGが規定しているFP見積りの手順が既知のものであるという前提で、各種見積り方法を紹介してきましたが、ツールでのFP算出の方法を紹介する前に、ここで、IFPUGで規定されている手順について解説(復習)しておきたいと思います。

 IFPUG法での見積り手順は以下のとおりです。

1.FP計測種別の決定
2.アプリケーション境界の決定
3.データファンクションのFP算出
 3.1 データファンクションの識別(ILFとEIFの識別)
 3.2 データファンクションの複雑度の判定
  3.2.1 データファンクションのDET数識別
  3.2.2 データファンクションのRET数識別
  3.2.3 データファンクションの複雑度判定
 3.3 データファンクションのFP判定
4.トランザクションファンクションのFP算出
 4.1 トランザクションファンクションの識別(EI、EO、EQの識別)
 4.2 トランザクションファンクションの複雑度の判定
  4.2.1 トランザクションファンクションのDET数識別
  4.2.2 トランザクションファンクションのRET数識別
  4.2.3 トランザクションファンクションの複雑度判定
 4.3 トランザクションファンクションのFP判定
5.未調整FPの算出
6.調整要因の評価(と調整係数の算出)
7.調整済FPの算出


FP計測の概要手順】

1.FP計測種別の決定
FPの計測種別ですが、以下の3種類の種別が存在し、それぞれ算出の計算式が異なります。

① 新規開発プロジェクトのFP

DFP=(UFP+CFP)×VAF

DFP:新規開発プロジェクトのファンクションポイント
UFP:利用可能な未調整ファンクションポイント
CFP:移行機能の未調整ファンクションポイント
VAF:調整要因(係数)

② 機能改良プロジェクトのFP

EFP=[(ADD+CHGA+CFP)×VAFA]+(DEL×VAFB)

EFP:機能改良プロジェクトのファンクションポイント
ADD:機能改良プロジェクトで追加される機能の未調整ファンクションポイント
CHGA:機能改良プロジェクトで変更された(変更後の)機能の未調整ファンクションポイント
CFP:移行機能の未調整ファンクションポイント
VAFA:機能改良後のアプリケーションの調整要因(係数)
DEL:機能改良プロジェクトで削除される機能の未調整ファンクションポイント
VAFB:機能改良前のアプリケーションの調整要因(係数)

③ アプリケーションのFP

AFP=[(UFPB+ADD+CHGA)-(CHGB+DEL)]×VAFA

AFP:アプリケーションのファンクションポイント
UFPB:機能改良プロジェクト開始前のアプリケーションの未調整ファンクションポイント
ADD:機能改良プロジェクトで追加される機能の未調整ファンクションポイント
CHGA:機能改良プロジェクトで変更された(変更後の)機能の未調整ファンクションポイント
CHGB:機能改良プロジェクトで変更となった(変更前の)機能の未調整ファンクションポイント
VAFA:機能改良後のアプリケーションの調整要因(係数)
DEL:機能改良プロジェクトで削除される機能の未調整ファンクションポイント
VAFA:機能改良後のアプリケーションの調整要因(係数)

2.アプリケーション境界の決定
計測対象となるアプリケーションの境界を決定します。
アプリケーション境界は、① 計測対象アプリケーションとユーザの境界及び② 計測対象アプリケーションと他のアプリケーションとの境界を意味します。
これは、DFDのアプリケーション境界の考え方やUMLのアクターの考え方と同じだと考えればいいでしょう。
また、アプリケーション境界を設定する際の原則としては、① ユーザビューに基づいて設定するということと、② 関連するアプリケーションとの境界は、技術的にではなく、業務機能で設定するということがあります。
①の「ユーザビューに基づいて」というのは、直訳してユーザ視点から境界を設定するということです、結果として技術的・物理的な境界ではなく、業務(機能)で境界を設定するということになります。
ここで注意が必要なことは、アプリケーション境界を設定したとしても、計測対象としては、追加や変更となる機能が影響を与える機能も計測対象とするということです。


【アプリケーション境界】

3.データファンクションのFP算出

3.1  データファンクションの識別(ILFとEIFの識別)
・内部論理ファイル(ILF)とはユーザが識別できる(論理的な⇒物理的データ(エンティティ)は除外します)データや制御情報のことで、計測対象アプリケーション内の機能で維持管理(追加、更新、削除)されるデータのことを言います。
・外部インタフェースファイル(EIF)とはユーザが識別できる(論理的な⇒物理的なデータ(エンティティ)は除外します)データや制御情報のことで計測対象アプリケーションでは参照のみ行われるデータのことです。 

3.2 データファンクションの複雑度の判定

3.2.1 データファンクションのDET数識別
DETとはユニークで、繰り返しを含まない、ユーザ視点の(論理的な⇒物理データ項目は除外します。)データ項目のことです。
またDETとして識別するのは、維持管理したり、参照するデータ項目のみをカウントします。
(他のファイルとの関係を示す項目(外部参照キー)も1DETとします。)
 

3.2.2 データファンクションのRET数識別
RETとはユーザ視点で捉えたILFやEIFのデータのサブグループのことをいいます。
サブグループがない場合は、1RETとなります。

3.2.3 データファンクションの複雑度判定
DET数、RET数を以下のテーブルにあてはめ複雑度を判定します。


【データファンクションの複雑度の判定テーブル】

3.3 データファンクションのFP判定
データファンクションの複雑度から、以下のテーブルにあてはめ(未調整の)FPを判定します。


【データファンクションの(未調整)FP判定テーブル】

 4.トランザクションファンクションのFP算出

4.1 トランザクションファンクションの識別(EI、EO、EQの識別)
要素処理を識別し、ファンクションタイプを識別していきます。要素処理とは、ユーザの目的にそった業務活動の最小単位で、自己完結し、計測境界アプリケーションを業務に矛盾のない状態保つ処理のことです。(トランザクションと考えればいいと思います。  って名前そのものですが・・・)

外部入力(EI)とは、データや制御情報を処理する要素処理で、①境界外から入力され、②ILFの維持管理やシステムの動作変更を行う処理のことです。

外部出力(EO)とは、データや制御情報を処理する要素処理で、①境界外に情報を出力し、②処理を通じてのユーザへの情報提供する処理で、③算術式、計算、導出データ生成、ILF更新、システム動作の変更の少なくとも1つを含む要素処理のことです。

外部照会(EQ)とは、データや制御情報を処理する要素処理で、①境界外に情報を出力し、②ILFやEIFから検索してユーザへ情報提供する処理で、③処理は算術式、計算、導出データ生成を含まない要素処理のことです。

4.2 トランザクションファンクションの複雑度の判定

4.2.1 トランザクションファンクションのDET数識別
DETとはユニークで、繰り返しを含まない、ユーザ視点のデータ項目のことです。

① EIのDET数のカウント
境界外から入力または境界内から出力されるデータ項目は、各々1DETとしてカウントします。(アプリケーション境界をまたがるデータ項目)
また、エラー表示/完了確認はまとめて1DETとします。(エラー表示や、確認メッセージ等複数のメッセージを表示していたとしても、1DETとしてカウントします。)
さらに、処理の起動手段も、まとめて1DETとします。(起動メニューから行われる場合もあれば、コマンドボタンから行われる場合があった場合(起動手段が複数存在していても)1DETとしてカウントします。)

② EOのDET数のカウント
境界外から入力または境界内から出力されるデータ項目は、各々1DETとしてカウントします。
(境界外から入力され、かつ出力されるデータ項目は、1回のみカウントします。)
また、エラー表示/完了確認はまとめて1DETとします。(エラー表示や、確認メッセージ等複数のメッセージを表示していたとしても、1DETとしてカウントします。)
さらに、処理の起動手段も、まとめて1DETとします。(起動メニューから行われる場合もあれば、コマンドボタンから行われる場合があった場合(起動手段が複数存在していても)1DETとしてカウントします。)

③ EQのDET数のカウント
EOと同じです。

4.2.2 トランザクションファンクションのRET数識別
FTRとはトランザクションファンクションにより読み込まれる、または維持管理されるILFと、読み込まれるEIFのことをいいます。

EIのFTR数のカウント
EIによって、維持管理(追加、更新、削除)されるILFを、各々1FTRとします。
維持管理されかつ読み込まれるILFは1回のみカウントします。

② EOのFTR数のカウント
EIと同じです。

③ EQのFTR数のカウント
EQによって読み込むILFやEIFを、各々1FTRとします。

4.2.3 トランザクションファンクションの複雑度判定
DET数、FTR数を以下のテーブルにあてはめ複雑度を判定します。

 
【トランザクションファンクションの複雑度判定テーブル)

4.3 トランザクションファンクションのFP判定
トランザクションファンクションの複雑度を以下のテーブルに当てはめ(未調整)FPを判定します。 


【トランザクションファンクションの(未調整)FP判定テーブル】

5.未調整FPの算出

上記の手順で算出したデータファンクションとトランザクションファンクションの(未調整)FPを、全て合算することにより、アプリケーションの未調整FPを算出します。

6.調整要因の評価(と調整係数の算出)

以下の調整要因の影響度を0~5の値で評価します。


【調整要因】

調整要因の評価結果を以下の計算式に当てはめ、調整係数を算出します。

調整係数 = 各項目の評価点の合計(0~70)/100+0.65

7.調整済FPの算出

調整済FP = 未調整FP×調整係数

コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ツールを使った規模算出 | トップ | 見積りツール(Xradian)での... »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (Unknown)
2012-09-03 01:07:55
EIの複雑度に対するFP値はなぜ、5、7、10なのか?
3、4、6じゃないのか?
返信する
申し訳ありません (Unknown)
2012-10-23 12:59:46
EIの複雑度に対するFP値は3.4.6です。
返信する

コメントを投稿

見積り」カテゴリの最新記事