ソフトウェア機能規模測定法 「ファンクションス...

Preview:

Citation preview

2019年3月12日

富士通株式会社

ソフトウェア機能規模測定法 「ファンクションスケール(FS)法」

ご紹介

Copyright 2019 FUJITSU LIMITED

目次

ファンクションスケール(FS)とは

1.従来のソフトウェア規模尺度について

2.ファンクションスケール(FS)法

2.1 FS法が測定対象としている処理形態

2.2 FS法の測定タイミング

2.3 FS測定法(オンライン)

2.4 FS測定法(帳票)

2.5 FS測定法(バッチ)

2.6 改良開発への対応

3.ファンクションスケール概算法

4.FSと実測規模の相関

5.FSのマネジメントへの活用

6.公開情報 Copyright 2019 FUJITSU LIMITED 1

Copyright 2019 FUJITSU LIMITED

ファンクションスケール(FS)とは

2

ファンクションスケール(FS)とは

Copyright 2019 FUJITSU LIMITED

■FSとは、 「顧客要件に含まれる機能の量を表す尺度である」

FS法とは ソフトウェアの機能が画面や帳票の項目などに写像されることに着目し、それらを測定することでソフトウェアの機能量を定量化する手法である。FS法の測定ルールに従って、対象となるソフトウェアの規模を測定した結果をFS値と呼ぶ。

FS法の特徴 ・利用者の視点(外部仕様)で機能量が測定できる ・機能の増減を定量的に評価できる ・測定が簡単(誰でも測定できる) ・短時間(1画面5分程度)で測定できる ・共通的な規模尺度(誰が測っても同じ値)として利用可能

3

Copyright 2019 FUJITSU LIMITED

1.ソフトウェア規模尺度について

4

1.1 ソフトウェア規模は、プロジェクトマネジメントの尺度のベース

Copyright 2019 FUJITSU LIMITED

ソフトウェアの生産性評価

ソフトウェアの見積 (費用・工数)

・ ・ ・

ソフトウェアの品質評価

ソフトウェア規模 は様々な尺度として

使われている

5

1.2 従来のソフトウェア規模尺度の問題

Copyright 2019 FUJITSU LIMITED

■ SLOC (Source Lines Of Code) ●ソフトウェアを購入する利用者から見ると分かり難い(100KS ですと言われても・・・) ●言語や開発ツールにより異なり共通の尺度にならない ・ソースステップだけでは、全てのソフトウェア規模を表せなくなってきた ・複数の言語での開発が普通になりつつある(View層とControl/Model 層で違う) ●完了しないと正確には測定できない ・自動生成部分との分離計測が難しい(出来ていない) ・見積り値は経験から推定 ●規模の増加分が説明しづらい(画面のボタン機能の追加や項目追加) ●作業量/価値に対応しない ・ 開発者によって異なる(優秀なプログラマほどコンパクトに作る など)

6

1.2 従来のソフトウェア規模尺度の問題

Copyright 2019 FUJITSU LIMITED

機能規模測定 ファンクションスケール法(FS法)

■ 機能規模(FP法などで測定) ●測定のためにスキル(技術習得)が必要

●測定に時間がかかる

●測定する人の主観により結果に相違

■ 画面・帳票数・・・ ●難易度の評価基準が曖昧になりがち

これらの問題を解決できないだろうか?!

7

Copyright 2019 FUJITSU LIMITED

2.ファンクションスケール(FS)法

8

2.1 FS法が測定対象としている処理形態

Copyright 2019 FUJITSU LIMITED

帳票

DB

フロント系 バック系

② 帳票処理

Client層 Web層 AP層 DB層

帳票

DB

① オンライン処理 ③ バッチ処理

①オンライン処理 :画面を保有し、リアルタイムで処理する形態

②帳票処理 :オンライン・バッチそれぞれから出力される帳票

③バッチ処理 :バックグランドで大量データを処理する形態

⇒ FS測定法(オンライン) ⇒ FS測定法(帳票) ⇒ FS測定法(バッチ)

9

Copyright 2019 FUJITSU LIMITED

手法/方法 商談時 ⇒ PJ計画時 ⇒ 外部仕様 完了時

⇒ 内部設計 (共通機能括り 出し完了時)

⇒ PJ完了時 実績

比較検証

FS法 × × 〇 〇 〇

FS概算法 × 〇 - - -

類推法、 デルファイ法等による見積

FS概算法:プロジェクト計画時にFS値を推定する方法

