일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 디자인패턴
- directx
- I/O장치
- DirectX 12
- 렌더링 파이프라인
- 알고리즘
- 타입 객체
- DirectX12
- 쓰레드
- OS
- Direct12
- 그리디알고리즘
- 멀티프로세서
- 락
- 멀티쓰레드
- 파일시스템 구현
- 백준
- 동적계획법
- 프로그래머스
- 그리디 알고리즘
- 운영체제
- 다이나믹프로그래밍
- 병행성 관련 오류
- 병행성
- 영속성
- 컨디션 변수
- 자료구조
- 다이나믹 프로그래밍
- codility
- 스케줄링
- Today
- Total
기록공간
5장. 인터페이스 구현 본문
#1 인터페이스 설계 확인
외부, 내부 모듈 간 공통 기능 및 데이터 인터페이스 확인
1. 인터페이스 설계서
■ 인터페이스 설계서 개념
인터페이스 설계서는 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서이다.
■ 상세 기능 인터페이스 정의서 주요 항목 (아명오개 전후파반)
- 인터페이스 ID : 인터페이스를 구분하기 위한 식별자
- 인터페이스 명 : 인터페이스 고유 명칭
- 오퍼레이션 명 : 인터페이스의 세부 동작 명칭
- 오퍼레이션 개요 : 인터페이스의 세부 동작 프로세스에 대한 세부 설명
- 사전 조건 : 인터페이스 세부 동작이 정상적으로 작동하기 위한 사전에 완료되어야 하는 조건 기술
- 사후 조건 : 인터페이스 세부 동작이 정상적으로 작동된 이후에 발생하는 조건 기술
- 파라미터 : 인터페이스 구성 항목 값
- 반환 값 : 인터페이스 전송 후 반환되는 값
2. 인터페이스 설계서의 내부, 외부 모듈의 기능 확인
-
인터페이스 정의서를 통한 기능 확인
-
시스템 인터페이스 정의서
-
상세 기능 인터페이스 정의서
-
-
정적, 동적 모형을 통한 기능 확인
외부 및 내부 모듈 연계를 위한 인터페이스 기능 식별
1. 외부, 내부 모듈 연계 방법(EAI, ESB 연계 방법)
■ EAI(Enterprise Application Integration) 방식
EAI는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션이다. 각 시스템 간의 확장성을 높여 줄 수 있다. (모듈간 통합)
■ EAI 구축 유형 (포허 메하)
- 포인트 투 포인트(Point-to-point) : 가장 기초적인 통합방법 1:1 방식
- 허브 앤 스포크(Hub & Spoke) : 허브 시스템을 통해 데이터를 전송하는 중앙 집중식 방법, 허브 장애시 전체 장애 발생
- 메시지 버스(Message Bus) : 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
- 하이브리드(Hybrid) : 허브앤 스포크(내부) + 메시지 버스(외부)
■ ESB(Enterprise Service Bus) 방식
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처이다. (표준 API 통합)
#2 인터페이스 기능 구현
인터페이스 기능 구현 정의
1. 모듈 간 세부 설계서 확인
■ 각 모듈의 컴포넌트 명세서와 인터페이스 명세서 등 세부 설계서를 확인하여 인터페이스에 필요한 기능을 확인한다.
■ 컴포넌트 명세서
컴포넌트 명세서는 컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의한다.
■ 인터페이스 명세서
인터페이스 명세서는 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서이다. (아명오개 전후파반)
인터페이스 기능 구현
1. 사전에 정의된 기능에 대한 구체적 분석
■ 상세하게 정의된 기능 구현 정의 내용을 토대로 어떻게 구현할 것인지 분석한다.
2. 인터페이스 구현
■ 인터페이스 구현 방법에는 데이터 통신을 사용하는 방법과 인터페이스 객체를 사용하여 인터페이스를 구현하는 방법이 있다.
■ 데이터 통신을 사용하는 인터페이스 구현
-
인터페이스 객체 생성 구현 : 인터페이스 객체를 생성하기 위해서 데이터베이스에 있는 정보를 SQL을 통해 선택한 후 이를 JSON으로 생성
-
인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환 받도록 구현 : 송신 측에서 JSON으로 작성된 인터페이스 객체를 AJAX 기술을 이용하여 수신 측에 송신. 수신측에서는 JSON 인터페이스 객체를 수신받고 이를 파싱 후 처리.
■ 인터페이스 객체를 사용하는 인터페이스 구현
-
송신 시스템의 인터페이스 테이블 : 송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목 구현
-
수신 시스템의 인터페이스 테이블 : 수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현
인터페이스 보안 기능 적용
1. 인터페이스 보안 구현 방안
■ 시큐어 코딩 가이드 적용 (입보시 에코캡아)
- 입력 데이터 검증 및 표현 : 프로그램 입력 값에 대한 검증 누락, 잘못된 형식
- 보안 기능 : 보안 기능의 부적절한 구현
- 시간 및 상태 : 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간, 상태의 부적절한 관리
- 에러 처리 : 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함
- 코드 오류 : 개발자가 범할 수 있는 코드 오류로 인해 유발
- 캡슐화 : 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 유출
- API 오용 : 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API 사용
■ 데이터베이스 암호화 알고리즘 (대비해)
- 대칭 키 암호화 알고리즘 : 암, 복호화에 같은 암호 키를 쓰는 알고리즘
- 비대칭 키 암호화 알고리즘 : 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
- 해시 암호화 알고리즘 : 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
■ 데이터베이스 암호화 기법 (애플하)
- API 방식 : 암호 모듈(API)을 적용하는 애플리케이션 수정 방식
- Plug-In 방식 : DB 레벨의 확장성 프로시저 기능을 이용, DBMS에 Plug-In 모듈로 동작하는 방식
- Hybrid 방식 : API 방식과 Plug-In 방식을 결합하는 방식
#3 인터페이스 구현 검증
인터페이스 구현 검증
1. 인터페이스 구현 검증 도구
■ 인터페이스 구현 검증 도구의 개념
구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 인터페이스 동작 상태를 검증하고 모니터링 할 수 있다. 인터페이스 구현을 검증하기 위해서는 인터페이스 세부 기능을 기능 단위로 테스트하는 단위 테스트와 전체 인터페이스 흐름을 확인할 수 있는 시나리오를 통한 통합 테스트가 필요하다.
■ 인터페이스 구현 검증 도구의 종류 (엑스피 셀웨)
- xUnit : 자바, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크
- STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 제공하는 테스트 프레임워크
- FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- Selenium : 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir : 루비 기반 웹 애플리케이션 테스트 프레임워크
2. 인터페이스 감시 도구
■ 스카우터(SCOUTER)
애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공한다.
3. 인터페이스 구현 검증에 필요한 설계 산출물
■ 인터페이스 단위 테스트 케이스, 통합 테스트 케이스를 활용하여 최종적으로 인터페이스 구현 검증을 한다.
인터페이스 오류 처리 확인 및 보고서 작성
1. 인터페이스 오류 처리 방법 (화로테)
- 사용자 화면에서 오류를 인지 하도록 구현
- 인터페이스 오류 로그 생성
- 인터페이스 관련 테이블에 오류 사항 기록
'자격증공부 > 정보처리기사_실기' 카테고리의 다른 글
7장. 애플리케이션 테스트 관리 (0) | 2020.11.23 |
---|---|
6장. 화면 설계 (0) | 2020.11.22 |
4장. 서버 프로그램 구현 (0) | 2020.11.21 |
3장. 통합 구현 (0) | 2020.11.21 |
2장. 데이터 입출력 구현 (0) | 2020.11.21 |