====== モデルの分類 ======
{{page>adsense:ads_content_header&nouser&nodate&nomdate&noeditbtn}}
モデルは以下のように様々な視点から分類することができます。
* 言語・表記法
* 対象
* 領域・局面
* 静的か動的か
* 論理か物理か
本トピックでは、各視点からのモデルの分類をそれぞれ説明します。
=====言語・表記法による分類=====
モデリング技法は、その仕様や成果物を言語・表記法としてまとめて公開されます。
以下によく使用されているモデリング言語・表記法を取り上げます。
|< 90% 40px 60px - 70px 120px 100px >|
^No.^言語^説明^SubNo.^表記法^説明^
|1|UML|Unified Modeling Language
統一モデリング言語|-|-|-|
|2|BPMN|Business Process Modeling Notation
ビジネスプロセスモデリング表記法|-|-|-|
|3|ERD|Entity-Relationship Diagram
実体関連図|1|IDEF1X|-|
|:::|:::|:::|2|IE表記|-|
|4|DFD|Data Flow Diagram
データフロー図|1|Yourdon&Coad記法|-|
|:::|:::|:::|2|Gane&Sarson記法|シンボルは4つのみ|
|5|FlowChart|流れ図|-|JIS. X. 0128. -1988|-|
モデリング技法は、基本的に形式化されたシステム言語を使用してモデルを記述しますが、UMLのユースケースのように自然言語で記述されるモデルもあります。
=====対象による分類 =====
モデリング対象によって、モデルを以下のように分類することができます。
|< 90% 8% 20% - 10% 10% 10% 10% >|
^No.^対象^UML2.0^BPMN^ERD^DFD^流れ図^
|1|ビジネス|アクティビティ図
ユースケース図
コミュニケーション図
クラス図
オブジェクト図|○|○|○|○|
|2|組織|クラス図
配置図|×|○|×|×|
|3|データ|クラス図
オブジェクト図
パッケージ図|×|○|×|×|
|4|システム|コンポーネント図
パッケージ図
クラス図
オブジェクト図
配置図
アクティビティ図
シーケンス図
コミュニケーション図|×|○|○|○|
|5|プログラム|クラス図
コンポジット構造図
オブジェクト図
パッケージ図
アクティビティ図
ステートマシン図
シーケンス図
コミュニケーション図|×|○|○|○|
===== 領域・局面による分類 =====
モデルの種類としては、「問題領域(problem domain)」モデルと「解決領域(solution domain)」モデルの二つに大別することができます。
* 問題領域モデル \\ 「何(what)」をするのかをモデル化したものです。
* 解決領域モデル \\ その「何」をどう実現するのかをモデルしたものです
問題領域モデルと解決領域モデルは、目的に応じてさらに細分化されます。
^領域^モデル^
|問題領域|ドメイン分析モデル|
|:::|要求分析モデル|
|解決領域|システム分析モデル|
|:::|設計モデル|
|:::|実装モデル|
* ドメイン分析モデル \\ 現実世界をモデリングしたモデルです。
* 要求分析モデル \\ やりたいことをモデリングしたモデルです。
* システム分析モデル \\ プログラミング言語や実行環境といった実現方法に依存しない、ITシステムとして本質的なレベルでの解決方法をモデリングしたモデルです。
* 設計モデル \\ プログラミング言語や実行環境を前提に具体的な実現方法をモデリングしたモデルです。
* 実装モデル \\ プログラミング言語などによる実装を指します。
===== 静的か動的かによる分類 =====
モデルを静的モデルと動的モデルに分類することができます。
* 静的モデル \\ 静的な構造に関するモデルです。
* 動的モデル \\ 動的挙動に関するモデルです。
|< 90% 8% 20% - 10% 10% 10% 10% >|
^No.^区分^UML2.0^BPMN^ERD^DFD^流れ図^
|1|静的モデル|クラス図
コンポジット構造図
コンポーネント図
配置図
オブジェクト図
パッケージ図|×|○|×|×|
|2|動的モデル|アクティビティ図
ユースケース図
ステートマシン図
相互作用概要図
シーケンス図
コミュニケーション図
タイミング図|○|×|○|○|
===== 論理か物理かによる分類 =====
モデルを論理モデルと物理モデルに分類することができます。
* 論理モデル \\ 概念上のモデルやプログラム内に存在するオブジェクトに対するモデルです。
* 物理モデル \\ ファイルやノードなど具体的に扱うことができるリソースに対するモデルです。
|< 90% 8% 20% - 10% 10% 10% 10% >|
^No.^区分^UML2.0^BPMN^ERD^DFD^流れ図^
|1|論理モデル|クラス図
コンポジット構造図
コンポーネント図
オブジェクト図
パッケージ図
その他振る舞いを表現する図|○|○|○|○|
|2|物理モデル|コンポーネント図
配置図
その他振る舞いを表現する図|○|○|○|○|
{{page>adsense:ads_content_footer&nouser&nodate&nomdate&noeditbtn}}