Sunday【ファンクションポイント法】13.まとめファンクションポイントの計算方法は以上です。仕事を受注するのに必要かなと思っていたんですが、まず、基本設計が出来ていないとコレ、適用できませんね。基本設計をしたあとに見積もりをしているかというと、そんなプロジェクトはみたことがない。ステップカウントで、規模は出しますけど、それくらいかなあ。それも、だいたい、品質の分析に使っていると思います。仕事を受注するときの見積もりはというと、各工程にかかる人月を難易度づけして、求めてました。この難易度の根拠はどこから算出したのか?分からないので、聞いてみたいと思います。会社の実績だったり、IPAの実績だったり、いろいろあると思いますが、まあ、見積もりはそれぞれであり、根拠を明確にすればいいのかなと感じました。基準があれば、私もやれると思います。テキストはまだ演習編へ続きます。未調整FP値とVAFから調整済みFP値を求める。3つの計測タイプがある。新規開発におけるソフトウェアの規模。システムアプリケーションと移行アプリケーションが対象。アプリケーションと移行アプリケーションが対象。VAFB)EFP:機能拡張FP計測のFP値ADD:追加導入される機能のFP値CHGA:変更される機能のFP値DEL:削除される機能のFP値CFP:データ移行機能のFP値VAFA:機能拡張FP計測後の調整係数VAFB:機能拡張FP計測前の調整係数3.アプリケーションFP計測における計算法アプリケーション全体の規模。初期と更新で2通りの計算方法を用いる。未調整FP値を補正する調整係数を求める。Influence)からVAFを求める。Processing(分散処理)アプリケーション構成要素間でのデータ転送の度合い0:システム構成要素間でのデータ転送、データ処理機能に関与しない1:PCの表計算やDBMSなどの構成要素でエンドユーザーコンピューティング(EUC)向けのデータを準備2:エンドユーザーコンピューティング(EUC)のためではなく、データが転送のために準備され、システムのほかの構成要素に転送、処理される3:一方向のみのオンラインでの分散処理とデータ転送あり4:双方向でのオンラインでの分散処理とデータ転送あり5:データ処理がシステムの最適な構成要素上で動的に実行3.Performance(性能)レスポンスタイム、スループットに対する要求おける開発影響の度合い0:性能に対する特別な要求はない1:性能条件と設計について要求が明言され、レビュー実施されるも、対応要求なし2:レスポンスタイムまたはスループットがピーク時に厳しい状況だが、CPU使用率に対する設計上の特別な配慮は不要。処理の期限は翌営業日3:レスポンスタイムまたはスループットが全業務時間中厳しい状況となるが、CPU使用に対する設計上の特別な配慮は不要。Efficiency(エンドユーザ効率)ユーザの使いやすさやヒューマンファクターへの配慮の度合い・以下の機能をカウントメニュー、オンラインヘルプ、オンラインドキュメント、カーソル移動の自動化、スクロール、オンライントランザクションによる遠隔印刷、ファンクションキーの事前割当、オンライントランザクションからのバッチジョブ起動、画面上のデータのカーソルによる選択、反転表示、ハイライト表示、カラーアンダーライン表示およびその他の表示機能の多用、オンライントランザクションのユーザードキュメンテーションのハードコピー、マウスインターフェース、ポップアップウィンドウ、必要最小限の画面による業務機能の実現、二ヶ国語サポート(4項目としてカウント)、多言語サポート(6項目としてカウント)0:機能のいずれも実現していない1:機能の1〜3項目を実現2:機能の4〜5項目を実現3:機能の6項目以上を実現。操作効率についてユーザーからの要求は特にない4:機能の6項目以上を実現。Update(オンライン更新)ILFがオンラインで更新される度合い0:オンライン更新はない1:1〜3のILFをオンラインで更新。更新量は少なく、回復は容易2:4以上のILFをオンラインで更新。更新量は少なく、回復は容易3:主要なILFをオンラインで更新4:3に加え、データ損失保護が必須、特別な設計、プログラムあり5:4に加え、更新量が多く、回復処理の費用面の考慮がなされている。多様の入出力機能を扱う複雑な処理0:要素のいずれにも該当せず1:要素のいずれか1項目に該当2:要素のいずれか2項目に該当3:要素のいずれか3項目に該当4:要素のいずれか4項目に該当5:要素の5項目すべてに該当10.Reusability(再利用可能性)アプリケーションを他アプリケーションでも利用可能とする場合の特別な配慮の度合い0:再利用できるコードはない1:再利用できるコードがアプリケーション内で使用されている2:アプリケーションの10%未満で複数のユーザーのニーズを考慮3:アプリケーションの10%以上で複数のユーザーのニーズを考慮4:アプリケーションは再利用し易くするために特別なパッケージ化および文書化がされている。Ease(インストール容易性)前環境からの移行難易度における開発影響の度合い0:導入に対してユーザーの特別な指定、特別な設置作業も不要1:導入に対してユーザーの特別な指定はないが、特別なセットアップが必要2:移行および導入にユーザー指定があり、移行および導入ガイドを提供するとともにテストされている。プロジェクトに対する移行の影響は重大ではない3:移行および導入にユーザー指定があり、移行および導入ガイドを提供するとともにテストされている。Ease(運用性)起動、バックアップ、復旧などの運用における開発留意の度合い0:通常のバックアップ手続き以外、ユーザーからの運用上の指定は特にない1〜4:アプリケーションに適用される項目を以下から選択。各項目1度数としてカウント。1.効率的な始動、バックアップ、回復処理が提供されているが、オペレータの介入も必要。2.効率的な始動、バックアップ、回復処理が提供されており、オペレータの介入が不要(2度数としてカウント)。3.アプリケーションは、テープマウントの必要性が最小限になるようにしている。4.アプリケーションは用紙操作の必要性が最小限になるようにしている。5:アプリケーションは無人操作となるように設計されている。無人操作とは、アプリケーションの始動、シャットダウン以外はオペレーターがシステムを操作する必要がないことを意味する。自動エラー回復機能付アプリケーション。Sites(複数サイト)アプリケーションの利用度合い0:複数サイトへの導入の要求はない1:複数サイトへの必要性を考慮し、アプリケーションは同一のハードウェア、ソフトウェア環境だけで運用するように設計されている。2:複数サイトへの必要性を考慮し、アプリケーションは類似のハードウェア、ソフトウェア環境だけで運用するように設計されている。3:複数サイトへの必要性を考慮し、アプリケーションは異なるハードウェア、ソフトウェア環境だけで運用するように設計されている。4:複数サイトでアプリケーションを使用するためのドキュメントとサポート計画が提供され、テストされている。アプリケーションの状態は1と2の記述の通り。5:複数サイトでアプリケーションを使用するためのドキュメントとサポート計画が提供され、テストされている。アプリケーションの状態は3の記述の通り。Sunday【ファンクションポイント法】10.未調整ファンクションポイントの計算ファイル、アプリケーションで求めたFP値を合計し、それを未調整FP値とする。Sunday【ファンクションポイント法】9.トランザクショナルファンクションの計測アプリケーション境界ごとの要素処理の計測する。要素処理の単位で、どれだけの情報をやりとりするかを値化。要素処理を以下のいずれかに決定する。・EI(外部入力)→データ入力を受け付ける。・EO(外部出力)→データを加工し、出力する。・EQ(外部照会)→データを加工しないで出力する。Type)→要素処理がアプリケーション境界をまたいで使用し、かつユーザが認識できる繰り返しのないデータのフィールド数。ボタンなどのトリガーも1と計上する。ユーザが認識できるフィールドであるが、キー値も1と計上する。Reference)→要素処理が参照、更新などでアクセスするファイル数。計測し、要素処理の複雑度を求める。4.要素処理の複雑度を求める以下の表から要素処理の複雑度を求める。High5.複雑度から要素処理のFP値を求める以下の表から要素処理のFP値を求める。Monday【ファンクションポイント法】8.データファンクションの計測アプリケーション境界決定後に、データファンクションの計測を行う。データファンクションには、前述したとおり、以下の2つがある。File:EIF)それぞれに対し、以下の手順で計測する。1.アプリケーションがアクセスするファイルを抽出する。→ユーザが認識するものとなるので、テンポラリなどは含まない。2.出されたファイルがILFとEIFのどちらかを区別する。→ILFは、アプリケーションがファイルを維持管理する(追加、変更、削除を行う)もの。EIFは、アプリケーションがファイルを維持管理しない(参照を行う)もの。3.ファイルのデータエレメントタイプ(DET)とレコードエレメントタイプ(RET)を算出する。→DETは、ファイルのフィールド数。RETは、ファイルのフィールドのサブグループ数。サブグループとは、データ項目を更に構成する下位のデータグループ。4.ファイルの複雑度を求める。Highを以下の表から求める。High5.複雑度からファイルのFP値を求める。Friday【ファンクションポイント法】7.計測範囲の決定、アプリケーション境界の決定ファンクションポイント法で計測を行うにあたり、計測範囲を定義する。・計測範囲の決定ユーザ視点でシステムの機能を決定する。計測範囲のシステムから、アプリケーションというFP値の算出単位でグループ化する。process)に分割する。要素処理とは、ユーザにとって意味のある最小単位のアクティビティである。(CPMの定義)単位としては、システムがあり、システムの中にアプリケーションがあり、アプリケーションの中に要素処理が存在する。「システム→アプリケーション→要素処理」の順に機能を細分化する。Thursday【ファンクションポイント法】6.FP計測タイプの決定ファンクションポイント法で計測を行うにあたり、システム開発の工程により、3つの計測タイプが存在する。実施フェーズ:導入後それぞれで、計測範囲が異なる。1.2.での実施は予算を見積もるために必要なのは分かる。3.は実績値を残すためにやるのだろうけれど、現場はそんな暇がない状況になりがち。Thursday【ファンクションポイント法】5.計測の流れファンクションポイント法での、計測の流れについて示す。1.FP計測タイプの決定タイプは、1.新規開発計測2.機能拡張測定3.アプリケーション測定の3つがある。外部インタフェースファイルを測定する。※CPMは、3.概要に前述5.未調整ファンクションポイントの計算3および4で計測した未調整ファンクションポイントを合計する。Factor(VAF))を求める。Influence(TDI))を以下の式に代入して求める。0.65VAFは、0.65〜1.35となる。Point)を未調整ファンクションポイント、調整係数、計測タイプから算出する。Thursday【ファンクションポイント法】4.ユーザ視点ファンクションポイント法では、ユーザが認識するソフトウェアの機能を単位として見積もりを行う。・ビジネス機能を記述するものである・ユーザによって認識されるものである・FP値を測定するために利用するものである。・その物理的な表現はさまざまなものである。要求仕様であったり、詳細な仕様であったりする。→システムの内部の作り込みは対象外ってことですね。エンドユーザの要求となるビジネス的な概念と、開発者の技術的視点でのすり合わせを充分に行った上で、仕様を決定する。→これは、要件定義の難しいところでありますね。