サポート > 見積作成ガイド

Wagbyが提供する見積作成機能

「この Wagby 定義ファイルから自動生成されるシステムを、仮に開発者に実装してもらうとしたら、いくらかかるのだろう?」

Wagby を使った開発を行った方が一度は考えるこの疑問にお応えするのが、この見積作成機能です。

貴方が作成した Wagby 定義ファイルの「価値」が一目でわかります。

対象となる見積部分

一般的なシステム開発の流れを大まかに区分すると、次のようになります。

上流工程
要求分析から外部設計までを指します。SE (システムエンジニア) がお客様とミーティングを行い、設計書を作成する工程です。 上流工程の成果物として「ファイル仕様」「画面遷移」「画面レイアウト」といった「外部設計書」を納品します。お客様がこの成果物内容を確認(レビュー)し、承認が得られれば次の下流工程に進みます。
下流工程
上流工程の成果物である設計書に記載された内容(仕様)に従って、システムの製造(プログラミング)とテストを行います。

ここで「Wagby定義ファイル」は、上流工程の成果物である「外部設計書」に相当すると考えられます。
この Wagby 定義ファイルを読み込んで、下流工程における製造および単体テストにかかる工数(金額)を算出します。

本見積作成機能には、次の内容は含まれませんのでご注意ください。
  • Wagby定義ファイルの作成に要した工数
  • Wagby定義ファイルが生成したプログラム以外の、カスタマイズ開発されるプログラム。(帳票レイアウトなども含む)
  • カスタマイズ開発されたプログラムを含めた総合テストや負荷テストの工数。
  • 操作手順書などのマニュアル開発に要する工数。
最終的なシステム開発費は、上記の項目がすべて含まれます。つまり Wagby が算出するコストは、全体の一部(製造・単体テスト)です。

使い方

  1. Wagby ビルダを起動し、ビルド処理を行ないます。
  2. メニューから「見積作成」を選択します。
  3. 以下の二つのパラメータを入力します。

    図1 見積作成のためのパラメータ入力欄
    人日単価(円)
    1日を8時間と換算したときの、1日あたりの作業単価です。
    生産性指標(時間/FP)
    1ファンクションポイント単位(1FP) の開発に要する時間です。この値が 1.0 の場合は、1 FP の開発に 1.0 時間かかるという意味です。 時間・分の数値は 10 進数で表記してください。(例 : 30 分の場合は 0.5 と入力します。)
  4. パラメータ入力後、計算ボタンを押下します。
  5. 各画面毎の項目数とファンクションポイント値、そして総ファンクションポイント数と価格が表示されます。

    図2 見積の表示(積算根拠となるファンクションポイント値も含む)

ファンクションポイントとは

見積作成には「ファンクションポイント法」を用いています。 ファンクションポイント(以下 FP と呼びます。)とは、ある機能を実現するための工数を数値化したものです。

Wagby では 1 FP を次のように定義しました。

詳細表示画面に、文字型項目を 1 つ追加する作業。

この作業は具体的に、次のようなプログラミングとなります。

  • データベース操作の記述。
  • HTML (JSP) の変更。
  • 単体テストおよびセキュリティテスト(SQLインジェクション、XSS脆弱性)

以上の考え方に基づき、項目の型に対して次の値を初期値としました。

項目毎の基本 FP 値
項目の型 識別キー FP値
文字型 cost.base.string 1.0
数値型 cost.base.basic 1.0
日付型 cost.base.dateTime 1.2
マスタモデル参照型 cost.base.masterref 1.5
ストアモデル参照型 cost.base.storeref 2.0

また、項目の「性質」によって、次の難易度係数を乗ずるようにしました。

項目毎の難易度係数
性質 識別キー 難易度係数
必須型 cost.base.rate.must 1.02
チェックボックス利用 cost.base.rate.checkbox 1.25
参照連動 cost.base.rate.ref 1.8
繰り返し項目 cost.base.rate.multiple 1.5
繰り返しコンテナ cost.base.rate.container 2.0
検索項目 cost.base.rate.condition 2.0

最後に、各画面毎の基本 FP 値と、難易度係数を次のように設定しました。

各画面毎の基本 FP 値と、難易度係数
画面種別 識別キー 基本 FP 値 難易度係数
詳細表示 cost.Show.base 4.0 1.0
一覧表示 cost.ShowList.base 8.0 1.0
一覧更新 cost.UpdateList.base 12.0 2.0
カレンダビュー cost.Calendar.base 10.0 1.0
集計ビュー cost.Total.base 10.0 1.0
マップビュー cost.Map.base 12.0 1.0
新規登録 (ウィザード利用) cost.InsertWizard.base 12.0 1.0
新規登録 cost.Insert.base 8.0 1.0
コピー登録 (ウィザード利用) cost.CopyWizard.base 12.0 1.0
コピー登録 cost.Copy.base 8.0 1.0
更新 (ウィザード利用) cost.UpdateWizard.base 12.0 1.0
更新 cost.Update.base 8.0 1.0
削除 cost.Delete.base 2.0 1.0
CSVダウンロード cost.Download.base 2.0 0.5
CSVアップロード一括更新 cost.UploadUpdate.base 16.0 2.0

計算例 (1)

詳細表示画面を作成。項目数は 10 で、すべて文字型の場合。

4.0 (詳細表示画面の基本FP) + 1.0 (文字型) x 10 (項目数) x 1.0 (画面毎の難易度) = 14.0

計算例 (2)

一覧更新画面を作成。項目数は 10 で、すべて数値型かつ必須の場合。

12.0 (一覧更新画面の基本FP) + 1.0 (数字型) x 10 (項目数) x 1.02 (必須型) x 2.0 (画面毎の難易度) = 32.4

ファンクションポイント計算に関するその他のルール

ファンクションポイントの計算時には、次のルールを適用しています。

  • Wagby が標準で提供するモデル(ユーザアカウント、グループなど)は除外します。
  • メインモデル - サブモデル関係を用意した場合、サブモデル側は除外します。

見積に関するその他のルール

見積金額の計算時には、次のパラメータを参照しています。

見積金額の計算に利用するパラメータ
パラメータ 識別キー
人日単価 price.perday 37900
生産性指標 productivity.perfp 1.0
プロジェクト管理費率 rate.management 0.10
消費税 rate.tax 0.05

「人日単価」と「生産性指標」は、Wagby ビルダの画面から入力する値です。

「プロジェクト管理費」は、開発費に一定の乗率(プロジェクト管理費率)を掛け合わせた金額です。 開発会社によっては、別の名称を用いたり、または管理費自体を申し受けていないところもあります。申し受けない場合は、この値を 0.0 としてください。

パラメータの変更

ここまで説明したパラメータは、$(DEVHOME)\env\template\estimate.properties ファイルに格納されています。 同ファイルをテキストエディタで編集・保存することで、貴社独自のパラメータへと調整することができます。

使用上のご注意

  • 本機能で算出した値は、システム開発費全体における「製造・単体テスト」部に限定されています。例えば「Wagby定義ファイルの作成に要したコスト」は含まれていません。製造費の目安としてご理解ください。
  • 本機能はあくまでも概算見積となっています。Wagby 定義ファイルに指定できる機能をすべて見積対象と扱っているわけではありませんので、ご注意ください。(つまり、実際の製造費はここで表示される金額よりも、さらに高くなる可能性があります。)