システムの再設計技法について

システムの再設計技法とは

システムの再設計技法(Re-Engineering)とは

システム再設計技法(リエンジニアリング)とは、既存のシステム/ソフトウェアを解析し、その結果からシステムを再構築するプロセスのことです。
つまり、既存のシステム/ソフトウェアを解析することで設計情報を取り出し、それに得られた知見に基づいて新しいシステムを構築する手法のことです。

再設計プロセスを実施する目的は、新たな要件や技術への対応を行うことです。
例えば、既存システムの老朽化や市場ニーズ対応のために改善(パフォーマンス向上、保守性向上、機能性向上など)を実施する場合が挙げられます。
その他にも、競合他社製品に対する類似(模倣)機能をリリースすることで、市場優位性を確保する場合もあります。
(模倣の場合、法的リスクがあるため注意が必要です。後述します。)

一般的な再設計のプロセスとしては、リバースエンジニアリングとフォワードエンジニアリングの2つの工程を実施します。


リバースエンジニアリング(Reverse Engineering)とは

リバースエンジニアリングとは、既存のシステムやソフトウェアを調査・分析して、設計方法や実装仕様などを明らかにすることです。
既存品からそのメカニズムをモデル化して開発を実施するように、一般的な製造工程と逆の工程で進めるため、「逆行工学」とも呼ばれています。

リバースエンジニアリングのメリットは、開発コスト削減と開発期間の短縮ができることです。
ゼロから製品を製造する場合、白紙に設計図を書くところから始めなければなりません。
しかしリバースエンジニアリングでは、既存の完成品から逆工程にて製品を分析しながら、設計や製造に関するさまざまな情報を入手できます。


フォワードエンジニアリング(Forward Engineering)とは

フォワードエンジニアリングとは、リバースエンジニアリングによって明らかとなった仕様書や設計書を用いて、新たな製品を生み出すことです。
この手法における開発工程自体は、仕様書から実装、評価、リリースしていく流れであり、通常の開発方法と変わりはありません。
リエンジニアリングというプロセスにおける再構築プロセスをフォワードエンジニアリングといいます。


リバースエンジニアリングの法的リスクについて

リバースエンジニアリングという行為自体は違法ではない。

2018年、著作権法の改正に伴い「柔軟な権利制限規定」が整備されました。
これを受けて同年に文化庁が公表した「デジタル化・ネットワーク化の進展に対応した柔軟な権利制限規定に関する基本的な考え方 」において「調査解析を目的としたプログラムの著作物利用は、その機能を享受することに向けられた利用行為に該当しない」と示しています。

このように、リバースエンジニアリングは法律上でも開発手法の一種として認められています。
実際に、既存製品を解析して得た情報の活用は、多くの企業が積極的に取り入れている手法となっています。
しかし、解析して得た情報の利用方法によって違法になるケースがあるので注意が必要です。


リバースエンジニアリングと知的財産権

リバースエンジニアリングという行為自体は知的財産権の侵害に該当しません。
しかし、リバースエンジニアリングにより明らかになった技術や設計を利用することは知的財産権の侵害に該当する場合があります。
他社が開発した技術やメカニズムを流用した製品開発は知的財産権の侵害となります。

知的財産権を構成する各権利では、以下のような見解となります。
(知的財産権についてはソフトウェアライセンスについてを参照ください。)

法律 法律の説明 違法性の見解
特許権 特許権は、特許を受けた権利者がその発明を一定期間独占できる権利です。
保護対象となる「発明」が含まれる部品をリバースエンジニアリングすると抵触します。
実用新案権 実用新案権は、物品の形状、構造又は組み合わせに係る「考案」を保護する権利です。 技術的思想の創作が含まれる部品をリバースエンジニアリングすると抵触します。
意匠権 意匠権は、物品や建築物、画像に関する意匠(デザイン)を保護する権利です。 模倣品の製造・販売を目的としたリバースエンジニアリングを行うと抵触します。
不正競争防止法 不正競争防止法とは、事業者間の公正な競争を維持することを図るための法律です。 正規ルートで入手した製品をリバースエンジニアリングすることは問題ありません。
しかし、未販売の製品や不正入手した製品をリバースエンジニアリングすることは法律に抵触します。


関連ページ