平成25年度 春期 午前Ⅱ 問22
実装・構築
信頼性を意識したもの
JIS X 0180では,組込みシステムのソフトウェアコード品質を信頼性,保守性,移植性及び効率性の四つの品質特性に分類して作法を定めている。作法に基づいて作成した組込みシステム開発プロジェクトのコーディング規約のうち,信頼性を意識したものとして適切なものはどれか。ここで,信頼性とは“ソフトウェアとしての誤った動作をしない,誤動作をしてもソフトウェア全体及びシステム全体の機能動作に影響を及ぼさない,誤動作が発生しても正常動作に速やかに復帰できる性質”を指す。
- ア1か所だけから呼び出されるサブルーチンは,インライン展開されるサブルーチンとして記述すること
- イハードウェアレジスタから読み出した値を除数として除算を行う前に,値が0でないことを必ず確認すること
- ウハードウェアレジスタのビット位置を,言語処理系に依存した記法を用いて定義しないこと
- エハードウェアレジスタへの設定値のうち,ハードウェアの仕様変更によって値の変更が予想される数値は,コード上に直接数値を記述せずに必ずマクロ表記を用いること
答えと解説を見る
✓ これが正解イハードウェアレジスタから読み出した値を除数として除算を行う前に,値が0でないことを必ず確認すること
解説
除数が0でないことを確かめるのは、誤動作を防ぐ信頼性の作法です。
設問の信頼性は、誤った動作をしないことや、誤動作の影響を広げないことを指しています。ハードウェアレジスタから読み出した値は、ハードウェアの状態によってどんな値になるかをプログラム側で保証できません。その値で除算すると、0だった場合に0で割ることになり、プログラムが異常な動作に陥るおそれがあります。除算の前に値が0でないことを確かめるのは、こうした誤動作を未然に防ぐための作法で、信頼性に当たります。四つの品質特性を、誤動作しない(信頼性)、直しやすい(保守性)、他の環境に移しやすい(移植性)、速く小さい(効率性)と言い換えて当てはめると見分けられます。
ほかの選択肢はなぜ違うのか
- ア1か所だけから呼び出されるサブルーチンは…:1か所だけから呼び出されるサブルーチンをインライン展開するのは、呼出しの手間を省いて実行を速くするなどの工夫です。誤動作を防ぐことが目的ではなく、四つの中では効率性を意識した作法に当たります。
- ウハードウェアレジスタのビット位置を,言語…:言語処理系に依存した記法を使わないのは、別のコンパイラや別の環境へ移したときにも同じように動くようにするためです。誤動作の防止ではなく、四つの中では移植性を意識した作法に当たります。
- エハードウェアレジスタへの設定値のうち,ハ…:変更が予想される数値をマクロで表すのは、仕様が変わったときに直す箇所を1か所にまとめて、修正しやすくするための工夫です。誤動作の防止ではなく、四つの中では保守性を意識した作法に当たります。
この問題の用語
- 信頼性意図した動きと実際の結果が食い違わない度合い。情報セキュリティでは一貫しているという特性、機器ではRASISのRとして壊れにくさを指します。
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
- プロジェクトある目的のために期間を決めて行う、一回限りの活動。決算処理のように同じ手順を繰り返す定常業務とは区別されます。
- 規約守るべき約束事や決まりを定めたもののことです。利用規約やコーディング規約、通信の手順を決めた通信規約などがあります。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問23:“死の谷”の説明(プロジェクト)
- 令和5年度 秋期 午前Ⅱ 問18:リファクタリングに関する問題(保守)
- 令和4年度 秋期 午前Ⅱ 問15:これらのコネクションの説明(信頼性)
- 平成27年度 春期 午前Ⅱ 問6:信頼性ブロック図の説明(信頼性)
- 平成22年度 春期 午前Ⅱ 問24:実験計画法に関する問題(規約)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)