[정처기 필기] 「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 기본서 (길벗알앤디)
'💠기타 > 자격증' 카테고리의 다른 글
[정처기 필기] 「1」 | 애플리케이션 설계 - (3.1) 소프트웨어 아키텍처, 아키텍처 패턴 (0) | 2024.01.23 |
---|---|
[정처기 필기] 「1」 | 화면 설계 - (2.2) UI 상세 설계, HCI / UC / 감성공학 (1) | 2024.01.23 |
[정처기 필기] 「1」 | 요구사항 확인 - (1.5) UML, 주요 UML 다이어그램 (2) | 2024.01.22 |
[정처기 필기] 「1」 | 요구사항 확인 - (1.4) 요구사항 정의, 분석, CASE와 HIPO (0) | 2024.01.22 |
[정처기 필기] 「1」 | 요구사항 확인 - (1.3) 현행 시스템 파악, 개발 기술 환경 파악 (1) | 2024.01.21 |