본문 바로가기

자격증/정보처리기사 1과목

1-9강. 화면 설계-UI 요구사항 확인(2)

과목1. 소프트웨어 설계, 9강. 화면 설계-UI 요구사항 확인(2)

 

[ 목차 ]

1. 스토리보드 정의

2. UI 화면설계 구분

3. 스토리보드 작성 절차

4. UI 요구사항 정의

5. 요구사항 확인

6. 품질 요구사항

 

1. 스토리보드 정의

1) 디자이너와 개발자가 최종적으로 참고하는 설계 산출 문서

2) 정책, 프로세스, 콘텐츠의 구성, 와이어 프레임(UI, UX), 기능 정의, 데이터베이스의 연동 등 서비스 구출을 위한 대부분

    의 정보가 수록

3) 파워포인트, 키노트, 스케치 등

와이어 프레임 : 이해관계자들과의 의사소통 또는 서비스의 간략한 흐름을 위해 화면 단위의 레이아웃을 설계
                         손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵 등


UI/UX : 구현에 필요한 사용자와 목표, 인터페이스 간 상호작용을 시각화하는 것으로 개발자, 디자이너와의 의사
              소통 도구. 완성해야 할 서비스와 예상되는 사용자 경험을 미리보기 위한 방법론

2. UI 화면설계 구분

1) 스토리보드

2) 와이어 프레임

3) 프로토 타입 : 와어이프레임 또는 스토리보드의 정적 화면에 동적효과를 적용, 실제 구현된 것처럼 테스트

                        HTML/CSS, 네이버, 프로토나우, 카카오 오븐 등

4) 스토리보드에 사이트를 구축하는데 모든 정보가 담겨있기 때문에 일반적으로 이 문서를 통해 업체와 커뮤니케이션

키노트 : 애플이 개발한 프레젠테이션 소프트웨어

3. 스토리보드 작성 절차

1) 메뉴 구성도 만들기(1단계)

  1] 전체적인 메뉴 구성도

  2] 어떤 것을 보여주고 결정된 사항을 표현하기 위한 메뉴의 순서와 구성 단계, 용어를 정의

2) 스타일 확정(2단계)

  1] 레이아웃, 글자 모양, 크기, 색상, 그래픽에서 일관성을 유지

3) 설계하기(3단계)

  1] 화면에 보여지는 시각적인 디자인 컨셉트를 잡는다.

 

4. UI 요구사항 정의

1) 시스템을 주로 이용하는 사용자 요구와 필요 기능을 중심으로 UI를 공급하여 실제적이고 효과적인 사용자 요구 기능

    에 맞는 서비스를 제공하는 형태로 진화

2) 기존에는 단순, 체계적, 구조화된 기능 중심 관점에서 그 기능을 중심으로 획일화된 UI를 공급하는 소프트웨어 방법

3) 즉, 단순 기능 중심(UI)(=시스템 위주) -> 사용자 기능 중심(UX)

 

5. 요구사항 확인

1) 기능적 요구사항 : 시스템이 무엇을 해야 하는지 설명

  1] 시스템의 입력으로 무엇이 포함되어나 하나?

  2] 시스템의 출력으로 무엇이 포함되어야 하나?

  3] 시스템이 어떤 데이터를 저장해야 하나?

  4] 시스템이 어떤 연산을 수행해야 하나?

  5] 기타 요구사항(동기화)

2) 비기능적 요구사항 : 개발 과정에서 지켜져야 할 제약조건들을 설명

  1] 사용성, 효율성, 신뢰성, 유지 보수성, 재사숑성 등 품질에 관한 요구사항

  2] 플랫폼, 사용 기술 등 시스템 환경에 관한 요구사항

  3] 비용, 일정 등 프로젝트 계획에 관한 요구사항

동기화

1) 2개 이상의 제품을 적절한 방법으로 결합하고 제어해서 위상을 같게 하는 것

2) 특히 최근 스마트폰에 자주 사용

3) 즉, 양쪽의 데이터를 동일하게 만들어주는 것

6. 품질 요구사항

1) 소프트웨어 아키텍처 품질 특성 도출은 아키텍처 방법론에 정의된 항목을 중심으로 작성

