단순화, 추상화, 구조화, 시각화
모델링이란?
모델링이란 현실세계나 머리속의 상상세계 등을 추상화, 단순화시켜 모델을 만드는 과정이다. 이렇게 만들어진 모델은 다시 현실세계나 상상세계에서 그대로 혹은 비슷하게 의도한 대로 구현하는데 쓰일 수 있다. 모델링이 필요한 이유는 눈에 보이지 않는 것을 설명하기 위함이다. 이를 통해 우리는 의사소통, 핵심파악, 문제해결, 교육•훈련, 연구•개발, 시뮬레이션 등을 할 수 있다.
모델링 언어인 UML을 만든 인물 중 Grady Booch는 <Aesthetics of Simplification(단순화의 미학)>에서 "모델이란 단순하게 표현된 실제 세계"라 했다. 복잡한 실제 세계를 단순하게 표현하기 위해서는 표현해야만 하는 부분은 정확히 반영하고, 표현하지 않아도 되는 부분은 과감히 생략하는 단순화가 필요하다. 이러한 과정이 모델링이며 모든 엔지니어링 분야에서 광범위하게 사용되는 검증된 기법이다.
우리가 개집을 만들 때는 개인이 혼자 만들 수 있는 수준이므로 시행착오를 거쳐 뚝딱뚝딱 만들면 되지만 가족이 살 집이라면 이야기가 달라진다. 집만 하더라도 각종 배관에 냉난방, 조명 등 신경써야 할 것이 한 두가지가 아니다. 하물며 고층건물이랴.
모델링의 방법
단순화
모델링의 방법을 한마디로 표현하면 단순화인데 단순화가 사실 단순하지 않다. 단순화를 위해서는 복잡한 세상을 간단히 표현하기 위해 선택과 집중을 해야한다. 그러면 어떤 기준으로 선택할 것인가의 문제와 만난다. 목적을 위해 필요한 기능이면 선택한다.
추상화
위에서 선택한 것이 많다면 그것도 문제가 된다. 그럴 때 추상화가 필요하다. 모든 개념은 상하좌우 혹은 전혀 상관이 없는 관계가 있다. 그런 관계를 구별지어 비슷한 수준끼리 묶어야 간단히 표현이 가능하다. 이것을 추상화라 한다.
구조화
추상화 수준을 맞추고 나면 각 요소간의 관계가 드러난다. 예를들면 수직관계, 수평관계, 인과관계, 순차관계 등을 발견할 수 있다. 오해 마시라. 머리속에서 보여진다는 의미이다.
시각화(가시화)
구조까지 파악이 되고나면 시각화를 통해서 그것을 표현할 수 있어야 한다. 눈에 보이면 구조가 더 명확해지고, 잘못 연결이 되었거나 누락된 관계, 중복된 관계 등을 발견하기 쉬워진다.
이 방법이 꼭 순차적으로 이루어지는 것은 아니다.
모델의 종류
모델링의 결과는 모델이다. 모델의 종류는 관점에 따라 여러가지로 나누어볼 수 있다.
물리적 모델과 개념적 모델 : 모델링 대상에 대한 구분으로 물리적 모델은 시스템 관점이라면 개념적 모델은 비즈니스 관점에서 나온 모델이다. 데이터베이스 설계를 할 때는 개념적 모델과 물리적 모델 사이에 논리적 모델을 두어 구현한다.
시뮬레이션 모델과 분석 모델 : 모델링 목적에 따라 앞은 시뮬레이션을 통해 현실세계를 유추하려고 만든 모델이며, 뒤는 복잡한 현실세계를 이해하기 위해 만든 모델이다.
정적 모델과 동적 모델 : 정적 모델은 주체나 객체의 관계를 표현한 모델이며, 동적 모델은 주체나 객체의 행위, 영향, 순서 등을 표현한 모델이다.
확정적 모델과 확률적 모델 : 수학 공식이나 물리법칙과 같이 정확한 수식으로 표현하는 것이 확정적 모델이며, 퍼지이론이나 논문에 이용되는 통계적접근방법이 확률적 모델이다.
이산적 모델과 연속적 모델 : 경우의 수와 같이 참, 거짓이 측정되는 모델을 이산적 모델이라 하고, 숫자를 분리해낼 수 없는 연속적인 측정치를 표현하는 것을 연속적 모델이라 한다.