【12-E-2】 SEC流品質作りこみESQR 組込みソフトウェア開発向け品質作り込みガイドの紹介
- 2. おいしいりんごの育て方
日当たり •“虫”が入らないようにする
農薬 •おいしく育てる
肥料 育てる過程の工夫が必要
•育て方が適切か
•できた果実が消費者の
好みに合っているか
計測し
評価し
改善する
2
- 3. おいしいりんごって?
育ち具合は?
誰が食べるのか?
大きさ
自宅用
色
ご近所くらいには配る
味
出荷用
傷み具合
どのように作るのか?
庭の木一本だけ/裏の畑/広いりんご畑
ひとりで/人を雇って
育てやすい品種?
どうやって育てるか?
肥料は何を、どのくらい
水やりは何回、どのくらい
農薬は何を、どのくらい
摘果はいつ、どのくらい
3
- 5. 製品出荷後の不具合:原因別
ソフトウェアの不具合は依然としてトップ
→ソフトウェアの不具合がシステムの品質に直結
製品出荷後の不具合:原因別
製品企画・仕様の不具合
ソフトウェアの不具合
ハードウェアの不具合
製造上の不具合
運用・保守の不具合
その他の不具合
0.0% 20.0% 40.0% 60.0% 80.0%
2008年版 組込みソフトウェア産業実態調査 プロジェクト責任者 Q6-1-2
5
- 8. 組込みシステムの品質・信頼性向上
開発管理力強化による
信頼性向上
プロセス設計
ESMR: 高信頼に求められる
ESMR:
プロセスの設計と実装
マネジメントガイド
マネジメントガイド
計画的マネジメント
ESPR:
ESPR: 要求・設計の高信頼化
開発プロセスガイド
開発プロセスガイド
高信頼性に着目した
レビュー・テストプロセス強化
ソフトウェア設計の考え方
SAP:安全関連プロセス
ESQR: ESCR:
ESQR: ESCR:
設計・実装技術強化に
品質作り込みガイド コーディング作法ガイド
品質作り込みガイド コーディング作法ガイド
よる信頼性向上
品質定量化 実装面での高信頼化
コントロール
見える化 定型化 コントロール
8
- 9. ESQRとは
Embedded System development Quality Reference
組込みシステム(ソフトウェア)開発過程で
客観的な品質指標を用いて
品質要素の作りこみとコントロールを行うために
体系的、整備された参照手法
•システムレベルの導出手法:システム・プロジェクトプロファイル、
障害影響度診断等
•品質目標の評価手法、計測可能な指標およびシステムレベルに
応じた参考値の提供
•定性的品質作り込みのためのヒント提供
9
- 10. ESQR-5つの特徴
特徴1: システム障害震度
フィールドのシステム障害を評価し、品質目標に反映
特徴2: システムプロファイル
対象システムに求められる品質要求をカテゴライズ
特徴3: プロジェクトプロファイル
開発プロジェクトや組織の特性を品質目標に反映
特徴4: 品質評価指標の定義と参考値
ソフトウェアの品質を可視化し、品質目標を明確にする
指標群を整備
特徴5: 作業チェック項目(ヒント)
開発作業の質的な面の向上のためのヒントを提供
10
- 11. おいしいりんごって?
誰が食べるのか?
自宅用
システムプロファイル
ご近所くらいには配る
出荷用
どのように、どのくらい作るのか?
木の本数/畑の大きさ?
プロジェクトプロファイル
ひとりで/人を雇って
育てやすい品種?
どうやって育てるか?
肥料は、農薬は、
プロセス品質評価指標
剪定は、水やりは
育ち具合は?
大きさ・色
プロダクト品質評価指標
味・傷み具合
11
- 12. ESQRによる品質定量コントロールループ
▲
Step2. Step 3.
システムプロファイリング プロジェクトプロファイリング
システムの特性を体系的に プロジェクトの特性を体系的に分析
評価・把握
Step 1.
ST-SEISMIC Scale
Step 4.
の考え方
品質目標設定
実フィールドでのシステム障害を
プロセス品質評価指標/プロ
品質目標にフィードバック
ダクト品質評価指標を用いて
品質目標値を設定
Step 5.
▲
品質コントロール 品
質
実プロジェクトで
品質定量指標を計測
作業の質の評価
品質目標に近づけるように
コントロール 時間
12
- 16. STEP4. 品質指標の設定
プロセスとプロダクトの2つの観点で、品質を確保するための活動
について品質指標および目標値を設定
ものさしと判断目安を決定
プロセス品質評価指標: プロダクト品質評価指標:
作業の十分性を評価 成果物の出来を評価
要求分析定義
仕様書
ドキュメント
レビュー作業充当率 システム設計
品質評価指標
設計書
ソフトウェア設計
レビュー作業実施率
コード
実装(コーディング)
コード
品質評価指標
テスト作業充当率 ソフトウェアテスト
テスト
テスト仕様書
成績書 品質評価指標
システムテスト
テスト作業実施率
16
- 18. 品質指標:プロダクト品質評価指標
プロダクト品質評価指標
→中間成果物ならびに最終成果物の出来ばえを評価する指標
要求定義 設計 実装 テスト
▲アーキテクチャ設計書・
▲要求仕様書
▲ソースコード
詳細設計書
▲オブジェクトコード
ドキュメント品質評価指標 ▲テスト仕様書・作成
コード品質評価指標 ▲テスト報告書
テスト品質評価指標 仕様書の記述量は
十分か
制御文の記述
ドキュメント品質評価指標 : 作業のインプット/アウトプットとなるドキュメントの 率は高くないか
量とバランスを評価
コード品質評価指標 : ソフトウェアの基となるソースコードを静的に量と特性を評価
テスト品質評価指標 : ソフトウェア自身を動的評価するテストに対し、十分性と動作
完全性を評価 不具合はちゃんと
直っているか
18
- 20. 品質コントロールの例(その1)
システム:計測器(無線通信波形計測、分析、信号発生)
既存製品の高周波対応展開、ユーザはメーカ等の開発者
Step1. システムプロファイル
人的損失はない→Type3以下
修理に1週間かかる、各ユーザの使用頻度は低い(毎日使うものではな
い)
損害額は1日2千円と見積もり
経済損失:
被害日数(5日)×ユーザ数(3,000人)×影響率(0.2)×損害額(2,000円)
=6,000,000円 → Type1:Nに決定
① ソフトウェア規模 □ 極めて小さい 普通 □ 極めて大きい
② ソフトウェアの複雑さ □ 極めて単純 普通 □ 極めて複雑
Step2. プロジェクトプロファイル ③ システム制約条件の厳しさ □ 制約ゆるい 普通 □ 制約厳しい
④ 仕様の明確度合い 極めて明確 □ 普通 □ 明確になっていない
仕様は明確、他は突出した ⑤ 再利用するソフトウェアの品質レベル□ 極めて高品質 普通 □ 極めて品質低い
⑥ 開発プロセスの整備度合い □ 整備できている 普通 □ 整備できていない
⑦ 開発組織の分業化・階層化の度合い □ 開発組織が単純 普通 □ 開発組織が複雑
特徴は無い(右表参照) ⑧ 開発メンバーのスキル □ メンバースキル高い 普通 □ メンバースキル低い
⑨ プロジェクトマネージャの経験とスキル PMスキル高い
□ 普通 □ PMスキル低い
→ 補正係数:-0.1 ⑩ システム障害時のメーカ側損失額 □ 極めて小さい 普通 □ 極めて大きい
小計 -1 0
合計ポイント数 -1
20
- 21. 品質コントロールの例(その2)
Step3. 品質評価指標の選定と目標値の設定
品質評価目標の選択
レビュー作業充当率、設計書ボリューム率を仮に選択
計測すべき基礎指標の確認
レビュー作業充当率=全レビュー工数 / 開発全工数
設計書ボリューム率=設計書ボリューム / ソースコード全行数
品質目標値の設定
レビュー作業充当率
補正値の算出:補正ベース値:4.00 、補正係数: -0.1 ∴ 補正値=4.00×(-0.1)= -0.4
品質目標値の設定:レビュー作業充当率のType1:Nの参考値=4.00 ∴ 4.00 - 0.4 = 3.6
設計書ボリューム率
補正値の算出:補正ベース値:10.00、補正係数: -0.1 ∴ 補正値=10.00×(-0.1)= -1.00
品質目標値の設定:設計書ボリュームのType1:Nの参考値= 9.00 ∴ 9.00 – 1.00 = 8.00
参考(見積もり値)
開発全工数(見積もり値):20人×9ヶ月×155時間=27,900人時
開発ソフトウェア:8万Lines
21
- 22. 品質コントロールの例(その3)
Step4. 実際の開発フェーズでの指標値の測定と評価
レビュー作業充当率の評価の例
開発全工数の見積もり値: 27,900人時
『結合テスト開始時点』(=テスト関連のみ見積もり値、他は実績値)での
全レビュー工数見積もり値:900人時
レビュー作業充当率=全レビュー工数 / 開発全工数
= 900 / 27,900 = 0.032 = 3.2 (%)
目標値 3.6(%)に対して、若干少ない
これまでのレビューを再度見直す、テストを厚くするなどの対応を行う
設計書ボリューム率の評価の例
ソースコード全行数の見積もり値: 80KLOC
『設計書レビュー開始時点』(=ソースコードはまだ存在しないため、
全て見積もり値)での設計書ページ数:500ページ
設計書ボリューム率=設計書ボリューム / ソースコード全行数
= 500 / 80 = 6.25
目標値 8.00に対して、少ない
設計書にもれ抜けがある可能性が高いことに気をつけ、レビューを実施する
22
- 23. 高品質作り込みのためのヒント
定量的コントロールだけでなく、品質作り込みを行うための
定性的なコントロールのヒントを提供
コミュニケーションと意思決定
1.
ドキュメント
2.
レビュー
3.
テスト
4.
指標を用いた
5.
品質作り込み活動
23
- 24. ESQR:品質作り込みガイド 目次構成
1章 品質作り込みガイドの読み方
1.1 品質作り込みガイドの目的と位置づけ
ガイドの読み方
1.2 品質指標に基づく組込みシステム開発
1.3 本ガイドの想定利用者・利用方法と得られる効果
1.4 品質作り込みガイドの構成
1.5 本ガイドの利用に関する注意事項
1.6 関連規格
2章 システムプロファイリングを利用した品質目標値の設定
2.1 組込みシステムの特性を考えた品質目標設定の考え方
2.2 Step - 1:システムプロファイリング
2.3 Step - 2:プロジェクトプロファイリング
2.4 Step - 3:品質目標値の設定
システムプロファイリング
2.5 プロファイリングの事例
2.6 システム障害の評価とシステムプロファイリングへの反映
プロジェクトプロファイリング
3章 品質指標の定義と参考値
3.1 品質指標の定義と意味、利用法
3.2 品質指標のカテゴライズ
3.3 品質指標 - 利用上の注意
3.4 プロセス品質評価指標 - 定義と参考値
3.5 プロダクト品質評価指標 - 定義と参考値
品質指標・目標値の設定
3.6 基礎指標 - 定義と参考値
4章 高品質作り込みのためのヒント
4.1 開発におけるコミュニケーションと意思決定
4.2 ドキュメント
4.3 レビュー
4.4 テスト
4.5 指標を用いた品質作り込み活動
品質向上のためのヒント
24
- 25. 想定する利用者
実際の工程管理や品質管理を検討・決定するマネージャやリーダ
開発プロセスの標準や品質に関する基本的な考え方を整備運用するメンバ
品質保証など、ソフトウェア開発を間接的に支える支援グループのメンバ
25
- 29. ご清聴ありがとうございました
ISBN978-4-7981-1884-0
組込みソフトウェア開発向け
品質作り込みガイド
翔泳社 ©2008 IPA
29