사용자 인터페이스(UI, User Interface)
- 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어
사용자 인터페이스의 세 가지 분야
- 정보 제공과 전달을 위한 물리적 제어
- 콘텐츠의 상세적인 표현과 전체적인 구성
- 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능
사용자 인터페이스의 구분
CLI(Command Line Interface)
- 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
GUI(Graphical User Interface)
- 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
NUI(Natural User Interface)
- 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
사용자 인터페이스의 기본 원칙
- 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 함
- 유효성: 사용자의 목적을 정확하고 완벽하게 달성해야 함
- 학습성: 누구나 쉽게 배우고 익힐 수 있어야 함
- 유연성: 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함
UI 표준 및 지침
- UI 표준: 모든 UI에 공통적으로 적용될 내용으로, 화면 구성이나 화면 이동등이 포함
- UI 지침: 개발 과정에서 꼭 지켜야 할 공통의 조건을 의미
UI 스타일 가이드
UI 스타일 가이드 작성 순서
- 구동 환경 정의
- 레이아웃 정의
- 네비게이션 정의
- 기능 정의
- 구성 요소 정의
와이어프레임(Wireframe)
- 페이지에 대한 개략적인 레이아웃이나 뼈대를 설계하는 도구
- 와이어프레임 툴: 손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵 등
목업(Mockup)
- 실제 화면과 유사하게 만든 정적인 형태의 모형
- 목업 툴: 파워 목업, 발사믹 목업 등
스토리보드(Story Board)
- 와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서
- 스토리보드 툴: 파워포인트, 키노트, 스케치, Axure 등
프로토타입(Prototype)
- 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
종류
유스케이스(Use Case)
UI 요구사항 확인
UI 요구사항 확인 순서
- 목표 정의
- 활동 사항 정의
- UI 요구사항 작성
UI 요구사항 작성 순서
- 요구사항 요소 확인
- 정황 시나리오 작성
- 요구사항 작성
요구사항 요소
- 데이터 요구
- 기능 요구
- 제품/서비스의 품질
- 제약 사항
품질 요구사항
소프트웨어 품질 관련 표준
ISO/IEC 9126
- 소프트웨어의 품질 특성과 평가를 위한 국제 표준
ISO/IEC 25010
- ISO/IEC 9126에 호환성과 보안성을 강화
ISO/IEC 12119
- 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준
ISO/IEC 14598
- 소프트웨어 품질의 측정과 평가에 필요 절차를 규정
ISO/IEC 9126의 소프트웨어 품질 특성
기능성(Functionality)
- 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부
- 하위 특성: 적절성, 정밀성, 상호 운용성, 보안성, 준수성
신뢰성(Reliability)
- 주어진 시간동안 주어진 기능을 오류 없이 수행할 수 있는 정도
- 하위 특성: 성숙성, 고장 허용성, 회복성
사용성(Usability)
- 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하는 정도
- 하위 특성: 이해성, 학습성, 운용성, 친밀성
효율성(Efficiency)
- 사용자가 요구하는 기능을 얼마나 빠르게 처리할 수 있는지 정도
- 하위 특성: 시간 효율성, 자원 효율성
유지 보수성(Maintainability)
- 소프트웨어를 개선하거나 확장할 수 있는 정도
- 하위 특성: 분석성, 변경성, 안정성, 시험성
이식성(Portability)
- 다른 환경에서도 얼마나 적용할 수 있는지 정도
- 하위 특성: 적용성, 설치성, 대체성, 공존성
UI 설계
- 사용자의 요구사항을 바탕으로 UI 설계를 구체화하여 작성하는 문서
UI 설계서 작성 순서
- UI 설계서 표지 작성
- UI 설계서 개정 이력 작성
- UI 요구사항 정의서 작성
- 시스템 구조 작성
- 사이트 맵 작성
- 프로세스 정의서 작성
- 화면 설계
UI 흐름 설계
- 업무의 진행 과정이나 수행 절차에 따른 흐름을 파악하여 화면과 폼을 설계하는 단계
UI 흐름 설계 순서
- 기능 작성
- 입력 요소 확인
- 유스케이스 설계
- 기능 및 양식 확인
UI 상세 설계
- 실제 설계 및 구현을 위해 모든 화면에 대해 자세하게 설계를 진행하는 단계
UI 상세 설계 순서
- 요구사항 확인
- UI 설계서 표지 및 개정 이력 작성
- UI 구조 설계
- 메뉴 구조 설계
- 화면 설계
UI 시나리오 문서
UI 시나리오 문서의 요건
- 완전성(Complete)
- 일관성(Consistent)
- 이해성(Understandable)
- 가독성(Readable)
- 수정 용이성(Modifiable)
- 추적 용이성(Traceable)
HCI / UX / 감성공학
HCI(Human Computer Interaction or Interface)
- 사람이 시스템을 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문
- 최종 목표는 시스템을 사용하는데 있어 최적의 사용자 경험(UX)을 만드는 것
UX(User eXperience, 사용자 경험)
- 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험
- UI가 사용성. 접근성, 편의성을 중시한다면 UX는 이러한 UI를 통해 사용자가 느끼는 만족이나 감정을 중시
UX의 특징
- 주관성(Subjectivity): 사람들의 개인적, 신체적, 인지적 특성에 따라 다르므로 주관적임
- 정황성(Contextuality): 경험이 일어나는 상황 또는 주변 환경에 영향을 받음
- 총체성(Holistic): 개인이 느끼는 총체적인 심리적, 감성적인 결과임
감성공학
- 제품이나 작업환경을 사용자의 감성에 알맞도록 설계 및 제작하는 기술