11. 사용자 인터페이스
🔎 1) 사용자 인터페이스 (UI, User Interface)의 개요
🔎 2) 사용자 인터페이스(UI)의 특징
- 사용자의 만족도에 가장 큰 영향을 미치는 요소로 소프트웨어 영역 중 변경이 가장 많이 발생
- 편리성과 가독성을 높임으로써 작업 시간을 단축시키고 업무에 대한 이해도를 높임
- 최소한의 노력으로 원하는 결과를 얻을 수 있게 함
- 사용자 중심으로 설계되어 사용자 중심의 상호 작용이 되도록 함
- 수행 결과의 오류를 줄이고 작업 기능에 대한 구체적 방법을 제시함
- 정보 제공자와 공급자 간의 매개 역할을 수행
- UI를 설계하기 위해서는 소프트웨어 아키텍처를 반드시 숙지해야 함
🔎 3) 사용자 인터페이스의 구분: 상호작용의 수단 및 방식을 기준으로 구분
-
(1) CLI(Command Line Interface): 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스 (DOS, Unix 등 운영체제에서 조작을 위해 사용하던 것)
-
(2) GUI(Graphical User Interface): 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
-
(3) NUI(Natural User Interface): 사용자의 말이나 행동으로 기기를 조작하는 인터페이스

*📝 NUI 주요 모바일 제스처
1. Tap(누르기): 화면을 가볍게 한 번 터치
2. Double Tap(두 번 누르기): 화면을 빠르게 두 번 터치
3. Drag(누른 채 움직임): 화면의 특정 위치에 손가락을 댄 상태로 원하는 방향으로 움직인 후 손가락을 떼는 동작
4. Pan(누른 채 계속 움직임): 화면에 손가락을 댄 후 계속적으로 움직이는 동작으로 방향이나 시간에 제한이 없음
- Panning: 손가락을 땔 때까지의 동작
5. Press(오래 누르기): 화면의 특정 위치를 손가락으로 꾹 누르기
6. Flick(빠르게 스크롤): 화면에 손가락을 터치하며 수평 또는 수직으로 빠르게 드래그
7. Pinch(두 손가락으로 넓히기/좁히기): 두 손가락으로 터치 후 서로 다른 방향으로 손가락을 움직이는 동작
-
(4) VUI(Voice User Interface): 음성으로 기기를 조작하는 인터페이스
-
(5) OUI(Organic User Interface): 모든 사물과 사용자 간의 상호작용을 위한 인터페이스
- 하드웨어 분야에서 사물인터넷(Internet of Things), 가상현실(Virtual Reality), 증강현실(Augmented Reality), 혼합현실(Mixed Reality)와 함께 대두되는 인터페이스
🔎 4) 사용자 인터페이스의 기본 원칙
- (1) 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 함
- (2) 유효성: 사용자의 목적을 정확하고 완벽하게 달성해야 함
- (3) 학습성: 누구나 쉽게 배우고 익힐 수 있어야 함
- (4) 유연성: 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함
🔎 5) 사용자 인터페이스 설계 지침
- (1) 사용자 중심: 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경을 제공하며 실사용자에 대한 이해가 바탕이 되어야 함
- (2) 사용성: 사용자가 소프트웨어를 얼마나 빠르고 쉽게 이해할 수 있는지, 얼마나 편리하고 효율적으로 사용할 수 있는지를 우선적으로 고려해야 함
- (3) 심미성: 디자인적으로 완성도 높게 글꼴이나 색상을 적용하고 그래픽 요소를 배치하여 가독성을 높일 수 있도록 설계
- (4) 오류 발생 해결: 오류가 발생하면 사용자가 쉽게 인지하도록 설계
- (5) 일관성: 조작 방법을 일관성 있게 제공하여 사용자가 쉽게 기억하고 습득할 수 있도록 설계해야 함
- (6) 단순성: 조작 방법을 단순화시켜 인지적 부담을 감소시켜야 함
- (7) 결과 예측 가능: 작동시킬 기능만 보고도 결과를 미리 예측할 수 있게 설계
- (8) 가시성: 메인 화면에 주요 기능을 노출시켜 최대한 조작이 쉽도록 설계
- (9) 표준화: 구조와 디자인을 표준화하여 한 번 학습한 이후에는 쉽게 사용할 수 있도록 설계
- (10) 접근성: 다양한 계층이 사용할 수 있도록 설계
- (11) 명확성: 사용자가 개념적으로 쉽게 인지할 수 있도록 설계
🔎 6) 사용자 인터페이스 개발 시스템의 기능
- 사용자의 입력을 검증할 수 있어야 함
- 에러 처리와 에러 메시지를 표시할 수 있어야 함
- 도움과 프롬프트(Prompt)를 제공해야 함
12. UI 표준 및 지침
🔎 1) UI 표준 및 지침
- UI 표준과 지침을 토대로 기술의 중립성(웹 표준), 보편적 표현 보장성(웹 접근성), 기능의 호환성(웹 호환성)이 고려되었는지 확인
- UI 표준: 모든 UI에 공통적으로 적용될 내용 (화면 구성이나 이동)
- UI 지침: UI 요구사항, 구현 시 제약사항 등 개발 과정에서 꼭 지켜야 할 공통 조건
📌 웹의 3요소
-
웹 표준(Web Standards): 웹에서 사용되는 규칙 또는 기술 (HTML, JavaScript 등에 대한 규정, 다른 웹 페이지 기종이나 플랫폼에서도 구현되도록 제작하는 기법 등)
-
웹 접근성(Web Accessibility): 누구나 어떠한 환경에서도 웹 사이트에서 제공하는 모든 정보를 접근하여 이용할 수 있도록 보장
-
웹 호환성(Cross Browsing): 하드웨어나 소프트웨어 등이 다른 환경에서도 모든 이용자에게 동등한 서비스를 제공
🔎 2) 한국형 웹 콘텐츠 접근성 지침(KWCAG; Korean Web Content Accessibility Guidelines)
-
장애인이 비장애인과 동등하게 접근할 수 있는 웹 콘텐츠의 제작 방법 제시
-
접근성이 보장된 웹 콘텐츠를 쉽게 제작할 수 있도록 도와주는 것

