Upload
hironori-washizaki
View
222
Download
1
Embed Size (px)
Citation preview
測定によるソフトウェア品質への挑戦: コツ、事例、実態調査
早稲田大学グローバルソフトウェアエンジニアリング研究所 所長
国立情報学研究所 客員准教授
ISO/IEC/JTC1/SC7/WG20 Convenor
IEEE Computer Society Japan Chapter Chair
SEMAT Japan Chapter Chair
鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/
わしざき ひろのり
コンこん会 2015年6月27日
2
利用時の 品質
外部品質 内部品質
ソフトウェア システム 業務
……
……
……
……
……
……
どのように影響 しているのか?
どのように測定評価 すればよいのか?
ソフトウェア品質とメトリクス
• 測定の方法と尺度
• ソフトウェア品質: 使用時に必要性を満たす能力を決定する属性(測定可能な特徴)全体 [ISO25000]
• 成功率 31% → 定量的評価導入 46% [矢口08]
3 [矢口08] 矢口竜太郎, 吉田洋平: 成功率は31.1%, 日経コンピュータ12月1日号, 2008.
要求 定義
設計 実装 テスト
機能 仕様書
ファンクション ポイント
モジュール設計
凝集度 結合度
ソース コード
複雑度 コード行数
欠陥票
欠陥密度
テストケース
消化数
工数、期間
落とし穴「ホーソン効果」
4 nicolasdsampson.com, Observe And Learn: The Magic Of Paying Attention http://nicolasdsampson.com/wp-content/uploads/2012/10/2010_12_06_observe-learn-magic-paying-attention.jpg
コツ「ゴール指向&横への広がり」
5
鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25
[Adqua] http://www.ogis-ri.co.jp/product/b-08-000001A6.html
保守性
モジュール性 再利用性 修正性 ・・・
コールグラフ 階層の深さ
サイクロマテ ィック複雑度
関数内の 戻り点の数
処理が複雑 すぎないか?
処理が構造化 されているか?
…… … …… …
…… … …… …
・・・
・・・ ・・・
G. 目標
対象
M. メトリクス
Q. 質問
• Goal-Question-Metric(GQM)パラダイム
ヤフーとの共同研究 事例: 測定による保守性・機能性評価・改善
6 H. Nakai, et al. Initial Industrial Experience of GQM-based Product-Focused Project Monitoring with Trend Patterns, APSEC'14
落とし穴「有効な組織アクションに繋がっていない」
7
製品の信頼性や使いやすさを改善して、顧客満足度
を10%上げるぞ!
経営層
テスト効率を上げます。 保守性も改善させます。
開発部 不具合数、さらには、プログラムの複雑度を測定します。
品質保証部
落とし穴「有効な組織アクションに繋がっていない」
8
製品の信頼性や使いやすさを改善して、顧客満足度
を10%上げるぞ!
経営層
テスト効率を上げます。 保守性も改善させます。
開発部 不具合数、さらには、プログラムの複雑度を測定します。
品質保証部
コツ「縦に、アクションに繋げる」 GQM+Strategies
9
顧客満足度10%向上
製品の信頼性を改善する
製品の使いやすさを改善する
不具合指摘を20%削減
テスト効率を改善する
保守性を改善する
顧客満足度調査
不具合データ
プログラムの複雑さ
OG. 上位 組織目標
S. 戦略
S. 戦略
OG. 下位 組織目標
M. メトリクス
参考: Jens Heidrich, Adam Trendowicz, “測定を基にした、ソフトウェア戦略とビジネス目標の整合” IPA/SEC資料
M. メトリクス
10
リクルート住まいカンパニーとの共同研究 事例: 新規事業の組織目標、根拠、戦略の整合
落とし穴「未来が今の延長とは限らない」
11
コツ「仮定の明示とシステム改善」
12
計画
測定
評価
改善
N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
M. 呼び出し先 モジュール数
G. 変更されやすい 箇所を特定できている
Q. モジュールの依存 関係はどの程度か?
M. 呼び出し元 モジュール数
A. あちこちと依存するモ ジュールは変更されやすい
コマツとの共同研究 事例: 機械学習によるメトリクス・システム改善
13
10 25
300
150
M. 関数の数
M. 実
行行
数
OK
NG
71
M. 関数の数
M. 実
行行
数
OK
NG
△ OK, ○ NG
N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
ヤフーとの共同研究 事例: 開発中の(動的な)欠陥予測
予測欠陥数の変動 欠陥数と予測モデル
不確定性
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
時間変化
コツ「時間変化や不確定性を考慮した予測」
15 K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14 K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14
単位時間あたり欠陥数一定,不確定性増大
単位時間あたり欠陥数一定,不確定性一定
単位時間あたり欠陥数一定,不確定性減少
単位時間あたり欠陥数が離散的に変化,不確定性増大
単位時間あたり欠陥数が離散的に変化,不確定性一定
単位時間あたり欠陥数が離散的に変化,不確定性減少
単位時間あたり欠陥数増大,不確定性増大
単位時間あたり欠陥数増大,不確定性一定
単位時間あたり欠陥数増大,不確定性減少
-0.3
-0.2
-0.1
0
0.1
0.2
-15
-10
-5
0
5
10
15
0 0.2 0.4 0.6 0.8 1
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0
0.5
1
1.5
2
0 0.5 1
α①
0
0.5
1
1.5
2
0 0.5 1
α②
0
0.5
1
1.5
2
α③
不確定性
時 間 変 化
16
0.25
-0.2
0.15
-0.1
0.05
0
0.05
0.1
0.15
0.2
-15
-10
-5
0
5
10
15
0 0.5 1
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14
住友電工との共同研究
事例: ツール化とチーム共有
富士通との共同研究 事例: 工程・種類別の予測
0
50
100
150
200
250
300
350
400
450
500
0 8
16 24 32 40 48 56 64 72 80 88 96 104
112
120
128
136
144
152
160
168
176
184
192
200
208
216
224
232
240
248
256
264
272
280
288
296
304
312
320
328
336
344
Bu
g数
日数
Component Integration Test Unit Test Other HW-SW Integration Test PreFIT FIT Regression Test A1_ST1 B_ST1 A1_ST2
日数
欠陥数
0
100
200
300
400
500
600
0 100 200 300 400
Bu
g数
日数
全体への単純適用
Selected Data All GSRM
日数
欠陥数
0
100
200
300
400
500
600
0 100 200 300 400
Bu
g数
日数
工程・種類別の適用
Selected Data Separate GSRM
日数
欠陥数
まとめ • 品質把握と改善上のメトリクスの落とし穴へのコツ
– GQM ゴール指向と横の広がり
– GQM+Strategies 縦の整合とアクションへの繋がり
– 仮定の明示と改善
• 時間変化と不確定性を考慮した予測
– ツール化、実開発における意思決定の支援へ
– 時間変化、不確定性の有用性検証はこれから
IPA/SECセミナー 7月29日 http://sec.ipa.go.jp/seminar/ 『ゴール指向経営』で的を射たIT投資、利益を生む組織に
「GQM+Strategies」の活用で組織内の整合性確保と定量的管理を実現
早稲田大学・Fraunhofer IESE ほか 9月4日(予定)
「ソフトウェア品質とゴール指向測定・改善」セミナー(仮)