본문 바로가기
나는 모델러다

PIM, PSM

by kooangelo 2025. 2. 12.

MDA(Model Driven Architecture), MDD(Model Drven Development) 에서 등장하는 용어로 다음 2가지 중요한 용어가 있다.


PIM : Platform Independent Model

PSM : Platform Specific Model

PIM은 말 그대로 플랫폼에 독립적인 모델이고, PSM은 플랫폼에 종속적인 모델이다.
그런데 이게 왜 어쨌다는 말인가?

'WHAT' '무엇을' 정의하는 분석단계가 끝나면 PIM 모델이 나오고, 'HOW'를 고민하는 설계단계가 끝나면 PSM 모델이 나온다. 즉 분석단계에서는 플랫폼에 독립적인 모델에 대해 정의하게되므로 어떤 UI Skillset의 특정 함수나 Oracle DB의 어떤 Object가 어떻고 저떻고 다루지 않는다. 그럴 필요가 없다. 플랫폼 독립적이고 HOW가 아닌 WHAT에 대해 고민하는 단계이므로 어떤 화면이 어떻게 구성되고 서버에서 어떤 기능이 작동되어 데이터 저장소에 어떤 형태의 데이터가 저장/조회되면 된다는 업무적인 기능과 데이터에 대해서만 고민한다는 것이다.(방법이 아닌)

그렇게 정의된 PIM을 Java에 Oracle이라는 PSM이든 C# .NET에 MySQL이라는 PSM이든 해당 업무 및 프로젝트 특성에 맞는 기술에 적용하면 된다. 그러면 잘 정의된 PIM은 동종 업계, 도메인에서 재사용도 가능하다. 예를들어 잘 만들어진 A은행의 PIM을 B은행에 적용하여 Customizing후 PSM 설계하여 코딩이 가능하다. 훨씬 시간이 절약될 것이다. 실제로 그러한 PIM을 판매하기도한다.

'나는 모델러다' 카테고리의 다른 글

김익환의 소프트웨어 지혜  (0) 2025.02.18
Polyglot  (0) 2025.02.12
설계? 개발? 설계 및 개발?  (1) 2025.02.12
소탐대실 (小貪大失)  (1) 2025.01.15
구글이 원하는 개발자 - 문제 해결 역량 - 김익환  (0) 2025.01.15