[정처기 필기] 「1」 | 화면 설계 - (2.1) 사용자 인터페이스, UI 설계 도구, 품질 요구사항

728x90

[정처기 필기] 1」 | 화면 설계 - (2.1) 사용자 인터페이스, UI 설계 도구, 품질 요구사항

> 「1」 소프트웨어 설계

- 요구사항 확인, > 화면 설계, 애플리케이션 설계, 인터페이스 설계

「2」 소프트웨어 개발

「3」 데이터베이스 구축

「4」  프로그래밍 언어 활용

「5」  정보시스템 구축 관리

 

> 1 사용자 인터페이스

> 2 UI 설계 도구

> 3 품질 요구사항

4 UI 상세 설계

5 HCI / UX / 감성공학

1. 사용자 인터페이스

사용자 인터페이스(UI; User Interface)의 개요

 

사용자와 시스템 간의 상호작용을 도와주는 장치소프트웨어

 

- 사용자가 수행할 작업을 구체화 시키는 기능, 정보 내용을 전달하기 위한 표현 방법

 

사용자 인터페이스의 세 가지 분야

- 정보 제공과 전달을 위한 물리적 제어

- 콘텐츠의 상세적인 표현과 전체적인 구성

- 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능

 

사용자 인터페이스의 특징

 

- 만족도에 가장 큰 영향, 변경이 가장 많이 발생

- 편리성과 가독성을 높여 작업 시간 단축, 업무 이해도 높임

- 최소한의 노력으로 원하는 결과

- 사용자 중심으로 설계

- 수행 결과의 오류 줄임

- 작업 기능에 대해 구체적인 방법 제시

- 정보 제공자와 이용자 간의 매개 역할

- 소프트웨어 아키텍처 숙지

 

사용자 인터페이스의 구분

 

상호작용의 수단 및 방식에 따라 구분

 

- CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스

- GUI(Graphical User Interface) : 아이콘이나 메뉴마우스로 선택, 그래픽 환경 인터페이스

- NUI(Natural User Interface) : 말이나 행동으로 기기를 조작하는 인터페이스

- VUI(Voice User Interface) : 음성으로 기기를 조작하는 인터페이스

- OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스, 사물 인터넷, 가상현실, 증강현실, 혼합현실 등

 

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

 

직관성 : 쉽게 이해, 사용

유효성 : 사용자의 목적정확하고 완벽하게 달성

학습성 : 쉽게 배우고, 익힘

유연성 : 요구사항 최대한 수용, 실수 최소화

 

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

 

사용자 중심 : 실사용자에 대한 이해

사용성 : 사용자가 빠르고 쉽게 이해, 편리하고 효율적으로 사용, 가장 우선적으로 고려

일관성 : 버튼이나 조작 방법 등 쉽게 기억하고 습득

단순성 : 조작 방법을 단순화, 인지적 부담 감소

결과 예측 가능 : 기능만 보고도 결과를 미리 예측

가시성 : 메인 화면에 주요 기능 노출시켜 조작이 쉽도록

심미성 : 디자인적으로 가독성 높임

표준화 : 한 번 학습 후 쉽게 사용

접근성 : 다양한 계층이 사용

명확성 : 개념적으로 쉽게 인지

오류 발생 해결 : 오류 발생 시 사용자가 쉽게 인지

 

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

 

- 사용자의 입력을 검증 할 수 있어야 함

- 에러 처리와 관련된 에러 메시지를 표시

- 도움과 프롬프트(Prompt) 제공

2. UI 설계 도구

UI 설계 도구

 

UI의 화면 구조화면 배치를 설계할 때 사용하는 도구, 와이어프레임, 목업, 스토리보드, 프로토타입, 유스케이스

 

- 기획 단계에서 미리 보여주기 위한 용도

 

와이어프레임(Wireframe)

 

기획 단계 초기에 제작, 페이지의 개략적인 레이아웃, UI 요소뼈대 설계

 

- 각 페이지의 영역 구분, 콘텐츠, 텍스트 배치 등을 화면 단위로 설계

- 현재 진행 상태를 공유하기 위해 사용

- 손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵

 

목업(Mockup)

 

실제 화면과 유사하게 만든 정적인 형태의 모형

 

- 시각적으로만 배치, 실제로 구현되지 않음

- 파워 목업, 발사믹 목업

 

스토리보드(Story Board)

 

와이어프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서

 

- 최종적으로 참고하는 작업 지침서, 서비스 구축을 위한 모든 정보

- 상단이나 우측에 제목, 작성자 입력, 좌측에 UI 화면, 우측에 디스크립션(Description)을 기입

- 디스크립션은 화면에 대한 설명, 전반적인 로직, 분기처리, 예외처리 등 명확하고 세부적으로 작성

- 파워포인트, 키노트, 스케치, Axure

 

프로토타입(Prototype)

 

와이어프레임이나 스토리보드 등에 인터랙션을 적용, 테스트가 가능한 동적인 형태의 모형

 

- 서비스 이해를 위해 작성하는 샘플

- 페이퍼 프로토타입디지털 프로토타입으로 나뉨

- HTML/CSS, Axure, Flinto, 네이버 프로토나우, 카카오 오븐

 

유스케이스(Use Case)

 

