第 5 章 スコープマネジメントの実践
5.7 係数モデルによる規模見積もり
係数モデルによるシステムの規模見積もりでは,システムの機能数・内部処理数・ファイ ル数・画面数などをパラメータとした見積もりモデルを使ってシステムの規模を算出する.
本プロジェクトでは係数モデルとしてユースケースポイント法(以下,UCP 法と呼ぶ)
[15][16]とファンクションポイント法(以下,FP法と呼ぶ)[17][18]を利用し,それぞれのモデ
ルでのシステム規模見積もりを実施した.
5.7.1 UCP 法による規模見積もり
UCP法とは要件定義工程で作成するユースケース図を元に,システム規模を概算的に見積 もるための手法である.本プロジェクトでは,各ユーザストーリをユースケースとしてみな して,UCP法による工数見積りを行った.
UCP法では
調整前ユースケースポイント[Unadjusted UseCase Point] (以下,UUCPと呼ぶ)
技術要因[Technical Complexity Factor](以下,TCFと呼ぶ)
環境要因[Environmental Factor[(以下,EFと呼ぶ) を入力としてUCPを算出する.
UCPは式(1)で表される.
UCP = UUCP × TCF × EF (1)
UUCPはアクタの複雑度とユースケースの複雑度に対応する重みの積和をとったものであ る.TCFとEFは式(2),式(3)で定義される.
TCF = 0.6 + (0.01 × TFactor) (2)
EF = 1.4 + (−0.03 × EFactor) (3)
TFactorは内部処理の複雑度など 13 項目について6 段階の評価と各項目に対応する重み
の積和をとったものである.EFactorはアプリケーション開発経験やチーム体制などの8項 目について6段階の評価と各項目に対応する重みの積和をとったものである.
見積もりを行うにあたって,株式会社永和システムマネジメントを中心としたソフトウェ ア開発に関する技術について実践・研究・発表を行なっているグループ「オブラブ」[8]から 公開されている「Use Case Point 法による工数見積 Excel版」を使用した.[9]
本システムのUUCP, TFactor, EFactorの計算結果を,以下の表 5.8に示す.
表 5.8 本システムのUUCP, TFactor, EFactorの計算結果
UUCP TFactor EFactor
166 29 15
表 5.8と式(1),(2),(3)より,UCP法による本システムの規模見積もり値は140.4UCPとな った.5.8 節でこの値を基に工数を算出する.
5.7.2 FP 法による規模見積もり
FP法とは,1979年にAllan J. Albrechtによって提唱されたソフトウェア規模の計測手法で
ある.FP法は,システムの機能量を元にシステム規模を概算的に見積もる.FP法は,企業な
どによって異なる手法が用いられる場合があるが,最も利用される方法にIFPUG法がある.
IFPUG法ではシステム規模をデータ・ファンクションとトランザクション・ファンクション という2つに分けて考える.データ・ファンクションはデータのまとまりを表しており,内部 論理ファイル(以下,ILF),外部インターフェイスファイル(以下,EIF)の2種類がある.トラ ンザクション・ファンクションは計測境界外とのデータの入出力のことを表しており,外部 入力(以下,EI),外部出力(以下,EO),外部照会(以下,EQ)の3種類がある.IFPUG法では
表 5.9 各ファンクションの説明
名称 英語名 説明
デ ー タ・ ファ ンク ショ ン
外部インターフ ェースファイル
EIM:
External Interface File
計測対象アプリケーションで参照し かされないファイル
内部論理ファイ ル
ILF:
Internal Logical File
計測対象アプリケーション内でデー タの登録,変更,削除などの維持管理が なされるファイル
トラ ンザ クシ ョン
・フ ァン クシ ョン
外部入力 EI:
External Input
計測対象アプリケーション境界の外 から入力されたデータや制御情報に関 する処理を行う機能
外部出力 EI:
External Output
計測対象アプリケーション境界の外 に,データや制御情報を出力する要素処 理を行う機能
外部照会 EQ:
External Query
計測対象アプリケーション境界の外 部との入出力が一体となったデータ処 理であり,入力時にデータ・ファンクシ ョンを更新せず,出力時にもデータを加 工しないという2つの条件を満たした処 理を行う機能
図 5-6 IFPUG 法での各ファンクション間の関係
IFPUG法による計測が可能になるのは基本設計が終了してからである.そのため基本設計が 終了するまでは,FP数を計測するのではなく,推測するアプローチが求められる.
本プロジェクトでは,Netherlands Software Metrics Association(以下,NESMAと呼ぶ)[19]
が開発したFP法をより簡潔に見積もるための手法であるFP試算法とFP概算法を実施した.
(1) FP 試算法
この内,FP試算法は,データ・ファンクションの数のみでシステム規模を見積もるため,
かなり初期の段階でシステム規模を見積もることが可能である.FP試算法は以下,式(4) で 求めることが可能である.
𝐹𝑃 = ILF × 35 + EIF × 15 (4)
FP試算法による計算結果を以下の表 5.10に示す.
表 5.10 FP 試算法による計算結果
データファンクション ファンクションタイプ FP値
ユーザデータ ILF 35
評価データ ILF 35
スケジュールデータ ILF 35
FP試算法による本システムの規模見積もり値は105FPとなった.5.8節でこの値を基に工数を 算出する
(2) FP 概算法
FP概算法は,ファンクションの個数を想定できる段階において,各ファンクションに対し ての調整係数である複雑度を評価し,その結果を合算して全体のFPとする方法である.ファ ンクションを抽出した後,IFPUG法で用いられるFP数算出テーブルを利用して複雑度を評価す る.FP概算法の計算式を以下の式(5)に示す
𝐹𝑃 = ILF × 7 + EIF × 5 + EI × 4 + EO × 5 + EQ × 4 (5) FP概算法による計算結果を以下の表 5.11に示す.
表 5.11 FP 概算法による計算結果
ファンクションタイプ 個数 FP値
ILF 3 21
EIF 0 0
EI 16 64
EO 1 5
EQ 14 42
計算の結果,FP概算法による本システムの規模見積もり値は142FPとなった.5.8節でこの 値を基に工数を算出する