ホーム > システムアーキテクト試験 > 2013年
システムアーキテクト試験 2013年 午前2 問07
組込みシステムの“クロス開発”の説明として、適切なものはどれか。
ア:実装担及びチェック担当の二人一組で役割を交代しながら開発を行うこと
イ:設計とプロトタイピングとを繰り返しながら開発を行うこと
ウ:ソフトウェアを実行する機器とは異なる機器で開発を行うこと(正解)
エ:派生開発を、変更プロセスと追加プロセスとに分けて開発を行うこと
解説
組込みシステムの“クロス開発”の説明として、適切なものはどれか【午前2 解説】
要点まとめ
- 結論:クロス開発とは、ソフトウェアを実行する機器とは異なる機器で開発を行うことです。
- 根拠:組込みシステムは対象機器の性能や環境制約が厳しいため、開発用のホスト機器で効率的に開発を進めます。
- 差がつくポイント:クロス開発は「異なる機器で開発する」ことを指し、役割交代や設計手法とは異なる概念です。
正解の理由
選択肢ウ「ソフトウェアを実行する機器とは異なる機器で開発を行うこと」が正解です。
組込みシステムの開発では、実際に動作させるターゲット機器の性能が低かったり、開発環境が整っていなかったりするため、より高性能なホスト機器上でソフトウェアを作成し、その後ターゲット機器に移植・動作確認を行います。これがクロス開発の基本的な考え方です。
組込みシステムの開発では、実際に動作させるターゲット機器の性能が低かったり、開発環境が整っていなかったりするため、より高性能なホスト機器上でソフトウェアを作成し、その後ターゲット機器に移植・動作確認を行います。これがクロス開発の基本的な考え方です。
よくある誤解
クロス開発は「役割交代」や「設計とプロトタイピングの繰り返し」ではありません。
また、派生開発のプロセス分割とも異なり、開発環境の違いに着目した用語です。
また、派生開発のプロセス分割とも異なり、開発環境の違いに着目した用語です。
解法ステップ
- 問題文の「クロス開発」の意味を確認する。
- 選択肢の内容を「開発環境」や「開発手法」の観点で分類する。
- クロス開発は「異なる機器で開発すること」と理解し、該当する選択肢を探す。
- 選択肢ウが該当するため、正解と判断する。
選択肢別の誤答解説
- ア:実装担当とチェック担当の役割交代はペアプログラミングやレビューの話であり、クロス開発とは無関係です。
- イ:設計とプロトタイピングの繰り返しは反復開発やアジャイル開発の特徴で、クロス開発の説明ではありません。
- ウ:正解。異なる機器(ホスト)で開発し、ターゲット機器で動作確認を行う手法です。
- エ:派生開発の変更プロセスと追加プロセスの分割はソフトウェア開発プロセスの話で、クロス開発とは異なります。
補足コラム
クロス開発では、ホスト機器上でコンパイルやデバッグを行い、ターゲット機器用のバイナリを生成します。これにより、ターゲット機器のリソース制約を回避し、効率的な開発が可能です。クロスコンパイラやエミュレータもクロス開発の重要なツールです。
FAQ
Q: クロス開発とクロスコンパイルは同じ意味ですか?
A: クロスコンパイルはクロス開発の一部で、異なる機器向けにコンパイルする技術を指します。クロス開発は開発全体の環境を指します。
A: クロスコンパイルはクロス開発の一部で、異なる機器向けにコンパイルする技術を指します。クロス開発は開発全体の環境を指します。
Q: なぜ組込みシステムでクロス開発が必要なのですか?
A: 組込み機器は性能やメモリが限られており、直接開発すると効率が悪いため、高性能なホスト機器で開発します。
A: 組込み機器は性能やメモリが限られており、直接開発すると効率が悪いため、高性能なホスト機器で開発します。
関連キーワード: クロス開発, 組込みシステム, クロスコンパイル, ホスト機器, ターゲット機器