UI / UX
- UI는 사용자와 시스템 간 상호작용이 이뤄지도록 도와주는 장치나 소프트웨어
- UX는 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험
UI의 구분
- CLI : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
- GUI : 그래픽 환경의 인터페이스
- NUI : 사용자의 자연스러운 움직임으로 기기를 조작하는 인터페이스 , 터치 음성
- OUI : 현실에 존재하는 모든 사물
UI의 기본 원칙
- 유연성 : 요구사항 최대한 수용하고 실수 최소화
- 학습성 : 누구나 쉽게 배우고 익힐 수 있게
- 유효성 : 사용자 목적을 정확하고 완벽하게 달성
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함
UI 표준 및 지침
- UI 표준 : UI에 공통적으로 적용될 내용 , 화면 구성이나 이동 등이 포함
- UI 지침 : UI 요구사항, 구현 시 제약사항 등 개발 과정에서 지켜야할 공통 조건을 의미
- UI 스타일 가이드 : 구동 환경 정의 -> 레이아웃 정의 -> 네비게이션 정의 -> 기능 정의 -> 구성 요소 정의
와이어프레임
- 페이지에 대한 개략적인 레이아웃 , 즉 뼈대를 설계하는 도구
- 손그림, 파워포인트 ,키노트, 스케치 등등
목업
- 실제화면과 유사하게 만든 정적인 형태의 모형
스토리보드
- 와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름을 추가한 문서
프로토타입
- 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
- 페이퍼 프로토타입 : 손으로 직접 작성하는 아날로그 방법
- 디지털 프로토타입 : 프로그램 사용하여 작성하는 방법
유스케이스
- 사용자의 요구사항을 기능 단위로 표현하는 것
- 다이어그램으로 묘사
UI 요구사항 확인
- 새로 개발할 시스템에 적용할 UI 관련 요구사항을 조사해 작성하는 단계
- UI 요구사항 확인 순서
- 목표 정의 : 수렴된 요구사항을 정의
- 활동사항 정의 : 앞으로 해야할 활동 사항 정의
- UI 요구사항 작성 : 개발 목적에 맞게 사용자 중심으로 요구사항 작성
- 요구사항 작성 순서
- 요구사항 요소 확인 : 파악된 요구사항 요소의 종류와 각각 표현 방식 검토
- 정황 시나리오 작성 : 사용자가 목표를 달성하기 위해 수행하는 방법을 순차적으로 묘사
- 요구사항 작성 : 정황 시나리오를 토대로 요구사항 작성
요구사항 요소
- UI 요구사항을 작성하려면 다음과 같은 요구사항 요소를 확인해야 한다.
- 데이터 요구 : 요구하는 모델과 객체들의 주요 특성을 기반으로 데이터 객체를 정리
- 기능 요구 : 무엇을 실행해야 하는지를 동사형으로 설명
- 제품 서비스 품질 : 품질등을 고려하여 작성
- 제약 사항 : 데드라인, 비용 , 규제 포함
품질 요구사항
- ISO/IEC 9126 : 소프트웨어 품질 특성과 평가를 위한 국제 표준
- ISO/IEC 25010 : 호환성과 보안성을 강화하여 개정한 국제 표준
- ISO/IEC 12119 : 패키지 소프트웨어 품질 요구사항 및 테스트 위한 국제 표준
- ISO/IEC 14598 : 소프트웨어 품질 측정과 평가에 필요 절차를 규정한 표준
ISO/IEC 9126의 소프트웨어 품질 특성
- 기능성 : 하위특성 (적절성, 정밀성, 상호 운용성, 보안성, 준수성)
- 신뢰성 : 하위특성 (성숙성, 고장 허용성, 회복성)
- 사용성 : 하위특성 (이해성, 학습성, 운용성, 친밀성)
- 효율성 : 하위특성 (시간 효율성, 자원 효율성)
- 유지 보수성 : 하위특성(분석성, 변경성, 안정성, 시험성)
- 이식성 : 하위특성(적용성, 설치성, 대체성, 공존성)
UI 시나리오 문서
- 다양한 상황에서 예외 처리 등을 정리한 문서
- UI 시나리오 문서의 요건
- 완전성(Complete) : 누락되지 않도록
- 일관성(Consistent) : 요구사항, UI 스타일 모두 일관성을 유지
- 이해성(Understandable) : 누구나 쉽게 이해할 수 있도록
- 가독성(Readable) : 문서를 쉽게 읽을 수 있도록
- 수정 용이성(Modifiable) : 시나리오 수정이나 개선이 쉬워야 함
- 추적 용이성(Traceable) : 추적할 수 있어야함
HCI
- 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문
감성 공학
- 제품이나 작업환경을 사용자의 감성에 맞도록 설계 및 제작하는 기술