2과목 소프트웨어 개발 인터페이스 구현 066~ 075

2024. 1. 25. 09:31
728x90

066. 모듈 간 공통 기능 및 데이터 인터페이스 확인

- 인터페이스 설계서로 모듈병 기능 확인 > 외,내부 모듈을 기반으로 공통적으로 제공되는 기능과 각 데이터의 인터페이스를 확인. 

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

- 인터페이스 설계서 : 시스템 사이의 데이터 교환 및 처리를 위해 교환 데이터 및 관련 업무, 송,수신 시스템 등의 내용을 정의한 문서. 

  외부모듈 내부모듈
시스템 인터페이스 설계서 데이터 송신 시스템 데이터 수신 시스템
상세 기능 인터페이스 명세서  오퍼레이션, 사전 조건 사후 조건
정적/동적 모형을 통한 인터페이스 설계서 인터페이스 영역을 기준으로 상위모듈 하위모듈

 

 

067. 모듈 연계를 위한 인터페이스 기능 식별

- 모듈 연계 방법

1) EAI (Enterprise Application Integration)

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

  • Point-to-Point : 가장 기본적. 애플리케이션 1:1로 연결. 변경 및 재사용 어렵
  • Hub&Spoke : 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식. 확장 및 유지보수 용이. 허브 장애 발생 시 시스템 전체에 영향
  • Message&Bus : 애플리케이션 사이에 미들웨어를 두어 처리. 확장성& 대용량 처리 가능
  • Hybrid : 그룹 내에서는 Hub&Spoke, 그룹 간에는 Message&Bus 방식. 데이터 병목 현상을 최소화

2) ESB (Enterpriser Service Bus)

: 애플리케이션 간 연계, 테이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션. 특정 서비스에 국한되지 않고 결합도를 약하게 유지. 관리 및 보안 유지 쉬움. 

 

068. 모듈 간 인터페이스 데이터 표준 확인

: 모듈 간 원활한 데이터 교환을 위해 인터페이스에 사용되는 데이터 요소의 명칭, 정의, 규칙 등에 대한 원칙을 만드는 것. 

- 인터페이스  데이터 표준 확인 > 인터페이스 표준 확인 > 검토하여 최종적 인터페이스 데이터 표준 확인

 

1) 데이터 인터페이스 확인

: 입출력 값의 의미, 데이터의 특성 등 구체적 확인

2) 인터페이스  기능 확인 

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

3) 인터페이스  데이터 표준 확인  

 

069. 인터페이스 기능 구현 정의

: 실제로 인터페이스 기능을 구현하기 위해 어떤 기능을 어떻게 구현할지를 기능별로 정의하는 것. 

1) 컴포넌트 명세서 확인 (모듈 세부 설계서) : 컴포넌트 개요 및 내부 클래스의 동작, 인터페이스 통해 외부와 통신하는 명세 정의 

2) 인터페이스 명세서 확인 (모듈 세부 설계서) : 인터페이스 클래스의 세부 조건 및 기능 정의 (사전조건/사후조건, 파라미터, 반환값)

+ 모듈 세부 설계서 확인 : 위를 기반으로 인터페이스에 필요한 기능 확인. 

3) 일관된 인터페이스 기능 구현 정의 : 인터페이스 기능, 데이터 표준, 모듈 세부 설계서 기반으로 일관성 있고 정형화된 인터페이스 기능 구현에 대해 정의 

4) 정의된 인터페이스 기능 구현 정형화 : 의존적이지 않게 보기 쉽고 표준화되도록 정형화 

 

070. 인터페이스 구현

: 송신 측에서 전송한 데이터를 수신 측에서 받아 처리할 수 있도록 지원하는 작업. 

 

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

: 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송 > 수신 측에서 파싱하여 해석. 

- 주로 JSON/ XML 형식 사용

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

: 인터페이스 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계. 

- 주로 인터페이스 테이블을 엔티티로 활용. 

- 인터페이스 이벤트 발생 > 인터페이스 테이블에 데이터 기록 > 송신 측 테이블에서 주기에 따라 데이터 전송 > 수신 측 테이블에서 데이터가 입력되면 주기에 따라 데이터를 읽음 > 수신 측 테이블에서 읽은 후 사전에 정의된 데이터 트랜잭션을 수행. 

 

071. 인터페이스 예외 처리

: 인터페이스 동작하는 과정에서 기능상 예외 상황이 발생했을 때 처리하는 절차. 

 

1) 데이터 통신

- 송신 실패 시  : 시스템 환경(네트워크 불안정), 송신 데이터 (데이터 크기, 데이터 정합성 체크 오류), 프로그램 자체 원인 (송신 데이터 생성 시 프로세스의 논리적 결함)