* 대체 수단: 멀티미디어 콘텐츠에 포함된 음성이나 대화를 대체할 수 있는 자막, 대본, 수화 등
* 소리: 콘텐츠에 포함된 모든 소리는 자동으로 재생되면 안되므로 제어 수단을 함께 제공해야하며, 3초 미만의 소리는 자동 재생 가능
* 광과민성 발작: 사람이 장시간 불규칙적으로 깜빡거리거나 번쩍이는 빛의 자극으로 인해 발생하는 발작 → 초당 3~50회 주기로 깜빡거리는 콘텐츠는 제공 X
* 마크업 언어: 태그 등을 이용하여 문서의 포맷이나 구조 등을 지정하는 언어 (HTML, XML, SGML 등)
- 인코딩(Encoding): 문자들의 집합을 컴퓨터에 저장하거나 통신에 사용할 목적으로 부호화하는 방법
- 플러그인(Plug-in): 응용 프로그램에 추가되어 특정한 기능을 수행하도록 구현된 프로그램 모듈
13. UI 설계 도구
🔎 1) UI 설계 도구: 사용자의 요구사항에 맞게 UI의 화면 구조나 배치 등을 설계할 때 사용하는 도구
-
와이터프레임, 목업, 스토리보드, 프로토타입, 유스케이스 등
-
(1) 와이어프레임(Wireframe): 페이지에 대한 개략적인 레이아웃이나 UI 요소 등에 대한 뼈대를 설계하는 단계
- 기획 단계의 초기에 제작하는 것
- 각 페이지의 영역 구분, 콘텐츠, 텍스트 배치 등을 화면 단위로 설계
- 개발자나 디자이너가 레이아웃을 협의하고 진행 상태를 공유하기 위해 사용
- 와이어프레임 툴: 손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵 등
-
(2) 목업(Mockup): 디자인, 사용 방법 설명, 평가 등을 위해 와이어프레임보다 좀 더 실제 화면과 유사하게 만든 정적인 형태의 모형
- 시각적으로만 구성 요소를 배치하는 것으로 실제 구현되지는 않음
- 목업 툴: 파워 목업, 발사믹 목업
-
(3) 스토리보드(Story Board): 와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서
- 화면 단위로 전개될 가상 경로를 예상하여 기획
- 최종적으로 참고하는 작업 지침서로, 서비스 구축을 위한 모든 정보 포함 (정책, 프로세스, 콘텐츠 구성, 와이어프레임, 기능 정의 등)
- 상단, 우측에는 제목, 작성자 등을 입력 / 좌측에는 UI 화면 / 우측에는 디스크립션 기입
- 디스크립션(Description): 화면에 대한 설명, 전반적인 로직, 분기처리, 예외처리 등 → 명확하고 세부적으로 작성
- 스토리보드 툴: 파워포인트, 키노트, 스케치, Axure 등
-
(4) 프로토타입(Prototype): 와이어프레임이나 스토리보드 등에 인터랙션을 적용하여 실제 테스트가 가능한 동적인 형태의 모형
-
(5) 유스케이스(Use Case): 사용자 측면에서의 요구사항으로 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술
- 프로젝트 초기에 시스템의 기능적 요구를 결정하고 그 결과를 문서화
- 사용자의 요구사항을 구조적으로 표현하며 일반적으로 다이어그램 형식으로 묘사
14. UI 요구사항 확인
🔎 1) UI 요구사항 확인: 새로 개발할 시스템에 적용할 UI 관련 요구사항을 조사해서 작성하는 단계
-
(1) 목표 정의: 사용자들을 대상으로 인터뷰 진행 후 의견이 수렴된 비즈니스 요구사항을 정의
-
인터뷰 진행 시 유의사항
-
개별적으로 진행
-
많은 사람을 인터뷰하여 다양한 의견을 수렴하되, 개인의 중요한 의견을 놓치지 않도록 주의
-
한 시간을 넘지 않도록 진행
-
사용자 리서치를 시작하기 전에 진행
*리서치(Research): 사용자들의 요구사항이나 불편사항 등을 파악하기 위해 진행되는 것
-
(2) 활동 사항 정의: 요구사항을 토대로 앞으로 해야 할 활동 사항을 정의
- 기술의 발전 가능성을 파악하고 UI 디자인의 방향을 제시
- 사업 전략 및 목표, 프로세스 책임자 선정, 회의 일정 및 계획 작성, 우선순위 선정 등 개별적인 단위 업무 구분
-
(3) UI 요구사항 작성: 여러 경로를 통해 수집된 사용자들의 요구사항을 검토, 분석하여 개발 목적에 맞게 작성
- 반드시 실사용자 중심으로 작성
- 다양한 의견을 수렴해서 작성
- UI의 전체적인 구조를 파악 및 검토
-
(4) UI 요구사항 작성 순서
① 요구사항 요소 확인: 요구사항 요소의 종류와 각각의 표현 방식 등을 검토
- 요구사항 요소
- 데이터 요구: 사용자가 요구하는 모델, 객채들의 특성을 기반으로 데이터 객체 정리 / 인터페이스 구성에 영향을 미치므로 반드시 초기에 확인
- 기능 요구: 사용자의 목적 달성을 위해 실행해야 하는 것들을 동사형으로 설명 / 최대한 철저하게 정리
- 제품/서비스의 품질: 제품의 품질, 서비스, 감성적인 품질 등을 고려하여 작성
- 제약 사항: 데드라인, 개발 및 제작에 필요한 비용, 시스템 준수에 필요한 규제 포함 / 사전에 제약사항의 변경 가능 여부를 확인
②정황 시나리오 작성: 요구사항을 도출하기 위한 과정으로 사용자가 목표 달성을 위해 수행하는 방법을 순차적으로 묘사한 것
- 요구사항 정의에 사용되는 초기 시나리오로 사용자 관점에서 기능 위주로 작성해야 함
- 육하원칙에 따라 간결하고 명확하게 작성
- 작성된 시나리오는 외부 전문가나 경험이 풍부한 사람에게 검토 의뢰 ③요구사항 작성: 정황 시나리오를 토대로 작성
15. 품질 요구사항
🔎 1) 품질 요구사항
- 품질: 소프트웨어 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 특성
- 사용자의 요구사항을 충족시킴으로써 확립
① ISO/IEC 9126
- 소프트웨어 품질 특성과 평가를 위한 표준 지침으로, 국제 표준으로 널리 사용
- 품질에 대한 요구사항 기술, 소프트웨어의 품질 평가에 사용
- 2011년에 호환성과 보완성을 강화하여 ISO/IEC 25010으로 개정

