소프트웨어 디자인에서 콘셉트의 중요성 #420
dev-hobin
started this conversation in
Today I Learned
Replies: 2 comments
-
|
한가지 아쉬운 점이라면 번역 품질이 좀 많이 안좋다는 것.. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
오 책 살까 싶어서 찜해뒀었는데 내용이 괜찮은가 보군요 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
프론트엔드 개발자로서 불편한 기능을 만들지 않기 위해, 혹은 그런 기능을 만들고 있다는 사실을 스스로 알아차리기 위해 읽었던 『콘셉트로 풀어내는 소프트웨어 디자인』 에서 특히 뜻깊게 다가온 부분이 있다.
개발에서 추상화와 표현이 있듯, 사용자 경험에서도 이 구조가 그대로 드러난다. 추상화는 ‘콘셉트’에 해당하며, 표현은 ‘사용자 인터페이스’에 해당한다. 즉, 좋은 소프트웨어는 잘 정의된 추상화(콘셉트)와 그에 대응하는 표현(인터페이스)이 긴밀하게 연결된 상태라고 할 수 있다.
사용자가 기능을 불편하게 느끼는 가장 큰 이유는 디자이너나 개발자가 의도한 기능에 대한 멘탈모델과 사용자가 실제로 느끼는 멘탈모델이 일치하지 않을 때라는 점이다.
책에서는 이를 피하기 위해, 사용자를 혼란스럽지 않게 하려면 간단하고 직관적인 콘셉트를 정의하고, 그 콘셉트와 사용자 인터페이스를 명확하게 매핑해야 한다고 강조한다.
아래는 책에서 나오는 휴지통 컨셉의 정의다.
Concept
Purpose
State
Actions
when x not in accessible or trashed
→ add x to accessible
when x in accessible but not trashed
→ move x from accessible to trashed
when x in trashed
→ move x from trashed to accessible
when some item in trashed
→ remove every item from trashed
Operational Principle
구체적인 내용보다 형태를 보고 놀라웠는데 제공할 기능에 대한 핵심 콘셉트를 액터 모델처럼 추상화했다. 이렇게 추상화한 여러 콘셉트들이 서로 합성되고 상호작용하며 사용자에게 제공할 기능이 만들어진다는 것을 설명한다. 개발과 매우 닮아 있다는게 신기했다. 디자인 책을 읽으며 모듈화의 중요성을 느끼다니..
Beta Was this translation helpful? Give feedback.
All reactions