감히 시도하는 설계의 정석
<줏대와 관점: 비슷한 듯 다른 두 낱말을 두고 따지기>에서 따져 보았던 관점에 대한 이야기를 쓰려고 합니다.
그렇지만, 지난 글과는 달리 소프트웨어 설계 관점에서 '관점' 인식의 중요성에 대해 쓰려고 합니다. 방금 전에 '관점의 중요성'이라고 쓰려다가 '관점 인식의 중요성'이라고 수정하면서 깨달았습니다. 우리가 현상을 이해할 때, 주변 맥락이나 관련한 사람들의 욕망을 놓쳐서 일이 되지 않는 방향으로 노력을 한다는 점이죠.[1]
그랬더니 위키피디아에서 본 Viewpoint 페이지에서 본 뷰 모델이 눈에 띄었습니다.
관점 모델 — 복잡한 시스템을 인간 엔지니어가 더 잘 이해할 수 있도록 하는 컴퓨터 과학 기법
그래서 뷰 모델 페이지에 들어갔더니 어딘가 낯이 익었습니다. 아마도 <if문을 실행할 수 있는 수준이라면 모두 액터다!>를 쓸 때 살펴본 기억이 흐릿하게 있습니다.
나아가 페이지에서 소개된 예인 3 스키마 모델이나 4+1 뷰 모델은 과거에 오랫동안 활용했던 방법으로 기억 속에 확고하게 자리를 차지하고 있는 개념입니다.
그런데, 특정 뷰 모델을 익혀서 그걸 쓰는 것이 아니라 자신의 상황에 맞춰서 뷰 모델을 파악하려면 TEAF처럼 View와 Perspective를 각각 가로와 세로축으로 써서 사고의 틀을 맞추는 방식이 좋아 보입니다.
그런데, 설명을 읽어도 머리에 잘 들어오지 않아 두 개념의 차이를 퍼플렉시티에게 다시 묻고 표로 정리해 달라고 요청했습니다.
초점을 뽑아 추려 보려고 시도해 보면 Perspective는 '관심사'나 '특정 측면'을 다루는 관점이고, View는 '이해관계자(혹은 그들의 욕망)'와 '목적'에 관점(viewpoint)을 두고 나온 구체적 결과라 보입니다. 이번에는 UML 표현으로 그려 달라고 했습니다.
UML 클래스도 명확하게 해 주네요. 관점(Viewpoint)과 다양하게 구체화될 수 있는 Perspective를 정의합니다. '다양하게'는 다시 구조적 관점, 기능적 관점, 행위적 관점 따위를 나눌 수 있죠.
찜찜한 부분이 하나로 좁혀집니다. 한국말로는 Viewpoint와 Perspective가 모두 관점이라는 점이죠.
<낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함> 실천으로 콜린스 사전을 찾아봤습니다.
A particular perspective is a particular way of thinking about something, especially one that is influenced by your beliefs or experiences.
네이버 영어 사전도 찾아봤습니다.
1. 관점, 2. 균형감, 3. 원근법
viewpoint 영어 사전도 찾아봅니다.
1. 명사 (어떤 주제에 대한) 관점[시각] (=point of view)
2. 명사 (무엇을 바라보는) 방향 (→point of view), (=angle)
영한사전 기준으로 보니 관점이란 출발은 같은데, Perspective는 균형감이나 원근법 같은 표현으로 넓혀진 듯합니다.
Someone's viewpoint is the way that they think about things in general, or the way they think about a particular thing.
영어 사전 기준으로는 Perspective는 'influenced by your beliefs or experiences'가 특징이고, Viewpoint는 'in general'입니다.
마지막으로 어원적 차이까지 포함한 비교표를 퍼플렉시티로 만들었습니다.
엄밀히 따져 보는 일은 의미가 있긴 하지만 제가 지금 보고 있는 얀 르쿤의 영상 번역도 Perspective를 관점으로 번역하는 것을 확인할 수 있었습니다.
[1] 실제로 제가 2011년부터 2015년까지 진행했던 일들이 바로 그 사례이고, 거기서 배운 쓰라린 경험을 해석해 준 책이 <대체 뭐가 문제야>이기 때문에 저의 인생책이 되었습니다.
1. 옵션: 공동의 가치에 대한 믿음에 기초한 안내와 제안
2. 바보야 문제는 콘텐츠야