ソフトウェアエンジニアが活躍できる無限のフィールドとは? ①

2016年4月19日 (2017年3月1日最終更新)
ソフトウェアエンジニアが活躍できる無限のフィールドとは? ①
目次
  1. 組み込みソフトウェアエンジニアついて

一般的に「ソフトウェアエンジニア」というと、プログラマーをイメージされる方が多いのではないでしょうか。しかし、その業務内容はコンサルティング、セールス・基本設計・詳細設計・開発・テスト・運用…、とても多くの工程に分かれています。

組み込みソフトウェアエンジニアついて

まずはじめに「組込みソフトウェアエンジニア」の仕事について、全二回にわたって解説をしていきます。

  • ### 「組込み」ってなに?みなさんは「組込み」と聞いて何をイメージしますか?本記事では、モノに組み込まれて動くソフトウェアとソフトウェアを動かすための仕組みであるコンピュータシステムの事を「組込み」と定義します。ここで差している「モノ」というのは「電子機器」となります。- ### どこにあるの?今、みなさんはたくさんのソフトウェアに囲まれて日常生活を送っています。パソコン上で動くWordやExcelといったアプリケーションもあれば、ゲーム機、スマートフォン上で動くゲームやアプリケーションもあります。また冷蔵庫や洗濯機といった家電製品にも最近では便利な機能が付いたものがありますが、全てソフトウェアで実現しています。組込みとは「モノ」に組み込まれて動くソフトウェアです。ゲーム機や携帯電話、スマートフォン、家電製品などに組み込まれたソフトウェアを「組込みソフトウェア」「組込みコンピュータ」と表します。上記以外にも、自動車も今ではコンピュータ制御が欠かせないものになっていますし、医療機器や工場の製造設備などの産業機器にも組込みソフトウェアは搭載されています。- ### 何で必要なの?なぜ、モノ(電子機器)にコンピュータシステムとソフトウェア、二つの必要があったのでしょうか?それは、便利な機能を安価に実現するためには、電子回路で制御するのが最も効率がよく、その性能を最大限活かすためにはソフトウェア的な制御が不可欠であったためです。デバイスを制御したり、データを集計したり、他の機器と通信することで、それまでに無かった機能を機器に追加することができます。例えば、登場したばかりの頃の電気炊飯器は、一定時間加熱することしかできませんでした。しかし現在では、電子炊飯器としてさまざまな温度制御を行うことによる炊き分けをしたり、タイマー制御で設定した時間に炊き上がるように設定できたり、多機能になりました。また最近、ユーザー拡大しているがウェアラブルデバイスは、腕時計と同じ感覚で心拍数や体温、消費カロリーや歩数などを測定、さらにGPS機能で位置情報も記録、通信機能も備えているのでPCやスマートフォン上で活動を記録でき、健康管理やダイエット活動をサポートしてくれます。これらはすべて電子機器に組み込まれた超小型のコンピュータとソフトウェアで実現されています。- ### どうやって作るの?実現したい機能をプログラミング言語で記述します。プログラミング言語はC言語が主流ですが、最近ではC++やRubyなどの言語も使われています。プログラミング言語を使うことで人間に理解しやすい形で処理を記述することができます。ただ、このままではコンピュータチップに理解できる形になっていないので、これを動作させるコンピュータチップが実行できる命令に翻訳する必要があります。これを「コンパイル」と言います。こうしてコンピュータが実行できる形式のソフトウェアプログラムが完成します。ここまでは、PC用のソフトウェアプログラムを作る場合とあまり大きな違いはありません。組込みの場合は、その名の通り、装置に「組み込む」必要があります。組込みソフトウェアの場合、動作させる装置に「組み込む」必要があります。PCの場合ですと、通常プログラムは、ハードディスクやSSDなどの記憶装置に置かれます。それをユーザーのマウス操作などによって起動します。それに対して組込みソフトウェアでは機器に組み込まれた専用ROMやフラッシュメモリなどの記憶装置に書き込みます。書き込みには専用のハードウェアやプログラムが必要で、コンパイルして直ぐに動作させることができるPCソフトとは大きく異なります。

私たちが使っている身の回りのさまざまな機器には、多くのソフトウェアプログラムが組み込まれていること、そして、そのソフトウェアの作り方は、「組み込む」部分以外は、PCソフトと大きな違いはないことをご理解いただけたかと思います。次回は、もう少し踏み込んで、「組込みソフトウェア」の特徴についてご紹介したいと思います。まとめ

著:本田弘(株式会社VSN

株式会社 VSN
株式会社 VSN
エンジニア派遣企業として、IT・情報通信、メカトロニクス・エレクトロニクス、バイオ・ケミストリー分野の専門技術を持った約3,000名のエンジニアを正社員として雇用し、さまざまなお客様に幅広くサービスを提供しています。

関連記事