반응형

최근에 객체지향의 사실과 오해(조영호) 이라는 책을 읽던 중 도메인 모델 설계멘탈 모델(심성모형)을 통해 설명하는 부분에서 충격을 받았다. 어떻게 이 두 개념의 연관을 이렇게 지을 수 있었을까?


멘탈 모델(심성모형)

나는 인간중심디자인(Human Centered Design)이라는 수업에서 멘탈모델에 대해 배웠었고, DB 모델링이나 프로그래밍을 통해 설계도 조금은 익숙한데 이 두 개념을 전혀 연관을 짓지 못했다.

멘탈모델에 대해 다시 알아보고 싶어서 구글링을 하던 중 귀여운 사례로 멘탈 모델에 대해 설명하는 글을 발견했다. 아래 글을 요약하자면 멘탈 모델이란 어떤 사물이 어떻게 동작할 것이라는 믿는 사고 방식이고, 개개인마다 동일한 사물에 대해서도 멘탈 모델이 다르기 때문에 발생한 귀여운 해프닝에 대한 글이다.

https://brunch.co.kr/@itandesire/1

 

멘탈모델의 세대효과 - 할머니는 왜...

할머니는 왜 구글 검색창에 'Please, thank you'를 썼을까 | 2016년 여름, 영국의 한 할머니 일화가 온라인 상에서 화제가 된 적이 있습니다. 그 손자가 할머니의 구글 검색 내용을 사진 찍어서 트위터

brunch.co.kr

멘탈모델은 디자인, 제품 기획이나 판매, 마케팅의 영역에서 사용자의 사고방식을 이해하기 위한 방법론이나 개념을 언어로 표현한거라고 보면 된다.

디자인, 마케팅, 제품/서비스 기획 등 모든 산업 활동에 연관된 대부분의 학문은 인간에 대한 탐구를 포함한다. 배우다보면 결국 사람을 잘 이해해서 가치를 만들고 이윤을 창출하는 게 목표다. 서로 인지하는 문제나 해결 방법이 달라서 별개의 것처럼 보이지만 끝에 가면 모두 통하는 지점이 있는 것 같다.

어쨌든 멘탈모델이라는 개념을 소프트웨어의 설계 영역인 도메인 모델링과 연관을 짓다니! 이 둘의 연관성은 저자가 다양한 관심사와 공부를 통해 얻은 인싸이트일 수도 있고, 이미 통용되고 있는 개념인데 내가 저자를 통해 알게 된 것일 수도 있다. 어찌 되었든 저자의 수 많은 참고 문헌과 매끄러운 설명을 본다면 저자의 통찰력은 넓고 깊은 지식을 토대로 탄생했다는 생각이 든다.


도메인 설계와 멘탈 모델의 연관성

이번 단락의 대부분은 해당 책(6장 객체지도)에서 발췌한 내용이다.

도메인 모델

도메인 모델은 소프트웨어가 목적하는 영역내의 개념과 개념 간의 관계, 다양한 규칙이나 제약 등을 주의 깊게 추상화한 것이다. 도메인 모델은 소프트웨어 개발과 관련된 이해 관계자들이 도메인에 대해 생각하는 관점이자 멘탈 모델(Mental Model)이다.

멘탈 모델(심성모형)

멘탈모델(심성모형)이란 사람들이 자기 자신, 다른 사람, 환경, 자신이 상호작용하는 사물들에 대해 갖는 모형이다. 사람들은 세상에 존재하는 현상을 이해하고 현상에 반응하기 위해 자신의 마음 속에 멘탈 모델을 구축한다.

책 '객체지향의 사실과 오해' p186

도널드 노먼은 제품을 설계할 때 제품에 관한 모든 것이 사용자들이 제품에 대해 가지고 있는 멘탈 모델과 정확하게 일치해야 한다고 주장한다. 사용자들은 자신의 멘탈 모델과 유사한 방식으로 제품이 반응하고 움직일 것이라고 기대하기 때문에 훌륭한 디자인이란 사용자가 예상하는 방식에 따라 정확하게 반응하는 제품을 만드는 것이다.

도메인 모델은 안정적이다.

  • 도메인 모델을 구성하는 개념은 비즈니스가 없어지거나 완전히 개편되지 않는 한 안정적으로 유지된다.
  • 도메일 모델을 구성하는 개념 간의 관계는 비즈니스 규칙을 기반으로 하기 때문에 비즈니스 정책이 크게 변경되지 않는 한 안정적으로 유지된다. 핵심적인 비즈니스 규칙이 변경되지 않는 한 자잘한 기능의 변화에 대해서 영향을 받지 않고 동일하게 유지될 것이다.

즉, 안정적인 도메일 모델을 기반으로 시스템의 기능을 구현할 경우 시스템의 기능이 변경되더라도 비즈니스의 핵심 정책이나 규칙이 변경되지 않는 한 전체적인 구조가 한번에 흔들리지는 않는다.

도메인 모델은 사람들의 머릿속에 들어있는 공유된 멘탈 모델이다.

사람들이 동일한 용어와 동일한 개념을 이용해 의사소통하고 코드로부터 도메인 모델을 유추할 수 있게 하는 것이 도메인 모델의 진정한 목표다.

도메인 모델이란 사용자들이 도메인을 바라보는 관점(멘탈 모델)이며, 설계자가 시스템의 구조를 바라보는 관점(개념 모델-설계자가 바라보는 멘탈모델)이며, 구현된 코드 자체이다.


반응형