IDEF0

IDEF0 は、情報システム、事業プロセス、あるいはソフトウエア工学の分析、開発、リエンジニアリング及び統合のためのモデリング言語を提供する、製造機能を記述するための機能モデリング手法である 。

IDEF0は、ソフトウエア工学分野でのモデリング言語であるIDEFファミリ手法の一部であり、機能モデリング言語SADTに基づき構築されている。

1. 全貌
-----

IDEF0 機能モデリング手法は、組織又はシステムの意思決定、行動、あるいはアクティビティをモデル化するよう設計された。それは、ダグラス・テイラー・ロスとSofTech社によって開発された、確立した図式モデリング言語SADTから派生した。そのオリジナル形式で、IDEF0は、図式モデリング言語の定義と、モデル開発のための包括的手法論の解説の両方を含んだ。 米空軍は『システムの機能的観点を分析しコミュニケートする機能モデリングFunction_model手法を開発した。IDEF0は、単純化された図式手段を通して分析者と顧客間のシステム分析を組織化し、効率的コミュニケーションを促進することで補助すべきである。』ことをSADT開発者に委託した。

フローチャートは、製品productの機能的流れを示すため使われるところで、IDEF0は、ライフサイクル・プロセスのデータフロー、システム・コントロール、及び機能的フローを示すため使われる。IDEF0は、事業、製造、あるいは事業体運営のその他のタイプの広く多様な姿をあらゆる詳細さのレベルまで、図的に表現する能力を持っている。それは、厳密で正確な記述を提供し、そして用途や解釈の整合性を促進する。それは、政府や民間産業による長年の活用を経て良くテストされ証明されている。それは、各種のコンピュータ・グラフィック・ツールで生成される。幾つかの商用製品が、IDEF0ダイアグラムとモデルの開発と分析を特別に支援する。

関連する技術である、情報モデリングのための統合定義は、データ指向システムのためのIDEF0を補足するため使われる。IDEF0標準：連邦情報処理標準公開183とIDEF1X標準は、アメリカ国立標準技術研究所によって維持されている。

2. 歴史
-----

1970年代に、米空軍のICAMプログラムは、コンピュータ・システムの体系的な応用を通して製造生産性を増大させることを求めた。ICAMプログラムは、製造生産性の向上に係わる人々のためのよりよい分析とコミュニケーション技術の必要性を認識した。結果として1981年にICAMプログラムは、以下を含むIDEF技術として知られる、一連の技術を開発した ：

IDEF0：機能モデルを作り出すため使われる。機能モデルは、モデル化されるシステム又は主題領域内で、機能、アクティビティ、あるいはプロセスの構造化された表現である。
IDEF1：『情報モデル』を作りだすため使われる。情報モデルは、モデル化されるシステム又は主題領域内で、情報の構造と意味を表現する。
IDEF2：『動的モデル』を作り出すのに使われる。動的モデルは、モデル化されるシステム又は主題領域の時系列的振舞い特性を表現する。米空軍の統合情報システム支援 プログラムは、1983年にIDEF1情報モデリング技術を、意味論的データ・モデリング技術としてIDEF1Xの形式に拡張した。1990年代までに、IDEF0とIDEF1X 技術は、事業体とアプリケーション・ドメインの広い範囲のモデリング努力を支援して、政府、産業界、及び商業セクターで幅広く使われた。1991年にNISTは、国防省の企業情報管理オフィスから、モデリング技術の一つ以上の連邦情報処理標準化の支援を受けた。選ばれた技術は、機能モデリングのIDEF0と情報モデリングのIDEF1Xであった。これらのFIPSドキュメントは、1980年代初期に米空軍より発行されたIDEFマニュアルに基づいている。

3. IDEF0 トピックス
--------------

3.1. IDEF0 アプローチ
----------------

