情報システムを開発する際に、ユーザーとコンピュータ・ベンダー、ソフトハウスの3者間で共通の尺度を持つための枠組みです。
情報システムの企画から、開発、運用、保守、およびそれらに関するさまざまな作業内容を、標準的な作業項目とその中身に分類します。
それぞれの作業項目は、プロセス、アクティビティ、タスクの3階層で表現されます。
リバースエンジニアリングとは、既存のプログラム(ソースコード)から、その仕様を導き出す技術やその行為のことです。
目的は、ハードウェアやソフトウェアのコピー製品や競合製品、または互換製品を作るために行われ、セキュリティホールやバグの特定を行うためにもこの手法が用いられます。
コピー製品などを作ってしまうと、やり方によっては特許権や著作権の侵害となりますので、注意が必要です。