정보처리기사 1과목 - 소프트웨어 설계 : 사용자 인터페이스(UI : User Interface)
[1] UI의 구분
* UI(User Interface) : 사용자와 컴퓨터 상호 간의 소통을 원활히 하게 도와주는 연계 작업을 의미
1. CLI (Command Line Interface) : 텍스트 형태로 이루어진 인터페이스
2. GUI (Graphical User Interface) : 마우스로 선택해 작업을 하는 그래픽 환경의 인터페이스
3. NUI (Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
4. VUI (Voice User Interface) : 사람의 음성으로 기기를 조작하는 인터페이스
5. OUI (Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스
[2] UI 설계 원칙 / 기본 원칙 ⭐⭐
직관성 | 유효성 | 학습성 | 유연성
1. 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함
2. 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
3. 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함
4. 유연성 : 사용자의 요구사항을 최대한 수용하고 오를 최소화해야 함
[3] UI 요구사항 정의
* 품질 요구사항 (ISO/IEC 9126 품질 요구사항 6가지) (ISO/IEC 9126 : 소프트웨어의 품질을 정량적으로 평가하는 표준)
기능성 | 신뢰성 | 사용성 | 효율성 | 유지보수성 | 이식성
1. 기능성(Functionality)
- 요구된 기능이 제공되는가?
- 실제 수행 결과와 품질 요구사항과의 차이를 분석, 실제 사용 시 정확하지 않은 결과가 발생할 확률 등과 관련하여 시스템의 동작을 관찰하기 위한 품질 기준
- 상세 품질 요구사항 : 적절성, 정밀성, 상호 운용성, 보안성, 호환성
적절성(Suitability) | - 소프트웨어 제품이 주어진 작업과 사용자의 목표에 필요한 적절한 기능들을 제공해줄 수 있는 능력 |
정밀성(Accuracy) | - 소프트웨어 제품이 요구되는 정확도로 올바른 결과를 산출할 수 있는 능력 |
상호 운용성(Interoperability) | - 소프트웨어 제품이 특정 시스템과 상호작용하여 운영될 수 있는 능력 |
보안성(Security) | - 프로그램과 데이터에 대해 비인가된 접근을 차단하고, 우연 또는 고의적인 접근을 인지하여 대처할 수 있는 능력 |
호환성(Compliance) | - 소프트웨어 제품이 비슷한 환경에서 연관된 표준, 관례 및 규정을 준수하는 능력 |
2. 신뢰성(Realiability)
- 믿을만한 소프트웨어인가?
- 시스템이 일정한 시간 또는 작동되는 시간 동안 의도하는 기능을 수행함을 보증
- 상세 품질 요구사항 : 성숙성, 고장 허용성, 회복성
성숙성(Maturity) | - 소프트웨어 결함으로 인한 고장을 회피할 수 있는 소프트웨어의 능력 |
고장 허용성(Fault Tolerance) | - 소프트웨어 결함이나 인터페이스 결여 시에도 특정 수준 이상의 성능을 유지할 수 있는 능력 |
회복성(Recoverability) | - 소프트웨어 고장과 그에 대한 시간과 노력이 요구되는 경우 영향받은 데이터를 복구하고 성능의 수준을 다시 확보할 수 있는 능력 |
3. 사용성(Usability)
- 사용하기 쉬운 소프트웨어인가? 사용자의 노력 정도에 대한 품질 요구사항
- 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지 가능함을 의미
- 상세 품질 요구사항 : 이해성, 학습성, 운용성
이해성(Understandability) | - 소프트웨어의 논리적인 개념과 적용 가능성(응용 가능성)을 분간하는 데 필요한 사용자의 노력 정도에 따른 소프트웨어 특성 |
학습성(Learnability) | - 소프트웨어 애플리케이션 학습에 필요한 사용자의 노력 정도에 따른 특성 |
운용성(Operability) | - 소프트웨어의 운용과 운용 통제에 필요한 사용자의 노력 정도에 따른 특성 |
4. 효율성(Efficiency)
- 얼마나 효율적인 소프트웨어인가?
- 할당된 시간에 한정된 자원으로 얼마나 빨리 처리하는가를 의미
- 상세 품질 요구사항 : 시간 효율성, 자원 효율성
시간 효율성(Time Efficiency) | - 소프트웨어의 기능을 수행하는 데 있어 반응 시간, 처리 시간 및 처리율에 따른 소프트웨어 특성 |
자원 효율성(Resource Efficiency) | - 소프트웨어의 기능을 수행하는 데 있어 사용되는 자원의 양과 그 지속 시간에 따른 특성 |
5. 유지보수성(Maintainability)
- 수정이 용이한 소프트웨어인가?
- 요구사항을 개선하고 확장하는 데 있어 얼마나 용이한가를 의미
- 상세 품질 요구사항 : 분석성, 변경성, 안정성, 시험성
분석성(Analyzability) | - 소프트웨어 고장의 원인이나 결손 진단 또는 수정이 요구되는 부분의 확인에 필요한 노력 정도에 따른 소프트웨어 특성 |
변경성(Changeability) | - 결함 제거 또는 환경 변화에 따른 수정에 필요한 노력 정도에 따른 특성 |
안정성(Stability) | - 소프트웨어의 변경으로 발생하는 예상치 못한 영향에 의한 위험 요소에 따른 특성 |
시험성(Testability) | - 소프트웨어가 변경되어 검증에 필요한 노력의 정도에 따른 특성 |
6. 이식성(Portability)
- 환경 전환이 용이한가?
- 다른 플랫폼(운영 체제)에서도 많은 추가 작업 없이 얼마나 쉽게 적용이 가능한가를 의미
- 상세 품질 요구사항 : 적용성, 설치성, 대체성
적용성(Adaptability) | - 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 특정 환경으로 전환되는 능력에 따른 소프트웨어 특성 |
설치성(Installability) | - 특정 환경에 소프트웨어를 설치하는 데 필요한 노력의 정도에 따른 특성 |
대체성(Replaceability) | - 특정 운용 환경하에서 동일한 목적 달성을 위해 다른 소프트웨어를 대신 사용할 수 있는 능력 |
[4] 웹의 3요소
1. 웹 표준 (Web Standards)
2. 웹 접근성 (Web Accessibility)
3. 웹 호환성 (Cross Browsing)
[5] UI 설계 도구 ⭐
1. 와이어프레임 (Wireframe) (UI, UX)
- 화면의 청사진 또는 스토리보드, 레이아웃을 협의하거나 공유하기 위해 사용
2. 스토리보드 (Story Board)
- 디자이너와 개발자가 최종적으로 참고하는 작업 지침서, 작업 산출물 (디스크립션)
- 정책이나 프로세스 및 콘텐츠의 구성, 와이어프레임(UI, UX), 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분의 정보가 수록되어 있는 문서
3. 프로토타입 (Prototype)
- 인터렉션을 적용해 실제 구현된 것처럼 테스트가 가능한 동적인 모형
- 새로운 컴퓨터 시스템이나 소프트웨어의 설계 또는 성능, 구현 가능성, 운용 가능성을 평가하거나 요구사항을 좀 더 잘 이해하고 결정하기 위하여 전체적인 기능을 간략한 형태로 구현한 시제품
- 프로토타입은 사용자의 요구사항이 모두 정확하게 반영될 때까지 계속하여 개선, 보완됨
4. 목업 (Mockup) : 실제 화면과 유사한 정적 모형
5. 유스케이스 (Use Case) : 사용자 측면의 요구사항을 다이어그램 형식으로 묘사 (유스케이스 명세서)
[6] UI 프로토타입
1. 장점
- 사용자를 설득하고 이해시키기 쉬움, 개발 시간을 줄일 수 있음, 사전 오류 발견 가능
2. 단점
- 반복적인 개선 및 보완 작업으로 인해 오히려 작업 시간이 늘어날 수 있으므로 사용자의 요구사항은 가능한 들어주되 적절한 타협 필요
- 부분적인 프로토타이핑으로 인한 중요 작업 생략 가능성 존재
- 자원 효율성 관점에서 보면 필요 이상으로 자원을 많이 소모
3. 프로토 타입 작성 방법 : 아날로그, 디지털
- 페이퍼 프로토타입(Paper Prototype) : 아날로그적인 방법으로 스케치, 그림, 글 등을 손으로 직접 작성하는 방법
- 디지털 프로토타입(Digital Prototype) : 컴퓨터 등 도구를 사용하여 작성하는 방법
[7] UI 시나리오 문서 요건
이해성 | 완전성 | 일관성 | 가독성 | 수정 용이성 | 추적 용이성
1. 이해성 (Understandable) : 누구나 쉽게 이해할 수 있도록 설명
2. 완전성 (Complete) : 최대한 상세히 기술
3. 일관성 (Consistent) : 일관성 유지
4. 가독성 (Readable) : 표준화된 템플릿 등을 활용하여 문서를 쉽게 읽을 수 있도록 해야함
5. 수정 용이성 (Modifiable) : 수정 및 개선이 쉬워야 함
6. 추적 용이성 (Traceable) : 변경사항에 대해 쉽게 추적할 수 있어야 함
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
[정보처리기사 필기] SW 설계 : 현행 시스템 분석 / 네트워크 분석 (0) | 2023.01.12 |
---|---|
[정보처리기사 필기] SW 설계 : 품질 요구사항 (0) | 2023.01.12 |
[정보처리기사 필기] SW 설계 : UML(Unified Modeling Language) (1) | 2023.01.11 |
[정보처리기사 필기] SW 설계 : 요구사항 확인 (0) | 2023.01.10 |
[정보처리기사 필기] SW 설계 : 개발 기술 환경 파악 (0) | 2023.01.10 |