정보처리기사/실기

정보처리기사 - 6.화면설계

2023. 4. 14. 16:09
목차
  1. 사용자 인터페이스(UI; User Interface)
  2. UI 유형 : CG NO
  3. UI설계 원칙 : 직유학유
  4. UI 설계 지침 : 사일단결 가표접명오
  5. UI 요구사항
  6. UI 품질 요구사항 : 기신사효유이
  7. UI개발을 위한 주요 기법
  8. UI화면설계
  9. UML(Unified Modeling Language)
  10. UML구성요소
  11. UML 다이어그램
  12. UML 확장 모델의 스테레오 타입
  13. 클래스 다이어그램
  14. 유스케이스 다이어그램(Usecase Diagram)
  15. UI 시나리오 문서의 작성 요건 

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

  • 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상적 매개체(넓은 의미)
  • 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면(좁은 의미)

 

UI 유형 : CG NO

  • CLI(Command Line Interface) : 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스
  • GUI(Graphical User Interface) : 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용하는 사용자 인터페이스
  • NUI(Natural User Interface) : 키보드나 마우스 없이 신체부위를 이용하는 사용자 인터페이스
  • OUI(Organic User Interface) : 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 인터페이스

 

UI설계 원칙 : 직유학유

  • 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야함.
  • 유효성(Efficiency) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
  • 학습성(Learnability) : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
  • 유연성(Flexibility) : 사용자의 요구사항을 최대한 수용하고 실수를 방지할 수 있도록 제작

 

UI 설계 지침 : 사일단결 가표접명오

  • 사용자 중심 : 사용자가 이해하기 쉽고 편하게 사용할 수 있는 환경을 제공하며, 실사용자에 대한 이해가 바탕이 되어야함
  • 일관성 : 버튼이나 조작방법을 사용자가 기억하기 쉽고 빠르게 습득할 수 있어야함
  • 단순성 : 조작방법은 가장 간단하게 작동되도록 해야함
  • 결과 예측 가능 : 작동시킬 기능만 보고도 결과 예측이 가능해야함
  • 가시성 : 주요 기능을 메인화면에 노출하여 쉬운 조작이 가능하게 해야함
  • 표준화 : 디자인을 표준화하여 기능구조의 선행 학습 이후 쉽게 사용가능해야 함
  • 접근성 : 사용자의 직무, 연령, 성별 등이 고려된 다양한 계층을 수용해야 함
  • 명확성 : 사용자가 개념적으로 쉽게 인지해야 함
  • 오류 발생 해결 : 사용자가 오류에 대한 상황을 정확하게 인지할 수 있어야함

 

UI 요구사항

  • 사용자가 정보시스템을 구축하여 얻고자 하는 최종 목적의 기준
  • 구분
    • 기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항
    • 비기능적 요구사항 : 사용성,효율성,신뢰성,유지보수성,재사용성 등 품질에 관한 요구사항

 

UI 품질 요구사항 : 기신사효유이

  • 기능성(Functionality) : 실제 사용시 정확하지 않은 결과가 발생할 확률과 시스템의 동작 관찰 
    • 적절성,정밀성,상호운용성,보안성,호환성
  • 신뢰성(Realiability): 일정한 시간, 작동되는 시간동안 의도하는 기능을 수행함을 보증
    • 성숙성, 고장 허용성, 회복성
  • 사용성(Usability) : 사용자와 컴퓨터사이에 발생하는 어떤한 행위를 정확하고 쉽게 인지할 수 있는
    • 이해성, 학습성, 운용성
  • 효율성(Efficiency): 할당된 시간에 한정된 자원으로 얼마나 빨리 처리할 수 있는가
    • 시간 효율성, 자원 효율성
  • 유지보수성(Maintainability): 요구사항 개선, 확장에 있어 얼마나 용이한가
    • 분석성, 변경성, 안정성, 시험성
  • 이식성(Portability) : 다른 운영체제에서도 얼마나 쉽게 적용이 가능한가
    • 적용성, 설치성, 대체성

 

