Smily Blog

「すまいりマンスリー」から引っ越しました。

Smily Books Blog 2017年10月更新中

初めて学ぶソフトウェアメトリクス ローレンス・H・パトナム(日経BP社)

1.中核メトリクス
(1)機能量(通常ソフトウェア規模であり、ソースコード行数やファンクションポイント数で計測)
(2)生産性
(3)時間
(4)工数
(5)信頼性(欠陥率あるいはバグ検出の間隔で表す)

2.古典的生産性
 1人日で10行、1人月で200行コーディング
 ただし人により10倍の格差があるため、1人月40〜400行の差がある

3.欠陥率のレベル分け
(1)致命的(Critical)
 プログラムが動かない、システム全体ダウン
(2)重大(Serious)
 出力できない、性能劣化、システム一時的なダウン
(3)中程度(Moderate)
 プログラム動作の一部に誤り
(4)表面的(Cosmetic)
 プログラムの機能、性能上影響のない欠陥(出力グラフのタイトル誤字など)

4.プロジェクトの大きさと開発工数
開発ピーク時5人以下に比べ、開発ピーク時20人以上のプロジェクトは平均して7倍の工数となる

5.スケジュールと見積もり工数(スケジュール達成確率は正規分布で考える)
(1)6ヶ月でプロジェクト完了させたい場合、6ヶ月そのままの工数割り当てだと50%の達成確率しか得られない
(2)90%の達成確率で完了させたい場合、まずは5.5ヶ月で完成するように工数を割り当てた(要員追加など)計画で実施する
(3)5.5ヶ月たっても完成していない確率は50%あるが、この0.5ヶ月をリスク用バッファとして異常事態用の保険とする

6.信頼性改善プロセス
(1)95%の信頼度を得るために実施した本体・構築フェーズ(詳細〜テストフェーズ)の後、信頼度を99%まで上げるには、
 本体・構築フェーズの1/4程度の時間をチェックに割り当て必要
(2)99%の信頼度を99.9%まで上げるには、更に本体・構築フェーズの1/4程度の時間をチェックに割り当て必要
 (95%から99.9%まで上げるには、本体・構築フェーズの1/2程度の時間が必要)

7.ソフトウェア開発プロセス
 12個のワークフローを全て4つのフェーズで考える
(1)ワークフロー
 ①ビジネス形態分析
 ②リスク管理
 ③構造設計(インタフェース、再利用可能コンポーネント)
 ④モデル分析(ユースケース、分析/設計/展開、テスト)
 ⑤ツール分析
 ⑥レビュー(コードインスペクション、判定基準、マイルストーン)
 ⑦テスト(テスト設計、テスト項目、欠陥摘出)
 ⑧構成管理(構成管理、変更管理)
 ⑨メトリクス測定(見積もり、入札、制御)
 ⑩再計画
 ⑪プロジェクトマネジメント
 ⑫顧客協調
(2)フェーズ
 ①方向づけ(コンセプトの定義)
 ②推敲(プログラムの定義)
 ③作成(ソフトウェア開発)
 ④移行

8.再利用コンポーネントの有効利用
(1)再利用の5段階
 ①第1段階:個人レベルの再利用
 ②第2段階:リポジトリからの再利用(利用率25%)
 ③第3段階:シリーズ物開発での再利用(利用率40%)
 ④第4段階:ERPシステム(パッケージ)による再利用(利用率75%)
 ⑤第5段階:ソフトウェアアーキテクチャ全体の再利用(利用率50→90%)
(2)再利用の要素
 ①ソフトウェアアーキテクチャ
 ②インタフェース
 ③変更機能
 ④プロセス
 ⑤モデリング言語
 ⑥ツール

9.中核メトリクスの性質(プログラムサイズ、工数と生産性)
・プログラムサイズ、工数は1983〜1997と減っている(約80→50KL/約165→60人月)が、その後大幅に増加(1998-2000は1995-1997の倍)
・1998-2000におけるビジネスシステムの平均プログラムサイズ、工数は約100KL/100人月
・生産性は1983〜1997は微増だが、1998-2000はむしろやや減少している

Remove all ads