[정보처리기사 필기] 화면 설계 - 011. 사용자 인터페이스

1. 사용자 인터페이스 UI 의 개요

  • 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미
  • 초기의 사용자 인터페이스는 단순히 사용자와 컴퓨터 간의 상호작용에만 국한되었지만 점차 사용자가 수행할 작업을 구체화시키는 기능 위주로 변경되었고, 최근에는 정보 내용을 전달하기 위한 표현 방법으로 변경
  • 사용자 인터페이스의 세 가지 분야
    • 정보 제공과 전달을 위한 물리적 제어에 관한 분야
    • 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야
    • 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야

2. 사용자 인터페이스의 특징

  • 사용자의 만족도에 가장 큰 영향을 미치는 중요한 요소
  • 소프트웨어 영역 중 변경이 가장 많이 발생함
  • 사용자의 편리성과 가독성을 높임으로써 작업 시간을 단축시키고 업무에 대한 이해도를 높여줌
  • 최소한의 노력으로 원하는 결과를 얻을 수 있게 함
  • 사용자 중심으로 설계되어 사용자 중심의 상호 작용이 되도록 함
  • 수행 결과의 오류를 줄임
  • 사용자의 막연한 작업 기능에 대해 구체적인 방법을 제시해줌
  • 정보 제공자와 정보 이용자 간의 매개 역할을 수행
  • 사용자 인터페이스를 설계하기 위해서는 소프트웨어 아키텍처를 반드시 숙지해야 함 

3. 사용자 인터페이스의 구분

  • CLI : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
  • GUI : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
  • NUI : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
    • 주요 모바일 제스처 (Mobile Gesture)
      • Tap (누르기) : 화면을 가볍게 한 번 터치하는 동작
      • Double Tap (두 번 누르기) : 화면을 빠르게 두번 터치하는 동작
      • Drag (누른 채 움직임) : 화면의 특정 위치에 손가락을 댄 상태에서 정해진 방향으로 움직인 후 손가락을 떼는 동작
      • Pan (누른 채 계속 움직임) : 화면에 손가락을 댄 후 손가락을 떼지 않고 계속적으로 움직이는 동작, 움직이는 방향이나 시간에 제한이 없으며 손가락을 땔 때까지의 동작을 패닝(Panning)이라고 함
      • Press (오래 누르기) : 화면의 특정 위치를 손가락으로 꾹 누르는 동작
      • Fick (빠르게 스크롤) : 화면에 손가락을 터치하면서 수평 또는 수직으로 빠르게 드래그하는 동작
      • Pinch (두 손가락으로 넓히기 / 좁히기) : 두 손가락으로 화면을 터치한 후 두 손가락을 서로 다른 방향으로 움직이는 동작
  • VUI : 사람의 음성으로 기기를 조작하는 인터페이스
  • OUI : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스, 소프트웨어가 아닌 하드웨어 분야에서 사물 인터넷 가상현실, 증강현실, 혼합현실 등과 함께 대두되고 있음 

4. 사용자 인터페이스의 기본 원칙

  • 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함
  • 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
  • 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함
  • 유연성 : 사용자 요구사항을 최대한 수용하고 실수를 최소화해야 함

5. 사용자 인터페이스의 설계 지침

  • 사용자 중심 : 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경을 제공, 실사용자에 대한 이해가 바탕이 되어야함
  • 사용성 : 사용자가 소프트웨어를 얼마나 빠르고 쉽게 이해할 수 있는지, 얼마나 편리하고 효율적으로 사용할 수 있는지를 말하는 것, 사용자 인터페이스 설계시 가장 우선적으로 고려해야 함
  • 일관성 : 버튼이나 조작 방법 등을 일관성 있게 제공하므로 사용자가 쉽게 기억하고 습득할 수 있게 설계해야 함
  • 단순성 : 조작 방법을 단순화시켜 인지적 부담을 감소시켜야 함
  • 결과 예측 기능 : 작동시킬 기능만 보고도 결과를 미리 예측할 수 있게 설계해야 함
  • 가시성 : 메인 화면에 주요 기능을 노출시켜 최대한 조작이 쉽도록 설계해야 함
  • 심미성 : 디자인적으로 완성도 높게 글꼴이나 색상을 적용하고 그래픽 요소를 배치하여 가독성을 높일 수 있도록 설계해야 함
  • 표준화 : 기능 구조와 디자인을 표준화하여 한 번 학습한 이후에는 쉽게 사용할 수 있도록 설계해야 함
  • 접근성 : 사용자의 연령, 성별, 인종 등 다양한 계층이 사용할 수 있도록 설계해야 함
  • 명확성 : 사용자가 개념적으로 쉽게 인지할 수 있도록 설계해야 함
  • 오류 발생 해결 : 오류가 발생하면 사용자가 쉽게 인지할 수 있도록 설계해야 함

6. 사용자 인터페이스 개발 시스템의 기능

  • 사용자의 입력 검증
  • 에러 처리와 그와 관련된 에러 메시지를 표시할 수 있어야 함
  • 도움과 프롬프트(Prompt)를 제공해야 함