UI개발을 위한 주요 기법

  • 3C 분석 : 고객(Customer), 자사(Comapny), 경쟁사(Competitor) 비교하고 분석
  • SWOT 분석 : 기업 내부 환경과 외부환경을 분석해 Strength(강점), Weakness(약점), Opportunity(기회), Threat(위협) 요인을 규정하고 이를 토대로 경영 전략 수립
  • 시나리오 플래닝(Scenario Planning) : 상황변화를 사전에 예측하고 다양한 시나리오를 설계하는 방법
  • 사용성 테스트(Useability Test) : 사용자가 직접제품을 사용하면서 미리 작성된 시나리오에 맞추어 과제를 수행한 후, 질문에 답하도록 하는 테스트
  • 워크숍(Workshop) : 소집단 인원으로 특정 문제나 과제에 대한 새로운 지식, 기술, 아이디어들을 서로 교환하고 검토하는 세미나

 

UI화면설계

  • 스토리보드 : 정책, 프로세스, 와이어프레임, 기능정의, 데이터베이스 연동 등 서비스구축을 위한 정보가 수록된 문서, 디자이너와 개발자가 최종적으로 참고하는 산출 문서
  • 와이어 프레임 : 화면 단위의 레이아웃을 설계하는 작업
  • 프로토타입 : 정적인 화면(와이어프레임, 스토리보드)에 동적 효과를 적용해 실제 구현된 것처럼 시뮬레이션 할 수 있는 모형

 

 

UML(Unified Modeling Language)

  • 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어

UML구성요소

  • 사물(Things) : 추상적인 개념으로 주제를 나타내는 요소
  • 관계(Relationships) : 사물의 의미를 확장하고 명확히 하는 요소
  • 다이어그램(Diagram) : 사물과 관계를 모아 그림으로 표현한 형태

UML 다이어그램

  • 구조적 다이어그램(Structural Diagram) / 정적(Static) 다이어그램
    • 클래스(Class) : 클래스 간 정적인 관계를 표현
    • 객체(Object) : 클래스에 속한 사물, 인스턴스
    • 컴포넌트(Component) : 컴포넌트와 그들 사이 의존 관계
    • 배치(Deployment) : 컴포넌트 사이의 종속성, 물리적 요소들의 위치
    • 복합체 구조(Compositie Structure) : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부구조를 표현
    • 패키지(Package) : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
  • 행위적(Behavioral) 다이어그램 / 동적(Dynamic) 다이어그램
    • 유스케이스 : 시스템 외부 요소를 사용자의 관점에서 표현
    • 시퀀스 : 시간적 개념을 중심으로 메시지 흐름으로 표현
    • 커뮤니케이션 : 객체들이 주고받는 메시지를 표현하고 객체 간의 연관까지 표현
    • 상태 : 상태가 어떻게 변화하는지 표현
    • 활동 : 어떤 기능을 수행하는지, 처리 로직이나 처리 흐름
    • 타이밍 : 객체 상태 변화와 시간 제약을 명시적으로 표현

 

UML 확장 모델의 스테레오 타입

  • '<< >>'(길러멧; Guillemet) 기호를 사용하여 표현

 

클래스 다이어그램

  • 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
  • 클래스 다이어그램 구성 요소
    • 클래스(Class) : 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합
    • 속성(Attribute) : 클래스의 구조적 특성에 이름을 붙인 것
    • 연산(Operation), 메서드(Method) : 클래스의 행위적 특징
    • 접근 제어자(Access Modifier)
      • -  : 클래스 내부 접근만 허용(private)
      • + : 클래스 외부 접근을 허용(public)
      • # : 동일 패키지/파생 클래스에서 접근가능(protected)
      • ~ : 동일 패키지 클래스에서 접근가능(default)
  • 클래스 간의 관계 
    • 연관(Association) 관계 : 실선, 2개 이상의 사물이 서로 관련되어 있는 상태
    • 의존(Dependency) 관계 : 점선 화살표, 서로 연관은 있으나 필요에 따라 짧은 시간동안만 연관을 유지
    • 일반화(Generalization) 관계 : 속이 빈 화살표, 부모-자식, 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
    • 실체화(Realization) 관계 : 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용
    • 포함(Composition)관계 : 속이 채워진 마름모, 영구적이고 집합 관계보다 더 강한 관계로 구성
    • 집합(Aggregation)관계 : 하나의 객체에 여러 개의 독립적인 객채들이 구성되는 단계

 

