• 検索結果がありません。

ファイル TEF東海メトリクス勉強会 Summary7 1 7 4 1

N/A
N/A
Protected

Academic year: 2018

シェア "ファイル TEF東海メトリクス勉強会 Summary7 1 7 4 1"

Copied!
15
0
0

読み込み中.... (全文を見る)

全文

(1)

演習で学ぶソフトウェアメトリクス

の基礎

第 7 章 欠陥に学ぶ

2011 年 10 月 10 日豊橋市民センター カリオンビル 小会議室

(2)

この章で学ぶこと

7.1  なぜ欠陥を学び、計るのか? 7.2  障害と故障

7.3  欠陥の法則性と振る舞い

 欠陥発見率 / 欠陥と工数の関係 / 欠陥と要員割り当ての関係  欠陥発見率とコードの生産率の関係

 欠陥密度とモジュール複雑度の関係 / 欠陥密度とシステム規模の関係 7.4  欠陥の予測技法とそのモデル

 動的欠陥モデル / 静的欠陥モデル

7.5  そのほかの欠陥ベンチマークデータ

 アプリケーションドメインごとの欠陥データ /  欠陥除去率( DRE )のベンチマーク

  SEI レベルと欠陥の関係 / 潜在欠陥 / 推奨事項 7.6  工程ごとの欠陥除去率のコスト効率

7.7  シンプルな欠陥メトリクスの定義と使用例 7.8  顧客から報告された欠陥に関する逆説

7.9  冒頭の質問に対する回答 7.10  まとめ

(3)

なぜ欠陥を学び、計るのか?

質問1:出荷から半年欠陥が見付かっていない、      喜んで良い?

質問2: CEO から「 99% のバグを発見しろ!」と言われた ら?

 - 上記を導き出すのが本章のテーマ

・欠陥へのイメージ(人で言うと「痛み」)

 ほとんどの人 ・・・ 良くないもの?

 ソフトウェア技術者 ・・・ 進捗、プロセス、品質の 兆候

※ 欠陥は目に見えて、数えられる⇒最良で役に立つデータ

※ 欠陥はパターンと法則性がある⇒多くの知見が得られる

でも、早く取 り除きたい!!

(4)

障害と故障

故障とは・・・

 障害箇所が実行されて、パフォーマンスが発揮できない 障害⇒欠陥メトリクス

故障⇒信頼性メトリクス

 ソースコードに欠陥があっても、その箇所が実行されない  ⇒ MTBF (平均故障間隔):無限大、可用性: 100 %  しかし、欠陥が 1 つだけでも、毎回実行されたら・・・   ⇒ MTBF : 0 に漸近、可用性: 0 %

※ 欠陥重大度の仕組みが必要

※ 製品等に影響のある欠陥に着目すること

どうでもいい障害は 相手にしない

(5)

欠陥の法則性と振る舞い

1.欠陥発見率(時刻ー欠陥発見率)

 ライフサイクルを時系列としてレイリー曲線に従う   ⇒ PJ 規模、プロセス成熟度、過去の履歴により予

測可

2.欠陥と工数の関係(工数ー欠陥数)  一般的に直線関係

 (但しプロセス、チームスキル、技術が一定が前提)  ※傾きを緩やかにしたい

 (工数あたりの欠陥数を削減する)

  ⇒プロセス改善、スキルアップ等により実現

(6)

欠陥の法則性と振る舞い

3.欠陥と要員割り当ての関係(時刻ー比率)  欠陥数は要員の工数と同じような曲線

 但し、欠陥は工数よりも後方にずれる(発見までの時 間)

4.欠陥発見率とコース生産率の関係(時刻ー比率)  工数比率、欠陥発見率、コード生産性⇒レイリー曲線

但し、正式テストの開始以降に 欠陥データの追跡を始めたなら、 欠陥発見率は指数曲線に従う

※ どこが指数曲線になってる?

(7)

欠陥の法則性と振る舞い

5.欠陥密度とモジュール複雑度の関係(複雑度ー欠 陥数)

 バスタブ曲線

 ※モジュールがバスタブの底(欠陥密度が低い)を 目指す

6.欠陥密度とシステム規模の関係

 欠陥数はコード行数(又は FP )に比例する

(8)

欠陥の予測技法とそのモデル

・「推定」と「予測」

 推定・・・モデルを得るためのパラメータを特定  予測・・・モデルを用いて目的変数の値を特定

