UI 요구사항 확인

UI(User Interface)는 넓은 의미로 이해했을 때와 좁은 의미로 이해했을 때의 개념이 달라집니다. 넓은 의미로 UI는 사용자와 시스템 사이 의사소통을 위해서 만들어진 물리적이거나 가상적인 매계체입니다. 좁은 의미의 UI는 사용자가 소프트웨어를 사용하며 접하며 마주하게 되는 화면을 의미합니다.

 

UI와 함께 이야기가 나오는 개념으로는 UX(User experience)가 있습니다. 직역하면 사용자의 경험이라는 뜻의 UX는 어떤 시스템이나 서비스를 이용하며 느끼거나 생각하는 모든 경험을 이야기합니다. UI보다 더 큰 개념이 되므로 UI도 UX에 포함됩니다.

 

 

 

UI 유형

UI의 의미를 이해했으니 이제 접근 기반에 따라 달라지는 UI의 각 유형에 대해서 설명하겠습니다. UI는 총 4가지 유형이 있습니다.

 

CLI(Command Line Interface)은 정적인 텍스트 기반의 인터페이스입니다. 명령어를 텍스트로 입력하여 조작하게 됩니다.

CLI의 예시로는 우리가 자주보는 가상 터미널이나 텍스트 터미널이 있습니다.

 

다음은 GUI(Graphical User Interface)입니다. GUI는 그래픽 반응 기반 인터페이스입니다. 그래픽을 기반으로 마우스나 전자펜을 이용해 사용자는 조작이 가능합니다.

GUI는 우리가 실생활에서 많이보는 UI입니다. window에서 아이콘을 마우스로 클릭하거나 게임 내부에서 마우스로 각종 창을 열고 닫는 조작방법이 전부 GUI에 속합니다.

 

세번째로 이야기할 유형은 NUI(Natural User Interface)입니다. NUI는 신체부위를 이용하는 사용자 반응 기반 인터페이스입니다. 키보드나 마우스를 사용하지 않더라도 터치나 음성 등을 통해 시스템을 조작합니다.

NUI가 사용되는 예시로는 현대인의 필수품인 스마트폰과 좀 더 나아가 SF영화에서 자주보이는 빔 프로젝트로 띄운 스크린을 터치하는 방식 또한 예시가 됩니다. 

 

OUI(Organic User Interface)은 현실에 존재하고 있는 모든 사물을 입출력 장치로 보는유기적 상호작용 기반의 인터페이스입니다.  

OUI의 경우 이해하기 어려울 수 있습니다. 하지만 NUI를 기반으로하고 모든 사물과 소통한다는 것만을 이해하면 OUI에 대해 좀더 이해하기 쉬워질 것입니다. 

 

 

 

UI 설계원칙

UI는 설계시 반드시 지켜야할 4가지 원칙에 대해 알아보겠습니다.

 

- 직관성(Intuitiveness): UI의 직관성은 어떤 사람이 이용해도 이해와 사용이 쉬워야 합니다.

 

- 유효성(Efficiency): 유효성의 의미는 사용자의 목표가 완벽하게 달성될 수 있도록 UI를 제작해야 되는 것을 말합니다.

 

- 학습성(Learnability): 누구나 이 UI를 쉽게 배우고 사용하도록 만들어져야 한다는 걸 학습성이라 합니다.

 

- 유연성(Flexibility): 유연성은 사용자와 기기의 의사소통이 최대한 원할하고 유연하게 이뤄져야하는걸 말합니다. 반드시 의사소통 과정에서 실수가 없도록 제작되어야 합니다.

 

 

 

UI 설계지침

UI는 또한 설계시 지키면 좋을 지침이 있습니다. 여기서 이야기하는 지침을 모두 완벽하게 외우려는 것 보다는 이해하도록 노력하는게 좋습니다.

 

- 사용자 중심

사용자가 중심의 UI설계를 통해 사용자가 이해하기 쉽고 편리하도록 만들어야합니다. 직관적인 환경을 기반으로 실제 사용자에 대한 파악을 하고 UI를 설계하도록 합니다.

 

- 일관성

버튼과 조작이 일관성을 가지고 있어 사용자가 기억하기 쉽게 UI를 설계하면 좋습니다. 일관성을 가지게 되면 사용자는 UI를 빠르게 습득할 수 있습니다.

 

- 단순성

너무 복잡한 UI 구성보다는 간단한 조작 방법으로 시스템이 작동하도록 설계하면 좋습니다.

 

- 결과 예측 가능

작동할 기능에 대해서 사용자가 결과를 예측할 수 있는 UI를 설계해야 합니다.

 

- 가시성

UI를 설계할 때 주요 기능을 가장 잘보이는 메인화면에 노출해 사용자가 알기 쉽고 쉬운 조작을 하도록 도와줍니다.

 

- 표준화

디자인 표준화를 통해 기능 구조를 선행 학습하게 되면 이후 조작이 전에 비해 월등하게 사용이 쉬워집니다.

 

- 접근성

특정한 사용자 층만을 배려해서 UI를 설계하는 것이 아닌 다양한 직무와 나이, 성별 등을 고려해 다양한 계층을 수용할 수 있는 UI를 설계해야 합니다.

 

- 명확성

사용자가 UI에 대해서 개념적으로 쉽게 인지하고 프로그램을 사용해야 합니다.

 

- 오류 발생 해결

프로그램을 사용하는 사용자가 오류에 대해 정확하게 인지할 수 있도록 UI를 설계해야합 합니다.

 

 

UI 요구사항 확인

사용자가 얻고자 하는 최종 목표를 UI 요구사항이라 합니다. UI 요구사항은 시스템이 개발되는 과정의 기준이 됩니다. 시스템이 개발 종료되면 이후 검수의 기준이 되기도 합니다. 

 

UI 요구사항은 시스템이 어떤 동작을 하는지 설명하는 기능적 요구사항과 개발 과정에서 지켜야하는 제약조건을 설명하는 비기능적 요구사항 두 가지로 분류됩니다.

 

기능적 요구사항은 시스템이 제공하는 기능과 더불어 입출력과 데이터, 연산 등 서비스에 대한 전반적인 요구사항을 담고 있습니다. 

 

비기능적 요구사항은 사용성과 유지보수성, 재사용성 등 품질에 관련된 요구사항이나 비용, 일정 등 전반적인 프로젝트에 대해서 다루는 요구사항입니다.

 

비기능적 요구사항도 시스템에 대해서도 다루고 있지만 시스템이 무엇을 제공하는지에 초점을 맞춘 기능적 요구사항과는 달리 시스템이 어떤 기술을 사용하고 플랫폼은 무엇인지 등 전반적인 시스템 환경을 중심으로 요구사항을 정리해 두었습니다. 

+ Recent posts