2) 기능성 : 요구된 기능이 제공되는가?

  1] 실제 수행 결과와 품질 요구사항과의 차이를 분석

  2] 실제 사용 시 정확하지 않은 결과가 발생할 확률 등과 관련해 시스템의 동작을 관찰하기 위한 품질 기준

  3] 적절성 : 소프트웨어 제품이 주어진 작업과 사용자 목표에 적저한 기능을 제공해 줄 수 있는 능력

  4] 정밀성 : 소프트웨어 제품이 요구되는 정확도로 올바른 결과를 산출할 수 있는 능력

  5] 상호 운용성 : 소프트웨어 제품이 특정 시스템과 상호 작용하여 운영될 수 있는 능력

  6] 보안성 : 프로그램과 데이터에 대해 비인가된 접근을 차단, 우연 또는 고의적 접근을 인지해 대처하는 능력

  7] 호환성 : 소프트웨어 제품이 비슷한 환경에서 연관된 표준, 관례 및 규정을 준수하는 능력

 

3) 신뢰성 : 믿을만한 소프트웨어인가?

  1] 시스템이 일정한 시간 또는 작동되는 시간 동안 의도하는 기능을 수행함을 보증

  2] 성숙성 : 소프트웨어 결함으로 인한 고장을 회피할 수 있는 능력

  3] 고장 허용성 : 결함이나 인터페이스 결여 시에도 특정 수준 이상의 성능을 유지하는 능력

  4] 회복성 : 소프트웨어 고장과 그에 대한 시간과 노력이 요구되는 경우 영향받은 데이터를 복구하고 성능의 수준을 다

                  시 확보할 수 있는 능력

 

4) 사용성 : 사용하기 쉬운 소프트웨어인가?

  1] 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지 가능함을 의미

  2] 이해성 : 논리적인 개념과 적용 가능성을 분간하는데 필요한 사용자의 노력 정도에 따른 소프트웨어 특성

  3] 학습성 : 소프트웨어 애플리케이션 학습에 필요한 사용자의 노력 정도에 따른 특성

  4] 운용성 : 소프트웨어 운용과 운용 통제에 필요한 사용자의 노력 정도에 따른 특성

 

5) 효율성 : 얼마나 효율적인 소프트웨어인가?

  1] 할당된 시간에 한정된 자원으로 얼마나 빨리 처리하는가를 의미

  2] 시간 효율성 : 기능 수행에 있어 반응 시간, 처리 시간 및 처리율에 따른 소프트웨어 특성

  3] 자원 효율성 : 기능 수행에 있어 사용되는 자원의 양과 그 지속 시간에 따른 특성

 

6) 유지보수성 : 수정이 용이한 소프트웨어인가?

  1] 요구사항을 개선하고 확장하는 데 있어 얼마나 용이한가를 의미

  2] 분석성 : 소프트웨어 고장의 원인이나 결손 진단 또는 수정이 요구되는 부분의 확인에 필요한 노력 정도

  3] 변경성 : 결함 제거 또는 환경 변화에 따른 수정에 필요한 노력 정도

  4] 안정성 : 소프트웨어의 변경으로 발생하는 예상치 못한 영향에 의한 위험 요소

  5] 시험성 : 소프트웨어가 변경되어 검증에 필요한 노력의 정도

 

7) 이식성 : 환경 전환이 용이한가?

  1] 다른 플랫폼에서도 많은 추가 작업 없이 얼마나 쉽게 적용 가능한가

  2] 적용성 : 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 특정 환경으로 전환되는 능력

  3] 설치성 : 특정 환경에 소프트웨어를 설치하는 데 필요한 노력의 정도

  4] 대체성 : 특정 운용 환경 하에서 동일한 목적 달성을 위해 다른 소프트웨어를 대신 사용할 수 있는 능력

아키텍처

1) 대개 건축학이나 건축 양시게 많이 사용하며, 건축물의 뼈대뿐 아니라 특성을 결정짓는 기본 구조를 의미

2) 대규모 프로젝트는 시작하기 전 철저하게 준비하고 약속도 지켜야 하며 이를 만족시키위해 3가지 특성을 지님

3) 적시성 : 사용자는 매우 복잡한 소프트웨어라도 빠른 시간에 만들기를 원한다.

4) 유연성 : 사용자는 급변하는 환경에서도 잘 적응할 수 있는 시스템을 원한다.

5) 통합 : 개발된 시스템은 기존 시스템과도 쉽게 통합할 수 있어야 한다.

6) 위를 만족시키기 위해 소프트웨어 아키텍처가 등장
대규모 소프트웨어의 복잡성 해결

1) 개발할 소프트웨어의 전체 구조를 가장 먼저 생각

2) 그 구조를 이루는 각 구성 요소를 탐색
 
3) 각 구성 요소들 간의 명확한 관계를 설정

4) 일정한 규칙을 따름

5) 전체적인 구조가 유기적으로 잘 구성되어야 하며 요구 분석, 설계 단계에서부터 품질 특성을 고려해 개발