技術コラム(第2回) 組み込みソフトウェア開発で考えるべき事
一般的にソフトウェアの開発に求められるものは、以下に挙げるものだと言われています。
- 生産性
- 信頼性
- 可用性
- 再利用性
- 拡張性
- 移植性
- 保守性
組み込みソフトウェアでも求められるものは同じですが、上記項目のなかでも特に「信頼性」と「保守性」は非常に重要な項目です。
さらに最近では「安全性」という項目が特に重要視されるようになってきています。
品質保証の重要性は認識出来ているが・・・・
信頼性/保守性が重要という事は、品質保証が大事ということになります。
これは、製品化されたソフトに対して致命的不具合が発生した際に、 簡単にプログラムを修正出来ないという問題があるからです。
しかし、技術者を育成するにあたり、いろいろな言語など技術研修は見かけますが、 品質保証に関しての研修はあまり見かけないのが現実です。
制限が多い組み込みソフトウェア
品質保証の教育が少ないのは、技術者として経験を積めば自然と身につくので、研修を行うとの発想にならないのかもしれません。
またもう一つの理由として、組み込みソフトウェアの特殊な制限が、技術の方を強化しようという考えになるのかもしれません。
組み込みソフトウェアはPC系などのソフトウェアと違い、作成する場合に制限がかなり多くなります。
例をあげてみると、
限られたメモリ容量、メモリ性能で動作しなければならない
決められた時間内で動作しなければならない
決められた時間に動作しなければならない
リアルタイムで動作しなければならない
ハードウェアに依存する部分が多い
OSレスのものもある
スタートアッププログラムが必要
あり得ないエラーでもエラー処理を行う(想定外を想定する)
除算(割り算)を使わない(割り算は時間がかかって使えない)
汎用ライブラリを極力使わない(ライブラリがないこともある)
終わらないプログラム
mainのないプログラムもある
などと、確かに技術の知識を教えるのが多くなるかもしれません。
しかしながら、品質保証も同時に強化してこそ、製品を作り上げるのに重要な訳で、その部分は当たり前のように忘れずに対応していきたいものです。
次回は、組み込みハードウェアの特徴を記載します。
組込開発.comでは、ソフトウェアやハードウェアの開発を承っております。これまでの実績については開発実績をご覧ください。
投稿者プロフィール
- メインはソフト担当ですが、筐体設計も担当します。プログラミング言語はPythonやC言語の経験が多いです。また、たいチャレ(詳細は右バーナー参照)にも参加しており、日々、様々なことを学びながら業務に取り組んでいます。
最新の投稿
- 技術コラム2022年12月26日技術コラム(第29回)3Dプリンタについて ~部品強度について~
- 技術コラム2022年12月26日技術コラム(第28回)Raspberry Pi 3B+の使い方 ~ROM化編~
- 技術コラム2022年12月22日技術コラム(第27回)Raspberry Pi 3B+の使い方 ~セキュリティー設定編~
- たいチャレ2022年12月22日2022年 たいチャレ日誌 ~オーディオプレイヤー開発前編>~