【ぴーあいえむ】
PIM(プラットフォーム非依存モデル) とは?
公開:
💡 技術を選ぶ前に、システムの仕組みを描く
PIMは、対象とする特定の実装基盤に依存せず、システムの構造や振る舞いを表すモデル。モデル駆動開発のMDAで使われ、業務のルールと実装技術の選択を分けて考えるために役立ちます。
📌 このページのポイント
- PIMはPlatform Independent Modelの略で、MDAで使うモデルの一つ
- 注文と明細の関係や合計金額の計算など、構造と振る舞いを表す
- 選んだ基盤の詳細を加えたモデルがPSMで、一つのPIMから複数のPSMを考えられる
- 単なる概要図ではなく、変換や実装につながる意味と詳細が必要
PIMって、どんなことを書くの?
PSMとはどう違うの?
PSM(プラットフォーム依存モデル)は、選んだ基盤にどう実装するかを反映したモデルだよ。例えば注文をJavaのクラスへ対応づけるPSMと、C#のクラスへ対応づけるPSMを考えられる。同じ業務ルールを出発点に、技術ごとの設計へつなぐんだ。
ざっくりした図があればPIMになる?
ざっくりしているかどうかだけでは決まらないよ。モデルの要素や関係、処理の意味を明確にすることが大切なんだ。変換するための情報が足りなければ、ツールが意図を補ってくれるとは限らない。PIMにも詳しい制約や振る舞いを表せるよ。
UMLの図を使わないとダメ?
もっと詳しく知りたい人へ
PIMには技術的なことを一切書けない?
一切書けないわけではありません。OMGの説明では、特定基盤の詳細を避けながら、永続化やトランザクションなどの性質を含むモデルも扱います。どの基盤の固有情報から独立させるかを決めることが重要で、「業務の概要だけ」という意味ではありません。
まとめ:ざっくりこれだけ覚えればOK!
「PIM」って出てきたら「特定の実装技術から切り離して、システムの仕組みを表すモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Platform Independent Model」 = プラットフォーム非依存モデル
💬 Independentは「独立した」という意味。MDAでは、対象とする実装基盤の固有の事情から切り離してモデルを考えるんだよ。