FS法は、外部仕様を取り決める過程において、機能仕様が明確になった段階で、オンライン、帳票、バッチの機能規模を計測する手法である。

FS概算法は、プロジェクト開始時や画面設計、ジョブ設計、帳票設計を行う前段階でFS値を推定する方法である。 FS概算法では、画面は機能特性より選択、ジョブはランクより選択し、帳票は一定値を用いる。

2.2 FS法の測定タイミング

凡例 〇 : 適用可 × : 適用不可 - : 範囲外

10

2.3 FS測定法(オンライン)

FS測定法(オンライン)ではオンライン処理の画面上のコントロールに機能が写像されると考え、そのコントロールを数えることによりソフトウェアの規模を測定する。

Copyright 2019 FUJITSU LIMITED

ソフトウェア機能とコントロール

11

2.3 FS測定法(オンライン)

(1)測定要素と基準値 測定要素

基準値 測定要素種別 測定要素細目

コントロール

エディットフィールド 15

ディスプレイフィールド 5

ラジオボタン 10

チェックボックス 10

リストボックス 30

グリッド 10

タブコントロール 5

ボタン

(注2)

検索 100

登録 130

更新 150

削除 115

帳票出力 ー (注1)

ファイル出力 180

遷移のみ 20

表示変更 5

非活性コントロール 5

相関チェック 10

初期表示 100

Copyright 2019 FUJITSU LIMITED

注1: 帳票出力ボタンは、「遷移のみ」と見なして測定する。帳票自体のFS値は、別途、FS測定法(帳票)で測定する。

注2: バッチ起動を目的としたボタンは、「遷移のみ」と見なして測定する。バッチ自体のFS値は、別途、FS測定法(バッチ)で測定する

12

2.3 FS測定法(オンライン)

(2)測定例 ① 《検索+編集画面》

Copyright 2019 FUJITSU LIMITED

※Webブラウザ上のタイトルは計上しない

※システムボタンは計上しない

(リストボックス)

(表示変更)

(削除ボタン)

(更新ボタン)

(登録ボタン)

(更新ボタン)

スピンボタン:

ラジオボタンと同等として計上

(ディスプレイフィールド)

(ディスプレイフィールド)

確定

コントロール 数 FS値

エディットフィールド 1 15

ディスプレイフィールド 4 20

ラジオボタン 1 10

チェックボックス 0 0

リストボックス 5 150

グリッド 0 0

タブコントロール 0 0

ボタン

検索 2 200

登録 1 130

更新 2 300

削除 1 115

帳票出力 0 0

ファイル出力 0 0

遷移のみ 0 0

表示変更 1 5

非活性コントロール 0 0

相関チェック 2 20

初期表示 0 0

計 965FS

(エディットフィールド)

(プルダウン)

(ディスプレイ

フィールド)

(プルダウン)

(検索ボタン)

(検索ボタン)

13

2.3 FS測定法(オンライン)

(2)測定例 ② 《検索+一覧表示》

Copyright 2019 FUJITSU LIMITED

検索

遷移② 遷移③ 遷移④

グリッド

① ② ④

⑤ ⑥ ⑦ ⑧ ⑨ ⑪ ⑩ ⑫

⑬ ⑭ ⑮

⑰ ⑱ ⑲ ⑯

26 27

ディスプレイフィールド①~27

遷移① エディットフィールド

⑳ 21 22 23 24 25

コントロール 数 FS値

エディットフィールド 1 15

ディスプレイフィールド 27 135

ラジオボタン 0 0

チェックボックス 0 0

リストボックス 0 0

グリッド 1 10

タブコントロール 0 0

ボタン

検索 1 100

登録 0 0

更新 0 0

削除 0 0

帳票出力 0 0

ファイル出力 0 0

遷移のみ 4 80

表示変更 0 0

非活性コントロール 0 0

相関チェック 1 10

初期表示 0 0

計 340FS

14

(3)FS測定結果の比較(測定例1と測定例2)

ファンクションスケール法で規模を測定することで、機能規模が把握でき、画面の見た目に左右されない。

測定例1 《検索+編集画面》

測定例2 《検索+一覧表示》

965 FS 340 FS

Copyright 2019 FUJITSU LIMITED

「測定例1画面」は「測定例2画面」の約3倍の機能規模

2.3 FS測定法(オンライン)

15

2.4 FS測定法(帳票)

Copyright 2019 FUJITSU LIMITED

FS測定法(帳票)では、帳票処理の帳票の表示項目に機能が写像されると考え、帳票上の項目を数えることによりソフトウェアの規模を測定する。