・動的モデルと静的モデル

  動的モデル・・・欠陥の統計分布に基づいて欠陥 を予測

   ※欠陥データが必要⇒記録を開始しないと予測 不可

  静的モデル・・・プロジェクトとプロセスの属性 より予測

   ※欠陥データ不要⇒記録を始める前に予測可能

(9)

動的欠陥モデル

欠陥分布の方程式モデル

 ・レイリーモデル・・・開発ライフサイクル全体が対象  ・指数モデル、 S 字モデル・・・

   テストプロセス、システム導入プロセスを対象とする 分布関数

 ・確率密度関数( PDF )・・・

   所望時間の欠陥発見数  f ( t )  ・累計分布関数( CDF )・・・

   所望時間までの欠陥数の合計  F(t)

レイリー曲線と指数曲線の関数式(どちらもワイブル曲線) 

F’ (t) = f(t)

m

m

c t

c t m

e t

F

t e

c t m t

f

) / (

) / (

1 ) (

/

* ) / ( )

(

m=1  指数分布

m=2  レイリー分布

(10)

レイリーモデル

 

2 2

2 2

) 2

/ 1 (

) 2

/ 1 ( 2

1

)

(

)

/

1

(

)

(

t tm

t tm

e

K

t

F

te

tm

K

t

f

)

1

(

)

(

)

/

(

2

*

)

(

2

2

) / (

) (

2 c t

c t

e

K

t

F

e

c

t

K

t

f

40%

tm t 40%

tm

c  2

(11)

レイリーモデル

手法1:分布の推定ーきわめて簡単な手法

E x)1 週から 5 週の欠陥累計 223 個なので    K   =   223* ( 100/40 ) =557 、 tm=5   ここから関数式を求める

1 2 3 4 5 6 7 8 9

欠陥 20 41 48 52 62 59 52 44 33

※ 最初の 40% の欠陥がtmまでに発見されるパターンを利用

)

1

(

557

)

(

3

.

22

)

25

/

(

557

)

(

50 /

50 /

2

50 / 2 2

t

t t

e

t

F

te

e

t

t

f

(12)

レイリーモデル

手法 2 :分布の推定ー少しだけ複雑な手法

1 2 3 4 5 6 7 8 9

欠陥 20 41 48 52 62 59 52 44 33 K 510.1 446.9 478.9 516.4 511.1 505.0 494.8 494.5 463.2 平均  491.2

標準偏差  22.38 /50

)

2

(

25 f t e

t

K

*

25

*

20

)

25

/

1

(

20

20

)

1

(

)

50 / 1

50 / 1

e

K

e

K

f

ex

(13)

レイリーモデル

手法 3 :総欠陥数とスケジュールを与えたときの      欠陥分布の予測

)2

/ ( 2 3

))

/(

6

(

)

( t K T

d

te

t Td

f

Ex)  欠陥密度 10.53/KLOC 、開発規模 100KLOC    欠陥密度を 5% 改善可能な場合

    10.53 * 100 * 0.95 = 1000 個

(14)

指数関数、 S 字型の欠陥分布モデル

t

t

K

t

F ( )  1  ( 1   )

S 字型モデルの一例

)

(

)

(

)

1

(

)

(

t t

te

K

t

f

e

K

t

F

指数型モデルの一例

※ データポイントが得られたら、下記で K を推定  ・信頼性、統計分析ツールを使用

 ・複数のデータポイントで式を解く  ・エイ、ヤーで決める

(15)

実証データとアドバイス

・実証データ

 欠陥発見率はレイリー曲線に従う

・アドバイス

 1)記録を始めること

 2)単純なモデル、レイリーモデルを試し

て欲しい

参照

関連したドキュメント

目視によって塗膜欠陥の有無を調査し,欠陥が見られ

管の穴(bore)として不可欠な部分を形成しないもの(例えば、壁の管を単に固定し又は支持す

キャンパスの軸線とな るよう設計した。時計台 は永きにわたり図書館 として使 用され、学 生 の勉学の場となってい たが、9 7 年の新 大

本判決が不合理だとした事実関係の︱つに原因となった暴行を裏づける診断書ないし患部写真の欠落がある︒この

[r]

日本における社会的インパクト投資市場規模は、約718億円と推計された。2016年度の337億円か

3 学位の授与に関する事項 4 教育及び研究に関する事項 5 学部学科課程に関する事項 6 学生の入学及び卒業に関する事項 7

4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 2月 3月.