2과목 소프트웨어 개발 인터페이스 구현 066~ 075
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) 인터페이스 오류 처리 보고서 작성.
'Programming > 정처기' 카테고리의 다른 글
3과목 데이터베이스 구축 논리 데이터베이스 설계 083~090 (1) | 2024.01.29 |
---|---|
3과목 데이터베이스 구축 논리 데이터베이스 설계 076~082 (1) | 2024.01.28 |
2과목 소프트웨어 개발 애플리케이션 테스트 관리 054 ~ 065 (2) | 2024.01.24 |
2과목 소프트웨어 개발 제품 소프트웨어 패키징 046 ~ 053 (1) | 2024.01.23 |
2과목 소프트웨어 개발 통합 구현 043 ~ 045 (1) | 2024.01.23 |