エンベデッドシステムスペシャリスト 2023年 午前2 問18
問題文
ドメインエンジニアリングの説明として、適切なものはどれか。
選択肢
ア:新しい要件や新しい技術要素を取り入れ、既存のソフトウェアのプログラム構造やデータ構造を再設計する。
イ:既存のソフトウェアを解析して、その仕様、構成要素、要素技術などを明らかにし、設計を復元する。
ウ:機能や外部から見た振る舞いを変更せずに、保守性が高くなるようにプログラムを修正する。
エ:対象とする業務分野を特定した上で、業務知識、ソフトウェア部品などを体系的に整備して再利用を促進する。(正解)
🔒 解説は解答すると表示されます
ドメインエンジニアリング【午前2解説】
正解の理由
ドメインエンジニアリングとは、特定の業務分野(ドメイン)を対象に、共通する業務知識やソフトウェア部品などを体系的に整備し、複数のシステムで再利用できるようにする考え方です。
業務分野を特定したうえで、知識や部品を整理し、再利用を促進するという説明に当てはまるのは エ です。
解法ステップ
- 「ドメイン」が、ソフトウェアを適用する特定の業務分野を指すことを押さえます。
- 「エンジニアリング」が、その分野に関する知識やソフトウェア部品を整備する活動だと考えます。
- 選択肢のうち、業務分野を特定し、共通資産の再利用を促進するものを選びます。
選択肢別の誤答解説
- ア:新しい要件や技術に合わせて既存ソフトウェアの構造を再設計する説明です。既存ソフトウェアを作り直す「リエンジニアリング」に近い内容です。
- イ:ソフトウェアを解析し、仕様や設計を明らかにする説明です。これは「リバースエンジニアリング」です。
- ウ:外部から見た振る舞いを変えずに、内部の構造を改善する説明です。これは「リファクタリング」です。
- エ:特定の業務分野に共通する知識やソフトウェア部品を体系化し、再利用を促進する説明です。ドメインエンジニアリングに該当します。
よくある誤解
- 既存ソフトウェアを解析する活動と混同する
既存のソフトウェアから仕様や設計を明らかにするのは、リバースエンジニアリングです。ドメインエンジニアリングの中心は、業務分野に共通する資産の整備と再利用です。 - ソフトウェアを再設計する活動と混同する
既存ソフトウェアの構造を見直すこと自体が、ドメインエンジニアリングの定義ではありません。複数のシステムで使える共通資産を作ることが重要です。 - 再利用を、既存プログラムのコピーだけだと考える
再利用の対象はプログラムだけでなく、業務知識、設計、部品なども含みます。
補足コラム
ドメインエンジニアリングでは、対象分野のシステムに共通する部分と、システムごとに異なる部分を整理します。こうして整備した共通資産を活用すると、個々のシステムを一から開発するより、開発効率や品質の向上が期待できます。
FAQ
Q. ドメインエンジニアリングの「ドメイン」とは何ですか?
A. 対象となる業務分野や適用領域のことです。たとえば、金融、物流、医療などが該当します。
A. 対象となる業務分野や適用領域のことです。たとえば、金融、物流、医療などが該当します。
Q. ドメインエンジニアリングは、完成したソフトウェアを再利用するだけの活動ですか?
A. いいえ。ソフトウェア部品に加え、業務知識や設計など、開発に役立つ共通資産を体系的に整備する活動です。
A. いいえ。ソフトウェア部品に加え、業務知識や設計など、開発に役立つ共通資産を体系的に整備する活動です。
関連キーワード: ドメイン、ソフトウェア再利用、リバースエンジニアリング、リエンジニアリング、リファクタリング

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

