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