- 수신 실패 시 : 시스템 환경 (네트워크 및 서버 불안정), 수신 데이터 (특수문자 등으로 파싱 오류), 프로그램 자체 원인 (수신 데이터 처리시 프로그램의 논리적 결함)

 

2) 인터페이스 엔티티

- 송신 실패시 : 인터페이스  데이터 생성 (선택SQL, 프로그램 오류, 데이터 객체 생성 오류), 인터페이스  테이블에 입력 (입력 SQL오류, 데이터 정합성 오류), 인터페이스  데이터 전송 (DB Connection 오류, 전송 주체의 논리적 오류)

- 수신 실패시 : 인터페이스 데이터 읽기 (데이터 선택 시 오류), 데이터 트랜잭션 (트랜잭션 시 프로그램의 논리상 오류), 처리 결과 응답 (DB Connection 오류)

 

072. 인터페이스 보안

1) 인터페이스  보안 취약점 분석. : 구간 현황 확인, 각 구간에 어떤 보안 취약점이 있는지 분석.

2) 인터페이스 보안 기능 적용.

  • 네트워크 영역 : 스니핑 등 데이터 탈취 및 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화 설정. (아키텍처에 따라 IPSec, SSL, S-HTTP 등)
IPSec (IP Security) 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜
SSL (Secure Sockets Layer) TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
S-HTTP (Secure Hypertext Transfer Protocol) 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화하는 프로토콜
  • 애플리케이션 영역 : 애플리케이션 코드 상의 보안 취약점 보완
  • 데이터베이스 영역 : 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 기능 적용. (개인정보, 업무상 민감한 데이터의 경우 암호화나 익명화 등 데이터 자체의 보안 방안도 고려)

- 데이터 무결성 검사 도구 : 시스템 파일의 변경 유무 확인, 변경되었을 경우 관리자에게 알려주는 도구. (Tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck)

 

073. 연계 테스트

: 송,수신 시스템이 이상없이 데이터를 주고받는지 확인하는 것. 

 

1) 연계 테스트 케이스 작성 : 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정. 

- 송,수신용 연계 응용 프로그램의 단위 테스트 케이스

- 연계 테스트 케이스 

2) 연계 테스트 환경 구축 : 테스트 일정, 방법, 절차, 소요시간 등을 송,수신 기관과의 협의를 통해 결정. (송,수신용 어댑터 설치, IP 및 포트 허용 신청, DB 계정, 테이블과 데이터 생성 등)

3) 연계 테스트 수행  : 실제로 진행

4) 연계 테스트 수행 결과 검증 : 연계 테스트 케이스의 시험 항목 및 처리 절차를 수행한 결과가 예상 결과와 동일한지를 확인. (운영 DB 테이블의 건수 확인, 파일/테이블을 열어 데이터 확인, 파일 생성 여부 및 파일 크기 확인, 연계 서버에서 제공하는 모니터링 현황 확인, 시스템 기록 로그 확인 방법)

 

074. 인터페이스 구현 검증

: 인터페이스가 정상적으로 문제없이 작동하는지 확인하는 것.

 

** 인터페이스  구현 검증 도구

- xUnit  : 같은 테스트 코드 여러번 작성하지 않게 도와주고, 테스트마다 예상 결과를 기억할 필요가 없게 하는 자동화된 해법을 제공하는 단위 테스트 프레임워크 (JUnit, CppUnit, NUnit, HttpUnit 등)

- STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크, 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트 수행, 통합하여 자동화.

- FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크

- NTAF : 협업 기능과 재사용및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크

- Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크

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

 

** 인터페이스 구현 감시 도구

- 인터페이스 동작 상태는 APM을 사용하여 감시할 수 있다. 

- ex. Scouter, Jennifer

 

1) 인터페이스 구현 검증 도구 및 감시 도구 선택

2) 인터페이스 구현 검증 확인

3) 인터페이스 구현 감시 확인

 

075. 인터페이스 오류 확인 및 처리 보고서 작성

1) 인터페이스 오류 발생 즉시 확인 : 화면에 오류 메시지 표시, 자동으로 SMS, 이메일을 발생. 

2) 주기적인 인터페이스 오류 발생 확인 : 시스템 관리자가 시스템 로그나 인터페이스 오류 관련 테이블 등을 통해 주기적으로 오류 발생 여부를 확인. ( 인터페이스 오류 로그 확인, 오류 테이블 확인, APM 인터페이스 감시도구 사용)

3) 인터페이스 오류 처리 보고서 작성. 

 

728x90

BELATED ARTICLES

more