IDEF0は、幅広い多様な自動化及び非自動化システムのモデル化に使われるかもしれない。新規システムのためそれは、要求requirementsを定義し、機能を特定し、そのあとその要求に合致し機能を実行する実装を設計するため使われるかもしれない。既存のシステムのためIDEF0は、そのシステム実行の機能を分析し、それらによって行われた機構を記録することに使われる。システムにIDEF0を適用した結果は、階層化された一連のダイアグラムで構成するモデルであり、それぞれお互いへのクロス参照の用語集である。2つの主なモデリング構成要素は、機能とそれらの機能の相互関係であるデータやオブジェクトである。

3.2. IDEF0 構築ブロック
-----------------

この左側に表示されるIDEF0モデルは、シンプルな構文Syntaxに基づいている。各アクティビティは、ボックス内に置かれる動詞句ベースのラベルによって記述される。//入力//はアクティビティ・ボックスの左側に入る矢印として示される一方、//出力//はボックスの右側に存在する矢印として示される。//制約//はボックスの上部に入る矢印として示され、そして//機構//はボックスの下部から入る矢印として表示される。//入力//、//制約//、//出力//、及び//機構//は全て//概念//として参照される。

//矢印// : 源泉から使用へデータ又はオブジェクトを運ぶオープンなチャンネルあるいは導管をモデル化する、一つ以上の矢印セグメントから成る、方向性のあるライン。4つの矢印クラスが存在する：入力矢印、出力矢印、制約矢印、及び機構矢印。矢印セグメント、境界矢印、内部矢印を見てください。
//ボックス// : 機能を記述するため使われる名前と番号を含む、四角。

//文脈// : 一つの機能を運用する直近の環境。
//分割// : 一つのモデル化された機能の、その構成要素機能への区分。

//分岐// : 一つのIDEF0矢印セグメントが、2つ以上の矢印セグメントに分かれる接合点。アンバンドルの意味を示すかも。

//機能// : アクティビティ、プロセス、あるいは変換は、何が達成されねばならないかを記述する動詞又は動詞句によって識別される。
//合流// : 一つのIDEF0矢印セグメントが、1つの矢印セグメントを形成するため1つ以上の他の矢印セグメントと合流する接合点。矢印セグメントのバンドルを意味するかも。
//ノード// : 子供ボックスを生ずる一つのボックス；親ボックス。ノード・インデックス、ノード・ツリー。ノード番号、ノード参照、ダイアグラム・ノード番号も見てください。

3.3. 図式表記
---------

IDEF0は、階層的な一連のダイアグラム、テキスト、及び他との相互のクロス参照の用語集から構成される。2つの主な構成要素は：

機能と
それらの機能の相互関係であるデータやオブジェクト。図3で示されるように、ボックスに接する場所は、インタフェースの特定な役割を伝える。制約はボックスの上部に入る。その運用で行動するデータやオブジェクトである、入力は左からボックスに入る。その運用の出力はボックスの右側側面から出る。機能の実行の支援手段を提供する機構の矢印はボックスの下部結合される。

3.4. IDEF0のプロセス
---------------

IDEF0のプロセスは、分割されるべき最上位の機能の識別で始められる。この機能は、特定なIDEF0分析のスコープを定義する『最上位文脈ダイアグラム』上で識別される。情報システム管理プロセスの最上位文脈ダイアグラムの例が、図3に示される。このダイアグラムから下位ダイアグラムが生成される。派生されたダイアグラム例は、IDEF0用語で『子供』と呼ばれ、ライフサイクル機能のため、図4で示される。

3.5. 連邦情報処理標準
-------------

1993年12月NISTは、ソフトウエア標準の分類、モデリング技術で機能モデリングのための統合化定義の標準を発表した。この公開は連邦情報処理標準としてIDEF0の採択を発表した。この標準は、1981年からの米空軍のWright Aeronautical LaboratoriesのICAM基づいた。

4. 脚注
-----

5. 参考文献
-------

[1] Defense Acquisition University Press, 2001.

6. 関連項目
-------

機能モデル
機能フロー・ブロック・ダイアグラムFunctional flow block diagram
IDEFファミリ手法
IDEF1X
IDEF3
IDEF5

7. 外部リンク
--------

[2] released of IDEFØ December 1993 by the Computer Systems Laboratory of the National Institute of Standards and Technology . 
[4] at www.idef.com