best : 사용자 인터페이스의 구분, 사용자 인터페이스의 기본원칙, 설계 지침, 목업, 품질 요구사항, 기능성 신뢰성, 사용성, 이식성, UI요소
UI는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치 또는 소프트웨어
💡인터페이스 Interface
서로 다른 두 시스템이나 소프트웨어 등을 서로 이어주는 부분 또는 접속 장치를 의미함
인터페이스의 3가지 분야
1) 정보 제공과 전달을 위한 물리적 제어에 관한 분야
2) 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야
3) 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야
1) CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이루어짐
2) GUI(Graphical Uer Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업 수행
3) NUI(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작
4) VUI(Voice User Interface) : 사람의 음성으로 기기 조작
5) OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스로 하드웨어 분야에서 사물 인터넷, 가상현실, 증강현실, 혼합현실 등과 함께 대두되고 있음
💡 주요 모바일 제스처
- Tap(누르기) : 화면 가볍게 한 번 터치
- Double Tap(두 번 누르기) : 빠르게 두 번 터치
- Drag(누른 채 움직임)
- Pan(누른 채 계속 움직임) : 화면에 손가락을 댄 후 떼지 않고 계속 움직임
- Press(오래 누리기) : 특정 위치를 손가락으로 꾹 누름
- Flick(빠르게 스크롤) : 터치하면서 수평 또는 수직으로 드래그하는 동작
- Pinch(두 손가락으로 넓히기/좁히기) : 두 손가락으로 화면을 터치한 후 서로 다른 방향으로 움직이는 동장
사용자 인터페이스의 기본 원칙에는 직관성, 유효성, 학습성, 유연성이 있다.
1) 직관성 : 누구나 쉽게 이해하고 사용 가능해야 함
2) 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
3) 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함
4) 유연성 : 사용자의 요구사항을 최대한 수용하고 실수 최소화 해야 함
1) 사용자 중심 : 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경 제공, 실사용자에 대한 이해가 바탕
2) 사용성 : 사용자가 쉽고 빠르게 이해할 수 있는지, 편리하고 효율적으로 사용할 수 있는지를 뜻하며, 가장 우선적으로 고려해야 하는 사항이다.
3) 일관성 : 버튼, 조작 방법을 일관성 있게 제공
4) 단순성 : 조작 방법 단순화 시켜 인지적 부담 감소시켜야 함
5) 결과 예측 가능 : 작동시킬 기능만 보고 결과를 예측할 수 있어야 함
6) 가시성 : 메인 화면에 주요 기능을 노출시켜 최대한 조작이 쉽도록 설계 해야 함
7) 심미성 : 디자인 적으로 글꼴, 색상을 완성도 높게 적용하고 그래픽 요소를 배치해 가독성을 높인다.
8) 표준화 : 한 번 학습한 이후에 쉽게 사용할 수 있도록 설계
9) 접근성 : 사용자의 연령, 성별, 인종 등 다양한 계층이 사용할 수 있도록 설계
10) 명확성 : 개념적으로 쉽게 인지할 수 있도록 설계
11) 오류 발생 해결 : 오류가 발생하면 쉽게 인지할 수 있도록 설계
먼저 UI 표준과 UI 지침에 대해 설명하겠다.
UI 표준과 지침을 토대로 기술의 중립성(웹 표준), 보편적 표현 보장성(웹 접근성), 기능의 호환성(웹 호환성) 이 고려되었는지 확인해야 한다.
💡 웹 표준(Web Standards)
웹에서 사용되는 구칙 또는 기술을 의미
💡 웹 접근성(Web Accessibility)
누구나, 어떠한 환경에서도 웹 사이트에서 제공하는 모든 정보를 접근하여 이용할 수 있도록 보장
💡 웹 호환성(Cross Browsing)
하드웨어나 소프트웨어 등이 다른 환경에서도 모든 이용자에게 동등한 서비스 제공
한국형 웹 코넨츠 접근성 지침은 장애인이 비장애인과 동등하게 접근할 수 있는 웹 콘텐츠의 제작 방법을 제시한다.
웹 콘텐츠 접근성(사용정) 지침 준수를 위한 고려 사항
인식의 용이성
1.1 대체 텍스트
1.2 멀티미디어 대체 수단
1.3 명료성
운용의 용이성
2.1키보드 접근성
2.2충분한 시간 제공
2.3 광과민성 발작 예방
2.4 쉬운 내비게이션
이해의 용이성
3.1 가독성
3.2 예측 가능성
3.3 콘텐츠의 논리성
3.4 입력 도움
견고성
4.1 문법 준수
4.2 접근성
💡 내비게이션 구조
메뉴(단추): 계층 구조를 표현하는 기본 요소
링크 : 원하는 페이지로 이동할 수 있게 하는 하이퍼링크
이미지 맵 : 그림에 하이퍼링크 연결
사이트 맵 : 사이트의 전체 구조를 한눈에 파악, 트리구조
사이트 메뉴바 : 사이트의 좌측이나 우측에 메뉴, 링크 등을 모아둔 것
내비게이션 바 : 메뉴를 한 곳에 모아 놓은 그래픽이나 문자열
디렉터리 : 주제나 항목을 카테고리별로 표현
정부기관의 홈페이지 구축 시 반영해야 할 최소한의 규약을 정의한 것
전자정부 웹 표준 준수 지침 사항
내용의 문법 준수, 내용과 표현의 분리, 동작의 기술 중립성 보장, 플러그인의 호환성, 콘텐츠의 보편적 표현, 운영체제에 독립적인 콘텐츠 제공, 부가 기능의 호환성 확보, 다양한 프로그램 제공
UI 설계 도구는 사용자의 요구사항에 맞게 UI 화면 구조나 배치 등을 설계할 때 사용하는 도구
종류) 와이어프레임, 목업, 스토리보드, 프로토타입, 유스케이스 등이 있다.
기획 단계 초기에 제작하는 것으로, 페이지에 대한 개략적인 레이아웃이나 UI 요소 등에 대한 뼈대를 설계하는 것
디자인, 사용 방법 설명, 평가 등을 위해 와이어프레임보다 좀 더 실제 화면과 유사하게 만든 정적인 형태의 모형
와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가하는 문서
와이어 프레임이나 스토리보드 등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
💡인터랙션
사용자와 시스템을 연결하는 것이 UI라면, 인터랙션은 UI를 통해 시스템을 사용하는 일련의 상호 작용을 의미함
사용자 측면에서의 요구사항으로, 원하는 목표를 달성하기위해 수행할 내용 기술
새로 개발할 시스템에 적용할 UI 관련 요구사항을 조사해 작성하는 단계로, 다양한 경로를 통해 사용자의 요구사항을 조사하고 분석한 후 작성해야 한다.
목표 정의 ➜ 활동 사항 정의 ➜ UI 요구사항 작성
1. 목표 정의
사용자들을 대상으로 인터뷰를 진행한 후 사용자들의 의견이 수렴된 비즈니스 요구사항을 정의한다.
[유의사항]
1. 가능하면 개별적으로 진행
2. 다양한 의견을 수렴하되, 다수의 의견으로 개인의 중요한 의견을 놓치지 않도록 해야함
3. 한 시간을 넘지 않도록 인터뷰 진행
4. 반드시 사용자 리서치를 시작하기 전에 해야함
💡리서치
사용자들의 요구사항이나 불편사항 등을 파악하기 위해 진행되는 것
2. 활동 사항 정의
조사한 요구사항을 토대로 앞으로 해야 할 활동 사항을 정의
3. UI 요구사항 작성
여러 경로를 통해 수집된 사용자들의 요구사항을 검토하고 분석하여 UI 개발 목적에 맞게 작성해야 함
소프트웨어 품질은 소프트웨어의 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체이다.
ISO/IEC 9126
ISO/IEC 25010
ISO/IEC 25010은 소프트웨어 제품에 대한 국제 표준으로 2011년에 9126을 개정하여 만들었다.
사용자 요구사항을 정확하게 만족하는 기능을 제공하는지 여부
요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도
프로토타입은 사용자 요구사항을 기반으로 실제 동작하는 것처럼 만든 동적인 형태의 모형으로 테스트 가능
💡프로토타입
16장에서 언급하는 프로토타입은 UI 프로토타입을 의미하겠다.
💡프로토타이핑
프로토타입을 만드는 과정으로, 사용자의 요구사항 검토부터 최종적인 프로토타입을 완성하기 까지 반복적으로 수행되는 전체적인 과정
장점
단점
1) 페이퍼 프로토타입
2) 디지털 프로토타입
[계획 시 고려사항]
[작성 시 고려사항]
UI 설계서는 사용자의 요구사항을 바탕으로 UI 설계를 구체화하여 작성하는 문서이다.
표지는 다른 문서와 혼동되지 않도록 프로젝트명 또는 시스템명을 포함시켜 작성한다.
처음 버전을 1.0으로 설정하고 변경 내용을 적은 후 0.1씩 올린다.
사용자의 요구사항을 확인하고 정리한 문서이다.
사용자 요구사항의 UI 적용 여부를 요구사항별로 표시한다.
UI 요구사항과 UI 프로토타입에 기초해 전체 시스템의 구조를 설계한 것으로 사용자의 요구사항이 어떻게 시스템이 적용되는지 알 수 있다.
시스템 구조를 바탕으로 사이트에 표시할 콘텐츠를 한 눈에 알아 볼 수 있도록 메뉴별로 구분하여 설계한 것
사용자의 관점에서 요구하는 프로세스들을 작업 진행 순서에 맞춰 정리한 것으로 UI의 전체적인 흐름을 파악할 수 있다.
UI 프로토타입과 UI 프로세스를 참고하여 필요한 화면을 페이지별로 설계한 것
유용성(Usability)은 사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가에 대한 척도로, UI의 주된 목적은 유용성이 뛰어난 UI를 제작하는 것이다.
평가 차를 줄이기 위한 UI 설계 원리 검토
1. 수행한 키 조작의 결과를 사용자가 빠르게 지각하도록 유도
2. 키 조작으로 변화된 시스템의 상태를 사용자가 쉽게 인지하도록 유도
3. 사용자가 가진 원래 의도와 시스템 결과 간의 유사 정도를 사용자가 쉽게 파악하도록 유도
UI 상세 설계는 UI 설계서를 바탕으로 실제 설계 및 구현을 위해 모든 화면에 대한 자세한 설계를 진행하는 단계이다.
UI 상세 설계를 할 때 반드시 시나리오를 작성해야 한다.
💡UI 설계서
UI 흐름 설계와 UI 상세 설계에서 모두 작성
개발자가 전체적인 UI의 기능과 작동 방식을 한눈에 이해할 수 있도록 구체적으로 작성한다.
보통 계층(Tree) 구조, 플로우차트(Flow Chart) 표기법으로 작성한다.
주요 키의 위치와 기능) 모든 화면에 공통적으로 배치되는 주요 키의 위치와 기능을 설명한 것
공통 UI 요소) 체크박스, 라디오 버튼, 텍스트 박스 등의 UI 요소를 언제 어떤 형태로 사용할지 정의하고, 어떻게 반응하는지 그 흐름을 설명
기본 스크린 레이아웃) 모든 화면에 공통적으로 나타나는 Titles, Ok/Back, Soft Key, Option, Functional BUttons등의 위치와 속성을 정의
기본 인터랙션 규칙) 터치 제스처 등에 공통적으로 사용되는 조작 방법과 실행, 이전, 다음, 삭제, 이동 등의 화면 전환 효과 등을 기술
공통 단위 태스크 흐름) 많은 기능들에 공통적으로 사용되는 삭제, 검색, 매너 모드 상태 등에 대한 인터랙션 흐름 설명
케이스 문서) 다양한 상황에서 공통적으로 적용되는 시스템의 동작을 정의한 문서
💡UI 요소
체크박스) 여러 개의 선택 상황에서 1개 이상의 값 선택
라디오 버튼) 여러 항목 중 하나만 선택
텍스트 박스) 사용자가 데이터를 입력하고 수정할 수 있는 상자
콤보 상자) 이미 지정된 목록에서 상자에 내용을 표시해 선택하거나 새로 입력할 수 있는 상자
목록 상자) 콤보상자와 같이 목록을 표시하지만 새로운 내용을 입력할 수 없는 상자
완전정(Complete)
누락되지 않도록 최대한 상세히 기술
사용자의 태ㅡ크에 초점을 맞춰 기술
일관성(Consistent)
서비스목표, 시스템 및 사용자의 요구사항, UI 스타일 등이 모두 일관성을 유지해야 함
이해성(Understandable)
누구나 쉽게 이해 가능하도록 설명
불분명하거나 추상적인 표현은 피한다.
가독성(Readable)
표준화된 템플릿 등을 활용해 문서를 쉽게 읽을 수 있도록 해야 함
수정 용이성(Modifiable)
시나리오의 수정이나 개선이 쉬워야 함
추적 용이성(Traceable)
변경 사항은 언제, 어떤 부분이, 왜 발생했는지 쉽게 추적할 수 있어야 함
HCI는 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문
최종 목표는 시스템을 사용하는데 있어 최적의 사용자 경혐(UX)을 만드는 것이다.
사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험
단순 기능이나 절차상의 만족뿐만 아닌 사용자가 참여, 사용, 관찰하고, 상호 교감을 통해 알 수 있는 가치 있는 경험을 말한다.
UX의 특징
1. 주관성(Subjectivity)
사람들의 개인적, 신체적, 인지적 특성에 따라 다르므로 주관적이다.
2. 정황성(Contextuality)
경험이 일어나는 상황 또는 주변 환경에 영향을 받음
3. 총체성(Holistic)
개인이 느끼는 총체적인 심리적, 감성적인 결과
여기서 감성은 사용자가 제품을 사용한 경험을 통해 얻은 복합적인 감각을 의미한다.
감성공학을 디자인의 기능적인 측면에서 봤을 경우 심리적 기능에 해당한다.