H25 技術士(情報工学)ソフトウェア工学 II-2-2:高信頼性システム


(1)想定する高信頼性システム
開発するシステムは環境試験装置で、試験対象の試験体を試験装置に入れ温度や湿度などを設定された状況に制御して試験体の状態を確認することを目的とする。
試験体は食品や衣料品、薬品、家具、電化製品などありとあらゆるものが対象となり、要求される環境もさまざまである。食品や衣料品のように試験中に熱を発しない試験体では環境の制御は容易であるが、電化製品のようには試験体自体が発熱する場合には温度の制御が難しくなる。また、試験の時間も試験体によっては数日間に渡る場合があり、試験装置を操作者が常に見ていなくても指定された環境を維持する必要がある。
環境試験は法律や省令、国際基準で試験時の環境、試験の時間が決められていて、規程通りの環境で試験を行わないと条件を満足しないため製品の出荷できないという問題があり、顧客ユーザーからは環境試験装置には高い信頼性が求められる。

(2)要求分析で調査・検討する点
要求分析でまず確認しないといけないのは、顧客ユーザーの期待する環境の精度である。
大きな試験体では試験体の上下で温度が異なってしまうため、こういった試験体の場所によっても供給が異なってくる。また、温度については環境試験装置内の温度ではなく試験体表面の温度が重要であり、電化製品のような発熱する試験体では、試験体の表面の温度を正確に測定する方法と、温度の制御方法を検討する必要がある。

(3)高信頼性のために適用する技術・ツール
試験体の温度や湿度を測定する温度計や湿度計は複数種類、複数個あるが、これらの誤差をなくすような校正機能も持たせ試験開始前に自動で校正するようにする。
さらに、測定した結果は数回の測定値を平均化するだけでなく、移動平均を用いることで微細な変化量を把握できるようにし、さらに温度変化を予測して、細かな制御を可能とする。
また、長時間動作させてもソフトウェアのバグなどで制御に間違いが発生しないように、プログラムのソースコードの静的解析を行い、プログラムを動作させたテストでも命令網羅、条件網羅、分岐網羅、メモリリークチェックなどのテストを行い信頼性を確保する。

(4)技術・ツールの留意点
アルゴリズム的な対応策では、ソフトウェアの処理が正しいかをシミュレータを使って確認してから実機を使い確認することにし、実環境では発生させることの難しい条件での確認を行うようにした。
静的解析では解析を行う前に合格の基準となる条件を明確にし、例外を設けずに修正を行い、徐々に基準が甘くなるようなことが起こらないようにした。
動的な確認では、開発ツールの網羅テストレポートを活用し、こちらも例外なくすべての箇所について基準となるテストを行い問題がないことを確認した。


[Intermission]
恒温槽のような環境試験装置を題材に書いてみました。
“高信頼性”が求められるシステムは数多くありますが、おそらく採点者もこの題材で書いてくるとは予想できないような意表をついてみました。(意味なし)
そのため、記述の内容も独特なものになっていると思います。
いずれ、別の題材で書き直します。



戻る 一覧へ