近年まれに見る羊頭狗肉さを誇るこのサイトだが、そろそろソフトウェア品質に関する記事も書かなくてはならない。ブックレビューの方が簡単に書けるもんだから、まったく趣旨と違う記事だらけになっている。今年こそっ・・・!
今日は、「Rayleighモデル」について。
さらりとWebを探しただけでは、Rayleighモデルについてびしっと説明した日本語のサイトはない。というより英語でもあまり見当たらない。少なくとも、無料のコンテンツは。探し方が悪いのかも知れないが、まともな適用例ともなると1件しか発見できなかった。
さらりとWebを探しただけでは、Rayleighモデルについてびしっと説明した日本語のサイトはない。というより英語でもあまり見当たらない。少なくとも、無料のコンテンツは。探し方が悪いのかも知れないが、まともな適用例ともなると1件しか発見できなかった。
SQuBOKの3.6.2.6によると、「Rayleighモデルとは、ソフトウェア全開発プロセスにおける障害率を表したモデル」であり、「m=2のWeibull分布」とある。
さっぱりわからないし、何故これが障害率を近似できるのかはまだ勉強が必要なのだが、とにかくWeibullモデルならWikipediaにも式が載っているので、曲線を描くことはできる。
EXCELでいうと、以下。
さっぱりわからないし、何故これが障害率を近似できるのかはまだ勉強が必要なのだが、とにかくWeibullモデルならWikipediaにも式が載っているので、曲線を描くことはできる。
EXCELでいうと、以下。
=K*(Tm^-2*T)*EXP(-((T/Tm)^2)/2)
Tが横軸。KとTmは定数で、それぞれ総障害数と、そのときの時間である。逆に言うと、時間Tmのときの障害がK件である(もちろん、時刻Tmに一気に障害がK件発生する、ということではない)。2つの定数が決まると、曲線も決まる。
グラフを示す。ここではSQuBOKと同様、横軸に工程を埋めている。
蛇足になるが、Rayleighモデルのグラフを描くにあたって、EXCELの以外な動作を二つ知った。
一つ目。次のような書き方ができるということ。
一つ目。次のような書き方ができるということ。
=3^-2
今まで「3^(-2)」と書いていた。ちょっと得した。でも可読性は低い。
二つ目。以下の数式をEXCELに入力してほしい。
二つ目。以下の数式をEXCELに入力してほしい。
=-3^2
わたしの直感ではこれは「-9」なのだが、実際には「9」。つまり「(-3)^2」と判断されており、「^」より「-」が強いということがわかる。これを知らなかったせいで、EXP(-x)が減衰曲線にならず、無駄に苦労した。