ソフトウェアに関するリバースエンジニアリングの説明として、最も適切な ものはどれか。 ア 実装されたソフトウェアから設計仕様を抽出して、ソフトウェア開発に 利用する。 イ 出力、処理、入力という順にソフトウェアの設計を行う。 ウ ソフトウェアとして実現されていた機能をハードウェアで実現する。 エ ソフトウェアの処理の内容に応じて、開発言語や開発ツールを選択する。