Ⅵ. 화면설계 - 알고가기!!
- UI 유형 ( Tip. CG NO )
- CLI [Command Line Interface] : 정적 텍스트 기반 → 명령어를 텍스트로 입력하여 조작.
- GUI [Graphical User Interface] : 그래픽 반응 기반 → 그래픽기반 마우스나 펜 이용.
- NUI [Natural User Interface] : 직관적 사용자 반응 기반 → 터치, 음성포함 / 마우스 없이 신체부위 이용 조작.
- OUI [Organic User Interface] : 유기적 상호작용 기반 → 현실의 모든 사물이 입출력 장치가 될 수 있다.
- 인터랙션[Interaction]
- 입출력장치를 매개로 디지털 시스템과 사람이 주고받는 일련의 의사소통 과정.
- UI 설계 원칙 ( Tip. 직유 학유 )
- 직관성 : 누구나 쉽게 이해하고, 쉽게 사용가능해야함 → 쉬운검색/쉬운사용성/일관성.
- 유효성 : 정확하고 완벽하게 사용자의 목표달성 될수 있게.. → 쉬운 오류 처리 및 복구.
- 학습성 : 초보와 숙련자 모두 쉽게 배우고 사용 할 수 있게.. → 쉽게학습/쉬운접근/쉽게기억.
- 유연성 : 사용자의 인터랙션을 최대한 조용하고 실수 방지 할 수 있게.. → 오류예방/실수포용/오류감지.
- UI 설계 지침 ( Tip. 사일단결 가표접명오 )
- 사용자 중심 : 사용자가 쉽고 편한 환경.
- 일관성 : 버튼이나 조작이 쉽고 빠르게 습득 할 수 있게.
- 단순성 : 조작은 간단히.
- 결과예측가능 : 기능을 보고 결과 예측 가능.
- 가시성 : 주요 기능 메인노출로 쉬운 조작.
- 표준화 : 디자인 표준화로 선행학습 후 쉽게 사용 할 수 있게.
- 접근성 : 사용자의 직무, 연령, 성별등 고려하여 다양한 계층을 수용.
- 명확성 : 사용자가 개념적으로 쉽게 인지.
- 오류발생해결 : 사용자가 오류상황을 정확하게 인지할 수 있게.
- UI 표준 구성 ( Tip. 액정 스패조 )
- 전체적인 UX원칙 : 사용자관점에서 업무를 효율적으로 수행할 수 있는 UX 원칙 정의.
- 정책 및 철학 : 조직의 목표나 정체성을 포함하는 정책 및 철할 설정.
- UI 스타일 가이드 : UI에 대한 구동 환경 및 레이아웃등을 정의.
- UI 패턴 모델 정의 : CRUD 방식을 기반으로 입출력 패턴 모델 정의.
- UI 표준 수립을 위한 조직 구성 : 추진하는 조직을 구성.
- UX[User Experience; 사용자 경험]
- 제품과 시스템, 서비스등을 사용자가 직/간접적으로 경험하면서 트끼고 생각하는 총체적 경험.
- CRUD
- Create(생성) / Read(읽기) / Update(갱신) / Delete(삭제)
- 인터페이스 설계서(정의서)
- 이기종 시스템 및 컴포넌트 간 데이터 교환처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서.
- 시스템 인터페이스 정의서
- 한 시스템의 인터페이스 현황을 확인하기 위하여 시스템이 갖는 인터페이스 목록과 인터페이스 명세를 보여주는 설계 문서.
- 인터페이스 명세
- 인터페이스 목록에 있는 각 인터페이스의 상세 정보를 보여주고, 각 인터페이스 번호당 인터페이스 되는 데이터, 데이터형식, 송수신 시스템의 정보등을 구체화 하는 문서.
- 상세 기능 인터페이스 정의서
- 데이터 송∙수신 시스템간의 데이터 저장소와 속성등의 상세 내역을 포함.
- EAI
- 기업내부에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션.
- 포인트 투 포인트 [Point-to-point]
- 1:1 단순 통합방법
- 허브 앤 스포크 [Hub & Spoke]
- 단일한 접점의 허브시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
- 단점 : 허브 장애시 전체 장애
- 메시지버스 [Message Bus]
- 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합방식
- 확장성이 뛰어나며 대용량 데이터 처리가 가능.
- 하이브리드 [Hybrid]
- 그룹내에서는 허브 앤 스포크 방식을 사용하고, 그룹간에는 메시지 버스 방식을 사용하는 통합방식.
- ESB [Enterprise Service Bus] 방식
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍쳐.
- 리치 클라이언트 [Rich Client]
- SW의 실행을 클라이언트에서 책임지는 기술
- 서버는 클라이언트에서 요청한 SW의 실행 코드를 스트림 형태로 제공하고, 클라이언트는 서버로부터 스트리밍 되는 SW코드를 클라이언트 PC자원을 이용하여 실행하는 기술.
- 씬 클라이언트 [Thin Client]
- 소프트웨어의 실행을 전적으로 서버에서 책임지는 기술
- 서버에서 가상머신을 이용하여 클라이언트의 데이터와 소프트웨어를 관리 및 실행하는 기술.
- SSO [Single Sign On]
- 한번의 로그인을 통해 여러 다른 사이트를 자동적으로 접속하여 이용하는 방법.
- 프로파일 [Profile]
- 어떤 시스템을 일정 범위 내에서 한정적으로 특징 지우는 그룹화 된 값.
- 리서치 [Research]
- 지식에 대한 탐구를 기반으로한 인간활동
- 이미 존재하던 지식의 발견, 해석, 정정, 재확인 등에 초점을 맞추는 체계적인 조사.
- UI 컨셉션 ( Tip. 정 와 스 )
- 정보 구조 설계.
- 와이어프레임.
- 스토리보드 설계.
- 브레인스토밍 [Brain Storming]
- 집단에 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어목록을 통해 특정 문제에 대한 해답을 찾고자 하는 회의 기법.
- 요구사항 매트릭스 [Requirement Matrix]
- ㄷㅏ양한 경로를 통해 수집된 직접적인 요구사항을 검토하여, 페르소나(Persona)의 목적을 기준으로 데이터 요구, 기능요구, 제품품질, 제약 요인 기반으로 만든 요구사항 표.
- 정황시나리오 [Contextual Scenario]
- 요구사항 정의에 사용되는 초기 시나리오.
- 높은수준, 낙관적이면서도 발생상황에서의 이상적인 시스템 동작에 초점을 맞추는 시나리오.
- 메시지 큐 [Message Queue]
- 비동기 메시지를 사용하는 다른 응용프로그램사이에서 데이터를 송수신하는 기술.
- 인터페이스 데이터 표준 확인
- 상호 연계하고자 하는 시스템 간 인터페이스가 되어야 할 범위의 데이터 형식과 표준을 정의하는 것.
- 컴포넌트 명세서
- 컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의.
- 사용성테스트 [Usability Test]
- 사용자가 직접 제품을 사용하면서 미리 작성된 시나리오에 맞춰 과제를 수행 한 후, 질문에 답하도록 하는 데스트.
- UI 화면설계 구분 ( Tip. 와스프 )
- 와이어 프레임[Wireframe] : 이해관계자들과 화면구성을 협의 하거나 서비스간 흐름을 공유하기 위한 화면단위 레이아웃 설계 작업.
- 스토리 보드[Storyboard] : 정책, 프로세스, 콘텐츠 구성, UX/UI 등등 서비스 구축을 위한 모든 정보가 담긴 설계 산출물.
- 프로토 타입[Prototype] : 정적 구성된 와이어프레임 또는 스토리보드에 동적 효과를 적용하여 실제 구현된것 처럼 시물레이션 할 수 있는 모형.
- CSS [Cascading Style Sheet]
- HTML 문서를 스타일링하는 언어.
- 스토리 보드 작성 절차 ( Tip. 개서스 매추 )
- 전체 개요 작성 : 전반적 개요 명시 / 가장 핵심적인 개념만 대표 화면과 함계 요약해서 작성.
- 서비스 흐름 작성 : 메인 부터 각 서브 메뉴들의 진행 흐름 을 보여주는 화면 작성 / 와이어프레임 에서 누락된 문제 점검 가능.
- 스타일 확정 : 레이아웃, font, 색상 등 일관성 유지해야하는 스타일 확정.
- 메뉴별 화면 설계도 작성 및 상세 설명 : 각 화면의 상세 설명 페이지 작성.
- 추가 관련 정보 작성 : 메뉴별 화면은 상세하고 이해하기 쉽게 작성 / 연결서비스 URL의 경우 함께 명시 / 기능에 대한 설명.
- 인터페이스 명세서
- 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서.
- JSON
- 비동기 브라우저/서버 통신(Ajax)을 위해 “속성-값 쌍”, “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷.
- AJAX
- 자바스크립트를 사용한 비동기 통신기술.
- 클라이언트와 서버간에 XML데이터를 주고받는 기술.
- 스니핑
- 공격대상에게 직접적으로 공격을 하지 않고 데이터만 몰래 들여다 보는 수동적 공격기법.
- 시큐어 코딩 가이드 적용 대상 ( Tip. 입보시에코캡아 )
- 입력데이터 검증 및 표현
- 보안 기능
- 시간 및 상태
- 에러처리
- 코드오류
- 캡슐화
- API오용
- 입력데이터 검증의 보안 약점 및 대응 방안 (시큐어 코딩가이드 적용 대상 중 하나..)
- 보안약점 : 프로그램 입력값에 대한 검증 누락∙부적절한 검증, 잘못된 형식 지정
- 대응방안 : 사용자∙프로그램 입력 데이터에 대한 유효성 검증 체계를 수립
- UI 프로토타입 작성시 고려사항 ( Tip. 계범 목기 산유 )
- 프로토타입 계획 장성
- 프로토타입 범위 확인
- 프로토타입 목표 확인
- 프로토타입 기간 및 비용 확인
- 프로토타입 산출물 확인
- 프로토타입 유의사항 확인
- UI 프로토타입 제작 및 검토 프로세스 ( Tip. 아유프적 )
- 소프트웨어 아키텍처 설계 원리 확인
- 프로토타입 유스케이스 작성
- UI 요구사항을 반영한 프로토타입 제작
- UI 적정성 검토
- 기능적 요구사항
- 시스템의 입력으로 무엇이 포함되어야 하는지?
- 시스템의 출력으로 무엇이 포함되어야 하는지?
- 시스템이 어떤 데이터를 저장해야 하는지?
- 시스템이 어떤 연산을 수행해야 하는지?
- 기타 요구사항(예: 동기화 등)
- 비기능적 요구사항
- 사용성, 효율성, 신뢰성, 유지보수성, 재사용성 등 품질에 관한 요구사항
- 플랫폼, 사용기술 등 시스템 환경에 관한 요구사항
- 비용, 일정 등 프로젝트 계획에 관한 요구사항
- 스토리보드 [Storyboard]
- UI화면 설계를 위해서 정책이나 프로세스 및 콘텐츠의 구성, 와이어프레임(UI, UX), 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분 정보가 수록된 문서.
- 대칭키 암호화 알고리즘
- 암호화 / 복호화에 같은 암호키를 이용하는 알고리즘.
- 비대칭키 암호화 알고리즘
- 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘.
- API 암호화 방식 (데이터 베이스 암호화 기법 중 하나)
- 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식
- 애플리케이션 서버에 암∙복호화, 정책관리, 키 관리 등의 부하가 발생.
- Plug-In 암호화 방식 (데이터 베이스 암호화 기법 중 하나)
- DB 레벨의 확장성 프로시저 기능을 이용, DBMS에 Plug-In 모듈로 동작하는 방식.
- 하이브리드 암호화 방식 (데이터 베이스 암호화 기법 중 하나)
- API 방식과 Plug-In 방식을 결합하는 방식
- DB서버와 애플리케이션 서버로 부하가 분산됨.
- 액터 [Actor]
- 시스템 외부에 있고 시스템과 상호작용을 하는 사람 또는 시스템.
- 유스케이스 [Usecase]
- 시스템이 액터엑 제공해야 하는 기능으로 시스템 요구사항이자, 사용자 입장에서 바라본 시스템의 기능.
- xUnit
- 자바(JUnit), C++(Cppunit), .Net(Nunit)등 다양한 언어를 지원하는 단위 테스트 프레임워크.
- STAF
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크.
- FitNesse
- 인터페이스 구현 검증 도구 중 하나.
- 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크.
- Selenium
- 인터페이스 구현 검증 도구 중 하나.
- 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크.
- watir
- 인터페이스 구현 검증 도구 중 하나.
- 루비 기반 웹 애플리케이션 테스트 프레임워크.
- 모든 언어 기반의 웹 어플리케이션 테스트와 브라우저 호환성 테스팅이 가능.
- 목업 [Mockup]
- 실제 제품이 나오기 전 만드는 모형을 의미.
- 스카우터 [SCOUTER]
- 인터페이스 도구
- 애플리케이션에 대한 모니터링 및 DB Agent 를 통해 오픈 소스 DB 모니터링 기능, 긴터페이스 감시 기능을 제공.
- 인터페이스 오류 처리 방법
- 사용자 화면에서 오류를 인지하도록 구현
- 인터페이스 오류 로그 생성
- 인터페이스 관련 테이블에 오류사항 기록
- UI 흐름 설계
- 업무의 흐름이나 업무 수행과 관련된 일련의 클릭에 의한 화면의 위치와 흐름을 흐름도 형식으로 표현하는 활동.
- UI 흐름 설계 수행 절차
- UI 설계안의 적정성 확인
- 화면과 폼의 흐름 설계
- 화면에 표현되어야 할 기능적 요구사항 및 비기능적 요구사항 검토
- 화면의 입력요소 및 유스케이스를 통한 UI 요구사항 확인
- 유스케이스 설계
- 기능 및 양식 확인
- UI 유스케이스 설계 단계
- 요구사항을 바탕으로 액터별 시나리오 구상.
- UI 요구사항을 바탕으로 액터 세분화.
- UI 유스케이스 설계.
- 화면설계도구 종류
- 파워 목업 [Power Mockup]
- 발사믹 목업 [Balsamiq Mockups]
- 카카오 오븐 [Oven]
- UI 상세설계 프로세스
- UI 요구사항 최종 확인.
- UI 구조 설계.
- 사용자 기반 메뉴 구조 설계.
- 화면 설계.
- 하위 시스템 단위내∙외부 상세 화면과 폼 설계.
- UI 검토 수행
- 사용성의 반복적인 검토를 통해 완성도가 높은 UI 상세설계 수행이 가능하므로 UI 검토를 2~3번 수행
- UI스토리보드 활용을 통해 페이퍼 프로토타입의 평가는 짧은 단위로 개발 및 평가를 반복하여 확인
- UI 검토 보완
- UI 검토 수행을 통한 사용자 평가 결과를 토대로 설계를 보완.
- 사용성 검토 및 검증 수행
- 고수준의 프로토타입을 활용하여 내부 개발자 및 전문가들의 UI사용성 평가를 통해 개선사항을 지속적으로 반영.
- UI지침의 사용자 요구사항 도출 단계
- 페르소나(Persona) 정의
- 콘셉트 모델 정의
- 사용자 요구사항 정의
- UI 컨셉션
- 프로토타입
- 소프트웨어의 설계 또는 성능, 구현 가능성, 운용 가능성을 평가하거나 요구사항을 좀 더 잘 이해하고 결정하기 위하여 전체적인 기능을 간략한 형태로 구현한 시제품.
- 프로토 타이핑 도구
- UX핀 [UXPin]
- 액슈어 [AXURE]
- 네이버 프로토나우 [ProtoNOW]
- 소프트웨어 테스트
- 개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동.
- 테스트 환경 구축
- 개발된 응용 소프트웨어가 실제 운영 시스템에서 정상적으로 작동되는지 테스트 하기 위하여 실제 운영 시스템과 동일한(유사한) 사양의 하드웨어, 소프트웨어, 네트워크 등의 환경 시설을 구축하는 활동.
- 통합 테스트 [Integration Test]
- 애플리케이션 통합 테스트는 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법.
- 테스트 결함 관리
- 각 단계별 테스트 수행 후 발생한 결함의 재발 방지와 유사 결함 발견시 처리 시간 단축을 위해 결함을 추적하고 관리하는 활동.
- 테스트 커버리지 [Test Coverage]
- 주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정기준.
- 테스트의 정확성과 신뢰성을 향상시키는 역할을 함.
- 정보처리기사 필기 합격 후 실기대비 정리 및 책없이 간단히 보기위해 작성하였습니다.
- 2020년 수제비 정보처리기사 책 기반으로 정리 하였습니다.
- 저작권 관련 문제가 있다면 hojunbbaek@gmail.com 으로 메일 주시면 바로 삭제 조치 하도록 하겠습니다.
[정보처리기사 실기] Ⅵ. 기사실기 요약 / 정리 / 단답 / Tip / 알고가기!! (feat.수제비)