ソフトウェア機能と表示項目

16

2.4 FS測定法(帳票)

(1)測定要素と基準値

Copyright 2019 FUJITSU LIMITED

処理形態 測定要素 基準値

帳票

表示項目 5

帳票作成 100

17

2.4 FS測定法(帳票)

(2) 測定例

Copyright 2019 FUJITSU LIMITED

測定要素 数 FS値

表示項目 5 25

帳票作成 1 100

計 125FS

18

2.5 FS測定法(バッチ)

Copyright 2019 FUJITSU LIMITED

FS測定法(バッチ)では、バッチ処理のソフトウェアが持つ機能は、テーブル/ファイルのアクセス種類に機能が写像されると考え、アクセス種類を数えることによりソフトウェアの規模を測定する。

ソフトウェア機能とアクセス種類

APサーバー DBサーバー

資材使用

資材使用明細

資材一覧

受注一覧

資材使用

資材明細

資材一覧読込

受注一覧読込

資材差し引き

ソフトウェア

バッチスケジューラ

機能がアクセス種類に写像

CR U D

:機能

アクセス種類

C:Create(作成・登録)

R:Read(読込)

U:Update(更新)

D:Delete(削除) :起動指示

(バッチ処理の典型例)

アクセス種類

19

2.5 FS測定法(バッチ)

(1)測定要素と基準値

Copyright 2019 FUJITSU LIMITED

測定要素 基準値

アクセス種類

C(ファイル作成・登録) 30

R(読込) 40

U(更新) 50

D(削除) 20

帳票出力 -(注)

20

注: 帳票のFS値は、別途、FS測定法(帳票)で測定する。

2.5 FS測定法(バッチ)

(2)測定例

Copyright 2019 FUJITSU LIMITED

(1)資材一覧を全て読み込む。

(2)受注一覧を全て読み込む。

(3)読み込んだ受注情報から必要となる資材を足し合わせ、資材が足りるかチェックする。

(4)資材が足りる場合は、資材から必要となる資材を差し引き、資材を更新し、資材使用ファイルと資材使用明細を作成し、作業指示作成処理(別紙1参照)を行い、作業指示、作業指示詳細を作成する。

出力処理入力

(1)資材一覧を全て読み込む。

(2)受注一覧を全て読み込む。

(3)読み込んだ受注情報から必要となる資材を足し合わせ、資材が足りるかチェックする。

(4)資材が足りる場合は、資材から必要となる資材を差し引き、資材を更新し、資材使用ファイルと資材使用明細を作成し、作業指示作成処理(別紙1参照)を行い、作業指示、作業指示詳細を作成する。

出力処理入力

資材

受注一覧 資材使用

資材使用明細

作業指示

作業指示詳細

作業作成処理

R

R C

C

C

C

資材U

アクセス種別 数 FS値

C:Create(作成・登録) 4 120

R:Read(読込) 2 80

U:Update(更新) 1 50

D:Delete(削除) 0 0

計 250FS

21

改良開発においては、ソフトウェアは要求仕様により機能の追加、変更、削除が行われる。

FS法では、測定要素毎の変更種別(追加、変更、削除)を識別する。

・ 追加 : 機能が追加される事により新たな測定要素が追加されること

・ 変更 : 測定要素(例えばボタン)は変わらないが、それが持つ既存の機能が変更されること

・ 削除 : 既存の機能が不必要となったため、測定要素が取り除かれること

Copyright 2019 FUJITSU LIMITED

測定要素の追加、変更、削除例(オンライン処理:画面の場合)

2.6 改良開発への対応

22

2.6 改良開発への対応

通常ソフトウェアの開発には、新たに0からソフトウェアを開発する新規開発と既に存在するソフトウェアの機能を変更する改良開発がある。FS法では新規開発、改良開発で以下の規模を測定対象としている。

Copyright 2019 FUJITSU LIMITED

新規開発規模と全体規模 改良開発規模と全体規模

23

Copyright 2019 FUJITSU LIMITED

3.ファンクションスケール概算法

24

3.1 ファンクションスケール概算法とは

Copyright 2019 FUJITSU LIMITED

ファンクションスケール概算法とは、FS値(機能規模)を推定する手法である。 FS概算法では、測定要素を明確化できない要件定義段階や設計初期段階において、 その段階で認識可能な情報から、FS法のルールに従ってFS値を数値化する。

(1)FS値の推定方法 FS概算法では、オンライン、帳票、バッチの各々にFS値を推定するための基準(概算基準) を定めている。

