連載
» 2017年08月09日 11時00分 UPDATE

山浦恒央の“くみこみ”な話(MONOist10周年特別寄稿):組み込みソフトがこの10年で変わったこと、変わらないこと (3/3)

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]
前のページへ 1|2|3       

4.これから考えるべきこと

 組み込み製品が社会の根幹を形成する今、以下のことが重要になると筆者は個人的に考えています。

4.1 品質のカプセル化

 ソフトウェアの生産性と品質をどのように向上させるか? この緊急課題に対し、2つのアプローチがあります。1つは、単位時間当たりに、より多くのソースコードを書き、たくさんのテスト項目を消化すること。もう1つは、ソースコードをなるべく書かず、また、テストもしないことです。

 筆者が注目するのは後者で、オブジェクト指向の考え方を「機能」と「品質」の両方に適用し、「機能のブラックボックス化」「品質のブラックボックス化」を進めることです。再利用において、「機能の再利用」に注目するだけでなく、「品質の再利用」も効果が大きいことを認識してください。「品質のカプセル化」により、「いかに、多数のテストを効率よく実施するか?」から、「いかに、テストしないで済ませるか?」にパラダイムをシフトします。

4.2 品質のレベル分け

 ソフトウェアは工業製品なのに、実質上、JISマークはついていません。品質のレベルを定め、指定できると、ソフトウェア開発を発注する場合、要求する品質レベルを明示できますし、発注側は、「品質を上げるとコストも上がる」ことを認識できます。

 品質のレベル分けの具体例を以下に示します。

  • レベル1:レベル2〜5に該当しない(=正常ケースも動作しない場合がある)。C0網羅、C1網羅とも計測せず
  • レベル2:正常系は全て、異常系は代表的なケースでのみ正しく動作する。C0網羅80%、C1網羅は計測せず
  • レベル3:正常系、異常系は全て、組み合わせ系は代表的なケースでのみ正しく動作する。C0網羅80%、C1網羅50%以上
  • レベル4:正常系、異常系、組み合わせ系が全て正しく動作する。C0網羅100%、C1網羅80%以上
  • レベル5:過負荷テスト、最小構成テスト、長時間耐久テストなどを全て実施。C0網羅、C1網羅とも100%

 上記のレベル1とレベル5では、品質制御の工数やコストは10倍の違いが出ると思われます。品質レベルを設定すると、製品全体の品質レベルや、機能単位での品質レベルを指定し、目標品質を明確に出来ます。

4.3 応用分野別の品質情報データベースの確立

 組み込み系ソフトウェアの応用分野が広範囲に渡るため、品質制御方式を一般化するのは困難で、非現実的です(心臓のペースメーカーの制御プログラムと、ゲームのソフトウェアでは、品質目標が大きく異なる)。デジタルカメラ制御用ソフトウェアと携帯電話機用プログラムでは、同じ組み込み系ソフトウェアであっても、「常連バグ」や、バグが出やすい状況は全く異なります。

 各応用分野の「常連バグ」をデータベース化し、それを自社製品用にカスタマイズすることで、応用分野ごとの品質制御のレベルが上がると期待しています。

【 筆者紹介 】
山浦 恒央(やまうら つねお)

東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


MONOist10周年特集

>>↑↑↑特集ページはコチラから↑↑↑<<

前のページへ 1|2|3       

Copyright© 2017 ITmedia, Inc. All Rights Reserved.