사용자 측면에서의 요구사항, 목표를 달성하기 위해 수행할 내용 기술

 

- 프로젝트 초기에 시스템의 기능적인 요구를 결정하고, 문서화

- 자연어로 작성된 요구사항을 구조적으로 표현, 다이어그램 형식

- 유스케이스 명세서 작성

3. 품질 요구사항

품질 요구사항

 

소프트웨어의 품질은 기능, 성능, 만족도 등 요구사항을 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체

 

- 요구사항을 충족시킴으로써 확립

- ISO/IEC 9126

  : 소프트웨어의 품질 특성과 평가를 위한 표준 지침, 국제 표준

  : 요구사항 기술 또는 품질 평가에 사용

  : 호환성과 보안성을 강화하여 ISO/IEC 25010으로 개정

  : 제시한 소프트웨어의 품질 특성

 

    ISO/IEC 9126    
기능성 신뢰성 사용성 효율성 유지 보수성 이식성
적절성/적합성
정밀성/정확성
상호 운용성
보안성
준수성
성숙성
고장 허용성
회복성
이해성
학습성
운용성
친밀성
시간 효율성
자원 효율성
분석성
변경성
안정성
시험성
적용성
설치성
대체성
공존성

 

- ISO/IEC 25010

  : 소프트웨어 제품에 대한 국제 표준, ISO/IEC 9126 개정하여 만듦

  : 제시한 소프트웨어의 품질 특성

 

      ISO/IEC 25010      
기능 적합성 성능 효율성 호환성 사용성 신뢰성 보안성 유지 보수성 이식성
기능 완전성
기능 정확성
기능 적절성
시간 효율성
자원 효율성
사양
공존성
상호운영성
적절 인지정도
학습성
조작성
사용자 오류 방지
UI 미학
접근성
성숙성
사용 가능성
결함 허용성
복구성
기밀성
무결성
부인방지
책임추적성
인증성
모듈성
재사용성
분석성
변경성
시험성
적응성
설치성
대체성

 

>기타 소프트웨어 품질 관련 표준<

 

- ISO/IEC 12119 : ISO/IEC 9126을 준수한 품질 표준으로, 테스트 절차 포함

- ISO/IEC 14598 : 소프트웨어 품질의 측정과 평가에 필요한 절차를 규정한 표준, 개발자, 구매자, 평가자 별로 수행해야 할 제품 평가 활동을 규정

 

기능성(Funcionality)

 

요구사항을 정확하게 만족하는 기능을 제공하는지 여부

 

- 적절성/적합성(Suitability) : 적절한 기능을 제공할 수 있는 능력

- 정밀성/정확성(Accuracy) : 결과를 정확하게 산출할 수 있는 능력

- 상호 운용성(Interoperability) : 다른 시스템과 서로 어울려 작업할 수 있는 능력

- 보안성(Security) : 정보 접근을 권한에 따라 허용하거나 차단할 수 있는 능력

- 준수성(Compliance) : 표준, 관례 및 규정을 준수할 수 있는 능력

 

신뢰성(Reliability)

 

요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도

 

- 성숙성(Maturity) : 결함으로 인한 고장을 피해 갈 수 있는 능력

- 고장 허용성(Fault Tolerance) : 고장 시에도 규정된 성능 수준을 유지할 수 있는 능력

- 회복성(Recoverability) : 고장 시 규정된 성능 수준까지 다시 회복하고, 데이터를 복구할 수 있는 능력

 

사용성(Usability)

 

사용자가 쉽게 배우고 사용할 수 있으며, 다시 사용하고 싶은 정도

 

- 이해성(Understandability) : 사용자가 이해할 수 있는 능력

- 학습성(Learnability) : 학습할 수 있도록 하는 능력

- 운용성(Operability) : 운용하고 제어할 수 있도록 하는 능력

- 친밀성(Attractiveness) : 다시 사용하고 싶도록 하는 능력

 

효율성(Efficiency)

 

할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도

 

- 시간 효율성(Time Behavious) : 적절한 반응 시간 및 처리 시간, 처리율을 제공할 수 있는 능력

- 자원 효율성(Resource Behavious) : 적절한 자원의 양과 종류를 제공할 수 있는 능력

 

유지 보수성(Maintainability)

 

소프트웨어를 개선하거나 확장할 수 있는 정도

 

- 분석성(Analyzability) : 결함, 고장의 원인, 수정될 부분의 식별을 가능하게 하는 능력

- 변경성(Changeability) : 결함 제거, 수정을 쉽게 구현할 수 있는 능력

- 안정성(Stability) : 변경으로 인한 예상치 못한 결과를 최소화할 수 있는 능력

- 시험성(Testability) : 소프트웨어의 변경이 검증될 수 있는 능력

 

이식성(Portability)

 

다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도

 

- 적용성(Adaptability) : 다른 환경으로 변경될 수 있는 능력

- 설치성(Installability) : 소프트웨어를 설치할 수 있는 능력

- 대체성(Replaceability) : 다른 소프트웨어를 대신하여 사용될 수 있는 능력

- 공존성(Co-existence) : 다른 소프트웨어와 공존할 수 있는 능력

 

 

 

 

 

 

 

 

출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)

728x90