01. UI 요구사항 확인
UI : 사용자와 시스템 사이에서 의사소통 할 수 있도록 고안된 물리적, 가상의 매개체이다 (사용자 인터페이스)
UX : 사용자의 감정이나 경험을 나타내는 개념
CLI (Command Line Interface) : 정적인 텍스트 기반 ; 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스
GUI (Graphical User Interface) : 그래픽 반응 기반 인터페이스; 그래픽 환경을 기반으로 한 마우스나 전자 펜을 이용하는 사용자 인터페이스
NUI (Natural User Interface) : 직관적 사용자 반응기반 인터페이스; 키보드나 마우스 없이 신체부위를 이용하는 사용자 인터페이스 , 터치, 음성 포함
OUI (Organic User Interface) : 유기적 상호 작용 기반 인터페이스; 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스
UI 설계 원칙 (직유학유)
⦁ 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야함
⦁ 유효성(Efficiency) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
⦁ 학습성(Learnability) : 초보자와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
⦁ 유연성(Flexibility) : 사용자의 요구사항을 최대한 수용하고, 실수를 방지할 수 있도록 제작
UI 설계 지침 (사일단결 가표접명오)
⦁ 사용자 중심 : 사용자가 이해하기 쉽고 편하게 사용할 수 있는 환경제공
⦁ 일관성 : 버튼이나 조작 방법을 사용자가 기억하기 쉽고 빠르게 습득할 수 있도록 설계
⦁ 단순성 : 조작방법을 간단하게 작동되도록 하여 인지적 부담 최소화
⦁ 결과 예측 가능 : 작동시킬 기능만 보고도 결과 예측이 가능해야함
⦁ 가시성 : 주요 기능을 메인 화면에 노출하여 쉬운 조작 가능
⦁ 표준화 : 디자인을 표준화하여 기능구조의 선행 학습이후 쉽게 사용가능하게 함
⦁ 접근성 : 사용자의 직무, 연령 , 성별 등이 고려된 다양한 계층을 수용해야함
⦁ 명확성 : 사용자가 개념적으로 쉽게 인지 해야함
⦁ 오류 발생 해결 : 사용자가 오류에 대한 상황을 정확하게 인지 할 수 있어야함
UI 품질 요구사항(ISO/IEC 9126) 기반 (기신사 효유이)
⦁ 기능성 : 실제 수행 결과와 품질 요구사항의 차이를 분석, 실제 사용시 정확하지 않은 결과가 발생할확률과 관련하여 시스템의 동작을 관찰하기 위한 품질 기준
⦁ 신뢰성 : 시스템이 일정한 시간 또는 작동되는 시간 동안 의도하는 기능을 수행함을 보증하는 품질 기준이다
⦁ 사용성 : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지할 수 있는 품질기준
⦁ 효율성 : 할당된 시간에 한정된 자원으로 얼마나 빨리 처리할 수 있는가에 대한 품질 기준
⦁ 유지보수성 : 요구사항을 개선하고 확장하는데 있어 얼마나 용이한가에 대한 품질 기준
⦁ 이식성 : 다른 플랫폼 에서도 많은 추가 작업 없이 얼마나 쉽게 적용이 가능한가의 기준
UI 개발을 위한 주요 기법
⦁ 3C : 고객, 경쟁하고있는 자사 와 경쟁사를 비교하고 분석하여 자사를 어떻게 차별화해서 경쟁에 이길 것인가를 분석하는 기법
⦁ SWOT 분석 : 기업의 내부 환경과 외부 환경을 분석하여 강점, 약점, 기회 , 위협 요인을 규정하고 이를 토대로 경영 전략을 수립
⦁ 시나리오 플래닝 : 불확실성이 높은 상황 변화를 사전에 예측하고 다양한 시나리오를 설계하는 방법으로 불확실성을 제거해 나가려는 경영 전략의 한 방법
⦁ 사용성 테스트 : 최종 고객인 사용자가 쓰기에 편한지 여부를 확인하는 테스트 기법
워크숍 : 소집단 정도의 인원으로 특정 문제나 과제에 대한 새로운 지식, 기술, 아이디어, 방법들을 서로 교환하고 검토하는 연구회 및 세미나
UI 화면 설계 구분
⦁ 와이어 프레임: 이해 관계자들과의 화면구성을 협의하거나 서비스의 간략한 흐름을 공유 하기 위해 화면 단위의 레이아웃을 설계하는 작업
⦁ 스토리보드 : 정책, 프로세스, 콘텐츠 구성, 와이어프레임 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물
⦁ 프로트타입 : 와이어프레임 또는 스토리 보드에 동적 효과를 적용하여 실제 구현된 것처럼 시뮬레이션 할 수 있는 모형
UML (Unified Modeling Language)
- UML 은 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어
UML 특징
- 가시화언어, 구축언어, 명세화 언어, 문서화 언어
UML 구성요소
구성요소 | 설명 |
사물(Things) | -추상적인 개념으로, 주제를 나타내는요소 -단어 관점에서 명사 또는 동사를 의미 |
관계(Relationships) | -사물의 의미를 확장하고 명확히 하는 요소 -사물과 사물을 연결하여 관계를 표현하는 요소 |
다이어그램 (Diagrams) | -사물과 관계를 모아 그림으로 표현한 형태 -형식과목적에 따라 9가지 정의 |
UML 다이어그램
구분 | 다이어그램 | 설명 |
구조적 다이어그램(Structural Diagram) / 정적 다이어그램(Static Diagram) |
클래스(Class)✨ | - 시스템 내 클래스의 정적 구조를 표현 - 속성과 동작으로 구성 - 클래스와 클래스, 클래스의 속성 사이의 관계 표현 |
객체(Object) | - 클래스에 속한 사물들(객체) , 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 - 객체 인스턴스를 나타내는 대산 실제 클래스를 사용 - 연관된 모든 인스턴스를 표현 |
|
컴포넌트(Component) | - 코드 컴포넌트 기반의 물리적 구조 표현 - 실질적 프로그래밍 작업에 사용 - 구현단계에서 사용 적절 |
|
배치 (Deployment) | - 컴포넌트 사이의 종속성으로 표현 - 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 - 구현단계에서 사용 적절 |
|
복합체 구조 (Composite Structure) | - 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현 | |
패키지 (Package) | - 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현 | |
행위적 다이어그램 (Behavioral Diagram) / 동적 다이어그램(Dynamic Diagram) | 유스케이스(Usecase)✨ | - 사용자 관점에서 시스템의 활동을 표현 - 유스케이스는 시스템의 기능적 요구 정의에 활용 |
시퀀스 (Sequence)✨ | - 객체 간 상호 작용을 메세지 흐름으로 표현 - 객체 사이 메시지를 보내는 시간을 표현 |
|
커뮤니케이션 (Communication) | - 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고 받는 메시지를 표현하는데, 메시지 뿐만 아니라 객체간의 연관까지 표현 | |
상태 (State) | - 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객제와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현 - 모든 가능한 상태와 전이 표현 |
|
활동 (Activity) | - 시스템이 어떤 기능을 수행하는 지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현 - 활동의 순서대로 흐름을 표현 |
|
타이밍 (Timing) | - 객체 상태 변화와 시간 제약을 명시적으로 표현 |
클래스 간의 관계
Association (연관관계) : 클래스가 서로 개념적으로 연결된선
Dependency (의존관계) : 하나의 클래스가 또 다른 클래스를 사용하는 관계(점선)
Generalization (일반화관계) : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현(실선)
Realization(실체화관계) : 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용
Composition(포함 관계): 영구적이고 , 집합관계보다 더 강한 관계로 구성 , 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
Aggregation(집합관계): 하나의 객체에 여러개의 독립적인 객체들이 구성되는 관계(차; 바퀴, 운전대)
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 인터페이스구현(19일차) (0) | 2023.07.14 |
---|---|
정보처리기사 실기 - 데이터 입출력 구현(16~17일차) (0) | 2023.07.11 |
정보처리기사 실기 - SQL 응용 개념 정리 (8~9일차) (0) | 2023.07.04 |
정보처리기사 실기 - 프로그래밍 언어 활용 개념 정리 (1~5일차) (0) | 2023.07.01 |
정보처리기사 실기 - 요구사항확인 (10~12일차) (0) | 2023.06.23 |