ソフトウェア機能規模計測法 「fs(ファンクションスケール ... ·...
TRANSCRIPT
Copyright 2013 FUJITSU LIMITED
ソフトウェア機能規模計測法
「FS(ファンクションスケール)法」のご紹介
2013年4月30日
富士通株式会社
Copyright 2013 FUJITSU LIMITED
目次
ファンクションスケール(FS)とは
1.従来のソフトウェア規模尺度の課題
2.ファンクションスケール(FS)法
2.1 計測対象モデル
2.2 計測のタイミング
2.3 FS計測法(オンライン、バッチ、帳票)
2.4 開発初期段階でFSを算出する方法
3.FSと実測規模の相関
4.FSのマネジメントへの活用
5.公開情報
1
2 Copyright 2013 FUJITSU LIMITED
FSとは、 ソフトウェアの規模を機能の量で表すモノサシである。 簡単に機能規模を計れ、( 1画面、1ジョブ、1帳票あたり5分程度/計測単位)、かつ、誰が計っても結果が同じとなる計測方法を目指している。
ファンクションスケール(FS)とは
Copyright 2013 FUJITSU LIMITED
1.従来のソフトウェア規模尺度の課題
従来のソフトウェア規模尺度
の課題
3
4 Copyright 2013 FUJITSU LIMITED
1.従来のソフトウェア規模尺度の課題
ソフトウェアの生産性評価
ソフトウェアの見積 (費用・工数)
ソフトウェア規模 の尺度
何が問題?
・ ・ ・
ソフトウェアの品質評価
5 Copyright 2013 FUJITSU LIMITED
1.従来のソフトウェア規模尺度の課題
機能規模計測 ファンクションスケール法(FS法)
3.機能規模FP法などで計測する時の課題 ●計測のためにスキル(技術習得)が必要
●計測に時間がかかる
●計測者の主観により結果に相違
2.画面・帳票数を使うことの問題 ●難易度の評価基準が曖昧になりがち
1.SLOCを使うことの問題 (機能規模の問題点、見積の問題) ●ソフトウェアを購入する利用者から見ると分かり難い(100KSですといわれても・・・) ●言語や開発ツールにより異なり共通の尺度にならない ・ステップで全ては計れない言語が出てきている(VB等) ・複数の言語での開発が普通になりつつある(View層とControl/Model層で違う) ●完了しないと正確には計測できない ・自動生成部分との分離計測が難しい(出来てない) ・見積り値は経験から推定 ●規模の増加分が説明しずらい(画面のボタン機能の追加や項目追加) ●作業量/価値に対応しない(優秀なプログラマほどコンパクトに作る)
Copyright 2013 FUJITSU LIMITED
ファンクションスケール(FS)法
2.ファンクションスケール(FS)法
6
Copyright 2013 FUJITSU LIMITED
帳票
DB
フロント系 バック系
③ FS計測法(帳票)
Client層 Web層 AP層 DB層
帳票
DB
2.1 計測対象モデル
①FS計測法(オンライン) ②FS計測法(バッチ)
FSの計測対象モデル ①オンライン:画面を保有し、リアルタイムで処理するアプリ
②バッチ :バックグランドで大量データを処理するアプリ
③帳票 :オンライン・バッチそれぞれから出力される帳票アプリ
7
8 Copyright 2013 FUJITSU LIMITED
2.2 計測のタイミング
手法/方法 商談時 ⇒ PJ計画時 ⇒
外部仕様 完了時
⇒ 内部設計
(共通機能括り 出し完了時)
⇒ PJ完了時
実績 比較検証
FS計測法 × × ○ ○ -
開発初期段階でFSを算出する方法
× ○ - - -
その他 類推法、
デルファイ法等による見積
- - - -
FSの規模計測には、開発初期段階でFSを算出する方法、FS計測法の2つがある。
開発初期段階でFSを算出する方法は、プロジェクト開始時や画面設計、ジョブ設計、帳票設計を行う前段階で機能規模を計測する方法である。 概算FS計測には、実現機能を画面、ジョブ、帳票のランクから選択する方法と画面遷移パターンで選択する方法からなる。
FS計測法は、外部仕様を取り決める過程において、機能仕様が明確になった段階で、オンライン、バッチ、帳票の機能規模を計測する手法である。
Copyright 2013 FUJITSU LIMITED
FS計測法
2.3 FS計測法
9
Copyright 2013 FUJITSU LIMITED
※Webブラウザ上のタイトルは計上しない
※システムボタンは計上しない
No
ラベル名 コントロール FS
1 ファイル、 ヘルプ
プルダウン 30*2
2 検索年 ディスプレイフィールド 5
3 年増減 スピンボタン 10
4 検索 ボタン(検索) 100
5 結果表示 リストボックス 30
6 月、日 プルダウン
(相関チェック有)
30*2
+10*2
7 祝祭日名 エディットフィールド 15
8 新規 ボタン(登録) 130
9 更新 ボタン(更新) 150
10 削除 ボタン(削除) 115
11 確定 ボタン(更新) 150
12 複写 ボタン(検索) 100
13 閉じる ボタン 5
14 祝祭日詳細, 2003, メッセージ 領域
ディスプレイフィールド
5*3
計 965
(1)
(4)
(5)
(13)
(10) (9) (8)
(11) (12)
(7) (6) (6)
(3) スピンボタン:
ラジオボタンと同等として計上
(2)
(14)
(14)
2.3 FS計測法 ①オンライン -事例1-
計測例 《検索+編集画面》
10
Copyright 2013 FUJITSU LIMITED
2.3 FS計測法 ①オンライン -事例2-
計測例《検索+一覧表示》 No コントロール 数 FS
値
①
エディットフィールド 1 15
相関チェック 0 0
② ディスプレイフィールド 2
1 105
③
ラジオボタン 0 0
相関チェック 0 0
④
チェックボックス 0 0
相関チェック 0 0
⑤
リストボックス 0 0
相関チェック 0 0
⑥ スプレッド 1 10
⑦ タブコントロール 0 0
⑧ ボタン
検索 1 100
登録 0 0
更新 0 0
削除 0 0
帳票出力 0 0
遷移 4 80
表示変更 0 0
⑨ 初期表示 0 0
計 29
310
検索
遷移② 遷移③ 遷移④
スプレッド
① ② ④
⑤ ⑥ ⑦ ⑧ ⑨ ⑪ ⑩ ⑫
⑬ ⑭ ⑮
⑰ ⑱ ⑲ ⑯
⑳ 21
③
ディスプレイフィールド
遷移① エディットフィールド
11
Copyright 2013 FUJITSU LIMITED
(参考)ファンクションスケール値の比較(画面1と画面2)
ファンクションスケール値で規模計測をすることで、機能規模が把握でき、画面の見た目で誤魔化されない。
画面1 画面2
965fs 310fs
画面1は画面2の約3倍の機能規模
12
Copyright 2013 FUJITSU LIMITED
2.3 FS計測法 ①オンライン -FS基準値-
FS計測(オンライン)基準一覧
コントロール(コンポーネント、オブジェクト) FS計測(オンライン)基準値
① エディットフィールド 15
エディットフィールド相関チェック 10
② ディスプレイフィールド 5
③ ラジオボタン 10
ラジオボタン相関チェック 10
④ チェックボックス 10
チェックボックス相関チェック 10
⑤ リストボックス 30
リストボックス相関チェック 10
⑥ スプレッド 10
⑦ タブコントロール 5
⑧ ボタン
遷移のみ 20
表示変更 5
検索 100
登録 130
更新 150
削除 115
帳票出力 180
⑨ 初期表示 100
13
Copyright 2013 FUJITSU LIMITED
2.3 FS計測法 ②バッチ -事例-
計測例
(1)資材一覧を全て読み込む。
(2)受注一覧を全て読み込む。
(3)読み込んだ受注情報から必要となる資材を足し合わせ、資材が足りるかチェックする。
(4)資材が足りる場合は、資材から必要となる資材を差し引き、資材を更新し、資材使用ファイルと資材使用明細を作成し、作業指示作成処理(別紙1参照)を行い、作業指示、作業指示詳細を作成する。
出力処理入力
(1)資材一覧を全て読み込む。
(2)受注一覧を全て読み込む。
(3)読み込んだ受注情報から必要となる資材を足し合わせ、資材が足りるかチェックする。
(4)資材が足りる場合は、資材から必要となる資材を差し引き、資材を更新し、資材使用ファイルと資材使用明細を作成し、作業指示作成処理(別紙1参照)を行い、作業指示、作業指示詳細を作成する。
出力処理入力
資材
受注一覧 資材使用
資材使用明細
作業指示
作業指示詳細
作業作成処理
R
R C
C
C
C
資材U
14
Copyright 2013 FUJITSU LIMITED
2.3 FS計測法 ②バッチ -FS基準値-
FS計測(バッチ)基準一覧
アクセス種類、帳票処理 FS計測(バッチ)基準値
C(ファイル作成・登録) 30
R(読込) 40
U(更新) 50
D(削除) 20
帳票出力 180
15
Copyright 2013 FUJITSU LIMITED
2.3 FS計測法 ③帳票 -FS基準値-
FS計測(帳票)基準一覧
FS計測(帳票)基準一覧
項目数 FS値 項目数 FS値 1 ~ 20 90 121 ~ 140 630
21 ~ 40 180 141 ~ 160 720
41 ~ 60 270 161 ~ 180 810
61 ~ 80 360 181 ~ 200 900
81 ~ 100 450 201 ~ 220 990
101 ~ 120 540 221 ~ 1080
テーブル係数基準一覧
テーブル数 0 ~ 4 5 ~ 8 9 ~ 12 13 ~ 係数 1.0 1.1 1.2 1.3
16
Copyright 2013 FUJITSU LIMITED
開発初期段階でFSを算出する
方法
2.4 開発初期段階でFSを算出する方法
17
Copyright 2013 FUJITSU LIMITED
2.4 開発初期段階でFSを算出する方法 (オンライン)
開発初期段階でFSを算出する方法の考え方
①標準モデル画面に近い場合 ・「ランク別概算FS計測」
②イベント数が標準モデル画面に比べて多く補正が必要な場合。 ・「イベント数補正概算FS計測」
オンライン開発初期段階でFSを算出する方法には、「ランク別概算FS計測」と、イベント数が標準モデル画面に比べて多いため、それを補正する「イベント数補正概算FS計測」がある
18
Copyright 2013 FUJITSU LIMITED
2.4 ランク別概算FS計測
(1)概算FS値の算出方法 概算FS値は下記の様にして計測する 概算FS値 = Aランクの概算FS基準値 × Aランクの業務処理数 + Bランクの概算FS基準値 × Bランクの業務処理数 + Cランクの概算FS基準値 × Cランクの業務処理数 + Dランクの概算FS基準値 × Dランクの業務処理数 (2)機能の考え方 本章での「機能」は以下の定義とする。
ユーザの要求により、データにともなう処理を行い、その結果を返すことで完結するものである。この一連の流れを1機能とする。
ランク別FS概算計測は、画面を4つのランク(ABCDランク)に分けて算出するものである。
19
Copyright 2013 FUJITSU LIMITED
検索 : 検索条件から、検索を行い、検索結果を示すまでを検索画面とする。
参照 : 検索画面と同じ。
登録 : 登録情報から登録を行い、登録結果を示すまでを登録画面とする。
更新 : 更新情報から更新を行い、更新結果を示すまでを更新画面とする。
その他 : 検索・参照・登録・更新を行わない、メニュー画面などとする。
画面の処理ごとにランク付けを行い、それに対する概算FS基準値を設ける。
2.4 画面ランクと概算FS値
画面ランク 検索 or 参照 登録 or 更新 概算FS基準値
A ○ ○ 800
B × ○ 600
C ○ × 400
D × × 200
20
Copyright 2013 FUJITSU LIMITED
2.4 ランク別画面例 -オンライン-
Aランク(800 FS)画面のイメージ
画面名 受注伝票更新削除
エディットフィールド 12
相関チェック数 0
ディスプレイフィールド 5
ラジオボタン 1
相関チェック数 0
チェックボックス 0
相関チェック数 0
リストボックス 0
相関チェック数 0
スプレッド 1
タブコントロール 0
検索 1
登録 0
更新 1
削除 1
帳票出力 0
遷移のみ 10
表示変更 2
初期表示 0
FS値[FS] 800
イベント数:3個(検索,更新,削除) DBアクセスしないボタン:12個
21
Copyright 2013 FUJITSU LIMITED
2.4 イベント数補正概算FS計測
イベント数補正概算FS計測(オンライン)は、イベント数が「標準モデル画面」に比べて多く補正が必要な場合に行う。
※ イベント数とは、DBアクセスするイベントの数(検索、登録、更新、削除の数)とする。
イベント数による補正式 画面ランク FS基準値 標準イベント数を超えた イベント分の補正値 Aランク 800 + (n – 3) * 140 Bランク 600 + (n – 2) * 140 Cランク 400 + (n – 1) * 140 Dランク 200 + (0 – 0) * 140
※ n = イベント数(DBアクセスをするイベント数)
青字の3,2,1,0は、それぞれAランク、Bランク、Cランク、Dランクの標準イベント数
22
Copyright 2013 FUJITSU LIMITED
ジョブの処理ごとにランク付けを行い、それに対する概算FS基準値を設ける。
2.4 概算FS計測 -バッチ-
ジョブランクと概算FS値
ジョブランク テーブル、ファイル数 概算FS基準値
A 16 ~ 1100
B 11 ~ 15 800
C 6 ~ 10 500
D 0 ~ 5 200
※ テーブル、ファイル数は設計完了(外部設計完了)を想定した数。
23
Copyright 2013 FUJITSU LIMITED
2.4 概算FS計測 -帳票-
帳票ランクと概算FS値
機能に帳票処理がある場合は、1帳票につき、概算FSを付ける。
帳票ランク 概算FS基準値
一定 200
24
Copyright 2013 FUJITSU LIMITED
FSと実測規模の相関
3.FSと実測規模の相関
25
26 Copyright 2013 FUJITSU LIMITED
3.1 FSと実測規模の相関
相関係数 0.91 相関係数 0.69 > ファンクションスケールによる計測の方が、
従来のSLOCによる見積より、強い相関関係を持つ。
FS計測 従来見積り
実績SLOC 実績SLOC
FS規
模(F
S)
見積
りSLO
C
Copyright 2013 FUJITSU LIMITED
FSのマネジメントへの活用
5.FSのマネジメントへの活用
27
28 Copyright 2013 FUJITSU LIMITED
5. 見積りの考え方(見積りの対象と見積りかた)
概要
システム/ ソフトウェアの 開発、 および 開発に伴う 作業の見積り
見積の要素
システム 構築 作業
コスト
カテゴリ
システム要件 および
アプリケーション
機能1
機能2
機能3
機能4
システム基盤 運用・保守 移行・展開
開発支援
アプリケーション基盤
要件定義、 外部設計
内部設計~ 結合テスト
システムテスト、運用テスト
作業量の 積算
作業量の 積算
規模を 基にした
係数見積り
作業量の積算
開発機器、 事務所、通信 費等の見積り
経費
OS/ ミドルウェア
ハードウェア
ハード、OS、 ミドルウェア 製品の価格 見積り
科目単位の積み上げ
構成品毎の積み上げ
構成品毎の積み上げ
見積りの範囲
見積りの対象と見積りかたの考え方を、工程・カテゴリを用いて示す。
予備
プロジェクトマネジメント
リスク対応 コンティンジェンシー予備
Copyright 2013 FUJITSU LIMITED
仕様
FS法による 機能規模計測
プロジェクト特性にあった工数モデルを使ってFS値から工数を算出。 さらに工数変動要因(仕様の確定度、品質の要求度、スキル等)で補正
WBS積み上げ
現行見積り (類推法など)
工数 金額
複数の見積り手法で検証を行うことによって、見積り要素の抜けや漏れを防ぐことができる
5.複数の手法で見積結果を検証
相互検証
29
Copyright 2013 FUJITSU LIMITED
0%
10% 20%
30% 40% 50% 60%
70%
FS範囲
画面
数率
FS平均値:1143
Aプロジェクト(画面数80)
0% 10%
20%
30%
40% 50%
60% 70%
FS範囲 画
面数
率
FS平均値:225
Bプロジェクト(画面数121)
事例:Aプロジェクト リスク高
画面が複雜、機能多の割合が多い!(グラフで判断可)
・短期開発が可能
(同一フレームワークの
再利用なら問題なし)
・短期開発は困難
高スキル要員の配置必須
型決めのやり直し要求(難しいが・・・)
5.マネジメントへの活用(その1)
★設計段階で開発リスク判定可能【リスクの見える化】
1画面の機能大(リスク高)
30
Copyright 2013 FUJITSU LIMITED
★規模計測(FS計測時点) 設計リスクチェック
外部設計書
?
チェック項目は?
(単項目チェック? 相関チェック?)
イベント定義は?
(ボタンを押した時の動きの記載が不十分?)
上流工程の設計品質確保
外部設計書レベルの記述のあいまいさや漏れなどの不備が顕在化
5.マネジメントへの活用(その2)
31
Copyright 2013 FUJITSU LIMITED
FS
ユーザインタフェース設計の確定状況を把握:予定どおりの進捗か、顧客要件が増加していないかの関係者納得度が取り易い。
予定開発量を超えそうだ!
どう手をうつか。
5.マネジメントへの活用(その3)
★「設計の確定度合い」が判定可能
32
Copyright 2013 FUJITSU LIMITED
公開情報
6.公開情報
33
Copyright 2013 FUJITSU LIMITED
6. 公開情報
1.日経SYSTEMS 2007年7月号の『見積もり技術』特集記事
2.『ソフトウェア開発見積りガイドブック ~ITユーザとベンダにおける定量的見積りの実現~ 』
3.『ソフトウェア改良開発見積りガイドブック ~既存システムがある場合の開発~ 』
(ソフトウェア・エンジニアリング・センター(SEC) 発行)
富士通の見積り手法としてFS(ファンクションスケール)法を事例紹介しています。
4.富士通 ファンクションスケール法 公開サイト
※以下の資料がダウンロードできます
・ソフトウェア機能規模計測手法『ファンクションスケール法』ご紹介
・ファンクションスケール法測定マニュアル
URL: http://jp.fujitsu.com/solutions/sdas/fs/
34
35