# 인터페이스 설계 확인
인터페이스는 크게 사용자 인터페이스와 시스템 인터페이스로 구분된다
분석 단계
인터페이스 정의서 작성
명세 단계
인터페이스 명세서 작성
설계 단계
인터페이스 설계서 작성
시스템 인터페이스
목록 + 명세서
# 인터페이스 기능 구현
개발하고자 하는 응용 소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여
일관되고 정형화된 인터페이스 기능을 구현할 수 있다
컴포넌트 명세서
컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의한다
인터페이스 명세서
컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서이다
JSON (Javascript Object Notation)
속성-값 (Attribute-Value Pair) 쌍 또는 키-값 쌍 으로 이루어진 데이터 오브젝트를 전달하기 위해
인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다
AJAX (Asynchronous Javascript and XML) 에서 많이 사용되고
XML (eXtensible Markup Language)을 대체하는 주요 데이터 포맷이다
XML (eXtensible Markup Language)
HTML의 단점을 보완한 인터넷 언어로 SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
AJAX (Asynchronous Javascript and XML)
자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로
XML 데이터를 교환하고 조작하기 위한 웹 기술
AJAX의 주요 기술
XMLHTTPRequest
웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API
비동기 통신을 담당하는 자바스크립트 객체
JavaScript
객체 기반의 스크립트 프로그래밍 언어
웹 브라우저 내에서 주로 사용하며 다른 응용프로그램의 내장 객체에도 접근할 수 있는 기능 소유
DOM (Document Object Model)
XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
XSTL (Extensible Stylesheet Language Transformations)
XML 문서를 다른 XML 문서로 변환하는데 사용하는 XML 기반 언어
HTML (HyperText Markup Language)
인터넷 웹 (WWW) 문서를 표현하는 표준화된 마크업 언어
CSS (Cascading Style Sheets)
마크업 언어가 실제 표시되는 방법을 기술하는 언어
REST (Representational State Treansfer)
웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를
표준화된 HTTP 메서드로 주고받는 웹 아키텍처
웹에서 자원의 상태를 HTTP 메서드로 주고받는 웹 아키텍처
리소스 (자원), 메서드 (행위), 메시지 (표현) 3가지 요소로 구성된다
프로시저 (Procedure)
SQL를 이용해 생성된 데이터를 조작하는 프로그램으로 데이터베이스 내부에 저장되고
일정한 조건이 되면 자동으로 수행된다
배치작업 (Batch Job)
실시간 작업의 반대 개념으로 일련의 작업을 하나의 작업 단위로 묶어서
일괄로 처리하는 작업
스니핑 (Sniffing)
공격 대상자에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법
데이터베이스 암호화 알고리즘
대칭 키 암호화 알고리즘 : 암호화/복호화에 같은 암호 키를 쓰는 알고리즘
비대칭 키 암호화 알고리즘 : 공개키는 누구나 알 수 있지만 그에 대응하는 비밀키는 키의 소유자만 안다
해시 암호화 알고리즘 : 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
데이터베이스 암호화 기법
API 방식 : 애플리케이션 레벨에서 암호모듈(API)를 적용하는 애플리케이션 수정방식
Plug-In 방식 : 암호화/복호화 모듈이 DB서버에 설치된 방식
TDE 방식 : DB서버의 DBMS 커널이 자체적으로 암호화/복호화 기능을 수행하는 방식
Hybrid 방식 : API방식과 Plug-In 방식을 결합하는 방식
데이터의 암호화 전송 기술
IPSec (IP Security)
IP계층 (3계층)에서 무결성과 인증을 보장하는 인증헤더 (AH)와
기밀성을 보장하는 암호화 (ESP)를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜
SSL/TLS
전송계층 (4계층)과 응용계층 (7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화 (기밀성)
상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
S-HTTP (Secure Hypertext Transfer Protocol)
웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버간에 전송되는
모든 메시지를 각각 암호화하여 전송
ESP (Encapsulating Security Payload)
암호화 알고리즘을 활용한 캡슐화 기반 페이로드 기밀성을 제공하는 프로토콜이다
# 인터페이스 구현 검증
구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서
인터페이스 동작 상태를 검증하고 모니터링 할 수 있다
인터페이스 구현 검증 도구
xUnit
자바, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크
STAF
서비스호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
분산환경에 데몬을 사용하여 대상 프로그램을 통해 테스트한다
FitNesse
웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
NTAF
FitNesse의 장점인 협업 기능 과 STAF의 장점인 재사용 및 확장성을
통합한 NHN의 테스트 자동화 프레임워크
Selenium
다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구를 제공
Watir
루비 (Ruby) 기반 웹 애플리케이션 테스트 프레임워크
인터페이스 감시 도구
인터페이스의 동작이 잘 진행되는지 지속적으로 확인하기 위해서는 애플리케이션 모니터링 툴
(APM : Application Performance Management)을 사용하여 동작 상태를 감시할 수 있다
스카우터
애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능 제공
제니퍼
개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기단계 동안 성능을 모니터링하고 분석해주는 APM
'License' 카테고리의 다른 글
[License] 07. SQL응용 [정보처리기사 실기] (0) | 2022.09.01 |
---|---|
[License] 06. 프로그래밍 언어 활용 [정보처리기사 실기] (0) | 2022.08.31 |
[License] 04. 통합 구현 [정보처리기사 실기] (0) | 2022.08.29 |
[License] 03. 데이터 입출력 구현 [정보처리기사 실기] (0) | 2022.08.28 |
[License] 02. 화면 설계 [정보처리기사 실기] (0) | 2022.08.27 |