2과목 - 소프트웨어 개발
5장. 인터페이스 구현
60. 모듈 간 공통 기능 및 데이터 인터페이스 확인
모듈 간 공통 기능 및 데이터 인터페이스의 개요
- 공통 기능은 공통적으로 제공되는 기능
- 데이터 인터페이스는 모듈 간 교환되는 데이터가 저장될 파라미터
- 모듈 간 공통 기능 및 데이터 인터페이스 확인 순서
- 인터페이스 설계서를 통해 모듈별 기능 확인
- 내외부 모듈을 기반으로 공통적으로 제공되는 기능과 각 데이터의 인터페이스 확인
인터페이스 설계서
- 시스템 사이 데이터 교환 및 처리를 위한 내용을 정의한 문서
- 일반적인 인터페이스 설계서
- 시스템 인터페이스 목록, 각 인터페이스의 상세 데이터 명세, 세부 인터페이스 정보를 정의한 문서
- 시스템 인터페이스 설계서
- 시스템 인터페이스 목록을 만들고, 각 목록에 대한 상세 데이터 명세를 정의
- 상세 기능별 인터페이스 명세서
- 각 기능의 세부 인터페이스 정보를 정의한 문서
- 정적, 동적 모형을 통한 인터페이스 설계서
- 각 시스템 구성 요소를 표현한 다이어그램을 이용하여 만든 문서
인터페이스 설계서별 모듈 기능 확인
- 시스템 인터페이스 목록에서 송신 및 전달 부분은 외부 모듈, 수신 부분은 내부 모듈에 해당
- 시스템 인터페이스 설계서에서 데이터 송신 시스템 부분은 외부 모듈, 데이터 수신 시스템 부분은 내부 모듈에 해당
- 상세 기능 인터페이스 명세서에서 오퍼레이션과 사전 조건은 외부 모듈, 사후 조건은 내부 모듈에 해당
61. 모듈 연계를 위한 인터페이스 기능 식별
모듈 연계의 개요
- 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터 교환을 위해 관계를 설정하는 것
- 대표적인 모듈 연계 방법
- EAI (Enterprise Application Integration)
- ESB (Enterprise Service Bus)
EAI (Enterprise Application Integration)
- 기업 내 상호 연동이 가능하게 해주는 솔루션
- 비즈니스 간 통합 및 연계성을 증대시켜 각 시스템 간의 확정성을 높여줌
- 구축 유형
- Point-to-Point
- 가장 기본적인 애플리케이션 통합 방식으로, 애플리케이션을 1:1 로 연결
- 변경 및 재사용이 어려움
- Hub & Spoke
- 단일 접점인 허브를 통해 데이터를 전송하는 중앙 집중형 방식
- 확장 및 유지 보수가 용이하지만 허브 장애 발생 시 시스템 전체에 영향
- Message Bus (ESB 방식)
- 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
- 확장성이 뛰어나며 대용량 처리가 가능
- Hybrid
- 그룹 내에서는 Hub & Spoke 방식, 그룹 간에는 Message 방식 사용
- 데이터 병목 현상 최소화
- Point-to-Point
ESB (Enterprise Service Bus)
- 애플리케이션 간 연계, 데이터 변환 등 표준 기반의 인터페이스를 제공하는 솔루션
- 애플리케이션 통합 측면에서 EAI와 유사하지만 서비스 중심의 통합을 지향
- 특정 서비스에 국한되지 않고 범용적으로 사용하기 위해 애플리케이션과의 결합도를 약하게 유지
- 관리 및 보안 유지가 쉽고, 높은 수준의 품질 지원 가능
62. 모듈 간 인터페이스 데이터 표준 확인
인터페이스 데이터 표준의 개요
- 묘듈 간 인터페이스에 사용되는 데이터 형식을 표준화한 것
- 모듈 간 인터페이스 데이터 표준 확인 순서
- 데이터 인터페이스를 통해 인터페이스 데이터 표준 확인
- 인터페이스 기능을 통해 인터페이스 표준 확인
- 확인된 인터페이스 표준을 검토하여 최종적인 인터페이스 데이터 표준 확인
63. 인터페이스 기능 구현 정의
인터페이스 기능 구현의 정의에 대한 개요
- 인터페이스를 실제로 구현하기 위해 구현 방법을 기능별로 기술한 것
- 인터페이스 기능 구현 정의 순서
- 컴포넌트 명세서 확인
- 인터페이스 명세서 확인
- 일관된 인터페이스 기능 구현 정의
- 정의된 인터페이스 기능 구현 정형화
모듈 세부 설계서
- 모듈 세부 설계서는 모듈의 구성 요소와 세부적인 동작 등을 정의한 설계서
- 컴포넌트 명세서
- 컴포넌트의 개요 및 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세 등을 정의
- 인터페이스 명세서
- 컴포넌트 명세서 항목 중 인터페이스 클래스의 세부 조건 및 기능 등을 정의
인터페이스 기능 구현 정의
- 일관성 있는 인터페이스 기능 구현 정의
- 인터페이스 기능 구현 정의
- 정의한 인터페이스 기능 구현에 대해 송수신 측에서 진행해야 할 절차까지 세부적으로 정의
- 정의된 인터페이스 기능 구현 정형화
- 정의한 인터페이스 기능 구현을 사람들이 보기 쉽고 표준화되도록 정형화
- 가독성을 높이기 위해 유스케이스 다이어그램 형태로 정형화
64. 인터페이스 구현
데이터 통신을 이용한 인터페이스 구현
- 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷 (JSON / XML)을 인터페이스 대상으로 전송
- 수신 측에서 파싱하여 해석
인터페이스 엔티티를 이용한 인터페이스 구현
- 인터페이스가 필요한 시스템 사이 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식
- 일반적으로 인터페이스 테이블을 엔티티로 사용
- 인터페이스 테이블은 한 개 또는 송신 및 수신 인터페이스 테이블을 각각 두어 활용
65. 인터페이스 예외 처리
데이터 통신을 이용한 인터페이스 예외 처리
- JSON, XML 등 인터페이스 객체를 이용해 구현한 인터페이스 동작이 실패할 경우를 대비
- 송수신 시 발생하는 예외 케이스를 정의하고, 각 예외 케이스마다 예외 처리 방법 기술
인터페이스 엔티티를 이용한 인터페이스 예외 처리
- 인터페이스 동작이 실패할 경우를 대비하여 해당 엔티티에 인터페이스 실패 상황과 원인 기록
- 실패 상황에 대한 조치를 취할 수 있도록 사용자 및 관리자에게 알려주는 방식으로 정의
66. 인터페이스 보안
인터페이스 보안의 개요
- 인터페이스는 시스템 모듈 간 통신 및 정보 교환을 위한 통로로 사용되므로 충분한 보안을 가져야 함
인터페이스 보안 취약점 분석
- 인터페이스 기능이 수행되는 각 구간에 어떤 보안 취약점이 있는지 분석
인터페이스 보안 기능 적용
- 분석한 인터페이스 기능과 보안 취약점을 기반으로 인터페이스 보안 기능을 적용
- 인터페이스 보안 기능 적용
- 네트워크 영역
- 인터페이스 송수신 간 스니핑을 방지하기 위해 네트워크 트래픽에 대한 암호화 설정
- 암호화 방식 : IPSec / SSL / S-HTTP
- 애플리케이션 영역
- 애플리케이션 코드 상의 보안 취약점을 보완
- 데이터베이스 영역
- 데이터베이스 동작 객체의 보안 취약점에 보안 기능 적용
- 업무상 민감한 데이터의 경우 암호화나 익명화
- 네트워크 영역
67. 연계 테스트
연계 테스트의 개요
- 연계 테스트는 구축된 연계 시스템과 연계 시스템 구성 요소가 정상적으로 동작하는지 확인
- 연계 테스트 순서
- 연계 테스트 케이스작성
- 연계 테스트 환경 구축
- 연계 테스트 수행
- 연계 테스트 수행 결과 검증
연계 테스트 케이스 작성
- 연계 시스템 간 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목 도출
- 송수신용 연계 응용 프로그램의 단위 테스트 케이스
- 송수신 시스템에서 확인해야 할 항목 도출
- 연계 테스트 케이스
- 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성
연계 테스트 환경 구축
- 테스트의 일정, 방법, 절차 및 소요 시간 등을 송수신 기관과의 협의를 통해 결정
연계 테스트 수행
- 연계 테스트 케이스의 시험 항목 및 처리 절차를 실제로 진행
- 송수신용 연계 응용 프로그램의 단위 테스트를 먼저 수행
연계 테스트 수행 결과 검증
- 운영 DB 테이블의 건수 확인
- 테이블 또는 파일을 열어 데이터 확인
- 파일 생성 위치에서 파일 생성 여부 및 파일 크기 확인
- 연계 서버에서 제공하는 모니터링 현황 확인
- 시스템에서 기록하는 로그 확인
68. 인터페이스 구현 검증
인터페이스 구현 검증의 개요
- 인터페이스가 정상적으로 문제없이 작동하는지 확인
인터페이스 구현 검증 도구
- 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합 테스트 필요
- 테스트 자동화 도구 이용
- ex) xUnit / STAF / FitNesse / Selenium
인터페이스 구현 감시 도구
- APM (Application Performance Monitoring)을 사용하여 감시할 수 있음
- 애플리케이션 성능 관리 도구 (모니터링 도구)를 통해 종합적인 정보를 조회하고 분석할 수 있음
- ex) 스카우터 / 제니퍼
인터페이스 구현 검증 확인
- 외부 시스템과 연계 모듈의 동작 상태 확인
- 각 단계별 오류 처리도 적절하게 구현되어 있는지 확인
인터페이스 구현 감시 확인
- 외부 시스템과 연결 모듈이 정상적으로 동작하는지 확인
69. 인터페이스 오류 확인 및 처리 보고서 작성
인터페이스 오류 확인 및 처리 보고서의 개요
- 인터페이스는 독립적으로 떨어져 있는 기능이므로 인터페이스에서 발생하는 오류는 대부분 중요한 오류
- 인터페이스 오류 확인 방법
- 오류 발생 즉시 확인
- 주기적인 확인
인터페이스 오류 발생 즉시 확인
- 오류 발생 시 화면에 오류 메시지를 표시하고 자동으로 SMS, 이메일 발송
- 가장 직관적인 방법으로 많이 사용
주기적인 인터페이스 오류 발생 확인
- 시스템 관리자가 시스템 로그나 인터페이스 오류 관련 테이블을 통해 주기적으로 오류 발생 여부 확인
- 오류 재발을 방지할 수 있는 계획을 세울 수 있음
인터페이스 오류 처리 보고서 작성
- 오류 발생 즉시 신속하게 작성하여 조직에 보고
- 정형화된 형식이 없기 때문에 오류 발생 시 상황에 맞춰 작성
- 오류 관련 사항을 시간 경과에 따라 기록