본문 바로가기

자격증/정보처리기사 - 필기

소프트웨어 개발 - 인터페이스 구현

728x90

데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장될 파라미터

 

인터페이스 설계서 : 교환 데이터 및 관련 업무, 송/수신 시스템 등에 대한 내용을 정의한 문서

 

정적/동적 모형을 통한 인터페이스 설계서 : 트랜잭션을 통해 해당 인터페이스가 시스템의 어느 부분에 속하고, 트랜잭션의 종류를 확인

 

모듈 연계 : 모듈 간 데이터의 교환을 위해 관계 설정

-> EAI

각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 하는 솔루션

● 효율성 및 각 시스템 간의 확정성을 높여준다.

< 유형 >

● Point-to-Point : 1대1 연결, 변경 및 재사용 어려움

● Hub & Spoke : 중앙집중형 방식, 확장 및 유지보수 용이, 허브 장애 발생 시 시스템 전체에 영향 미침

● Message Bus : 미들웨어를 두어 처리하는 방식, 확장성이 뛰어나며 대용량처리 가능

● Hybrid : Hub & Spoke와 Message Bus의 혼합 방식, 병목 현상 최소화

-> ESB

애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스 제공 솔루션

● 서비스 중심의 통합 지향

● 애플리케이션과의 결합도를 약하게 유지

 

모듈간 인터페이스 기능 식별

● 모듈 간 동작하는 기능을 통해 인터페이스 기능 식별

● 시나리오를 통해 내/외부 모듈과 관련된 인터페이스 기능 식별

 

인터페이스 데이터 표준 : 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화 하는 것

● 데이터 인터페이스 확인

● 인터페이스 기능 확인 : 인터페이스 기능 구현을 위해 필요한 데이터 항목 확인

● 인터페이스 데이터 표준 확인

 

인터페이스 기능 구현 : 인터페이스 기능에 대한 구현 방법을 기능별로 기술한 것

● 정의된 인터페이스 기능 구현 정형화

● 일관성 있는 인터페이스 기능 구현

< 정의 순서 >

1. 컴포넌트 명세서 확인

-> 컴포넌트 명세서 : 컴포넌트의 개요 및 내부 클래스 동작, 인터페이스를 통해 외부와 통신하는 명세 정의

2. 인터페이스 명세서 확인

-> 인터페이스 명세서 : 인터페이스 클래스의 세부 조건 및 기능 정의

3. 일관된 인터페이스 기능 구현 정의

4. 정의된 인터페이스 기능 구현 정형화

 

인터페이스 구현 : 송/수신 시스템 간의 데이터 교환 및 처리를 실현

- 데이터 통신을 이용한 인터페이스 구현

● 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신 측에서 파싱하여 해석

● 주로 JSON이나 XML 형식의 데이터 포맷 사용

- 인터페이스 엔티티를 이용한 인터페이스 구현

● 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식

● 인터페이스 테이블을 엔티티로 활용

● 인터페이스 테이블은 한 개 또는 송/수신 인터페이스 테이블을 각각 두어 활용

● 테이블의 구조는 상황에 따라 서로 다르게 설계할 수 있다.

 

인터페이스 예외 처리

< 데이터 통신을 이용한 인터페이스 예외 처리 >

1. 인터페이스 객체 송신 실패 시

시스템 환경 - 네트워크 불안정

-> 오류 메시지 확인, 404 오류일 경우 네트워크/서버 상태 확인

 송신 데이터

-> 데이터 송신 시 데이터 크기 및 정합성을 체크하는 기능 추가

 프로그램 자체 원인

2. 인터페이스 객체 수신 실패 시

 시스템 환경 - 네트워크 불안정

-> 입력 대기 큐에 요청을 적재한 후 순차적 처리

 수신 데이터

-> 특수문자 입력 케이스를 파악 후 파싱 시 오류가 발생하지 않는 문자로 대치하고 이후 처리

 프로그램 자체 원인

< 인터페이스 엔티티를 이용한 예외 처리 >

1. 송신 인터페이스 테이블을 이용한 인터페이스 기능 실패 시

 인터페이스 데이터 생성 - 선택 SQL, 프로그램 오류

-> 오류 발생 알리고 프로그램 개선

 인터페이스 테이블에 입력 - 입력 SQL 오류

-> 원인과 결과를 인터페이스 테이블에 기록, 오류 발생 알리고 프로그램 개선

 인터페이스 데이터 전송 - DB Connection 오류

-> 원인과 결과를 인터페이스 테이블에 기록 후 사용자와 관리자에게 전송

                            - 데이터 전송 주체의 논리적 오류

-> 원인과 결과를 인터페이스 테이블에 기록 후 실패 결과를 사용자와 관리자에게 전송, 프로그램 개선

2. 수신 인터페이스 테이블을 이용한 인터페이스 기능 실패 시

 인터페이스 데이터 읽기 - 데이터 선택 시 오류

-> 예외사항을 알리고 인터페이스 테이블에 기록 후 프로그램 개선

 데이터 트랜잭션 - 데이터 트랜잭션 시 오류

-> 예외사항을 알리고 인터페이스 테이블에 기록 후 프로그램 개선

 처리 결과 응답 - DB Connection 오류

-> 인터페이스 테이블에 예외사항 기록 후 송/수신자에게 알림

 

인터페이스 보안 기능 적용

- 네트워크 영역 : 스니핑 방지를 위해 네트워크 트래픽에 대한 암호화 설정

- 애플리케이션 영역 : 코드 상 보안 취약점을 보완하는 방향으로 애플리케이션 보안 기능 적용

- 데이터베이스 영역 : DB 동작 객체의 보안 취약점에 보안 기능 적용

 

연계 테스트 : 송/수신 시스템이 이상없이 데이터를 주고받는지 확인

< 순서 >

1. 연계 테스트 케이스 작성

● 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성

흐름을 확인할 수 있는 내용으로 작성

2. 테스트 환경 구축

3. 테스트 수행

4. 테스트 수행 결과 검증

● 운영 DB 테이블의 건수 확인

● 테이블/파일을 열어 데이터 확인

● 로그 확인

 

인터페이스 구현 검증 : 인터페이스가 정상적으로 문제없이 작동하는지 확인

< 검증 도구 >

● xUnit : 다양한 언어 지원

● STAF : 다양한 환경 지원

● FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 지원

● NTAF : 테스트 자동화 프레임워크

● Selenium : 웹 애플리케이션 테스트 프레임워크

● watir : Ruby를 사용하는 애플리케이션 테스트 프레임 워크

< 구현 감시 도구 >

● APM 사용

-> APM : 애플리케이션의 흐름 모니터링, 성능 예측

● 종합적인 정보를 조회하고 분석 가능

< 검증과 감시 차이점 >

검증 : 인터페이스의 입/출력 값이 예상과 일치하는지 확인

감시 : 구현된 인터페이스가 잘 동작하는지 확인