어떻게 하면 모델링을 잘할 수 있을까?
<순차도로 사태를 하나씩 것과 곳과 쪽으로 차려내기>를 읽고 모델링을 공부하는 두 분이 피드백을 주셔서 이를 토대로 쓰는 글입니다.
지난 글에서 모델링 지식을 최봉영 선생님께 배운 한국말 지식을 활용하여 설명을 시도하며 만든 문구가 '것과 곳과 쪽으로 차려 내기'였습니다.
한국말이지만 생소한 내용을 나름대로 소화해서 자신의 생각으로 만들어 글로 풀어내는 모습이 가장 먼저 놀라웠습니다. 그중 하나가 J의 작품입니다. :)
이를 두고 놀라움을 느낀 배경을 해설해 보겠습니다.
앞서 <사고와 인식과 표현의 주체인 임자로 욕망을 바라보기>란 글을 쓴 적이 있습니다. 우리의 사고와 인식의 배경에 대해 설명을 시도했던 글인데, 그중에서 이번에는 ‘사태와 것‘에 대해서 좁혀서 생각해 보겠습니다.
저는 종종 가족들과 산행을 하며 모두가 자기 관심사에 따라 다른 모습을 본다는 사실을 깨닫게 되었습니다. 그 경험을 바탕에 두고 '사태와 것'을 살펴볼까요?
산 길을 걸을 때 가족 구성원 모두가 '무엇에서 일어나는 무슨 일'을 볼 때 저마다 다른 것들을 보고 다른 것들을 연상한다는 사실을 아주 쉽게 확인할 수 있습니다. 예를 들면, 식물에 관심이 많은 아내는 알고 있는 식물을 찾거나 눈에 띈 식물의 이름을 떠올리는 일은 자연스럽게 합니다. 그에 반해 아이들은 지난번에 같은 길에서 겪었던 기억을 떠올려 저에게 이야기하는 일을 즐기곤 합니다
앞서 <아장스망: 배치를 바꿔야 삶이 바뀐다>에서 인용했던 최봉영 선생님의 사태에 대한 정의를 먼저 보겠습니다. 이어서 사태(事態)를 씨말로 풀어 보면 事(일 사)와 態(모습 태)가 합쳐져서 만들어진 말입니다.
우리 가족들이 등산하며 보는 장면은 같은 사태라고 할 수 있습니다. 그런데 각자의 머릿속에서는 다른 것들이 일어나는 것으로 보이는 것이죠.
모델은 모델러가 '나는 사태를 어떻게 보는가?'에 대한 답을 쓴 것이라 할 수 있습니다. 이때 사태의 부분을 이루는 것들을 먼저 꼽게 됩니다. 서로 다른 것을 꼽기는 하지만 그렇게 일부를 추려 사태를 파악하는 인식 자체한다는 점은 비슷합니다. 그래서 J가 정리한 내용을 가져와서 '것'에 대한 그녀의 정리를 해설해 보겠습니다.
사태의 정체성을 이루는 요소들 중에 서로 성격이 다른 것들이 분리되어 드러납니다. 이들을 '것'이라고 통칭할 수 있고, 이들에 정체성을 부여하는 과정이 이름을 붙여 주거나 붙여 주는 것이죠.
정체성이란 단어를 보고 이름이란 말을 쓰고 나니 수없이 들었던 김춘수 시인의 '꽃'이 떠오르기도 합니다. 정체성 부여의 의미를 기억하는데 도움이 되었으면 하는 마음에 인용합니다.
일단 저라는 사람을 추상화해서 가볍게 모델링해 보겠습니다. 제 이름이 갖는 기능은 저라는 사람이 같은 정체성을 지니도록 합니다. 하지만, 정체성이 같다고 해도 저를 대하는 사람마다 제 이름을 들으면 다른 느낌과 기억을 같게 됩니다.
그런 서로 다른 인식 중에서 소프트웨어 개발은 쓸모에 초점을 맞춥니다. 관계를 두고 쓸모를 생각하는 경향은 소프트웨어를 만든다는 일의 특성에 기인합니다. 소프트웨어 제작은 특정 기능을 대신하는 일종의 에이전트를 만드는 일이기 때문이죠.
최봉영 선생님은 '쓸모'를 설명할 때 모난 돌들을 맞춰서 틈을 좁혀가며 돌담을 쌓는 일을 배경으로 설명을 하셨습니다. 설명을 들을 때 각각의 쓸모를 찾아 맞춰가는 조화와 균형이 느껴졌습니다.
쪽에 대해서는 J가 표현한 내용도 나름 의미가 있었지만, 맥락(Context)이 다른 두 집단을 전제로 제한한 듯한 인상을 줍니다. 하지만, 쪽은 마주하기만 하면 발생합니다. 제가 쓴 글이 오해를 낳게 했나 돌아보게 했습니다.
사전을 찾아보거나 파파고 번역을 해 보면 쪽은 '마주한 대상이 있을 때' 비로소 발생하는 일종의 방향 개념입니다.
그래서 이것저것 사이에 관계가 생기면 기본적으로 이쪽과 저쪽이 생깁니다. 만일 객체지향 프로그래밍이 익숙한 분이라면 어떤 객체가 다른 객체를 멤버로 참조하면 쪽으로 인식할 수 있습니다. 그쪽을 부르는 이름이 멤버 변수이기도 하죠. 마치 처음 만난 사이에서 '그쪽은 이름이 뭡니까?'라고 묻고 이름을 알게 된 후에 다시 그에게 말을 걸기 위해 이름을 기억하는 일이 멤버 변수에 이름을 붙이는 일에 대응한다고도 할 수 있습니다. 이것과 저것이 객체로 한정할 때는 그렇습니다.
그런데, 어떤 집단에 속하는 것(객체)을 언급할 때는 쪽이 다른 의미가 됩니다. <우리의 터전인 '쪽인 나' 그리고 變-易-化>에서 소개한 바로 그쪽 개념이자 '쪽 팔리다'라고 말할 때의 그쪽이죠.
이 경우라면 J의 정리처럼 컨텍스트 혹은 DDD의 Bounded Context에 대응시키는 것이 훌륭한 추상화 활용이라 할 수 있습니다.
3. 모델링을 Actor로 시작한다는 의미는 무엇인가?
5. 사고와 인식과 표현의 주체인 임자로 욕망을 바라보기
6. 모델을 그리기 전에 '생각의 종이'부터 준비하세요
7. 순차도로 사태를 하나씩 것과 곳과 쪽으로 차려내기