■ 사용자 인터페이스 (UI , User Interface)
UI는 사용자와 컴퓨터가 정보를 주고받기 위해 사용자와 프로그램 간의 상호작용을 연결해 줍니다.
■ UI 설계원칙 [직 유 학 유]
직관성 : 누구나 쉽게 이해하고 사용할 수 있어야한다.
유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야한다.
학습성 : 누구나 쉽게 배우고 익힐 수 있어야한다.
유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야한다.
■ UI 설계 순서
문제정의 → 사용자 모델 정의 → 작업분석 → 컴퓨터 오브젝트 및 기능 정의 → 사용자인터페이스정의 → 디자인평가
■ UI 설계 절차
UI 표준수립 → UI 요구사항 분석 →프로토타입작성 → UI작성 구조 →UI 구조설계 →UI 사용성검토
(정책등 기준) (사용자요구사항 유즈케이스) (기능 목록 정의)
■ UI 표준
UI 표준은 조직의 브랜드나 정체성과 일치되는 디자인 철학과 원칙이 정리되고 공통적으로 사용하는 UI 요소 및 배치규칙 등을 정의하는 문서
■ UI 지침
웹/모바일 서비스 구축 시 효율적인 정보전달이 가능하도록 지켜야 할 세부사항을 규정한 문서
■ 스타일 가이드 (keyword: 기본원칙, 레이아웃, 엘리먼트 규칙의 기준)
사용자의 인터페이스를 만들 때 기본원칙(Basic Rule), 레이아웃(Layout), 엘리먼트(Element)등 각종 규칙들의 기준이 되는 집합을 의미
사이트의 추가개발 및 유지보수의 편리성을 높이는데 목적이 있다.
■ 스토리보드 (keyword: 설계 산출 문서)
UI 설계 과정 중 디자이너와 개발자가 최종적으로 참고하는 설계 산출 문서로 정책, 프로세스 및 콘텐츠의 구성, 와이어프레임, 기능 정의, 데이터베이스의 연동 등 서비스 구축을 위한 대부분의 정보가 수록되어있다.
스토리보드 | 와이어프레임 | 프로토타입 |
정책, 프로세스 및 콘텐츠의 구성, 와이어프레임, 기능정의, 데이터베이스의 연동 등이 수록된 설계 산출물 | 이해관계자들과의 의사소통을 위해 서비스의 간략한 흐름을 살계 | 와이어프레임 또는 스토리보드의 정적 화면에 동적효과를 적용하여 실제 구현된 것처럼 테스트 가능 (UI 설계 과정 중 사용자의 요구사항을 충분히 분석할 목적으로 시스템의 중요 부분을 우선 구현하고, 이후 요구사항을 반영하는 과정을 재반복하는 개발모델) |
파워포인트, 키노트, 스케치 등 | 손그림, 파워포인트, 키노트, 스케치, 일러스트, 포토샵 등 | HTML/CSS, 네이버, 프로토나우, 카카오 오븐 등 |
■ 프로토타입의 장단점
[장점] : 사용자 요구사항의 정확한 파악에 용이, 그로인한 위험 감소
발주자와 개발자에 공통의 참조모델 제공으로 시스템 이해와 품질 향상
발주자와 개발자 간 의사소통 원활
[단점] : 실제 소프트웨어와의 차이가 발생할 수 있음 (사용자에게 혼란 야기)
단기간에 제작해야 하기에 비효율적인 언어나 알고리즘을 사용할 수 있음
발주자가 프로토타입 모형의 시제품을 완성 제품으로 오해할 수 있음
■ 시스템 인터페이스 외부 및 내부 모듈 연계 방법 EAI / ESB가 있다.
■ EAI (Enterprise Application Integration)
- Point-to-point : 중간에 미들웨어 두지 않고 각각 연결 / 상대적으로 저렴/ 변경, 재사용 어려움
- Hub & Spoke : 단일 접점인 허브를 통해 데이터를 전송하는 중앙 집중적 방식 / 모든 데이터 전송 보장 / 확장, 유지보수 용이, 허브 장애 시 전체 영향
- Message Bus (ESB 방식): 애플리케이션 사이에 미들웨어(버스)를 두어 처리 / 미들웨어를 통한 통합 / 뛰어난 확장성, 대용량 처리가능
- Hybrid : 그룹 내는 Hub&Spoke 방식, 그룹간에는 Message Bus 방식을 사용 / 표준 통합 기술, 데이터 병목 현상 최소화
■ ESB (Enterprise Service Bus)
웹 서비스 중심으로 표준화된 데이터, 버스를 통해 유연하게 통합하는 핵심 플랫폼 인터페이스 방식이다.
■ 인터페이스 통신을 위한 도구
- JSON (JavaScript Object Notation) : 속성-값 쌍(Attribute-Value)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용되는 개방형 표준 포맷이다. / AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이며, 언어 독립형 데이터 포맷으로 다양한 언어에서 사용되고 있다.
- XML (eXtensible Markup Language) : 웹 페이지의 기본 형식인 HTML문법이 각 브라우저에서 상호호환적이지 못하다는 문제와 SGML의 복잡함을 해결하기 위해 개발됨. / 특수한 목적을 갖는 마크업 언어
- AJAX (Asychronous Javascript And XML) : 자바스크립트를 사용하여 웹 서버와 클라이언트간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
■ 데이터 통신을 사용한 인터페이스에서 예외 처리 방법
AJAX (Asynchronous Javascript And XML) 방식을 사용하여 JSON 객체를 전달
그래서 AJAX 방식의 예외 처리 방식에 따라 구현
(1) 송신측 예외 처리 방법
- 반환 케이스는 크게 success 와 fail 두 가지 케이스로 나뉜다.
- 예외처리는 fail 시 일어나며 예외 처리 반환 메시지에 따라 세부적으로 예외처리 기능이 나누어짐
(2) 수신 측 예외처리 방법
- 수신 측에서 받은 JSON 객체를 처리시 에는 try ~ catch 구문을 이용한다.
- 별도 예외 결과를 response에 set 하지 않아도 에러발생시 에러 결과가 반환된다.
■ 데이터 통신 데이터 탈취 위협
- 스푸핑 (Spoofing) :TCP/IP 의 구조적 결함을 이용해서 사용자 시스템 권한을 획득한뒤 ,정보를 뺴감
- 스누핑: 네트워크 상에 떠도는 중요정보를 몰래 획득하는 행위
- 스니핑(Sniffing) : 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 훔쳐보는(도청, 감청) 행위를 의미
+ 중간에 도청할 수 있도록 설치되는 도구 스니퍼(Sniffer)
■ 시큐어 코딩
보안상 취약점이 발생 할 수 있는 부분을 보완하여 프로그래밍하는 것
■ 시큐어 코딩 가이드 보안약점 [ 입 보 시 에 코 캡 아 ]
- 입력 데이터 및 검증 : XSS , SQL 인젝션을 방지하기 위함
- 보안 취약점
- 시간 및 상태
- 에러코드
- 캡슐화
- API 오용
■ 데이터 베이스 암호화
-대칭키 암호 알고리즘 : APIA 128/192/256, SEED
* 한국 : ARIA(국정원) , SEED (한국 정보 보호 진흥원 / 한국 인터넷 진흥원 / KISA 에서 개발한 암호화 알고리즘)
* 미국 : DES, AES
-해시 알고리즘 : SHA-256/384/512, HAS-160
-비대칭키 알고리즘 : RSA , ECDSA
■ 데이터 베이스 암호화 기법
- API 방식 : 애플리케이션에서 암호화 수행
- Plug-in 방식 : 테이터베이스에서 암호화 수행
- Hybrid 방식: API 방식 + Plug-in 방식 혼합
■ 인터페이스 구현 검증 도구
- xUnit : Java, C++, .Net 등 다양한 언어를 지원하는 단위 테스트 프레임워크
- STAF : 서비스호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- NTAF : Naver 테스트 자동화 프레임 워크이며, STAF + FitNesse를 통합
- FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등일 지원하는 테스트 프레임워크
- Selenium : 다양한 브라우저 지원 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir : Ruby 기반 웹 애플리케이션 테스트 프레임워크
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사_실기] Chapter 7. 애플리케이션 테스트 관리 (0) | 2020.10.11 |
---|---|
[정보처리기사_실기] Chapter 6. 화면 설계 (0) | 2020.10.11 |
[정보처리기사_실기] Chapter 4. 서버프로그램 구현 (0) | 2020.10.10 |
[정보처리기사_실기] Chapter 3. 통합 구현 (0) | 2020.10.10 |
[정보처리기사_실기] Chapter 1. 요구사항 확인 (0) | 2020.10.10 |