正解は エ
マッシュアップ(mashup)は、Web上で公開されている複数のサービスやAPI(プログラムが他のサービスの機能やデータを利用するための接続口)を組み合わせて、元のサービスにはなかった新しい付加価値のあるサービスを作り出す手法です。代表例として、地図サービスのAPIと、店舗情報や口コミのデータを提供するサービスを組み合わせて、地図上に店舗を表示する新しいサービスを作る、といったものがあります。各サービスの機能を自前で開発するのではなく、既存の公開サービスを「混ぜ合わせて(mash up)」活用する点が特徴です。選択肢dの「公開されている複数のサービスを利用して、新たなサービスを提供する」が、マッシュアップの定義として正しく、正解です。他の選択肢を確認すると、既存プログラムから仕様を導き出すのはリバースエンジニアリング、既存プログラムを部品化して組み合わせるのは部品化・コンポーネント再利用、クラスライブラリを利用した開発は一般的なライブラリ利用であり、いずれも「公開されている複数のWebサービスを組み合わせる」というマッシュアップの特徴とは異なります。外部の公開サービスを組み合わせる点がマッシュアップの鍵です。
マッシュアップ=公開されている複数のWebサービスやAPIを組み合わせて新しいサービスを作る手法(例:地図API+店舗情報)。リバースエンジニアリング(仕様の導出)、部品化・ライブラリ利用とは区別する。