サポート > 見積作成ガイド
Wagbyが提供する見積作成機能
「この Wagby 定義ファイルから自動生成されるシステムを、仮に開発者に実装してもらうとしたら、いくらかかるのだろう?」
Wagby を使った開発を行った方が一度は考えるこの疑問にお応えするのが、この見積作成機能です。
貴方が作成した Wagby 定義ファイルの「価値」が一目でわかります。
対象となる見積部分
一般的なシステム開発の流れを大まかに区分すると、次のようになります。
- 上流工程
- 要求分析から外部設計までを指します。SE (システムエンジニア) がお客様とミーティングを行い、設計書を作成する工程です。 上流工程の成果物として「ファイル仕様」「画面遷移」「画面レイアウト」といった「外部設計書」を納品します。お客様がこの成果物内容を確認(レビュー)し、承認が得られれば次の下流工程に進みます。
- 下流工程
- 上流工程の成果物である設計書に記載された内容(仕様)に従って、システムの製造(プログラミング)とテストを行います。
ここで「Wagby定義ファイル」は、上流工程の成果物である「外部設計書」に相当すると考えられます。
この Wagby 定義ファイルを読み込んで、下流工程における製造および単体テストにかかる工数(金額)を算出します。
- Wagby定義ファイルの作成に要した工数
- Wagby定義ファイルが生成したプログラム以外の、カスタマイズ開発されるプログラム。(帳票レイアウトなども含む)
- カスタマイズ開発されたプログラムを含めた総合テストや負荷テストの工数。
- 操作手順書などのマニュアル開発に要する工数。
使い方
- Wagby ビルダを起動し、ビルド処理を行ないます。
- メニューから「見積作成」を選択します。
- 以下の二つのパラメータを入力します。
- 人日単価(円)
- 1日を8時間と換算したときの、1日あたりの作業単価です。
- 生産性指標(時間/FP)
- 1ファンクションポイント単位(1FP) の開発に要する時間です。この値が 1.0 の場合は、1 FP の開発に 1.0 時間かかるという意味です。 時間・分の数値は 10 進数で表記してください。(例 : 30 分の場合は 0.5 と入力します。)
- パラメータ入力後、計算ボタンを押下します。
- 各画面毎の項目数とファンクションポイント値、そして総ファンクションポイント数と価格が表示されます。
ファンクションポイントとは
見積作成には「ファンクションポイント法」を用いています。 ファンクションポイント(以下 FP と呼びます。)とは、ある機能を実現するための工数を数値化したものです。
Wagby では 1 FP を次のように定義しました。
この作業は具体的に、次のようなプログラミングとなります。
- データベース操作の記述。
- HTML (JSP) の変更。
- 単体テストおよびセキュリティテスト(SQLインジェクション、XSS脆弱性)
以上の考え方に基づき、項目の型に対して次の値を初期値としました。
| 項目の型 | 識別キー | 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 値 | 難易度係数 |
|---|---|---|---|
| 詳細表示 | 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 で、すべて文字型の場合。
計算例 (2)
一覧更新画面を作成。項目数は 10 で、すべて数値型かつ必須の場合。
ファンクションポイント計算に関するその他のルール
ファンクションポイントの計算時には、次のルールを適用しています。
- Wagby が標準で提供するモデル(ユーザアカウント、グループなど)は除外します。
- メインモデル - サブモデル関係を用意した場合、サブモデル側は除外します。
見積に関するその他のルール
見積金額の計算時には、次のパラメータを参照しています。
| パラメータ | 識別キー | 率 |
|---|---|---|
| 人日単価 | price.perday | 37900 |
| 生産性指標 | productivity.perfp | 1.0 |
| プロジェクト管理費率 | rate.management | 0.10 |
| 消費税 | rate.tax | 0.05 |
「人日単価」と「生産性指標」は、Wagby ビルダの画面から入力する値です。
「プロジェクト管理費」は、開発費に一定の乗率(プロジェクト管理費率)を掛け合わせた金額です。 開発会社によっては、別の名称を用いたり、または管理費自体を申し受けていないところもあります。申し受けない場合は、この値を 0.0 としてください。


