User Interface
사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치 또는 소프트웨어
- 초기 - 단순히 사용자와 컴퓨터 간 상호작용에만 국한됨
- 현재 - 정보 내용을 전달하기 위한 표현 방법
User Interface 세 가지 분야
- 정보 제공과 전달을 위한 물리적 제어에 관한 분야
- 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야
- 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야
User Interface 특징
- 사용자의 만족도에 가장 큰 영향을 미침 -> 변경이 가장 많이 발생
- 편리성과 가독성을 높여 시간을 단축 및 이해도를 높임
- 최소한의 노력 -> 최대 결과
- 사용자 중심의 상호작용
- 수행 결과의 오류를 줄임
- 막연한 작업 기능에 대해 구체적인 방법 제시
- 정보 제공자와 공급자 간 매개 역할 수행
- 소프트웨어 아키텍처를 반드시 숙지해야 함
User Interface 구분
- CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이루어지는 인터페이스
- GUI(Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 인터페이스
- NUI(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
- VUI(Voice User Interface) : 음성을 기기로 조작하는 인터페이스
- OUI(Organic User Interface) : 모든 사물과 사용자 간 상호작용을 위한 인터페이스
User Interface 기본 원칙
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함
- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
- 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함
- 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화 해야 함
User Interface의 설계 지침
- 사용자 중심 : 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경
- 사용성 : 사용자가 소프트웨어를 얼마나 빠르고 쉽게 이해할 수 있는지, 얼마나 편리하고 효율적으로 사용할 수 있는지 설계
- 일관성 : 버튼이나 조작 방법 등을 일관성 있게 제공
- 단순성 : 조작 방법을 단순화
- 결과 예측 가능 : 결과를 미리 예측할 수 있게 설계
- 가시성 : 주요 기능을 노출
- 심미성 : 디자인적으로 완성도 높게 글꼴이나 색상을 적용하고 그래픽 요소를 배치
- 표준화 : 기능 구조와 디자인을 표준화
- 접근성 : 다양한 계층이 사용할 수 있도록 설계
- 명확성 : 개념적으로 쉽게 인지할 수 있도록 설계
- 오류 발생 해결 : 오류 발생 시 쉽게 인지할 수 있도록 설계
User Interface 개발 시스템 기능
- 사용자의 입력을 검증할 수 있어야 함
- 에러 처리와 그와 관련된 에러 메시지를 표시할 수 있어야 함
- 도움과 프롬프트를 제공해야 함