組み込み技術者のスキル認定試験「ETEC」。本連載ではエントリレベルのクラス2試験を題材にさまざまな演習問題を出題する。
世は未曾有(みぞう)の大不況。昨今では、失業率、就職氷河期など、職に関しては暗いニュースばかりが聞かれます。しかし、一方で慢性的な人材不足に悩まされている業界もあります。その1つが組み込みソフトウェア産業です。
最近では、業界関係者の努力と「モノづくり大国ニッポンを支える組み込みエンジニア育成」政策の後押しにより、書籍やWebサイトなどの組み込み関連のコンテンツが大分増えてきましたが、いまだに冒頭のような「組み込みソフトウェアって何?」という質問を受けます。
この答えを一言でいうと、「家電、携帯電話、自動車など、私たちの身近に存在するあらゆる機器を制御するソフトウェア」です。けれど、「どうやって作るの?」「組み込みソフトのエンジニアって何をするの?」「どうすればなれるの?」などなど、疑問は残ります。
どういう仕事なのか、その内容が分からなければ人材は集まりません。そこで、“組み込みソフトウェア開発に必要なスキルは何か”を明確にしようという試みがいくつか行われています。
その筆頭が、独立行政法人 情報処理推進機構(IPA)による組込みスキル標準「ETSS(Embedded Technology Skill Standards)」の公開です。ETSSのスキル基準では、組み込みソフトウェア開発に必要なスキルが体系的にまとめられています。
関連リンク: | |
IPA「組込みスキル標準『ETSS』の公開について」 http://sec.ipa.go.jp/press/20050523.php |
|
連載記事「組込みスキル標準(ETSS)入門」−@IT MONOist http://monoist.atmarkit.co.jp/fembedded/index/etss.html |
そして、もう1つが社団法人 組込みシステム技術協会(JASA)による組込み技術者試験制度「ETEC(Embedded Technology Engineer Certification)」です。
このように業界団体が中心となり、組み込みソフトウェア開発に必要なスキルについて可視化する取り組みがなされていますが、本連載では後者のETECについて取り上げていきます。それでは、ETECについてもう少し詳しく見ていきましょう。
ETECは、次のことを目的とした試験制度です。
ETECの試験はCBT方式で実施されます。CBT方式とは、ペーパー試験ではなく、コンピュータを用いた試験のことで、全国にある試験会場でいつでも受験でき、試験後その場で試験結果が分かります。
また、ETECは合否判定ではなく、スコアによってグレードを評価する方式を採用している点が特徴的です。これは、エンジニア自身に次のようなメリットをもたらします。
さらに、企業にとっても次のようなメリットがあります。
ETECには、エントリレベルを測定する試験「クラス2」と、ミドルレベルを測定する試験「クラス1」があります(表1)。
クラス |
レベル |
問われる内容 |
対象 |
クラス2試験 (実施中) |
エントリレベル |
組み込みソフトウェア開発に必要とされる知識 | 上位のエンジニアの指導の下、実装工程(詳細設計、コード、デバッグ)の業務を遂行するエンジニア |
クラス1試験 (後日リリース) |
ミドルレベル |
組み込みソフトウェア開発に必要とされる知識および知識の応用力 | 設計、システムテストなどの上位工程の業務を自律的に遂行するエンジニア |
関連リンク: | |
JASA「ETEC(イーテック)とは」 http://www.jasa.or.jp/etec/etectoha/ |
本連載では、ETECのクラス2試験を対象に、演習問題を解きながら基礎知識を学んでいきます。クラス2試験では、ETSSの「技術要素」「開発技術」「管理技術」という3つのカテゴリを用い、カテゴリごとに独自に第3階層までを設定してスキル項目を抽出し、出題範囲を定めています。
クラス2試験の概要と出題範囲は次のとおりです(表2)。
◆概要
|
|
試験時間 |
90分(守秘義務契約、アンケートを含む) |
出題範囲 |
技術要素、開発技術、管理技術 |
出題形式 |
多肢選択式(四肢択一) |
点数範囲 |
800点満点(グレードをA、B、Cで評価) |
証明書類 |
受験後、1カ月以内に送付 |
◆技術要素
|
|||
第1階層 |
第2階層 |
第3階層 |
スキル項目 |
プラットフォーム | プロセッサ | プロセッサコア | MPU、バス、レジスタセット、RISC、CISC、DSP、GPU、MMU、省電力制御、パイプライン、スーパスカラなど |
プロセッサ周辺 | 割り込み、タイマ/カウンタ、DMA、WDT、キャッシュなど | ||
メモリ | ROM、RAM、Flashメモリ、メモリインタリーブ、デュアルポートメモリなど | ||
基本ソフトウェア | ブート | ROM化、ブートローディング、スタートアップルーチンなど | |
カーネル | タスク、共有ルーチン、システムコールサービス、同期、排他制御、デッドロックなど | ||
支援機能 | デバッグ機能 | ICE、JTAG、ソフトデバッガ、オシロスコープ、ロジアナ、ログ収集/解析など |
◆開発技術
|
|||
第1階層 |
第2階層 |
第3階層 |
スキル項目 |
ソフトウェア 詳細設計 |
ソフトウェアの詳細設計 | 設計手法 | 分割、モジュール化、隠蔽(ぺい)化、フローチャート、タイミングチャート、UML、状態遷移図、設計ツールなど |
信頼性設計、実時間設計 | QoS、誤り検出など | ||
ソフトウェアの詳細設計のレビュー | レビュー | レビュー手法など | |
ソフトウェアコード 作成とテスト |
プログラムの作成とプログラムテスト項目の抽出 | プログラミング | C言語に関すること、コーディング規約、MISRA-C、プログラミング技術、チューニング技術、オブジェクトモジュール、静的解析ツール、カバレッジ、同値分割など |
コードレビューとプログラムテスト項目のデザインレビュー | レビュー | レビュー手法など | |
プログラムテストの実施 | プログラムテスト | カバレッジ、同値分割、ホワイトボックステスト、ドライバ、スタブ、自動化テスト、テストツールなど | |
ソフトウェア結合 | ソフトウェア結合テスト仕様の設計と実施 | ― |
テスト環境設計/構築、テストツールの選定、直交表、カバレッジ、自動化テストなど |
クロス開発技術 | ― |
― |
オブジェクトファイルフォーマット、PIC、リロケータブルファイル、コードチューニングなど |
◆管理技術
|
|||
第1階層 |
第2階層 |
第3階層 |
スキル項目 |
プロジェクト マネジメント |
品質マネジメント | 計測 | 品質特性、ソフトウェアメトリクスなど |
開発プロセス マネジメント |
構成管理・変更管理 | 目的 | 構成管理の目的など |
本連載では、まず技術要素に挙げられているスキル項目を中心に取り上げていきます。演習問題を解き、キーワードをピックアップして、「エンジニアなら知っておきたい基礎のキソ」を解説することで、試験対策と同時に基礎知識の習得を図ります。
それでは、早速問題を解いてみましょう。
問題1 MPUの動作に関する次の記述のうち、正しいものはどれか? 答え. 解答はこちら(←クリック) |
次回は、今回出題した演習問題の解答と、「何はなくともMPU」ということで、MPUの動作について詳しく解説したいと思います。ご期待ください!(次回に続く)
関連リンク: | |
組込みソフトウェア技術研修講座イーラーニング(サンプルIDプレゼント中) http://www.certpro.jp/elearning.html |
|
組込みソフトウェア技術者試験クラス2試験対策問題集(ETEC-SW2)(サンプルIDプレゼント中) http://www.certpro.jp/etecsw2test.html |
|
Copyright © ITmedia, Inc. All Rights Reserved.