Nラボ備忘録

TAKE IT EASY

MENU

リバースエンジニアリング/フォワードエンジニアリング/リエンジニアリングの違い【備忘録-基本情報技術者試験対策 #4】

※ 本記事では、基本情報技術者試験の対策として私が勉強したことを備忘録的にまとめておきたいと思います。
少しでも参考になれば嬉しいです。


はじめに

本記事では、基本情報技術者試験対策として混同しがちな リバースエンジニアリングとフォワードエンジニアリング、 そして、リエンジニアリング の違いについてまとめたいと思います。



ちなみに私はこの参考書を使って勉強してました。

漫画形式で読みやすく、分かりやすい内容になっているため、無理なく学習を進められると思います。
過去問を解きまくり、不明点があれば参考書で知識を補う、このサイクルで試験対策するのが私のオススメです!

リバースエンジニアリング/フォワードエンジニアリング/リエンジニアリング

リバースエンジニアリング

既存の製品を分析することで、構造や仕組みを明らかにすることです。

ソフトウェア製品、ハードウェア製品問わず使われる言葉です。

リバースエンジニアリングの利用目的

リバースエンジニアリングの目的には、以下のようなものが挙げられます。

  • 古くて仕様書が残されていない製品の構造を知るため
  • 仕様書にも残されていない詳細な情報を知ることで、セキュリティ対策向上を図るため
  • 既存の製品を分析して新しい製品を生み出すため

また、リバースエンジニアリングは悪い目的にも使用されるため、注意が必要です。(様々な情報が分かってしまうが故の弊害というわけですね。)

ソフトウェアに対するリバースエンジニアリング

動作の解析や、逆コンパイルによるソースコードの抽出などにより、仕様書や設計書などが得られます。

ハードウェアに対するリバースエンジニアリング

機械を実際に分解したり、動作を解析することにより、製品の設計図や回路網などの情報が得られます。

フォワードエンジニアリング

リバースエンジニアリングによって明らかとなった仕様書や設計書を用いて、 新たな製品を生み出すことです。

ただし、フォワードエンジニアリングは知的財産権の侵害などにあたる場合もあるので、注意が必要です。

リエンジニアリング

企業や組織内において、既存のルールや管理体制、制度などを抜本的に見直し、 再構築することで改善を図ること。

こうやって覚えよう!

特に混同しやすいのはリバースエンジニアリングとリエンジニアリングですよね。

そんなときは英語の意味と紐づけて覚えましょう。

Point

  • リバース →「reverse」:「反転する」
    既にある製品を外側から見るのではなく、反転させて内側、すなわち内部の仕組みを見るイメージですね。
    リバースエンジニアリング
  • リ →「re」:「再」や「繰り返し」
    問題点を抜本的に見直し再構築する、繰り返し改善を図るイメージですね。
    リエンジニアリング


このように考えると、頭に定着しやすいですね。私も整理できました。

しっかり対策をして、試験合格目指しましょう!

以前まとめた記事も読んでもらえると嬉しいです!

nlab-notebook.com