② ISO/IEC 25010
- 소프트웨어 제품에 대한 국제 표준으로 9126을 개정

③ 기타 소프트웨어 품질 관련 표준
- ISO/IEC 12119: 9126을 준수한 품질 표준으로 테스트 절차를 포함하여 규정
- ISO/IEC 14598: 소프트웨어 품질의 측정과 평가에 필요 절차를 규정한 표준으로 개발자, 구매자, 평가자 별 수행해야 할 제품 평가 활동을 규정
- (1) 기능성(Functionality): 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지의 여부
- 적절성/적합성(Suitability): 저장된 작업과 사용자의 목적 달성을 위해 적절한 기능을 제공할 수 있는 능력
- 정밀성/정확성(Accuracy): 사용자가 요구하는 결과를 정확하게 산출할 수 있는 능력
- 상호 운용성(Interoperability): 다른 시스템들과 서로 어울려 작업할 수 있는 능력
- 보안성(Security): 정보에 대한 접근을 권한에 따라 허용하거나 차단할 수 있는 능력
- 준수성(Compliance): 표준, 관례 및 규정을 준수할 수 있는 능력
- (2) 신뢰성(Reliability): 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도
- 성숙성(Maturity): 결함으로 인한 고장을 피해갈 수 있는 능력
- 고장 허용성(Fault Tolerance): 결함 또는 인터페이스 결여 시에도 규정된 성능 수준을 유지할 수 있는 능력
- 회복성(Recoverability): 고장 시 규정된 성능 수준까지 다시 회복하고 데이터를 복구할 수 있는 능력
- (3) 사용성(Usability): 사용자가 쉽게 배우고 사용할 수 있으며, 향후 다시 사용하고 싶은 정도
- 이해성(Understandability): 적합성, 사용 방법 등을 사용자가 이해할 수 있는 능력
- 학습성(Learnability): 애플리케이션을 학습할 수 있도록 하는 능력
- 운용성(Operability): 사용자가 소프트웨어를 운용하고 제어할 수 있도록 하는 능력
- 친밀성(Attractiveness): 사용자가 소프트웨어를 다시 사용하고 싶어 하도록 하는 능력
- (4) 효율성(Efficiency): 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지의 정도
- 시간 효율성(Time Behaviour): 특정 기능을 수행할 때 적절한 반응 시간, 처리 시간, 처리율을 제공할 수 있는 능력
- 자원 효율성(Resource Behaviour): 특정 기능을 수행할 때 적절한 자원의 양과 종류를 제공할 수 있는 능력
- (5) 유지 보수성(Maintainability): 환경의 변화, 새로운 요구사항에 맞춰 소프트웨어를 개선, 확장할 수 있는 정도
- 분석성(Analyzability): 결함이나 고장원인, 수정 부분들의 식별을 가능하게 하는 능력
- 변경성(Changeability): 결함 제거, 환경 변화로 인한 수정을 쉽게 구현할 수 있는 능력
- 안정성(Stability): 예상치 못한 결과를 최소화할 수 있는 능력
- 시험성(Testability): 소프트웨어의 변경이 검증될 수 있는 능력
- (6) 이식성(Portability): 소프트웨어가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지의 정도
- 적용성(Adaptability): 원래 목적 외에 다른 환경으로 변경될 수 있는 능력
- 설치성(Instaliability): 임의의 환경에 소프트웨어를 설치할 수 있는 능력
- 대체성(Replaceability): 동일한 환경에서 동일한 목적으로 다른 소프트웨어를 대신하여 사용될 수 있는 능력
- 공존성(Co-existence): 자원을 공유하는 환경에서 다른 소프트웨어와 공존할 수 있는 능력
16. UI 프로토타입 제작 및 검토
🔎 1) UI 프로토타입의 개요
- 프로토타입: 요구사항을 기반으로 실제 동작하는 것처럼 만든 동적인 형태의 모형 (테스트 가능)
- 최대한 간단하게 만들어야하지만 제품의 작동 방식을 이해시키는데 필요한 기능은 반드시 포함해야함
- 요구사항이 모두 반영될 때까지 계속하여 개선하고 보완해야함
- 실제 사용자를 대상으로 테스트하는 것이 좋다
🔎 2) UI 프로토타입의 장,단점
- 장점
- 사용자를 설득하고 이해시키기 쉽다.
- 사전에 오류를 발견해 개발 시간을 줄일 수 있다.
- 단점
- 반복적인 개선 및 보완 작업 때문에 작업 시간을 증가시킬 수 있고 필요 이상의 자원을 소모할 수 있다.
- 부분적으로 진행하다보면 중요한 작업이 생략될 수 있다.
🔎 3) 프로토타이핑의 종류
① 페이퍼 프로토타입(Paper Prototype)
- 아날로그적인 방법으로 손으로 직접 작성하는 방법
- 제작 기간이 짧은 경우, 제작 비용이 적을 경우, 업무 협의가 빠를 경우에 사용
- 장점
- 비용이 저렴 / 대화하면서 생성 가능 / 즉시 변경 가능 / 고객이 과다한 기대를 하지 않음
- 단점
- 테스트에 부적당 / 상호 관계가 많은 경우 표현이 복잡 / 공유가 어려움
② 디지털 프로토타입(Digital Prototype)
- 프로그램을 사용하여 작성하는 방법
- 재사용이 필요한 경우, 산출물과 비슷한 효과가 필요한 경우, 숙련된 전문가가 있는 경우에 사용
- 장점
- 최종 제품과 비슷하게 테스트 가능
- 수정이 쉽고 재사용 가능
- 단점
- 프로토타입을 작성할 프로그램의 사용법을 알아야 함
🔎 4) UI 프로토타입 계획 및 작성 시 고려사항
- 계획 시 고려사항
- 개발 목적 확인, 개발에 필요한 환경 마련
- 프로토타이핑 일정은 아키텍처가 확정된 후 프로젝트의 실제 분석 작업이 완료되기 이전에 진행
- 프로토타입의 개발 인원 확인
- 프로토타이핑을 진행하며 가장 많은 시간이 소요된 구간을 찾고 원인 분석하여 해결 방법 제시
- 작성 시 고려사항
- 작성 계획을 세우고 프로토타입의 범위를 정한다
- 얻고자 하는 목표를 확인
- 필요한 최소한의 기간과 비용을 확인
🔎 5) UI 프로토타입 제작 단계
① 사용자의 요구사항 분석, 사용자 관점에서 요구사항이 확정될 때까지 수정
② 개발할 시스템의 핵심적인 기능을 중심으로 프로토타입 작성 및 개발
③ 프로토타입에 대해 사용자가 직접 확인하고 다양한 의견 제안
④ 수정과 합의 후 보완 작업 / 완료 후 3단계로 되돌아가 3단계, 4단계의 반복
17. UI 설계서 작성
🔎 1) UI 설계서의 개요
- 요구사항을 바탕으로 UI 설계를 구체화하여 작성하는 문서
🔎 2) UI 설계서 표지 작성
🔎 3) UI 설계서 개정 이력 작성
- 수정될 때마다 어떤 부분이 어떻게 수정되었는지 정리
- 처음 작성 시 첫 번째 항목을 '초안 작성', 버전(version)은 1.0으로 설정
- 변경 사항이 있을 때마다 변경 내용을 적고 버전을 0.1씩 높인다.
🔎 4) UI 요구사항 정의서 작성
- 요구사항을 확인하고 정리한 문서 (UI 적용 여부를 요구사항별로 표시)
🔎 5) 시스템 구조 작성
- UI 요구사항과 UI 프로토타입에 기초하여 전체 시스템의 구조를 설계한 것
🔎 6) 사이트 맵(Site Map) 작성
- 사이트에 표시할 콘텐츠를 한 눈에 알아 볼 수 있도록 메뉴별로 구분하여 설계한 시각적인 콘텐츠 모형
- 사이트 맵의 상세 내용을 표(테이블) 형태로 작성하며 위에서부터 아래로 내려가며 정보를 찾을 수 있는 계층형으로 구성
🔎 7) 프로세스(Process) 정의서 작성
- 사용자가 요구하는 프로세스들을 작업 진행 순서에 맞춰 정리한 것 - 전체적 흐름 파악
🔎 8) 화면 설계
- UI 프로토타입과 UI 프로세스를 참고하여 필요한 화면을 페이지별로 설계한 것
- 화면별 고유ID를 부여하고 별도 표지 작성
18. 유용성 평가
🔎 1) UI의 유용성 평가
- 유용성(Usability): 사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가에 대한 척도
- 사용자 모형과 개발자 모형 간의 차이를 최소화해야 함
- 모형 간 차이가 발생하는 원인
- 실행 차: 사용자가 원하는 목적과 실행 기능이 다르기 때문
- 평가 차: 사용자가 원하는 목적과 실행 결과가 다르기 때문
🔎 2) 실행 차를 줄이기 위한 설계원리 검토
① 사용 의도 파악: 사용자 목적을 명확히 파악한 후 불필요한 기능이나 중복되는 기능이 있는지 확인
② 행위 순서 규정: 행위 순서를 세분화시켜 순서대로 제시하고 사용자가 임의로 행위 순서를 변경할 수 있도록 함 / 단계를 최소화하고 다양한 방법으로 친숙하게 설계해야함
③ 행위 순서대로 실행: 프로세스의 흐름을 직접적으로 파악할 수 있도록 제공
과도한 상호 작용은 피하고 피드백, 취소 기능, 디폴트 값 등을 적절하게 설정
🔎 3) 평가 차를 줄이기 위한 설계원리 검토
① 수행한 키 조작의 결과를 사용자가 빠르게 지각하도록 직접적으로 표시
② 키 조작으로 변화된 시스템 상태를 사용자가 쉽게 인지하도록 유도
③ 사용자의 의도와 시스템 결과 간의 유사 정도를 사용자가 쉽게 파악하도록 유도
19. UI 상세 설계
🔎 1) UI 시나리오 문서 개요
- UI 상세 설계: UI 설계서를 바탕으로 실제 설계 및 구현을 위해 모든 화면에 대한 자세한 설계를 진행하는 단계 → 반드시 시나리오 작성
- UI 시나리오 문서는 사용자 인터페이스의 기능 구조, 대표 화면, 화면 간 인터랙션의 흐름, 다양한 상황에서의 예외 처리 등을 문서로 정리
- UI 설계자, 인터랙션 디자이너가 UI 시나리오 문서를 작성하면 그래픽 디자이너가 디자인을 하고 개발자가 UI를 구현
🔎 2) UI 시나리오 문서 작성 원칙
- 개발자가 UI의 기능과 작동 방식을 한눈에 이해할 수 있도록 구체적으로 작성
- 계층(Tree)구조 또는 플로차트 (Flow Chart) 표기법으로 작성
- 모든 기능에 공통적으로 적용될 UI 요소와 인터랙션을 일반 규칙으로 정의
- 대표 화면의 레이아웃과 기능을 정의
- 화면 간 인터랙션의 순서(Sequence), 분기(Branch), 조건(Condition), 루프(Loop) 등을 명시
- 예외 상황에 대비한 다양한 케이스를 정의하고 기능별 상세 기능 시나리오 정의
🔎 3) UI 시나리오 문서 작성을 위한 일반 규칙
- 주요 키의 위치와 기능: 여러 화면 간의 일관성을 보장
- 공통 UI 요소: UI요소를 언제, 어떤 형태로 사용할 지 정의하고 반응의 흐름을 설명
- 기본 스크린 레이아웃: 모든 화면에 공통적으로 나타나는 요소의 위치와 속성 정의
- 기본 인터랙션 규칙: 터치 제스처 등에 공통적으로 사용되는 조작 방법과 화면 전환 효과 등을 기술
- 공통 단위 태스크 흐름: 공통적으로 사용되는 삭제, 검색, 매너 모드 등에 대한 인터랙션 흐름 설명
- 케이스 문서: 다양한 상황에서 공통적으로 적용되는 시스템의 동작을 정의한 문서
📌 UI 요소
- 체크 박스(Check Box): 여러 선택지 중에 1개 이상의 값을 선택할 수 있는 버튼
- 라디오 버튼(Radio Button): 여러 항목 중 하나만 선택할 수 있는 버튼
- 텍스트 박스(Text Box): 사용자가 데이터를 입력하고 수정할 수 있는 상자
- 콤보 상자(Combo Box): 이미 지정된 목록 상자에 내용을 표시하여 선택하거나 새로 입력할 수 있는 상자
- 목록 상자(List Box): 목록을 표시하지만 새로운 내용을 입력할 수 없는 상자
🔎 4) UI 시나리오 문서의 요건
- 완전성(Complete): 기능보다 사용자의 태스크에 초점을 맞춰 최대한 상세하게 기술
- 일관성(Consistent): 서비스 목표, 요구사항, UI 스타일이 모두 일관성을 유지해야 함
- 이해성(Understandable): 누구나 쉽게 이해할 수 있도록 불분명하거나 추상적인 표현은 피하여 설명
- 가독성(Readable): 표준화된 템플릿(기본 레이아웃)을 활용하여 문서를 쉽게 읽을 수 있도록 해야함
- 문서 인덱스에 대한 규칙이나 목차 제공
- 하이퍼링크 등을 지정하여 문서들이 서로 참조될 수 있도록 지정
- 수정 용이성(Modifiable): 시나리오의 수정이나 개선이 쉬워야 함
- 추적 용이성(Traceable): 변경 사항을 쉽게 추적할 수 있어야 함
🔎 5) UI 시나리오 문서로 인한 기대 효과
- 요구사항, 의사소통에 대한 오류 감소
- 개발 과정에서의 재작업이 감소하고 혼선 최소화
- 불필요한 기능을 최소화하고 개발 비용을 절감
- 개발 속도를 향상시킴
20. HCI / UX / 감성공학
🔎 1) HCI(Human Computer Interaction or Interface): 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문
- 목표: 시스템 사용에 있어 최적의 사용자 경험(UX)을 만드는 것
🔎 2) UX(User Experience): 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적 경험
- 사용자의 삶의 질을 향상시키는 하나의 방향으로 보는 개념
- UI: 사용성, 접근성, 편의성 중시 → UX: 이런 UI를 통해 사용자가 느끼는 만족이나 감정을 중시
- UX의 특징
- 주관성(Subjectivity): 사람들의 특성에 따라 다르므로 주관적이다.
- 정황성(Contextuality): 경험이 일어나는 상황이나 환경에 영향을 받는다.
- 총체성(Holistic): 개인이 느끼는 총체적인 심리적, 감성적 결과
🔎 3) 감성 공학
- 제품이나 작업환경을 사용자의 감성에 알맞도록 설계 및 제작하는 기술로 여러 분야의 학문이 공존하는 종합과학
- *감성: 사용자가 제품을 사용한 경험을 통해 얻는 복합적인 감각
- 목적: 인간의 삶을 편리하고 안전하며 쾌적하게 만드는 것
- HCI 설계에 인간의 특성과 감성을 반영
- 감성공학의 요소기술
- 기반 기술: 제품 설계에 적용할 인간의 특성 파악
- 구현 기술: 인간의 특성에 맞는 인터페이스 구현
- 응용 기술: 인간에 맞는지 파악하여 새로운 감성 구현
<오답정리하기>
🖍 예상문제 오답정리 <101p - 102p>
Q5. 정부기관의 홈페이지 구축 시 반영해야 할 지침으로 옳지 않은 것은?
A5. 웹사이트에서 제공하는 미디어는 특정 운영체제에 종속적인 포맷을 사용해야 한다? → 운영체제 종류에 상관없이 사용할 수 있도록 종속적인 포맷은 최소화!
Q7. 화면 단위로 삽입될 구성 요소나 콘텐츠, 기능 등을 구체적으로 정리해 놓은 문서는 무엇인가?
A7. 스토리보드 → 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서로 구축을 위한 모든 정보가 들어있다.
Q9. 사용자 인터페이스는 사용자와 시스템 간의 상호 작용이 원활하게 수행되도록 도와주는 연계 작업이다. 다음 중 UI의 설계 툴이 아닌 것은?
A9. ③아파치 → 서버 프로그램
①스케치 → 스토리보드 툴 / ②프로토나우 → 프로토타입 툴 / ④발사믹 목업 → 목업 툴
Q11. UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?
✨A11. ①피드백 (Feedback)
②Posture: 센서가 부착된 장갑을 통해 손가락의 움직임 정보를 다루는 기법
③Module: 모듈화를 통해 분리된 시스템의 각 기능들 (서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용)
④Hash: 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
Q12. ISO/IEC 9126은 국제적으로 소프트웨어 품질을 측정하는데 이용되고 있다. 소프트웨어의 품질 특성은?
A12. 사용성(Usability), 기능성(Functionality), 유지 보수성(Maintainability), 신뢰성(Reliability), 효율성(Efficiency), 이식성(Portability)
Q13. 다음의 사용자 인터뷰는 ISO/IEC 9126 품질 특성 중 어떤 특성에 적합한가?
① 컴퓨터가 다운되면 20초 내에 정상적으로 작동되도록 해주시고,
② 자리를 비울 경우 다른 사람이 이 컴퓨터를 사용할 수 없게 해주세요.
A13. ①: 사용자의 요구사항을 만족하는 기능 → 기능성
②: 요구된 기능을 오류없이 수행하게 하는 기능 → 신뢰성
Q16. UI 프로토타입을 작성할 때의 설명으로 틀린 것은?
A16. 검증할 범위는 많은 내용을 포함할 수 있도록 가급적 넓게 잡는 것이 좋다? → 가능한 작은 범위, 적은 인원으로 최소 기간내에 진행하는 것이 좋다!
Q18. 소프트웨어 개발 영역을 결정하는 요소인 인터페이스에 포함되는 사항
A18. · 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 프로세서나 하드웨어
· 운영체제, 서브루틴 패키지와 같이 새로운 소프트웨어에 연결되어야 하는 소프트웨어
· 키보드나 기타 I/O 장치를 통해 소프트웨어를 사용하는 사람
· 순서적 연산에 의해 소프트웨어를 실행하는 절차
Q19. 소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명
A19. · SQuaRE(System and Software Quality Requirements and Evaluation)라고도 함
· 기존 소프트웨어 품질 평가 모델 9126과 소프트웨어 평가 절차 모델 14598을 통합하였다.
· 2501n에는 소프트웨어 내부 및 외부 품질과 사용 품질에 대한 모델 등 품질 모델 부분을 다룬다.
· 2502n은 내부 측정, 외부 측정, 사용 품질 측정 등 품질 측정 부분을 다룬다.