정보처리기사

화면 설계

허정주 2022. 5. 4. 22:17

User Interfacd : 사용자와 시스템 사이에서 의사소통을 도와주는 가상의 매개체

 

CLI : 명령어 텍스트 기반으로 입력조작

GUI : 그래픽 환경에서 마우스, 키보드 사용

NUI : 신체 부위 사용

OUI : 모든 사물이 입출력 장치

 

직관성(Intuitiveness) : 누구나 쉽게 이해, 사용

유효성(Efficiency) : 목표가 달성될 수있도록 제작

학습성(Learnability) : 쉽게 배우고 사용

유연성(Flexibility) : 실수예방, 포용

 

UI설계 지침 : 사용자 중심, 일관성, 단순성, 결과예측 가능, 가시성, 표준화, 접근성, 명확성, 오류발생 해결

 

기능적 요구사항 : 시스템의 기능, 입출력, 연산, 서비스에 대한 요구사항

비기능적 요구사항 : 제약조건(품질, 환경, 비용, 일정)에 대한 요구사항

 

UI 품질 요구사항

기능성(Functionality) : 실제 수행 결과와 품질 요구사항과의 차이 분석

- 적절성 : 적절한 기능 제공

- 상호운용성 : 특정 시스템과 상호작용

- 정밀성 : 요구되는 정확도로 결과 산출

- 보안성 : 비인가된 접근 인지하여 대처, 차단

- 호환성 : 소프트웨어 제품이 비슷한 환경에서 연관된 표준, 관례 및 규정 준수

신뢰성(Reliability) : 일정한 시간 동안 의도하는 기능을 수행함을 보증하는 기준

- 성숙성(Maturity) : 결함으로 인한 고장 회피 능력

- 회복성 : 고장 발생 시 데이터를 복구하고 성능 수준 확보

- 고장 허용성(Fault tolerance) : 결함이나 인터페이스 오류시에도 특정 수준 이상의 성능 유지

사용성(Usablity) : 사용자와 컴퓨터 사이의 행위를 쉽게 인지, 직접 제품을 사용하면서 과제를 수행한 후 질문에 답하는 테스트

- 이해성 : 소프트웨어의 논리적인 개념과 적용 가능성을 구분하는데 사용자의 노력정도

- 학습성 : 학습에 필요한 사용자의 노력 정도

- 운용성(Operability) : 운용과 운용통제에 필요한 사용자의 노력 정도

효율성(Efficiency) : 할당된 시간에 한정된 자원으로 얼마나 빨리 처리

- 시간 효율성(Time Behaviour) : 기능을 수행하는 데 반응 시간, 처리 시간 및 처리율에 따른 특성

- 자원 효율성(Resource Behaviour) : 기능을 수행하는 데 사용되는 자원과 지속 시간에 따른 특성

유지보수성(Maintainability) : 요구사항을 개선하고 확장하는데 얼마나 용이

- 분석성 : 고장 원인이나 결함 부분 확인 노력 정도

- 변경성 : 변화에 따른 수정에 필요한 노력 정도

- 안전성(Stability) : 변경으로 인한 영향에 따른 위험 요소

- 시험성 : 변경되어 검증에 필요한 노력 정도

이식성(Portability) : 다른 플랫폼에서도 추가 작업 없이 얼마나 쉽게 적응이 가능한가

- 적용성(Adaptability) : 목적을 위해 특정 환경으로 전환되는 능력

- 설치성 : 특정 환경에 설치하는데 필요한 노력

- 대체성(Replacebility) : 목적 달성을 위해 다른 소프트웨어 대신 사용이 가능한 능력

 

 

UI 표준 구성 : 전체적인 UX 원칙, 정책 및 철학, UI 스타일 가이드, UI 패턴 모델 정의, UI 표준 수립을 위한 조직 구성

 

3C 분석 : 고객, 자사, 경쟁사를 비교, 분석하여 차별화

SWOT : 강점, 약점, 기회, 위협을 규정하고 경영 전략 수립

시나리오 플래닝, 사용성 테스트, 워크숍

 

 

스토리보드(Storyboard) : UI 화면 설계를 위해서 구축하는 서비스를 위한 정보가 수록된 문서, 디자이너 개발자가 참고하는 산출 문서

Wireframe : 화면 단위의 레이아웃 걸계, 이해관계자들과 협의 흐름 공유

Prototype : 정적인 화면을 동적 효과를 사용하여 시뮬레이션

 

 

 

UML(Unified Modeling Language) : 객체 지향소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할때 사용하는 범용 모델링 언어

 

사물(Things) : 관계가 형성될 수 있는 대상들, 구조 행동 그룹 주해 사물

관계(Relationships) : 사물의 의미 확장, 사물과 사물을 연결하여 관계 표현, 형용사 또는 부사