유스케이스 다이어그램(Usecase Diagram)

  • 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램
  • 유스케이스 다이어그램 구성요소
    • 유스케이스(Usecase) : 시스템이 제공해야 하는 서비스, 기능
    • 엑터(Actor) : 사용자가 시스템에 대해 수행하는 역할
    • 시스템
    • 시나리오
    • 이벤트의 흐름
  • 유스케이스 다이어그램의 관계
    • 포함관계
    • 확장관계
    • 일반화관계

 

UI 시나리오 문서의 작성 요건 

  • 완일이가 추수
  • 완전성(Complete) : UI 시나리오는 누락이 없어야 하고, 최대한 빠짐없이 가능한 상세하게 기술
  • 일관성(Consistent) : 서비스에 대한 목표, 시스템 및 사용자의 요구사항에 일관성이 있어야 하고, 모든 문서의 UI스타일을 일관적으로 구성
  • 이해성(Understandable) : 처음 접하는 사람도 이해하기 쉽도록 구성하고 설명해야 하고, 이해하지 못하는 추상적인 표현이나 이해하기 어려운 용어는 사용하지 않아야 함
  • 가독성(Redable) : 문서를 쉽게 읽을 수 있어야 하고, 표준화된 템플릿을 작성하여 사용
  • 추적 용이성(Traceable) : 쉽게 추적이 가능해야 하고, 변경 사항들이 언제,어디서,어떤 부분들이 왜 발생하였는지 추적이 쉬워야 함
  • 수정 용이성(Modifiable) : 쉽게 변경이 가능해야 하고, 수정 또는 개선 사항을 시나리오에 반영하는데 있어 쉽게 적용할 수 있어야 함.

 

 

'정보처리기사 > 실기' 카테고리의 다른 글

정보처리기사 정리본(1,2,4)  (0) 2023.04.17
정보처리기사 - 7. 애플리케이션 테스트 관리  (1) 2023.04.16
정보처리기사 - 4.서버 프로그램 구현  (2) 2023.04.16
정보처리기사 - 2.데이터 입출력 구현  (0) 2023.04.14
정보처기기사 - 1.요구사항 확인  (0) 2023.04.12
  1. 사용자 인터페이스(UI; User Interface)
  2. UI 유형 : CG NO
  3. UI설계 원칙 : 직유학유
  4. UI 설계 지침 : 사일단결 가표접명오
  5. UI 요구사항
  6. UI 품질 요구사항 : 기신사효유이
  7. UI개발을 위한 주요 기법
  8. UI화면설계
  9. UML(Unified Modeling Language)
  10. UML구성요소
  11. UML 다이어그램
  12. UML 확장 모델의 스테레오 타입
  13. 클래스 다이어그램
  14. 유스케이스 다이어그램(Usecase Diagram)
  15. UI 시나리오 문서의 작성 요건 
'정보처리기사/실기' 카테고리의 다른 글
  • 정보처리기사 - 7. 애플리케이션 테스트 관리
  • 정보처리기사 - 4.서버 프로그램 구현
  • 정보처리기사 - 2.데이터 입출력 구현
  • 정보처기기사 - 1.요구사항 확인
최맹수
최맹수
맹수개발최맹수 님의 블로그입니다.
최맹수
맹수개발
최맹수
전체
오늘
어제
  • 분류 (236)
    • 로우코드(Lowcode) (53)
      • outsystems (35)
      • OutSystems프로젝트 (18)
      • Mendix (0)
    • 프론트엔드 (0)
      • html (0)
      • css (3)
      • javascript (68)
      • react (47)
      • typescript (7)
    • 정보처리기사 (20)
      • 실기 (16)
    • 공부 (9)
    • Git (5)
    • 백엔드 (21)
      • node.js(express) (20)
    • 자바 (1)
      • java (1)
      • Spring (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 함수
  • 아웃시스템즈
  • outsystems
  • javascript
  • react
  • await
  • 프로젝트
  • 정보처리기사
  • kiosk
  • Promise
  • javscript
  • typescript
  • 자바스크립트
  • lowcode
  • 프론트엔드
  • aggreagtes
  • 로우코드
  • dom
  • 배열
  • 정보처리기사실기

최근 댓글

최근 글

hELLO · Designed By 정상우.
최맹수
정보처리기사 - 6.화면설계
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.