■ オンラインの概算基準 ■ 帳票の概算基準 ■ バッチの概算基準

テーブル、

ファイル数 基準名 FS値

16 ~ バッチA 1100

11 ~ 15 バッチB 800

6 ~ 10 バッチC 500

0 ~ 5 バッチD 200

基準名 FS値

帳票 230

機能特性 基準名 FS値

検索 登録 or更新

○ ○ オンラインA 800

× ○ オンラインB 600

○ × オンラインC 400

× × オンラインD 200

25

Copyright 2019 FUJITSU LIMITED

4.FSと実測規模の相関

26

Copyright 2019 FUJITSU LIMITED

相関係数 0.91 相関係数 0.69 >

ファンクションスケールによる測定値の方が、 従来のSLOCによる見積りより、実績SLOCと強い相関関係を持つ

FS測定規模と実績SLOC 従来からの見積り規模と実績SLOC

実績SLOC

FS規模

(FS

)

見積り

SLO

C

27

実績SLOC

4.FSと実測規模の相関

Copyright 2019 FUJITSU LIMITED

5.FSのマネジメントへの活用

28

5.1 見積りに活用

Copyright 2019 FUJITSU LIMITED

概要

システム/ ソフトウェアの 開発、 および 開発に伴う 作業の見積り

見積の要素

システム 構築 作業

コスト

カテゴリ

システム要件 および

アプリケーション

機能1

機能2

機能3

機能4

システム基盤 運用・保守 移行・展開

開発支援

アプリケーション基盤

要件定義、 外部設計

内部設計~ 結合テスト

システムテスト、運用テスト

作業量の 積算

作業量の 積算

規模を 基にした 係数見積り

作業量の積算

開発機器、 事務所、通信 費等の見積り

経費

OS/ ミドルウェア

ハードウェア

ハード、OS、 ミドルウェア 製品の価格 見積り

科目単位の積み上げ

構成品毎の積み上げ

構成品毎の積み上げ

見積りの範囲

開発工程における係数見積りの規模として活用する

予備

プロジェクトマネジメント

リスク対応 コンティンジェンシー予備

29

5.2 複数の手法で見積結果を検証

本来、見積りは複数の見積り手法で検証を行うことによって、見積り要素の抜けや漏れを防ぐものである。その手法のひとつとしてFS法を活用する。

Copyright 2019 FUJITSU LIMITED

仕様

プロジェクト特性にあった工数モデルを使ってFS値から工数を算出。 さらに工数変動要因(仕様の確定度、品質の要求度、スキル等)で補正

工数 金額

相互検証

FS法による 機能規模計測

現行見積り (類推法など)

WBS積み上げ

30

5.3 マネジメントへの活用(その1)

設計段階で開発リスク判定可能【リスクの見える化】

Copyright 2019 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プロジェクト リスク高 複雜、機能大画面の割合が高い!(グラフで判断可)

・開発期間短縮が可能 ただし、規模小画面の生産性は注意 (規模:1/2は生産性:1/2ならず)

・規模大の画面は生産性見直しが必要 高スキル要員の配置必須 型決めのやり直し要求(難しいが・・・)

1画面の機能大(リスク高)

31

5.3 マネジメントへの活用(その2)

設計の確定度合が定量的に判定可能

Copyright 2019 FUJITSU LIMITED

FS

ユーザインタフェース設計の確定状況を把握:予定どおりの進捗か、顧客要件が増加していないかの関係者納得度が取り易い。

予定開発量を超えそうだ! どう手をうつか。

ユーザインタフェース設計 時に測定した FS値合計

日々の開発進捗をグラフ化

32

Copyright 2019 FUJITSU LIMITED

6.公開情報

33

日経SYSTEMS 2007年7月号の『見積もり技術』特集記事

『ソフトウェア開発見積りガイドブック

~ITユーザとベンダにおける定量的見積りの実現~ 』

『ソフトウェア改良開発見積りガイドブック ~既存システムがある場合の開発~ 』

(ソフトウェア・エンジニアリング・センター(SEC) 発行)

※ 富士通の見積り手法としてFS(ファンクションスケール)法を事例紹介しています。

富士通 ファンクションスケール法 公開サイト

※以下の資料がダウンロードできます

・ソフトウェア機能規模計測手法『ファンクションスケール法』ご紹介

・ファンクションスケール法測定マニュアル

URL: http://jp.fujitsu.com/solutions/sdas/fs/

Copyright 2019 FUJITSU LIMITED

6. 公開情報

34

Recommended