Diagrams : 사물과 관계를 도형으로 표현한 것

 

 

구조적(정적) 다이어그램

  • 클래스 : 속성 및 연산과 클래스 간 관계 표현
  • 객체 : 클래스에 속한 사물들, 인스턴스 표현, 럼바우
  • 컴포넌트 : 물리적인 컴포넌트들과 그들 사이의 의존 관계 표현 -- 구현 단계
  • 배치(Deployment) : 컴포넌트간 종속성과 물리적 요소들 위치 표현 -- 구현 단계
  • 복합체 구조(Composite Structure) : 클래스나 컴포넌트 복합 구조 표현
  • 패키지 : 모델 요소들을 그룹화한 패키지들의 관계 표현

행위적(동적) 다이어그램

  • 유스케이스 : 기능과 외부요소를 사용자 관점에서 표현 - 유스케이스(서비스, 기능), 액터(수행하는 역할), 시스템, 관계
  • 시퀀스 : 시간적 개념을 중심으로 상호작용을 메시지로 표현
  • 커뮤니케이션 : 객체들이 주고 받는 메시지 표현, 연관 표현
  • 상태 : 자신이 속한 클래스나 객체의 상호작용에 따라 상태 변화 표현, 럼바우
  • 활동 : 시스테밍 처리 로직이나 조건 처리 흐름을 순서대로 표현
  • 상호작용 개요(Interaction Overview) : 상호작용 다이어그램 간의 제어 흐름 표현
  • 타이밍 : 객체 상태 변화와 시간제약을 명시적으로 표현

 

<< >> : 스테레오 타입, 추가적인 기능 표현

<<include>> : 어떤 시점에 반드시 다른 유스케이스 실행 포함 관계

<<extend>> : 어떤 시점에 다른 유스케이스를 실행할 수도 있고 않을 수도 있는 확장 관계

<<interface>> : 추상 메서드와 상수만으로 구성된 클래스

<<exception>> : 예외 정의

<<constructor>> : 생성자 역할 수행

 

 

클래스 다이어그램

클래스 : 객체들의 집합

속성 : 특성에 해당하는 인스턴스가 보유할 수 있는 값

연산 : 연관된 행위를 호출하는데 요구하는 제약사항들 명시

접근 : 클래스에 접근할 수 있는 정도, - private + public #protectd ~default

 

클래스간 관계

- 연관 관계(Association) : 2개 이상의 사물이 서로 관련된 상태       1 ㅡㅡㅡㅡ 1....n

- 집합 관계(Aggregation) : 하나의 객체에 여러 개의 독립적인 객체들이 구성  ◇

- 포함(Composition) 관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계 

- 일반화 관계(Generalization)  : 일반적인 개념을 부모, 구체적인 개념을 자식   ⍋

- 의존 관계(Dependency) : 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 짧은 시간 동안만 연관을 유지하는 관계, 변화가 영향을 미침, (이용자) ∙∙∙▶︎ (사물)

- 실체화(Realization) 관계 : 사물이 할 수 있거나 해야하는 기능, 서로를 그룹화 할 수 있는 관계,  비행기, 새 ∙∙∙▹ 날 수 있다

 

 

시퀀스 다이어그램 : 액터, 객체, 생명선, 활성화, 메시지

패키지 다이어그램 : 패키지, 의존 관계

활동 다이어그램 : 시작노드 ●, 전이, 액션/액티비티 ◻︎, 종료노드 ⦿, 조건(판단)노드 ◇, 병합노드 ◇, 포크 노드 ----, 조인 노드, 스윔레인

상태 다이어그램 : 상태, 시작 상태, 종료 상태, 전이, 이벤트, 전이 조건

커뮤니케이션 다이어그램 : 액터, 객체, 링크, 메시지

컴포넌트 다이어그램 : 컴포넌트, 인터페이스, 의존 관계

 

UI 시나리오 문서 작성 요건

전성(Complete) : 누락이 없어야 하고 상세하게 기술, 사용자 태스크에 초점

관성(Consistent) : 목표, 사용자의 요구사항이 일관성이 있어야함, UI 스타일도 일관적

해성(Understandable) : 처음 접하는 사람도 이해하기 쉽도록 구성, 어려운 용어는 사용X

독성(Readable) : 쉽게 읽을 수 있어야 하며 표준화된 템플릿 사용

적 용이성(Traceable) : 변경 사항들에대한 추적이 쉬워야함

정 용이성(Modifiable) : 쉽게 변경 가능해야하고 개선 사항을 시나리오에 쉽게 반영

 

화면 설계 도구 : 파워 목업, 발사믹 목업, 카카오 오븐

Mockup : 실제 제품이 나오기 전 만드는 모형